/* =========================================================
   MemoHoney — "Editorial Botanical" Design System (Build 3)
   Forest green + mustard, serif-headline magazine layout.
   Distinct from Build 1 (Amber Hive) and Build 2 (Clarity
   Wellness). This file = shared chrome (header/nav/footer/
   base) loaded on every page. Each page also loads its own
   dedicated CSS file for section-specific styling.
   ========================================================= */
:root{
  --eb-forest-900:#12271b;
  --eb-forest-800:#1f3d2b;
  --eb-forest-700:#2b5039;
  --eb-forest-600:#3a6a4c;
  --eb-mustard-700:#b8790a;
  --eb-mustard-600:#d98e04;
  --eb-mustard-500:#e8a52c;
  --eb-terracotta:#c1552f;
  --eb-cream:#fbf6ee;
  --eb-paper:#ffffff;
  --eb-ink:#20241e;
  --eb-ink-soft:#5a5f52;
  --eb-line:#e7e0d0;
  --eb-success:#2f7d4f;
  --eb-warn:#a86419;

  --eb-font-head:'Playfair Display', Georgia, serif;
  --eb-font-body:'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --eb-r-sm:8px; --eb-r-md:16px; --eb-r-lg:26px; --eb-r-pill:999px;
  --eb-shadow-sm:0 2px 12px rgba(18,39,27,.08);
  --eb-shadow-md:0 16px 36px rgba(18,39,27,.16);
  --eb-shadow-mustard:0 12px 26px rgba(184,121,10,.3);
  --eb-ease:cubic-bezier(.2,1,.3,1);
  --eb-max:1200px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ font-family:var(--eb-font-body); color:var(--eb-ink); background:var(--eb-cream); line-height:1.7; font-size:16.5px; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2,h3,h4,.eb-display{ font-family:var(--eb-font-head); color:var(--eb-forest-900); font-weight:700; line-height:1.18; }
h1{ font-size:clamp(2.1rem,4.6vw,3.4rem); }
h2{ font-size:clamp(1.55rem,3vw,2.2rem); }
h3{ font-size:clamp(1.1rem,2.1vw,1.3rem); }
p{ margin-bottom:1rem; color:var(--eb-ink-soft); }
a{ color:var(--eb-mustard-700); text-decoration:none; }
a:hover{ color:var(--eb-forest-700); }
img{ max-width:100%; height:auto; display:block; }
.eb-container{ max-width:var(--eb-max); margin:0 auto; padding:0 22px; }
::selection{ background:var(--eb-mustard-500); color:#fff; }
a:focus-visible, button:focus-visible{ outline:3px solid var(--eb-mustard-500); outline-offset:2px; }
.eb-skip{ position:absolute; left:-999px; top:0; background:var(--eb-forest-900); color:#fff; padding:12px 18px; z-index:2000; }
.eb-skip:focus{ left:0; }

.eb-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--eb-font-body); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--eb-mustard-700); margin-bottom:14px; }
.eb-eyebrow::before{ content:""; width:20px; height:2px; background:var(--eb-mustard-600); }
.eb-eyebrow.on-dark{ color:var(--eb-mustard-500); }
.eb-lede{ font-size:1.1rem; color:var(--eb-ink-soft); max-width:62ch; }

