/* ==========================================================================
   Cadic Consulting — Landing page a risposta diretta (componenti aggiuntivi)
   Si appoggia alle variabili e alle classi base di site.css: stessa identità
   visiva, ma nav ridotta e struttura da sales letter lunga per traffico a
   pagamento su un singolo servizio.
   ========================================================================== */

/* ---- nav minimale ---- */
.lp-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(251,250,248,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.lp-nav-inner{max-width:1180px;margin:0 auto;padding:0 6%;height:88px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.lp-nav-inner img{height:clamp(34px,5vw,48px);width:auto;display:block}
.lp-nav-inner .btn-dark{padding:.75rem 1.5rem;font-size:.78rem;white-space:nowrap}
.lp-nav-inner .btn-dark .cta-short{display:none}

/* ---- hero della LP ---- */
.lp-hero{padding:150px 0 80px;background:var(--navy);position:relative;overflow:hidden;border-bottom:1px solid var(--line-dark)}
.lp-hero::before{content:'';position:absolute;top:-30%;right:-10%;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(140,132,120,.14) 0%,transparent 70%);pointer-events:none}
.lp-hero-inner{position:relative;z-index:1;max-width:840px}
.lp-hero h1{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.12;color:var(--white);margin:1.4rem 0 1.6rem}
.lp-hero h1 .accent{font-style:italic;font-weight:300;color:var(--taupe)}
.lp-hero-sub{font-size:1.05rem;color:rgba(255,255,255,.62);line-height:1.8;font-weight:300;max-width:640px;margin-bottom:2.3rem}
.lp-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.8rem}
.lp-hero-proof{display:flex;gap:1.8rem;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.45)}
.lp-hero-proof span{display:flex;align-items:center;gap:.5rem}
.lp-hero-proof .dot{width:5px;height:5px;border-radius:50%;background:var(--taupe)}

/* ---- lede / apertura in prima persona ---- */
.lp-lede{background:var(--white);padding:80px 0}
.lp-lede .wrap{max-width:760px}
.lp-lede p{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.6;color:var(--navy)}
.lp-lede p+p{margin-top:1.4rem}
.lp-lede .lede-sign{margin-top:2rem;font-family:'Inter',sans-serif;font-size:.85rem;color:var(--ink-soft);font-weight:400}

/* ---- liste dolore / prima-dopo ---- */
.lp-pain{background:var(--paper-dim)}
.lp-pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:1rem}
.lp-pain-col{background:var(--white);border:1px solid var(--line);padding:2rem 2.1rem}
.lp-pain-col h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.05rem;margin-bottom:1.3rem}
.lp-pain-col.bad h3{color:#8c453d}
.lp-pain-col.good h3{color:var(--navy)}
.lp-pain-item{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem 0;border-top:1px solid var(--line-soft);font-size:.88rem;color:var(--ink-soft);line-height:1.6}
.lp-pain-item:first-of-type{border-top:none}
.lp-pain-item .mark{flex-shrink:0;font-size:.85rem;font-weight:700;margin-top:1px}
.lp-pain-col.bad .mark{color:#8c453d}
.lp-pain-col.good .mark{color:var(--taupe-dark)}

/* ---- meccanismo / metodo ---- */
.lp-mechanism{background:var(--white)}
.lp-mech-steps{border-top:1px solid var(--line);margin-top:1rem}
.lp-mech-step{display:grid;grid-template-columns:60px 1fr;gap:1.8rem;padding:1.9rem 0;border-bottom:1px solid var(--line)}
.lp-mech-step .step-num{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--taupe-dark)}
.lp-mech-step h4{font-family:'Fraunces',serif;font-weight:500;font-size:1.05rem;color:var(--navy);margin-bottom:.5rem}
.lp-mech-step p{font-size:.88rem;color:var(--ink-soft);line-height:1.75;font-weight:300}

/* ---- cosa include ---- */
.lp-includes{background:var(--paper-dim)}
.lp-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.5rem;margin-top:1rem}
.lp-includes-item{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line)}
.lp-includes-item .check{color:var(--taupe-dark);font-weight:700;flex-shrink:0}
.lp-includes-item span{font-size:.9rem;color:var(--ink);line-height:1.6}

/* ---- offerta / prezzo ---- */
.lp-offer{background:var(--navy)}
.lp-offer-card{max-width:640px;margin:0 auto;background:rgba(255,255,255,.04);border:1px solid var(--line-dark);padding:2.8rem 2.6rem;text-align:center}
.lp-offer-badge{display:inline-block;padding:.3rem .9rem;background:rgba(140,132,120,.18);color:var(--taupe);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.3rem}
.lp-offer-card h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.5rem;color:var(--white);margin-bottom:1.6rem}
.lp-offer-stack{text-align:left;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:1.5rem 0;margin-bottom:1.8rem}
.lp-offer-line{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.88rem;color:rgba(255,255,255,.72);font-weight:300}
.lp-offer-line strong{color:var(--white);font-weight:500}
.lp-offer-price{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--white);font-weight:300;margin-bottom:.4rem}
.lp-offer-price span{font-size:1rem;color:rgba(255,255,255,.5)}
.lp-offer-note{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:1.2rem;font-weight:300}

