/**
 * Nexar Cookie Consent — scoped, isolated styles.
 * All selectors prefixed with .ncc- so nothing collides with the theme.
 *
 * Layout matches reference image:
 *   bottom-centered bar, single message line + Cookie Policy link,
 *   centered Reject + Accept buttons, no preferences modal, no manage pill.
 */

/* Root: fixed bottom-center wrapper. Hidden until consent state resolved. */
.ncc-root[hidden] { display: none !important; }
.ncc-root {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    z-index: 999999;
    width: min(640px, calc(100vw - 32px));
    font-family: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #1a1a1a;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    pointer-events: none;
}
.ncc-root * { box-sizing: border-box; }
.ncc-root .ncc-banner { pointer-events: auto; }

/* ── Banner ──────────────────────────────────────────── */
.ncc-banner {
    width: 100%;
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 22px 28px 22px;
    transform: translateY(40px);
    opacity: 0;
    transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.45s ease;
    text-align: center;
}
.ncc-banner[hidden] { display: none; }
.ncc-root.is-open .ncc-banner { transform: translateY(0); opacity: 1; }

.ncc-banner__msg {
    margin: 0 0 16px 0;
    font-size: 14px;
    color: #333;
}
.ncc-banner__msg a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.ncc-banner__msg a:hover { color: #150089; }

.ncc-banner__actions {
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
.ncc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 10px 24px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: inherit;
    transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease, filter 0.2s ease;
    text-decoration: none;
}
.ncc-btn:focus { outline: 2px solid #1CD47F; outline-offset: 2px; }
.ncc-btn:active { transform: translateY(1px); }
.ncc-btn--accept {
    background: linear-gradient(90deg, #1CD47F 0%, #3699FD 100%);
    color: #ffffff;
}
.ncc-btn--accept:hover { filter: brightness(1.05); }
.ncc-btn--reject {
    background: #f1f1f1;
    color: #333;
}
.ncc-btn--reject:hover { background: #e6e6e6; }

/* ── Responsive ─────────────────────────────────────── */
@media (max-width: 480px) {
    .ncc-root { bottom: 12px; width: calc(100vw - 24px); }
    .ncc-banner { padding: 18px 18px 18px; }
    .ncc-banner__msg { font-size: 13px; }
    .ncc-btn { font-size: 13px; padding: 9px 18px; min-width: 0; flex: 1 1 0; }
    .ncc-banner__actions { display: flex; width: 100%; }
}
