/* =====================================================
   Lasciati Valere — Landing Cofanetto
   Foglio di stile principale
   Palette brand: blu #1361A1 · verde #94C11F
   ===================================================== */

/* ---- Design tokens ---- */
:root{
  /* brand */
  --blue:#1361A1;
  --navy:#0E436F;
  --navy-deep:#0A3052;
  --green:#94C11F;
  --green-deep:#6E9216;
  --green-glow:#B7DD4F;
  /* neutri */
  --ink:#16242E;
  --ink-soft:#43555F;
  --paper:#F4F6F0;
  --paper-2:#FAFBF6;
  --card:#FFFFFF;
  --muted:#65757C;
  --line:#E1E6DC;
  --maxw:1160px;
}

/* ---- Reset minimo ---- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);
  font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,.serif{font-family:"Fraunces",Georgia,serif;font-optical-sizing:auto}
img{max-width:100%;display:block}
a{color:inherit}

/* ---- Layout ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{position:relative}
.center-row{text-align:center}

/* ---- Eyebrow ---- */
.eyebrow{
  font-size:12.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--blue);display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green);display:inline-block}
.eyebrow.center{justify-content:center}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:12px;justify-content:center;
  font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:16px;letter-spacing:.01em;
  padding:17px 30px;border-radius:3px;border:1px solid var(--blue);
  background:var(--blue);color:#fff;cursor:pointer;text-decoration:none;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.btn .price-tag{font-family:"Fraunces",serif;font-weight:600}
.btn:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(14,67,111,.6)}
.btn:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.btn-accent{background:var(--green);border-color:var(--green);color:var(--navy-deep)}
.btn-accent:hover{background:var(--green-glow);border-color:var(--green-glow);color:var(--navy-deep)}
.btn-lg{padding:18px 38px;font-size:17px}

.micro{font-size:13.5px;color:var(--muted);margin-top:14px}
.micro b{color:var(--ink-soft)}

/* ---- Header ---- */
header{position:sticky;top:0;z-index:60;background:rgba(244,246,240,.88);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:inline-flex;align-items:center;text-decoration:none}
.logo-img{height:40px;width:auto}
.nav-right{display:flex;align-items:center;gap:18px}
.nav-price{font-family:"Fraunces",serif;font-weight:600;font-size:18px}
.nav-price s{color:var(--muted);font-size:14px;font-weight:400;margin-right:7px}
.nav .btn{padding:11px 22px;font-size:14.5px}

/* ---- Hero ---- */
.hero{position:relative;padding:70px 0 54px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02;font-weight:520;letter-spacing:-.015em;margin:22px 0 0}
.hero h1 em{font-style:italic;color:var(--blue)}
.hero .lede{font-size:19px;color:var(--ink-soft);max-width:30em;margin-top:22px}
.hero-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}
.hero-figure{position:relative}
.hero-figure img{width:100%;border-radius:5px}
.figure-badge{position:absolute;left:-16px;bottom:26px;background:var(--navy);color:#fff;
  padding:14px 18px;border-radius:4px;line-height:1.2;box-shadow:0 18px 40px -18px rgba(10,48,82,.7)}
.figure-badge b{font-family:"Fraunces",serif;font-size:26px;font-weight:600;display:block}
.figure-badge small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-glow)}

/* ---- Price block ---- */
.pricebox{display:flex;align-items:baseline;gap:12px}
.pricebox.center{justify-content:center}
.pricebox .now{font-family:"Fraunces",serif;font-weight:600;font-size:34px}
.pricebox .was{color:var(--muted);text-decoration:line-through;font-size:19px}
.pricebox .save{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--green-deep);background:rgba(148,193,31,.16);padding:4px 9px;border-radius:3px;align-self:center}

/* ---- Trust strip ---- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
.trust-row{display:flex;flex-wrap:wrap;gap:10px 40px;justify-content:center;padding:18px 24px;
  font-size:13.5px;letter-spacing:.04em;color:var(--ink-soft)}
.trust-row span{display:inline-flex;align-items:center;gap:9px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green)}

/* ---- Promise ---- */
.promise{padding:86px 0 22px;text-align:center}
.promise h2{font-size:clamp(28px,4vw,42px);font-weight:480;line-height:1.12;letter-spacing:-.01em;margin:18px auto 0;max-width:16ch}
.promise p{color:var(--ink-soft);max-width:54ch;margin:22px auto 0;font-size:18px}

/* ---- Books + cord ---- */
.books{padding:58px 0 30px;position:relative}
.cord{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);
  background:linear-gradient(var(--green),rgba(148,193,31,.2));z-index:0}
.cord::before,.cord::after{content:"";position:absolute;left:50%;width:9px;height:9px;
  transform:translateX(-50%) rotate(45deg);background:var(--green)}
