/* ============================================
   FIBULA DESTINATIONS COMPONENT v3.0
   ISOLATED CSS - Protected from external styles
============================================= */

/* =====
OVERWRITES
============================================= */
.whitespace-pre-line {
  white-space: normal !important;
}

/* ============================================
   ISOLATION LAYER - Prevents external CSS inheritance
============================================= */
#fibDestinations,
#fibDestinations * {
  box-sizing: border-box !important;
  text-align: left !important;
}

#fibDestinations {
  contain: content !important;
  isolation: isolate !important;
}

/* Reset common elements that might be affected by external CSS */
#fibDestinations img {
  max-width: 100% !important;
  height: auto !important;
  border: 0 !important;
  vertical-align: middle !important;
}

#fibDestinations button {
  font-family: inherit !important;
  cursor: pointer !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

#fibDestinations input,
#fibDestinations select,
#fibDestinations textarea {
  font-family: inherit !important;
  font-size: inherit !important;
  margin: 0 !important;
}

#fibDestinations ul,
#fibDestinations ol {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#fibDestinations h1,
#fibDestinations h2,
#fibDestinations h3,
#fibDestinations h4,
#fibDestinations h5,
#fibDestinations h6,
#fibDestinations p {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   CSS CUSTOM PROPERTIES
============================================= */
#fibDestinations,
#fibDrawer,
#fibMobileFilters,
#fibCompareModal,
#fibOverlay,
#fibMobileFiltersOverlay,
#fibCompareOverlay,
#fibToast {
  --fib-navy: #142347;
  --fib-navy-light: #1e3a5f;
  --fib-orange: #fa8c16;
  --fib-orange-light: #ffab40;
  --fib-orange-dark: #e07b00;
  --fib-white: #ffffff;
  --fib-gray-50: #f8fafc;
  --fib-gray-100: #f1f5f9;
  --fib-gray-200: #e2e8f0;
  --fib-gray-300: #cbd5e1;
  --fib-gray-400: #94a3b8;
  --fib-gray-500: #64748b;
  --fib-gray-600: #475569;
  --fib-gray-700: #334155;
  --fib-gray-900: #0f172a;
  --fib-success: #22c55e;
  --fib-info: #0ea5e9;
  --fib-warning: #f59e0b;
  --fib-danger: #ef4444;
  --fib-shadow-sm: 0 1px 2px rgba(20, 35, 71, 0.04);
  --fib-shadow: 0 2px 8px rgba(20, 35, 71, 0.06);
  --fib-shadow-md: 0 4px 16px rgba(20, 35, 71, 0.08);
  --fib-shadow-lg: 0 8px 32px rgba(20, 35, 71, 0.12);
  --fib-shadow-xl: 0 16px 48px rgba(20, 35, 71, 0.16);
  --fib-shadow-orange: 0 8px 24px rgba(250, 140, 22, 0.35);
  --fib-radius-sm: 8px;
  --fib-radius: 12px;
  --fib-radius-md: 16px;
  --fib-radius-lg: 20px;
  --fib-radius-xl: 24px;
  --fib-radius-full: 9999px;
  --fib-transition: 200ms ease;
  --fib-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   BASE CONTAINER
============================================= */
#fibDestinations {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--fib-navy) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  background: var(--fib-gray-50) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  border-radius: var(--fib-radius-lg) !important;
}

#fibDestinations a {
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

#fibDestinations img {
  max-width: 100% !important;
  height: auto !important;
  border: none !important;
}

#fibDestinations button {
  font-family: inherit !important;
  font-size: inherit !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
}

#fibDestinations input,
#fibDestinations select {
  font-family: inherit !important;
  font-size: inherit !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
}

#fibDestinations ul,
#fibDestinations ol {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#fibDestinations h1,
#fibDestinations h2,
#fibDestinations h3,
#fibDestinations h4,
#fibDestinations h5,
#fibDestinations h6,
#fibDestinations p {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   SKIP LINK & SR-ONLY
============================================= */
#fibDestinations .fib-skip-link {
  position: absolute !important;
  top: -40px !important;
  left: 0 !important;
  background: var(--fib-navy) !important;
  color: var(--fib-white) !important;
  padding: 8px 16px !important;
  z-index: 10000 !important;
  transition: top 0.2s !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  border-radius: 0 0 var(--fib-radius-sm) 0 !important;
}

#fibDestinations .fib-skip-link:focus {
  top: 0 !important;
}

#fibDestinations .fib-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ============================================
   SECTION HEADER
============================================= */
#fibDestinations .fib-section-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 28px !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

#fibDestinations .fib-section-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--fib-navy) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  letter-spacing: -0.5px !important;
}

#fibDestinations .fib-section-title i {
  color: var(--fib-orange) !important;
  font-size: 22px !important;
  display: inline-block !important;
}

#fibDestinations .fib-section-subtitle {
  font-size: 14px !important;
  color: var(--fib-gray-500) !important;
  margin-top: 6px !important;
  font-weight: 400 !important;
}

/* ============================================
   STATS BAR
============================================= */
#fibDestinations .fib-stats-bar {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 15px !important;
}

#fibDestinations .fib-stat {
  background: var(--fib-white) !important;
  padding: 10px 16px !important;
  border-radius: var(--fib-radius) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-shadow: var(--fib-shadow) !important;
  border: 2px solid transparent !important;
  transition: var(--fib-transition) !important;
}

#fibDestinations .fib-stat:hover {
  border-color: var(--fib-orange) !important;
  transform: translateY(-2px) !important;
}

#fibDestinations .fib-stat__icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: var(--fib-radius-sm) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-stat__icon--total {
  background: linear-gradient(135deg, var(--fib-navy) 0%, var(--fib-navy-light) 100%) !important;
}

#fibDestinations .fib-stat__icon--routes {
  background: linear-gradient(135deg, var(--fib-orange) 0%, var(--fib-orange-light) 100%) !important;
}

#fibDestinations .fib-stat__icon--seaside {
  background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%) !important;
}

#fibDestinations .fib-stat__icon--exotic {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important;
}

#fibDestinations .fib-stat__content {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

#fibDestinations .fib-stat__value {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--fib-navy) !important;
  line-height: 1 !important;
  display: block !important;
}

#fibDestinations .fib-stat__label {
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  display: block !important;
}

/* ============================================
   SEARCH BAR
============================================= */
#fibDestinations .fib-search-wrapper {
  position: relative !important;
  margin-bottom: 20px !important;
  display: block !important;
}

#fibDestinations .fib-search-box {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-radius: var(--fib-radius) !important;
  padding: 0 16px !important;
  transition: var(--fib-transition) !important;
  box-shadow: var(--fib-shadow) !important;
}

