/* ============================================================
   THE FAME ASCO MUMBAI
   Exact match of Lovable Tailwind design system
   Dark editorial • Gold accents • Playfair Display
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=Inter:wght@300;400;500;600&family=Space+Mono:wght@400;700&display=swap');

/* ── CSS Variables matching Lovable's Tailwind theme ── */
:root {
  /* Core backgrounds */
  --background:    hsl(222, 47%, 6%);    /* bg-background */
  --primary:       hsl(222, 47%, 4%);    /* bg-primary */
  --surface-warm:  hsl(30, 15%, 8%);     /* bg-surface-warm */
  --secondary:     hsl(222, 20%, 15%);   /* bg-secondary */
  --card:          hsl(222, 30%, 9%);    /* card bg */
  --border:        rgba(255,255,255,0.08); /* border-border */

  /* Gold system */
  --gold:          #D4AF6A;              /* text-gold */
  --gold-light:    #E8CB8A;              /* text-gold-light */
  --gold-bg:       rgba(212,175,106,0.1);
  --gold-border:   rgba(212,175,106,0.25);

  /* Text */
  --foreground:         hsl(40, 20%, 94%);   /* text-foreground */
  --foreground-70:      rgba(240,237,232,0.7);
  --foreground-80:      rgba(240,237,232,0.8);
  --muted-foreground:   rgba(240,237,232,0.5); /* text-muted-foreground */
  --primary-foreground: hsl(40, 20%, 96%);    /* text-primary-foreground */

  /* Fonts */
  --font-headline: 'Playfair Display', Georgia, serif;
  --font-body:     'Inter', system-ui, sans-serif;
  --font-mono:     'Space Mono', monospace;

  --ease: 0.25s cubic-bezier(0.4,0,0.2,1);
}

/* ── Base reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-body);
  background: var(--background);
  color: var(--foreground);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* ────────────────────────────────
   LAYOUT UTILITIES
   (matching Lovable's editorial-container)
──────────────────────────────── */
.editorial-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }

/* ────────────────────────────────
   TYPOGRAPHY (matching Lovable headline-* classes)
──────────────────────────────── */
.headline-xl {
  font-family: var(--font-headline);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.5px;
  color: var(--foreground);
}
.headline-lg {
  font-family: var(--font-headline);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.3px;
  color: var(--foreground);
}
.headline-md {
  font-family: var(--font-headline);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--foreground);
}
.headline-sm {
  font-family: var(--font-headline);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--foreground);
}
.font-headline { font-family: var(--font-headline); }
.font-body     { font-family: var(--font-body); }
.font-mono     { font-family: var(--font-mono); }
.text-gold       { color: var(--gold); }
.text-gold-light { color: var(--gold-light); }
.text-muted      { color: var(--muted-foreground); }

/* ────────────────────────────────
   GOLD ACCENT LINES
   (matching Lovable gold-accent-line classes)
──────────────────────────────── */
.gold-accent-line {
  width: 60px;
  height: 2px;
  background: var(--gold);
  border-radius: 1px;
}
.gold-accent-line-wide {
  width: 120px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), transparent);
  border-radius: 1px;
}