.cord::before{top:-4px}.cord::after{bottom:-4px}
.book{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:46px 0;position:relative;z-index:1}
.book + .book{border-top:1px dashed var(--line)}
.book.flip .book-text{order:2}
.book-cover{display:flex;justify-content:center}
.book-cover img{width:255px;border-radius:4px;box-shadow:0 30px 50px -28px rgba(14,67,111,.55);transition:transform .4s ease}
.book:hover .book-cover img{transform:translateY(-6px) rotate(-1.2deg)}
.book-text h3{font-size:clamp(26px,3.4vw,36px);font-weight:520;letter-spacing:-.01em;margin:14px 0 0}
.book-text .kind{color:var(--muted);font-style:italic;font-family:"Fraunces",serif;font-size:18px;margin-top:4px}
.book-text p{color:var(--ink-soft);margin-top:16px}
.takeaway{margin-top:18px;padding:14px 18px;border-left:3px solid var(--green);background:var(--paper-2);font-size:15.5px;color:var(--ink)}
.takeaway b{color:var(--blue)}

/* ---- Value ---- */
.value{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px;padding:82px 0}
.value-title{font-size:clamp(28px,4vw,40px);font-weight:480;text-align:center;margin-top:14px}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:42px}
.vcard{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:30px 26px}
.vcard .n{font-family:"Fraunces",serif;font-size:30px;color:var(--blue);font-weight:600}
.vcard h4{font-size:19px;font-weight:700;margin:10px 0 8px;font-family:"Hanken Grotesk",sans-serif}
.vcard p{color:var(--ink-soft);font-size:15px}

