:root {
  --bs-golden-bg: #fff3e0;
  --bs-golden-bg-rgb: 255, 243, 224;
  --bs-golden-color: #4a2f1b;

  --bs-twilight-bg: #152a3a;
  --bs-twilight-bg-rgb: 21, 42, 58;
  --bs-twilight-color: #d0d8f0;

  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-orange: #fd7e14;
  --bs-teal: #20c997;

  --bs-indigo-rgb: 102, 16, 242;
  --bs-purple-rgb: 111, 66, 193;
  --bs-pink-rgb: 214, 51, 132;
  --bs-orange-rgb: 253, 126, 20;
  --bs-teal-rgb: 32, 201, 151;
}

:root, [data-bs-theme=light] {
  --bs-indigo-text-emphasis: #2c066b;
  --bs-indigo-bg-subtle: #e0d5fc;
  --bs-indigo-border-subtle: #b199f9;
  --bs-purple-text-emphasis: #3c1869;
  --bs-purple-bg-subtle: #e2d9f5;
  --bs-purple-border-subtle: #bb9de8;
  --bs-pink-text-emphasis: #6d1244;
  --bs-pink-bg-subtle: #f9d6e6;
  --bs-pink-border-subtle: #f0a1c6;
  --bs-orange-text-emphasis: #7d3104;
  --bs-orange-bg-subtle: #ffe5cc;
  --bs-orange-border-subtle: #ffbe8a;
  --bs-teal-text-emphasis: #085f4b;
  --bs-teal-bg-subtle: #d2f4ec;
  --bs-teal-border-subtle: #94e3d1;
  --bs-body-bg-alt: #f8f9fa;
  --bs-body-bg-alt-rgb: 248, 249, 250;
}

[data-bs-theme=dark] {
  --bs-indigo-text-emphasis: #b19eff;
  --bs-indigo-bg-subtle: #1c0f3a;
  --bs-indigo-border-subtle: #4526a5;
  --bs-purple-text-emphasis: #c6b1ec;
  --bs-purple-bg-subtle: #1e1033;
  --bs-purple-border-subtle: #4e2a8c;
  --bs-pink-text-emphasis: #f09cc5;
  --bs-pink-bg-subtle: #300919;
  --bs-pink-border-subtle: #821848;
  --bs-orange-text-emphasis: #ffc48a;
  --bs-orange-bg-subtle: #331800;
  --bs-orange-border-subtle: #aa4600;
  --bs-teal-text-emphasis: #8ee7d4;
  --bs-teal-bg-subtle: #042520;
  --bs-teal-border-subtle: #0d6b5b;
  --bs-body-bg-alt: #343a40;
  --bs-body-bg-alt-rgb: 52, 58, 64;
}


[data-bs-theme=golden] {
  color-scheme: light;
  --bs-dark: #4a2f1b;
  --bs-dark-rgb: 74, 47, 27;

  --bs-gray-100: #f8edda; /* alt body bg */
  --bs-gray-200: #f3e2c8;
  --bs-gray-300: #ead6b8;
  --bs-gray-400: #d8bea0;
  --bs-gray-500: #c4a78a;
  --bs-gray-600: #9e7c63;
  --bs-gray-700: #75573f;
  --bs-gray-800: #5c3e29;
  --bs-gray-900: #4a2f1b; /* body-color */
  
  --bs-body-color: #4a2f1b;
  --bs-body-color-rgb: 74, 47, 27;
  --bs-body-bg: #fff3e0;
  --bs-body-bg-rgb: 255, 243, 224;
  --bs-body-bg-alt: #f8edda;
  --bs-body-bg-alt-rgb: 248, 237, 218;
  --bs-emphasis-color: #3b220f;
  --bs-emphasis-color-rgb: 59, 34, 15;
  --bs-secondary-color: rgba(74, 47, 27, 0.75);
  --bs-secondary-color-rgb: 74, 47, 27;
  --bs-secondary-bg: #ffe0b2;
  --bs-secondary-bg-rgb: 255, 224, 178;
  --bs-tertiary-color: rgba(74, 47, 27, 0.5);
  --bs-tertiary-color-rgb: 74, 47, 27;
  --bs-tertiary-bg: #ffcc80;
  --bs-tertiary-bg-rgb: 255, 204, 128;
  --bs-warning-border-subtle: #e5ce8e;
  --bs-heading-color: inherit;
  --bs-dark-text-emphasis: #4a2f1b;
  --bs-light-text-emphasis: #3b220f;
  --bs-dark-bg-subtle: #d7cfc5;
  --bs-secondary-border-subtle: #c8b8a8;
  --bs-indigo-text-emphasis: #4e0db2;
  --bs-indigo-bg-subtle: #e8defd;
  --bs-indigo-border-subtle: #b79dfa;
  --bs-purple-text-emphasis: #541a97;
  --bs-purple-bg-subtle: #f2e8fc;
  --bs-purple-border-subtle: #caa5ef;
  --bs-pink-text-emphasis: #a91d65;
  --bs-pink-bg-subtle: #fce4ee;
  --bs-pink-border-subtle: #f6a8cd;
  --bs-orange-text-emphasis: #a34700;
  --bs-orange-bg-subtle: #fff0dd;
  --bs-orange-border-subtle: #ffc490;
  --bs-teal-text-emphasis: #065f4b;
  --bs-teal-bg-subtle: #d2f4ec;
  --bs-teal-border-subtle: #78d5c4;
  --bs-link-color: #0c68f0;
  --bs-link-color-rgb: 12, 104, 240;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #bf360c;
  --bs-highlight-color: #4a2f1b;
  --bs-highlight-bg: #fff3e0;
  --bs-border-color: #d6bfa7;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.15);
  --bs-form-valid-color: #8bc34a;
  --bs-form-valid-border-color: #8bc34a;
  --bs-form-invalid-color: #e64a19;
  --bs-form-invalid-border-color: #e64a19;
}

