dialog.modal {
    border: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    background: transparent;
    overflow-y: auto;
}
dialog.modal[open] { display: block; }
.modal-open { overflow: hidden; }
dialog::backdrop { background: rgb(0 0 0 / 65%); }
.public-gallery .modal-content { background: #111; color: #fff; }
.public-gallery .modal-dialog { max-width: min(1100px, 94vw); }
.public-gallery img { display: block; max-width: 100%; max-height: 75vh; margin: auto; object-fit: contain; }
.public-gallery .modal-footer { justify-content: center; gap: 1rem; }
.public-gallery .btn-close { filter: invert(1); }
.page-nav a { scroll-margin-top: 60px; }
.banner-controls { display: flex; justify-content: center; gap: .5rem; margin-top: .5rem; }
.banner-controls button { border: 1px solid #0e7bf7; border-radius: 50%; background: #fff; color: #0e7bf7; }
.banner-controls button[aria-pressed="true"] { background: #0e7bf7; color: #fff; }
.public-form-error { color: #b00020; }
.public-form-error:empty { display: none; }
.public-budget-range { display: grid; gap: .5rem; }
[hidden] { display: none !important; }

/* Preserve spacing between stacked actions and form labels. */
.btn.w-100 + .btn.w-100 { margin-top: .5rem; }
form label { margin-bottom: .5rem; }
.language-link[aria-current] { font-weight: bold; text-decoration: underline; }
