:root{
  --bg:#f7f8f8;
  --card:#ffffff;
  --ink:#111514;
  --muted:#64706d;
  --line:#dfe5e3;
  --accent:#07493d;
  --accent-dark:#07493d;
  --soft:#e9f3f0;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
a{color:inherit;text-decoration:none}
.container{width:min(1120px,calc(100% - 40px));margin:auto}
.narrow{max-width:820px}
.center{text-align:center}
.nav-wrap{position:sticky;top:0;z-index:20;background:rgba(247,248,248,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,229,227,.8)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:27px;font-weight:800;letter-spacing:-1.4px}
.brand span,h1 span{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:600}
.nav-right select{border:1px solid var(--line);border-radius:10px;background:white;padding:8px}
.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 20px;border-radius:13px;background:var(--accent);color:white;font-weight:700;transition:.2s;box-shadow:0 7px 20px rgba(12,107,88,.15)}
.btn:hover{transform:translateY(-1px);background:var(--accent-dark)}
.btn-small{padding:10px 14px}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding-top:88px;padding-bottom:100px}
.eyebrow,.section-kicker{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;color:var(--accent);margin-bottom:16px}
h1{font-size:clamp(48px,7vw,82px);line-height:.98;letter-spacing:-4px;margin:0 0 26px;max-width:780px}
.hero-sub{font-size:20px;max-width:680px;color:var(--muted);margin-bottom:28px}
.hero-actions{display:flex;gap:20px;align-items:center}
.text-link{font-weight:700}
.trust-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:32px;color:var(--muted);font-size:13px}
.phone-card{background:#101715;border:8px solid:#111;border-radius:34px;padding:18px;color:white;box-shadow:0 35px 70px rgba(20,40,35,.2);max-width:390px;margin-left:auto}
.phone-top{display:flex;justify-content:space-between;font-size:12px;opacity:.75;margin-bottom:14px}
.mock-photo{height:280px;border-radius:20px;background:linear-gradient(135deg,#c7d7d1,#f2e6d7);position:relative;overflow:hidden}
.mock-photo:before{content:"";position:absolute;width:55%;height:65%;right:8%;bottom:0;background:white;border-radius:18px 18px 0 0;box-shadow:-110px 70px 0 -35px #8ca89e}
.mock-badge{position:absolute;left:14px;bottom:14px;background:white;color:#111;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:800}
.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.score-grid div{background:#1c2825;border-radius:14px;padding:12px}
.score-grid b,.score-grid span{display:block}
.score-grid b{font-size:11px;color:#aab9b5;margin-bottom:5px}
.score-grid span{font-size:14px;font-weight:700}
.mock-footer{display:flex;gap:14px;margin-top:14px;font-size:11px;color:#c9d4d1}
.section{padding:90px 0}
.problem{background:var(--ink);color:white;text-align:center}
.problem .section-kicker{color:#89c8b8}
.problem h2,.section h2{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-2.5px;margin:0 0 22px}
.problem p{color:#b9c5c1;font-size:18px;margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.steps article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-height:240px}
.steps article>span{font-size:13px;color:var(--accent);font-weight:800}
.steps h3{font-size:20px;margin:42px 0 8px}
.steps p{color:var(--muted);font-size:14px}
.check-section{background:#eef2f1}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.check-section p{color:var(--muted);font-size:17px}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check-list div{background:white;border:1px solid var(--line);border-radius:14px;padding:15px;font-size:14px;font-weight:600}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.price-card{background:white;border:1px solid var(--line);border-radius:28px;padding:34px;position:relative}
.price-card.featured{border:2px solid var(--accent)}
.pill{position:absolute;right:20px;top:20px;background:var(--soft);color:var(--accent);font-size:11px;font-weight:800;padding:7px 9px;border-radius:999px}
.price-card h3{font-size:25px;margin:0 0 5px}
.price{font-size:54px;font-weight:800;letter-spacing:-2px}
.price-card p{color:var(--muted)}
.price-card ul{list-style:none;padding:0;margin:26px 0}
.price-card li{padding:8px 0;border-bottom:1px solid #edf0ef;font-size:14px}
.price-card li:before{content:"✓";color:var(--accent);font-weight:900;margin-right:9px}
.btn.full{width:100%}
.btn.secondary{background:#17221f}
.supplements{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:13px;color:var(--muted)}
.supplements>*{background:white;border:1px solid var(--line);padding:10px 12px;border-radius:11px}
.audience{background:var(--soft)}
.audience p{font-size:18px;color:var(--muted)}
details{border-top:1px solid var(--line);padding:20px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{font-weight:700;cursor:pointer;font-size:18px}
details p{color:var(--muted);margin:12px 0 0}
.cta-section{padding-top:40px}
.cta-card{background:var(--accent);color:white;border-radius:32px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta-card h2{margin-bottom:10px}
.cta-card p{margin:0;color:#d7eee8}
.section-kicker.light{color:#c6ebe1}
.light-btn{background:white;color:var(--accent);min-width:180px}
.light-btn:hover{background:#f1f7f5;color:var(--accent-dark)}
.footer{padding:40px 0 55px;display:grid;grid-template-columns:auto 1fr;gap:8px 30px;align-items:center}
.footer p{color:var(--muted);font-size:14px}
.footer small{grid-column:1/-1;color:#8a9592}
@media(max-width:850px){
  .nav-right > a:not(.btn){
    display:none;
  }

  .nav-right select{
    display:block;
  }

  .nav-right{
    gap:10px;
  }

  .nav-right .btn-small{
    padding:9px 11px;
    font-size:12px;
  }

  .hero{
    grid-template-columns:1fr;
    gap:48px;
    padding-top:60px;
  }

  h1{
    letter-spacing:-3px;
  }

  .phone-card{
    margin:0;
    max-width:100%;
  }

  .steps{
    grid-template-columns:1fr 1fr;
  }

  .split,
  .pricing-grid{
    grid-template-columns:1fr;
    gap:35px;
  }

  .cta-card{
    display:block;
  }

  .cta-card .btn{
    margin-top:20px;
  }
}

@media(max-width:520px){
  .container{
    width:min(100% - 26px,1120px);
  }

  .nav{
    height:64px;
    gap:10px;
  }

  .brand-image{
    max-width:105px;
    height:auto;
  }

  .nav-right{
    gap:7px;
  }

  .nav-right select{
    display:block;
    padding:7px 6px;
    font-size:12px;
    border-radius:9px;
  }

  .nav-right .btn-small{
    padding:8px 9px;
    font-size:11px;
    white-space:nowrap;
  }

  h1{
    font-size:42px;
    line-height:1;
    letter-spacing:-2.5px;
  }

  .hero{
    padding-top:45px;
    padding-bottom:60px;
    min-height:auto;
  }

  .hero-sub{
    font-size:17px;
    line-height:1.5;
  }

  .hero-actions{
    width:100%;
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }

  .hero-actions .btn{
    width:100%;
  }

  .steps,
  .check-list{
    grid-template-columns:1fr;
  }

  .section{
    padding:68px 0;
  }

  .cta-card{
    padding:30px 24px;
  }

  .pricing-grid{
    margin-top:30px;
  }
}
.price {
  display: flex;
  align-items: center;
  gap: 8px;
}

.old-price {
  color: #888;
  text-decoration: line-through;
  font-size: 1.2rem;
  font-weight: 400;
}

.new-price {
  color: #e63946; /* rosso offerta */
  font-size: 1.6rem;
  font-weight: 700;
}



/* =========================================================
   YOVOY VISUAL BACKGROUND UPDATE
   Only backgrounds / colours are overridden below.
   HTML, wording, pricing structure, links and legal pages
   remain unchanged.
   ========================================================= */

:root{
  --bg:#f7f3e9;
  --card:#fffdf8;
  --ink:#0d1715;
  --muted:#53625d;
  --line:#ddd8cc;
  --accent:#00a85a;
  --accent-dark:#007d44;
  --soft:#e7f4eb;
}

body{
  background:
    radial-gradient(circle at 14% 8%, rgba(105,190,174,.13), transparent 28rem),
    linear-gradient(180deg,#f8f5ec 0%,#f5efe3 100%);
}

/* Header inspired by the light glass/cream bar in the reference. */
.nav-wrap{
  background:rgba(250,249,242,.92);
  border-bottom:1px solid rgba(20,63,49,.10);
  box-shadow:0 6px 24px rgba(38,54,46,.05);
}

/* ============================
   YOVOY HERO — VERSIONE FINALE
   Immagine nitida, gradient leggero,
   nessun taglio a destra.
   ============================ */

.hero{
  display:block;
  position:relative;
  padding-top:82px;
  padding-bottom:92px;
  min-height:640px;
  text-align:center;
  isolation:isolate;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;

  /* GRADIENT MOLTO PIÙ LEGGERO */
  background:
    linear-gradient(180deg,
      rgba(248,244,234,0.05) 0%,
      rgba(248,244,234,0.08) 100%
    ),
    linear-gradient(90deg,
      rgba(248,244,234,0.04) 0%,
      rgba(248,244,234,0.06) 20%,
      rgba(248,244,234,0.08) 45%,
      rgba(248,244,234,0.05) 75%,
      rgba(248,244,234,0.03) 100%
    ),
    url("hero-madrid-bg.jpg") center center / cover no-repeat;

  /* MIGLIORA LA NITIDEZZA */
  image-rendering: crisp-edges;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:120px;
  z-index:-1;
  background:linear-gradient(to bottom,rgba(248,244,234,0), #f8f4ea 90%);
}

/* Testo centrato */
.hero-copy{
  max-width:980px;
  margin:0 auto;
}

.hero-copy h1{
  max-width:1100px;
  font-size:clamp(54px,8vw,104px);
  letter-spacing:-4.6px;
}

.hero-sub{
  max-width:980px;
  font-size:21px;
  color:#2d403b;
}

.hero-actions{
  justify-content:center;
}

.trust-row{
  justify-content:center;
  color:#314541;
}

/* Rimuove la card a destra */
.phone-card{
  display:none !important;
}

/* Mobile */
@media (max-width: 900px){
  .hero{
    padding-top:70px;
    padding-bottom:80px;
    min-height:560px;
  }

  .hero::before{
    background:
      linear-gradient(180deg,
        rgba(248,244,234,0.18) 0%,
        rgba(248,244,234,0.26) 100%
      ),
      linear-gradient(90deg,
        rgba(248,244,234,0.16) 0%,
        rgba(248,244,234,0.22) 100%
      ),
      url("hero-madrid-bg.jpg") center center / cover no-repeat;
  }

  .hero-copy h1{
    font-size:clamp(48px,10vw,78px);
  }

  .hero-sub{
    font-size:19px;
  }
}

@media (max-width: 640px){
  .hero{
    min-height:500px;
  }
  .hero-sub{
    font-size:18px;
  }
  .hero-actions{
    flex-direction:column;
  }
  .trust-row{
    gap:8px 14px;
  }
}



/* YOVOY FINAL HERO REFINEMENT
   Centered hero copy, logo/favicon support, sharper background,
   stronger brand green, and right card removal. */

:root{
  --bg:#f8f4ea;
  --card:#fffdf8;
  --ink:#081312;
  --muted:#425450;
  --line:#ddd6c8;
  --accent:#07493d;
  --accent-dark:#07493d;
  --soft:#eaf6ee;
}

body{
  background:linear-gradient(180deg,#f9f6ee 0%,#f6f0e2 100%);
}

.nav-wrap{
  background:rgba(244, 247, 244, 0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(16,49,39,.08);
}

.brand-logo{
  display:flex;
  align-items:center;
}

.brand-image{
  display:block;
  height:42px;
  width:auto;
}

.btn{
  background:var(--accent);
  box-shadow:0 10px 24px rgba(19,183,101,.22);
}

.btn:hover{background:var(--accent-dark)}
.brand span,h1 span,.eyebrow,.section-kicker,.pill,.new-price{color:var(--accent)}

.hero{
  display:block;
  position:relative;
  padding-top:82px;
  padding-bottom:92px;
  min-height:640px;
  text-align:center;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(248,244,234,.30) 0%, rgba(248,244,234,.50) 100%),
    linear-gradient(90deg,rgba(248,244,234,.36) 0%, rgba(248,244,234,.62) 18%, rgba(248,244,234,.68) 50%, rgba(248,244,234,.44) 82%, rgba(248,244,234,.22) 100%),
    url("hero-madrid-bg.jpg") center center / cover no-repeat;
  z-index:-2;
}

.hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:120px;
  background:linear-gradient(to bottom,rgba(248,244,234,0), #f8f4ea 90%);
  z-index:-1;
}

.hero-copy{
  max-width:980px;
  margin:0 auto;
}

.hero-copy .eyebrow,
.hero-copy h1,
.hero-copy .hero-sub,
.hero-copy .hero-actions,
.hero-copy .trust-row{
  justify-content:center;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.hero-copy h1{
  max-width:1100px;
  font-size:clamp(54px,8vw,104px);
  letter-spacing:-4.6px;
}

.hero-sub{
  max-width:980px;
  font-size:21px;
  color:#2d403b;
}

.hero-actions{
  justify-content:center;
}

.trust-row{
  justify-content:center;
  color:#314541;
}

.phone-card{display:none !important;}

.problem{
  background:linear-gradient(135deg,#0d1d18,#173027);
}
.problem .section-kicker{color:#83e0ac}

.check-section{
  background:#edf3ed;
}

.price-card.featured{
  border-color:var(--accent);
  box-shadow:0 16px 42px rgba(19,183,101,.11);
}

.pill{
  background:#def7e9;
  color:var(--accent);
}

.audience{
  background:linear-gradient(135deg,#e6f4ec,#f7ebcb);
}

.cta-card{
  background:linear-gradient(135deg,var(--accent) 0%, var(--accent-dark) 100%);
}

.light-btn{
  background:white;
  color:var(--accent);
  font-weight:700;
  border:2px solid rgba(255,255,255,0.9);
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
}
.light-btn:hover{
  background:#f1f7f5;
  color:var(--accent-dark);
}


.footer{color:#334640}

@media (max-width: 900px){
  .brand-image{height:36px;}
  .hero{
    padding-top:70px;
    padding-bottom:80px;
    min-height:560px;
  }
  .hero::before{
    background:
      linear-gradient(180deg,rgba(248,244,234,.42) 0%, rgba(248,244,234,.58) 100%),
      linear-gradient(90deg,rgba(248,244,234,.45) 0%, rgba(248,244,234,.60) 100%),
      url("hero-madrid-bg.jpg") center center / cover no-repeat;
  }
  .hero-copy h1{font-size:clamp(48px,10vw,78px)}
  .hero-sub{font-size:19px}
}

@media (max-width: 640px){
  .nav-right{gap:14px}
  .brand-image{height:32px}
  .hero{min-height:500px}
  .hero-sub{font-size:18px}
  .hero-actions{flex-direction:column}
  .trust-row{gap:8px 14px}
}
