/* Cookie composition only: shared buttons, panel and consent rows keep their design-system styles. */
.sd-cookie-banner {
    bottom: 0;
    inset-inline: 0;
    max-height: 85dvh;
    overflow-y: auto;
    padding: 1rem 0;
    position: fixed;
    z-index: 1040;
}
.sd-cookie-banner .sd-public-panel {
    border: 1px solid var(--sd-border, #e5e7eb);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
}
.sd-cookie-azioni > .btn {
    flex: 1 1 10rem;
    white-space: normal;
}
#cookie-preferenze-dialogo .modal-dialog { max-width: 46rem; }
#cookie-preferenze-dialogo .modal-body { max-height: 75dvh; overflow-y: auto; }
[data-cookie-form] [data-cookie-feedback]:not(:empty),
.sd-cookie-banner [data-cookie-feedback]:not(:empty) { margin-top: 1rem; }
[data-cookie-form] [hidden], .sd-cookie-banner[hidden] { display: none !important; }
@media (max-width: 575.98px) {
    .sd-cookie-banner .sd-public-panel { padding: 1.25rem; }
    .sd-cookie-azioni { flex-direction: column; }
    .sd-cookie-azioni > .btn { flex-basis: auto; width: 100%; min-height: 44px; }
}
/* Doccure's public fixed header is at 9999: this modal and its own backdrop must cover it. */
#cookie-preferenze-dialogo { z-index: 10020; }
body.sd-cookie-modal-aperto > .modal-backdrop { z-index: 10010; }
/* All cookie choices use one shared action treatment. Doccure's gradient hover
   kept the blue foreground in Chrome; solid existing tokens preserve contrast. */
.sd-cookie-azioni .btn-outline-primary,
#cookie-preferenze-dialogo .modal-footer .btn-outline-primary {
    background-color: var(--sd-surface, #fff);
    background-image: none !important;
    border-color: var(--sd-primary-dark, #164a8a);
    color: var(--sd-primary-dark, #164a8a) !important;
}
.sd-cookie-azioni .btn-outline-primary:hover,
.sd-cookie-azioni .btn-outline-primary:focus-visible,
.sd-cookie-azioni .btn-outline-primary:active,
#cookie-preferenze-dialogo .modal-footer .btn-outline-primary:hover,
#cookie-preferenze-dialogo .modal-footer .btn-outline-primary:focus-visible,
#cookie-preferenze-dialogo .modal-footer .btn-outline-primary:active {
    background-color: var(--sd-primary-dark, #164a8a);
    background-image: none !important;
    border-color: var(--sd-primary-dark, #164a8a);
    color: #fff !important;
}
.sd-cookie-azioni .btn-outline-primary:focus-visible,
.sd-cookie-banner .btn:focus-visible,
[data-cookie-form] .btn:focus-visible,
[data-cookie-scelta]:focus-visible,
#cookie-preferenze-dialogo button:focus-visible,
[data-cookie-form] .btn:focus,
[data-cookie-form] .form-check-input[data-cookie-scelta]:focus {
    outline: 3px solid var(--sd-primary, #1e5faf);
    outline-offset: 3px;
}

/* The shared unchecked consent outline is too light against this surface. */
[data-cookie-form] .form-check-input[data-cookie-scelta] { border-color: var(--sd-primary-dark, #164a8a); transition: none; }
[data-cookie-form] .form-check-input[data-cookie-scelta]:checked {
    background-color: var(--sd-primary-dark, #164a8a);
    border-color: var(--sd-primary-dark, #164a8a);
}
.sd-cookie-banner .btn-link, [data-cookie-form] .btn-link { color: var(--sd-primary-dark, #164a8a); }
.sd-cookie-banner .btn, [data-cookie-form] .btn,
#cookie-preferenze-dialogo button { transition: none; }
/* Preserve the shared consent row at narrow widths and enlarged text. */
[data-cookie-form] .sd-booking-consent-body { min-width: 0; overflow-wrap: anywhere; }
