/* ==========================================================================
   Ignition - locked sporty/high-energy theme (loaded AFTER vanilla).
   White page, jet-black bands, one vivid orange-red accent, oversized italic
   Archivo headings, sharp uppercase buttons with BLACK labels (white fails
   contrast on the orange).
     page #ffffff   bands #000   accent #ff3b1d   text #141414
   ========================================================================== */

.theme-ignition {
    --font-heading: 'Archivo', system-ui, -apple-system, sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;

    --color-accent: #ff3b1d;
    --color-accent-hover: #e02d12;

    --color-bg: #ffffff;
    --color-surface: #f4f4f5;
    --color-surface-dark: #000000;
    --color-border: #e2e2e4;

    --color-text: #141414;
    --color-text-secondary: #55555b;
    --color-text-muted: #2a2a2a;
    --color-text-on-dark: #ffffff;
    --color-text-on-dark-muted: #9a9a9f;

    --radius-sm: 2px;   /* sharp, mechanical */
    --radius-md: 4px;
    --radius-lg: 8px;
}

body.theme-ignition { background: var(--color-bg); }

/* Oversized, heavy, italic headings - the energy comes from the type. */
.theme-ignition h1,
.theme-ignition h2,
.theme-ignition h3,
.theme-ignition h4 { font-weight: 900; font-style: italic; letter-spacing: -0.025em; }
.theme-ignition .c-hero__title,
.theme-ignition .c-section-head__title,
.theme-ignition .c-services__title,
.theme-ignition .c-cta__title { text-transform: uppercase; }
.theme-ignition .c-hero__title { font-size: clamp(3rem, 7vw, 5.2rem); }

/* ===== BUTTONS: orange fill, BLACK label, hard uppercase ===== */
.theme-ignition .btn-primary,
.theme-ignition .btn--primary { color: #000; font-weight: 800; }
.theme-ignition .btn-primary:hover,
.theme-ignition .btn--primary:hover { background: var(--color-accent-hover); color: #000; }
.theme-ignition .btn,
.theme-ignition .btn-primary,
.theme-ignition .btn-secondary,
.theme-ignition .btn--primary,
.theme-ignition .btn--secondary { font-weight: 800; letter-spacing: 0.04em; }

/* ===== NAVBAR: solid black, white links, orange CTA (black label) ===== */
.theme-ignition .c-nav {
    background: #000;
    border-bottom: 2px solid var(--color-accent);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.theme-ignition .c-nav__logo,
.theme-ignition .c-nav__link { color: #fff; }
.theme-ignition .c-nav__link:hover { opacity: 0.62; }
.theme-ignition .c-nav__link--button { background: var(--color-accent); color: #000; }
.theme-ignition .c-nav__link--button:hover { background: var(--color-accent-hover); opacity: 1; }
.theme-ignition .c-nav__hamburger span { background: #fff; }
.theme-ignition .c-nav__mobile { background: rgba(0, 0, 0, 0.98); }
.theme-ignition .c-nav__mobile a { color: #fff; border-bottom-color: #2a2a2a; }

/* Eyebrows: black (orange fails small-text contrast on white). */
.theme-ignition .c-section-head__label,
.theme-ignition .c-services__label,
.theme-ignition .c-label { color: var(--color-text); }
.theme-ignition .c-hero__label { color: var(--color-accent); }
.theme-ignition .c-hero--image .c-hero__label { color: rgba(255, 255, 255, 0.92); }

/* Cards: crisp border, orange ring on hover. */
.theme-ignition .c-service-card:hover { border-color: var(--color-accent); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.10); }
.theme-ignition .c-pricing-index__card:hover { border-color: var(--color-accent); }

/* Forms: orange focus ring. */
.theme-ignition .field input:focus,
.theme-ignition .field select:focus,
.theme-ignition .field textarea:focus,
.theme-ignition .bk-search input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(255, 59, 29, 0.18);
}
/* Time-slot + booking selected states: orange fill, black label. */
.theme-ignition .slot-btn.is-selected { background: var(--color-accent); color: #000; border-color: var(--color-accent); }
.theme-ignition .bk-card.is-selected .bk-card__check,
.theme-ignition .bk-card--option:has(input:checked) .bk-card__check,
.theme-ignition .bk-upsell:has(input:checked) .bk-upsell__check { color: #000; }
.theme-ignition .bk-cart__toggle { color: #000; }
.theme-ignition .bk-cart__count { background: #000; color: var(--color-accent); }

/* Quote-CTA button on the black band: orange fill, black label. */
.theme-ignition .c-quote-cta .btn-primary,
.theme-ignition .c-quote-cta .btn--primary { background: var(--color-accent); color: #000; }
.theme-ignition .c-quote-cta .btn-primary:hover,
.theme-ignition .c-quote-cta .btn--primary:hover { background: var(--color-accent-hover); }

/* ===== HERO: solid-orange "banner" - black text + black buttons ===== */
.theme-ignition .c-hero--banner { background: var(--color-accent); color: #000; }
.theme-ignition .c-hero--banner .c-hero__title,
.theme-ignition .c-hero--banner .c-hero__desc { color: #000; }
.theme-ignition .c-hero--banner .c-hero__label { color: rgba(0, 0, 0, 0.7); }
.theme-ignition .c-hero--banner .btn-primary,
.theme-ignition .c-hero--banner .btn--primary { background: #000; color: #fff; }
.theme-ignition .c-hero--banner .btn-primary:hover,
.theme-ignition .c-hero--banner .btn--primary:hover { background: #1a1a1a; color: #fff; }
