/* ============================================================================
   AurumGamma generated pages — wiki guides, the Gold COT hub, the COT archive grid
   and the weekly COT date pages (all written by generate_static_pages.js).
   Same design language as aurum-site.css (.av scope, its variables), so the shared
   nav, footer, auth modal and promo modal are untouched.
   ============================================================================ */

/* ---------- page column ---------- */
.av.av-gen { width: 100%; }
.av .gen-wrap { padding-top: 0.5rem; padding-bottom: 4rem; }
.av .gen-crumbs { font-size: 0.85rem; color: var(--av-ink-3); margin: 0 0 1rem; display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
.av .gen-crumbs a { color: var(--av-cyan) !important; text-decoration: none; }
.av .gen-crumbs a:hover { text-decoration: underline; }
.av .gen-crumbs span { color: var(--av-ink-2) !important; overflow-wrap: anywhere; }

/* ---------- hero ---------- */
.av .gen-hero { text-align: left; padding: 2rem 1.75rem 1.6rem; margin: 0 0 1.75rem; }
.av .gen-hero .av-title { margin-bottom: 0.9rem; overflow-wrap: break-word; }
.av .gen-hero .av-lede { margin: 0 0 0.25rem; max-width: 78ch; }
.av .gen-hero .definition-box { margin: 0.4rem 0 0; max-width: 82ch; }
.av .gen-hero .gen-hero-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }

/* definition / direct-answer box (wiki pages, hub) */
.av .definition-box {
    border: 1px solid rgba(255, 215, 0, 0.28) !important;
    border-left: 3px solid var(--av-gold) !important;
    background: rgba(255, 215, 0, 0.05) !important;
    border-radius: 0 12px 12px 0 !important;
    padding: 1.05rem 1.25rem !important;
    color: var(--av-ink) !important;
    font-size: 1.04rem !important;
    line-height: 1.65 !important;
    margin-bottom: 0 !important;
}

/* ---------- wiki layout: table of contents + article ---------- */
/* .saas-page is a centred flex column, so the grid needs an explicit width to fill the 1240px column */
.av .wiki-layout.gen-wiki { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.75rem; width: 100%; max-width: 1240px !important; margin: 0 auto !important; padding: 0 16px 4rem; align-items: start; }
.av .gen-wiki .wiki-sidebar { position: sticky; top: 96px; height: fit-content; min-width: 0; }
.av .gen-toc-card { padding: 1.1rem 1.15rem; }
.av .gen-toc-title { font: 700 0.72rem var(--av-sans); color: var(--av-ink-3); text-transform: uppercase; letter-spacing: 0.09em; margin: 0 0 0.7rem; }
.av .gen-wiki .wiki-toc { list-style: none; padding: 0; margin: 0; counter-reset: toc; }
.av .gen-wiki .wiki-toc li { margin: 0; }
.av .gen-wiki .wiki-toc a { display: block; color: var(--av-ink-2); text-decoration: none; font-size: 0.88rem; line-height: 1.45; padding: 0.38rem 0.55rem; border-radius: 8px; border-left: 2px solid transparent; transition: background .15s, color .15s, border-color .15s; }
.av .gen-wiki .wiki-toc a:hover { color: var(--av-cyan); background: rgba(0, 240, 255, 0.06); border-left-color: var(--av-cyan); }
.av .gen-toc-back { display: inline-block; margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px solid var(--av-line); width: 100%; color: var(--av-cyan); text-decoration: none; font-size: 0.85rem; font-weight: 700; }
.av .gen-wiki .wiki-content { min-width: 0; max-width: none; }
.av .gen-article { padding: 1.6rem 1.75rem 1.75rem; }

/* readable article text; the guide content keeps some inline styles, so headings are forced here */
.av .gen-prose { color: var(--av-ink-2); font-size: 1.02rem; line-height: 1.78; max-width: 78ch; }
.av .gen-prose p { margin: 0 0 1rem; }
.av .gen-prose ul, .av .gen-prose ol { margin: 0 0 1.1rem 1.2rem; padding: 0; }
.av .gen-prose li { margin: 0 0 0.5rem; }
.av .gen-prose strong { color: var(--av-ink); }
.av .gen-prose a { color: var(--av-cyan); }
.av .gen-prose h2 {
    color: var(--av-ink) !important;
    font-size: 1.32rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.005em;
    margin: 2.2rem 0 0.8rem !important;
    padding-top: 1.4rem;
    border-top: 1px solid var(--av-line);
    scroll-margin-top: 96px;
}
.av .gen-prose > h2:first-child, .av .gen-prose > :first-child h2:first-child { margin-top: 0.2rem !important; padding-top: 0; border-top: 0; }
.av .gen-prose h3 { color: var(--av-ink); font-size: 1.08rem; line-height: 1.35; margin: 1.4rem 0 0.5rem; }
.av .gen-prose code { font-family: var(--av-mono); font-size: 0.92em; color: var(--av-cyan); }
.av .gen-prose table { width: 100%; border-collapse: collapse; }
.av .gen-prose th, .av .gen-prose td { border-bottom: 1px solid var(--av-line); }
.av .gen-prose div[style*="overflow-x"] { -webkit-overflow-scrolling: touch; }
.av .gen-prose img, .av .gen-prose svg { max-width: 100%; height: auto; }

/* call-to-action card at the end of a guide */
.av .see-it-live-card {
    margin: 1.5rem 0 0 !important;
    padding: 1.25rem 1.4rem !important;
    border: 1px solid rgba(0, 240, 255, 0.32) !important;
    border-top: 3px solid var(--av-cyan) !important;
    border-radius: var(--av-radius) !important;
    background: linear-gradient(180deg, rgba(0, 240, 255, 0.07), transparent 60%), var(--av-panel) !important;
}
.av .see-it-live-card .btn-launch { border-radius: 10px !important; }

