/* ==========================================================================
   Slate - locked corporate-neutral theme (loaded AFTER vanilla).
   Cool blue-grey, restrained and professional, understated. Inter throughout,
   a muted slate-blue accent. For multi-location franchises.
     page #f7f8fa   surface #fff   bands #1e293b   accent #3f5b7a
   ========================================================================== */

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

    --color-accent: #3f5b7a;
    --color-accent-hover: #324963;

    --color-bg: #f7f8fa;
    --color-surface: #ffffff;
    --color-surface-dark: #1e293b;    /* slate-900 band */
    --color-border: #e2e7ee;

    --color-text: #1e293b;
    --color-text-secondary: #5b6675;
    --color-text-muted: #3a4555;
    --color-text-on-dark: #ffffff;
    --color-text-on-dark-muted: #9aa6b8;

    --radius-sm: 3px;
    --radius-md: 5px;
    --radius-lg: 8px;
}

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

/* Restrained headings; sentence-case nav. */
.theme-slate h1,
.theme-slate h2,
.theme-slate h3,
.theme-slate h4 { font-weight: 700; letter-spacing: -0.02em; }
.theme-slate .c-nav__link,
.theme-slate .c-nav__mobile a { letter-spacing: normal; text-transform: none; font-weight: 600; }
.theme-slate .c-nav__logo { font-weight: 700; }

/* Buttons: slate fill, white label, sentence case. */
.theme-slate .btn,
.theme-slate .btn-primary,
.theme-slate .btn-secondary,
.theme-slate .btn--primary,
.theme-slate .btn--secondary { letter-spacing: normal; text-transform: none; font-weight: 600; }

/* Eyebrows in slate. */
.theme-slate .c-hero__label,
.theme-slate .c-section-head__label,
.theme-slate .c-services__label,
.theme-slate .c-label { color: var(--color-accent); }
.theme-slate .c-hero--image .c-hero__label { color: rgba(255, 255, 255, 0.9); }

/* White cards, quiet shadow. */
.theme-slate .c-service-card,
.theme-slate .c-pricing-index__card,
.theme-slate .oh-dept { background: var(--color-surface); }
.theme-slate .c-service-card:hover { box-shadow: 0 12px 32px rgba(30, 41, 59, 0.10); }
.theme-slate .c-pricing-index__card:hover { border-color: var(--color-accent); }
.theme-slate .c-services,
.theme-slate .c-tabs { background: var(--color-surface); }

/* Slate focus ring. */
.theme-slate .field input:focus,
.theme-slate .field select:focus,
.theme-slate .field textarea:focus,
.theme-slate .bk-search input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(63, 91, 122, 0.16); }

/* ===== HERO: solid-slate "banner" - white text, white button ===== */
.theme-slate .c-hero--banner { background: var(--color-surface-dark); color: #fff; }
.theme-slate .c-hero--banner .c-hero__title,
.theme-slate .c-hero--banner .c-hero__desc { color: #fff; }
.theme-slate .c-hero--banner .c-hero__label { color: rgba(255, 255, 255, 0.85); }
.theme-slate .c-hero--banner .btn-primary,
.theme-slate .c-hero--banner .btn--primary { background: #fff; color: var(--color-accent); }
.theme-slate .c-hero--banner .btn-primary:hover,
.theme-slate .c-hero--banner .btn--primary:hover { background: rgba(255, 255, 255, 0.9); }