[data-bs-theme=twilight] {
  color-scheme: dark;
  --bs-light: #f0f4ff;
  --bs-light-rgb: 240, 244, 255;
  
  --bs-gray-100: #f0f4ff;  /* pastelowy, prawie biały błękit */
  --bs-gray-200: #d6def7;  /* jaśniejszy od body-color */
  --bs-gray-300: #b0b9e6;  /* body-color */
  --bs-gray-400: #95a3d6;  /* lekko ciemniejszy niebieskoszary */
  --bs-gray-500: #7a8bbf;  /* odpowiednik gray-500 */
  --bs-gray-600: #5a6f99;  /* ciemny chłodny szary */
  --bs-gray-700: #3f546f;  /* zgaszony granat-szary */
  --bs-gray-800: #243b53;  /* body-bg-alt */
  --bs-gray-900: #152a3a;  /* body-bg */
  
  /* skróty */
  --bs-gray: var(--bs-gray-600);
  --bs-gray-dark: var(--bs-gray-800);
  /* === Kolory główne === */
  --bs-body-bg: #152a3a;        /* głęboki granat */
  --bs-body-bg-rgb: 21, 42, 58;
  --bs-body-bg-alt: #243b53;    /* ciemny niebieski */
  --bs-body-bg-alt-rgb: 36, 59, 83;

  --bs-body-color: #d0d8f0;     /* jaśniejszy szaroniebieski, percepcyjnie jak dark */
  --bs-body-color-rgb: 208, 216, 240;
  --bs-emphasis-color: #f0f4ff; /* jasny błękit, wyróżnia się */
  --bs-emphasis-color-rgb: 240, 244, 255;
  --bs-text-muted: #a8b0c8;     /* lekki szaroniebieski dla mniej ważnego tekstu */

  --bs-secondary-color: #c0c8ff;
  --bs-secondary-color-rgb: 192, 200, 255;
  --bs-tertiary-color: #a0acf0;
  --bs-tertiary-color-rgb: 160, 172, 240;

  /* === BG warstwy pomocnicze === */
  --bs-secondary-bg: #1b263b;
  --bs-secondary-bg-rgb: 27, 38, 59;
  --bs-tertiary-bg: #2a3c5a;
  --bs-tertiary-bg-rgb: 42, 60, 90;

  /* === Teksty Light / Dark === */
  --bs-light-text-emphasis: #f0f4ff;
  --bs-dark-text-emphasis: #d8e0f4;

  /* === Subtle backgrounds (analogiczne do dark) === */
  --bs-primary-bg-subtle: #031633;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #3a3602;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-indigo-bg-subtle: #1c0f3a;
  --bs-purple-bg-subtle: #1e1033;
  --bs-pink-bg-subtle: #300919;
  --bs-orange-bg-subtle: #331800;
  --bs-teal-bg-subtle: #042520;

  /* === Subtle borders === */
  --bs-primary-border-subtle: #084298;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-indigo-border-subtle: #4526a5;
  --bs-purple-border-subtle: #4e2a8c;
  --bs-pink-border-subtle: #821848;
  --bs-orange-border-subtle: #aa4600;
  --bs-teal-border-subtle: #0d6b5b;

  /* === Tekstowe akcenty === */
  --bs-primary-text-emphasis: #6ea8fe;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #f5e273;
  --bs-danger-text-emphasis: #ea868f;
  --bs-indigo-text-emphasis: #b19eff;
  --bs-purple-text-emphasis: #c6b1ec;
  --bs-pink-text-emphasis: #f09cc5;
  --bs-orange-text-emphasis: #ffc48a;
  --bs-teal-text-emphasis: #8ee7d4;

  /* === Pozostałe === */
  --bs-heading-color: inherit;
  --bs-link-color: #90caf9;
  --bs-link-hover-color: #bbdefb;
  --bs-link-color-rgb: 144, 202, 249;
  --bs-link-hover-color-rgb: 187, 222, 251;

  --bs-code-color: #82b1ff;
  --bs-highlight-color: #b0b9e6; /* dopasowany do body-color */
  --bs-highlight-bg: #283e57;

  --bs-border-color: #3a506b;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.1);

  --bs-form-valid-color: #81c784;
  --bs-form-valid-border-color: #81c784;
  --bs-form-invalid-color: #ef5350;
  --bs-form-invalid-border-color: #ef5350;
}

