/* ==========================================
   dcCMS — zgody cookies: kafelek, okno ustawień, pływające ciasteczko (consent.js, rdzeń 1.1.0)
   Wygląd wzorowany na CookieConsent v2 (Orest Bida, licencja MIT — https://github.com/orestbida/cookieconsent);
   kod klas i znaczników własny. Projekt nadpisuje zmienne w swoim custom.css, np. :root {--cc-primary:#7a1f2b;}
   ========================================== */

:root {--cc-bg:#fff; --cc-text:#2d4156; --cc-primary:#2d4156; --cc-primary-text:#fff; --cc-primary-hover:#1d2e38; --cc-secondary:#eaeff2; --cc-secondary-text:#2d4156; --cc-secondary-hover:#d8e0e6;
       --cc-radius:.35em; --cc-btn-radius:4px; --cc-tg-off:#919ea6; --cc-tg-on:var(--cc-primary); --cc-tg-ro:#d5dee2; --cc-tg-knob:#fff; --cc-tg-icon:#ecf2fa;
       --cc-block-bg:#f0f4f7; --cc-block-bg-hover:#e9eff4; --cc-border:#f1f3f5; --cc-overlay:rgba(4,6,8,.85); --cc-scroll:#cfd5db; --cc-scroll-hover:#9199a0; --cc-width:30em;}

/* Wspólne */
.dc-cc, .dc-cc-modal {font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; font-size:16px; font-weight:400; color:var(--cc-text); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
.dc-cc *, .dc-cc-modal *, .dc-cc-fab * {box-sizing:border-box;}
.dc-cc-link {color:var(--cc-primary); font-weight:600; text-decoration:none; border-bottom:1px solid var(--cc-primary); cursor:pointer;}
.dc-cc-link:hover {border-color:transparent;}
.dc-cc-btn {flex:1; display:inline-block; padding:1em 1.7em; border:0; border-radius:var(--cc-btn-radius); background:var(--cc-secondary); color:var(--cc-secondary-text); font:inherit; font-size:.82em; font-weight:600; line-height:1.2; text-align:center; cursor:pointer; user-select:none; transition:background-color .25s ease;}
.dc-cc-btn:hover {background:var(--cc-secondary-hover);}
.dc-cc-btn--primary {background:var(--cc-primary); color:var(--cc-primary-text);}
.dc-cc-btn--primary:hover {background:var(--cc-primary-hover);}
.dc-cc-btn:focus-visible, .dc-cc-link:focus-visible, .dc-cc-fab:focus-visible, .dc-cc-cat__title:focus-visible, .dc-cc-modal__close:focus-visible {outline:2px solid var(--cc-primary); outline-offset:2px;}

/* Kafelek (lewy dolny róg) */
.dc-cc {position:fixed; left:1.25em; bottom:1.25em; z-index:9000; width:100%; max-width:var(--cc-width); padding:1.1em 1.5em 1.4em; background:var(--cc-bg); border-radius:var(--cc-radius); box-shadow:0 .625em 1.875em rgba(2,2,3,.28); line-height:normal; animation:dc-cc-in .25s ease;}
.dc-cc[hidden] {display:none;}
.dc-cc__title {display:flex; align-items:center; gap:.45em; margin:0 0 .7em; font-size:1.05em; font-weight:600;}
.dc-cc__icon {display:inline-flex; width:1.35em; height:1.35em; flex:0 0 auto;}
.dc-cc__icon svg {width:100%; height:100%;}
.dc-cc__text {margin:0; font-size:.9em; line-height:1.5em;}
.dc-cc__btns {display:flex; gap:1em; margin-top:1.4em;}
.dc-cc__btns--more {margin-top:.625em;}
@keyframes dc-cc-in {from {opacity:0; transform:translateY(1.6em);} to {opacity:1; transform:none;}}

/* Okno ustawień */
.dc-cc-modal {position:fixed; inset:0; margin:auto; width:calc(100% - 3.4em); max-width:45em; height:calc(100% - 2.5em); max-height:37.5em; padding:0; border:0; border-radius:var(--cc-radius); background:var(--cc-bg); box-shadow:0 13px 27px -5px rgba(3,6,9,.26); overflow:hidden;}
.dc-cc-modal[open] {display:flex; flex-direction:column;}
.dc-cc-modal::backdrop {background:var(--cc-overlay);}
.dc-cc-modal__hdr {display:flex; align-items:center; justify-content:space-between; gap:1em; flex:0 0 4.75em; padding:0 1.8em; border-bottom:1px solid var(--cc-border);}
.dc-cc-modal__brand {font-weight:600; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dc-cc-modal__logo {display:block; max-height:2.6em; max-width:12em; width:auto; height:auto;}
.dc-cc-modal__close {position:relative; flex:0 0 auto; width:2.45em; height:2.45em; padding:0; border:0; border-radius:var(--cc-btn-radius); background:var(--cc-secondary); cursor:pointer;}
.dc-cc-modal__close:hover {background:var(--cc-secondary-hover);}
.dc-cc-modal__close::before, .dc-cc-modal__close::after {content:""; position:absolute; left:50%; top:50%; width:1.5px; height:.9em; margin:-.45em 0 0 -.75px; border-radius:1em; background:var(--cc-secondary-text); transform:rotate(45deg);}
.dc-cc-modal__close::after {transform:rotate(-45deg);}
.dc-cc-modal__body {flex:1 1 auto; overflow-x:hidden; overflow-y:auto; padding:1.3em 1.8em;}
.dc-cc-modal__title {margin:0; font-weight:600;}
.dc-cc-modal__text {margin:.85em 0 2em; font-size:.9em; line-height:1.5em;}
.dc-cc-modal__btns {display:flex; gap:1em; flex:0 0 auto; padding:1em 1.8em; border-top:1px solid var(--cc-border);}

/* Kategorie — rozwijany blok ze strzałką i przełącznikiem */
.dc-cc-cat {margin-bottom:.5em; background:var(--cc-block-bg); border-radius:var(--cc-radius);}
.dc-cc-cat__head {position:relative;}
.dc-cc-cat__title {position:relative; display:block; width:100%; padding:1.3em 6.4em 1.3em 2.7em; border:0; border-radius:var(--cc-radius); background:none; color:inherit; font:inherit; font-size:.95em; font-weight:600; text-align:left; cursor:pointer; transition:background-color .25s ease;}
.dc-cc-cat__title:hover {background:var(--cc-block-bg-hover);}
.dc-cc-cat__title::before {content:""; position:absolute; left:1.2em; top:50%; padding:.2em; border:solid var(--cc-secondary-text); border-width:0 2px 2px 0; transform:translateY(-50%) rotate(45deg); transition:transform .2s ease;}
.dc-cc-cat--open .dc-cc-cat__title {border-bottom-left-radius:0; border-bottom-right-radius:0;}
.dc-cc-cat--open .dc-cc-cat__title::before {transform:translateY(-20%) rotate(225deg);}
.dc-cc-cat__desc {padding:1em; font-size:.9em; line-height:1.5em;}

/* Przełącznik */
.dc-cc-tg {position:absolute; right:1.2em; top:50%; width:3.4em; height:1.5em; margin-top:-.75em;}
.dc-cc-tg__input {position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; z-index:1; cursor:pointer;}
.dc-cc-tg__input:disabled {cursor:not-allowed;}
.dc-cc-tg__track {position:absolute; inset:0; border-radius:4em; background:var(--cc-tg-off); pointer-events:none; transition:background-color .25s ease;}
.dc-cc-tg__track::after {content:""; position:absolute; left:.125em; top:.125em; width:1.25em; height:1.25em; border-radius:100%; background:var(--cc-tg-knob); box-shadow:0 1px 2px rgba(24,32,35,.36); transition:transform .25s ease; z-index:1;}
.dc-cc-tg__input:checked + .dc-cc-tg__track {background:var(--cc-tg-on);}
.dc-cc-tg__input:checked + .dc-cc-tg__track::after {transform:translateX(1.9em);}
.dc-cc-tg__track--ro, .dc-cc-tg__input:checked + .dc-cc-tg__track--ro {background:var(--cc-tg-ro);}
.dc-cc-tg__track--ro::after {box-shadow:none;}
.dc-cc-tg__input:focus-visible + .dc-cc-tg__track {outline:2px solid var(--cc-primary); outline-offset:2px;}
.dc-cc-tg__on, .dc-cc-tg__off {position:absolute; top:0; width:50%; height:100%; transition:opacity .15s ease;}
.dc-cc-tg__on {left:0; opacity:0;}
.dc-cc-tg__off {right:0;}
.dc-cc-tg__on::before {content:""; position:absolute; left:.75em; top:.37em; padding:.1em .1em .45em; border:solid var(--cc-tg-icon); border-width:0 2px 2px 0; transform:rotate(45deg);}
.dc-cc-tg__off::before, .dc-cc-tg__off::after {content:""; position:absolute; right:.8em; top:.42em; width:.09375em; height:.7em; background:var(--cc-tg-icon); transform:rotate(45deg);}
.dc-cc-tg__off::after {transform:rotate(-45deg);}
.dc-cc-tg__input:checked + .dc-cc-tg__track .dc-cc-tg__on {opacity:1;}
.dc-cc-tg__input:checked + .dc-cc-tg__track .dc-cc-tg__off {opacity:0;}

/* Pasek przewijania okna (desktop) */
@media (min-width: 688px) {
    .dc-cc-modal__body::-webkit-scrollbar {width:.9em; background:transparent;}
    .dc-cc-modal__body::-webkit-scrollbar-thumb {background:var(--cc-scroll); border:.25em solid var(--cc-bg); border-radius:100em;}
    .dc-cc-modal__body::-webkit-scrollbar-thumb:hover {background:var(--cc-scroll-hover);}
}

/* Pływające ciasteczko — ponowne otwarcie ustawień */
.dc-cc-fab {position:fixed; left:10px; bottom:10px; z-index:8999; width:40px; height:40px; padding:0; border:0; background:none; cursor:pointer;}
.dc-cc-fab[hidden] {display:none;}
.dc-cc-fab svg {display:block; width:100%; height:100%; transition:transform .7s ease-in-out;}
.dc-cc-fab:hover svg {transform:rotate(360deg);}

/* Zaślepki osadzeń „kliknij, aby załadować” (EmbedGuard + mapy z bloku „Mapa Google”, rdzeń 1.2.0) */
.dc-embed {position:relative; width:100%; margin:1em 0; background:#0f172a; color:#fff; border-radius:var(--cc-radius); overflow:hidden; font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;}
.dc-embed--maps {background:#e8eef3; color:var(--cc-text);}
.dc-embed--loaded {background:none;}
.dc-embed__inner {position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.75em; padding:1.5em; text-align:center;}
.dc-embed__text {margin:0; max-width:32em; font-size:.9em; line-height:1.5;}
.dc-embed__btn {padding:.9em 1.6em; border:0; border-radius:var(--cc-btn-radius); background:var(--cc-primary); color:var(--cc-primary-text); font:inherit; font-size:.85em; font-weight:600; cursor:pointer; transition:background-color .25s ease;}
.dc-embed__btn:hover {background:var(--cc-primary-hover);}
.dc-embed--youtube .dc-embed__btn, .dc-embed--vimeo .dc-embed__btn {background:#fff; color:#0f172a;}
.dc-embed__more {padding:0; border:0; background:none; color:inherit; font:inherit; font-size:.8em; text-decoration:underline; opacity:.8; cursor:pointer;}
.dc-embed__btn:focus-visible, .dc-embed__more:focus-visible {outline:2px solid var(--cc-accent, #f59e0b); outline-offset:2px;}
.dc-embed__frame {position:absolute; inset:0; width:100%; height:100%; border:0;}
.dc-map {position:relative;}
.dc-map__ph {position:absolute; inset:0; margin:0; border-radius:0;}

/* Link „Ustawienia cookies” w stopce rdzenia */
.site-footer__consent {margin-left:12px; padding:0; border:0; background:none; color:inherit; font:inherit; text-decoration:underline; cursor:pointer;}

/* Telefon */
@media (max-width: 688px) {
    .dc-cc {left:1em; right:1em; bottom:1em; width:auto; max-width:100%; padding:1.4em;}
    .dc-cc__btns {flex-direction:column; gap:.625em;}
    .dc-cc-modal {width:100%; max-width:100%; height:100%; max-height:100%; border-radius:0;}
    .dc-cc-modal__hdr, .dc-cc-modal__body {padding-left:1.3em; padding-right:1.3em;}
    .dc-cc-modal__btns {flex-direction:column; gap:.625em; padding:1em 1.3em;}
    .dc-cc-cat__title {padding-top:1.2em; padding-bottom:1.2em;}
    .dc-cc-tg {right:1.1em; transform:scale(1.1);}
}

@media (prefers-reduced-motion: reduce) {
    .dc-cc, .dc-cc-fab svg, .dc-cc-tg__track, .dc-cc-tg__track::after {animation:none; transition:none;}
}