/* ---- piani a più livelli ---- */
.lp-tiers{background:var(--navy)}
.lp-tiers-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);margin-top:1rem}
.lp-tier-col{padding:2.4rem 1.9rem;border-right:1px solid var(--line-dark)}
.lp-tier-col:last-child{border-right:none}
.lp-tier-col.featured{background:rgba(255,255,255,.04)}
.lp-tier-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:600;margin-bottom:.9rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.lp-tier-badge{font-size:.62rem;color:var(--taupe);border:1px solid var(--taupe);padding:2px 8px;letter-spacing:.06em;white-space:nowrap}
.lp-tier-col h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.4rem;color:var(--white);margin-bottom:1rem}
.lp-tier-price{font-family:'Fraunces',serif;font-size:2rem;color:var(--white);font-weight:300;line-height:1}
.lp-tier-price span{font-size:.9rem;color:rgba(255,255,255,.5)}
.lp-tier-period{font-size:.74rem;color:rgba(255,255,255,.4);margin:.4rem 0 1.5rem}
.lp-tier-feats{border-top:1px solid var(--line-dark);padding-top:1.2rem;margin-bottom:1.5rem}
.lp-tier-feat{font-size:.82rem;color:rgba(255,255,255,.7);padding:.5rem 0;font-weight:300;display:flex;gap:.5rem}
.lp-tier-feat::before{content:'—';color:var(--taupe);flex-shrink:0}
.lp-tier-col .btn-line{width:100%;text-align:center;padding:.7rem 1rem;font-size:.76rem}

/* ---- garanzia ---- */
.lp-guarantee{background:var(--white)}
.lp-guarantee-box{max-width:680px;margin:0 auto;display:flex;gap:1.8rem;align-items:flex-start;border:1px solid var(--line);padding:2.2rem 2.4rem}
.lp-guarantee-icon{font-family:'Fraunces',serif;font-size:2.2rem;color:var(--taupe-dark);flex-shrink:0}
.lp-guarantee-box h4{font-family:'Fraunces',serif;font-weight:500;font-size:1.1rem;color:var(--navy);margin-bottom:.6rem}
.lp-guarantee-box p{font-size:.9rem;color:var(--ink-soft);line-height:1.75;font-weight:300}

/* ---- FAQ accordion ---- */
.lp-faq{background:var(--paper-dim)}
.lp-faq-list{border-top:1px solid var(--line);margin-top:1rem}
.lp-faq-item{border-bottom:1px solid var(--line)}
.lp-faq-q{width:100%;text-align:left;background:none;border:none;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;cursor:pointer;font-family:'Fraunces',serif;font-size:1.02rem;color:var(--navy);font-weight:500}
.lp-faq-q .plus{font-family:'Inter',sans-serif;font-size:1.3rem;font-weight:300;color:var(--taupe-dark);flex-shrink:0;transition:transform .25s}
.lp-faq-item.open .lp-faq-q .plus{transform:rotate(45deg)}
.lp-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.lp-faq-a p{font-size:.9rem;color:var(--ink-soft);line-height:1.8;font-weight:300;padding-bottom:1.5rem;max-width:680px}

/* ---- CTA ripetuta inline ---- */
.lp-cta-band{background:var(--paper-dim);padding:60px 0;text-align:center;border-bottom:1px solid var(--line)}
.lp-cta-band p{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--navy);margin-bottom:1.4rem;max-width:560px;margin-left:auto;margin-right:auto}

/* ---- form finale ---- */
.lp-form-section{background:var(--navy)}
.lp-form-card{max-width:640px;margin:0 auto;background:rgba(255,255,255,.04);border:1px solid var(--line-dark);padding:2.6rem 2.4rem}

/* ---- PS finale ---- */
.lp-ps{background:var(--white);padding:70px 0}
.lp-ps .wrap{max-width:680px}
.lp-ps-box{border-left:3px solid var(--taupe);padding-left:1.8rem}
.lp-ps-box p{font-size:.95rem;color:var(--ink-soft);line-height:1.8;font-weight:300}
.lp-ps-box strong{color:var(--navy);font-weight:600}

/* ---- footer minimale ---- */
.lp-footer{background:var(--navy-deep);padding:2.4rem 0;text-align:center}
.lp-footer img{height:20px;opacity:.85;margin:0 auto 1rem}
.lp-footer p{font-size:.72rem;color:rgba(255,255,255,.3);line-height:1.7}
.lp-footer a{color:rgba(255,255,255,.5);text-decoration:underline}

/* ---- sticky CTA mobile ---- */
.lp-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--navy);border-top:1px solid var(--line-dark);padding:.9rem 6%;display:none;align-items:center;justify-content:space-between;gap:1rem;transform:translateY(100%);transition:transform .3s ease}
.lp-sticky-cta.visible{transform:translateY(0)}
.lp-sticky-cta span{font-size:.8rem;color:rgba(255,255,255,.7);font-weight:300}
.lp-sticky-cta .btn-taupe{padding:.7rem 1.3rem;font-size:.8rem;white-space:nowrap}

/* ---- responsive ---- */
@media(max-width:960px){
  .lp-pain-grid,.lp-includes-grid{grid-template-columns:1fr}
  .lp-mech-step{grid-template-columns:1fr;gap:.6rem}
  .lp-tiers-grid{grid-template-columns:1fr}
  .lp-tier-col{border-right:none;border-bottom:1px solid var(--line-dark)}
  .lp-tier-col:last-child{border-bottom:none}
}
@media(max-width:680px){
  .lp-hero{padding:110px 0 60px}
  .lp-nav-inner{height:70px}
  .lp-nav-inner .btn-dark{padding:.6rem .9rem;font-size:.72rem}
  .lp-nav-inner .btn-dark .cta-full{display:none}
  .lp-nav-inner .btn-dark .cta-short{display:inline}
  .lp-nav-secondary{display:none}
  .lp-offer-card,.lp-form-card{padding:2rem 1.4rem}
  .lp-guarantee-box{flex-direction:column;padding:1.8rem 1.6rem}
  .lp-sticky-cta{display:flex}
  body{padding-bottom:72px}
}
