/* Pagina Franchising — stili dedicati, coordinati al tema Officine */

.fhead{position:sticky; top:0; z-index:60; background:#0A0908F2; backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.fhead-in{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px;}
.fbrand{display:flex; align-items:center; gap:10px; color:var(--cream); text-decoration:none; font-family:'Oswald'; font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-size:14px; min-width:0;}
.fbrand .lg{width:34px; height:34px; flex:none;}
.fbrand b{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.fbrand small{display:block; font-size:10px; letter-spacing:.32em; color:var(--brass2); font-weight:500;}
@media (max-width:420px){ .fbrand{font-size:12px; letter-spacing:.06em;} .fbrand small{font-size:9px; letter-spacing:.24em;} .fbrand .lg{width:30px; height:30px;} }
.fhead-cta{display:flex; align-items:center; gap:10px; flex:none;}
.fhead-cta .fhome{color:var(--dim); text-decoration:none; font-family:'Oswald'; font-size:14px; letter-spacing:.08em; text-transform:uppercase; display:none;}
.fhead-cta .fhome:hover{color:var(--brass2);}
@media (min-width:640px){ .fhead-cta .fhome{display:inline-flex;} .fhead-cta .btn{min-height:42px; padding:0 16px; font-size:14px;} }

/* Hero */
.fhero{position:relative; padding:64px 0 48px; overflow:hidden;}
.fhero::before{content:""; position:absolute; inset:0; background:var(--grunge) center/cover; mix-blend-mode:overlay; opacity:.25; pointer-events:none;}
.fhero-in{position:relative;}
.fhero .h2{font-size:clamp(38px,9vw,78px);}
.fhero .lead{font-size:18px;}
.facts{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.facts span{display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:#ffffff08; border-radius:999px; padding:7px 14px; font-size:13.5px; color:var(--dim);}
.facts svg{width:15px; height:15px; color:var(--brass2); flex:none;}
.facts .wa{color:#25D366;}
.facts .red{color:var(--red);}

/* Sezioni */
.fsection{padding:52px 0;}
.fsection-tight{padding-top:0;}
.fornament{display:block; width:min(280px,70%); height:auto; margin:0 auto 8px; color:#4E4A43;}

/* Griglia card */
.fgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:14px;}
.fcard{padding:22px 20px;}
.fcard .fico{width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--brass); color:#1B1208; margin-bottom:14px;}
.fcard .fico svg{width:20px; height:20px;}
.fcard h3{font-family:'Oswald'; font-weight:600; text-transform:uppercase; font-size:19px; letter-spacing:.03em; margin:0 0 6px;}
.fcard p{margin:0; color:var(--dim); font-size:15px; line-height:1.55;}

/* Percorso */
.fsteps{display:grid; gap:12px;}
.fstep{display:flex; gap:16px; align-items:flex-start; padding:18px 20px;}
.fstep .n{font-family:'Alfa Slab One',Georgia,serif; font-size:26px; color:var(--brass); line-height:1; flex:none; width:44px; height:44px; border-radius:50%; border:2px solid #4E4A43; display:flex; align-items:center; justify-content:center;}
.fstep h3{font-family:'Oswald'; font-weight:600; text-transform:uppercase; font-size:18px; margin:2px 0 4px;}
.fstep p{margin:0; color:var(--dim); font-size:15px; line-height:1.55;}
@media (min-width:760px){
  .fsteps{grid-template-columns:repeat(2,1fr);}
}

/* Chi cerchiamo */
.fwho{display:grid; gap:10px; max-width:720px;}
.fwho li{list-style:none; display:flex; gap:10px; align-items:flex-start; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:#ffffff06; color:var(--dim); font-size:15px; line-height:1.5;}
.fwho li svg{width:18px; height:18px; color:var(--brass2); flex:none; margin-top:2px;}
.fwho{padding:0; margin:18px 0 0;}

/* FAQ */
.faq{display:grid; gap:10px; max-width:780px;}
.faq details{border:1px solid var(--line); border-radius:12px; background:#ffffff06; overflow:hidden;}
.faq summary{cursor:pointer; padding:15px 18px; font-family:'Oswald'; font-weight:600; font-size:16px; letter-spacing:.02em; text-transform:uppercase; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:""; width:10px; height:10px; border-right:2px solid var(--brass2); border-bottom:2px solid var(--brass2); transform:rotate(45deg); transition:transform .2s; flex:none;}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq details p{margin:0; padding:0 18px 16px; color:var(--dim); font-size:15px; line-height:1.6;}

/* Banda CTA finale */
.fcta{position:relative; padding:64px 0; text-align:center; overflow:hidden;}
.fcta::before{content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%, #E0433A26 0%, transparent 62%);}
.fcta-in{position:relative;}
.fcta .h2{font-size:clamp(34px,7vw,60px);}
.fcta-btns{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:26px;}
.fcta-note{color:var(--dim); font-size:14px; margin-top:16px;}

/* Footer */
.ffoot{border-top:1px solid var(--line); padding:40px 0 48px; text-align:center; color:var(--dim); font-size:14px;}
.ffoot p{margin:6px 0;}
.ffoot a{color:var(--brass2); text-decoration:none;}
.ffoot a:hover{text-decoration:underline;}
.ffoot .fftop{font-family:'Oswald'; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--cream); font-size:15px; margin-bottom:14px;}
.ffoot .cookie-preferences-link{background:none; border:0; padding:0; color:var(--brass2); font:inherit; text-decoration:underline; cursor:pointer;}