[data-bs-theme=light] .auto-invert {
    filter: invert(0);
}
[data-bs-theme=dark] .auto-invert {
    filter: invert(1);
}
[data-bs-theme=golden] .auto-invert {
    filter: invert(0);
}
[data-bs-theme=twilight] .auto-invert {
    filter: invert(1);
}

.bg-body-alt {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-alt-rgb), var(--bs-bg-opacity)) !important;
}

.bg-golden {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-golden-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-twilight {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-twilight-bg-rgb), var(--bs-bg-opacity)) !important;
}

.text-golden {
  color: var(--bs-golden-bg) !important;
}

.text-twilight {
  color: var(--bs-twilight-bg) !important;
}

.text-bg-golden {
  color: var(--bs-golden-color) !important;
  background-color: var(--bs-golden-bg) !important;
}
.text-bg-twilight {
  color: var(--bs-twilight-color) !important;
  background-color: var(--bs-twilight-bg) !important;
}

.text-link {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-link-color-rgb), var(--bs-text-opacity)) !important;
}

.text-code {
    color: var(--bs-code-color) !important
}

[data-bs-theme=light] .bg-auto-darklight {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}
[data-bs-theme=dark] .bg-auto-darklight {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}
[data-bs-theme=golden] .bg-auto-darklight {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}
[data-bs-theme=twilight] .bg-auto-darklight {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

[data-bs-theme=light] .text-auto-blackwhite {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=dark] .text-auto-blackwhite {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=golden] .text-auto-blackwhite {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=twilight] .text-auto-blackwhite {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

[data-bs-theme=light] .text-auto-whiteblack {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=dark] .text-auto-whiteblack {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=golden] .text-auto-whiteblack {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=twilight] .text-auto-whiteblack {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

[data-bs-theme=light] .text-auto-darklight {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=dark] .text-auto-darklight {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=golden] .text-auto-darklight {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=twilight] .text-auto-darklight {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

[data-bs-theme=light] .text-auto-lightdark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=dark] .text-auto-lightdark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=golden] .text-auto-lightdark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=twilight] .text-auto-lightdark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

[data-bs-theme=light] .link-auto-darklight {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
[data-bs-theme=light] .link-auto-darklight:hover, [data-bs-theme=light] .link-auto-darklight:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}
[data-bs-theme=dark] .link-auto-darklight {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
[data-bs-theme=dark] .link-auto-darklight:hover, [data-bs-theme=dark] .link-auto-darklight:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}
[data-bs-theme=golden] .link-auto-darklight {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
[data-bs-theme=golden] .link-auto-darklight:hover,
[data-bs-theme=golden] .link-auto-darklight:focus {
  color: rgba(56, 35, 20, var(--bs-link-opacity, 1)) !important; /* ciemniejszy brąz */
  -webkit-text-decoration-color: rgba(56, 35, 20, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: rgba(56, 35, 20, var(--bs-link-underline-opacity, 1)) !important;
}
[data-bs-theme=twilight] .link-auto-darklight {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
[data-bs-theme=twilight] .link-auto-darklight:hover,
[data-bs-theme=twilight] .link-auto-darklight:focus {
  color: rgba(184, 196, 255, var(--bs-link-opacity, 1)) !important; /* #b8c4ff */
  -webkit-text-decoration-color: rgba(184, 196, 255, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: rgba(184, 196, 255, var(--bs-link-underline-opacity, 1)) !important;
}

[data-bs-theme=golden] .bg-dark {
    background-color: var(--bs-golden-color) !important;
}

[data-bs-theme=twilight] .bg-light {
    background-color: var(--bs-twilight-color) !important;
}

[data-bs-theme=twilight] .btn-close {
  filter: var(--bs-btn-close-white-filter);
}

[data-bs-theme=light] .btn-auto-darklight {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}
[data-bs-theme=dark] .btn-auto-darklight {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}
[data-bs-theme=golden] .btn-auto-darklight {
  --bs-btn-color: #fff;
  --bs-btn-bg: #4a2f1b;
  --bs-btn-border-color: #4a2f1b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c3a22; /* nieco jaśniejszy */
  --bs-btn-hover-border-color: #452b19;
  --bs-btn-focus-shadow-rgb: 74, 47, 27; /* z #4a2f1b */
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #3b2415; /* ciemniejszy */
  --bs-btn-active-border-color: #3b2415;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.15);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #4a2f1b;
  --bs-btn-disabled-border-color: #4a2f1b;
}
[data-bs-theme=twilight] .btn-auto-darklight {
  --bs-btn-color: #000;                       /* kontrast z jasnym tłem */
  --bs-btn-bg: #d0d8f0;                       /* podniesiona jasność w porównaniu do poprzedniego */
  --bs-btn-border-color: #d0d8f0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #b8c4ff;                 /* delikatnie ciemniejszy od fill */
  --bs-btn-hover-border-color: #b8c4ff;
  --bs-btn-focus-shadow-rgb: 160, 172, 240;   /* cień dopasowany do hover */
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #aabaff;                /* percepcyjnie jak dark active */
  --bs-btn-active-border-color: #aabaff;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.12);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #d0d8f0;
  --bs-btn-disabled-border-color: #d0d8f0;
}

[data-bs-theme=light] .btn-outline-auto-darklight {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}
[data-bs-theme=dark] .btn-outline-auto-darklight {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}
[data-bs-theme=golden] .btn-outline-auto-darklight {
  --bs-btn-color: #4a2f1b;
  --bs-btn-border-color: #4a2f1b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4a2f1b;
  --bs-btn-hover-border-color: #4a2f1b;
  --bs-btn-focus-shadow-rgb: 74, 47, 27;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4a2f1b;
  --bs-btn-active-border-color: #4a2f1b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.15);
  --bs-btn-disabled-color: #4a2f1b;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #4a2f1b;
  --bs-gradient: none;
}
[data-bs-theme=twilight] .btn-outline-auto-darklight {
  --bs-btn-color: #d0d8f0;
  --bs-btn-border-color: #d0d8f0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d0d8f0;
  --bs-btn-hover-border-color: #d0d8f0;
  --bs-btn-focus-shadow-rgb: 208, 216, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #aabaff;                /* dopasowane do filled button */
  --bs-btn-active-border-color: #aabaff;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.1);
  --bs-btn-disabled-color: #a8b0c8;           /* lekki szaroniebieski */
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #d0d8f0;
  --bs-gradient: none;
}

[data-bs-theme=dark] .dropdown-menu {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

[data-bs-theme=twilight] .dropdown-menu {
  --bs-dropdown-color: #d0d8f0;                      /* spójne z body-color */
  --bs-dropdown-bg: #243b53;                         /* gray-800 */
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;                        /* zostawione jak w dark */
  --bs-dropdown-link-color: #d0d8f0;                 /* spójne z body-color */
  --bs-dropdown-link-hover-color: #f0f4ff;           /* jaśniejsze, jak #fff */
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(144, 202, 249, 0.15); /* delikatny błękit */
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;             /* primary */
  --bs-dropdown-link-disabled-color: #8f9cc0;        /* chłodniejszy gray-500 */
  --bs-dropdown-header-color: #8f9cc0;              /* chłodny gray-500 */
}

[data-bs-theme=golden] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2859, 34, 15, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

[data-bs-theme=twilight] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28240, 244, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.bg-orange {background: #fd7e14 !important;}
.text-bg-orange {
  color: #000 !important;
  background-color: #fd7e14 !important;
}


.carousel-light .carousel-control-prev-icon,
.carousel-light .carousel-control-next-icon {
  filter: none !important;
}
.carousel-light .carousel-indicators [data-bs-target] {
  background-color: #fff !important;
}
.carousel-light .carousel-caption {
  color: #fff !important;
}

.blinking {
    -webkit-animation: blink 1.0s infinite both;
    animation: blink 1.0s infinite both;
}

@-webkit-keyframes blink {
	0% {opacity:1;}
	49% {opacity:1;}
	50% {opacity:0;}
	100% {opacity:0;}
}

@keyframes blink {
	0% {opacity:1;}
	49% {opacity:1;}
	50% {opacity:0;}
	100% {opacity:0;}
}

.fade-blinking {
    -webkit-animation: fadeblink 2s infinite both;
            animation: fadeblink 2s infinite both;
}

@-webkit-keyframes fadeblink {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@keyframes fadeblink {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

.blinking-3 {
    -webkit-animation: blink 1.0s 3 both;
    animation: blink 1.0s 3 both;
}

.blinking-5 {
    -webkit-animation: blink 1.0s 5 both;
    animation: blink 1.0s 5 both;
}

.blinking-3-vis {
    -webkit-animation: blink 1.0s 3;
    animation: blink 1.0s 3;
}

.blinking-5-vis {
    -webkit-animation: blink 1.0s 5;
    animation: blink 1.0s 5;
}

.alert > :last-child {
  margin-bottom: 0;
}

.callout {
  --bs-link-color-rgb: var(--bs-callout-link);
  --bs-code-color: var(--bs-callout-code-color);
  padding: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  color: var(--bs-callout-color, inherit);
  background-color: var(--bs-callout-bg, var(--bs-gray-100));
  border-left: 0.25rem solid var(--bs-callout-border, var(--bs-gray-300));
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout + .callout {
  margin-top: -0.25rem;
}
.callout .highlight {
  background-color: rgba(0, 0, 0, 0.05);
}
.callout-primary {
  --bs-callout-color: var(--bs-primary-text-emphasis);
  --bs-callout-bg: var(--bs-primary-bg-subtle);
  --bs-callout-border: var(--bs-primary-border-subtle);
}
.callout-secondary {
  --bs-callout-color: var(--bs-secondary-text-emphasis);
  --bs-callout-bg: var(--bs-secondary-bg-subtle);
  --bs-callout-border: var(--bs-secondary-border-subtle);
}
.callout-info {
  --bs-callout-color: var(--bs-info-text-emphasis);
  --bs-callout-bg: var(--bs-info-bg-subtle);
  --bs-callout-border: var(--bs-info-border-subtle);
}
.callout-warning {
  --bs-callout-color: var(--bs-warning-text-emphasis);
  --bs-callout-bg: var(--bs-warning-bg-subtle);
  --bs-callout-border: var(--bs-warning-border-subtle);
}
.callout-success {
  --bs-callout-color: var(--bs-success-text-emphasis);
  --bs-callout-bg: var(--bs-success-bg-subtle);
  --bs-callout-border: var(--bs-success-border-subtle);
}
.callout-danger {
  --bs-callout-color: var(--bs-danger-text-emphasis);
  --bs-callout-bg: var(--bs-danger-bg-subtle);
  --bs-callout-border: var(--bs-danger-border-subtle);
}
.callout-light {
  --bs-callout-color: var(--bs-light-text-emphasis);
  --bs-callout-bg: var(--bs-light-bg-subtle);
  --bs-callout-border: var(--bs-light-border-subtle);
}
.callout-dark {
  --bs-callout-color: var(--bs-dark-text-emphasis);
  --bs-callout-bg: var(--bs-dark-bg-subtle);
  --bs-callout-border: var(--bs-dark-border-subtle);
}

.vh-50 {
    height: 50vh !important;
}

.w-40 {
    width: 40% !important;
}

.w-60 {
    width: 60% !important;
}

.w-70 {
    width: 70% !important;
}

.w-80 {
    width: 80% !important;
}

.w-90 {
    width: 90% !important;
}

.vh-25 {
  height: 25vh !important;
}

.vh-50 {
  height: 50vh !important;
}

.vh-75 {
  height: 75vh !important;
}

.mvh-25 {
    max-height: 25vh !important;
}

.mvh-50 {
    max-height: 50vh !important;
}

.mvh-75 {
    max-height: 75vh !important;
}

.mvh-100 {
    max-height: 100vh !important;
}

.text-indigo {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-indigo-rgb), var(--bs-text-opacity)) !important;
}

.text-purple {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-purple-rgb), var(--bs-text-opacity)) !important;
}

.text-pink {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-pink-rgb), var(--bs-text-opacity)) !important;
}

.text-orange {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-orange-rgb), var(--bs-text-opacity)) !important;
}

.text-teal {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-teal-rgb), var(--bs-text-opacity)) !important;
}

