/* Przyklejony pasek CTA na telefonie: jeden komponent dla wszystkich stron z paskiem (audyt mobile M-04, M-25, M-51).
   Ciemny pasek przez całą szerokość, złoty przycisk ≥ 48 px, strzałka „→” po prawej (bez kierunku góra/dół,
   bo cel bywa wyżej albo niżej). Kiedy pasek ma sens, decyduje skrypt strony klasą is-on; pasek-cta.js
   dokłada is-schowany przy stopce i lokalnych CTA. Bez JS zostaje atrybut hidden z PHP. */
.z-pasek { display: none; }
@media (max-width: 759px) {
    :root { --z-pasek-h: 69px; }
    .z-pasek {
        display: flex;
        position: fixed;
        inset: auto 0 0;
        z-index: 40;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid rgb(232 201 120 / 28%);
        background: rgb(12 16 35 / 94%);
        box-shadow: 0 -8px 24px rgb(0 0 0 / 35%);
        visibility: hidden;
        translate: 0 100%;
        transition: translate .3s ease, visibility 0s .3s;
    }
    .z-pasek.is-on:not(.is-schowany) { visibility: visible; translate: none; transition: translate .3s ease; }
    /* Rezerwa pod paskiem: dół stopki (regulamin, polityka, ©) nie chowa się pod nim nawet bez JS chowania. */
    body:has(.z-pasek:not([hidden])) .zoriana-footer::after { content: ''; display: block; height: calc(var(--z-pasek-h) + env(safe-area-inset-bottom, 0px)); }
}
.z-pasek[hidden] { display: none; }
@media print { .z-pasek { display: none; } }
.z-pasek .z-pasek__btn {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    min-height: 48px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: 2px;
    background: var(--zoriana-cta);
    color: var(--zoriana-cta-ink);
    font: 600 15px/1.3 'Poppins', system-ui, sans-serif;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
    box-shadow: none;
    transition: background .3s;
}
.z-pasek .z-pasek__btn::after { content: '→'; content: '→' / ''; font-size: 1.125rem; transition: transform .3s; }
.z-pasek .z-pasek__btn:is(:hover, :focus-visible) { background: var(--zoriana-cta-hover); color: var(--zoriana-cta-ink); }
.z-pasek .z-pasek__btn:is(:hover, :focus-visible)::after { transform: translateX(4px); }
.z-pasek .z-pasek__btn:focus-visible { outline: 3px solid var(--zoriana-cta-hover); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    .z-pasek, .z-pasek.is-on:not(.is-schowany), .z-pasek .z-pasek__btn, .z-pasek .z-pasek__btn::after { transition: none; }
}
