/* STARCORE: baner zgody na cookies (2026-09-26). Samodzielne kolory, bo ten sam baner jest na stronie,
   w briefie i na stronach błędów. „Akceptuję” i „Tylko niezbędne” mają ten sam rozmiar i wagę (AP/EDPB).
   Kompaktowy (prośba właściciela: o połowę mniejszy). */
.sc-consent[hidden] { display: none !important; }
.sc-consent {
    position: fixed; z-index: 2147483000; right: 16px; bottom: 16px;
    width: 360px; max-width: calc(100vw - 32px);
    padding: 12px 14px; border-radius: 12px;
    background: rgba(8, 12, 24, .97); color: #e7ecf7;
    border: 1px solid rgba(110, 168, 255, .28);
    box-shadow: 0 16px 40px -16px rgba(0, 0, 0, .7);
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 12.5px; line-height: 1.45;
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.sc-consent h2 { margin: 0 0 3px; font-family: 'Space Grotesk', 'Plus Jakarta Sans', system-ui, sans-serif; font-size: 13.5px; font-weight: 700; color: #fff; }
.sc-consent p { margin: 0 0 9px; color: #b8c3da; }
.sc-consent a { color: #8fb8ff; text-decoration: underline; text-underline-offset: 2px; }
.sc-consent-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.sc-consent-btn {
    flex: 1 1 0; min-height: 32px; padding: 6px 10px; border-radius: 8px;
    font: inherit; font-weight: 700; font-size: 12.5px; cursor: pointer; white-space: nowrap;
    border: 1px solid rgba(143, 184, 255, .55); background: rgba(255, 255, 255, .06); color: #fff;
    transition: background .15s ease, border-color .15s ease;
}
.sc-consent-btn:hover { background: rgba(255, 255, 255, .12); }
.sc-consent-btn.is-primary { background: #2e6bff; border-color: #2e6bff; }
.sc-consent-btn.is-primary:hover { background: #4a80ff; }
.sc-consent-btn:focus-visible, .sc-consent-link:focus-visible, .sc-consent-switch input:focus-visible + span { outline: 2px solid #f5a524; outline-offset: 2px; }
.sc-consent-link { flex: 1 0 100%; padding: 2px 0 0; background: none; border: 0; color: #8fb8ff; font: inherit; font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; text-align: left; }
.sc-consent-settings { display: none; margin: 0 0 8px; }
.sc-consent.is-settings .sc-consent-settings { display: block; }
.sc-consent.is-settings [data-consent-settings] { display: none; }
.sc-consent-row { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 7px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.sc-consent-row strong { display: block; color: #fff; font-size: 12.5px; }
.sc-consent-row small { display: block; color: #9aa7c2; font-size: 11.5px; line-height: 1.4; }
.sc-consent-always { flex-shrink: 0; color: #7fd6a4; font-size: 11px; font-weight: 700; }
.sc-consent-switch { position: relative; flex-shrink: 0; width: 36px; height: 20px; }
.sc-consent-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.sc-consent-switch span { position: absolute; inset: 0; border-radius: 999px; background: rgba(255, 255, 255, .18); transition: background .15s ease; pointer-events: none; }
.sc-consent-switch span::after { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s ease; }
.sc-consent-switch input:checked + span { background: #2e6bff; }
.sc-consent-switch input:checked + span::after { transform: translateX(16px); }
.sc-consent-save { display: none; }
.sc-consent.is-settings .sc-consent-save { display: block; }
.sc-consent-open { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
.sc-consent-open:hover { text-decoration: underline; }
/* 2026-09-26 (prośba właściciela): animacje w stylu strony: wjazd i wyjazd 3D, przepływający gradient
   na obramowaniu, przechył za kursorem z odblaskiem światła (zmienne ustawia public/js/consent.js). */
.sc-consent {
    transform-origin: 50% 100%;
    transform: perspective(900px) rotateX(var(--sc-rx, 0deg)) rotateY(var(--sc-ry, 0deg));
    transition: transform .25s ease-out;
    isolation: isolate;
}
.sc-consent::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
    background: linear-gradient(120deg, #2e6bff, #6ea8ff, #f5a524, #6ea8ff, #2e6bff);
    background-size: 300% 100%;
    animation: scBorder 6s linear infinite;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
}
.sc-consent::after {
    content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: -1;
    background: radial-gradient(260px circle at var(--sc-mx, 50%) var(--sc-my, 0%), rgba(110, 168, 255, .16), transparent 60%);
    opacity: .9;
}
.sc-consent.is-in { animation: scIn .7s cubic-bezier(.2, .9, .25, 1.12) both; }
.sc-consent.is-leaving { animation: scOut .42s cubic-bezier(.5, 0, .75, .3) both; pointer-events: none; }
.sc-consent.is-settings .sc-consent-settings { animation: scUnfold .35s ease-out both; }
.sc-consent h2 { display: flex; align-items: center; gap: 7px; }
.sc-consent-icon { flex-shrink: 0; filter: drop-shadow(0 2px 6px rgba(245, 165, 36, .45)); animation: scWobble 3.2s ease-in-out infinite; transform-origin: 50% 60%; }
.sc-consent-btn { transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .2s ease; }
.sc-consent-btn:hover { transform: translateY(-1px); }
.sc-consent-btn.is-primary:hover { box-shadow: 0 8px 22px -8px rgba(46, 107, 255, .8); }
.sc-consent-btn:active { transform: translateY(0) scale(.97); }
@keyframes scIn {
    0% { opacity: 0; transform: perspective(900px) translateY(60px) rotateX(55deg) scale(.86); filter: blur(8px); }
    55% { opacity: 1; filter: blur(0); }
    100% { opacity: 1; transform: perspective(900px) translateY(0) rotateX(0) scale(1); filter: blur(0); }
}
@keyframes scOut {
    0% { opacity: 1; transform: perspective(900px) translateY(0) rotateX(0) scale(1); filter: blur(0); }
    100% { opacity: 0; transform: perspective(900px) translateY(50px) rotateX(-40deg) scale(.88); filter: blur(6px); }
}
@keyframes scUnfold {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: none; }
}
@keyframes scBorder { to { background-position: 300% 0; } }
@keyframes scWobble { 0%, 100% { transform: rotate(0deg); } 20% { transform: rotate(-14deg); } 40% { transform: rotate(10deg); } 55% { transform: rotate(0deg); } }
@media (max-width: 480px) {
    .sc-consent { right: 8px; left: 8px; bottom: 8px; width: auto; max-width: none; max-height: calc(100vh - 16px); overflow-y: auto; }
    .sc-consent-btn { min-height: 38px; } /* wygodne trafienie palcem na telefonie */
}
@media (prefers-reduced-motion: reduce) {
    .sc-consent, .sc-consent *, .sc-consent::before { animation: none !important; transition: none !important; }
    .sc-consent { transform: none !important; }
}