#fibDestinations .fib-search-box:focus-within {
  border-color: var(--fib-orange) !important;
  box-shadow: 0 0 0 4px rgba(250, 140, 22, 0.15) !important;
}

#fibDestinations .fib-search-box>i {
  color: var(--fib-gray-400) !important;
  font-size: 16px !important;
  margin-right: 12px !important;
  display: inline-block !important;
}

#fibDestinations .fib-search-input {
  flex: 1 !important;
  border: none !important;
  outline: none !important;
  padding: 14px 0 !important;
  font-size: 14px !important;
  color: var(--fib-navy) !important;
  background: transparent !important;
  min-width: 0 !important;
  display: block !important;
  width: 100% !important;
}

#fibDestinations .fib-search-input::placeholder {
  color: var(--fib-gray-400) !important;
}

#fibDestinations .fib-search-clear {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: var(--fib-radius-full) !important;
  background: var(--fib-gray-100) !important;
  color: var(--fib-gray-500) !important;
  margin-left: 8px !important;
  transition: var(--fib-transition) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

#fibDestinations .fib-search-clear:hover {
  background: var(--fib-gray-200) !important;
  color: var(--fib-navy) !important;
}

#fibDestinations .fib-mobile-filter-toggle {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
  border-radius: var(--fib-radius) !important;
  margin-left: 12px !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

#fibDestinations .fib-filter-badge {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  background: var(--fib-danger) !important;
  color: var(--fib-white) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: var(--fib-radius-full) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Search Suggestions */
#fibSearchSuggestions {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-radius: var(--fib-radius) !important;
  margin-top: 8px !important;
  box-shadow: var(--fib-shadow-lg) !important;
  z-index: 1000 !important;
  max-height: 350px !important;
  overflow-y: auto !important;
  display: none !important;
}

#fibSearchSuggestions.is-visible {
  display: block !important;
}

#fibDestinations .fib-search-suggestion {
  display: flex !important;
  align-items: center !important;
  padding: 12px 16px !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--fib-gray-100) !important;
}

#fibDestinations .fib-search-suggestion:last-child {
  border-bottom: none !important;
}

#fibDestinations .fib-search-suggestion:hover,
#fibDestinations .fib-search-suggestion.is-highlighted {
  background: var(--fib-gray-50) !important;
}

#fibDestinations .fib-search-suggestion__flag {
  width: 32px !important;
  height: 24px !important;
  border-radius: 4px !important;
  object-fit: cover !important;
  box-shadow: var(--fib-shadow-sm) !important;
  flex-shrink: 0 !important;
  display: block !important;
}

#fibDestinations .fib-search-suggestion__info {
  flex: 1 !important;
  min-width: 0 !important;
  display: block !important;
}

#fibDestinations .fib-search-suggestion__name {
  font-weight: 600 !important;
  color: var(--fib-navy) !important;
  font-size: 13px !important;
  display: block !important;
}

#fibDestinations .fib-search-suggestion__name mark {
  background: rgba(250, 140, 22, 0.2) !important;
  color: var(--fib-orange-dark) !important;
  padding: 0 2px !important;
  border-radius: 2px !important;
}

#fibDestinations .fib-search-suggestion__meta {
  font-size: 11px !important;
  color: var(--fib-gray-500) !important;
  display: block !important;
}

#fibDestinations .fib-search-no-results {
  padding: 20px 16px !important;
  text-align: center !important;
  color: var(--fib-gray-500) !important;
  font-size: 13px !important;
}

#fibDestinations .fib-search-recent-header {
  padding: 10px 16px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--fib-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-bottom: 1px solid var(--fib-gray-100) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--fib-gray-50) !important;
}

#fibDestinations .fib-search-suggestion--recent i {
  color: var(--fib-gray-400) !important;
  font-size: 12px !important;
  width: 32px !important;
  text-align: center !important;
  display: inline-block !important;
}

/* ============================================
   PERFECT NOW BANNER
============================================= */
#fibPerfectNow {
  display: none !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 20px !important;
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
  border: 2px solid #fcd34d !important;
  border-radius: var(--fib-radius) !important;
  margin-bottom: 20px !important;
}

#fibPerfectNow .fib-perfect-now__icon {
  width: 40px !important;
  height: 40px !important;
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%) !important;
  border-radius: var(--fib-radius-full) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--fib-white) !important;
  font-size: 18px !important;
  flex-shrink: 0 !important;
  animation: fib-sun-pulse 2s ease-in-out infinite !important;
}

@keyframes fib-sun-pulse {

  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4);
  }

  50% {
    transform: scale(1.05);
    box-shadow: 0 0 20px 5px rgba(245, 158, 11, 0.2);
  }
}

#fibPerfectNow .fib-perfect-now__content {
  flex: 1 !important;
  display: block !important;
}

#fibPerfectNow .fib-perfect-now__title {
  font-weight: 700 !important;
  color: #92400e !important;
  font-size: 13px !important;
  margin: 0 0 2px !important;
  display: block !important;
}

#fibPerfectNow .fib-perfect-now__text {
  font-size: 12px !important;
  color: #b45309 !important;
  margin: 0 !important;
  display: block !important;
}

#fibPerfectNow .fib-perfect-now__btn {
  background: var(--fib-white) !important;
  color: #92400e !important;
  padding: 8px 16px !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: var(--fib-shadow) !important;
  transition: var(--fib-transition) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#fibPerfectNow .fib-perfect-now__btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--fib-shadow-md) !important;
}

/* ============================================
   RECENTLY VIEWED
============================================= */
#fibRecentlyViewed {
  display: none !important;
  margin-bottom: 24px !important;
  padding: 16px 20px !important;
  background: var(--fib-white) !important;
  border-radius: var(--fib-radius) !important;
  box-shadow: var(--fib-shadow) !important;
}

#fibRecentlyViewed .fib-recently-viewed__title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--fib-gray-600) !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#fibRecentlyViewed .fib-recently-viewed__title i {
  color: var(--fib-gray-400) !important;
  display: inline-block !important;
}

#fibRecentlyViewed .fib-recently-viewed__list {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  padding-bottom: 4px !important;
  -webkit-overflow-scrolling: touch !important;
}

#fibRecentlyViewed .fib-recently-viewed__item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  background: var(--fib-gray-50) !important;
  border-radius: var(--fib-radius-full) !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  flex-shrink: 0 !important;
  border: 2px solid transparent !important;
}

#fibRecentlyViewed .fib-recently-viewed__item:hover {
  border-color: var(--fib-orange) !important;
  background: var(--fib-white) !important;
}