/* ---- Offer ---- */
.offer{background:var(--navy);color:#eaf1f6;padding:88px 0;position:relative}
.offer .eyebrow{color:var(--green-glow)}
.offer .eyebrow::before{background:var(--green-glow)}
.offer-card{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center;margin-top:30px}
.offer h2{font-size:clamp(30px,4.3vw,46px);font-weight:480;line-height:1.08;letter-spacing:-.01em;color:#fff}
.offer h2 em{font-style:italic;color:var(--green-glow)}
.incl{list-style:none;margin:28px 0 0;display:grid;gap:13px}
.incl li{display:flex;gap:13px;align-items:flex-start;color:#d6e2ec;font-size:16px}
.incl li svg{flex:none;margin-top:3px}
.incl b{color:#fff}

/* ---- Buybox + countdown ---- */
.buybox{background:var(--navy-deep);border:1px solid #1b4e7a;border-radius:8px;padding:30px;text-align:center}
.countdown{margin:0 0 8px}
.countdown .lab{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-glow);font-weight:700}
.cd-clock{display:flex;gap:8px;justify-content:center;margin-top:10px}
.cd-unit{background:rgba(255,255,255,.06);border:1px solid #1b4e7a;border-radius:6px;min-width:62px;padding:9px 6px}
.cd-unit b{font-family:"Fraunces",serif;font-weight:600;font-size:30px;color:#fff;display:block;line-height:1;font-variant-numeric:tabular-nums}
.cd-unit small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9fb6c6;margin-top:5px;display:block}
.cd-sep{align-self:center;color:var(--green-glow);font-family:"Fraunces",serif;font-size:24px;font-weight:600}
.buybox .price{font-family:"Fraunces",serif;font-weight:600;font-size:54px;color:#fff;line-height:1;margin-top:18px}
.buybox .price .was{color:#86a3b8;text-decoration:line-through;font-size:20px;margin-left:6px}
.buybox .sub{color:#a7bccb;font-size:14px;margin-top:6px;letter-spacing:.03em}
.buybox .btn{width:100%;margin-top:20px;font-size:17px;padding:18px}
.buybox .reassure{display:flex;gap:8px;justify-content:center;align-items:center;color:#86a3b8;font-size:12.5px;margin-top:16px;letter-spacing:.04em}

/* ---- Author ---- */
.author{padding:86px 0}
.author-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.author-mark{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(34px,5vw,58px);line-height:1.05;color:var(--ink);font-weight:420}
.author-mark span{color:var(--blue)}
.author-name{font-size:clamp(24px,3vw,32px);font-weight:520;margin:12px 0 8px}
.author p{color:var(--ink-soft);font-size:17.5px}
.author p + p{margin-top:16px}

/* ---- FAQ ---- */
.faq{background:var(--paper-2);border-top:1px solid var(--line);padding:82px 0}
.faq-title{font-size:clamp(28px,4vw,40px);font-weight:480;text-align:center;margin-top:12px}
.faq-list{max-width:760px;margin:34px auto 0}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:22px 4px;font-weight:700;font-size:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}
summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:3px}
.ic{flex:none;width:22px;height:22px;border:1px solid var(--green);border-radius:50%;position:relative;transition:transform .3s ease}
.ic::before,.ic::after{content:"";position:absolute;background:var(--green-deep);left:50%;top:50%;transform:translate(-50%,-50%)}
.ic::before{width:10px;height:2px}
.ic::after{width:2px;height:10px;transition:transform .3s ease}
details[open] .ic::after{transform:translate(-50%,-50%) scaleY(0)}
details[open] .ic{transform:rotate(90deg)}
details p{padding:0 4px 24px;color:var(--ink-soft);font-size:16px;max-width:64ch}

/* ---- Final CTA ---- */
.final{text-align:center;padding:94px 0}
.final h2{font-size:clamp(30px,4.6vw,52px);font-weight:480;line-height:1.06;letter-spacing:-.015em;max-width:18ch;margin:18px auto 0}
.final h2 em{font-style:italic;color:var(--blue)}
.final .pricebox{margin:26px 0 6px}
.final .pricebox .now{font-size:30px}

/* ---- Footer ---- */
footer{background:var(--navy-deep);color:#b9cdda;padding:54px 0 40px;font-size:14.5px}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}
.foot-logo{font-family:"Fraunces",serif;color:#fff;font-size:22px}
.foot-logo span{color:var(--green-glow)}
.foot-desc{max-width:34ch;margin-top:12px;color:#9db4c4}
footer a{color:#b9cdda;text-decoration:none}
footer a:hover{color:var(--green-glow)}
.foot-contacts{display:grid;gap:6px;text-align:right}
.foot-bottom{border-top:1px solid #17456b;margin-top:34px;padding-top:20px;color:#7d96a7;font-size:12.5px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ---- Mobile sticky bar ---- */
.mobar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;background:rgba(10,48,82,.97);
  backdrop-filter:blur(8px);padding:10px 16px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #1b4e7a}
.mobar .mp{color:#fff;font-family:"Fraunces",serif;font-weight:600;font-size:19px}
.mobar .mp s{color:#86a3b8;font-size:13px;font-weight:400;margin-right:6px}
.mobar .mcd{font-size:12px;color:var(--green-glow);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.mobar .btn{padding:12px 18px;font-size:14px}

/* ---- Scroll reveal ---- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---- Responsive ---- */
@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-figure{max-width:420px;margin:0 auto}
  .cord{left:31px}
  .book{grid-template-columns:1fr;gap:24px;text-align:center}
  .book.flip .book-text{order:0}
  .book-text{display:flex;flex-direction:column;align-items:center}
  .takeaway{text-align:left}
  .value-grid{grid-template-columns:1fr}
  .offer-card{grid-template-columns:1fr;gap:32px}
  .author-grid{grid-template-columns:1fr;text-align:center}
  .foot-contacts{text-align:left}
  .mobar{display:flex}
  body{padding-bottom:64px}
}
@media(max-width:620px){.nav-price{display:none}}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn:hover{transform:none}
  .book:hover .book-cover img{transform:none}
}

/* =====================================================
   Recensioni (stile Google)
   ===================================================== */
.reviews{padding:84px 0;background:var(--paper)}
.reviews-head{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:22px;flex-wrap:wrap}
.g-mark{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:var(--ink)}
.rev-summary{display:flex;align-items:center;gap:14px}
.rev-avg{font-family:"Fraunces",serif;font-weight:600;font-size:46px;line-height:1;color:var(--ink)}
.stars{--s:#FBBC04;--e:#DADCE0;font-size:20px;letter-spacing:2px;line-height:1;white-space:nowrap}
.stars i{font-style:normal;color:var(--e)}
.stars i.on{color:var(--s)}
.rev-meta{font-size:14px;color:var(--muted);margin-top:4px}
.rev-divider{width:1px;height:46px;background:var(--line)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;
  box-shadow:0 10px 28px -22px rgba(14,67,111,.5);display:flex;flex-direction:column;gap:12px}
.review-card header{display:flex;align-items:center;gap:12px}
.avatar{width:42px;height:42px;border-radius:50%;flex:none;color:#fff;font-weight:700;font-size:18px;
  display:flex;align-items:center;justify-content:center}
.rv-name{font-weight:700;font-size:15.5px;line-height:1.2}
.rv-date{font-size:12.5px;color:var(--muted);margin-top:2px}
.rv-g{margin-left:auto;flex:none;opacity:.9}
.review-card .stars{font-size:16px}
.rv-text{font-size:15px;color:var(--ink-soft);line-height:1.6;margin:0}
.reviews-cta{text-align:center;margin-top:38px}

@media(max-width:820px){
  .reviews-grid{grid-template-columns:1fr}
}

/* badge fonte recensioni (stella) */
.src-badge{width:26px;height:26px;border-radius:50%;background:#FBBC04;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1}
