/* ============================================================
   FPevolution — main.css
   Tema: White & Orange — con accenti neri
   ============================================================ */
:root{
  --ink:#111111;
  --forge:#f8f8f8;
  --steel:#efefef;
  --plate:#e5e5e5;
  --chrome:#d0d0d0;
  --fire:#ff5500;
  --fire2:#ff7700;
  --fire3:#ff3300;
  --spark:#ffaa00;
  --white:#ffffff;
  --body-bg:#ffffff;
  --text:#1a1a1a;
  --text-soft:#555555;
  --text-muted:#888888;
  --mist:#666666;
  --fog:#aaaaaa;
  --font-h:'Oswald',sans-serif;
  --font-b:'Exo 2',sans-serif;
  --ease:cubic-bezier(.77,0,.175,1);
}

/* BASE */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden;width:100%}
body{background:var(--body-bg);color:var(--text);font-family:var(--font-b);overflow-x:hidden;line-height:1.6;width:100%;position:relative}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
section,header,footer,nav{max-width:100%;box-sizing:border-box}
div{box-sizing:border-box}
p,h1,h2,h3,h4,h5,li,span{word-break:break-word;overflow-wrap:break-word}

/* SCROLLBAR */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--steel)}
::-webkit-scrollbar-thumb{background:var(--fire)}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .4s var(--ease);background:transparent}
#nav.solid{background:#fff;border-bottom:2px solid var(--fire);backdrop-filter:blur(14px);box-shadow:0 2px 20px rgba(0,0,0,.08)}

/* Layout: logo sinistra, links destra */
.nav-wrap{max-width:1400px;margin:0 auto;padding:0 40px;height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}

