/* ── Thriller Theme ────────────────────────────────────────────────────────────
   Stark, high-contrast, tense. Near-black backgrounds, blood-red accents,
   condensed uppercase headlines like a case file or a movie poster.
   Fonts: Oswald / Source Sans 3.
   Loaded on top of default.css — overrides variables plus a few signature touches.
   ─────────────────────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
    color-scheme: dark;
    --t-bg:             #0a0a0a;
    --t-bg-alt:         #121212;
    --t-surface:        #1a1a1a;
    --t-border:         #2e2e2e;
    --t-text:           #ececec;
    --t-text-muted:     #9a9a9a;
    --t-accent:         #e02a2a;
    --t-accent-hover:   #ff4242;
    --t-accent-light:   #2a0a0a;
    --t-on-accent:      #ffffff;
    --t-heading-font:   'Oswald', 'Arial Narrow', sans-serif;
    --t-heading-weight: 600;
    --t-body-font:      'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
    --t-ui-font:        'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
    --t-radius:         0;
    --t-radius-lg:      2px;
    --t-shadow:         0 2px 12px rgba(0, 0, 0, .8);
    --t-shadow-lg:      0 8px 32px rgba(0, 0, 0, .95);
    --t-cover-shadow:   0 6px 18px rgba(0, 0, 0, .8), 0 0 0 1px #2e2e2e;
    --t-hero-bg:        radial-gradient(ellipse at 75% 50%, rgba(160, 0, 0, .35) 0%, transparent 55%), linear-gradient(160deg, #000 0%, #120000 60%, #1e0505 100%);
    --t-hero-text:      #ffffff;
    --t-hero-muted:     rgba(255, 255, 255, .78);
    --t-hero-accent:    #ff4d4d;
    --t-success:        #7ed492;
    --t-error:          #ff6b6b;
}

/* Headline type: condensed, uppercase, tight */
.section-heading, .hero-name, .newsletter-title, .footer-name, .nav-brand,
.book-detail-title, .post-detail-title, .event-detail-title {
    text-transform: uppercase;
    letter-spacing: .02em;
}
.hero-name { font-size: clamp(2.75rem, 8vw, 5.5rem); line-height: .98; font-weight: 700; }
.hero-tagline { font-style: normal; }
.hero-genre, .hero-feature-label { letter-spacing: .24em; }

/* Redacted-bar heading rule */
.section-heading::after {
    width: 56px;
    height: 4px;
    border-radius: 0;
}

/* Uppercase labels for tension */
.book-badge--soon, .event-type-badge, .event-format-badge, .product-type-badge, .world-tag, .post-tag {
    text-transform: uppercase;
    letter-spacing: .07em;
}

.book-card:hover { transform: translateY(-2px); }
.book-card:hover .book-cover-wrap,
.post-card:hover,
.product-card:hover {
    box-shadow: 0 6px 28px rgba(224, 42, 42, .35), 0 2px 8px rgba(0, 0, 0, .8);
}
.book-detail-cover { box-shadow: 0 8px 32px rgba(0, 0, 0, .9), 0 0 0 1px var(--t-border); }

.review-stars { color: var(--t-accent); }
.review-text { font-style: normal; }

.hero-cta { border-color: rgba(224, 42, 42, .6); }
.hero-cta:hover { background: rgba(224, 42, 42, .2); border-color: var(--t-accent); }

.newsletter-cta { background: var(--t-accent); color: var(--t-on-accent); }
.newsletter-cta:hover { background: var(--t-accent-hover); color: var(--t-on-accent); }

/* ── Signature touches (as shown in the theme demo) ──────────────────────────*/

/* Surveillance-footage scanlines over the hero */
.site-section--hero::before {
    background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 3px);
}