.text-indigo-emphasis {
  color: var(--bs-indigo-text-emphasis) !important;
}

.text-purple-emphasis {
  color: var(--bs-purple-text-emphasis) !important;
}

.text-pink-emphasis {
  color: var(--bs-pink-text-emphasis) !important;
}

.text-orange-emphasis {
  color: var(--bs-orange-text-emphasis) !important;
}

.text-teal-emphasis {
  color: var(--bs-teal-text-emphasis) !important;
}

.bg-indigo-subtle {
  background-color: var(--bs-indigo-bg-subtle) !important;
}

.bg-purple-subtle {
  background-color: var(--bs-purple-bg-subtle) !important;
}

.bg-pink-subtle {
  background-color: var(--bs-pink-bg-subtle) !important;
}

.bg-orange-subtle {
  background-color: var(--bs-orange-bg-subtle) !important;
}

.bg-teal-subtle {
  background-color: var(--bs-teal-bg-subtle) !important;
}


.alert-indigo {
  --bs-alert-color: var(--bs-indigo-text-emphasis);
  --bs-alert-bg: var(--bs-indigo-bg-subtle);
  --bs-alert-border-color: var(--bs-indigo-border-subtle);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border-color: var(--bs-alert-border-color);
}
.alert-purple {
  --bs-alert-color: var(--bs-purple-text-emphasis);
  --bs-alert-bg: var(--bs-purple-bg-subtle);
  --bs-alert-border-color: var(--bs-purple-border-subtle);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border-color: var(--bs-alert-border-color);
}
.alert-pink {
  --bs-alert-color: var(--bs-pink-text-emphasis);
  --bs-alert-bg: var(--bs-pink-bg-subtle);
  --bs-alert-border-color: var(--bs-pink-border-subtle);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border-color: var(--bs-alert-border-color);
}
.alert-orange {
  --bs-alert-color: var(--bs-orange-text-emphasis);
  --bs-alert-bg: var(--bs-orange-bg-subtle);
  --bs-alert-border-color: var(--bs-orange-border-subtle);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border-color: var(--bs-alert-border-color);
}
.alert-teal {
  --bs-alert-color: var(--bs-teal-text-emphasis);
  --bs-alert-bg: var(--bs-teal-bg-subtle);
  --bs-alert-border-color: var(--bs-teal-border-subtle);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border-color: var(--bs-alert-border-color);
}