#fibRecentlyViewed .fib-recently-viewed__flag {
  width: 24px !important;
  height: 18px !important;
  border-radius: 3px !important;
  object-fit: cover !important;
  display: block !important;
}

#fibRecentlyViewed .fib-recently-viewed__name {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--fib-navy) !important;
  white-space: nowrap !important;
  display: block !important;
}

/* ============================================
   TRENDING
============================================= */
#fibTrending {
  display: none !important;
  margin-bottom: 24px !important;
  padding: 16px 20px !important;
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
  border-radius: var(--fib-radius) !important;
  border: 1px solid #fcd34d !important;
}

#fibTrending .fib-trending__title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #92400e !important;
  margin: 0 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#fibTrending .fib-trending__title i {
  color: #f59e0b !important;
  animation: fib-fire-pulse 1.5s infinite !important;
  display: inline-block !important;
}

@keyframes fib-fire-pulse {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.8;
    transform: scale(1.1);
  }
}

#fibTrending .fib-trending__list {
  display: flex !important;
  gap: 12px !important;
  overflow-x: auto !important;
  padding-bottom: 4px !important;
  -webkit-overflow-scrolling: touch !important;
}

#fibTrending .fib-trending__item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  background: var(--fib-white) !important;
  border-radius: var(--fib-radius) !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  flex-shrink: 0 !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.1) !important;
}

#fibTrending .fib-trending__item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2) !important;
}

#fibTrending .fib-trending__flag {
  width: 28px !important;
  height: 21px !important;
  border-radius: 4px !important;
  object-fit: cover !important;
  display: block !important;
}

#fibTrending .fib-trending__name {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #92400e !important;
  white-space: nowrap !important;
  display: block !important;
}

/* ============================================
   FILTERS BAR
============================================= */
#fibDestinations .fib-filters-bar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
  flex-wrap: wrap !important;
}

#fibDestinations .fib-filters-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

#fibDestinations .fib-filters-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

#fibDestinations .fib-filter-pills {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

#fibDestinations .fib-filter-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 16px !important;
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--fib-gray-600) !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  white-space: nowrap !important;
}

#fibDestinations .fib-filter-pill:hover {
  border-color: var(--fib-orange) !important;
  color: var(--fib-orange) !important;
}

#fibDestinations .fib-filter-pill.is-active {
  background: var(--fib-orange) !important;
  border-color: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-filter-pill i {
  font-size: 11px !important;
  display: inline-block !important;
}

#fibDestinations .fib-temp-filter {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-radius: var(--fib-radius) !important;
  min-width: 140px !important;
}

#fibDestinations .fib-temp-filter__label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--fib-gray-600) !important;
}

#fibDestinations .fib-temp-filter__label i {
  color: var(--fib-orange) !important;
  display: inline-block !important;
}

#fibDestinations .fib-temp-slider {
  width: 100% !important;
  height: 4px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background: linear-gradient(to right, var(--fib-info) 0%, var(--fib-orange) 50%, #ef4444 100%) !important;
  border-radius: 2px !important;
  outline: none !important;
  cursor: pointer !important;
  display: block !important;
}

#fibDestinations .fib-temp-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-orange) !important;
  cursor: pointer !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}

#fibDestinations .fib-filter-select {
  padding: 10px 36px 10px 14px !important;
  background-color: var(--fib-white) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-radius: var(--fib-radius) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--fib-gray-600) !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  min-width: 140px !important;
  display: block !important;
}

#fibDestinations .fib-filter-select:hover,
#fibDestinations .fib-filter-select:focus {
  border-color: var(--fib-orange) !important;
  outline: none !important;
}

#fibDestinations .fib-filter-select--small {
  min-width: 70px !important;
  padding-right: 30px !important;
}

/* ============================================
   RESULTS BAR
============================================= */
#fibDestinations .fib-results-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 20px !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

#fibDestinations .fib-results-left {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

#fibDestinations .fib-results-count {
  font-size: 13px !important;
  color: var(--fib-gray-500) !important;
  font-weight: 500 !important;
  display: block !important;
}

#fibDestinations .fib-compare-btn {
  display: none;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  background: var(--fib-navy) !important;
  color: var(--fib-white) !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  border: none !important;
}

#fibDestinations .fib-compare-btn:hover {
  background: var(--fib-navy-light) !important;
}

#fibDestinations .fib-compare-count {
  background: var(--fib-orange) !important;
  padding: 2px 8px !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 11px !important;
  display: inline-block !important;
}

#fibDestinations .fib-reset-btn {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  background: var(--fib-gray-100) !important;
  color: var(--fib-gray-600) !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  border: none !important;
}

#fibDestinations .fib-reset-btn:hover {
  background: var(--fib-gray-200) !important;
  color: var(--fib-navy) !important;
}

/* ============================================
   LOADING & EMPTY STATES
============================================= */
#fibDestinations .fib-loading {
  display: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 80px 20px !important;
  text-align: center !important;
}

#fibDestinations .fib-loading.is-visible {
  display: flex !important;
}

#fibDestinations .fib-loading-spinner {
  width: 48px !important;
  height: 48px !important;
  border: 4px solid var(--fib-gray-200) !important;
  border-top-color: var(--fib-orange) !important;
  border-radius: 50% !important;
  animation: fib-spin 0.8s linear infinite !important;
  margin-bottom: 16px !important;
  display: block !important;
}

@keyframes fib-spin {
  to {
    transform: rotate(360deg);
  }
}

#fibDestinations .fib-loading-text {
  font-size: 14px !important;
  color: var(--fib-gray-500) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  display: block !important;
}

#fibDestinations .fib-empty {
  display: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 60px 20px !important;
  text-align: center !important;
  background: var(--fib-white) !important;
  border-radius: var(--fib-radius-lg) !important;
  box-shadow: var(--fib-shadow) !important;
}

#fibDestinations .fib-empty-icon {
  font-size: 48px !important;
  color: var(--fib-gray-300) !important;
  margin-bottom: 20px !important;
  display: block !important;
}

#fibDestinations .fib-empty-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--fib-navy) !important;
  margin: 0 0 8px !important;
  display: block !important;
}

#fibDestinations .fib-empty-text {
  font-size: 14px !important;
  color: var(--fib-gray-500) !important;
  margin: 0 0 20px !important;
  display: block !important;
}

#fibDestinations .fib-empty-suggestions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin-bottom: 20px !important;
}

#fibDestinations .fib-empty-suggestion {
  padding: 8px 14px !important;
  background: var(--fib-gray-100) !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--fib-navy) !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  border: none !important;
  display: inline-block !important;
}

