:root,
:root[data-theme="navy"] {
    /* Brand */
    --primary: #29394F;
    --primary-hover: #202E40;

    --accent: #C0A675;
    --accent-light: #D2BE98;

    --parchment: #E9E1D2;

    /* Backgrounds */
    --bg: #F7F5F1;
    --surface: #FFFFFF;

    /* Text */
    --text: #25282C;
    --text-muted: #72767B;

    /* Borders */
    --border: #DDD9D1;

    /* Status */
    --success: #527A62;
    --warning: #C39245;
    --danger: #B55252;
    --info: #527B91;

    /* Radius */
    --radius: 1rem;
    --radius-sm: 0.95rem;
    --radius-lg: 1.35rem;

    /* Shadow */
    --shadow: 0 .65rem 1.8rem rgba(25, 32, 42, .075), 0 .12rem .35rem rgba(25, 32, 42, .05);
    --shadow-hover: 0 1.15rem 2.75rem rgba(25, 32, 42, .13), 0 .2rem .55rem rgba(25, 32, 42, .06);
    --ring: color-mix(in srgb, var(--accent) 32%, transparent);

    /* Bootstrap surfaces inherit the active appearance too. */
    --bs-body-bg: var(--bg);
    --bs-body-color: var(--text);
    --bs-emphasis-color: var(--text);
    --bs-secondary-color: var(--text-muted);
    --bs-secondary-bg: var(--surface);
    --bs-tertiary-bg: var(--surface);
    --bs-border-color: var(--border);
    --bs-card-bg: var(--surface);
}

:root[data-theme="forest-gold"] {
    --primary: #355E3B;
    --primary-hover: #2C4D31;
    --primary-dark: #6F9A7C;

    --accent: #C8A96A;
    --accent-light: #D8B978;
    --accent-dark: #D8B978;

    --parchment: #E8DEC9;
    --bg: #F7F7F5;
}
:root[data-theme="barn-red"] {
    /* Primary Reds */
    --primary: #B36066 ;
    --primary-hover: #8C4B4B;
    --primary-dark: #7C0A02;
    --primary-light: #A85244;

    /* Gold Accents */
    --accent: #C4AA7D;
    --accent-light: #D8B978;
    --accent-dark: #A98848;

    /* Neutrals & Surfaces */
    --parchment: #E8DEC9;
    --parchment-light: #F4EFE6;
    --border-warm: #D3C7AE;
    --text-main: #231F20;
    --text-muted: #5C554F;
}

:root[data-theme="midnight-brass"] {
    --primary: #303642;
    --primary-hover: #242A34;
    --primary-dark: #76808F;
    --accent: #A88B5B;
    --accent-light: #C4AA7D;
    --accent-dark: #C4AA7D;
    --parchment: #E5D8C1;
    --bg: #F6F4F0;
}

:root[data-theme="slate-copper"] {
    --primary: #46515C;
    --primary-hover: #35404A;
    --primary-dark: #83909C;
    --accent: #B27A55;
    --accent-light: #CA9A79;
    --accent-dark: #CA9A79;
    --parchment: #E7D7CA;
    --bg: #F5F3EF;
}

:root[data-theme="plum-taupe"] {
    --primary: #57444F;
    --primary-hover: #44343E;
    --primary-dark: #927987;
    --accent: #A88F7B;
    --accent-light: #C3AA98;
    --accent-dark: #C3AA98;
    --parchment: #E4D6D2;
    --bg: #F6F2F2;
}

:root[data-theme="espresso-bronze"] {
    --primary: #493B35;
    --primary-hover: #382D29;
    --primary-dark: #8A766B;
    --accent: #A77D55;
    --accent-light: #C39D78;
    --accent-dark: #C39D78;
    --parchment: #E7D7C7;
    --bg: #F5F1EB;
}

:root[data-theme="charcoal-rosewood"] {
    --primary: #35383D;
    --primary-hover: #272A2E;
    --primary-dark: #7D838C;
    --accent: #9B6661;
    --accent-light: #BB8A84;
    --accent-dark: #BB8A84;
    --parchment: #E3D4D2;
    --bg: #F6F4F3;
}

:root[data-theme="deep-teal-sand"] {
    --primary: #31545A;
    --primary-hover: #244146;
    --primary-dark: #72969A;
    --accent: #B79B72;
    --accent-light: #D0B994;
    --accent-dark: #D0B994;
    --parchment: #E5DCC9;
    --bg: #F5F4EF;
}

