#nq-consent-dialog {
    font: 14px/1.65 system-ui, sans-serif;
    color: #342b25;
    background: #fffcf8;
    border: 1px solid #e8ddd2;
    box-shadow: 0 16px 56px #3828191a, 0 2px 8px #38281908;
}
#nq-consent-manage {
    position: static;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
}
.nq-consent-footer {
    padding: 20px;
    text-align: center;
}
#nq-consent-dialog {
    position: fixed;
    inset: auto auto max(72px, calc(env(safe-area-inset-bottom) + 64px)) max(24px, env(safe-area-inset-left));
    margin: 0;
    padding: 28px;
    width: min(480px, calc(100% - 48px));
    box-sizing: border-box;
    max-height: calc(100dvh - 100px);
    overflow: auto;
    overscroll-behavior: contain;
    border-radius: 24px;
    z-index: 2147483001;
    text-align: start;
}
#nq-consent-dialog::backdrop { background: #30251f66; backdrop-filter: blur(4px); }
#nq-consent-dialog [hidden] { display: none; }
#nq-consent-dialog .nq-consent-header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
#nq-consent-dialog .nq-consent-badge {
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    height: 46px;
    border-radius: 16px;
    color: #795137;
    background: #f3e8da;
}
#nq-consent-dialog .nq-consent-badge svg { width: 26px; height: 26px; }
#nq-consent-dialog h2 { font: 650 20px/1.3 system-ui, sans-serif; letter-spacing: -.4px; margin: 0; color: #342b25; }
#nq-consent-dialog p { margin: 0 0 16px; color: #6b5b50; }
#nq-consent-dialog label {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 10px 0;
    padding: 16px;
    border: 1px solid #e8ddd2;
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
}
#nq-consent-dialog label:has(input:checked) { border-color: #a28167; background: #faf5ee; }
#nq-consent-dialog input {
    appearance: none;
    position: relative;
    margin: 3px 0 0;
    flex: 0 0 38px;
    width: 38px;
    height: 22px;
    border: 1px solid #998a7f;
    border-radius: 999px;
    background: #e6dfd8;
    cursor: pointer;
}
#nq-consent-dialog input::after {
    content: '';
    position: absolute;
    inset-block-start: 2px;
    inset-inline-start: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px #342b2533;
}
#nq-consent-dialog input:checked { background: #70462f; border-color: #70462f; }
#nq-consent-dialog input:checked::after { inset-inline-start: 18px; }
#nq-consent-dialog .nq-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
#nq-consent-dialog button {
    font: 600 14px/1.4 system-ui, sans-serif;
    min-height: 46px;
    padding: 12px 18px;
    color: #533a29;
    background: #fffcf8;
    border: 1px solid #c1a891;
    border-radius: 12px;
    cursor: pointer;
}
#nq-consent-dialog .nq-consent-actions button { flex: 1 1 140px; }
#nq-consent-dialog button.nq-consent-primary { color: #fff; background: #70462f; border-color: #70462f; }
#nq-consent-dialog .nq-consent-privacy { margin: 20px 0 8px; font-size: 12px; line-height: 1.8; }
#nq-consent-dialog a { color: #70462f; text-decoration: underline; text-underline-offset: 3px; }
#nq-consent-dialog button.nq-consent-close { width: 100%; background: transparent; border-color: transparent; font-size: 12px; font-weight: 500; }
#nq-consent-dialog button:disabled { opacity: .6; cursor: wait; }
#nq-consent-dialog :is(button, input, a):focus-visible, #nq-consent-manage:focus-visible { outline: 3px solid #1c5d99; outline-offset: 3px; }
#nq-consent-dialog #nq-consent-error { color: #8c1c17; margin: 16px 0 0; }
#nq-consent-dialog #nq-consent-error:empty { display: none; }
@media (hover: hover) {
    #nq-consent-dialog button:hover:not(:disabled) { background: #f3e8da; }
    #nq-consent-manage:hover { text-decoration: underline; }
    #nq-consent-dialog button.nq-consent-primary:hover:not(:disabled) { background: #583522; }
    #nq-consent-dialog label:hover { border-color: #a28167; }
}
@media (prefers-reduced-motion: no-preference) {
    #nq-consent-dialog[open] { animation: nq-consent-appear .22s ease-out; }
    #nq-consent-dialog button, #nq-consent-manage { transition: background-color .15s ease, border-color .15s ease; }
    @keyframes nq-consent-appear { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 540px) {
    #nq-consent-dialog { inset-inline: 12px; padding: 22px; width: calc(100% - 24px); border-radius: 20px; }
    #nq-consent-dialog h2 { font-size: 18px; }
    #nq-consent-dialog .nq-consent-header { gap: 12px; }
    #nq-consent-dialog .nq-consent-actions button { flex-basis: 110px; }
}
@media (forced-colors: active) {
    #nq-consent-dialog input { appearance: auto; }
    #nq-consent-dialog input::after { display: none; }
}