#fibDestinations .fib-empty-suggestion:hover {
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 24px !important;
  border-radius: var(--fib-radius) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  border: none !important;
}

#fibDestinations .fib-btn--primary {
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-btn--primary:hover {
  background: var(--fib-orange-dark) !important;
  transform: translateY(-2px) !important;
}

/* ============================================
   CARDS GRID
============================================= */
#fibDestinations .fib-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-bottom: 32px !important;
}

#fibDestinations .fib-card {
  position: relative !important;
  background: var(--fib-white) !important;
  border-radius: var(--fib-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--fib-shadow) !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  opacity: 0 !important;
  transform: translateY(30px) !important;
}

#fibDestinations .fib-card.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

#fibDestinations .fib-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--fib-shadow-lg) !important;
  border-color: var(--fib-orange) !important;
}

#fibDestinations .fib-card__image {
  position: relative !important;
  height: 180px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: var(--fib-gray-200) !important;
}

#fibDestinations .fib-card__img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
  display: block !important;
}

#fibDestinations .fib-card:hover .fib-card__img {
  transform: scale(1.05) !important;
}

#fibDestinations .fib-card__img-placeholder {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg, var(--fib-gray-200) 0%, var(--fib-gray-300) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--fib-gray-400) !important;
  font-size: 32px !important;
}

#fibDestinations .fib-card__overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(to top, rgba(20, 35, 71, 0.8) 0%, transparent 60%) !important;
  pointer-events: none !important;
}

#fibDestinations .fib-card__badges {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  z-index: 2 !important;
}

#fibDestinations .fib-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

#fibDestinations .fib-badge--perfect {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-badge--seaside {
  background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-badge--citybreak {
  background: linear-gradient(135deg, var(--fib-navy) 0%, var(--fib-navy-light) 100%) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-badge--exotic {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-card__compare {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 36px !important;
  height: 36px !important;
  background: var(--fib-white) !important;
  border-radius: var(--fib-radius-full) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
  opacity: 0 !important;
  transform: scale(0.8) !important;
  transition: var(--fib-transition) !important;
  color: var(--fib-gray-500) !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: var(--fib-shadow) !important;
}

#fibDestinations .fib-card:hover .fib-card__compare {
  opacity: 1 !important;
  transform: scale(1) !important;
}

#fibDestinations .fib-card__compare:hover {
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

#fibDestinations .fib-card__compare.is-active {
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
  opacity: 1 !important;
  transform: scale(1) !important;
}

#fibDestinations .fib-card__country {
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  right: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  z-index: 2 !important;
}

#fibDestinations .fib-card__flag {
  width: 36px !important;
  height: 27px !important;
  border-radius: 4px !important;
  object-fit: cover !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
  flex-shrink: 0 !important;
  display: block !important;
}

#fibDestinations .fib-card__name {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--fib-white) !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
  line-height: 1.2 !important;
  display: block !important;
}

#fibDestinations .fib-card__continent {
  font-size: 11px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-weight: 500 !important;
  display: block !important;
}

#fibDestinations .fib-card__content {
  padding: 16px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

#fibDestinations .fib-card__stats {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
}

#fibDestinations .fib-card__stat {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: var(--fib-gray-600) !important;
  font-weight: 600 !important;
}

#fibDestinations .fib-card__stat i {
  color: var(--fib-orange) !important;
  display: inline-block !important;
}

#fibDestinations .fib-card__weather {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

#fibDestinations .fib-card__weather--hot {
  background: #fef2f2 !important;
  color: #dc2626 !important;
}

#fibDestinations .fib-card__weather--warm {
  background: #fffbeb !important;
  color: #d97706 !important;
}

#fibDestinations .fib-card__weather--mild {
  background: #f0f9ff !important;
  color: #0284c7 !important;
}

#fibDestinations .fib-card__weather-month {
  font-size: 9px !important;
  font-weight: 600 !important;
  opacity: 0.8 !important;
  margin-left: 2px !important;
  display: inline !important;
}

#fibDestinations .fib-card__best-for {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
  min-height: 26px !important;
}

#fibDestinations .fib-best-for-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  background: var(--fib-gray-100) !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--fib-gray-600) !important;
  transition: var(--fib-transition) !important;
}

#fibDestinations .fib-best-for-tag--couples {
  background: #fce7f3 !important;
  color: #be185d !important;
}

#fibDestinations .fib-best-for-tag--families {
  background: #dbeafe !important;
  color: #1d4ed8 !important;
}

#fibDestinations .fib-best-for-tag--party {
  background: #f3e8ff !important;
  color: #7c3aed !important;
}

#fibDestinations .fib-best-for-tag--relaxation {
  background: #d1fae5 !important;
  color: #047857 !important;
}

#fibDestinations .fib-best-for-tag--adventure {
  background: #fed7aa !important;
  color: #c2410c !important;
}

#fibDestinations .fib-card__types {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}

#fibDestinations .fib-type-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

#fibDestinations .fib-type-badge--seaside {
  background: #e0f2fe !important;
  color: #0369a1 !important;
}

#fibDestinations .fib-type-badge--citybreak {
  background: var(--fib-gray-100) !important;
  color: var(--fib-navy) !important;
}

#fibDestinations .fib-type-badge--exotic {
  background: #d1fae5 !important;
  color: #047857 !important;
}

#fibDestinations .fib-card__attractions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 14px !important;
  min-height: 24px !important;
}

#fibDestinations .fib-attraction-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 11px !important;
  color: var(--fib-gray-500) !important;
}

#fibDestinations .fib-attraction-tag i {
  color: var(--fib-orange) !important;
  font-size: 10px !important;
  display: inline-block !important;
}

#fibDestinations .fib-card__footer {
  border-top: 1px solid var(--fib-gray-100) !important;
  padding-top: 14px !important;
  margin-top: auto !important;
}

#fibDestinations .fib-card__cta {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 20px !important;
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
  border-radius: var(--fib-radius) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: var(--fib-transition) !important;
  cursor: pointer !important;
  border: none !important;
  text-decoration: none !important;
}

#fibDestinations .fib-card__cta:hover {
  background: var(--fib-orange-dark) !important;
  box-shadow: var(--fib-shadow-orange) !important;
}

#fibDestinations .fib-card__cta i {
  transition: transform 0.2s ease !important;
  display: inline-block !important;
}

#fibDestinations .fib-card__cta:hover i {
  transform: translateX(4px) !important;
}

/* ============================================
   PAGINATION
============================================= */
#fibDestinations .fib-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 32px !important;
}

#fibDestinations .fib-page-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-radius: var(--fib-radius) !important;
  color: var(--fib-navy) !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
}

