/* Theme variants — anti-fingerprint via distinct fonts + header styles per site.
   Served as static asset (Astro copies public/ verbatim, skipping Vite CSS processing).
   Each site's brand.theme picks one variant via body class. */

/* MODERN — Inter/system sans, flat cards, uppercase nav, dark hero */
body.theme-modern { font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
body.theme-modern h1, body.theme-modern h2, body.theme-modern h3 { font-family: inherit; letter-spacing: -.025em; font-weight: 800; }
body.theme-modern .site-header { background: #fff; border-bottom: 2px solid var(--primary); }
body.theme-modern .nav a { text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; font-weight: 700; }
body.theme-modern .hero { background: var(--primary); }
body.theme-modern .hero h1 { color: #fff; font-size: 2.1rem; }
body.theme-modern .hero .lede { color: rgba(255,255,255,.82); }
body.theme-modern .hero-chip { color: #fff; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.28); }
body.theme-modern .card-post { border-radius: 4px; box-shadow: none; border: 1px solid var(--line); }
body.theme-modern .card-post:hover { border-color: var(--primary); transform: none; }

/* CLASSIC — Serif italic headings, spacious */
body.theme-classic { font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; font-size: 18px; }
body.theme-classic h1, body.theme-classic h2, body.theme-classic h3 { font-family: "Didot", Garamond, "Times New Roman", serif; font-weight: 600; letter-spacing: -.01em; }
body.theme-classic h1 { font-size: 2.2rem; font-style: italic; }
body.theme-classic .site-header { background: #faf7f2; border-bottom: 1px solid #d9cfc0; }
body.theme-classic .nav a { font-family: "Iowan Old Style", Georgia, serif; font-style: italic; font-weight: 500; opacity: .95; }
body.theme-classic .card-post { border-radius: 2px; border: 1px solid #d9cfc0; }
body.theme-classic .card-post h3 { font-family: Didot, Garamond, serif; font-weight: 500; }

/* OUTDOOR — Dark header, bold uppercase H2, chunky shadow cards */
body.theme-outdoor { font-family: "Charter", Cambria, Georgia, serif; }
body.theme-outdoor h1, body.theme-outdoor h2, body.theme-outdoor h3 { font-family: "Helvetica Neue", Arial, sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; }
body.theme-outdoor h2 { border-bottom: 3px solid var(--accent); padding-bottom: .3rem; display: inline-block; }
body.theme-outdoor .site-header { background: var(--primary); }
body.theme-outdoor .site-header a { color: #fff; }
body.theme-outdoor .nav a { color: rgba(255,255,255,.85); text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 800; font-family: "Helvetica Neue", sans-serif; }
body.theme-outdoor .hero { border-bottom: 4px solid var(--accent); }
body.theme-outdoor .card-post { border-radius: 0; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--accent); }
body.theme-outdoor .card-post:hover { transform: translate(-3px,-3px); box-shadow: 9px 9px 0 var(--accent); }

/* BOLD — Black header, chunky uppercase, monospace nav */
body.theme-bold { font-family: "Helvetica Neue", Arial, sans-serif; }
body.theme-bold h1, body.theme-bold h2, body.theme-bold h3 { font-family: inherit; font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; line-height: 1.05; }
body.theme-bold h1 { font-size: 2.2rem; }
body.theme-bold h2 { font-size: 1.7rem; }
body.theme-bold .site-header { background: #000; border-bottom: 0; }
body.theme-bold .site-header a { color: #fff; }
body.theme-bold .nav a { color: #fff; font-family: "SF Mono", Menlo, "Courier New", monospace; font-size: .82rem; font-weight: 600; text-transform: none; }
body.theme-bold .hero { background: #000; }
body.theme-bold .hero h1, body.theme-bold .hero .lede { color: #fff; }
body.theme-bold .hero .lede { opacity: .75; }
body.theme-bold .hero-chip { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); border-radius: 0; }
body.theme-bold .card-post { border-radius: 0; border: 1px solid var(--ink); box-shadow: none; }

/* TECH — Compact sans, subtle nav pills, tighter type */
body.theme-tech { font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 16px; }
body.theme-tech h1, body.theme-tech h2, body.theme-tech h3 { font-family: inherit; font-weight: 700; letter-spacing: -.02em; }
body.theme-tech h1 { font-size: 2rem; }
body.theme-tech .site-header { background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
body.theme-tech .nav a { font-size: .84rem; font-weight: 500; padding: .3rem .7rem; border-radius: 6px; opacity: 1; }
body.theme-tech .nav a:hover { background: #e2e8f0; }
body.theme-tech .card-post { border-radius: 12px; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06); }

/* ESPRESSO — Warm cream background, double-line header, italic nav */
body.theme-espresso { font-family: "Iowan Old Style", Georgia, serif; background: #fdfaf3; }
body.theme-espresso h1, body.theme-espresso h2, body.theme-espresso h3 { font-family: "Baskerville", "Book Antiqua", Georgia, serif; font-weight: 600; }
body.theme-espresso h1 { font-size: 2.2rem; letter-spacing: -.015em; }
body.theme-espresso h2 { font-style: italic; }
body.theme-espresso .site-header { background: #f5efe1; border-bottom: 3px double #c8a878; }
body.theme-espresso .nav a { font-family: "Baskerville", Georgia, serif; font-style: italic; text-transform: lowercase; font-size: 1rem; }
body.theme-espresso .card-post { border-radius: 3px; background: #fefcf7; border-color: #e7dcc4; }

/* GARDEN — Natural greens, rounded cards */
body.theme-garden { font-family: "Charter", Cambria, Georgia, serif; }
body.theme-garden h1, body.theme-garden h2, body.theme-garden h3 { font-family: inherit; font-weight: 700; letter-spacing: -.01em; }
body.theme-garden .nav a { font-weight: 600; }
body.theme-garden .card-post { border-radius: 18px; background: #fff; }
body.theme-garden .card-post:hover { border-color: var(--primary); }

/* EDC — Dark navbar, tactical/mono nav, chevron H2 */
body.theme-edc { font-family: -apple-system, "Segoe UI", Roboto, sans-serif; }
body.theme-edc h1, body.theme-edc h2, body.theme-edc h3 { font-family: inherit; font-weight: 700; letter-spacing: -.015em; }
body.theme-edc .site-header { background: var(--ink); }
body.theme-edc .site-header a { color: #fff; }
body.theme-edc .nav a { color: rgba(255,255,255,.75); font-family: "SF Mono", Menlo, monospace; text-transform: uppercase; font-size: .74rem; letter-spacing: .1em; }
body.theme-edc .hero { border-top: 3px solid var(--accent); }
body.theme-edc .card-post { border-radius: 2px; border: 1px solid var(--ink); box-shadow: none; }

/* MOBILE FIX — themes có header TỐI (outdoor/bold/edc): nav pill trên mobile phải nền tối-trong,
   nếu không sẽ là chữ trắng trên nền sáng var(--soft) (khó đọc). */
@media (max-width: 680px) {
  body.theme-outdoor .nav a,
  body.theme-bold .nav a,
  body.theme-edc .nav a {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.24);
    letter-spacing: .02em !important;
  }
}