.eb-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:700; font-size:.98rem; padding:15px 30px; border-radius:var(--eb-r-pill); border:2px solid transparent; cursor:pointer; transition:transform .2s var(--eb-ease), box-shadow .2s var(--eb-ease); white-space:nowrap; }
.eb-btn-mustard{ background:var(--eb-mustard-600); color:#fff; box-shadow:var(--eb-shadow-mustard); }
.eb-btn-mustard:hover{ background:var(--eb-mustard-700); color:#fff; transform:translateY(-2px); }
.eb-btn-forest{ background:var(--eb-forest-800); color:#fff; }
.eb-btn-forest:hover{ background:var(--eb-forest-900); color:#fff; transform:translateY(-2px); }
.eb-btn-outline{ background:transparent; border-color:rgba(255,255,255,.5); color:#fff; }
.eb-btn-outline:hover{ background:rgba(255,255,255,.12); color:#fff; border-color:#fff; }
.eb-btn-sm{ padding:10px 20px; font-size:.86rem; }
.eb-btn-block{ width:100%; }
hr.eb-rule{ border:0; border-top:1px solid var(--eb-line); margin:2.2rem 0; }

/* ---------- Announcement ---------- */
.eb-announce{ background:var(--eb-forest-900); color:var(--eb-mustard-500); text-align:center; font-size:.8rem; font-weight:700; padding:9px 14px; padding-top:calc(9px + var(--safe-top)); }
.eb-announce a{ color:#fff; text-decoration:underline; }

/* ---------- Header ---------- */
.eb-header{ position:sticky; top:0; z-index:1000; background:var(--eb-cream); border-bottom:2px solid var(--eb-forest-900); }
.eb-header .eb-container{ display:flex; align-items:center; justify-content:space-between; height:84px; gap:18px; }
.eb-logo{ display:flex; align-items:center; gap:10px; font-family:var(--eb-font-head); font-weight:700; font-size:1.4rem; color:var(--eb-forest-900); }
.eb-logo .mark{ width:38px;height:38px;border:2px solid var(--eb-forest-900); border-radius:50%; display:flex;align-items:center;justify-content:center; color:var(--eb-forest-900); font-weight:800; font-size:.95rem; background:var(--eb-mustard-500); flex:none; }
.eb-logo:hover{ color:var(--eb-forest-900); }
.eb-nav{ display:flex; align-items:center; gap:26px; }
.eb-nav a{ color:var(--eb-forest-800); font-weight:700; font-size:.92rem; border-bottom:2px solid transparent; padding-bottom:3px; }
.eb-nav a:hover{ border-color:var(--eb-mustard-600); }
.eb-nav-cta{ display:flex; align-items:center; gap:12px; }
.eb-burger{ display:none; width:44px;height:44px; border:2px solid var(--eb-forest-900); background:transparent; color:var(--eb-forest-900); align-items:center; justify-content:center; cursor:pointer; }
.eb-mobile-panel{ display:none; position:fixed; inset:0; z-index:1100; background:var(--eb-forest-900); padding:22px; padding-top:calc(22px + var(--safe-top)); overflow-y:auto; }
.eb-mobile-panel.open{ display:block; }
.eb-mobile-panel a{ display:block; color:#fff; font-family:var(--eb-font-head); font-weight:700; font-size:1.2rem; padding:16px 4px; border-bottom:1px solid rgba(255,255,255,.14); }
.eb-mobile-close{ position:absolute; right:22px; top:calc(22px + var(--safe-top)); color:#fff; background:none; border:0; font-size:1.7rem; }

/* ---------- Breadcrumb ---------- */
.eb-breadcrumb{ background:var(--eb-paper); border-bottom:1px solid var(--eb-line); padding:14px 0; font-size:.85rem; }
.eb-breadcrumb a{ color:var(--eb-ink-soft); font-weight:700; }
.eb-breadcrumb span{ color:var(--eb-forest-800); font-weight:700; }
.eb-breadcrumb .sep{ margin:0 8px; color:#cabf9d; }

/* ---------- Shared section shell ---------- */
.eb-section{ padding:76px 0; }
.eb-section.alt{ background:var(--eb-paper); border-top:1px solid var(--eb-line); border-bottom:1px solid var(--eb-line); }
.eb-section.dark{ background:var(--eb-forest-900); color:#fff; }
.eb-section.dark h2, .eb-section.dark h3{ color:#fff; }
.eb-section-head{ text-align:center; max-width:760px; margin:0 auto 44px; }
.eb-meta-strip{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; font-size:.82rem; color:var(--eb-ink-soft); border-top:1px solid var(--eb-line); border-bottom:1px solid var(--eb-line); padding:14px 0; margin:20px 0 32px; }
.eb-meta-strip b{ color:var(--eb-forest-900); }
.eb-factcheck{ display:inline-flex; align-items:center; gap:8px; background:#e7f4ec; color:var(--eb-success); font-weight:800; font-size:.78rem; padding:6px 14px; border-radius:var(--eb-r-pill); }
.eb-disclaimer{ background:#fdf3e2; border:1px solid #ecd9ab; border-left:4px solid var(--eb-warn); border-radius:var(--eb-r-sm); padding:18px 20px; font-size:.86rem; }
.eb-author{ display:flex; gap:18px; align-items:flex-start; background:var(--eb-paper); border:1px solid var(--eb-line); border-radius:var(--eb-r-md); padding:22px; }
.eb-author img{ width:62px;height:62px;border-radius:50%; flex:none; object-fit:cover; }
.eb-author h4{ margin:0 0 2px; font-family:var(--eb-font-body); font-weight:800; color:var(--eb-forest-900); font-size:1rem; }
.eb-author .role{ font-size:.8rem; color:var(--eb-mustard-700); font-weight:700; margin-bottom:8px; }
.eb-author p{ font-size:.88rem; margin-bottom:0; }
.eb-centered-img, .eb-section img, figure img{ display:block !important; margin-left:auto !important; margin-right:auto !important; }

/* ---------- Footer ---------- */
.eb-footer{ background:var(--eb-forest-900); color:rgba(255,255,255,.72); padding:60px 0 0; margin-top:10px; }
.eb-footer h5{ color:#fff; font-family:var(--eb-font-body); font-weight:800; font-size:.86rem; letter-spacing:.04em; text-transform:uppercase; margin-bottom:18px; }
.eb-footer a{ color:rgba(255,255,255,.68); font-size:.92rem; }
.eb-footer a:hover{ color:var(--eb-mustard-500); }
.eb-footer ul{ list-style:none; padding:0; margin:0; }
.eb-footer li{ margin-bottom:11px; }
.eb-footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:40px; padding:22px 0; font-size:.8rem; text-align:center; color:rgba(255,255,255,.55); padding-bottom:calc(22px + var(--safe-bottom)); }
.eb-footer-disclaimer{ font-size:.78rem; color:rgba(255,255,255,.5); border-top:1px solid rgba(255,255,255,.1); padding-top:24px; margin-top:12px; line-height:1.7; }
.eb-social{ display:flex; gap:10px; margin-top:16px; }
.eb-social a{ width:38px;height:38px;border-radius:50%; background:rgba(255,255,255,.08); display:flex;align-items:center;justify-content:center; }
.eb-social a:hover{ background:var(--eb-mustard-600); color:#fff; }

.eb-top-btn{ position:fixed; right:20px; bottom:24px; z-index:1150; width:46px;height:46px;border-radius:50%; background:var(--eb-forest-900); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--eb-shadow-md); opacity:0; pointer-events:none; transition:opacity .25s var(--eb-ease); }
.eb-top-btn.show{ opacity:1; pointer-events:auto; }

/* ---------- Shared table ---------- */
.eb-table-wrap{ overflow-x:auto; border-radius:var(--eb-r-md); border:1px solid var(--eb-line); }
table.eb-table{ width:100%; border-collapse:collapse; background:var(--eb-paper); min-width:560px; }
table.eb-table th{ background:var(--eb-forest-900); color:#fff; padding:14px 16px; text-align:left; font-size:.85rem; }
table.eb-table td{ padding:13px 16px; border-top:1px solid var(--eb-line); font-size:.92rem; color:var(--eb-ink-soft); }
table.eb-table tr:nth-child(even) td{ background:var(--eb-cream); }

/* ---------- Shared FAQ ---------- */
.eb-faq-item{ border:1px solid var(--eb-line); border-radius:var(--eb-r-sm); margin-bottom:12px; overflow:hidden; background:var(--eb-paper); }
.eb-faq-btn{ width:100%; text-align:left; background:var(--eb-paper); border:0; padding:20px 22px; font-weight:800; color:var(--eb-forest-900); display:flex; justify-content:space-between; align-items:center; gap:14px; cursor:pointer; font-size:1rem; }
.eb-faq-btn .plus{ transition:transform .25s var(--eb-ease); color:var(--eb-mustard-600); font-size:1.3rem; flex:none; }
.eb-faq-btn[aria-expanded="true"] .plus{ transform:rotate(45deg); }
.eb-faq-panel{ max-height:0; overflow:hidden; transition:max-height .3s var(--eb-ease); }
.eb-faq-panel-inner{ padding:0 22px 20px; }

@media (max-width: 991px){
  .eb-nav, .eb-nav-cta .eb-btn-outline{ display:none; }
  .eb-burger{ display:flex; }
}
@media (max-width: 767px){
  body{ font-size:15.5px; }
  .eb-section{ padding:52px 0; }
  .eb-header .eb-container{ height:68px; }
  .eb-author{ flex-direction:column; align-items:center; text-align:center; }
  table.eb-table{ min-width:520px; }
}
@supports (-webkit-touch-callout: none){ .eb-mobile-panel{ min-height:-webkit-fill-available; } }

/* ---- Footer redesign (Build 3 v2) ---- */
.eb-footer-top{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:36px; }
.eb-footer-tagline{ max-width:42ch; color:rgba(255,255,255,.6); font-size:.92rem; margin:0; }
.eb-footer-tagline a{ color:var(--eb-mustard-500); }
.eb-footer-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; }
@media (max-width: 767px){
  .eb-footer-grid{ grid-template-columns:1fr 1fr; gap:22px; }
  .eb-footer-top{ flex-direction:column; align-items:flex-start; }
  .eb-guarantee{ flex-direction:column; text-align:center; }
}