/* ────────────────────────────────
   CATEGORY TAG (matching Lovable category-tag)
──────────────────────────────── */
.category-tag {
  display: inline-block;
  padding: 3px 12px;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  border-radius: 2px;
  background: var(--gold-bg);
  color: var(--gold);
  border: 1px solid var(--gold-border);
  font-family: var(--font-mono);
}
/* Per-category colours */
.cat-badge { display: inline-block; padding: 3px 10px; font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; border-radius: 2px; background: var(--gold-bg); color: var(--gold); border: 1px solid var(--gold-border); font-family: var(--font-mono); }
.cat-technology         { background:rgba(29,78,216,.15);   color:#60A5FA; border-color:rgba(96,165,250,.25); }
.cat-film-ott           { background:rgba(124,58,237,.15);  color:#A78BFA; border-color:rgba(167,139,250,.25); }
.cat-sports             { background:rgba(5,150,105,.15);   color:#34D399; border-color:rgba(52,211,153,.25); }
.cat-education-lifestyle{ background:rgba(217,119,6,.15);   color:#FCD34D; border-color:rgba(252,211,77,.25); }
.cat-international      { background:var(--gold-bg);        color:var(--gold); border-color:var(--gold-border); }
.cat-environment        { background:rgba(22,163,74,.15);   color:#4ADE80; border-color:rgba(74,222,128,.25); }
.cat-business           { background:rgba(3,105,161,.15);   color:#38BDF8; border-color:rgba(56,189,248,.25); }
.cat-opinion            { background:rgba(147,51,234,.15);  color:#C084FC; border-color:rgba(192,132,252,.25); }
.cat-animation          { background:rgba(234,88,12,.15);   color:#FB923C; border-color:rgba(251,146,60,.25); }
.cat-media              { background:rgba(15,118,110,.15);  color:#2DD4BF; border-color:rgba(45,212,191,.25); }
.cat-national           { background:rgba(180,83,9,.15);    color:#FBBF24; border-color:rgba(251,191,36,.25); }
.cat-magazine           { background:rgba(190,24,93,.15);   color:#F472B6; border-color:rgba(244,114,182,.25); }
.cat-student-blogs      { background:rgba(14,116,144,.15);  color:#22D3EE; border-color:rgba(34,211,238,.25); }

/* ────────────────────────────────
   TOP BAR
──────────────────────────────── */
.top-bar {
  background: var(--primary);
  border-bottom: 1px solid var(--border);
  padding: 8px 0;
  font-size: 0.72rem;
  color: var(--muted-foreground);
  font-family: var(--font-mono);
}
.top-bar .editorial-container { display:flex; justify-content:space-between; align-items:center; }
.top-bar-left  { display:flex; align-items:center; gap:8px; }
.top-bar-left i { color:var(--gold); font-size:.55rem; }
.top-bar-right { display:flex; align-items:center; gap:2px; }
.top-bar-right a {
  color: var(--muted-foreground);
  padding: 4px 12px;
  font-size: 0.68rem; font-weight: 400;
  letter-spacing: 0.5px; text-transform: uppercase;
  transition: color var(--ease);
  display: flex; align-items: center; gap: 5px;
}
.top-bar-right a:hover { color: var(--gold); }

/* ────────────────────────────────
   NAVBAR
──────────────────────────────── */
.site-header {
  background: var(--primary);
  border-bottom: 1px solid var(--border);
  position: relative;
}
.site-header::after {
  content: '';
  position: absolute; bottom:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
}
.site-header .editorial-container {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:20px; padding-bottom:20px;
}
.brand a { display:flex; flex-direction:column; gap:3px; }
.brand-logo {
  font-family: var(--font-headline);
  font-size: 2.6rem; font-weight: 900; line-height: 1; letter-spacing: -2px;
  display: flex; align-items: baseline; gap: 5px;
}
.brand-the  { color: var(--muted-foreground); font-size:.9rem; font-weight:400; letter-spacing:4px; text-transform:uppercase; font-family:var(--font-mono); }
.brand-fame { color: var(--foreground); }
.brand-asco { color: var(--gold); }
.brand-location { font-family:var(--font-mono); font-size:.58rem; color:var(--gold); letter-spacing:5px; text-transform:uppercase; opacity:.65; }
.header-tagline { font-size:.75rem; color:var(--muted-foreground); font-style:italic; }

/* Nav */
.main-nav {
  background: var(--primary);
  border-bottom: 1px solid var(--border);
  position: sticky; top:0; z-index:200;
}
.main-nav .editorial-container { display:flex; align-items:stretch; }
.nav-list { display:flex; list-style:none; overflow-x:auto; scrollbar-width:thin; scrollbar-color: rgba(212,175,106,0.3) transparent; flex:1; }
.nav-list::-webkit-scrollbar { display:none; }
.nav-list li a {
  display:block; color:var(--muted-foreground);
  padding:13px 14px; font-size:.72rem; font-weight:500;
  letter-spacing:.6px; white-space:nowrap; text-transform:uppercase;
  font-family:var(--font-mono);
  transition:color var(--ease), background var(--ease);
  position:relative;
}
.nav-list li a::after {
  content:''; position:absolute; bottom:0; left:50%; right:50%;
  height:2px; background:var(--gold);
  transition:left var(--ease), right var(--ease);
}
.nav-list li a:hover, .nav-list li a.active { color:var(--gold); }
.nav-list li a:hover::after, .nav-list li a.active::after { left:0; right:0; }
.nav-toggle { display:none; background:none; border:none; color:var(--foreground); font-size:1.1rem; padding:13px 16px; cursor:pointer; }

/* ────────────────────────────────
   HERO SECTION
──────────────────────────────── */
.hero-section { background: var(--background); padding: 0; }
.hero-wrapper { padding: 28px 0 36px; }
.hero-grid { display:grid; grid-template-columns:1.7fr 1fr; gap:16px; }

.hero-main { position:relative; border-radius:3px; overflow:hidden; min-height:460px; }
.hero-main > a { display:block; height:100%; min-height:460px; position:relative; }
.hero-img {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:transform 0.8s ease;
}
.hero-main > a:hover .hero-img { transform:scale(1.03); }
.hero-img-placeholder { position:absolute; inset:0; background:linear-gradient(135deg,var(--primary),var(--card)); }

/* gradient-to-t from-primary/90 via-primary/50 to-transparent */
.hero-content {
  position:absolute; bottom:0; left:0; right:0;
  background: linear-gradient(to top,
    hsla(222,47%,4%,0.92) 0%,
    hsla(222,47%,4%,0.55) 50%,
    transparent 100%);
  padding: 56px 28px 28px; color: var(--primary-foreground);
}
.hero-content .category-tag { margin-bottom: 10px; }
.hero-content h1 {
  font-family: var(--font-headline);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700; line-height:1.25; margin:10px 0 12px; letter-spacing:-.5px;
}
.hero-content p   { font-size:.9rem; color:var(--foreground-70); margin-bottom:14px; line-height:1.65; }
.hero-meta { display:flex; gap:18px; font-size:.72rem; color:var(--muted-foreground); font-family:var(--font-mono); }
.hero-meta i { color:var(--gold); margin-right:4px; }

.hero-side { display:flex; flex-direction:column; gap:8px; }
.hero-side-item {
  display:flex; flex:1; min-height:98px;
  background:var(--card); border:1px solid var(--border); border-radius:3px; overflow:hidden;
  transition:border-color var(--ease), transform var(--ease);
}
.hero-side-item:hover { border-color:var(--gold-border); transform:translateX(3px); }
.hero-side-img { width:110px; min-width:110px; background-size:cover; background-position:center; }
.hero-side-body { padding:13px 15px; display:flex; flex-direction:column; justify-content:center; gap:6px; }
.hero-side-body h3 { font-family:var(--font-headline); font-size:.9rem; line-height:1.4; color:var(--foreground); font-weight:600; }
.hero-meta-small  { font-size:.65rem; color:var(--muted-foreground); font-family:var(--font-mono); }

/* ────────────────────────────────
   TOP STORIES SECTION
──────────────────────────────── */
.top-stories { padding:48px 0; background:var(--background); }
.section-heading {
  display:flex; align-items:center; gap:16px; margin-bottom:32px;
}
.section-heading h2 { font-family:var(--font-headline); font-size:1.5rem; font-weight:700; color:var(--foreground); }
.section-heading-line { flex:1; height:1px; background:var(--border); }
.section-heading a { font-size:.68rem; color:var(--gold); font-family:var(--font-mono); letter-spacing:1px; text-transform:uppercase; white-space:nowrap; }
.section-heading a:hover { opacity:.7; }

/* ────────────────────────────────
   ARTICLE CARDS
──────────────────────────────── */
.articles-grid   { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; }
.articles-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.articles-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

/* also keep .article-grid for back-compat */
.article-grid   { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.article-grid-3 { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.article-grid-4 { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }

/* ── Article Card — matches Lovable screenshots exactly ──
   Image on top, WHITE card body, gold category tag, dark title */
.article-card {
  background: #FFFFFF;       /* white card body like screenshots */
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06);
  transition: transform var(--ease), box-shadow var(--ease);
  box-shadow: 0 2px 12px rgba(0,0,0,0.35);
}
.article-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
}
.card-img-wrap { position:relative; overflow:hidden; height:200px; }
.card-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.article-card:hover .card-img-wrap img { transform:scale(1.05); }
/* Category tag sits BELOW the image, inside the white body */
.card-img-wrap .cat-badge,.card-img-wrap .category-tag { position:absolute; top:12px; left:12px; z-index:1; }
.card-img-placeholder {
  width:100%; height:100%;
  background:linear-gradient(135deg,#1A1D26,#2A2D3A);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.1); font-size:2.5rem;
}

/* WHITE card body — dark text on white (like screenshots) */
.card-body { padding:18px 20px 20px; background:#fff; }

/* Category tag INSIDE card body — gold, small caps */
.card-cat-label {
  font-size:.65rem; font-weight:700; text-transform:uppercase;
  letter-spacing:1.2px; color:var(--gold); font-family:var(--font-mono);
  margin-bottom:10px; display:block;
}

/* Title — dark on white, serif */
.card-body h3 {
  font-family: var(--font-headline);
  font-size: 1.05rem; line-height:1.45; margin-bottom:10px;
  color: #111111;          /* dark title on white card */
  font-weight:700;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  transition:color var(--ease);
}
.article-card:hover .card-body h3 { color:var(--gold); }

/* Excerpt — gray on white */
.card-body p {
  font-size:.83rem; color:#555;
  margin-bottom:14px; line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* Meta — "Author • Date" format like screenshots */
.card-meta {
  display:flex; align-items:center; gap:8px;
  font-size:.72rem; color:#888;
  font-family:var(--font-body);
  flex-wrap:wrap;
}
.card-meta-dot { color:#D4AF6A; font-size:.5rem; }
.card-meta i { color:var(--gold); margin-right:3px; }

/* ────────────────────────────────
   CATEGORY SECTION with PARALLAX
   Exact match of Lovable CategorySection component:
   isParallax → bg-fixed div + bg-primary/80 overlay
   !isParallax → plain bg-background section
──────────────────────────────── */

/* PARALLAX variant */
.category-parallax {
  position: relative;
  padding: 60px 0;
  /* no overflow:hidden — required for bg-attachment:fixed */
}
.category-parallax .parallax-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* bg-fixed */
  will-change: transform;
}
.category-parallax .parallax-overlay {
  position: absolute;
  inset: 0;
  background: hsla(222,47%,4%,0.80); /* bg-primary/80 */
}
.category-parallax .category-content { position:relative; z-index:1; }

/* FLAT variant */
.category-flat {
  padding: 48px 0;
  background: var(--background);
  border-top: 1px solid var(--border);
}

/* Shared category header */
.category-section-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:28px; padding-bottom:16px; border-bottom:1px solid var(--border);
}
.category-section-header-left { display:flex; flex-direction:column; gap:10px; }
.category-section-header h2 { font-family:var(--font-headline); font-size:1.55rem; font-weight:700; color:var(--foreground); }
.category-section-header a { font-size:.68rem; color:var(--gold); font-family:var(--font-mono); letter-spacing:1px; text-transform:uppercase; white-space:nowrap; }
.category-section-header a:hover { opacity:.7; }

/* ────────────────────────────────
   CATEGORY PAGE HERO
   Exact match of CategoryPage.tsx:
   h-[250px] md:h-[350px] with bg-fixed
──────────────────────────────── */
.category-page-hero {
  position: relative;
  height: 350px;
}
.category-page-hero .hero-parallax-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* bg-fixed */
}
.category-page-hero .hero-overlay {
  position: absolute;
  inset: 0;
  background: hsla(222,47%,4%,0.80); /* bg-primary/80 */
}
.category-page-hero .hero-inner {
  position: relative;
  z-index: 10;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 40px;
}
.category-page-hero .back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .85rem;
  color: var(--gold);
  font-family: var(--font-body);
  margin-bottom: 14px;
  transition: color var(--ease);
}
.category-page-hero .back-link:hover { color: var(--gold-light); }
.category-page-hero h1 {
  font-family: var(--font-headline);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  color: var(--primary-foreground);
  letter-spacing: -.5px;
  line-height: 1.2;
  margin-bottom: 12px;
}

/* ────────────────────────────────
   ARTICLE PAGE
   Exact match of ArticlePage.tsx:
   h-[300px] md:h-[450px] full image
──────────────────────────────── */
.article-page-hero {
  position: relative;
  height: 450px;
}
.article-page-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.article-page-hero .hero-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    hsla(222,47%,4%,0.92) 0%,
    hsla(222,47%,4%,0.5)  50%,
    transparent           100%
  );
}
.article-page-hero .hero-placeholder {
  position:absolute; inset:0;
  background:linear-gradient(135deg,var(--primary),var(--card));
}
.article-page-hero .hero-text {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 40px 0;
}
.article-page-hero .back-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .85rem; color: var(--gold); font-family: var(--font-body);
  margin-bottom: 14px; transition: color var(--ease);
}
.article-page-hero .back-link:hover { color: var(--gold-light); }
.article-page-hero h1 {
  font-family: var(--font-headline);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--primary-foreground);
  line-height: 1.2;
  letter-spacing: -.5px;
  max-width: 860px;
}

/* Article meta bar */
.article-meta-bar {
  padding: 24px 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
}
.article-meta-bar .meta-inner {
  display:flex; flex-wrap:wrap; gap:24px;
  font-size:.88rem; font-family:var(--font-body); color:var(--muted-foreground);
  align-items:center;
}
.article-meta-bar i { color:var(--gold); margin-right:6px; }

/* Article body */
.article-body-wrap { padding: 40px 0; }
.article-max { max-width: 768px; margin: 0 auto; }
.article-excerpt-block {
  font-family: var(--font-body);
  font-size: 1.1rem;
  line-height: 1.75;
  color: var(--foreground-70);
  margin-bottom: 24px;
  font-style: italic;
  border-left: 2px solid var(--gold);
  padding-left: 16px;
}
.article-prose {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.9;
  color: var(--foreground-80);
}
.article-prose p { margin-bottom: 1.4em; }

/* Tags */
.article-tags { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--border); }
.article-tags-label { font-size:.72rem; text-transform:uppercase; letter-spacing:3px; color:var(--muted-foreground); margin-bottom:12px; font-family:var(--font-body); font-weight:600; }
.article-tags-list { display:flex; flex-wrap:wrap; gap:8px; }
.article-tag { padding:4px 14px; font-size:.78rem; font-family:var(--font-body); background:var(--secondary); color:var(--muted-foreground); border-radius:2px; }

/* Related stories section */
.related-stories {
  background: var(--surface-warm);
  padding: 48px 0;
}
.related-header {
  display:flex; align-items:center; gap:16px; margin-bottom:32px;
}
.related-header h2 { font-family:var(--font-headline); font-size:1.5rem; font-weight:700; color:var(--foreground); }
.related-header .divider { flex:1; height:1px; background:var(--border); }

/* ────────────────────────────────
   MAGAZINE SECTION
──────────────────────────────── */
.magazine-section { background: var(--surface-warm); padding:64px 0; position:relative; overflow:hidden; }
.magazine-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 80% 50%,rgba(212,175,106,.06),transparent 60%); pointer-events:none; }
.magazine-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.magazine-cover { position:relative; }
.magazine-cover img { border-radius:3px; box-shadow:0 24px 64px rgba(0,0,0,.7); border:1px solid var(--gold-border); max-width:360px; margin:0 auto; }
.magazine-text .eyebrow { font-family:var(--font-mono); font-size:.62rem; color:var(--gold); text-transform:uppercase; letter-spacing:3px; margin-bottom:16px; }
.magazine-text h2 { font-family:var(--font-headline); font-size:2rem; font-weight:700; line-height:1.25; color:var(--foreground); margin-bottom:12px; letter-spacing:-.4px; }
.magazine-text p  { font-size:.9rem; color:var(--muted-foreground); line-height:1.8; margin-bottom:28px; }
.magazine-links { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.magazine-link-item {
  display:flex; align-items:center; gap:14px; padding:14px;
  background:var(--card); border:1px solid var(--border); border-radius:3px;
  transition:border-color var(--ease);
}
.magazine-link-item:hover { border-color:var(--gold-border); }
.magazine-link-item h4 { font-family:var(--font-headline); font-size:.9rem; color:var(--foreground); line-height:1.4; margin-bottom:3px; }
.magazine-link-item small { font-size:.65rem; color:var(--muted-foreground); font-family:var(--font-mono); }

/* ────────────────────────────────
   BLOG SECTION
──────────────────────────────── */
.blog-section { padding:48px 0; background:var(--background); }

/* ────────────────────────────────
   AUTH PAGES
──────────────────────────────── */
.auth-page { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--background); position:relative; overflow:hidden; }
.auth-page::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%,rgba(212,175,106,.06),transparent 60%); pointer-events:none; }
.auth-wrapper { width:100%; max-width:460px; padding:20px; position:relative; z-index:1; }
.auth-box { background:var(--card); border-radius:3px; padding:44px 40px; border:1px solid var(--border); box-shadow:0 24px 80px rgba(0,0,0,.6); }
.auth-brand { text-align:center; margin-bottom:28px; }
.auth-brand .brand-logo { font-size:2rem; justify-content:center; }
.auth-brand .brand-location { justify-content:center; margin-top:4px; }
.auth-box h2 { font-family:var(--font-headline); font-size:1.5rem; text-align:center; margin-bottom:6px; color:var(--foreground); }
.auth-sub  { text-align:center; color:var(--muted-foreground); font-size:.85rem; margin-bottom:28px; }
.auth-form .form-group { margin-bottom:18px; }
.auth-form label { display:block; font-size:.68rem; font-weight:700; margin-bottom:8px; color:var(--muted-foreground); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.8px; }
.auth-form label i { color:var(--gold); margin-right:5px; }
.auth-form input { width:100%; padding:12px 15px; border:1px solid var(--border); border-radius:2px; font-size:.95rem; font-family:var(--font-body); transition:border-color var(--ease),box-shadow var(--ease); background:var(--secondary); color:var(--foreground); }
.auth-form input:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,175,106,.12); }
.input-icon-right { position:relative; }
.input-icon-right input { padding-right:44px; }
.toggle-pw { position:absolute; right:13px; top:50%; transform:translateY(-50%); cursor:pointer; color:var(--muted-foreground); font-size:.85rem; }
.auth-footer { text-align:center; margin-top:22px; font-size:.85rem; color:var(--muted-foreground); }
.auth-footer a { color:var(--gold); }
.auth-footer p { margin-bottom:8px; }
.demo-creds { margin-top:22px; background:var(--secondary); border:1px solid var(--border); border-radius:2px; padding:14px 16px; font-size:.7rem; line-height:2; color:var(--muted-foreground); font-family:var(--font-mono); }
.demo-creds strong { display:block; color:var(--gold); margin-bottom:4px; text-transform:uppercase; letter-spacing:1px; }

/* ────────────────────────────────
   ALERTS & BUTTONS
──────────────────────────────── */
.alert { padding:12px 16px; border-radius:2px; margin-bottom:16px; font-size:.88rem; display:flex; align-items:center; gap:10px; }
.alert i { flex-shrink:0; }
.alert-success { background:rgba(52,211,153,.1); color:#34D399; border:1px solid rgba(52,211,153,.2); }
.alert-error   { background:rgba(239,68,68,.1);  color:#F87171; border:1px solid rgba(239,68,68,.2); }

.btn { display:inline-flex; align-items:center; gap:8px; padding:11px 24px; border:none; border-radius:2px; font-size:.78rem; font-weight:600; font-family:var(--font-mono); cursor:pointer; transition:all var(--ease); text-decoration:none; text-transform:uppercase; letter-spacing:.8px; }
.btn-primary   { background:var(--gold); color:var(--primary); }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-1px); box-shadow:0 4px 20px rgba(212,175,106,.25); }
.btn-secondary { background:var(--secondary); color:var(--foreground); border:1px solid var(--border); }
.btn-secondary:hover { border-color:var(--gold-border); color:var(--gold); }
.btn-danger    { background:rgba(239,68,68,.15); color:#F87171; border:1px solid rgba(239,68,68,.2); }
.btn-block     { width:100%; justify-content:center; }
.btn-sm        { padding:7px 16px; font-size:.7rem; }

/* ────────────────────────────────
   STATUS BADGES
──────────────────────────────── */
.status-badge { display:inline-block; padding:3px 10px; border-radius:2px; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; font-family:var(--font-mono); }
.status-draft     { background:rgba(255,255,255,.06); color:var(--muted-foreground); border:1px solid var(--border); }
.status-pending   { background:rgba(251,191,36,.1);  color:#FBBF24; border:1px solid rgba(251,191,36,.2); }
.status-approved  { background:rgba(96,165,250,.1);  color:#60A5FA; border:1px solid rgba(96,165,250,.2); }
.status-published { background:rgba(52,211,153,.1);  color:#34D399; border:1px solid rgba(52,211,153,.2); }
.status-rejected  { background:rgba(239,68,68,.1);   color:#F87171; border:1px solid rgba(239,68,68,.2); }

/* ────────────────────────────────
   EMPTY STATE
──────────────────────────────── */
.empty-state { grid-column:1/-1; text-align:center; padding:80px 20px; color:var(--muted-foreground); }
.empty-state i { font-size:3rem; margin-bottom:20px; opacity:.15; display:block; }
.full-width { grid-column:1/-1; }

/* ────────────────────────────────
   PAGINATION
──────────────────────────────── */
.pagination { display:flex; gap:8px; justify-content:center; margin-top:48px; flex-wrap:wrap; }
.page-btn { padding:9px 18px; background:var(--card); border:1px solid var(--border); border-radius:2px; font-size:.78rem; color:var(--muted-foreground); cursor:pointer; transition:all var(--ease); text-decoration:none; font-family:var(--font-mono); }
.page-btn.active,.page-btn:hover { background:var(--gold); color:var(--primary); border-color:var(--gold); }

/* ────────────────────────────────
   FOOTER
──────────────────────────────── */
.site-footer { background:var(--primary); padding:64px 0 0; margin-top:80px; position:relative; border-top:1px solid var(--border); }
.site-footer::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:56px; }
.brand-logo-footer { font-family:var(--font-headline); font-size:1.9rem; font-weight:900; display:flex; align-items:baseline; gap:5px; margin-bottom:6px; }
.footer-tagline { font-family:var(--font-mono); font-size:.55rem; color:var(--gold); letter-spacing:5px; text-transform:uppercase; margin-bottom:16px; opacity:.6; }
.footer-brand p { font-size:.84rem; color:var(--muted-foreground); line-height:1.8; }
.footer-links h4,.footer-social h4 { color:var(--foreground); font-size:.65rem; font-weight:700; margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid var(--border); letter-spacing:2px; text-transform:uppercase; font-family:var(--font-mono); }
.footer-links ul { list-style:none; }
.footer-links li { margin-bottom:10px; }
.footer-links a { font-size:.84rem; color:var(--muted-foreground); transition:color var(--ease),padding-left var(--ease); display:inline-block; }
.footer-links a:hover { color:var(--gold); padding-left:5px; }
.social-icons { display:flex; gap:10px; flex-wrap:wrap; }
.social-icons a { width:38px; height:38px; border-radius:2px; background:var(--secondary); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--muted-foreground); font-size:.85rem; transition:all var(--ease); }
.social-icons a:hover { background:var(--gold-bg); border-color:var(--gold-border); color:var(--gold); transform:translateY(-2px); }
.footer-bottom { border-top:1px solid var(--border); text-align:center; padding:20px 0; font-size:.68rem; color:var(--muted-foreground); font-family:var(--font-mono); letter-spacing:.5px; }

/* ────────────────────────────────
   ANIMATIONS
──────────────────────────────── */
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

.hero-wrapper   { animation:fadeIn .5s ease; }
.top-stories    { animation:fadeUp .5s ease .05s both; }
.article-card { animation:fadeUp .45s ease both; }
.article-card:nth-child(1){animation-delay:.05s}
.article-card:nth-child(2){animation-delay:.10s}
.article-card:nth-child(3){animation-delay:.15s}
.article-card:nth-child(4){animation-delay:.20s}
.article-card:nth-child(5){animation-delay:.25s}
.article-card:nth-child(6){animation-delay:.30s}

/* ────────────────────────────────
   RESPONSIVE
──────────────────────────────── */
@media(max-width:1024px){
  .articles-grid-4 { grid-template-columns:repeat(2,1fr); }
  .magazine-grid   { grid-template-columns:1fr; gap:36px; }
  .magazine-cover img { max-width:260px; }
}
@media(max-width:960px){
  .hero-grid { grid-template-columns:1fr; }
  .hero-side { display:none; }
  .hero-main > a { min-height:380px; }
  .article-page-hero { height:300px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .articles-grid-3 { grid-template-columns:repeat(2,1fr); }
  .category-page-hero { height:250px; }
}
@media(max-width:640px){
  .brand-logo { font-size:2rem; }
  .footer-grid { grid-template-columns:1fr; }
  .articles-grid,.article-grid,.articles-grid-3 { grid-template-columns:1fr; }
  .nav-toggle { display:block; }
  .nav-list { display:none; flex-direction:column; width:100%; background:var(--primary); }
  .nav-list.open { display:flex; }
  .auth-box { padding:32px 22px; }
  .top-bar-right a:not(:last-child) { display:none; }
  .article-page-hero { height:260px; }
  .article-page-hero h1 { font-size:1.5rem; }
  .category-page-hero { height:220px; }
  .articles-grid-4 { grid-template-columns:1fr; }
}

/* ════════════════════════════════════════════
   LOADING SCREEN ANIMATION
════════════════════════════════════════════ */
#site-loader {
  position: fixed;
  inset: 0;
  background: #0A0E1A;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#site-loader.hide { opacity: 0; visibility: hidden; }
.loader-brand {
  font-family: var(--font-headline);
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: -1px;
  animation: loaderPulse 1.2s ease-in-out infinite;
}
.loader-brand .lf { color: #fff; }
.loader-brand .la { color: var(--gold); }
.loader-bar-wrap {
  width: 200px;
  height: 3px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
  overflow: hidden;
}
.loader-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--gold), #E8CB8A, var(--gold));
  border-radius: 2px;
  animation: loaderSlide 1.4s ease-in-out infinite;
}
.loader-text {
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--muted-foreground);
  animation: loaderFade 1.4s ease-in-out infinite;
}
@keyframes loaderPulse { 0%,100%{opacity:1} 50%{opacity:.7} }
@keyframes loaderSlide  { 0%{transform:translateX(-100%)} 100%{transform:translateX(200%)} }
@keyframes loaderFade   { 0%,100%{opacity:.4} 50%{opacity:1} }

/* ════════════════════════════════════════════
   CARD IMAGE — SMOOTH ZOOM ON HOVER (slower)
════════════════════════════════════════════ */
.card-img-wrap img {
  transition: transform 0.7s cubic-bezier(0.4,0,0.2,1) !important;
  will-change: transform;
}
.article-card:hover .card-img-wrap img {
  transform: scale(1.08) !important;
}

/* Card stagger animation — smoother, from bottom */
@keyframes cardRise {
  from { opacity:0; transform:translateY(28px) }
  to   { opacity:1; transform:translateY(0) }
}
.article-card {
  animation: cardRise 0.55s cubic-bezier(0.4,0,0.2,1) both !important;
}
.article-card:nth-child(1){animation-delay:.06s!important}
.article-card:nth-child(2){animation-delay:.12s!important}
.article-card:nth-child(3){animation-delay:.18s!important}
.article-card:nth-child(4){animation-delay:.24s!important}
.article-card:nth-child(5){animation-delay:.30s!important}
.article-card:nth-child(6){animation-delay:.36s!important}
.article-card:nth-child(7){animation-delay:.42s!important}
.article-card:nth-child(8){animation-delay:.48s!important}

/* Article hero image zoom */
.article-page-hero img {
  transition: transform 8s ease;
  transform: scale(1.0);
}
.article-page-hero:hover img { transform: scale(1.04); }

/* ════════════════════════════════════════════
   YOUTUBE + AUDIO SECTION
════════════════════════════════════════════ */
.media-section {
  padding: 56px 0;
  background: var(--bg-warm);
  position: relative;
}
.media-section::before {
  content: '';
  position: absolute; inset:0;
  background: radial-gradient(ellipse at 50% 0%, rgba(212,175,106,0.05), transparent 60%);
}
.media-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  position: relative; z-index:1;
}
.media-block {
  background: var(--card);
  border-radius: 8px;
  border: 1px solid var(--border);
  overflow: hidden;
  transition: border-color var(--ease);
}
.media-block:hover { border-color: var(--gold-border); }
.media-block-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 10px;
}
.media-block-header h3 {
  font-family: var(--font-headline);
  font-size: 1rem; color: var(--foreground); font-weight:600;
}
.media-block-header .media-icon { font-size: 1rem; }
.media-block-body { padding: 20px; }
.yt-frame-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: 5px;
  overflow: hidden;
  background: #000;
}
.yt-frame-wrap iframe {
  position: absolute; top:0; left:0;
  width:100%; height:100%;
}
.audio-player-wrap { display: flex; flex-direction: column; gap: 16px; }
.audio-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px; background: rgba(255,255,255,0.03);
  border-radius: 6px; border: 1px solid var(--border);
}
.audio-icon {
  width: 44px; height: 44px;
  background: var(--gold-bg); border-radius: 50%;
  display: flex; align-items:center; justify-content:center;
  color: var(--gold); font-size: 1rem; flex-shrink:0;
}
.audio-info { flex:1; }
.audio-info h4 { font-size:.9rem; color:var(--foreground); margin-bottom:4px; font-family:var(--font-headline); }
.audio-info p  { font-size:.72rem; color:var(--muted-foreground); margin-bottom:10px; }
.audio-info audio { width:100%; height:32px; }
audio::-webkit-media-controls-panel { background:#1A1D26; }

/* ════════════════════════════════════════════
   MAGAZINE VIEWER (Page-flip style)
════════════════════════════════════════════ */
.magazine-viewer-section { padding:56px 0; background:var(--primary); }
.mag-viewer-wrap {
  max-width:900px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center; gap:24px;
}
.mag-page-display {
  width:100%;
  aspect-ratio:3/4;
  max-height:600px;
  border-radius:4px;
  overflow:hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,0.8), inset 0 0 0 1px rgba(212,175,106,0.2);
  position:relative;
  background:#111;
}
.mag-page-img {
  width:100%; height:100%;
  object-fit:contain;
  transition: opacity 0.4s ease;
  background:#111;
}
.mag-page-img.fading { opacity:0; }
.mag-controls {
  display:flex; gap:16px; align-items:center;
}
.mag-btn {
  padding:10px 24px;
  background:var(--gold);
  color:var(--primary);
  border:none; border-radius:3px;
  font-family:var(--font-mono);
  font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.8px;
  cursor:pointer;
  transition:all var(--ease);
}
.mag-btn:hover { background:var(--gold-light); transform:translateY(-1px); }
.mag-btn:disabled { opacity:.3; cursor:not-allowed; transform:none; }
.mag-page-counter {
  font-family:var(--font-mono); font-size:.8rem;
  color:var(--muted-foreground); min-width:100px; text-align:center;
}
.mag-thumbs {
  display:flex; gap:10px; overflow-x:auto;
  padding-bottom:8px; scrollbar-width:thin;
  scrollbar-color:rgba(212,175,106,.3) transparent;
}
.mag-thumb {
  width:60px; height:80px; flex-shrink:0;
  object-fit:cover; border-radius:2px;
  border:2px solid transparent;
  cursor:pointer; opacity:.5;
  transition:all var(--ease);
}
.mag-thumb.active, .mag-thumb:hover { border-color:var(--gold); opacity:1; }

