/* ─── Global site CSS (extracted from inline styles) ─── */

body {
  overflow: auto !important;
}

/* ─── Scroll-to-top button ─── */
#scrollTop {
  position: fixed;
  bottom: 100px;
  right: 24px;
  width: 48px;
  height: 48px;
  background: white;
  border: 1px solid #0E4C65;
  border-radius: 50%;
  display: none;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  z-index: 999;
}
#scrollTop:hover { background-color: #0E4C65; }
#scrollTop .material-icons { font-size: 20px; color: black; }
#scrollTop:hover .material-icons { color: #fafafa; }

/* ─── Prev / Next nav buttons ─── */
.prev-btn:hover,
.next-btn:hover  { background-color: #0E4C65; }
.prev-btn:hover .material-icons-2,
.next-btn:hover .material-icons-2 { color: #ffffff; }
.prev-btn:active,
.next-btn:active { background-color: #3E7084; }
.prev-btn:active .material-icons-2,
.next-btn:active .material-icons-2 { color: #ffffff; }
.prev-btn,
.next-btn { background-color: #ffffff; }
.prev-btn .material-icons-2,
.next-btn .material-icons-2 { color: #000000; }

/* ─── Swiper pagination ─── */
.swiper-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  position: absolute;
  bottom: 24px !important;
  width: 100%;
}
.swiper-pagination-bullet {
  width: 52px;
  height: 4px;
  background: #ffffff;
  border-radius: 99px;
  transition: background 0.3s ease;
}
.swiper-pagination-bullet-active { background: white; }
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 !important; }

/* ─── Webflow slider nav dots ─── */
.w-slider-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  position: absolute;
  bottom: 24px !important;
  width: 100%;
}
.w-slider-dot {
  width: 52px;
  height: 4px;
  background: #E0E7EB80;
  border-radius: 99px !important;
  transition: background 0.3s ease;
  cursor: pointer;
}
.w-slider-dot.w-active { background: white; }
.w-slider-nav .w-slider-dot { margin: 0 !important; }
.w-slider-nav.w-round > div { border-radius: 0; }

/* ─── Featured gallery stagger (desktop) ─── */
@media (min-width: 768px) {
  .featured-gallery-grid > div:nth-child(3n+2) { transform: translateY(56px); }
}

/* ─── Select2 custom styles ─── */
.select2-selection__arrow { display: none !important; }
.select2-results__option  { border-bottom: 1px solid #BFCDD9; }
.select2-selection--single::after {
  content: "expand_more";
  font-family: "Material Symbols Rounded", sans-serif !important;
  font-size: 24px;
  color: #1d1d1d;
  position: absolute;
  right: 0;
  top: 50%;
  font-weight: 200;
  transform: translateY(-50%);
  transition: transform 0.3s ease, color 0.3s ease;
  pointer-events: none;
}
.select2-container--open .select2-selection--single::after {
  transform: translateY(-50%) rotate(180deg);
  color: #0A4CA4;
}
.select2-dropdown { position: relative; border: 0; }
.select2-dropdown::after { content: none !important; }
.select2-results { box-shadow: 0 0 24px #00000014; }
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #495a69;
  font-size: 16px;
  font-weight: 500;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
  padding-right: 24px;
}
.select2-container .select2-results__option {
  padding: 16px;
  font-size: 16px;
  font-weight: 500;
  color: #495A69;
}
.select2-container--default .select2-results > .select2-results__options { max-height: 300px; }
.select2-container .select2-selection--single { height: 53px; }
.select2-container--default .select2-selection--single {
  align-content: center;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--outline-color);
}
.select2-search--dropdown { display: none; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #0E4C65;
  color: #fafafa;
}
.select2-results__option--selected {
  background-color: #0E4C65B2 !important;
  color: #fafafa !important;
}
.select2-container .select2-selection__clear {
  position: absolute !important;
  right: 42px;
  bottom: -10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  font-size: 30px;
  font-weight: 300 !important;
  cursor: pointer;
}

/* ─── Navbar dropdown link ─── */
.nav-dropdown-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.nav-dropdown-link .forward-icon {
  font-size: 18px;
  color: #0E4C65;
  transition: color 0.3s ease;
}
.nav-dropdown-link:hover .forward-icon,
.nav-dropdown-link:active .forward-icon { color: white !important; }

/* ─── Material icon transition ─── */
.material-icons { transition: transform 0.3s ease, opacity 0.3s ease; }
.material-icons.add    { transform: rotate(0deg); }
.material-icons.remove { transform: rotate(45deg); }

/* ─── Hamburger icon ─── */
.hamburger-icon {
  font-size: 30px;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.hamburger-icon.close { opacity: 0; transform: scale(0.8); }
.hamburger-icon.menu  { opacity: 1; transform: scale(1); }

/* ─── Mobile overrides ─── */
@media (max-width: 991px) {
  .select2-dropdown {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  body { overflow-x: hidden; }
}