#fibDestinations .fib-page-btn:hover:not(:disabled) {
  border-color: var(--fib-orange) !important;
  color: var(--fib-orange) !important;
}

#fibDestinations .fib-page-btn:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

#fibDestinations .fib-page-numbers {
  display: flex !important;
  gap: 6px !important;
}

#fibDestinations .fib-page-num {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-radius: var(--fib-radius-sm) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--fib-navy) !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
}

#fibDestinations .fib-page-num:hover:not(.is-active) {
  border-color: var(--fib-orange) !important;
}

#fibDestinations .fib-page-num.is-active {
  background: var(--fib-orange) !important;
  border-color: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

/* ============================================
   TOAST
============================================= */
#fibToast {
  position: fixed !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(100px) !important;
  background: var(--fib-navy) !important;
  color: var(--fib-white) !important;
  padding: 14px 24px !important;
  border-radius: var(--fib-radius-full) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  z-index: 10000 !important;
  box-shadow: var(--fib-shadow-xl) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  font-family: 'Poppins', sans-serif !important;
}

#fibToast.is-visible {
  transform: translateX(-50%) translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#fibToast i {
  color: var(--fib-orange) !important;
  display: inline-block !important;
}

/* ============================================
   OVERLAY
============================================= */
#fibOverlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(20, 35, 71, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 9998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
}

#fibOverlay.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ============================================
   DRAWER
============================================= */
#fibDrawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 520px !important;
  height: 100% !important;
  background: var(--fib-white) !important;
  z-index: 9999 !important;
  transform: translateX(100%) !important;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: -8px 0 32px rgba(20, 35, 71, 0.15) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--fib-navy) !important;
  box-sizing: border-box !important;
  contain: layout style !important;
}

#fibDrawer.is-open {
  transform: translateX(0) !important;
}

#fibDrawer * {
  box-sizing: border-box !important;
  text-align: left !important;
}

#fibDrawer img {
  max-width: 100% !important;
  height: auto !important;
  border: 0 !important;
  vertical-align: middle !important;
}

#fibDrawer button {
  font-family: inherit !important;
  cursor: pointer !important;
  border: none !important;
  background: transparent !important;
}

#fibDrawer a {
  text-decoration: none !important;
  color: inherit !important;
}

#fibDrawer .fib-drawer__swipe-indicator {
  display: none !important;
  width: 40px !important;
  height: 5px !important;
  background: var(--fib-gray-300) !important;
  border-radius: 3px !important;
  margin: 10px auto !important;
}

#fibDrawer .fib-drawer__header {
  position: relative !important;
  height: 220px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

#fibDrawer .fib-drawer__image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: var(--fib-gray-200) !important;
}

#fibDrawer .fib-drawer__image::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(to top, rgba(20, 35, 71, 0.9) 0%, transparent 70%) !important;
}

#fibDrawer .fib-drawer__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--fib-navy) !important;
  font-size: 16px !important;
  cursor: pointer !important;
  transition: var(--fib-transition) !important;
  z-index: 10 !important;
  border: none !important;
  box-shadow: var(--fib-shadow-md) !important;
}

#fibDrawer .fib-drawer__close:hover {
  background: var(--fib-white) !important;
  transform: scale(1.05) !important;
}

#fibDrawer .fib-drawer__badges {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  z-index: 10 !important;
}

#fibDrawer .fib-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

#fibDrawer .fib-badge--seaside {
  background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%) !important;
  color: white !important;
}

#fibDrawer .fib-badge--citybreak {
  background: linear-gradient(135deg, #142347 0%, #1e3a5f 100%) !important;
  color: white !important;
}

#fibDrawer .fib-badge--exotic {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important;
  color: white !important;
}

#fibDrawer .fib-drawer__title-area {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  right: 20px !important;
  z-index: 10 !important;
}

#fibDrawer .fib-drawer__title-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 6px !important;
}

#fibDrawer .fib-drawer__flag {
  width: 48px !important;
  height: 36px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  display: block !important;
}

#fibDrawer .fib-drawer__title {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: white !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

#fibDrawer .fib-drawer__subtitle {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

#fibDrawer .fib-drawer__body-wrapper {
  position: relative !important;
  flex: 1 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

#fibDrawer .fib-drawer__body {
  padding: 20px !important;
  overflow-y: auto !important;
  flex: 1 !important;
  -webkit-overflow-scrolling: touch !important;
}

#fibDrawer .fib-drawer__stats-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

#fibDrawer .fib-drawer__stat {
  background: var(--fib-gray-50) !important;
  padding: 16px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

#fibDrawer .fib-drawer__stat-icon {
  width: 42px !important;
  height: 42px !important;
  background: linear-gradient(135deg, #fa8c16 0%, #ffab40 100%) !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: white !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
}

#fibDrawer .fib-drawer__stat-content {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

#fibDrawer .fib-drawer__stat-value {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--fib-navy) !important;
  line-height: 1 !important;
}

#fibDrawer .fib-drawer__stat-label {
  font-size: 11px !important;
  color: var(--fib-gray-500) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

#fibDrawer .fib-drawer__section {
  margin-bottom: 24px !important;
}

#fibDrawer .fib-drawer__section-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--fib-navy) !important;
  margin: 0 0 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#fibDrawer .fib-drawer__section-title i {
  color: var(--fib-orange) !important;
  display: inline-block !important;
}

#fibDrawer .fib-drawer__info-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}

#fibDrawer .fib-drawer__info-item {
  background: var(--fib-gray-50) !important;
  padding: 12px !important;
  border-radius: 8px !important;
  text-align: left !important;
}

#fibDrawer .fib-drawer__info-label {
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 4px !important;
}

#fibDrawer .fib-drawer__info-value {
  font-size: 13px !important;
  color: var(--fib-navy) !important;
  font-weight: 700 !important;
  display: block !important;
}

#fibDrawer .fib-drawer__attractions {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#fibDrawer .fib-drawer__attraction {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: var(--fib-gray-600) !important;
  padding: 8px !important;
  background: var(--fib-gray-50) !important;
  border-radius: 8px !important;
}

#fibDrawer .fib-drawer__attraction i {
  color: var(--fib-orange) !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

#fibDrawer .fib-drawer__regions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

#fibDrawer .fib-drawer__region {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px !important;
  background: var(--fib-gray-50) !important;
  border-radius: 12px !important;
  gap: 12px !important;
}

#fibDrawer .fib-drawer__region-info {
  flex: 1 !important;
  min-width: 0 !important;
}

#fibDrawer .fib-drawer__region-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--fib-navy) !important;
  margin-bottom: 4px !important;
  display: block !important;
}

