/* Bootstrap 5.3.8 migration layer — 2026-07-20 */
:root { --brand-blue: #428bca; --brand-blue-dark: #3276b1; }
html { scroll-padding-top: 76px; }
body { padding-top: 64px; }
.skip-link { position: fixed; z-index: 2000; top: -100px; left: 1rem; padding: .75rem 1rem; background: #fff; color: #000; border: 2px solid #000; }
.skip-link:focus { top: 1rem; }
#menu.navbar { background: var(--brand-blue) !important; border: 0; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
#menu .navbar-brand { display: flex; align-items: center; padding: .25rem .5rem; }
#menu .navbar-brand img { max-height: 48px; width: auto; }
#menu .nav-link { color: #fff !important; font-size: .78rem; font-weight: 700; letter-spacing: .025em; padding: 1rem .55rem; }
#menu .nav-link:hover, #menu .nav-link:focus, #menu .nav-link.show { background: var(--brand-blue-dark); text-decoration: none; }
#menu .dropdown-menu { max-height: min(75vh, 720px); overflow-y: auto; font-size: .9rem; }
#menu .dropdown-item { white-space: normal; }
#menu .navbar-toggler { border-color: rgba(255,255,255,.8); }
.nav-phone { white-space: nowrap; }
.carousel-item img { width: 100%; height: auto; }
.carousel-control-prev, .carousel-control-next { text-decoration: none; }
.media { display: flex; gap: 1rem; align-items: flex-start; }
.media .float-start { flex: 0 0 auto; }
.media-body { flex: 1 1 auto; min-width: 0; }
.media-heading { margin-top: 0; }
.well { padding: 1.25rem; margin-bottom: 1.25rem; background: #f8f9fa; border: 1px solid #dee2e6; border-radius: .375rem; }
.thumbnail { display: block; padding: .25rem; margin-bottom: 1.25rem; background: #fff; border: 1px solid #dee2e6; border-radius: .375rem; }
.accordion-header { padding: 0; margin: 0; text-transform: none; text-align: left; }
.accordion-button { font-weight: 700; text-transform: none; }
.accordion-button:not(.collapsed) { color: #173d66; background: #eef5fb; }
.faq-section .accordion { max-width: 960px; margin-inline: auto; }
.modal .btn-close { margin-left: auto; }
.myfooter { padding: 1.25rem 0; text-align: center; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (min-width: 992px) { .col-md-2-4 { flex: 0 0 auto; width: 20%; } }
@media (max-width: 991.98px) {
  body { padding-top: 58px; }
  #menu .navbar-collapse { max-height: calc(100vh - 58px); overflow-y: auto; }
  #menu .nav-link { padding: .75rem 1rem; }
  .navbar-lang { float: none !important; padding: .5rem 0; }
}
@media (max-width: 575.98px) {
  .media { flex-direction: column; text-align: center; }
  .float-start, .float-end { float: none !important; }
  h1 { font-size: clamp(1.75rem, 8vw, 2.35rem); }
  h2 { font-size: clamp(1.35rem, 6vw, 1.8rem); }
}

.reveal-pending { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.reveal-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal-pending { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }
