.nancys-consent-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: end center;
    padding: 20px;
    background: rgba(9, 25, 43, 0.42);
}

.nancys-consent-panel {
    width: min(760px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    padding: 24px;
    border-radius: 24px;
    background: #fffdf8;
    box-shadow: 0 22px 70px rgba(10, 27, 45, 0.24);
}

.nancys-consent-copy h2 {
    margin: 4px 0 8px;
}

.nancys-consent-copy p {
    margin: 0;
    line-height: 1.55;
}

.nancys-consent-kicker {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nancys-consent-categories {
    display: grid;
    gap: 10px;
    margin: 22px 0 14px;
}

.nancys-consent-category {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid rgba(16, 45, 72, 0.14);
    border-radius: 15px;
}

.nancys-consent-category input {
    margin-top: 4px;
}

.nancys-consent-category span {
    display: grid;
    gap: 3px;
}

.nancys-consent-category small {
    line-height: 1.45;
    opacity: 0.75;
}

.nancys-consent-links {
    margin: 14px 0;
}

.nancys-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.nancys-consent-actions button,
.nancys-consent-settings-button {
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid rgba(16, 45, 72, 0.18);
    border-radius: 999px;
    background: #ffffff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.nancys-consent-actions button.is-primary {
    border-color: #073c73;
    background: #073c73;
    color: #ffffff;
}

.nancys-consent-settings-button {
    position: fixed;
    left: 12px;
    bottom: 12px;
    z-index: 99990;
    min-height: 36px;
    padding: 7px 11px;
    font-size: 12px;
    opacity: 0.82;
}

@media (max-width: 640px) {
    .nancys-consent-overlay {
        padding: 10px;
    }

    .nancys-consent-panel {
        max-height: calc(100vh - 20px);
        padding: 19px;
        border-radius: 20px;
    }

    .nancys-consent-actions {
        display: grid;
    }

    .nancys-consent-actions button {
        width: 100%;
    }
}