/* Sea-inspired themes */
:root[data-theme="ocean-pearl"] {
    --primary: #24566A;
    --primary-hover: #1B4353;
    --primary-dark: #70A8B9;

    --accent: #A9906F;
    --accent-light: #C8B69C;
    --accent-dark: #D2BE9E;

    --parchment: #E7E1D5;
    --bg: #F3F7F7;
}

:root[data-theme="sea-glass-coral"] {
    --primary: #3F716F;
    --primary-hover: #315957;
    --primary-dark: #7FB1AB;

    --accent: #C47C70;
    --accent-light: #D9A59C;
    --accent-dark: #E0A197;

    --parchment: #E8DED3;
    --bg: #F3F7F5;
}

:root[data-theme="stormy-coast"] {
    --primary: #465D6B;
    --primary-hover: #354853;
    --primary-dark: #89A2B0;

    --accent: #9D8E72;
    --accent-light: #BDB098;
    --accent-dark: #C9B995;

    --parchment: #E2DED5;
    --bg: #F3F5F5;
}

:root[data-theme="deep-ocean-gold"] {
    --primary: #193E52;
    --primary-hover: #102F40;
    --primary-dark: #6696AE;

    --accent: #B89450;
    --accent-light: #D0B476;
    --accent-dark: #D7B96E;

    --parchment: #E3D9C5;
    --bg: #F2F5F6;
}
:root[data-theme="lighthouse-fog"] {
    --primary: #657681;
    --primary-hover: #4E5F69;
    --primary-dark: #93A8B3;

    --accent: #C7964D;
    --accent-light: #D8B271;
    --accent-dark: #DDB66D;

    --parchment: #E5E0D6;
    --bg: #F3F5F5;
}
:root[data-theme="herons-mouth"] {
    --primary: #48665F;
    --primary-hover: #365049;
    --primary-dark: #82A198;

    --accent: #B89D76;
    --accent-light: #CFB895;
    --accent-dark: #D4BA91;

    --parchment: #E6DED0;
    --bg: #F3F5F2;
}
:root[data-theme="harbor-dusk"] {
    --primary: #414D69;
    --primary-hover: #313B52;
    --primary-dark: #818EAE;

    --accent: #B98270;
    --accent-light: #CFA294;
    --accent-dark: #D5A092;

    --parchment: #E5DAD6;
    --bg: #F4F3F5;
}
:root[data-theme="the-trench"] {
    --primary: #172F45;
    --primary-hover: #102438;
    --primary-dark: #5D829B;

    --accent: #4D9AAB;
    --accent-light: #78B5C0;
    --accent-dark: #72B7C6;

    --parchment: #D8E0DF;
    --bg: #F0F4F5;
}
:root[data-theme="navy"][data-appearance="dark"] {
    /* Brand */
    --primary: var(--primary-dark, #71849E);
    --primary-hover: #8295AE;

    --accent: var(--accent-dark, #CFB47E);
    --accent-light: var(--accent-dark, #DDC797);

    --parchment: #A7977A;

    /* Backgrounds */
    --bg: #191D24;
    --surface: #242A33;

    /* Text */
    --text: #F3F1ED;
    --text-muted: #ADB3BC;

    /* Borders */
    --border: #414955;

    /* Status */
    --success: #6F9A7C;
    --warning: #D2A65B;
    --danger: #D56B6B;
    --info: #73A0B8;

    /* Shadow */
    --shadow: 0 .75rem 2rem rgba(0, 0, 0, .32), 0 .12rem .4rem rgba(0, 0, 0, .22);
    --shadow-hover: 0 1.15rem 3rem rgba(0, 0, 0, .45);
    --ring: color-mix(in srgb, var(--accent) 36%, transparent);
}

:root[data-theme]:not([data-theme="navy"])[data-appearance="dark"] {
    --primary: var(--primary-dark);
    --accent: var(--accent-dark);
    --accent-light: var(--accent-dark);
    --parchment: #B6AFA5;
    --bg: #191D24;
    --surface: #242A33;
    --text: #F3F1ED;
    --text-muted: #ADB3BC;
    --border: #414955;
    --success: #6F9A7C;
    --warning: #D2A65B;
    --danger: #D56B6B;
    --info: #73A0B8;
    --shadow: 0 .75rem 2rem rgba(0, 0, 0, .32), 0 .12rem .4rem rgba(0, 0, 0, .22);
    --shadow-hover: 0 1.15rem 3rem rgba(0, 0, 0, .45);
    --ring: color-mix(in srgb, var(--accent) 36%, transparent);
}
