/* PROTECT ACT - public site look: square corners everywhere (boxy, "classic"), with Bootstrap's modern
   spacing, borders and focus outlines kept. Loaded after bootstrap.css by imsearch.asp, is_sub.asp and
   call_req.asp. */
:root, [data-bs-theme] {
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;
    --bs-border-radius-xl: 0;
    --bs-border-radius-xxl: 0;
    --bs-border-radius-2xl: 0;
    --bs-border-radius-pill: 0;
}
.btn, .form-control, .form-select, .form-check-input, .input-group-text, .card, .card-header, .card-footer,
.modal-content, .dropdown-menu, .dropdown-item, .alert, .badge, .nav-tabs .nav-link, .page-link, .list-group-item,
.datepicker, .datepicker table tr td, .datepicker table tr th, .datepicker table tr td span {
    border-radius: 0 !important;
}
.card, .modal-content { border-color: #b8c0c8; }
/* Pop-up close button: a square X box in the top right. */
.modal-header .btn-close { width: 2rem; height: 2rem; padding: 0; margin: 0 0 0 auto; border: 1px solid #8c96a0; background-size: .8rem; opacity: .85; }
.modal-header .btn-close:hover { opacity: 1; border-color: #495057; }
/* Footer text on the dark bar: light grey with enough contrast to read (WCAG 1.4.3). */
.oms-footer-text { color: #c3c9cf; }

/* Large keyboard-accessible language menu; wraps below branding on small screens. */
.public-language-menu { margin-left:auto; position:relative; color:#fff; }
.public-language-menu summary { cursor:pointer; padding:12px 20px; font-size:1.2rem; font-weight:700; border:2px solid #fff; border-radius:6px; min-height:50px; }
.public-language-menu summary:focus-visible,.public-language-options button:focus-visible { outline:3px solid #ffc107; outline-offset:3px; }
.public-language-options { position:absolute; right:0; top:100%; min-width:200px; padding:8px; background:#fff; border:1px solid #666; box-shadow:0 4px 12px #0005; z-index:1100; }
.public-language-options button { display:block; width:100%; text-align:left; padding:12px; font-size:1.15rem; background:#fff; color:#172b45; border:0; }
.public-language-options button:hover { background:#e9ecef; }
@media(max-width:600px) { .public-language-menu { margin-top:8px; } }
/* Top bar: one badge at the left, then the page title (wraps on narrow screens), then the language menu. Sticky: it
   stays at the top while scrolling but keeps its own space, so a two-line title never covers the page. */
.public-topbar { gap:10px 16px; padding:8px 16px; }
.public-topbar .public-topbar-badge { margin:0; padding:0; flex:0 0 auto; }
.public-topbar-title { flex:1 1 260px; min-width:0; margin:0; color:#fff; font-size:1.35rem; font-weight:700; line-height:1.3; }
.public-main { padding-top:24px; }

/* Keep the logging disclosure readable in both themes, including when requester details are withheld. */
.public-ip-notice { margin:0 0 16px; padding:12px 14px; border:1px solid #1f5fbf; border-left-width:4px; background:#fff; color:#000; font-size:1rem; font-weight:600; line-height:1.5; }

/* Attorney acknowledgments: identical controls and label alignment for audio and video. */
.public-request-consent { display:flex; align-items:flex-start; gap:.75rem; padding-left:0; min-height:2rem; }
.public-request-control { display:inline-flex; align-items:center; gap:.25rem; flex:0 0 auto; }
.public-request-consent .form-check-input { flex:0 0 1.375rem; width:1.375rem; height:1.375rem; margin:.12rem 0 0; float:none; border:2px solid #40566d; background-color:#fff; cursor:pointer; box-shadow:none; }
.public-request-consent .form-check-label { flex:1; min-width:0; font-size:1rem; font-weight:500; line-height:1.5; cursor:pointer; }
.public-request-consent .form-check-input:checked { background-color:#1f5fbf; border-color:#1f5fbf; }
.public-request-consent .form-check-input:focus-visible { outline:3px solid #1768c4; outline-offset:3px; box-shadow:none; }
[data-bs-theme=dark] .public-request-consent .form-check-input { border-color:#b7c5d4; background-color:#212529; }
[data-bs-theme=dark] .public-request-consent .form-check-input:checked { background-color:#1f5fbf; border-color:#1f5fbf; }
[data-bs-theme=dark] .public-request-consent .form-check-input:focus-visible { outline-color:#8ec5ff; }
.public-required-mark { color:#b42318; font-size:1.15em; font-weight:800; white-space:nowrap; }
.public-request-control .public-required-mark { line-height:1; }
[data-bs-theme=dark] .public-required-mark { color:#ff8f8f; }
.public-request-actions { margin-top:.75rem; }
.public-request-actions #btn_submit { min-height:44px; padding:.5rem 1.25rem; font-size:1.0625rem; font-weight:600; }