/* ════════════════════════════════════════════
   SEARCH BAR (public site)
════════════════════════════════════════════ */
.site-search-bar {
  background:rgba(255,255,255,0.04);
  border-bottom:1px solid var(--border);
  padding:10px 0;
}
.site-search-bar .editorial-container {
  display:flex; gap:8px; align-items:center;
}
.site-search-input {
  flex:1; max-width:500px;
  padding:9px 16px;
  background:var(--bg-surface);
  border:1px solid var(--border);
  border-radius:3px;
  font-family:var(--font-body);
  font-size:.88rem;
  color:var(--foreground);
  transition:border-color var(--ease);
}
.site-search-input:focus { outline:none; border-color:var(--gold); }
.site-search-btn {
  padding:9px 18px;
  background:var(--gold);
  color:var(--primary);
  border:none; border-radius:3px;
  font-size:.82rem; font-weight:700;
  font-family:var(--font-mono);
  text-transform:uppercase; letter-spacing:.5px;
  cursor:pointer; transition:background var(--ease);
}
.site-search-btn:hover { background:var(--gold-light); }

/* ── Article body formatting ── */
.article-prose h2,.article-prose h3,.article-prose h4 {
  font-family:var(--font-headline);
  color:var(--foreground);
  margin:1.5em 0 .7em;
}
.article-prose h2 { font-size:1.5rem; }
.article-prose h3 { font-size:1.2rem; }
.article-prose p  { text-align:justify; margin-bottom:1.4em; line-height:1.9; }
.article-prose img {
  max-width:100%; border-radius:4px;
  margin:20px 0; border:1px solid var(--border);
}
.article-prose a { color:var(--gold); text-decoration:underline; }
.article-prose blockquote {
  border-left:3px solid var(--gold);
  padding-left:20px; margin:20px 0;
  font-style:italic; color:var(--muted-foreground);
}
.article-prose ul,.article-prose ol { padding-left:24px; margin-bottom:1.2em; }
.article-prose li { margin-bottom:.5em; }
.article-prose table { width:100%; border-collapse:collapse; margin:16px 0; }
.article-prose th,.article-prose td { border:1px solid var(--border); padding:10px 14px; font-size:.9rem; }
.article-prose th { background:var(--bg-surface); color:var(--foreground); }