.callout-indigo {
  --bs-callout-color: var(--bs-indigo-text-emphasis);
  --bs-callout-bg: var(--bs-indigo-bg-subtle);
  --bs-callout-border: var(--bs-indigo-border-subtle);
}

.callout-purple {
  --bs-callout-color: var(--bs-purple-text-emphasis);
  --bs-callout-bg: var(--bs-purple-bg-subtle);
  --bs-callout-border: var(--bs-purple-border-subtle);
}

.callout-pink {
  --bs-callout-color: var(--bs-pink-text-emphasis);
  --bs-callout-bg: var(--bs-pink-bg-subtle);
  --bs-callout-border: var(--bs-pink-border-subtle);
}

.callout-orange {
  --bs-callout-color: var(--bs-orange-text-emphasis);
  --bs-callout-bg: var(--bs-orange-bg-subtle);
  --bs-callout-border: var(--bs-orange-border-subtle);
}

.callout-teal {
  --bs-callout-color: var(--bs-teal-text-emphasis);
  --bs-callout-bg: var(--bs-teal-bg-subtle);
  --bs-callout-border: var(--bs-teal-border-subtle);
}

.btn-indigo {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6610f2;
  --bs-btn-border-color: #6610f2;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #520dc2;
  --bs-btn-hover-border-color: #4a0bb1;
  --bs-btn-focus-shadow-rgb: 102, 16, 242;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4a0bb1;
  --bs-btn-active-border-color: #42099f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6610f2;
  --bs-btn-disabled-border-color: #6610f2;
}

