.language-switcher { position: relative; margin: 0; flex: 0 0 auto; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body:has(.language-switcher[open]) { overflow-x: clip; }
.language-trigger { display: flex; align-items: center; justify-content: center; gap: 7px; box-sizing: border-box; width: 76px; height: 44px; padding: 0 10px; border: 1px solid #b8c2cc; border-radius: 6px; background: #fff; color: #172033; cursor: pointer; list-style: none; font: 600 13px/1 system-ui, sans-serif; direction: ltr; }
.language-trigger::-webkit-details-marker { display: none; }
.language-trigger::marker { content: ''; }
.language-trigger img { flex: 0 0 22px; }
.language-code { white-space: nowrap; }
.language-trigger:hover, .language-switcher[open] .language-trigger { background: #edf4f7; border-color: #568296; }
.language-trigger:focus-visible, .language-option:focus-visible { outline: 3px solid #ffd447; outline-offset: 2px; }
.language-menu { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 1100; box-sizing: border-box; width: 232px; max-width: calc(100vw - 24px); max-height: min(540px, calc(100dvh - 120px)); overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid #d8e0e5; border-radius: 8px; background: #fff; color: #172033; box-shadow: 0 8px 24px rgb(0 0 0 / 16%); }
.language-menu-heading { padding: 10px 12px; border-bottom: 1px solid #e5eaed; margin-bottom: 4px; font: 600 14px/1.4 system-ui, sans-serif; }
.language-list { list-style: none; padding: 0; margin: 0; }
.language-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border-radius: 4px; color: #172033 !important; background: #fff; text-decoration: none !important; font: 500 16px/1.4 system-ui, sans-serif; direction: ltr; }
.language-option:hover, .language-option:focus-visible { background: #eef3f5; }
.language-option[aria-current="true"] { color: #14536b !important; background: #e3f1f4; font-weight: 700; }
.language-option-code { flex: 0 0 26px; text-align: center; color: #53656f; font-size: 11px; font-weight: 600; }
.language-option[aria-current="true"] .language-option-code { color: #14536b; }
.topbar .nav-links .language-list .language-option { display: flex; font-weight: 500; }
.topbar .nav-links .language-option[aria-current="true"] { font-weight: 700; }
.platform-header-tools .language-menu { inset-inline-start: 0; inset-inline-end: auto; }
.navbar-tools { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; margin-inline-start: auto; order: 0 !important; }
.navbar > .container-fluid { gap: 10px; }
.navbar .navbar-brand { margin-inline-end: 0; white-space: normal; }
.topbar .nav { flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
.topbar .nav-links { flex-wrap: wrap; margin-inline-start: auto; }
.platform-header-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.navbar .navbar-nav { flex-wrap: wrap; }
.navbar.navbar-expand-lg .navbar-collapse { flex-basis: 100%; order: 1; }
.mobile-quick-nav:has(a:nth-child(5)) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body, body * { letter-spacing: 0 !important; }
.topbar ~ main .hero h1 { font-size: 64px; }
.topbar ~ main .hero p { font-size: 20px; }
.topbar ~ main h2 { font-size: 36px; }
[dir="rtl"] .text-end { text-align: left !important; }
[dir="rtl"] .text-start { text-align: right !important; }
[dir="rtl"] .me-auto { margin-right: 0 !important; margin-left: auto !important; }
[dir="rtl"] .me-2 { margin-right: 0 !important; margin-left: .5rem !important; }
[dir="rtl"] input[type="email"], [dir="rtl"] input[type="tel"], [dir="rtl"] input[type="number"], [dir="rtl"] input[type="date"], [dir="rtl"] input[type="datetime-local"], .parking-coordinates { direction: ltr; }
[dir="rtl"] .schedule-board, [dir="rtl"] .schedule-grid { direction: ltr; }
@media (max-width: 991px) { .navbar-tools { margin-inline-start: auto; } .topbar ~ main .hero h1 { font-size: 44px; } }
@media (max-width: 575px) {
  .topbar .nav-links { flex: 0 1 auto; }
  .topbar .nav-links .button { width: auto; }
  .topbar ~ main .hero h1 { font-size: 36px; }
  .topbar ~ main h2 { font-size: 28px; }
  body:has(.mobile-quick-nav) { padding-bottom: calc(6rem + env(safe-area-inset-bottom, 0px)); }
  .mobile-quick-nav { bottom: calc(.75rem + env(safe-area-inset-bottom, 0px)); border-radius: 8px; }
  .mobile-quick-nav a { border-radius: 6px; padding: 4px 2px; justify-items: center; min-height: 58px; gap: 3px; }
  .mobile-quick-nav svg { width: 22px; height: 22px; }
  .mobile-quick-nav span { font-size: 11px; line-height: 1.2; white-space: nowrap; overflow-wrap: normal; }
  .btn, .nav-link, .dropdown-item, .form-control, .form-select { min-height: 44px; }
}