/* Logo immagine */
.nav-logo{display:flex;align-items:center;flex-shrink:0;transition:transform .3s}
.nav-logo:hover{transform:scale(1.04)}
.nav-logo-img{height:52px;width:auto;max-width:180px;display:block;object-fit:contain;border-radius:999px;border:2.5px solid var(--fire);box-shadow:0 0 0 3px rgba(255,85,0,.12),0 2px 12px rgba(0,0,0,.1);background:#fff;padding:4px 14px}

/* Nav links */
.nav-links{display:flex;gap:36px;list-style:none;align-items:center}
.nav-links a{font-family:var(--font-h);font-size:.82rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.75);position:relative;padding:4px 0;transition:color .3s}
.nav-links a::before{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--fire);transition:width .4s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a:hover::before,.nav-links a.active::before{width:100%}
#nav.solid .nav-links a{color:var(--mist)}
#nav.solid .nav-links a:hover,#nav.solid .nav-links a.active{color:var(--ink)}
.nav-cta-btn{font-family:var(--font-h)!important;font-size:.78rem!important;letter-spacing:3px!important;text-transform:uppercase;color:#fff!important;background:var(--fire);padding:10px 22px!important;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);transition:background .3s,transform .2s!important;white-space:nowrap}
.nav-cta-btn:hover{background:var(--fire2)!important;transform:translateY(-1px)!important}
.nav-cta-btn::before{display:none!important}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;cursor:pointer;flex-shrink:0}
.hamburger span{display:block;width:26px;height:2px;background:#fff;border-radius:1px;transition:all .35s var(--ease);transform-origin:center}
#nav.solid .hamburger span{background:var(--ink)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile menu */
.mob-menu{display:none;flex-direction:column;background:#fff;border-top:3px solid var(--fire);max-height:0;overflow:hidden;transition:max-height .5s var(--ease);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.mob-menu.open{max-height:500px}
.mob-menu-inner{padding:8px 0 0}
.mob-menu a{font-family:var(--font-h);font-size:.95rem;letter-spacing:4px;text-transform:uppercase;padding:16px 28px;color:var(--mist);border-bottom:1px solid var(--steel);transition:color .25s,background .25s;display:block}
.mob-menu a:hover,.mob-menu a.mob-active{color:var(--fire);background:rgba(255,85,0,.03)}
.mob-active{color:var(--fire)!important}
.mob-cta{background:var(--fire)!important;color:#fff!important;margin:12px 28px;border:none!important;text-align:center;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%)}
.mob-cta:hover{background:var(--fire2)!important}
.mob-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 28px 20px;gap:12px}
.mob-tel{font-family:var(--font-h);font-size:.8rem;letter-spacing:2px;color:var(--ink);display:flex;align-items:center;gap:8px;transition:color .25s}
.mob-tel i{color:var(--fire);font-size:.85rem}
.mob-tel:hover{color:var(--fire)}
.mob-lang{font-family:var(--font-h)!important;font-size:.7rem!important;letter-spacing:4px!important;color:var(--fire)!important;border:1px solid rgba(255,85,0,.35)!important;padding:6px 14px!important;clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);background:transparent!important;margin:0!important;display:inline-block}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-h);font-size:.8rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;padding:14px 32px;transition:all .3s var(--ease);position:relative;overflow:hidden}
.btn-fire{background:var(--fire);color:#fff;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%)}
.btn-fire::before{content:'';position:absolute;inset:0;background:var(--fire2);transform:translateX(-100%);transition:transform .4s var(--ease);z-index:0}
.btn-fire:hover::before{transform:translateX(0)}
.btn-fire:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(255,85,0,.35)}
.btn-fire span,.btn-fire i{position:relative;z-index:1}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%)}
.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:#fff;color:#fff;transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);padding:14px 28px;font-family:var(--font-h);font-size:.8rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;transition:all .3s}
.btn-dark:hover{background:#333;transform:translateY(-2px)}

/* SECTION COMMONS */
.s-label{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px}
.s-label-line{width:32px;height:2px;background:var(--fire)}
.s-label span{font-family:var(--font-h);font-size:.7rem;letter-spacing:5px;text-transform:uppercase;color:var(--fire)}
.s-title{font-family:var(--font-h);font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:700;text-transform:uppercase;letter-spacing:1px;line-height:.95;margin-bottom:48px;color:var(--ink)}
.s-title em{font-style:normal;color:var(--fire)}
.s-title span{-webkit-text-stroke:1px rgba(0,0,0,.15);color:transparent}

/* PAGE HEADER (pagine interne) */
.pg-header{padding:160px 40px 80px;position:relative;overflow:hidden;border-bottom:3px solid var(--fire);background:var(--ink)}
.pg-header-bg{position:absolute;inset:0;background:var(--ink)}
.pg-header-bg::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,85,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,85,0,.06) 1px,transparent 1px);background-size:60px 60px}
.pg-header-bg::after{content:'';position:absolute;right:0;top:0;width:50%;height:100%;background:radial-gradient(ellipse at 80% 50%,rgba(255,85,0,.15),transparent 70%)}
.pg-header-content{max-width:1400px;margin:0 auto;position:relative;z-index:1}
.pg-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px}
.pg-eyebrow-line{width:32px;height:2px;background:var(--fire)}
.pg-eyebrow span{font-family:var(--font-h);font-size:.7rem;letter-spacing:6px;text-transform:uppercase;color:var(--fire)}
.pg-title{font-family:var(--font-h);font-size:clamp(3.5rem,9vw,8rem);font-weight:700;text-transform:uppercase;line-height:.88;margin-bottom:20px;color:#fff}
.pg-title em{font-style:normal;color:var(--fire)}
.pg-sub{font-family:var(--font-h);font-size:1rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* CTA STRIP */
#cta-strip{background:var(--fire);padding:60px 40px;position:relative;overflow:hidden}
#cta-strip::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent,rgba(0,0,0,.15));pointer-events:none}
#cta-strip::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:rgba(255,255,255,.3);pointer-events:none}
.cta-strip-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:1;flex-wrap:wrap}
.cta-strip-text h2{font-family:var(--font-h);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;text-transform:uppercase;color:#fff;line-height:1}
.cta-strip-text p{color:rgba(255,255,255,.8);font-size:.95rem;margin-top:8px;font-weight:400}
.cta-strip-actions{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:2}

/* FOOTER */
#footer{background:var(--ink);border-top:3px solid var(--fire);padding:80px 40px 40px}
.footer-inner{max-width:1400px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.08)}
.f-logo-link{display:inline-block;margin-bottom:20px;transition:transform .3s}
.f-logo-link:hover{transform:scale(1.04)}
.f-logo-img{height:52px;width:auto;max-width:180px;object-fit:contain;border-radius:999px;border:2.5px solid var(--fire);box-shadow:0 0 0 3px rgba(255,85,0,.15);background:#fff;padding:4px 14px;display:block}
.footer-brand p{color:rgba(255,255,255,.45);font-size:.88rem;line-height:1.8;font-weight:300;max-width:300px}
.footer-col h4{font-family:var(--font-h);font-size:.7rem;letter-spacing:5px;text-transform:uppercase;color:var(--fire);margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{color:rgba(255,255,255,.45);font-size:.88rem;transition:color .3s;font-weight:300}
.footer-col ul li a:hover{color:var(--fire)}
.footer-col .f-contact{display:flex;flex-direction:column;gap:14px}
.footer-col .f-contact-item{display:flex;align-items:flex-start;gap:12px}
.footer-col .f-contact-item i{color:var(--fire);font-size:.9rem;margin-top:3px;min-width:16px}
.footer-col .f-contact-item span{color:rgba(255,255,255,.45);font-size:.85rem;line-height:1.5;font-weight:300}
.footer-col .f-contact-item a{color:rgba(255,255,255,.45)}
.footer-col .f-contact-item a:hover{color:#fff}
.footer-bottom{padding-top:32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer-copy{font-size:.75rem;color:rgba(255,255,255,.2);letter-spacing:1px}
.footer-fire-line{width:60px;height:2px;background:var(--fire)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.on{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .nav-wrap{padding:0 20px;height:70px}
  .nav-links{display:none}
  .nav-logo-img{height:42px}
  .hamburger{display:flex}
  .mob-menu{display:flex}
  .pg-header{padding:110px 24px 60px}
  #cta-strip{padding:40px 24px}
  .cta-strip-inner{flex-direction:column;text-align:center;align-items:center}
  .cta-strip-actions{justify-content:center;flex-wrap:wrap;width:100%}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:600px){
  .footer-top{grid-template-columns:1fr}
  .nav-logo-img{height:36px}
}

/* ---- LANGUAGE SWITCHER ---- */
.nav-lang-btn{font-family:var(--font-h)!important;font-size:.7rem!important;letter-spacing:4px!important;text-transform:uppercase;color:rgba(255,255,255,.65)!important;border:1px solid rgba(255,255,255,.3)!important;padding:6px 14px!important;clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);transition:all .3s!important}
.nav-lang-btn:hover{color:#fff!important;border-color:var(--fire)!important;background:rgba(255,85,0,.15)}
#nav.solid .nav-lang-btn{color:var(--mist)!important;border-color:rgba(255,85,0,.3)!important}
#nav.solid .nav-lang-btn:hover{color:var(--fire)!important;border-color:var(--fire)!important;background:rgba(255,85,0,.06)}
.nav-lang-btn::before{display:none!important}
.mob-lang{border-top:1px solid rgba(255,85,0,.2)!important;color:var(--fire)!important;font-size:.8rem!important;letter-spacing:5px!important}

/* ============================================================
   COOKIE POPUP MODALE
   ============================================================ */
#cookie-overlay{
  position:fixed;inset:0;z-index:8000;
  background:rgba(0,0,0,.5);
  backdrop-filter:blur(4px);
  opacity:0;transition:opacity .4s var(--ease);
}
#cookie-overlay.cp-show{opacity:1}

#cookie-popup{
  position:fixed;
  top:50%;left:50%;
  transform:translate(-50%,-46%) scale(.96);
  z-index:8001;
  width:min(480px, 92vw);
  background:#fff;
  border:1px solid rgba(255,85,0,.2);
  border-top:3px solid var(--fire);
  padding:40px 36px 32px;
  text-align:center;
  opacity:0;
  transition:opacity .4s var(--ease), transform .4s var(--ease);
  box-shadow:0 20px 60px rgba(0,0,0,.15);
}
#cookie-popup.cp-show{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}

.cp-icon-wrap{
  width:56px;height:56px;
  background:rgba(255,85,0,.08);
  border:1px solid rgba(255,85,0,.3);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
}
.cp-icon-wrap i{color:var(--fire);font-size:1.4rem}

.cp-title{
  font-family:var(--font-h);
  font-size:1.3rem;font-weight:700;
  text-transform:uppercase;letter-spacing:3px;
  color:var(--ink);margin-bottom:14px;
}
.cp-text{
  color:var(--mist);
  font-size:.875rem;line-height:1.75;
  font-weight:300;margin-bottom:28px;
}
.cp-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

.cp-btn{
  font-family:var(--font-h);
  font-size:.75rem;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  padding:12px 28px;border:none;cursor:pointer;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  transition:all .3s;flex:1;min-width:120px;
}
.cp-btn-accept{background:var(--fire);color:#fff}
.cp-btn-accept:hover{background:var(--fire2);transform:translateY(-2px)}
.cp-btn-decline{
  background:transparent;color:var(--mist);
  border:1px solid var(--chrome)!important;
  clip-path:none;border-radius:0;
}
.cp-btn-decline:hover{color:var(--ink);border-color:var(--ink)!important}

@media(max-width:480px){
  #cookie-popup{padding:28px 20px 24px}
  .cp-actions{flex-direction:column}
  .cp-btn{flex:none;width:100%}
}

/* ---- MOBILE GLOBAL FIXES ---- */
@media(max-width:600px){
  .pg-header{padding:90px 16px 48px}
  .pg-title{font-size:clamp(2.4rem,13vw,4rem);letter-spacing:0}
  .s-title{font-size:clamp(1.8rem,8vw,3rem)}
  #cta-strip{padding:36px 16px}
  .cta-strip-text h2{font-size:1.6rem}
  #footer{padding:56px 16px 32px}
  .footer-top{gap:32px}
  .nav-logo-img{height:32px}
  .nav-wrap{height:64px;padding:0 16px}
}
