/* ============================================================
   Ekran wsparcia (pełnoekranowy) — / (sklep donacyjny).
   Pełny ekran telefonu, edytowalna kwota wyśrodkowana, „zł" delikatnie
   na dole po prawej, karuzela produktów na mocny swipe. Bez sugerowanych kwot.
   Brand: granat #24324A · niebieski 1473C0.
   ============================================================ */
.paywin{
    position:fixed; inset:0; z-index:1200; height:100dvh; overflow:hidden;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;
    padding:max(20px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));
    background:linear-gradient(180deg,#ffffff 0%, #e9f1fb 100%);
    font-family:'Inter',system-ui,sans-serif;
    touch-action:pan-y; -webkit-user-select:none; user-select:none;
}
.paywin[hidden]{ display:none; }

/* zamknięcie (→ strona główna) */
.paywin__close{
    position:absolute; top:14px; right:14px; z-index:3;
    width:46px; height:46px; border-radius:50%; border:0; cursor:pointer;
    background:rgba(36,50,74,.07); color:#24324a; font-size:30px; line-height:44px; text-align:center;
}
.paywin__close:hover{ background:rgba(36,50,74,.14); }

/* scena produktu (przesuwa się przy swipe) */
.paywin__stage{ width:100%; display:flex; align-items:center; justify-content:center; will-change:transform,opacity; }
.paywin__card{ display:flex; flex-direction:column; align-items:center; gap:16px; pointer-events:none; }
.paywin__card.is-in{ animation:paywin-in .28s ease; }
@keyframes paywin-in{ from{ opacity:0; transform:translateY(10px) scale(.98); } to{ opacity:1; transform:none; } }
.paywin__visual{ width:min(58vw,240px); height:min(58vw,240px); display:flex; align-items:center; justify-content:center; }
.paywin__visual img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:24px; }
.paywin__visual.is-svg img{ width:64%; height:auto; border-radius:0; }
.paywin__name{ font-size:14px; letter-spacing:.18em; text-transform:uppercase; color:#5b6b82; font-weight:600; }

/* kwota — sama liczba, wyśrodkowana; „zł" delikatnie na dole po prawej */
.paywin__amount{ position:relative; display:block; width:min(440px,90vw); }
.paywin__input{
    width:100%; text-align:center; border:0; background:transparent; outline:none; padding:0;
    color:#24324a; font-weight:800; font-size:clamp(74px,24vw,140px); line-height:1;
    -moz-appearance:textfield; caret-color:#1473C0;
}
.paywin__input::-webkit-outer-spin-button,
.paywin__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.paywin__zl{ position:absolute; right:6px; bottom:12px; font-size:19px; font-weight:400; color:#aab6c6; letter-spacing:.02em; }

.paywin__err{ margin:2px 0 0; color:#c0392b; font-size:14px; font-weight:600; text-align:center; }
.paywin__err[hidden]{ display:none; }

/* kropki produktów */
.paywin__dots{ display:flex; gap:8px; }
.paywin__dot{ width:8px; height:8px; border-radius:50%; background:#cdd8e6; transition:transform .2s ease, background .2s ease; }
.paywin__dot.is-on{ background:#1473C0; transform:scale(1.4); }

/* KUP */
.paywin__form{ width:min(440px,90vw); }
.paywin__btn{
    width:100%; height:56px; border:0; border-radius:14px; cursor:pointer;
    background:#24324a; color:#f5f5f5; font-weight:700; font-size:17px; letter-spacing:.05em;
    transition:filter .15s ease;
}
.paywin__btn:hover{ filter:brightness(1.14); }

.paywin__hint{ font-size:12px; color:#9aa7b6; letter-spacing:.02em; }

/* niskie ekrany (klawiatura na telefonie) — kompaktowo, by KUP był widoczny */
@media (max-height:680px){
    .paywin{ gap:12px; justify-content:flex-start; padding-top:max(16px,env(safe-area-inset-top)); }
    .paywin__stage{ margin-top:30px; }
    .paywin__visual{ width:min(40vw,150px); height:min(40vw,150px); }
    .paywin__input{ font-size:clamp(58px,18vw,104px); }
    .paywin__name{ font-size:12px; }
}
@media (max-height:540px){
    .paywin__visual{ width:96px; height:96px; }
    .paywin__input{ font-size:64px; }
    .paywin__hint{ display:none; }
}
