/* =========================================================
   GlucoWave UK — Independent Review Presell
   Editorial health-magazine styling
   ========================================================= */

:root{
  --paper:#FAF7F0;
  --paper-2:#F1ECE0;
  --ink:#21261F;
  --ink-soft:#4B5247;
  --forest:#1F6B3D;
  --forest-deep:#15492A;
  --leaf:#2E9650;
  --amber:#C8501F;
  --amber-deep:#A23E15;
  --line:#DCD5C2;
  --card:#FFFFFF;
  --star:#E8A23C;
  --maxw:1080px;
  --radius:14px;
  --shadow:0 10px 30px rgba(33,38,31,0.08);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Source Sans Pro", Arial, Helvetica, sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:"Merriweather", Georgia, "Times New Roman", serif;
  color:var(--forest-deep);
  line-height:1.25;
  margin:0 0 .5em;
}
p{margin:0 0 1em;}
a{color:var(--forest);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.visually-hidden{position:absolute;left:-9999px;}

/* ---------- Top trust bar ---------- */
.trust-bar{
  background:var(--forest-deep);
  color:#EFE9D8;
  font-size:13px;
  letter-spacing:.02em;
  text-align:center;
  padding:7px 12px;
}
.trust-bar strong{color:#F7D58B;}

/* ---------- Masthead ---------- */
.masthead{
  background:var(--paper);
  border-bottom:3px solid var(--ink);
  padding:18px 0 14px;
}
.masthead .container{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.masthead-brand{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.masthead-brand .pub-name{
  font-family:"Merriweather", Georgia, serif;
  font-weight:900;
  font-size:22px;
  letter-spacing:.01em;
  color:var(--ink);
}
.masthead-brand .pub-name span{color:var(--amber);}
.masthead-tag{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--ink-soft);
  border-left:1px solid var(--line);
  padding-left:12px;
}
.masthead-meta{
  font-size:12.5px;
  color:var(--ink-soft);
  text-align:right;
}
@media (max-width:480px){
  .masthead-brand{flex-direction:column;align-items:flex-start;gap:4px;}
  .masthead-tag{border-left:none;padding-left:0;}
  .masthead .container{flex-direction:column;align-items:flex-start;gap:10px;}
  .masthead-meta{text-align:left;}
}

/* ---------- Article header ---------- */
.article-header{padding:34px 0 6px;}
.kicker{
  display:inline-block;
  background:var(--amber);
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:4px;
  margin-bottom:14px;
}
.article-header h1{
  font-size:clamp(28px,4.4vw,44px);
  max-width:920px;
}
.article-header .subhead{
  font-size:clamp(16px,2.2vw,19px);
  color:var(--ink-soft);
  max-width:800px;
  font-family:"Source Sans Pro",Arial,sans-serif;
}
.byline-row{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:18px 0 22px;
  padding:14px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:13.5px;
  color:var(--ink-soft);
}
.byline-row .avatar{
  width:38px;height:38px;border-radius:50%;
  background:var(--forest);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:"Merriweather",serif;font-weight:700;font-size:15px;
  flex-shrink:0;
}
.byline-row b{color:var(--ink);}
.byline-row .dot{opacity:.5;}
.badge-verified{
  display:inline-flex;align-items:center;gap:6px;
  background:#E7F3EA;color:var(--forest-deep);
  font-size:12.5px;font-weight:700;
  padding:4px 10px;border-radius:20px;
  border:1px solid #C7E3CD;
}

/* ---------- Hero image ---------- */
.hero-figure{margin:0 0 28px;}
.hero-figure img{
  width:100%;border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-figure figcaption{
  font-size:12.5px;color:var(--ink-soft);
  margin-top:8px;font-style:italic;
}

/* ---------- Article body / prose ---------- */
.article-body{font-size:17.5px;}
.article-body h2{
  font-size:clamp(23px,3vw,30px);
  margin-top:1.8em;
  padding-top:.1em;
}
.article-body h3{font-size:20px;margin-top:1.4em;}
.article-body p{max-width:760px;}
.article-body ul, .article-body ol{max-width:760px;padding-left:22px;}
.article-body li{margin-bottom:.5em;}
.drop-cap:first-letter{
  font-family:"Merriweather",serif;
  font-weight:900;
  font-size:3.6em;
  float:left;
  line-height:.85;
  margin:.04em .08em 0 0;
  color:var(--forest-deep);
}

/* ---------- TL;DR / verdict box ---------- */
.tldr-box{
  background:var(--card);
  border:1px solid var(--line);
  border-left:6px solid var(--forest);
  border-radius:10px;
  padding:22px 24px;
  margin:26px 0 32px;
  box-shadow:var(--shadow);
}
.tldr-box h3{
  font-size:14px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--forest-deep);margin-bottom:10px;
}
.tldr-box ul{margin:0;padding-left:0;list-style:none;}
.tldr-box li{
  display:flex;gap:10px;margin-bottom:9px;font-size:16px;
}
.tldr-box li:last-child{margin-bottom:0;}
.tldr-box li .tick{color:var(--forest);font-weight:900;flex-shrink:0;}

/* ---------- Score card ---------- */
.score-card{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  background:linear-gradient(135deg,var(--forest-deep),var(--forest));
  color:#fff;border-radius:var(--radius);
  padding:24px 26px;margin:30px 0;box-shadow:var(--shadow);
}
.score-number{
  font-family:"Merriweather",serif;font-weight:900;
  font-size:54px;line-height:1;
  background:rgba(255,255,255,.12);
  border-radius:50%;
  width:96px;height:96px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  border:3px solid rgba(255,255,255,.35);
}
.score-meta{flex:1;min-width:200px;}
.score-meta .stars{color:var(--star);font-size:19px;letter-spacing:2px;margin-bottom:4px;}
.score-meta h4{color:#fff;margin-bottom:4px;font-size:19px;}
.score-meta p{color:#E7F0E8;margin:0;font-size:14.5px;}
.score-breakdown{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;
  width:100%;margin-top:14px;border-top:1px solid rgba(255,255,255,.25);padding-top:14px;
}
.score-breakdown div{display:flex;justify-content:space-between;font-size:14px;color:#EAF2EA;}
.score-breakdown b{color:#fff;}

/* ---------- Pros / cons ---------- */
.proscons{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
  margin:28px 0;
}
@media (max-width:640px){.proscons{grid-template-columns:1fr;}}
.proscons .box{
  background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;
}
.proscons .box.pros{border-top:4px solid var(--forest);}
.proscons .box.cons{border-top:4px solid var(--amber);}
.proscons h4{font-size:16px;margin-bottom:12px;}
.proscons ul{margin:0;padding-left:0;list-style:none;font-size:15px;}
.proscons li{display:flex;gap:8px;margin-bottom:9px;}
.proscons .pros li::before{content:"✓";color:var(--forest);font-weight:900;}
.proscons .cons li::before{content:"–";color:var(--amber-deep);font-weight:900;}

/* ---------- Ingredient grid ---------- */
.ingredient-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0;
}
@media (max-width:760px){.ingredient-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.ingredient-grid{grid-template-columns:1fr;}}
.ing-card{
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  overflow:hidden;box-shadow:var(--shadow);
}
.ing-card img{width:100%;height:130px;object-fit:cover;}
.ing-card .ing-body{padding:14px 16px;}
.ing-card h4{font-size:15.5px;margin-bottom:5px;color:var(--forest-deep);}
.ing-card p{font-size:13.5px;color:var(--ink-soft);margin:0;}

/* ---------- Testimonials ---------- */
.testi-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0;
}
@media (max-width:760px){.testi-grid{grid-template-columns:1fr;}}
.testi-card{
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:20px;box-shadow:var(--shadow);
}
.testi-card .stars{color:var(--star);font-size:15px;margin-bottom:8px;}
.testi-card blockquote{
  margin:0 0 14px;font-size:15px;font-style:italic;color:var(--ink);
}
.testi-card .person{
  display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft);
}
.testi-card .person img{width:36px;height:36px;border-radius:50%;object-fit:cover;}

/* ---------- CTA blocks ---------- */
.cta-block{
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 26px;
  text-align:center;
  margin:34px 0;
}
.cta-block h3{font-size:22px;margin-bottom:8px;}
.cta-block p{max-width:600px;margin:0 auto 18px;color:var(--ink-soft);}
.btn-cta{
  display:inline-block;
  background:var(--amber);
  color:#fff !important;
  font-family:"Source Sans Pro",Arial,sans-serif;
  font-weight:800;
  font-size:17px;
  letter-spacing:.01em;
  padding:16px 34px;
  border-radius:50px;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(200,80,31,.35);
  transition:transform .15s ease, box-shadow .15s ease;
  border:none;
  cursor:pointer;
}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(200,80,31,.42);}
.btn-cta.secondary{
  background:var(--forest);
  box-shadow:0 8px 20px rgba(31,107,61,.35);
}
.cta-sub{font-size:12.5px;color:var(--ink-soft);margin-top:10px;}
.cta-sub .lock{margin-right:4px;}

/* sticky mobile cta */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;
  background:var(--forest-deep);
  padding:10px 14px;
  display:none;
  z-index:999;
  box-shadow:0 -6px 20px rgba(0,0,0,.18);
}
.sticky-cta .btn-cta{width:100%;text-align:center;font-size:16px;padding:13px 10px;}
@media (max-width:680px){.sticky-cta{display:block;}body{padding-bottom:76px;}}

/* ---------- FAQ ---------- */
.faq-item{
  border-bottom:1px solid var(--line);
  padding:16px 0;
}
.faq-item h4{
  font-size:16.5px;margin-bottom:6px;cursor:pointer;
  display:flex;justify-content:space-between;gap:10px;color:var(--ink);
}
.faq-item h4::after{content:"+";color:var(--forest);font-weight:900;}
.faq-item.open h4::after{content:"–";}
.faq-item p{font-size:15px;color:var(--ink-soft);margin:0;display:none;}
.faq-item.open p{display:block;}

/* ---------- Author box ---------- */
.author-box{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:20px;margin:36px 0;
}
.author-box .avatar{
  width:56px;height:56px;border-radius:50%;flex-shrink:0;
  background:var(--forest);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:"Merriweather",serif;font-weight:700;font-size:20px;
}
.author-box h4{font-size:15.5px;margin-bottom:4px;}
.author-box p{font-size:13.5px;color:var(--ink-soft);margin:0;}

/* ---------- Disclaimer ---------- */
.disclaimer{
  font-size:12px;color:var(--ink-soft);
  border-top:1px solid var(--line);
  padding-top:18px;margin-top:30px;
  max-width:760px;
}
.disclaimer p{margin-bottom:8px;}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--ink);
  color:#C9CFC3;
  padding:34px 0 24px;
  margin-top:40px;
  font-size:13px;
}
footer.site-footer a{color:#EFE9D8;text-decoration:none;}
footer.site-footer a:hover{text-decoration:underline;}
.footer-links{
  display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;
}
.footer-fine{max-width:900px;color:#9CA496;line-height:1.6;}
.footer-fine p{margin-bottom:8px;}

/* ---------- Misc ---------- */
.divider-rule{
  border:none;border-top:1px solid var(--line);margin:30px 0;
}
.center{text-align:center;}
.small{font-size:13px;color:var(--ink-soft);}
