/* ==========================================================================
   Nordic - flexible light Scandinavian theme (loaded AFTER vanilla).
   Calm off-white page, pastel surfaces, soft rounded corners, airy spacing.
   Plus Jakarta Sans headings + Inter body. Brand colour + corner radius are
   tenant options injected as CSS vars by the shared document shell.
     page #fbfbf9   surface #f0f1ee   bands #20303a   accent (default) #4a6fa5
   ========================================================================== */

.theme-nordic {
    --font-heading: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;

    /* Calm Nordic blue - overridden by the brand_color option when set. */
    --color-accent: #4a6fa5;
    --color-accent-hover: #3d5d8a;

    --color-bg: #fbfbf9;
    --color-surface: #f0f1ee;
    --color-surface-dark: #20303a;   /* soft deep slate, not harsh black */
    --color-border: #e6e7e2;

    --color-text: #20242a;
    --color-text-secondary: #5d6470;
    --color-text-muted: #4a5058;
    --color-text-on-dark: #ffffff;
    --color-text-on-dark-muted: #aeb6c0;

    /* Soft radii - the corner_radius option overrides these via :root. */
    --radius-sm: 10px;
    --radius-md: 14px;
    --radius-lg: 24px;
}

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

/* Softer, lighter headings + sentence-case nav (less shouty than vanilla). */
.theme-nordic h1,
.theme-nordic h2,
.theme-nordic h3,
.theme-nordic h4 { letter-spacing: -0.02em; font-weight: 700; }
.theme-nordic .c-nav__link,
.theme-nordic .c-nav__mobile a {
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
}
.theme-nordic .c-nav__logo { font-weight: 800; letter-spacing: -0.03em; }

/* Calmer buttons: still confident, but sentence case and softer. */
.theme-nordic .btn,
.theme-nordic .btn-primary,
.theme-nordic .btn-secondary,
.theme-nordic .btn--primary,
.theme-nordic .btn--secondary {
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
}

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

/* Pastel section band + soft card hover. */
.theme-nordic .c-services,
.theme-nordic .c-tabs { background: var(--color-surface); }
.theme-nordic .c-service-card { background: #ffffff; }
.theme-nordic .c-service-card:hover { box-shadow: 0 16px 40px rgba(32, 48, 58, 0.08); }
.theme-nordic .c-pricing-index__card { background: #ffffff; }
.theme-nordic .c-pricing-index__card:hover { border-color: var(--color-accent); }

/* Soft focus ring on form fields. */
.theme-nordic .field input:focus,
.theme-nordic .field select:focus,
.theme-nordic .field textarea:focus,
.theme-nordic .bk-search input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(74, 111, 165, 0.16);
}
