/* ==========================================================================
   Terra - locked warm/friendly theme (loaded AFTER vanilla).
   Warm sand page, terracotta accent, fully rounded (pill) buttons + cards,
   rounded geometric Nunito throughout. Approachable local-shop feel.
     page #f6efe6   surface #fffaf3   bands #3a2e26   accent #b15a34
   ========================================================================== */

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

    --color-accent: #b15a34;
    --color-accent-hover: #8f4525;

    --color-bg: #f6efe6;
    --color-surface: #fffaf3;
    --color-surface-dark: #3a2e26;   /* warm dark brown band */
    --color-border: #ead9c7;

    --color-text: #33291f;
    --color-text-secondary: #7a6a59;
    --color-text-muted: #5c4f42;
    --color-text-on-dark: #ffffff;
    --color-text-on-dark-muted: #c9b9a8;

    /* Generous, rounded corners. */
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
}

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

/* Rounded, friendly headings; sentence-case nav. */
.theme-terra h1,
.theme-terra h2,
.theme-terra h3,
.theme-terra h4 { font-weight: 800; letter-spacing: -0.01em; }
.theme-terra .c-nav__link,
.theme-terra .c-nav__mobile a { letter-spacing: normal; text-transform: none; font-weight: 700; }

/* Pill buttons - fully rounded, warm, sentence case. */
.theme-terra .btn,
.theme-terra .btn-primary,
.theme-terra .btn-secondary,
.theme-terra .btn--primary,
.theme-terra .btn--secondary,
.theme-terra .c-nav__link--button {
    border-radius: 999px;
    letter-spacing: normal;
    text-transform: none;
    font-weight: 700;
}

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

/* Warm cards on the sand page. */
.theme-terra .c-service-card,
.theme-terra .c-pricing-index__card,
.theme-terra .oh-dept { background: var(--color-surface); }
.theme-terra .c-service-card:hover { box-shadow: 0 16px 40px rgba(177, 90, 52, 0.12); }
.theme-terra .c-pricing-index__card:hover { border-color: var(--color-accent); }
.theme-terra .c-services,
.theme-terra .c-tabs { background: var(--color-surface); }

/* Rounded form fields + terracotta focus ring. */
.theme-terra .field input,
.theme-terra .field select,
.theme-terra .field textarea,
.theme-terra .bk-search input { border-radius: 14px; }
.theme-terra .field input:focus,
.theme-terra .field select:focus,
.theme-terra .field textarea:focus,
.theme-terra .bk-search input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(177, 90, 52, 0.16);
}

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