#fibDrawer .fib-drawer__region-meta {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

#fibDrawer .fib-region-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  background: white !important;
  padding: 4px 8px !important;
  border-radius: 9999px !important;
}

#fibDrawer .fib-region-pill i {
  color: var(--fib-orange) !important;
  display: inline-block !important;
}

#fibDrawer .fib-drawer__airports {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#fibDrawer .fib-airport-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  background: var(--fib-gray-50) !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--fib-navy) !important;
}

#fibDrawer .fib-airport-tag i {
  color: var(--fib-orange) !important;
  display: inline-block !important;
}

#fibDrawer .fib-drawer__temps {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 8px !important;
}

#fibDrawer .fib-temp-card {
  background: var(--fib-gray-50) !important;
  padding: 10px 8px !important;
  border-radius: 8px !important;
  text-align: center !important;
  border: 2px solid transparent !important;
}

#fibDrawer .fib-temp-card.is-current {
  border-color: var(--fib-orange) !important;
  background: #fff7ed !important;
}

#fibDrawer .fib-temp-month {
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--fib-gray-500) !important;
  margin-bottom: 4px !important;
  display: block !important;
}

#fibDrawer .fib-temp-card.is-current .fib-temp-month {
  color: var(--fib-orange) !important;
  font-weight: 700 !important;
}

#fibDrawer .fib-temp-value {
  font-size: 14px !important;
  font-weight: 800 !important;
  display: block !important;
}

#fibDrawer .fib-temp-value--hot {
  color: #dc2626 !important;
}

#fibDrawer .fib-temp-value--warm {
  color: #d97706 !important;
}

#fibDrawer .fib-temp-value--mild {
  color: #0284c7 !important;
}

/* Similar Destinations */
#fibDrawer .fib-drawer__section--similar {
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
  margin: 20px -20px 0 !important;
  padding: 20px !important;
  border-top: 1px solid #bae6fd !important;
}

#fibDrawer .fib-drawer__similar {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}

#fibDrawer .fib-similar-card {
  background: white !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 2px 8px rgba(20, 35, 71, 0.06) !important;
  border: 2px solid transparent !important;
}

#fibDrawer .fib-similar-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 4px 16px rgba(20, 35, 71, 0.08) !important;
  border-color: var(--fib-orange) !important;
}

#fibDrawer .fib-similar-card__image {
  height: 70px !important;
  background-size: cover !important;
  background-position: center !important;
  position: relative !important;
}

#fibDrawer .fib-similar-card__flag {
  position: absolute !important;
  bottom: 6px !important;
  left: 6px !important;
  width: 24px !important;
  height: 18px !important;
  border-radius: 3px !important;
  object-fit: cover !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  display: block !important;
}

#fibDrawer .fib-similar-card__info {
  padding: 10px !important;
}

#fibDrawer .fib-similar-card__name {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--fib-navy) !important;
  margin-bottom: 4px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}

#fibDrawer .fib-similar-card__meta {
  display: flex !important;
  gap: 10px !important;
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
}

#fibDrawer .fib-similar-card__meta i {
  color: var(--fib-orange) !important;
  margin-right: 3px !important;
  display: inline-block !important;
}

/* Drawer Footer */
#fibDrawer .fib-drawer__footer {
  padding: 16px 20px !important;
  background: white !important;
  border-top: 1px solid var(--fib-gray-200) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

#fibDrawer .fib-drawer__best-time {
  flex: 1 !important;
}

#fibDrawer .fib-drawer__best-time-label {
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  font-weight: 600 !important;
  display: block !important;
}

#fibDrawer .fib-drawer__best-time-value {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--fib-navy) !important;
  display: block !important;
}

#fibDrawer .fib-drawer__btn--primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: var(--fib-orange) !important;
  color: white !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
}

#fibDrawer .fib-drawer__btn--primary:hover {
  background: #e07b00 !important;
  box-shadow: 0 8px 24px rgba(250, 140, 22, 0.35) !important;
  -content: center !important;
}

/* ============================================
   COMPARE MODAL
============================================= */
#fibCompareOverlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(20, 35, 71, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 9998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
}

#fibCompareOverlay.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

#fibCompareModal {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(0.9) !important;
  background: white !important;
  border-radius: 20px !important;
  z-index: 9999 !important;
  width: 90% !important;
  max-width: 800px !important;
  max-height: 85vh !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 16px 48px rgba(20, 35, 71, 0.16) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
}

#fibCompareModal.is-visible {
  transform: translate(-50%, -50%) scale(1) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#fibCompareModal * {
  box-sizing: border-box !important;
}

#fibCompareModal .fib-compare-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

#fibCompareModal .fib-compare-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #142347 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#fibCompareModal .fib-compare-title i {
  color: #fa8c16 !important;
  display: inline-block !important;
}

#fibCompareModal .fib-compare-close {
  width: 36px !important;
  height: 36px !important;
  background: #f1f5f9 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #475569 !important;
  cursor: pointer !important;
  border: none !important;
}

#fibCompareModal .fib-compare-body {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 20px !important;
}

#fibCompareModal .fib-compare-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 20px !important;
}

#fibCompareModal .fib-compare-item {
  background: #f8fafc !important;
  border-radius: 12px !important;
  padding: 20px !important;
  text-align: center !important;
}

#fibCompareModal .fib-compare-item__flag {
  width: 48px !important;
  height: 36px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  margin: 0 auto 12px !important;
  box-shadow: 0 2px 8px rgba(20, 35, 71, 0.06) !important;
  display: block !important;
}

#fibCompareModal .fib-compare-item__name {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #142347 !important;
  margin-bottom: 16px !important;
  display: block !important;
}

#fibCompareModal .fib-compare-item__stats {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

#fibCompareModal .fib-compare-stat {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 12px !important;
  background: white !important;
  border-radius: 8px !important;
}

#fibCompareModal .fib-compare-stat__label {
  font-size: 11px !important;
  color: #64748b !important;
  font-weight: 600 !important;
  display: block !important;
}

#fibCompareModal .fib-compare-stat__value {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #142347 !important;
  display: block !important;
}

/* ============================================
   RESPONSIVE - TABLET
============================================= */
@media (max-width: 1024px) {
  #fibDestinations .fib-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  #fibDestinations .fib-stats-bar {
    flex-wrap: wrap !important;
  }

  #fibDestinations .fib-stat {
    flex: 1 !important;
    min-width: 100px !important;
  }
}