.btn-purple {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6f42c1;
  --bs-btn-border-color: #6f42c1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5a359a;
  --bs-btn-hover-border-color: #52328d;
  --bs-btn-focus-shadow-rgb: 111, 66, 193;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #52328d;
  --bs-btn-active-border-color: #4a2d7f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6f42c1;
  --bs-btn-disabled-border-color: #6f42c1;
}

.btn-pink {
  --bs-btn-color: #fff;
  --bs-btn-bg: #d63384;
  --bs-btn-border-color: #d63384;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #b02a6f;
  --bs-btn-hover-border-color: #a52867;
  --bs-btn-focus-shadow-rgb: 214, 51, 132;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #a52867;
  --bs-btn-active-border-color: #94255f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #d63384;
  --bs-btn-disabled-border-color: #d63384;
}

.btn-orange {
  --bs-btn-color: #000;
  --bs-btn-bg: #fd7e14;
  --bs-btn-border-color: #fd7e14;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #dc6510;
  --bs-btn-hover-border-color: #c95d0e;
  --bs-btn-focus-shadow-rgb: 253, 126, 20;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c95d0e;
  --bs-btn-active-border-color: #b6530d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #fd7e14;
  --bs-btn-disabled-border-color: #fd7e14;
}

.btn-teal {
  --bs-btn-color: #000;
  --bs-btn-bg: #20c997;
  --bs-btn-border-color: #20c997;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #1aa179;
  --bs-btn-hover-border-color: #18966f;
  --bs-btn-focus-shadow-rgb: 32, 201, 151;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #18966f;
  --bs-btn-active-border-color: #168b65;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #20c997;
  --bs-btn-disabled-border-color: #20c997;
}

