/*
 * Triforce Customs Theme Layer
 *
 * app.css owns the semantic fallback values.
 * Themes override those semantic values here.
 */

/*
 * Approved Triforce Customs public theme catalog.
 *
 * The code fallback/default is Triforce Emerald.
 */
html[data-theme="triforce-slate"] {
    --tc-customs-hero-desktop: url('/images/customs/customs-hero-slate-desktop.png');
    --tc-customs-hero-mobile: url('/images/customs/customs-hero-slate-mobile.png');

    /* =========================================================
       CORE
       ========================================================= */

    --tc-page-bg: #eef1f4;

    --tc-surface: #ffffff;
    --tc-surface-soft: #f7f9fb;
    --tc-surface-muted: #e7ebef;
    --tc-surface-hover: #f1f4f7;

    --tc-text: #26313b;
    --tc-text-strong: #17212a;
    --tc-text-heading: #1d2832;
    --tc-text-muted: #66727d;
    --tc-text-secondary: #596671;
    --tc-text-muted-strong: #46525d;
    --tc-text-subtle: #77838d;
    --tc-text-tertiary: #7d8993;
    --tc-text-faint: #8c97a0;
    --tc-text-on-dark: #ffffff;

    --tc-border: #d7dde2;
    --tc-border-soft: #e4e8ec;
    --tc-border-muted: #dfe4e8;
    --tc-border-strong: #cbd2d8;
    --tc-border-control: #cfd6dc;

    /* =========================================================
       BRAND / ACCENT
       ========================================================= */

    --tc-accent: #8093a3;
    --tc-accent-strong: #657b8d;
    --tc-accent-text: #536b7d;
    --tc-accent-dark-bg: #8da0af;
    --tc-accent-dark-hover: #a5b4c0;

    --tc-accent-warning-text: #536b7d;
    --tc-accent-focus-shadow: 0 0 0 3px rgba(128, 147, 163, 0.16);

    --tc-shadow-thumbnail: 0 2px 5px rgba(0, 0, 0, 0.28), 0 5px 12px color-mix(in srgb, var(--tc-accent) 28%, transparent);
    /* =========================================================
       DARK / NAVIGATION SURFACES
       ========================================================= */

    --tc-dark: #26323c;
    --tc-dark-surface: #2d3943;
    --tc-dark-border: #43515c;
    --tc-dark-border-strong: #52616c;
    --tc-dark-text: #ffffff;
    --tc-dark-text-muted: #bdc6cd;
    --tc-dark-text-soft: #d8dee3;
    --tc-dark-accent: #a9bac7;
    --tc-dark-hover: #3b4954;

    --tc-surface-dark-alt: #34414b;
    --tc-surface-dark-mid: #2d3943;

    /* =========================================================
       GENERAL NEUTRALS / CONTROLS
       ========================================================= */

    --tc-text-detail-muted: #6d7983;
    --tc-text-explainer: #64717b;

    --tc-border-section: #e0e5e9;
    --tc-border-row: #e7ebee;
    --tc-border-control-input: #cbd3d9;
    --tc-border-summary: #dfe4e8;

    --tc-summary-warm-border: #d5dde3;
    --tc-summary-warm-bg: #f4f7f9;

    /* =========================================================
       PUBLIC SITE
       ========================================================= */

    --tc-public-hero-start: #26323c;
    --tc-public-hero-mid: #303d47;
    --tc-public-hero-end: #1f2932;

    --tc-public-panel-dark: #2d3943;
    --tc-public-panel-dark-hover: #3b4954;

    --tc-public-card-dark: #293640;
    --tc-public-card-dark-mid: #34424d;
    --tc-public-card-dark-light: #465661;
    --tc-public-card-dark-alt: #3d4b56;
    --tc-public-card-dark-shape: #34414b;

    --tc-public-accent: #8da0af;
    --tc-public-accent-hover: #a5b4c0;
    --tc-public-accent-soft: #718697;
    --tc-public-accent-mid: #8093a3;
    --tc-public-accent-border: #aebbc5;
    --tc-public-accent-border-alt: #a5b4bf;
    --tc-public-accent-detail: #7b8f9f;

    --tc-public-text: #26313b;
    --tc-public-heading: #1d2832;
    --tc-public-heading-soft: #25313b;
    --tc-public-heading-strong: #17212a;
    --tc-public-text-muted: #66727d;
    --tc-public-text-subtle: #77838d;
    --tc-public-text-faint: #8c97a0;
    --tc-public-text-light: #c4cdd4;

    --tc-public-border: #d4dbe0;
    --tc-public-border-input: #cbd3d9;
    --tc-public-border-card: #d7dde2;
    --tc-public-border-card-soft: #dfe4e8;

    --tc-public-focus-ring: 0 0 0 3px rgba(128, 147, 163, 0.16);

    /* =========================================================
       CART / CHECKOUT
       ========================================================= */

    --tc-commerce-text: #26313b;
    --tc-commerce-heading: #1d2832;
    --tc-commerce-heading-strong: #17212a;

    --tc-commerce-text-muted: #66727d;
    --tc-commerce-text-soft: #74818b;
    --tc-commerce-text-label: #8c97a0;
    --tc-commerce-text-detail: #596671;

    --tc-commerce-accent: #8093a3;
    --tc-commerce-accent-soft: #aab8c2;
    --tc-commerce-accent-text: #536b7d;
    --tc-commerce-accent-strong: #657b8d;

    --tc-commerce-border: #d7dde2;
    --tc-commerce-border-soft: #e0e5e9;
    --tc-commerce-border-card: #dce2e6;
    --tc-commerce-border-image: #d5dce1;
    --tc-commerce-border-input: #cbd3d9;
    --tc-commerce-border-secondary: #bfc8cf;
    --tc-commerce-border-choice: #ccd4da;

    --tc-commerce-focus-ring: 0 0 0 0.2rem rgba(128, 147, 163, 0.14);
    --tc-commerce-focus-ring-strong: 0 0 0 0.2rem rgba(128, 147, 163, 0.18);

    /* Keep semantic danger/success colors meaningful */
    --tc-commerce-success-bg: #e7f6ec;
    --tc-commerce-success-text: #217a3f;

    /* =========================================================
       REQUEST SUCCESS
       ========================================================= */

    --tc-request-success-accent: #536b7d;
    --tc-request-success-accent-border: #bcc8d0;
    --tc-request-success-accent-bg: #f4f7f9;
    --tc-request-success-accent-text: #536674;

    --tc-request-success-text: #34414b;
    --tc-request-success-text-muted: #64717b;
    --tc-request-success-text-soft: #6c7882;
    --tc-request-success-text-faint: #7d8993;
    --tc-request-success-link: #46545f;

    --tc-request-success-border: #d7dde2;
    --tc-request-success-border-soft: #cfd6dc;
    --tc-request-success-divider: #d5dce1;
    --tc-request-success-surface-soft: #f2f5f7;

    /* =========================================================
       REQUEST / ORDER STATUS LOOKUP
       ========================================================= */

    --tc-status-accent-text: #536b7d;
    --tc-status-accent-border: #b9c5ce;
    --tc-status-accent-bg: #f4f7f9;
    --tc-status-accent-deep: #415968;

    --tc-status-border: #d7dde2;
    --tc-status-border-soft: #e0e5e9;
    --tc-status-border-card: #dce2e6;
    --tc-status-border-item: #dfe4e8;
    --tc-status-border-input: #c9d1d7;

    --tc-status-text-muted: #64717b;
    --tc-status-item-bg: #f8fafb;

    /* =========================================================
       BOOTSTRAP / GLOBAL INTERACTIONS
       ========================================================= */

    --tc-link: #58758b;

    --tc-button-primary-text: #ffffff;
    --tc-button-primary-bg: #526a7d;
    --tc-button-primary-border: #485f71;

    --tc-focus-inner: #ffffff;
    --tc-focus-ring: #8da0af;
}