/* ============================================
   RESPONSIVE - MOBILE
============================================= */
@media (max-width: 680px) {
  #fibDestinations {
    padding: 20px 16px !important;
  }

  #fibDestinations .fib-section-header {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #fibDestinations .fib-section-title {
    font-size: 18px !important;
  }

  #fibDestinations .fib-stats-bar {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  #fibDestinations .fib-stat {
    padding: 8px 12px !important;
  }

  #fibDestinations .fib-stat__icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px !important;
  }

  #fibDestinations .fib-stat__value {
    font-size: 16px !important;
  }

  #fibDestinations .fib-stat__label {
    font-size: 9px !important;
  }

  #fibDestinations .fib-mobile-filter-toggle {
    display: flex !important;
  }

  #fibDestinations .fib-filters-bar {
    display: none !important;
  }

  #fibDestinations .fib-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  #fibDestinations .fib-card__image {
    height: 160px !important;
  }

  #fibDestinations .fib-card__name {
    font-size: 15px !important;
  }

  #fibDestinations .fib-card__content {
    padding: 14px !important;
  }

  #fibDestinations .fib-card__cta {
    padding: 10px 16px !important;
    font-size: 11px !important;
  }

  #fibDestinations .fib-card__compare {
    opacity: 1 !important;
    transform: scale(1) !important;
  }

  #fibDestinations .fib-page-btn {
    width: 40px !important;
    height: 40px !important;
  }

  #fibDestinations .fib-page-num {
    min-width: 36px !important;
    height: 36px !important;
    font-size: 12px !important;
  }

  #fibPerfectNow {
    flex-wrap: wrap !important;
    padding: 12px 16px !important;
  }

  #fibPerfectNow .fib-perfect-now__btn {
    width: 100% !important;
    margin-top: 8px !important;
    justify-content: center !important;
  }

  #fibRecentlyViewed {
    margin: 0 -16px 20px !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
  }

  #fibTrending {
    margin: 0 -16px 20px !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
  }

  #fibDrawer {
    max-width: 100% !important;
  }

  #fibDrawer .fib-drawer__swipe-indicator {
    display: block !important;
  }

  #fibDrawer .fib-drawer__header {
    height: 180px !important;
  }

  #fibDrawer .fib-drawer__title {
    font-size: 20px !important;
  }

  #fibDrawer .fib-drawer__temps {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  #fibDrawer .fib-drawer__attractions {
    grid-template-columns: 1fr !important;
  }

  #fibDrawer .fib-drawer__similar {
    grid-template-columns: 1fr !important;
  }

  #fibDrawer .fib-similar-card {
    display: flex !important;
    align-items: center !important;
  }

  #fibDrawer .fib-similar-card__image {
    width: 80px !important;
    height: 60px !important;
    flex-shrink: 0 !important;
  }

  #fibDrawer .fib-similar-card__info {
    flex: 1 !important;
  }

  #fibDrawer .fib-drawer__footer {
    flex-direction: column !important;
  }

  #fibDrawer .fib-drawer__btn--primary {
    width: 100% !important;
    justify-content: center !important;
  }

  #fibCompareModal {
    width: 95% !important;
    max-height: 90vh !important;
  }

  #fibCompareModal .fib-compare-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   REDUCED MOTION
============================================= */
@media (prefers-reduced-motion: reduce) {

  #fibDestinations *,
  #fibDrawer *,
  #fibMobileFilters *,
  #fibCompareModal * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================
   MOBILE FILTERS - Default hidden on desktop
============================================= */
#fibMobileFiltersOverlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(20, 35, 71, 0.6) !important;
  z-index: 9998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
}

#fibMobileFiltersOverlay.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

#fibMobileFilters {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: var(--fib-white) !important;
  border-radius: 24px 24px 0 0 !important;
  z-index: 9999 !important;
  transform: translateY(100%) !important;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  max-height: 85vh !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 -8px 32px rgba(20, 35, 71, 0.15) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: var(--fib-navy) !important;
}

#fibMobileFilters.is-open {
  transform: translateY(0) !important;
}

#fibMobileFilters * {
  box-sizing: border-box !important;
}

#fibMobileFilters .fib-mobile-filters__drag {
  width: 40px !important;
  height: 5px !important;
  background: var(--fib-gray-300) !important;
  border-radius: 3px !important;
  margin: 12px auto !important;
}

#fibMobileFilters .fib-mobile-filters__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 20px 16px !important;
  border-bottom: 1px solid var(--fib-gray-200) !important;
}

#fibMobileFilters .fib-mobile-filters__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--fib-navy) !important;
  margin: 0 !important;
}

#fibMobileFilters .fib-mobile-filters__close {
  width: 36px !important;
  height: 36px !important;
  background: var(--fib-gray-100) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--fib-gray-600) !important;
  cursor: pointer !important;
  border: none !important;
}

#fibMobileFilters .fib-mobile-filters__body {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 20px !important;
  -webkit-overflow-scrolling: touch !important;
}

#fibMobileFilters .fib-mobile-filter-section {
  margin-bottom: 24px !important;
}

#fibMobileFilters .fib-mobile-filter-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--fib-gray-600) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 12px !important;
  display: block !important;
}

#fibMobileFilters .fib-mobile-filter-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

#fibMobileFilters .fib-mobile-filter-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 18px !important;
  background: var(--fib-gray-100) !important;
  border: 2px solid transparent !important;
  border-radius: 9999px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--fib-gray-600) !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  min-height: 44px !important;
}

#fibMobileFilters .fib-mobile-filter-pill.is-active {
  background: var(--fib-orange) !important;
  border-color: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

#fibMobileFilters .fib-mobile-filter-select {
  width: 100% !important;
  padding: 14px 40px 14px 16px !important;
  background-color: var(--fib-gray-100) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  border: 2px solid transparent !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--fib-navy) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 48px !important;
}

#fibMobileFilters .fib-mobile-filters__footer {
  padding: 16px 20px !important;
  border-top: 1px solid var(--fib-gray-200) !important;
  display: flex !important;
  gap: 12px !important;
  background: var(--fib-white) !important;
}

#fibMobileFilters .fib-mobile-filters__reset {
  flex: 1 !important;
  padding: 14px !important;
  background: var(--fib-gray-100) !important;
  color: var(--fib-gray-600) !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: none !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

#fibMobileFilters .fib-mobile-filters__apply {
  flex: 2 !important;
  padding: 14px !important;
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: none !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ============================================
   COMPARE OVERLAY - Default hidden
============================================= */
#fibCompareOverlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(20, 35, 71, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 9998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s ease !important;
}

#fibCompareOverlay.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ============================================
   REGION FLIGHTS DROPDOWN
============================================= */
#fibDrawer .fib-drawer__region-wrapper {
  margin-bottom: 10px !important;
}