.btn-outline-indigo {
  --bs-btn-color: #6610f2;
  --bs-btn-border-color: #6610f2;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6610f2;
  --bs-btn-hover-border-color: #6610f2;
  --bs-btn-focus-shadow-rgb: 102, 16, 242;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6610f2;
  --bs-btn-active-border-color: #6610f2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6610f2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6610f2;
  --bs-gradient: none;
}

.btn-outline-purple {
  --bs-btn-color: #6f42c1;
  --bs-btn-border-color: #6f42c1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6f42c1;
  --bs-btn-hover-border-color: #6f42c1;
  --bs-btn-focus-shadow-rgb: 111, 66, 193;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6f42c1;
  --bs-btn-active-border-color: #6f42c1;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6f42c1;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6f42c1;
  --bs-gradient: none;
}

.btn-outline-pink {
  --bs-btn-color: #d63384;
  --bs-btn-border-color: #d63384;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #d63384;
  --bs-btn-hover-border-color: #d63384;
  --bs-btn-focus-shadow-rgb: 214, 51, 132;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #d63384;
  --bs-btn-active-border-color: #d63384;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #d63384;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #d63384;
  --bs-gradient: none;
}

.btn-outline-orange {
  --bs-btn-color: #fd7e14;
  --bs-btn-border-color: #fd7e14;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #fd7e14;
  --bs-btn-hover-border-color: #fd7e14;
  --bs-btn-focus-shadow-rgb: 253, 126, 20;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #fd7e14;
  --bs-btn-active-border-color: #fd7e14;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fd7e14;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fd7e14;
  --bs-gradient: none;
}

.btn-outline-teal {
  --bs-btn-color: #20c997;
  --bs-btn-border-color: #20c997;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #20c997;
  --bs-btn-hover-border-color: #20c997;
  --bs-btn-focus-shadow-rgb: 32, 201, 151;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #20c997;
  --bs-btn-active-border-color: #20c997;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #20c997;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #20c997;
  --bs-gradient: none;
}

picture {
  margin: 0 0 1rem;
}

picture.w-100 img {
  width: 100%;
  height: auto;
}

picture.w-75 img {
  width: 75%;
  height: auto;
}

picture.w-50 img {
  width: 50%;
  height: auto;
}

picture.w-25 img {
  width: 25%;
  height: auto;
}

picture.img-center img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