html[data-theme="triforce-arctic"] {
    --tc-customs-hero-desktop: url('/images/customs/customs-hero-arctic-desktop.png');
    --tc-customs-hero-mobile: url('/images/customs/customs-hero-arctic-mobile.png');
    --tc-page-bg: #eef5fa;
    --tc-surface: #ffffff;
    --tc-surface-soft: #f5f9fc;
    --tc-surface-muted: #e5eef5;
    --tc-surface-hover: #edf5fa;
    --tc-text: #20313f;
    --tc-text-strong: #102330;
    --tc-text-heading: #172b39;
    --tc-text-muted: #627786;
    --tc-text-secondary: #526977;
    --tc-text-muted-strong: #526977;
    --tc-text-subtle: #78909f;
    --tc-text-tertiary: #78909f;
    --tc-text-faint: #93a6b2;
    --tc-text-on-dark: #ffffff;
    --tc-border: #d4e1e9;
    --tc-border-soft: #e2ebf0;
    --tc-border-muted: #e2ebf0;
    --tc-border-strong: #bfd0da;
    --tc-border-control: #bfd0da;
    --tc-accent: #2f86c7;
    --tc-accent-strong: #1e6fae;
    --tc-accent-text: #17659d;
    --tc-accent-dark-bg: #2f86c7;
    --tc-accent-dark-hover: #66b5ea;
    --tc-accent-warning-text: #17659d;
    --tc-accent-focus-shadow: 0 0 0 3px color-mix(in srgb, #2f86c7 18%, transparent);
    --tc-shadow-thumbnail: 0 2px 5px rgba(0, 0, 0, 0.28), 0 5px 12px color-mix(in srgb, var(--tc-accent) 28%, transparent);
    --tc-dark: #183246;
    --tc-dark-surface: #203e53;
    --tc-dark-border: #36576c;
    --tc-dark-border-strong: #36576c;
    --tc-dark-text: #ffffff;
    --tc-dark-text-muted: #bdd0dc;
    --tc-dark-text-soft: #e1edf4;
    --tc-dark-accent: #66b5ea;
    --tc-dark-hover: #2c5067;
    --tc-surface-dark-alt: #2c5067;
    --tc-surface-dark-mid: #203e53;
    --tc-text-detail-muted: #627786;
    --tc-text-explainer: #526977;
    --tc-border-section: #e2ebf0;
    --tc-border-row: #e2ebf0;
    --tc-border-control-input: #bfd0da;
    --tc-border-summary: #d4e1e9;
    --tc-summary-warm-border: #d4e1e9;
    --tc-summary-warm-bg: #f5f9fc;

    --tc-public-hero-start: #183246;
    --tc-public-hero-mid: #203e53;
    --tc-public-hero-end: #102330;
    --tc-public-panel-dark: #203e53;
    --tc-public-panel-dark-hover: #2c5067;
    --tc-public-card-dark: #183246;
    --tc-public-card-dark-mid: #203e53;
    --tc-public-card-dark-light: #36576c;
    --tc-public-card-dark-alt: #2c5067;
    --tc-public-card-dark-shape: #203e53;
    --tc-public-accent: #2f86c7;
    --tc-public-accent-hover: #66b5ea;
    --tc-public-accent-soft: #1e6fae;
    --tc-public-accent-mid: #2f86c7;
    --tc-public-accent-border: #66b5ea;
    --tc-public-accent-border-alt: #66b5ea;
    --tc-public-accent-detail: #2f86c7;
    --tc-public-text: #20313f;
    --tc-public-heading: #172b39;
    --tc-public-heading-soft: #172b39;
    --tc-public-heading-strong: #102330;
    --tc-public-text-muted: #627786;
    --tc-public-text-subtle: #78909f;
    --tc-public-text-faint: #93a6b2;
    --tc-public-text-light: #bdd0dc;
    --tc-public-border: #d4e1e9;
    --tc-public-border-input: #bfd0da;
    --tc-public-border-card: #d4e1e9;
    --tc-public-border-card-soft: #e2ebf0;
    --tc-public-focus-ring: 0 0 0 3px color-mix(in srgb, #2f86c7 18%, transparent);

    --tc-commerce-text: #20313f;
    --tc-commerce-heading: #172b39;
    --tc-commerce-heading-strong: #102330;
    --tc-commerce-text-muted: #627786;
    --tc-commerce-text-soft: #78909f;
    --tc-commerce-text-label: #93a6b2;
    --tc-commerce-text-detail: #526977;
    --tc-commerce-accent: #2f86c7;
    --tc-commerce-accent-soft: #66b5ea;
    --tc-commerce-accent-text: #17659d;
    --tc-commerce-accent-strong: #1e6fae;
    --tc-commerce-border: #d4e1e9;
    --tc-commerce-border-soft: #e2ebf0;
    --tc-commerce-border-card: #d4e1e9;
    --tc-commerce-border-image: #d4e1e9;
    --tc-commerce-border-input: #bfd0da;
    --tc-commerce-border-secondary: #bfd0da;
    --tc-commerce-border-choice: #d4e1e9;
    --tc-commerce-focus-ring: 0 0 0 0.2rem color-mix(in srgb, #2f86c7 16%, transparent);
    --tc-commerce-focus-ring-strong: 0 0 0 0.2rem color-mix(in srgb, #2f86c7 20%, transparent);

    --tc-request-success-accent: #17659d;
    --tc-request-success-accent-border: #bfd0da;
    --tc-request-success-accent-bg: #f5f9fc;
    --tc-request-success-accent-text: #526977;
    --tc-request-success-text: #20313f;
    --tc-request-success-text-muted: #627786;
    --tc-request-success-text-soft: #78909f;
    --tc-request-success-text-faint: #93a6b2;
    --tc-request-success-link: #1e75b5;
    --tc-request-success-border: #d4e1e9;
    --tc-request-success-border-soft: #bfd0da;
    --tc-request-success-divider: #d4e1e9;
    --tc-request-success-surface-soft: #f5f9fc;

    --tc-status-accent-text: #17659d;
    --tc-status-accent-border: #bfd0da;
    --tc-status-accent-bg: #f5f9fc;
    --tc-status-accent-deep: #1e6fae;
    --tc-status-border: #d4e1e9;
    --tc-status-border-soft: #e2ebf0;
    --tc-status-border-card: #d4e1e9;
    --tc-status-border-item: #e2ebf0;
    --tc-status-border-input: #bfd0da;
    --tc-status-text-muted: #627786;
    --tc-status-item-bg: #f5f9fc;

    --tc-link: #1e75b5;
    --tc-button-primary-text: #ffffff;
    --tc-button-primary-bg: #1e6fae;
    --tc-button-primary-border: #1e6fae;
    --tc-focus-inner: #ffffff;
    --tc-focus-ring: #2f86c7;
}

html[data-theme="triforce-midnight"] {
    --tc-customs-hero-desktop: url('/images/customs/customs-hero-midnight-desktop.png');
    --tc-customs-hero-mobile: url('/images/customs/customs-hero-midnight-mobile.png');
    --tc-page-bg: #101720;
    --tc-surface: #17212c;
    --tc-surface-soft: #1d2935;
    --tc-surface-muted: #253442;
    --tc-surface-hover: #223241;
    --tc-text: #dce7ef;
    --tc-text-strong: #ffffff;
    --tc-text-heading: #f4f8fb;
    --tc-text-muted: #9eb0be;
    --tc-text-secondary: #afbec9;
    --tc-text-muted-strong: #afbec9;
    --tc-text-subtle: #8fa3b2;
    --tc-text-tertiary: #8fa3b2;
    --tc-text-faint: #748b9c;
    --tc-text-on-dark: #ffffff;
    --tc-border: #314454;
    --tc-border-soft: #293b4a;
    --tc-border-muted: #293b4a;
    --tc-border-strong: #40586a;
    --tc-border-control: #40586a;
    --tc-accent: #4285f4;
    --tc-accent-strong: #2f6fd8;
    --tc-accent-text: #74a7ff;
    --tc-accent-dark-bg: #4285f4;
    --tc-accent-dark-hover: #6fa4ff;
    --tc-accent-warning-text: #74a7ff;
    --tc-accent-focus-shadow: 0 0 0 3px color-mix(in srgb, #4285f4 18%, transparent);
    --tc-shadow-thumbnail: 0 2px 5px rgba(0, 0, 0, 0.28), 0 5px 12px color-mix(in srgb, var(--tc-accent) 28%, transparent);
    --tc-dark: #0b1118;
    --tc-dark-surface: #121c26;
    --tc-dark-border: #293b4a;
    --tc-dark-border-strong: #293b4a;
    --tc-dark-text: #ffffff;
    --tc-dark-text-muted: #9fb1bf;
    --tc-dark-text-soft: #dce7ef;
    --tc-dark-accent: #6fa4ff;
    --tc-dark-hover: #1d2c39;
    --tc-surface-dark-alt: #1d2c39;
    --tc-surface-dark-mid: #121c26;
    --tc-text-detail-muted: #9eb0be;
    --tc-text-explainer: #afbec9;
    --tc-border-section: #293b4a;
    --tc-border-row: #293b4a;
    --tc-border-control-input: #40586a;
    --tc-border-summary: #314454;
    --tc-summary-warm-border: #314454;
    --tc-summary-warm-bg: #1d2935;

    --tc-public-hero-start: #0b1118;
    --tc-public-hero-mid: #121c26;
    --tc-public-hero-end: #ffffff;
    --tc-public-panel-dark: #121c26;
    --tc-public-panel-dark-hover: #1d2c39;
    --tc-public-card-dark: #0b1118;
    --tc-public-card-dark-mid: #121c26;
    --tc-public-card-dark-light: #293b4a;
    --tc-public-card-dark-alt: #1d2c39;
    --tc-public-card-dark-shape: #121c26;
    --tc-public-accent: #4285f4;
    --tc-public-accent-hover: #6fa4ff;
    --tc-public-accent-soft: #2f6fd8;
    --tc-public-accent-mid: #4285f4;
    --tc-public-accent-border: #6fa4ff;
    --tc-public-accent-border-alt: #6fa4ff;
    --tc-public-accent-detail: #4285f4;
    --tc-public-text: #dce7ef;
    --tc-public-heading: #f4f8fb;
    --tc-public-heading-soft: #f4f8fb;
    --tc-public-heading-strong: #ffffff;
    --tc-public-text-muted: #9eb0be;
    --tc-public-text-subtle: #8fa3b2;
    --tc-public-text-faint: #748b9c;
    --tc-public-text-light: #9fb1bf;
    --tc-public-border: #314454;
    --tc-public-border-input: #40586a;
    --tc-public-border-card: #314454;
    --tc-public-border-card-soft: #293b4a;
    --tc-public-focus-ring: 0 0 0 3px color-mix(in srgb, #4285f4 18%, transparent);

    --tc-commerce-text: #dce7ef;
    --tc-commerce-heading: #f4f8fb;
    --tc-commerce-heading-strong: #ffffff;
    --tc-commerce-text-muted: #9eb0be;
    --tc-commerce-text-soft: #8fa3b2;
    --tc-commerce-text-label: #748b9c;
    --tc-commerce-text-detail: #afbec9;
    --tc-commerce-accent: #4285f4;
    --tc-commerce-accent-soft: #6fa4ff;
    --tc-commerce-accent-text: #74a7ff;
    --tc-commerce-accent-strong: #2f6fd8;
    --tc-commerce-border: #314454;
    --tc-commerce-border-soft: #293b4a;
    --tc-commerce-border-card: #314454;
    --tc-commerce-border-image: #314454;
    --tc-commerce-border-input: #40586a;
    --tc-commerce-border-secondary: #40586a;
    --tc-commerce-border-choice: #314454;
    --tc-commerce-focus-ring: 0 0 0 0.2rem color-mix(in srgb, #4285f4 16%, transparent);
    --tc-commerce-focus-ring-strong: 0 0 0 0.2rem color-mix(in srgb, #4285f4 20%, transparent);

    --tc-request-success-accent: #74a7ff;
    --tc-request-success-accent-border: #40586a;
    --tc-request-success-accent-bg: #1d2935;
    --tc-request-success-accent-text: #afbec9;
    --tc-request-success-text: #dce7ef;
    --tc-request-success-text-muted: #9eb0be;
    --tc-request-success-text-soft: #8fa3b2;
    --tc-request-success-text-faint: #748b9c;
    --tc-request-success-link: #74a7ff;
    --tc-request-success-border: #314454;
    --tc-request-success-border-soft: #40586a;
    --tc-request-success-divider: #314454;
    --tc-request-success-surface-soft: #1d2935;

    --tc-status-accent-text: #74a7ff;
    --tc-status-accent-border: #40586a;
    --tc-status-accent-bg: #1d2935;
    --tc-status-accent-deep: #2f6fd8;
    --tc-status-border: #314454;
    --tc-status-border-soft: #293b4a;
    --tc-status-border-card: #314454;
    --tc-status-border-item: #293b4a;
    --tc-status-border-input: #40586a;
    --tc-status-text-muted: #9eb0be;
    --tc-status-item-bg: #1d2935;

    --tc-link: #74a7ff;
    --tc-button-primary-text: #ffffff;
    --tc-button-primary-bg: #2f6fd8;
    --tc-button-primary-border: #2f6fd8;
    --tc-focus-inner: #ffffff;
    --tc-focus-ring: #4285f4;
}

html[data-theme="triforce-emerald"] {
    --tc-customs-hero-desktop: url('/images/customs/customs-hero-emerald-desktop.png');
    --tc-customs-hero-mobile: url('/images/customs/customs-hero-emerald-mobile.png');
    --tc-page-bg: #edf2f0;
    --tc-surface: #ffffff;
    --tc-surface-soft: #f5f8f7;
    --tc-surface-muted: #e4ebe8;
    --tc-surface-hover: #eef5f2;
    --tc-text: #25322e;
    --tc-text-strong: #14231e;
    --tc-text-heading: #1b2b26;
    --tc-text-muted: #63736d;
    --tc-text-secondary: #53665f;
    --tc-text-muted-strong: #53665f;
    --tc-text-subtle: #778780;
    --tc-text-tertiary: #778780;
    --tc-text-faint: #909e99;
    --tc-text-on-dark: #ffffff;
    --tc-border: #d4ded9;
    --tc-border-soft: #e2e8e5;
    --tc-border-muted: #e2e8e5;
    --tc-border-strong: #c5d2cc;
    --tc-border-control: #c5d2cc;
    --tc-accent: #16845f;
    --tc-accent-strong: #0e6c4d;
    --tc-accent-text: #0c6749;
    --tc-accent-dark-bg: #16845f;
    --tc-accent-dark-hover: #42b98f;
    --tc-accent-warning-text: #0c6749;
    --tc-accent-focus-shadow: 0 0 0 3px color-mix(in srgb, #16845f 18%, transparent);
    --tc-shadow-thumbnail: 0 2px 5px rgba(0, 0, 0, 0.28), 0 5px 12px color-mix(in srgb, var(--tc-accent) 28%, transparent);
    --tc-dark: #1b2925;
    --tc-dark-surface: #23342f;
    --tc-dark-border: #3a5049;
    --tc-dark-border-strong: #3a5049;
    --tc-dark-text: #ffffff;
    --tc-dark-text-muted: #b4c6bf;
    --tc-dark-text-soft: #e0ebe7;
    --tc-dark-accent: #42b98f;
    --tc-dark-hover: #30453e;
    --tc-surface-dark-alt: #30453e;
    --tc-surface-dark-mid: #23342f;
    --tc-text-detail-muted: #63736d;
    --tc-text-explainer: #53665f;
    --tc-border-section: #e2e8e5;
    --tc-border-row: #e2e8e5;
    --tc-border-control-input: #c5d2cc;
    --tc-border-summary: #d4ded9;
    --tc-summary-warm-border: #d4ded9;
    --tc-summary-warm-bg: #f5f8f7;

    --tc-public-hero-start: #1b2925;
    --tc-public-hero-mid: #23342f;
    --tc-public-hero-end: #14231e;
    --tc-public-panel-dark: #23342f;
    --tc-public-panel-dark-hover: #30453e;
    --tc-public-card-dark: #1b2925;
    --tc-public-card-dark-mid: #23342f;
    --tc-public-card-dark-light: #3a5049;
    --tc-public-card-dark-alt: #30453e;
    --tc-public-card-dark-shape: #23342f;
    --tc-public-accent: #16845f;
    --tc-public-accent-hover: #42b98f;
    --tc-public-accent-soft: #0e6c4d;
    --tc-public-accent-mid: #16845f;
    --tc-public-accent-border: #42b98f;
    --tc-public-accent-border-alt: #42b98f;
    --tc-public-accent-detail: #16845f;
    --tc-public-text: #25322e;
    --tc-public-heading: #1b2b26;
    --tc-public-heading-soft: #1b2b26;
    --tc-public-heading-strong: #14231e;
    --tc-public-text-muted: #63736d;
    --tc-public-text-subtle: #778780;
    --tc-public-text-faint: #909e99;
    --tc-public-text-light: #b4c6bf;
    --tc-public-border: #d4ded9;
    --tc-public-border-input: #c5d2cc;
    --tc-public-border-card: #d4ded9;
    --tc-public-border-card-soft: #e2e8e5;
    --tc-public-focus-ring: 0 0 0 3px color-mix(in srgb, #16845f 18%, transparent);

    --tc-commerce-text: #25322e;
    --tc-commerce-heading: #1b2b26;
    --tc-commerce-heading-strong: #14231e;
    --tc-commerce-text-muted: #63736d;
    --tc-commerce-text-soft: #778780;
    --tc-commerce-text-label: #909e99;
    --tc-commerce-text-detail: #53665f;
    --tc-commerce-accent: #16845f;
    --tc-commerce-accent-soft: #42b98f;
    --tc-commerce-accent-text: #0c6749;
    --tc-commerce-accent-strong: #0e6c4d;
    --tc-commerce-border: #d4ded9;
    --tc-commerce-border-soft: #e2e8e5;
    --tc-commerce-border-card: #d4ded9;
    --tc-commerce-border-image: #d4ded9;
    --tc-commerce-border-input: #c5d2cc;
    --tc-commerce-border-secondary: #c5d2cc;
    --tc-commerce-border-choice: #d4ded9;
    --tc-commerce-focus-ring: 0 0 0 0.2rem color-mix(in srgb, #16845f 16%, transparent);
    --tc-commerce-focus-ring-strong: 0 0 0 0.2rem color-mix(in srgb, #16845f 20%, transparent);

    --tc-request-success-accent: #0c6749;
    --tc-request-success-accent-border: #c5d2cc;
    --tc-request-success-accent-bg: #f5f8f7;
    --tc-request-success-accent-text: #53665f;
    --tc-request-success-text: #25322e;
    --tc-request-success-text-muted: #63736d;
    --tc-request-success-text-soft: #778780;
    --tc-request-success-text-faint: #909e99;
    --tc-request-success-link: #117354;
    --tc-request-success-border: #d4ded9;
    --tc-request-success-border-soft: #c5d2cc;
    --tc-request-success-divider: #d4ded9;
    --tc-request-success-surface-soft: #f5f8f7;

    --tc-status-accent-text: #0c6749;
    --tc-status-accent-border: #c5d2cc;
    --tc-status-accent-bg: #f5f8f7;
    --tc-status-accent-deep: #0e6c4d;
    --tc-status-border: #d4ded9;
    --tc-status-border-soft: #e2e8e5;
    --tc-status-border-card: #d4ded9;
    --tc-status-border-item: #e2e8e5;
    --tc-status-border-input: #c5d2cc;
    --tc-status-text-muted: #63736d;
    --tc-status-item-bg: #f5f8f7;

    --tc-link: #117354;
    --tc-button-primary-text: #ffffff;
    --tc-button-primary-bg: #0e6c4d;
    --tc-button-primary-border: #0e6c4d;
    --tc-focus-inner: #ffffff;
    --tc-focus-ring: #16845f;
}

html[data-theme="triforce-ocean"] {
    --tc-customs-hero-desktop: url('/images/customs/customs-hero-ocean-desktop.png');
    --tc-customs-hero-mobile: url('/images/customs/customs-hero-ocean-mobile.png');
    --tc-page-bg: #eaf3f5;
    --tc-surface: #ffffff;
    --tc-surface-soft: #f3f8f9;
    --tc-surface-muted: #dcebed;
    --tc-surface-hover: #eaf5f6;
    --tc-text: #20383d;
    --tc-text-strong: #10282e;
    --tc-text-heading: #173138;
    --tc-text-muted: #607a80;
    --tc-text-secondary: #506c73;
    --tc-text-muted-strong: #506c73;
    --tc-text-subtle: #748c92;
    --tc-text-tertiary: #748c92;
    --tc-text-faint: #8da1a6;
    --tc-text-on-dark: #ffffff;
    --tc-border: #cfe0e3;
    --tc-border-soft: #deeaec;
    --tc-border-muted: #deeaec;
    --tc-border-strong: #bdd2d6;
    --tc-border-control: #bdd2d6;
    --tc-accent: #1597a3;
    --tc-accent-strong: #0c7d88;
    --tc-accent-text: #08717b;
    --tc-accent-dark-bg: #1597a3;
    --tc-accent-dark-hover: #46c2ca;
    --tc-accent-warning-text: #08717b;
    --tc-accent-focus-shadow: 0 0 0 3px color-mix(in srgb, #1597a3 18%, transparent);
    --tc-shadow-thumbnail: 0 2px 5px rgba(0, 0, 0, 0.28), 0 5px 12px color-mix(in srgb, var(--tc-accent) 28%, transparent);
    --tc-dark: #12343c;
    --tc-dark-surface: #1a424b;
    --tc-dark-border: #32606a;
    --tc-dark-border-strong: #32606a;
    --tc-dark-text: #ffffff;
    --tc-dark-text-muted: #afd0d5;
    --tc-dark-text-soft: #dcecef;
    --tc-dark-accent: #46c2ca;
    --tc-dark-hover: #25535d;
    --tc-surface-dark-alt: #25535d;
    --tc-surface-dark-mid: #1a424b;
    --tc-text-detail-muted: #607a80;
    --tc-text-explainer: #506c73;
    --tc-border-section: #deeaec;
    --tc-border-row: #deeaec;
    --tc-border-control-input: #bdd2d6;
    --tc-border-summary: #cfe0e3;
    --tc-summary-warm-border: #cfe0e3;
    --tc-summary-warm-bg: #f3f8f9;

    --tc-public-hero-start: #12343c;
    --tc-public-hero-mid: #1a424b;
    --tc-public-hero-end: #10282e;
    --tc-public-panel-dark: #1a424b;
    --tc-public-panel-dark-hover: #25535d;
    --tc-public-card-dark: #12343c;
    --tc-public-card-dark-mid: #1a424b;
    --tc-public-card-dark-light: #32606a;
    --tc-public-card-dark-alt: #25535d;
    --tc-public-card-dark-shape: #1a424b;
    --tc-public-accent: #1597a3;
    --tc-public-accent-hover: #46c2ca;
    --tc-public-accent-soft: #0c7d88;
    --tc-public-accent-mid: #1597a3;
    --tc-public-accent-border: #46c2ca;
    --tc-public-accent-border-alt: #46c2ca;
    --tc-public-accent-detail: #1597a3;
    --tc-public-text: #20383d;
    --tc-public-heading: #173138;
    --tc-public-heading-soft: #173138;
    --tc-public-heading-strong: #10282e;
    --tc-public-text-muted: #607a80;
    --tc-public-text-subtle: #748c92;
    --tc-public-text-faint: #8da1a6;
    --tc-public-text-light: #afd0d5;
    --tc-public-border: #cfe0e3;
    --tc-public-border-input: #bdd2d6;
    --tc-public-border-card: #cfe0e3;
    --tc-public-border-card-soft: #deeaec;
    --tc-public-focus-ring: 0 0 0 3px color-mix(in srgb, #1597a3 18%, transparent);

    --tc-commerce-text: #20383d;
    --tc-commerce-heading: #173138;
    --tc-commerce-heading-strong: #10282e;
    --tc-commerce-text-muted: #607a80;
    --tc-commerce-text-soft: #748c92;
    --tc-commerce-text-label: #8da1a6;
    --tc-commerce-text-detail: #506c73;
    --tc-commerce-accent: #1597a3;
    --tc-commerce-accent-soft: #46c2ca;
    --tc-commerce-accent-text: #08717b;
    --tc-commerce-accent-strong: #0c7d88;
    --tc-commerce-border: #cfe0e3;
    --tc-commerce-border-soft: #deeaec;
    --tc-commerce-border-card: #cfe0e3;
    --tc-commerce-border-image: #cfe0e3;
    --tc-commerce-border-input: #bdd2d6;
    --tc-commerce-border-secondary: #bdd2d6;
    --tc-commerce-border-choice: #cfe0e3;
    --tc-commerce-focus-ring: 0 0 0 0.2rem color-mix(in srgb, #1597a3 16%, transparent);
    --tc-commerce-focus-ring-strong: 0 0 0 0.2rem color-mix(in srgb, #1597a3 20%, transparent);

    --tc-request-success-accent: #08717b;
    --tc-request-success-accent-border: #bdd2d6;
    --tc-request-success-accent-bg: #f3f8f9;
    --tc-request-success-accent-text: #506c73;
    --tc-request-success-text: #20383d;
    --tc-request-success-text-muted: #607a80;
    --tc-request-success-text-soft: #748c92;
    --tc-request-success-text-faint: #8da1a6;
    --tc-request-success-link: #0d8490;
    --tc-request-success-border: #cfe0e3;
    --tc-request-success-border-soft: #bdd2d6;
    --tc-request-success-divider: #cfe0e3;
    --tc-request-success-surface-soft: #f3f8f9;

    --tc-status-accent-text: #08717b;
    --tc-status-accent-border: #bdd2d6;
    --tc-status-accent-bg: #f3f8f9;
    --tc-status-accent-deep: #0c7d88;
    --tc-status-border: #cfe0e3;
    --tc-status-border-soft: #deeaec;
    --tc-status-border-card: #cfe0e3;
    --tc-status-border-item: #deeaec;
    --tc-status-border-input: #bdd2d6;
    --tc-status-text-muted: #607a80;
    --tc-status-item-bg: #f3f8f9;

    --tc-link: #0d8490;
    --tc-button-primary-text: #ffffff;
    --tc-button-primary-bg: #0c7d88;
    --tc-button-primary-border: #0c7d88;
    --tc-focus-inner: #ffffff;
    --tc-focus-ring: #1597a3;
}

html[data-theme="triforce-royal"] {
    --tc-customs-hero-desktop: url('/images/customs/customs-hero-royal-desktop.png');
    --tc-customs-hero-mobile: url('/images/customs/customs-hero-royal-mobile.png');
    --tc-page-bg: #f0eff7;
    --tc-surface: #ffffff;
    --tc-surface-soft: #f7f6fb;
    --tc-surface-muted: #e7e4f1;
    --tc-surface-hover: #f2f0f8;
    --tc-text: #302d45;
    --tc-text-strong: #1c1930;
    --tc-text-heading: #25213a;
    --tc-text-muted: #6d6881;
    --tc-text-secondary: #5c5772;
    --tc-text-muted-strong: #5c5772;
    --tc-text-subtle: #817b94;
    --tc-text-tertiary: #817b94;
    --tc-text-faint: #9993aa;
    --tc-text-on-dark: #ffffff;
    --tc-border: #dad6e6;
    --tc-border-soft: #e7e4ef;
    --tc-border-muted: #e7e4ef;
    --tc-border-strong: #c9c3da;
    --tc-border-control: #c9c3da;
    --tc-accent: #7255c7;
    --tc-accent-strong: #5d43aa;
    --tc-accent-text: #5940a1;
    --tc-accent-dark-bg: #7255c7;
    --tc-accent-dark-hover: #a58ae8;
    --tc-accent-warning-text: #5940a1;
    --tc-accent-focus-shadow: 0 0 0 3px color-mix(in srgb, #7255c7 18%, transparent);
    --tc-shadow-thumbnail: 0 2px 5px rgba(0, 0, 0, 0.28), 0 5px 12px color-mix(in srgb, var(--tc-accent) 28%, transparent);
    --tc-dark: #24203a;
    --tc-dark-surface: #2d2847;
    --tc-dark-border: #494265;
    --tc-dark-border-strong: #494265;
    --tc-dark-text: #ffffff;
    --tc-dark-text-muted: #beb8d0;
    --tc-dark-text-soft: #e8e4f2;
    --tc-dark-accent: #a58ae8;
    --tc-dark-hover: #3c3658;
    --tc-surface-dark-alt: #3c3658;
    --tc-surface-dark-mid: #2d2847;
    --tc-text-detail-muted: #6d6881;
    --tc-text-explainer: #5c5772;
    --tc-border-section: #e7e4ef;
    --tc-border-row: #e7e4ef;
    --tc-border-control-input: #c9c3da;
    --tc-border-summary: #dad6e6;
    --tc-summary-warm-border: #dad6e6;
    --tc-summary-warm-bg: #f7f6fb;

    --tc-public-hero-start: #24203a;
    --tc-public-hero-mid: #2d2847;
    --tc-public-hero-end: #1c1930;
    --tc-public-panel-dark: #2d2847;
    --tc-public-panel-dark-hover: #3c3658;
    --tc-public-card-dark: #24203a;
    --tc-public-card-dark-mid: #2d2847;
    --tc-public-card-dark-light: #494265;
    --tc-public-card-dark-alt: #3c3658;
    --tc-public-card-dark-shape: #2d2847;
    --tc-public-accent: #7255c7;
    --tc-public-accent-hover: #a58ae8;
    --tc-public-accent-soft: #5d43aa;
    --tc-public-accent-mid: #7255c7;
    --tc-public-accent-border: #a58ae8;
    --tc-public-accent-border-alt: #a58ae8;
    --tc-public-accent-detail: #7255c7;
    --tc-public-text: #302d45;
    --tc-public-heading: #25213a;
    --tc-public-heading-soft: #25213a;
    --tc-public-heading-strong: #1c1930;
    --tc-public-text-muted: #6d6881;
    --tc-public-text-subtle: #817b94;
    --tc-public-text-faint: #9993aa;
    --tc-public-text-light: #beb8d0;
    --tc-public-border: #dad6e6;
    --tc-public-border-input: #c9c3da;
    --tc-public-border-card: #dad6e6;
    --tc-public-border-card-soft: #e7e4ef;
    --tc-public-focus-ring: 0 0 0 3px color-mix(in srgb, #7255c7 18%, transparent);

    --tc-commerce-text: #302d45;
    --tc-commerce-heading: #25213a;
    --tc-commerce-heading-strong: #1c1930;
    --tc-commerce-text-muted: #6d6881;
    --tc-commerce-text-soft: #817b94;
    --tc-commerce-text-label: #9993aa;
    --tc-commerce-text-detail: #5c5772;
    --tc-commerce-accent: #7255c7;
    --tc-commerce-accent-soft: #a58ae8;
    --tc-commerce-accent-text: #5940a1;
    --tc-commerce-accent-strong: #5d43aa;
    --tc-commerce-border: #dad6e6;
    --tc-commerce-border-soft: #e7e4ef;
    --tc-commerce-border-card: #dad6e6;
    --tc-commerce-border-image: #dad6e6;
    --tc-commerce-border-input: #c9c3da;
    --tc-commerce-border-secondary: #c9c3da;
    --tc-commerce-border-choice: #dad6e6;
    --tc-commerce-focus-ring: 0 0 0 0.2rem color-mix(in srgb, #7255c7 16%, transparent);
    --tc-commerce-focus-ring-strong: 0 0 0 0.2rem color-mix(in srgb, #7255c7 20%, transparent);

    --tc-request-success-accent: #5940a1;
    --tc-request-success-accent-border: #c9c3da;
    --tc-request-success-accent-bg: #f7f6fb;
    --tc-request-success-accent-text: #5c5772;
    --tc-request-success-text: #302d45;
    --tc-request-success-text-muted: #6d6881;
    --tc-request-success-text-soft: #817b94;
    --tc-request-success-text-faint: #9993aa;
    --tc-request-success-link: #6249b0;
    --tc-request-success-border: #dad6e6;
    --tc-request-success-border-soft: #c9c3da;
    --tc-request-success-divider: #dad6e6;
    --tc-request-success-surface-soft: #f7f6fb;

    --tc-status-accent-text: #5940a1;
    --tc-status-accent-border: #c9c3da;
    --tc-status-accent-bg: #f7f6fb;
    --tc-status-accent-deep: #5d43aa;
    --tc-status-border: #dad6e6;
    --tc-status-border-soft: #e7e4ef;
    --tc-status-border-card: #dad6e6;
    --tc-status-border-item: #e7e4ef;
    --tc-status-border-input: #c9c3da;
    --tc-status-text-muted: #6d6881;
    --tc-status-item-bg: #f7f6fb;

    --tc-link: #6249b0;
    --tc-button-primary-text: #ffffff;
    --tc-button-primary-bg: #5d43aa;
    --tc-button-primary-border: #5d43aa;
    --tc-focus-inner: #ffffff;
    --tc-focus-ring: #7255c7;
}


/* ---------------------------------------------------------
   Shared action-button contract
   --------------------------------------------------------- */

html[data-theme] {
    --tc-action-text: #ffffff;
}
