/* ===================================================================
   fiq-site.css — FlourishIQ shared design system + site chrome.
   Loaded on every public page. Chrome classes are namespaced `fiq-`
   so they never clash with a page's own styles. Pair with fiq-chrome.js
   (which injects the nav + family menu + footer using these classes).
   =================================================================== */

:root {
  --maroon:#8B1A1A; --maroon-dark:#5A0E0E; --gold:#B8860B; --gold-light:#E8C76B;
  --dark-blue:#003D5C; --text-dark:#2C2C2C; --text-med:#555555; --text-muted:#7A7A7A;
  --cream:#FDF8F0; --parchment:#FAF3E3; --white:#FFFFFF; --border:#E5DCC8;
  --f-head:Georgia,"Times New Roman",serif;
  --f-body:Calibri,"Helvetica Neue",Arial,sans-serif;
}

/* Baseline typography so every page shares the same fonts (pages may still
   add their own component styles; these only set the family + colours). */
body{ font-family:var(--f-body); color:var(--text-dark); }
h1,h2,h3,h4,h5,h6{ font-family:var(--f-head); }

/* ── Top navigation ───────────────────────────────────────────── */
.fiq-nav{ position:sticky; top:0; z-index:120; background:var(--maroon); border-bottom:4px solid var(--gold); }
.fiq-nav-inner{ max-width:1240px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px 24px; }
.fiq-brand{ font-family:var(--f-head); font-weight:700; font-size:22px; color:#fff; letter-spacing:.5px; text-decoration:none; }
.fiq-brand:hover{ text-decoration:none; }
.fiq-brand .iq{ color:var(--gold-light); font-style:italic; }
.fiq-links{ display:flex; gap:22px; align-items:center; }
.fiq-links a{ color:#fff; font-size:14px; font-weight:500; letter-spacing:.5px; padding:6px 2px; border-bottom:2px solid transparent; text-decoration:none; transition:border-color .2s,color .2s; }
.fiq-links a:hover{ color:var(--gold-light); text-decoration:none; border-bottom-color:var(--gold-light); }
.fiq-cta{ background:var(--gold); color:#fff !important; padding:9px 18px !important; border-radius:4px; font-weight:700; }
.fiq-cta:hover{ background:var(--gold-light); color:var(--maroon-dark) !important; border-bottom-color:transparent !important; }
.fiq-burger{ background:none; border:1.5px solid rgba(255,255,255,.5); color:#fff; font-size:18px; line-height:1; padding:8px 12px; border-radius:4px; cursor:pointer; margin-left:6px; }
.fiq-burger:hover{ border-color:var(--gold-light); color:var(--gold-light); }
.fiq-cart{ position:relative; color:#fff; text-decoration:none; font-size:19px; padding:6px 2px; display:inline-flex; align-items:center; border-bottom:2px solid transparent; }
.fiq-cart:hover{ text-decoration:none; }
.fiq-cart-count{ display:none; background:var(--gold-light); color:var(--maroon-dark); border-radius:11px; padding:1px 7px; font-size:12px; font-weight:700; margin-left:4px; }
@media (max-width:860px){ .fiq-links a:not(.fiq-cta):not(.fiq-cart){ display:none; } }
@media (max-width:520px){
  .fiq-nav-inner{ padding:12px 14px; }
  .fiq-brand{ font-size:19px; }
  .fiq-links{ gap:10px; }
  .fiq-cta{ padding:8px 12px !important; font-size:13px; }
  .fiq-burger{ padding:7px 10px; }
}

/* ── Slide-out family menu ────────────────────────────────────── */
.fiq-fam-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.45); opacity:0; visibility:hidden; transition:opacity .25s; z-index:200; }
.fiq-fam-overlay.active{ opacity:1; visibility:visible; }
.fiq-fam{ position:fixed; top:0; right:-340px; width:340px; max-width:88vw; height:100vh; background:linear-gradient(135deg,var(--maroon) 0%,var(--maroon-dark) 100%); box-shadow:-3px 0 18px rgba(0,0,0,.35); transition:right .28s ease; z-index:201; overflow-y:auto; padding-bottom:40px; }
.fiq-fam.active{ right:0; }
.fiq-fam-head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid rgba(255,255,255,.18); }
.fiq-fam-head .t{ font-family:var(--f-head); color:#fff; font-size:20px; font-weight:700; }
.fiq-fam-head .t .iq{ color:var(--gold-light); font-style:italic; }
.fiq-fam-close{ background:none; border:none; color:#fff; font-size:30px; line-height:1; cursor:pointer; }
.fiq-fam-close:hover{ color:var(--gold-light); }
.fiq-fam-group{ padding:16px 14px 4px; }
.fiq-fam-title{ font-family:var(--f-body); font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold-light); padding:0 8px 8px; }
.fiq-fam-item{ display:flex; align-items:center; padding:11px 12px; color:#fff; text-decoration:none; border-radius:8px; margin-bottom:3px; transition:background .15s; font-size:15px; }
.fiq-fam-item:hover{ background:rgba(255,255,255,.12); text-decoration:none; color:#fff; }
.fiq-fam-item .ic{ font-size:19px; width:30px; text-align:center; margin-right:12px; }
.fiq-fam-item .ext{ margin-left:auto; font-size:12px; opacity:.55; }
.fiq-fam-divider{ height:1px; background:rgba(255,255,255,.14); margin:8px 22px; }
.fiq-fam-note{ font-family:var(--f-body); font-size:12px; color:rgba(255,255,255,.6); padding:8px 22px 0; line-height:1.5; }

/* ── Reusable hero (maroon gradient + gold rule) ──────────────── */
.fiq-hero{ background:linear-gradient(135deg,var(--maroon-dark) 0%,var(--maroon) 100%); color:#fff; text-align:center; padding:64px 24px; border-bottom:6px solid var(--gold); }
.fiq-hero .eyebrow{ font-family:var(--f-body); color:var(--gold-light); letter-spacing:3px; text-transform:uppercase; font-size:13px; font-weight:700; margin-bottom:12px; }
.fiq-hero h1{ font-family:var(--f-head); color:#fff; font-size:40px; margin-bottom:14px; line-height:1.15; }
.fiq-hero p{ max-width:660px; margin:0 auto; opacity:.95; font-size:17px; line-height:1.6; }
@media (max-width:560px){ .fiq-hero h1{ font-size:30px; } }

/* ── Footer ───────────────────────────────────────────────────── */
.fiq-footer{ background:var(--maroon-dark); color:rgba(255,255,255,.85); border-top:6px solid var(--gold); margin-top:0; }
.fiq-footer-inner{ max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:34px; padding:48px 24px 30px; }
.fiq-footer h4{ font-family:var(--f-head); color:#fff; font-size:18px; margin:0 0 12px; }
.fiq-footer p{ font-size:14px; line-height:1.7; color:rgba(255,255,255,.8); }
.fiq-footer ul{ list-style:none; margin:0; padding:0; }
.fiq-footer li{ margin:7px 0; }
.fiq-footer a{ color:rgba(255,255,255,.82); text-decoration:none; font-size:14px; }
.fiq-footer a:hover{ color:var(--gold-light); text-decoration:none; }
.fiq-footer .created{ font-size:13px; color:rgba(255,255,255,.6); margin-top:14px; line-height:1.7; }
.fiq-footer .created a{ color:rgba(255,255,255,.85); border-bottom:1px dotted rgba(255,255,255,.5); }
.fiq-footer .social{ margin-top:16px; }
.fiq-footer .social .lbl{ font-size:13px; color:rgba(255,255,255,.7); margin-bottom:6px; }
.fiq-footer .social a{ font-size:14px; font-weight:600; color:var(--gold-light); }
.fiq-footer-bottom{ border-top:1px solid rgba(255,255,255,.14); text-align:center; padding:16px 24px; font-size:13px; color:rgba(255,255,255,.6); }
@media (max-width:820px){ .fiq-footer-inner{ grid-template-columns:1fr 1fr; gap:26px; } }
@media (max-width:480px){ .fiq-footer-inner{ grid-template-columns:1fr; } }
