@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('/assets/fonts/manrope-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Styles for the Vital Flush information pages (ingredients, how-it-works, science, faq). */
.info-header .header-inner{min-height:88px}
.info-logo{width:170px;height:auto}
.info-footer-logo{width:220px;height:auto;margin-bottom:14px}
.info-nav{display:flex;gap:20px;font-weight:700;font-size:14.5px;color:#36404d}
@media(max-width:1100px){.info-nav{gap:14px;font-size:13.5px}.info-logo{width:150px}}
.info-nav a{padding:6px 0;border-bottom:2px solid transparent}
.info-nav a:hover,.info-nav a[aria-current="page"]{color:var(--wine);border-color:var(--wine)}
.info-header-cta{min-height:46px;padding:0 20px}
.info-page main{position:relative}
.info-breadcrumb{position:absolute;top:16px;left:0;right:0;z-index:2;font-size:13px;color:rgba(255,255,255,.72)}
.info-breadcrumb a{text-decoration:none;color:var(--gold);font-weight:700}
.info-breadcrumb a:hover{color:#fff}

.info-hero{padding:48px 0 56px;background:radial-gradient(circle at 18% 14%,rgba(199,49,58,.32),transparent 33%),linear-gradient(120deg,var(--wine-dark),#681219 48%,var(--navy));color:#fff;margin-top:0}
.info-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.info-hero h1{font-size:clamp(34px,4.4vw,56px);line-height:1.05;letter-spacing:-.03em;margin:0 0 16px}
.info-hero h1 strong{color:var(--gold)}
.info-hero p.lead{font-size:19px;color:rgba(255,255,255,.88);margin:0 0 24px;max-width:640px}
.info-hero-img{border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 70px rgba(0,0,0,.25)}
.info-hero-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.info-updated{font-size:13px;color:rgba(255,255,255,.7);margin-top:14px}

.quick-answer{max-width:850px;margin:0 auto;background:#fff;border:1px solid var(--line);border-left:6px solid var(--wine);border-radius:18px;padding:24px 26px;box-shadow:var(--shadow)}
.quick-answer h2{font-size:22px!important;margin:0 0 8px!important;letter-spacing:0!important}
.quick-answer p{margin:0;color:#36404d;font-size:17px}

.article{max-width:850px;margin:0 auto}
.article h2{font-size:clamp(26px,3.2vw,36px);line-height:1.12;letter-spacing:-.02em;margin:46px 0 14px}
.article h3{font-size:21px;margin:28px 0 8px}
.article p,.article li{color:#3f4a58;font-size:17px}
.article ul,.article ol{padding-left:22px}
.article li{margin-bottom:8px}
.article a{color:var(--wine);text-decoration:underline}
.article .cta-inline{margin:30px 0;text-align:center}
.article .cta-inline a{text-decoration:none;color:#211600}

.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.info-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.info-card h3{margin:0 0 8px;font-size:20px}
.info-card p{margin:0;font-size:15px}
.info-card-img{display:block;width:calc(100% + 48px);max-width:none;margin:-24px -24px 18px;aspect-ratio:4/3;object-fit:cover;border-radius:20px 20px 0 0}
.info-card .num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f7e7d0;color:var(--wine);font-weight:900;margin-bottom:12px}

.table-wrap{overflow-x:auto;margin:22px 0;border-radius:18px;border:1px solid var(--line);background:#fff}
.info-table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.info-table th,.info-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.info-table th{background:#f7efe5;font-weight:800;color:var(--ink)}
.info-table tr:last-child td{border-bottom:0}
.info-table td.yes{color:#15803d;font-weight:800}
.info-table td.no{color:#9a3412}

.note-box{background:#fff7e6;border:1px solid #f2d79b;border-radius:16px;padding:18px 20px;margin:24px 0}
.note-box p{margin:0;font-size:15px;color:#5c4200}
.refs{font-size:14px!important}
.refs li{font-size:14px!important;color:var(--muted)!important}

.info-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.info-pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;color:var(--ink);border-radius:22px;padding:22px;border:2px solid transparent;box-shadow:0 18px 50px rgba(0,0,0,.18);transition:transform .2s ease,border-color .2s ease}
.info-pack:hover{transform:translateY(-4px);border-color:rgba(242,196,73,.75)}
.info-pack.featured{border-color:var(--gold)}
.info-pack .best{position:absolute;top:-12px}
.info-pack-name{font-size:22px;font-weight:800}
.info-pack img{height:150px;width:auto;object-fit:contain}
.info-pack-price{font-size:42px;font-weight:900;color:var(--wine);line-height:1;letter-spacing:-.03em}
.info-pack-price small{font-size:14px;color:var(--muted);font-weight:700;letter-spacing:0}
.info-pack-note{font-size:14px;color:var(--muted);margin-bottom:10px}
.info-pack .card-cta{margin-top:auto}
.info-pack.featured .card-cta{background:linear-gradient(180deg,#ffd86e,var(--gold));color:#211600}

.info-more{background:var(--cream)}
.info-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}
.info-links a{padding:14px 22px;background:#fff;border:1px solid var(--line);border-radius:999px;font-weight:800;color:var(--wine);box-shadow:0 10px 30px rgba(17,24,39,.06)}

.info-page .faq summary{position:relative;padding-right:46px}
.info-page .faq summary:focus{outline:none}
.info-page .faq summary:focus-visible{outline:2px solid var(--wine);outline-offset:4px;border-radius:8px}
.info-page .faq summary::after{content:'+';position:absolute;right:0;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:#f7e7d0;color:var(--wine);display:grid;place-items:center;font-size:22px;font-weight:700;line-height:1;transition:transform .3s ease,background-color .3s ease}
.info-page .faq details[open]:not(.closing) summary::after{transform:rotate(45deg);background:var(--wine);color:#fff}
.info-page .faq .answer{overflow:hidden}
.faq-group{margin-top:40px}
.faq-group h2{text-align:left}

.info-page .footer-inner{grid-template-columns:1fr 1.3fr;gap:40px}
.info-footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info-footer-cols div{display:flex;flex-direction:column;gap:10px}
.info-footer-title{margin:0 0 4px!important;font-size:12px!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)!important}
.info-footer-cols a{font-size:14px;color:#d4dae1;width:fit-content;transition:color .2s ease,transform .2s ease}
.info-footer-cols a:hover{color:#fff;transform:translateX(4px)}
.info-mobile-bar{display:none}

@media(max-width:900px){
  .info-nav{display:none}
  .info-hero-grid,.card-grid,.card-grid.three,.info-packs,.info-page .footer-inner{grid-template-columns:1fr}
  .info-hero-img{order:-1}
  .tn-opt{display:none}
  .info-hero{padding-top:30px}
  .info-mobile-bar{display:flex;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(0,0,0,.12);transition:transform .35s ease,opacity .35s ease}
  .info-mobile-bar .btn{flex:1 1 auto;min-width:0;width:auto}
  .info-mobile-logo{flex:0 0 auto;width:0;margin-right:0;opacity:0;overflow:hidden;transition:width .35s ease,margin .35s ease,opacity .35s ease}
  .info-mobile-logo img{width:120px;max-width:none;height:auto}
  .info-mobile-bar.with-logo .info-mobile-logo{width:120px;margin-right:12px;opacity:1}
  .info-mobile-bar.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
  .info-page{padding-bottom:76px}
}
@media(max-width:580px){
  .info-header .header-inner{justify-content:space-between}
  .info-logo{width:140px}
  .info-header-cta{min-height:42px;padding:0 16px;font-size:14px}
  .info-hero p.lead,.article p,.article li{font-size:16px}
  .info-footer-cols{grid-template-columns:1fr 1fr}
}

/* Hero photo frame with floating product, same treatment as the home hero */
.info-hero-visual{margin-bottom:18px}
.info-hero-visual .info-float{width:22%;right:12px;bottom:-14px;padding:8px;border-radius:14px}
.info-hero-visual .info-float.info-float-sm{width:17%}
@media(max-width:900px){.info-hero-visual{order:-1;margin-bottom:22px}.info-hero-visual .info-float{width:24%}.info-hero-visual .info-float.info-float-sm{width:20%}}
