html.fms-cookie-consent-scroll-lock {
    overflow: hidden !important;
    overscroll-behavior: none;
}

body.fms-cookie-consent-scroll-lock {
    inset-inline: 0;
    overflow: hidden !important;
    overscroll-behavior: none;
    position: fixed !important;
    width: 100%;
}

div:where(.swal2-container).fms-cookie-consent-container {
    backdrop-filter: blur(18px);
    background: rgba(0, 0, 0, 0.42) !important;
    overscroll-behavior: contain;
    touch-action: none;
    transition: backdrop-filter 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}

div:where(.swal2-container).fms-cookie-consent-container.swal2-backdrop-hide {
    backdrop-filter: blur(0);
    background: rgba(0, 0, 0, 0) !important;
}

div:where(.swal2-container) .fms-cookie-consent-popup {
    background: rgba(10, 14, 21, 0.97) !important;
    border: 1px solid rgba(190, 205, 220, 0.5) !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.58) !important;
    color: #f4f6f8 !important;
    filter: none !important;
    max-height: calc(100dvh - 32px);
    max-width: min(680px, calc(100vw - 28px));
    overflow-y: auto;
    padding: 24px !important;
    transform: none !important;
    width: 100%;
    overscroll-behavior: contain;
    touch-action: pan-y;
}

.fms-cookie-consent-title {
    color: #fff !important;
    font-size: 1.65rem !important;
    padding: 0 !important;
}

.fms-cookie-consent-copy {
    color: #dce2e8 !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
}

.fms-cookie-consent-copy p:last-child {
    margin-bottom: 0;
}

.fms-cookie-consent-actions {
    gap: 10px;
    margin: 20px 0 0 !important;
}

.fms-cookie-consent-confirm,
.fms-cookie-consent-secondary {
    border: 1px solid rgba(255, 255, 255, 0.66);
    border-radius: 6px;
    box-shadow: none;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    height: 44px;
    margin: 0 !important;
    min-width: 120px;
    padding: 0 18px;
}

.fms-cookie-consent-confirm { background: #087a25; }
.fms-cookie-consent-secondary { background: #343b45; }
.fms-cookie-consent-confirm:hover,
.fms-cookie-consent-confirm:focus-visible { background: #0a9130; }
.fms-cookie-consent-secondary:hover,
.fms-cookie-consent-secondary:focus-visible { background: #46505c; }

@media (max-width: 600px) {
    div:where(.swal2-container) .fms-cookie-consent-popup {
        padding: 20px 18px !important;
    }

    .fms-cookie-consent-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .fms-cookie-consent-confirm,
    .fms-cookie-consent-secondary {
        min-width: 0;
        width: 100%;
    }
}