/* author / credibility block */
.av .gen-author { display: flex; gap: 0.9rem; align-items: center; margin: 2rem 0 0.5rem; padding: 1rem 1.15rem; border: 1px solid rgba(255, 215, 0, 0.22); border-radius: 12px; background: rgba(255, 215, 0, 0.04); }
.av .gen-author-ico { font-size: 1.9rem; line-height: 1; flex: none; }
.av .gen-author h4 { color: var(--av-gold); margin: 0 0 0.25rem; font-size: 0.95rem; }
.av .gen-author p { color: var(--av-ink-3); font-size: 0.86rem; margin: 0; line-height: 1.5; }

/* ---------- weekly COT date pages ---------- */
.av .gen-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 1.25rem; align-items: start; }
.av .gen-card-head { display: flex; gap: 0.65rem; align-items: center; margin: 0 0 1rem; }
.av .gen-card-head .av-sec-num { margin-top: 0; }
.av .gen-card-title { font-size: 1.02rem !important; font-weight: 800; color: var(--av-ink) !important; margin: 0 !important; letter-spacing: 0; text-transform: none; }
.av .archive-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.75rem; margin: 0; }
.av .archive-stat-card { background: var(--av-panel-2); border: 1px solid var(--av-line); border-radius: 12px; padding: 0.95rem 1rem; min-width: 0; }
.av .archive-stat-card > div:first-child { font-size: 0.72rem !important; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--av-ink-3) !important; margin-bottom: 0.3rem; }
.av .archive-stat-card > div:last-child { font-family: var(--av-mono); font-size: 1.32rem !important; overflow-wrap: anywhere; }
.av .gen-signal { margin-top: 1rem; }
.av .gen-analysis p { color: var(--av-ink-2) !important; line-height: 1.75 !important; margin: 0 0 1rem; }
.av .gen-callout { border-left: 3px solid var(--av-gold); background: rgba(255, 215, 0, 0.05); border-radius: 0 10px 10px 0; padding: 1rem 1.1rem; margin: 0 0 1rem; color: var(--av-ink-2); font-size: 0.95rem; line-height: 1.65; }
.av .archive-nav { display: flex !important; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; max-width: none !important; margin: 1.5rem 0 0 !important; padding: 1.25rem 0 0 !important; border-top: 1px solid var(--av-line) !important; }
.av .archive-nav .av-btn { min-width: 0; }
.av .archive-nav .gen-nav-off { color: var(--av-ink-3); font-size: 0.9rem; padding: 0.8rem 0.25rem; }
.av .signal-badge { border-radius: 999px; padding: 0.3rem 0.75rem; font-size: 0.74rem; margin-bottom: 0; }

/* ---------- archive grid page ---------- */
.av .gen-guide { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 0 1rem; border-color: rgba(0, 240, 255, 0.28); }
.av .gen-guide-title { font-weight: 800; color: var(--av-ink); font-size: 1.02rem; margin-bottom: 0.2rem; }
.av .gen-guide-sub { color: var(--av-ink-3); font-size: 0.88rem; }
.av .gen-filterbar { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: center; justify-content: space-between; margin: 0 0 1.25rem; padding: 0.85rem 1rem; }
.av .gen-pills { display: flex; gap: 0.5rem; flex-wrap: wrap; min-width: 0; }
.av .gen-pill { font: 700 0.85rem var(--av-sans); color: var(--av-ink-2); background: rgba(255, 255, 255, 0.03); border: 1px solid var(--av-line-strong); border-radius: 999px; padding: 0.45rem 0.95rem; cursor: pointer; white-space: nowrap; transition: background .15s, color .15s, border-color .15s; }
.av .gen-pill:hover { border-color: var(--av-cyan); color: var(--av-ink); }
.av .gen-pill.is-active { background: rgba(0, 240, 255, 0.14); color: var(--av-cyan); border-color: rgba(0, 240, 255, 0.5); }
.av .gen-strip { font-family: var(--av-mono); font-size: 0.84rem; color: var(--av-gold); }
.av .archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important; gap: 0.9rem; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.av .archive-card { background: linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 40%), var(--av-panel) !important; border: 1px solid var(--av-line) !important; border-radius: var(--av-radius) !important; padding: 1.05rem 1.1rem !important; min-width: 0; }
.av .archive-card:hover { border-color: rgba(255, 215, 0, 0.45) !important; transform: translateY(-2px); }
.av .archive-card > div:first-child > div:first-child { font-family: var(--av-mono); }

/* ---------- phones and tablets ---------- */
@media (max-width: 1024px) {
    .av .wiki-layout.gen-wiki { grid-template-columns: minmax(0, 1fr); }
    .av .gen-wiki .wiki-sidebar { position: static; }
}
@media (max-width: 860px) {
    .av .gen-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .av .gen-hero { padding: 1.5rem 1.1rem 1.25rem; }
    .av .gen-article { padding: 1.2rem 1.05rem 1.3rem; }
    .av .gen-prose { font-size: 0.98rem; }
    .av .gen-pills { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 2px; max-width: 100%; }
    .av .gen-filterbar { padding: 0.75rem; }
    .av .archive-nav .av-btn { flex: 1 1 0; }
    .av .archive-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 380px) {
    .av .archive-stat-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

.av .gen-top { padding-top: 0.5rem; }