/* ── Image standards info box ── */
.image-standards-info {
  background:rgba(212,175,106,.08);
  border:1px solid rgba(212,175,106,.2);
  border-radius:4px;
  padding:10px 14px;
  font-size:.78rem;
  color:#6B7280;
  margin-bottom:12px;
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
.image-standards-info i { color:var(--gold); }

/* ── Char counter ── */
.char-counter { font-size:.7rem; color:#9CA3AF; text-align:right; margin-top:3px; }

@media(max-width:768px) {
  .media-grid { grid-template-columns:1fr; }
  .mag-page-display { aspect-ratio:auto; height:350px; }
  .mag-thumbs { display:none; }
}

/* ════════════════════════════════════════════
   BBM RADIO CARD — hover glow effect
════════════════════════════════════════════ */
.media-block:last-child {
  background: linear-gradient(160deg, #0D1020 0%, #12151F 100%);
}
.media-block:last-child:hover {
  border-color: rgba(212,175,106,.4);
  box-shadow: 0 0 32px rgba(212,175,106,.08);
}

/* ════════════════════════════════════════════
   MAGAZINE VIEWER — full immersive UI
════════════════════════════════════════════ */
.mag-viewer-section {
  background: #06080F;
  padding: 56px 0;
  position: relative;
}
.mag-viewer-section::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 50% 30%, rgba(212,175,106,.06), transparent 60%);
  pointer-events:none;
}
.mag-fullscreen-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  position: relative; z-index:1;
}
.mag-book-container {
  position: relative;
  width: 100%;
  max-width: 680px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(212,175,106,.2),
    0 40px 80px rgba(0,0,0,.9),
    -8px 8px 24px rgba(0,0,0,.6),
    8px 8px 24px rgba(0,0,0,.6);
}
/* Page spine shadow */
.mag-book-container::before {
  content:'';
  position:absolute;
  top:0; bottom:0; left:50%;
  width:3px;
  background: linear-gradient(to right, rgba(0,0,0,.5), rgba(0,0,0,.2), rgba(0,0,0,.5));
  z-index:2;
  transform: translateX(-50%);
}
.mag-main-img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: contain;
  object-position: center;
  display: block;
  background: #111;
  transition: opacity .35s ease;
}
.mag-main-img.fading { opacity: 0; }

