/* Responsive fixes added during clean-up */
html, body { max-width: 100%; overflow-x: hidden; }
img, iframe, video { max-width: 100%; }
img { height: auto; }

/* nav: the desktop flag used a negative vh margin which broke on short screens */
.navbar .nav-flag { margin-top: -3.5rem; }
.navbar .navbar-toggler { background: transparent; }
@media (max-width: 1199.98px) {
  .navbar .dual-collapse2 { margin-left: 0 !important; margin-right: 0 !important; }
  .navbar .dropdown-menu { max-height: 60vh; overflow-y: auto; }
  header .container-fluid.me-5 { margin-right: 0 !important; }
}

/* open mobile menu sits above the floating side tabs */
.navbar { position: relative; z-index: 1035; }
.sticky-button { z-index: 1030; }

/* tables from the editor overflow on phones */
.wp-block-table, .table-responsive-auto { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table table { min-width: 520px; }
@media (max-width: 767.98px) {
  table { font-size: .875rem; }
  .row:not(.g-0):not(.gx-0):not(.g-1):not(.g-2):not(.g-3):not(.g-4):not(.g-5) { --bs-gutter-x: 1rem; }
  .row.g-5 { --bs-gutter-x: 1.5rem; }
  .d-flex.justify-content-between small.text-nowrap { white-space: normal !important; }
  .carousel-caption h1 { font-size: 1.35rem !important; }
  .carousel-caption { left: 5%; right: 5%; }
  .card-cover p[style*="20vh"] { margin-top: 12vh !important; }
  .display6, .display-6 { font-size: 1.6rem; }
  iframe[style*="60vh"] { height: 50vh !important; }
  .container-fluid.me-5 { margin-right: 0 !important; }
  .ms-5 { margin-left: 1rem !important; }
  .px-5 { padding-left: 1rem !important; padding-right: 1rem !important; }
}

/* long words / URLs (agent list, emails) */
td, .card-body, .accordion-body, .notice-body { overflow-wrap: anywhere; }

/* forms */
.cip-form .form-control, .cip-form .form-select { max-width: 100%; }

/* notice & promo boards */
.board-filter .btn { border-radius: 2rem; }
.board-filter .btn.active { background: #0d2f59; color: #fff; border-color: #0d2f59; }
.board-card { border: 0; border-radius: .75rem; box-shadow: 0 .25rem 1rem rgba(13,47,89,.08); transition: transform .15s ease, box-shadow .15s ease; }
.board-card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1.5rem rgba(13,47,89,.15); }
.board-card img { object-fit: cover; aspect-ratio: 16 / 9; border-radius: .75rem .75rem 0 0; }
.board-card .badge { font-weight: 500; letter-spacing: .03em; }
.notice-body { font-size: 1.05rem; line-height: 1.7; }
.notice-body img { border-radius: .5rem; }
.board-hero { background: linear-gradient(135deg, #0d2f59 0%, #237587 100%); color: #fff; }
.breadcrumb { list-style: none; padding-left: 0; }
.board-thumb { aspect-ratio: 16 / 9; border-radius: .75rem .75rem 0 0; background: linear-gradient(135deg, #0d2f59, #237587); color: rgba(255,255,255,.85); font-size: 3rem; }
.share-links a, .share-links button { width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; }
