/* ============================================================
   0ne1stack — shared site chrome
   Announcement bar · header extras · footer extras · FAQ page
   Self-contained: depends only on style.css custom properties
   and base classes. Loaded after /assets/css/style.css.
   ============================================================ */

/* ---------- announcement bar ---------- */
.announce-bar{position:relative;display:flex;align-items:center;justify-content:center;gap:.6rem;background:linear-gradient(90deg,#141005,#2b2008 50%,#141005);border-bottom:1px solid #3a2c10;color:#e8c766;font-size:.85rem;padding:.55rem 3rem .55rem 1rem;text-align:center}
.announce-bar p{margin:0;line-height:1.5}
.announce-bar strong{font-family:var(--serif);color:#f5d67b;letter-spacing:.05em;font-weight:700}
.announce-bar a{color:#f5d67b;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.announce-bar a:hover{color:#fff}
.announce-close{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#b8941f;font-size:1.25rem;line-height:1;cursor:pointer;padding:.3rem .5rem;border-radius:6px}
.announce-close:hover{color:#f5d67b;background:rgba(212,175,55,.08)}
@media(max-width:560px){.announce-bar{font-size:.78rem}}

/* ---------- header ---------- */
.site-header .chrome-nav{display:flex;align-items:center}
.site-header nav a.nav-merch{color:#e8c766;font-weight:600}
.site-header nav a.nav-merch:hover{color:#f5d67b}
.site-header nav a.nav-current{color:var(--gold);font-weight:600}
.nav-cta{margin-left:1rem;white-space:nowrap}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.55rem .6rem;cursor:pointer;flex-direction:column;gap:4px}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--gold);border-radius:2px}
@media(max-width:860px){
  .nav-toggle{display:flex}
  .site-header .chrome-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:.15rem;background:rgba(10,10,12,.98);border-bottom:1px solid var(--line);padding:.6rem 1.25rem 1rem;box-shadow:0 18px 40px rgba(0,0,0,.5)}
  .site-header .chrome-nav.open{display:flex}
  .site-header nav a{margin:.5rem 0;font-size:1.02rem}
  .nav-cta{margin:.7rem 0 0;text-align:center}
}

/* ---------- footer ---------- */
.foot-support{max-width:1080px;margin:0 auto;padding:0 1.25rem 1.1rem;font-size:.86rem;color:var(--muted)}
.foot-support a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.foot-merch-tag{display:inline-block;margin-top:.35rem;font-size:.78rem;color:#b8941f;border:1px solid #3a2c10;border-radius:999px;padding:.15rem .65rem}

/* ---------- FAQ page ---------- */
.faq-hero .hero-inner{padding:4.5rem 1.25rem}
.faq-toc{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;padding:0;margin:1.6rem 0 2.2rem}
.faq-toc a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.45rem 1.05rem;color:var(--muted);text-decoration:none;font-size:.88rem;transition:border-color .18s ease,color .18s ease}
.faq-toc a:hover{border-color:var(--gold);color:var(--gold)}
.faqs details{scroll-margin-top:84px}
.faqs details[open]{border-color:var(--gold2)}
.faqs summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::marker{content:""}
.faqs summary::after{content:"+";color:var(--gold);font-size:1.4rem;font-weight:400;line-height:1;flex:none}
.faqs details[open] summary::after{content:"\2212"}
.faq-answer p{color:var(--muted)}
.faq-answer p:first-child{margin-top:.7rem}
.faq-cta{margin:2.5rem 0 0}
@media(max-width:700px){.faq-hero .hero-inner{padding:3.2rem 1.25rem}}