/* Navigation controls */
.mag-nav-row {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 680px;
  justify-content: space-between;
}
.mag-nav-btn {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 24px;
  background: var(--gold);
  color: #0A0E1A;
  border: none; border-radius: 3px;
  font-family: var(--font-mono); font-size: .78rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: .8px;
  cursor: pointer;
  transition: all .2s;
  min-width: 120px; justify-content: center;
}
.mag-nav-btn:hover:not(:disabled) { background: var(--gold-light); transform: translateY(-1px); }
.mag-nav-btn:disabled { opacity: .25; cursor: not-allowed; transform: none; }
.mag-page-info {
  text-align: center;
  font-family: var(--font-mono);
  font-size: .8rem;
  color: var(--muted-foreground);
  line-height: 1.5;
}
.mag-page-info strong { color: var(--gold); font-size: 1rem; }

/* Thumbnail strip */
.mag-thumbstrip {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 680px;
  overflow-x: auto;
  padding: 8px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(212,175,106,.3) transparent;
}
.mag-thumbstrip img {
  width: 54px;
  height: 72px;
  object-fit: cover;
  border-radius: 2px;
  border: 2px solid transparent;
  cursor: pointer;
  opacity: .45;
  flex-shrink: 0;
  transition: all .2s;
}
.mag-thumbstrip img.active,
.mag-thumbstrip img:hover {
  border-color: var(--gold);
  opacity: 1;
}
.mag-keyboard-hint {
  font-family: var(--font-mono);
  font-size: .62rem;
  color: var(--fg-dim, rgba(240,237,232,.3));
  text-align: center;
  letter-spacing: .5px;
}
kbd {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 3px;
  padding: 2px 6px;
  font-size: .65rem;
}

/* Issue selector tabs */
.issue-tab {
  padding: 8px 18px;
  border-radius: 3px;
  font-size: .75rem;
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .5px;
  border: 1px solid var(--border);
  color: var(--muted-foreground);
  background: transparent;
  text-decoration: none;
  transition: all .2s;
  white-space: nowrap;
}
.issue-tab:hover { border-color: var(--gold-border); color: var(--gold); }
.issue-tab.active { border-color: var(--gold); color: var(--gold); background: var(--gold-bg); }

@media(max-width: 768px) {
  .mag-book-container { max-width: 100%; }
  .mag-nav-row { max-width: 100%; }
  .mag-thumbstrip { max-width: 100%; display: none; }
  .mag-nav-btn { padding: 11px 16px; font-size: .72rem; min-width: 90px; }
}