#fibDrawer .fib-drawer__region {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px !important;
  background: var(--fib-gray-50) !important;
  border-radius: 12px !important;
  gap: 12px !important;
}

#fibDrawer .fib-drawer__region-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  border: none !important;
  flex-shrink: 0 !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 1 !important;
}

#fibDrawer .fib-drawer__region-btn:hover {
  background: var(--fib-orange-dark) !important;
}

#fibDrawer .fib-drawer__region-btn.is-open {
  background: var(--fib-navy) !important;
}

#fibDrawer .fib-drawer__region-btn i {
  font-size: 10px !important;
  transition: transform 0.2s ease !important;
}

#fibDrawer .fib-drawer__region-flights {
  background: var(--fib-white) !important;
  border: 2px solid var(--fib-gray-200) !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  margin-top: -8px !important;
  padding: 12px !important;
  padding-top: 16px !important;
}

#fibDrawer .fib-flight-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  background: var(--fib-gray-50) !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  text-decoration: none !important;
  color: var(--fib-navy) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

#fibDrawer .fib-flight-item:last-child {
  margin-bottom: 0 !important;
}

#fibDrawer .fib-flight-item:hover {
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

#fibDrawer .fib-flight-item:hover .fib-flight-item__dep i,
#fibDrawer .fib-flight-item:hover .fib-flight-item__arrow i,
#fibDrawer .fib-flight-item:hover .fib-flight-item__cta i {
  color: var(--fib-orange) !important;
}

#fibDrawer .fib-flight-item__dep {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

#fibDrawer .fib-flight-item__dep i {
  color: var(--fib-orange) !important;
  font-size: 12px !important;
}

#fibDrawer .fib-flight-item__arrow {
  color: var(--fib-gray-400) !important;
}

#fibDrawer .fib-flight-item__arrow i {
  font-size: 10px !important;
}

#fibDrawer .fib-flight-item__dest {
  flex: 1 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-align: right !important;
}

#fibDrawer .fib-flight-item__cta {
  width: 28px !important;
  height: 28px !important;
  background: var(--fib-white) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

#fibDrawer .fib-flight-item__cta i {
  color: var(--fib-orange) !important;
  font-size: 11px !important;
}

#fibDrawer .fib-flight-item--empty {
  color: var(--fib-gray-500) !important;
  font-size: 13px !important;
  text-align: center !important;
  padding: 16px !important;
  margin: 0 !important;
}

/* Updated drawer footer without button */
#fibDrawer .fib-drawer__footer {
  padding: 16px 20px !important;
  background: var(--fib-white) !important;
  border-top: 1px solid var(--fib-gray-200) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

#fibDrawer .fib-drawer__best-time {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

#fibDrawer .fib-drawer__best-time>i {
  width: 40px !important;
  height: 40px !important;
  background: linear-gradient(135deg, var(--fib-orange) 0%, var(--fib-orange-light) 100%) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--fib-white) !important;
  font-size: 16px !important;
}

#fibDrawer .fib-drawer__best-time-label {
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  font-weight: 600 !important;
  display: block !important;
}

#fibDrawer .fib-drawer__best-time-value {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--fib-navy) !important;
  display: block !important;
}

/* ============================================
   CARD PRICES
============================================= */
#fibDestinations .fib-card__price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  margin-bottom: 12px !important;
  min-height: 36px !important;
}

#fibDestinations .fib-card__price-loading {
  color: var(--fib-gray-400) !important;
  font-size: 14px !important;
}

#fibDestinations .fib-card__price-label {
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  font-weight: 600 !important;
  display: block !important;
}

#fibDestinations .fib-card__price-value {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--fib-orange) !important;
  display: block !important;
  line-height: 1.1 !important;
}

/* ============================================
   DRAWER REGION PRICES
============================================= */
#fibDrawer .fib-drawer__region-info {
  flex: 1 !important;
  min-width: 0 !important;
}

#fibDrawer .fib-drawer__region-price {
  margin-top: 8px !important;
  min-height: 20px !important;
}

#fibDrawer .fib-price-loading {
  color: var(--fib-gray-400) !important;
  font-size: 12px !important;
}

#fibDrawer .fib-region-price-label {
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  font-weight: 600 !important;
  margin-right: 6px !important;
}

#fibDrawer .fib-region-price-value {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--fib-orange) !important;
}

/* ============================================
   FLIGHT ITEM PRICES
============================================= */
#fibDrawer .fib-flight-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  background: var(--fib-gray-50) !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  text-decoration: none !important;
  color: var(--fib-navy) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

#fibDrawer .fib-flight-item:last-child {
  margin-bottom: 0 !important;
}

#fibDrawer .fib-flight-item:hover {
  background: var(--fib-orange) !important;
  color: var(--fib-white) !important;
}

#fibDrawer .fib-flight-item:hover .fib-flight-price-label,
#fibDrawer .fib-flight-item:hover .fib-flight-price-value {
  color: var(--fib-white) !important;
}

#fibDrawer .fib-flight-item__dep {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

#fibDrawer .fib-flight-item__dep i {
  color: var(--fib-orange) !important;
  font-size: 12px !important;
}

#fibDrawer .fib-flight-item__price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  min-width: 80px !important;
}

#fibDrawer .fib-flight-price-label {
  font-size: 9px !important;
  color: var(--fib-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  font-weight: 600 !important;
}

#fibDrawer .fib-flight-price-value {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--fib-orange) !important;
}

#fibDrawer .fib-flight-item__cta {
  width: 28px !important;
  height: 28px !important;
  background: var(--fib-white) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

#fibDrawer .fib-flight-item__cta i {
  color: var(--fib-orange) !important;
  font-size: 11px !important;
}

#fibDrawer .fib-flight-item--empty {
  color: var(--fib-gray-500) !important;
  font-size: 13px !important;
  text-align: center !important;
  padding: 16px !important;
  margin: 0 !important;
}

/* ============================================
   NIGHTS DISPLAY
============================================= */
#fibDestinations .fib-card__price-nights {
  display: block !important;
  font-size: 11px !important;
  color: var(--fib-gray-500) !important;
  font-weight: 600 !important;
  margin-top: 2px !important;
}

#fibDrawer .fib-region-price-nights {
  display: block !important;
  font-size: 10px !important;
  color: var(--fib-gray-500) !important;
  font-weight: 600 !important;
  margin-top: 2px !important;
}

#fibDrawer .fib-flight-price-nights {
  display: block !important;
  font-size: 9px !important;
  color: var(--fib-gray-500) !important;
  font-weight: 600 !important;
}

#fibDrawer .fib-flight-item:hover .fib-flight-price-nights {
  color: rgba(255, 255, 255, 0.8) !important;
}