/* Výzva na súhlas s novinkami (static/js/news_prompt.js, reviewscard/news_prompt.py).
   Spodný panel na mobile, karta v strede na širšej obrazovke. */
.np-backdrop {
    --np-bg: #ffffff;
    --np-ink: #171717;
    --np-muted: #57534e;
    --np-faint: #78716c;
    --np-btn: #171717;
    --np-btn-ink: #ffffff;
    position: fixed; inset: 0; z-index: 9999;
    display: flex; align-items: flex-end; justify-content: center;
    padding: 0;
    background: rgba(12, 10, 9, 0);
    transition: background .2s ease;
}
@media (prefers-color-scheme: dark) {
    .np-backdrop {
        --np-bg: #1c1917;
        --np-ink: #fafaf9;
        --np-muted: #d6d3d1;
        --np-faint: #a8a29e;
        --np-btn: #fafaf9;
        --np-btn-ink: #171717;
    }
}
.np-backdrop.is-open { background: rgba(12, 10, 9, .55); }
.np-sheet {
    width: 100%; max-width: 440px;
    box-sizing: border-box;
    padding: 26px 22px calc(22px + env(safe-area-inset-bottom, 0px));
    border-radius: 22px 22px 0 0;
    background: var(--np-bg); color: var(--np-ink);
    text-align: center;
    font-family: inherit;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, .25);
    transform: translateY(100%);
    transition: transform .26s cubic-bezier(.2, .8, .2, 1);
}
.np-backdrop.is-open .np-sheet { transform: none; }
.np-icon { font-size: 40px; line-height: 1; margin-bottom: 10px; }
.np-title { margin: 0 0 8px; font-size: 21px; line-height: 1.25; font-weight: 800; color: var(--np-ink); }
.np-text { margin: 0 0 20px; font-size: 15px; line-height: 1.5; color: var(--np-muted); }
.np-yes, .np-no {
    display: block; width: 100%; box-sizing: border-box;
    font: inherit; cursor: pointer; border: 0;
}
.np-yes {
    padding: 15px 18px; border-radius: 999px;
    background: var(--np-btn); color: var(--np-btn-ink);
    font-size: 16px; font-weight: 700;
}
.np-no {
    margin-top: 10px; padding: 10px;
    background: none; color: var(--np-muted);
    font-size: 14px; text-decoration: underline; text-underline-offset: 3px;
}
.np-yes:focus-visible, .np-no:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.np-yes:disabled, .np-no:disabled { opacity: .6; cursor: default; }
.np-legal { margin: 12px 0 0; font-size: 11.5px; line-height: 1.45; color: var(--np-faint); }
.np-done { margin: 4px 0 0; font-size: 15px; color: var(--np-muted); }
.np-sheet [hidden] { display: none; }
html.np-lock, html.np-lock body { overflow: hidden; }

@media (min-width: 640px) {
    .np-backdrop { align-items: center; padding: 24px; }
    .np-sheet { border-radius: 22px; transform: translateY(24px); opacity: 0;
        transition: transform .26s cubic-bezier(.2, .8, .2, 1), opacity .2s ease; }
    .np-backdrop.is-open .np-sheet { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .np-backdrop, .np-sheet { transition: none; }
}
