/* ============================================================
   RIOVIE — Library Article template styles
   (loads in addition to styles.css; reuses its tokens)
   ============================================================ */
.draft-banner{background:#fff4d6;border-bottom:1px solid #e9d79a;color:#7a5d12;
  font-size:12.5px;text-align:center;padding:9px 16px;}
.draft-banner b{font-weight:800;}

.article-wrap{max-width:760px;margin:0 auto;padding:0 28px;}
.article{padding:30px 0 12px;}

.breadcrumb{font-size:11.5px;color:var(--ink-soft);margin:0 0 22px;letter-spacing:.02em;}
.breadcrumb a{color:var(--clay);}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb span{margin:0 6px;color:#c4bca8;}

.article__cat{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);font-weight:700;margin:0 0 12px;}
.article h1{font-family:var(--serif);font-size:42px;line-height:1.1;color:var(--green-head);font-weight:600;margin:0 0 18px;}

/* byline + medical review badge */
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;
  padding:0 0 20px;border-bottom:1px solid var(--line);margin-bottom:26px;}
.byline__author{display:flex;align-items:center;gap:10px;}
.byline__avatar{width:38px;height:38px;border-radius:50%;background:var(--clay-soft);
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-size:18px;font-weight:600;flex:0 0 38px;}
.byline__name{font-size:13px;font-weight:700;color:var(--ink);line-height:1.3;}
.byline__name span{display:block;font-weight:400;font-size:11.5px;color:var(--ink-soft);}
.byline__review{display:inline-flex;align-items:center;gap:7px;background:#eef1e6;
  border:1px solid #d9e0c8;border-radius:30px;padding:6px 13px;font-size:11px;color:var(--green-700);font-weight:600;}
.byline__review img{width:14px;height:14px;}
.byline__date{font-size:11.5px;color:var(--ink-soft);margin-left:auto;}

/* front-loaded answer box (GEO: AI lifts this) */
.keytakeaway{background:#f7f4ec;border:1px solid var(--line);border-left:4px solid var(--clay);
  border-radius:4px;padding:20px 24px;margin:0 0 30px;}
.keytakeaway p{margin:0;font-size:15.5px;line-height:1.62;color:var(--ink);}
.keytakeaway .kt-label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--clay);font-weight:800;margin-bottom:8px;}

.article h2{font-family:var(--serif);font-size:27px;color:var(--green-head);font-weight:600;
  margin:34px 0 12px;line-height:1.18;}
.article p{font-size:15.5px;line-height:1.68;color:#48473f;margin:0 0 16px;}
.article a.inline{color:var(--clay);text-decoration:underline;}
.article strong{color:var(--ink);font-weight:700;}

/* citation + stat placeholders */
.slot{background:#fdeede;color:#a85a32;border:1px dashed #e0b394;border-radius:3px;
  padding:1px 6px;font-size:13px;font-style:normal;white-space:nowrap;}
sup.cite{color:var(--clay);font-weight:700;font-size:11px;cursor:help;}

/* gem pull-quote (GEO: quotations are the #1 citation booster) */
.pullquote{margin:30px 0;padding:6px 0 6px 26px;border-left:3px solid var(--clay);}
.pullquote p{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.35;color:var(--green-head);margin:0;}
.pullquote cite{display:block;font-family:var(--sans);font-style:normal;font-size:12px;color:var(--ink-soft);margin-top:10px;letter-spacing:.04em;}

/* gated CTA / lead magnet */
.gate{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:30px 32px;margin:36px 0;text-align:center;}
.gate__eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);font-weight:700;margin:0 0 10px;}
.gate h3{font-family:var(--serif);font-size:26px;color:var(--green-head);font-weight:600;margin:0 0 10px;}
.gate p{font-size:14px;color:var(--ink-soft);margin:0 auto 18px;max-width:520px;}
.gate__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center;}
.gate__email{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px;}
.gate__email input{padding:10px 14px;border:1px solid var(--line);border-radius:3px;font-size:13px;font-family:var(--sans);min-width:230px;background:#fff;}
.gate__email button{white-space:nowrap;}
.gate__free{font-size:11.5px;color:var(--ink-soft);margin-top:10px;}

/* FAQ (FAQPage schema target) */
.faq{margin:36px 0;}
.faq h2{margin-bottom:6px;}
.faq details{border-bottom:1px solid var(--line);padding:4px 0;}
.faq summary{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--green-head);
  cursor:pointer;list-style:none;padding:14px 28px 14px 0;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:20px;color:var(--clay);font-weight:400;}
.faq details[open] summary::after{content:"\2013";}
.faq__a{font-size:14.5px;line-height:1.66;color:#48473f;padding:0 0 16px;}

/* references */
.refs{margin:36px 0;padding:24px 0 0;border-top:1px solid var(--line);}
.refs h2{font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--green-700);font-weight:800;margin:0 0 14px;}
.refs ol{margin:0;padding-left:20px;}
.refs li{font-size:12.5px;color:var(--ink-soft);margin:0 0 9px;line-height:1.5;}
.refs li a{color:var(--clay);text-decoration:underline;word-break:break-word;}

/* disclaimer */
.disclaimer{background:#f3efe6;border:1px solid var(--line);border-radius:4px;padding:16px 20px;margin:30px 0;}
.disclaimer p{font-size:11.5px;line-height:1.55;color:var(--ink-soft);margin:0;}

/* related cluster cards */
.related{margin:44px 0 10px;padding:28px 0 0;border-top:1px solid var(--line);}
.related h2{font-family:var(--serif);font-size:22px;color:var(--green-head);font-weight:600;margin:0 0 18px;}
.related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.related__card{display:block;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:18px;transition:transform .15s,box-shadow .15s;}
.related__card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(60,55,40,.08);}
.related__card .rc-cat{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-weight:700;}
.related__card .rc-title{font-family:var(--serif);font-size:17px;color:var(--green-head);font-weight:600;margin:6px 0 0;line-height:1.25;}

@media(max-width:760px){
  .article h1{font-size:32px;}
  .article{padding-left:20px;padding-right:20px;}
  .byline__date{margin-left:0;width:100%;}
  .related__grid{grid-template-columns:1fr;}
  .pullquote p{font-size:21px;}
}
