/* Custom CSS for seat price dropdown positioning */

/* Ensure the seat item container is positioned relatively */
.mp_seat_item,
.wbtm_seat_item {
  position: relative !important;
}

/* Base styles for all seat dropdowns - OVERRIDE existing CSS with maximum specificity */
.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list,
div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat_item div.wbtm_seat_item_list,
div.wbtm_bus_list_area div.wbtm_seat_plan_upper div.mp_seat_item div.wbtm_seat_item_list,
div.wbtm_bus_list_area div.wbtm_cabin_seat_plan div.mp_seat_item div.wbtm_seat_item_list {
  position: absolute !important;
  z-index: 9999 !important;
  /* background: #A0826D !important; */
  border: 2px solid #8B7355 !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
  padding: 10px !important;
  padding-bottom: 15px !important;
  min-width: 200px !important;
  max-width: min(280px, calc(100vw - 24px)) !important;
  width: min(250px, calc(100vw - 24px)) !important;
  max-height: 300px !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;
  bottom: 100% !important;
  top: auto !important;
  margin: 0 !important;
  margin-bottom: -5px !important;
  display: none !important;
  pointer-events: auto !important;
}

/* Desktop-only positioning - ONLY for screens 769px and above */
@media (min-width: 769px) {

  .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list,
  div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat_item div.wbtm_seat_item_list,
  div.wbtm_bus_list_area div.wbtm_seat_plan_upper div.mp_seat_item div.wbtm_seat_item_list,
  div.wbtm_bus_list_area div.wbtm_cabin_seat_plan div.mp_seat_item div.wbtm_seat_item_list {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* Keep open only when JS marks the parent seat item active/sticky. */
.mp_seat_item.wbtm-tooltip-active .wbtm_seat_item_list,
.mp_seat_item.wbtm-tooltip-hover .wbtm_seat_item_list {
  display: block !important;
}

/* Sticky mode: keep tooltip open until selection or outside click */
.mp_seat_item.wbtm-tooltip-sticky .wbtm_seat_item_list {
  display: block !important;
}

/* Sticky visibility for rotated seats */
.mp_seat_item.wbtm-tooltip-sticky.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.mp_seat_item.wbtm-tooltip-sticky.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.mp_seat_item.wbtm-tooltip-sticky.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.mp_seat_item.wbtm-tooltip-sticky.wbtm_rotation_type_text.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.mp_seat_item.wbtm-tooltip-sticky.wbtm_rotation_type_text.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.mp_seat_item.wbtm-tooltip-sticky.wbtm_rotation_type_text.wbtm_seat_rotated_270 .wbtm_seat_item_list {
  display: block !important;
}

/* Enable pointer events for rotated seat dropdowns */
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_270 .wbtm_seat_item_list {
  pointer-events: auto !important;
}

/* Ensure dropdown items are clickable in rotated seats */
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list li,
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list li,
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list li,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_90 .wbtm_seat_item_list li,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_180 .wbtm_seat_item_list li,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_270 .wbtm_seat_item_list li {
  pointer-events: auto !important;
}

/* Fix rotated seat visual alignment by centering rotation */
.wbtm_rotation_type_full.wbtm_seat_rotated_90 .mp_seat .seat_visual,
.wbtm_rotation_type_full.wbtm_seat_rotated_180 .mp_seat .seat_visual,
.wbtm_rotation_type_full.wbtm_seat_rotated_270 .mp_seat .seat_visual {
  transform-origin: 50% 50% !important;
}

/* Prevent flex-induced spacing in seat cells */
.wbtm_seat_plan_area .mp_seat_item,
.wbtm_seat_plan_upper .mp_seat_item,
.wbtm_cabin_seat_plan .mp_seat_item {
  display: block !important;
}

/* Ensure table cells align content consistently without extra gap */
.wbtm_seat_plan_area table th,
.wbtm_seat_plan_area table td,
.wbtm_seat_plan_upper table th,
.wbtm_seat_plan_upper table td,
.wbtm_cabin_seat_plan table th,
.wbtm_cabin_seat_plan table td {
  vertical-align: middle !important;
}

/* Force seat items to fill the cell (override global 70x80) */
.wbtm_seat_plan_area div.mp_seat_item,
.wbtm_seat_plan_upper div.mp_seat_item,
.wbtm_cabin_seat_plan div.mp_seat_item {
  width: 100% !important;
  height: 100% !important;
}

/* Remove the 2px inset so visuals fully fill the cell */
.wbtm_seat_plan_area .mp_seat .seat_visual,
.wbtm_seat_plan_upper .mp_seat .seat_visual,
.wbtm_cabin_seat_plan .mp_seat .seat_visual {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
}

/* Center seat number absolutely to avoid flex/layout shifts on rotation */
.wbtm_seat_plan_area .mp_seat .seat_number,
.wbtm_seat_plan_upper .mp_seat .seat_number,
.wbtm_cabin_seat_plan .mp_seat .seat_number {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

/* Style the dropdown list items */
.wbtm_seat_item_list .mp_list,
.mp_seat_item .wbtm_seat_item_list .mp_list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Custom scrollbar styling for dropdown */
.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar {
  width: 8px !important;
}

.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-track,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-track,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-track {
  background: rgba(139, 115, 85, 0.2) !important;
  border-radius: 4px !important;
}

.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-thumb,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-thumb,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-thumb {
  background: rgba(139, 115, 85, 0.6) !important;
  border-radius: 4px !important;
}

.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-thumb:hover,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-thumb:hover,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::-webkit-scrollbar-thumb:hover {
  background: rgba(139, 115, 85, 0.8) !important;
}

/* Firefox scrollbar styling - always show scrollbar track when content can scroll */
.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(139, 115, 85, 0.6) rgba(139, 115, 85, 0.2) !important;
}

/* Always-visible scrollbar hint: subtle gradient at bottom so users see there may be more options (PC + mobile) */
.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list .mp_list,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list .mp_list,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list .mp_list {
  padding-bottom: 8px !important;
}

/* "Scroll for more" hint when list is long - HIDDEN per user request */
.wbtm_seat_item_list .wbtm_seat_list_scroll_hint,
.mp_seat_item .wbtm_seat_item_list .wbtm_seat_list_scroll_hint {
  display: none !important;
}

.wbtm_seat_item_list .mp_list li,
.mp_seat_item .wbtm_seat_item_list .mp_list li {
  padding: 10px 14px !important;
  cursor: pointer !important;
  border-bottom: 1px solid rgba(139, 115, 85, 0.3) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  white-space: normal !important;
  transition: background-color 0.2s ease !important;
}

.wbtm_seat_item_list .mp_list li:last-child,
.mp_seat_item .wbtm_seat_item_list .mp_list li:last-child {
  border-bottom: none !important;
}

.wbtm_seat_item_list .mp_list li:hover,
.mp_seat_item .wbtm_seat_item_list .mp_list li:hover {
  background-color: rgba(139, 115, 85, 0.4) !important;
}

.wbtm_tooltip_label {
  font-weight: 500 !important;
  color: #FFFFFF !important;
  margin-right: 15px !important;
  font-size: 14px !important;
  flex: 1 1 auto !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: auto !important;
}

.wbtm_tooltip_price {
  font-weight: 600 !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list li .wbtm_tooltip_label,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list li .wbtm_tooltip_label,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list li .wbtm_tooltip_label,
div.wbtm_bus_list_area .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list li .wbtm_tooltip_label,
div.wbtm_bus_list_area .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list li .wbtm_tooltip_label,
div.wbtm_bus_list_area .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list li .wbtm_tooltip_label {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  flex: 1 1 auto !important;
}

/* Ensure dropdown containers allow wrapping (desktop and mobile) */
.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list,
div.wbtm_bus_list_area .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
div.wbtm_bus_list_area .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
div.wbtm_bus_list_area .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list {
  white-space: normal !important;
}

/* Desktop only - left edge seats */
@media (min-width: 769px) {

  .wbtm_seat_plan_area table tr th:first-child .wbtm_seat_item_list,
  .wbtm_seat_plan_area table tr th:nth-child(2) .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:first-child .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:first-child .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .wbtm_seat_item_list {
    left: 8px !important;
    right: auto !important;
    transform: translateX(0) !important;
  }

  .wbtm_seat_plan_area table tr th:first-child .wbtm_seat_item_list::before,
  .wbtm_seat_plan_area table tr th:nth-child(2) .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:first-child .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:first-child .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .wbtm_seat_item_list::before {
    left: 23px !important;
  }
}

.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list {
  outline: 1px solid rgba(139, 115, 85, 0.9) !important;
  outline-offset: 0 !important;
  background-clip: padding-box !important;
}

.wbtm_bus_list_area,
.wbtm_registration_area {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
}

.wbtm_bus_list_area .wbtm_seat_plan_area,
.wbtm_bus_list_area .wbtm_seat_plan_upper,
.wbtm_bus_list_area .wbtm_cabin_seat_plan,
.wbtm_bus_list_area .wbtm_cabin_section {
  position: relative !important;
  overflow: visible !important;
  z-index: 100000 !important;
}

/* Add arrow indicator pointing to the seat - HIDDEN per user request */
.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::before,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::before,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::before,
div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat_item div.wbtm_seat_item_list::before,
div.wbtm_bus_list_area div.wbtm_seat_plan_upper div.mp_seat_item div.wbtm_seat_item_list::before,
div.wbtm_bus_list_area div.wbtm_cabin_seat_plan div.mp_seat_item div.wbtm_seat_item_list::before,
div.mp_seat_item div.wbtm_seat_item_list::before {
  display: none !important;
}

/* Add border shadow for arrow - HIDDEN per user request */
.wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::after,
.wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::after,
.wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::after,
div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat_item div.wbtm_seat_item_list::after,
div.wbtm_bus_list_area div.wbtm_seat_plan_upper div.mp_seat_item div.wbtm_seat_item_list::after,
div.wbtm_bus_list_area div.wbtm_cabin_seat_plan div.mp_seat_item div.wbtm_seat_item_list::after,
div.mp_seat_item div.wbtm_seat_item_list::after {
  display: none !important;
}

/* Ensure dropdown is visible and not cut off */
.wbtm_seat_plan_area,
.wbtm_cabin_seat_plan,
.wbtm_seat_plan_upper {
  overflow: visible !important;
}

.wbtm_seat_plan_area table,
.wbtm_cabin_seat_plan table,
.wbtm_seat_plan_upper table {
  overflow: visible !important;
}

.wbtm_seat_plan_area table tr,
.wbtm_cabin_seat_plan table tr,
.wbtm_seat_plan_upper table tr {
  overflow: visible !important;
}

.wbtm_seat_plan_area table tr th,
.wbtm_cabin_seat_plan table tr th,
.wbtm_seat_plan_upper table tr th {
  overflow: visible !important;
  position: relative !important;
}

/* ========================================
   DESKTOP ONLY - Override positioning for edge seats
   ======================================== */
@media (min-width: 769px) {

  /* Override positioning for seats on the right edge */
  .wbtm_seat_plan_area table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_area table tr th:last-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:last-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:last-child .mp_seat_item .wbtm_seat_item_list {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
  }

  /* Override positioning for seats on the LEFT edge */
  .wbtm_seat_plan_area table tr th:first-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_area table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:first-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:first-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list {
    left: 0 !important;
    right: auto !important;
    transform: none !important;
  }

  /* Arrow for right-aligned tooltips - positioned at 66% from left (matches translateX(-66%)) */
  .wbtm_seat_plan_area table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_area table tr th:last-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:last-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:last-child .mp_seat_item .wbtm_seat_item_list::before {
    left: 66% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  .wbtm_seat_plan_area table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_area table tr th:last-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:last-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:last-child .mp_seat_item .wbtm_seat_item_list::after {
    left: 66% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  /* Arrow for LEFT-aligned tooltips - positioned at 35% from left (matches translateX(-35%)) */
  .wbtm_seat_plan_area table tr th:first-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_area table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:first-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:first-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::before {
    left: 35% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  .wbtm_seat_plan_area table tr th:first-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_area table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:first-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:first-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::after {
    left: 35% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* ========================================
   MOBILE SPECIFIC FIXES FOR LEFT-SIDE SEATS
   Prevent dropdown cutoff on mobile viewport
   ======================================== */

@media (max-width: 768px) {

  /* For left-edge seats on mobile - use translateX(-35%) to prevent cutoff */
  /* Higher specificity to override wbtm_seat_colors_custom.css */
  .wbtm_seat_plan_area table tr th:first-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_area table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:first-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:first-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list,
  table tbody tr th:first-child div.mp_seat_item div.wbtm_seat_item_list,
  table tbody tr th:nth-child(1) div.mp_seat_item div.wbtm_seat_item_list,
  table tbody tr th:nth-child(2) div.mp_seat_item div.wbtm_seat_item_list {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-35%) !important;
    min-width: 200px !important;
    max-width: calc(100vw - 20px) !important;
  }

  /* Adjust arrow position for left-edge seats on mobile - arrow at 35% */
  .wbtm_seat_plan_area table tr th:first-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_area table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:first-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:first-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  table tbody tr th:first-child div.mp_seat_item div.wbtm_seat_item_list::before,
  table tbody tr th:nth-child(1) div.mp_seat_item div.wbtm_seat_item_list::before,
  table tbody tr th:nth-child(2) div.mp_seat_item div.wbtm_seat_item_list::before {
    left: 35% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  .wbtm_seat_plan_area table tr th:first-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_area table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:first-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:first-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:nth-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  table tbody tr th:first-child div.mp_seat_item div.wbtm_seat_item_list::after,
  table tbody tr th:nth-child(1) div.mp_seat_item div.wbtm_seat_item_list::after,
  table tbody tr th:nth-child(2) div.mp_seat_item div.wbtm_seat_item_list::after {
    left: 35% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  /* Ensure right-edge seats use translateX(-66%) on mobile */
  .wbtm_seat_plan_area table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_area table tr th:last-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper table tr th:last-child .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan table tr th:last-child .mp_seat_item .wbtm_seat_item_list,
  table tbody tr th:last-child div.mp_seat_item div.wbtm_seat_item_list,
  table tbody tr th:nth-last-child(1) div.mp_seat_item div.wbtm_seat_item_list,
  table tbody tr th:nth-last-child(2) div.mp_seat_item div.wbtm_seat_item_list {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-66%) !important;
    min-width: 200px !important;
    max-width: calc(100vw - 20px) !important;
  }

  /* Arrow at 66% for right-edge seats */
  .wbtm_seat_plan_area table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_area table tr th:last-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_seat_plan_upper table tr th:last-child .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::before,
  .wbtm_cabin_seat_plan table tr th:last-child .mp_seat_item .wbtm_seat_item_list::before,
  table tbody tr th:last-child div.mp_seat_item div.wbtm_seat_item_list::before,
  table tbody tr th:nth-last-child(1) div.mp_seat_item div.wbtm_seat_item_list::before,
  table tbody tr th:nth-last-child(2) div.mp_seat_item div.wbtm_seat_item_list::before {
    left: 66% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  .wbtm_seat_plan_area table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_area table tr th:last-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_seat_plan_upper table tr th:last-child .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:nth-last-child(2) .mp_seat_item .wbtm_seat_item_list::after,
  .wbtm_cabin_seat_plan table tr th:last-child .mp_seat_item .wbtm_seat_item_list::after,
  table tbody tr th:last-child div.mp_seat_item div.wbtm_seat_item_list::after,
  table tbody tr th:nth-last-child(1) div.mp_seat_item div.wbtm_seat_item_list::after,
  table tbody tr th:nth-last-child(2) div.mp_seat_item div.wbtm_seat_item_list::after {
    left: 66% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  /* Center-positioned seats on mobile - ensure they don't overflow either side */
  .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
  .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
  .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list {
    max-width: calc(100vw - 20px) !important;
  }

  /* Dynamic left-aligned tooltips (set by JavaScript) */
  .wbtm_seat_item_list.wbtm-tooltip-left-aligned {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-35%) !important;
  }

  .wbtm_seat_item_list.wbtm-tooltip-left-aligned::before {
    left: 35% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  .wbtm_seat_item_list.wbtm-tooltip-left-aligned::after {
    left: 35% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  /* Dynamic right-aligned tooltips (set by JavaScript) */
  .wbtm_seat_item_list.wbtm-tooltip-right-aligned {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-66%) !important;
  }

  .wbtm_seat_item_list.wbtm-tooltip-right-aligned::before {
    left: 66% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }

  .wbtm_seat_item_list.wbtm-tooltip-right-aligned::after {
    left: 66% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* ========================================
   COUNTER-ROTATE TOOLTIPS FOR ROTATED SEATS
   Tooltips should ALWAYS be upright and readable
   Arrow should point to the actual seat position
   MUST override wbtm_seat_colors_custom.css rotation rules
   ======================================== */

/* For 90 degree rotated seats - counter-rotate tooltip and adjust position */
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_seat_plan_area .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_seat_plan_area .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_90 .wbtm_seat_item_list,
div.wbtm_bus_list_area div.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_90 div.wbtm_seat_item_list,
div.wbtm_bus_list_area div.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_90 div.wbtm_seat_item_list {
  transform: rotate(-90deg) !important;
  transform-origin: center center !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 50% !important;
  top: auto !important;
  right: auto !important;
  margin-left: 30px !important;
  margin-bottom: 0 !important;
}

/* For 180 degree rotated seats - counter-rotate tooltip */
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_seat_plan_area .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_seat_plan_area .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_180 .wbtm_seat_item_list,
div.wbtm_bus_list_area div.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_180 div.wbtm_seat_item_list,
div.wbtm_bus_list_area div.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_180 div.wbtm_seat_item_list {
  transform: translateX(-50%) rotate(-180deg) !important;
  transform-origin: center center !important;
  position: absolute !important;
  left: -35% !important;
  top: 100% !important;
  bottom: auto !important;
  right: auto !important;
  margin-top: 5px !important;
  margin-bottom: 0 !important;
}

/* For 270 degree rotated seats - counter-rotate tooltip and adjust position */
.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_seat_plan_area .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_seat_plan_area .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_270 .wbtm_seat_item_list,
div.wbtm_bus_list_area div.mp_seat_item.wbtm_rotation_type_full.wbtm_seat_rotated_270 div.wbtm_seat_item_list,
div.wbtm_bus_list_area div.mp_seat_item.wbtm_rotation_type_text.wbtm_seat_rotated_270 div.wbtm_seat_item_list {
  transform: rotate(-270deg) !important;
  transform-origin: center center !important;
  position: absolute !important;
  right: 50% !important;
  bottom: 50% !important;
  top: auto !important;
  left: auto !important;
  margin-right: 30px !important;
  margin-bottom: 0 !important;
  display: block !important;
}

/* Adjust arrows for 90 degree rotated seats - point to the right */
.mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list::before {
  content: '' !important;
  position: absolute !important;
  left: -12px !important;
  top: 50% !important;
  bottom: auto !important;
  right: auto !important;
  transform: translateY(-50%) !important;
  border-left: none !important;
  border-right: 12px solid #A0826D !important;
  border-top: 12px solid transparent !important;
  border-bottom: 12px solid transparent !important;
}

.mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list::after {
  content: '' !important;
  position: absolute !important;
  left: -14px !important;
  top: 50% !important;
  bottom: auto !important;
  right: auto !important;
  transform: translateY(-50%) !important;
  border-left: none !important;
  border-right: 14px solid #8B7355 !important;
  border-top: 14px solid transparent !important;
  border-bottom: 14px solid transparent !important;
}

/* Adjust arrows for 180 degree rotated seats - point down */
.mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list::before {
  content: '' !important;
  position: absolute !important;
  top: -12px !important;
  left: 50% !important;
  bottom: auto !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  border-top: none !important;
  border-bottom: 12px solid #A0826D !important;
  border-left: 12px solid transparent !important;
  border-right: 12px solid transparent !important;
}

.mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list::after {
  content: '' !important;
  position: absolute !important;
  top: -14px !important;
  left: 50% !important;
  bottom: auto !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  border-top: none !important;
  border-bottom: 14px solid #8B7355 !important;
  border-left: 14px solid transparent !important;
  border-right: 14px solid transparent !important;
}

/* Adjust arrows for 270 degree rotated seats - point to the left */
.mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list::before {
  content: '' !important;
  position: absolute !important;
  right: -12px !important;
  top: 50% !important;
  bottom: auto !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  border-right: none !important;
  border-left: 12px solid #A0826D !important;
  border-top: 12px solid transparent !important;
  border-bottom: 12px solid transparent !important;
}

.mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list::after {
  content: '' !important;
  position: absolute !important;
  right: -14px !important;
  top: 50% !important;
  bottom: auto !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  border-right: none !important;
  border-left: 14px solid #8B7355 !important;
  border-top: 14px solid transparent !important;
  border-bottom: 14px solid transparent !important;
}


/* JavaScript controls the final mobile tooltip position to avoid viewport overflow. */
@media (max-width: 768px) {
  .wbtm_seat_item_list.wbtm-mobile-tooltip-floating {
    position: fixed !important;
    left: 12px !important;
    top: 12px !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .wbtm_seat_item_list.wbtm-mobile-tooltip-floating::before,
  .wbtm_seat_item_list.wbtm-mobile-tooltip-floating::after {
    display: none !important;
  }
}

/* Final mobile override: neutralize edge-seat transforms and show ticket types in a viewport-safe panel. */
@media (max-width: 768px) {
  html body .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
  html body .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
  html body .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list,
  html body div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat_item div.wbtm_seat_item_list,
  html body div.wbtm_bus_list_area div.wbtm_seat_plan_upper div.mp_seat_item div.wbtm_seat_item_list,
  html body div.wbtm_bus_list_area div.wbtm_cabin_seat_plan div.mp_seat_item div.wbtm_seat_item_list,
  html body table tbody tr th:first-child div.mp_seat_item div.wbtm_seat_item_list,
  html body table tbody tr th:nth-child(1) div.mp_seat_item div.wbtm_seat_item_list,
  html body table tbody tr th:nth-child(2) div.mp_seat_item div.wbtm_seat_item_list,
  html body table tbody tr th:last-child div.mp_seat_item div.wbtm_seat_item_list,
  html body table tbody tr th:nth-last-child(1) div.mp_seat_item div.wbtm_seat_item_list,
  html body table tbody tr th:nth-last-child(2) div.mp_seat_item div.wbtm_seat_item_list,
  html body table tbody tr th:nth-last-child(3) div.mp_seat_item div.wbtm_seat_item_list {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: min(280px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    white-space: normal !important;
    z-index: 999999 !important;
  }

  html body .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::before,
  html body .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::after,
  html body .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::before,
  html body .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::after,
  html body .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::before,
  html body .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::after,
  html body div.wbtm_bus_list_area div.mp_seat_item div.wbtm_seat_item_list::before,
  html body div.wbtm_bus_list_area div.mp_seat_item div.wbtm_seat_item_list::after {
    display: none !important;
  }

  html body .wbtm_seat_plan_area .mp_seat_item:hover .wbtm_seat_item_list,
  html body .wbtm_seat_plan_upper .mp_seat_item:hover .wbtm_seat_item_list,
  html body .wbtm_cabin_seat_plan .mp_seat_item:hover .wbtm_seat_item_list,
  html body div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat_item:hover div.wbtm_seat_item_list,
  html body div.wbtm_bus_list_area div.wbtm_seat_plan_upper div.mp_seat_item:hover div.wbtm_seat_item_list,
  html body div.wbtm_bus_list_area div.wbtm_cabin_seat_plan div.mp_seat_item:hover div.wbtm_seat_item_list {
    display: none !important;
  }

  html body .mp_seat_item.wbtm-tooltip-active .wbtm_seat_item_list,
  html body .mp_seat_item.wbtm-tooltip-sticky .wbtm_seat_item_list {
    display: block !important;
  }
}

/* Full-rotation seats: rotate only the seat graphic, not the tooltip container. */
.wbtm_rotation_type_full.wbtm_seat_rotated_90,
.wbtm_rotation_type_full.wbtm_seat_rotated_180,
.wbtm_rotation_type_full.wbtm_seat_rotated_270,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_90,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_180,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_270,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_90,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_180,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_270,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_90,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_180,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_270 {
  transform: none !important;
}

.wbtm_rotation_type_full.wbtm_seat_rotated_90 > .mp_seat,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_90 > .mp_seat,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_90 > .mp_seat,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_90 > .mp_seat {
  transform: rotate(90deg) !important;
  transform-origin: center center !important;
}

.wbtm_rotation_type_full.wbtm_seat_rotated_180 > .mp_seat,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_180 > .mp_seat,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_180 > .mp_seat,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_180 > .mp_seat {
  transform: rotate(180deg) !important;
  transform-origin: center center !important;
}

.wbtm_rotation_type_full.wbtm_seat_rotated_270 > .mp_seat,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_270 > .mp_seat,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_270 > .mp_seat,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_270 > .mp_seat {
  transform: rotate(270deg) !important;
  transform-origin: center center !important;
}

.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_seat_plan_area .wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_seat_plan_upper .wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_cabin_seat_plan .wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 100% !important;
  margin: 0 0 6px 0 !important;
  transform: translateX(-50%) !important;
}

.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list::before,
.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list::before,
.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list::before {
  left: 50% !important;
  right: auto !important;
  top: 100% !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
}

.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list,
.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list,
.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list,
.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_seat_item_list li,
.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_seat_item_list li,
.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_seat_item_list li,
.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_tooltip_label,
.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_tooltip_label,
.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_tooltip_label,
.wbtm_rotation_type_full.wbtm_seat_rotated_90 .wbtm_tooltip_price,
.wbtm_rotation_type_full.wbtm_seat_rotated_180 .wbtm_tooltip_price,
.wbtm_rotation_type_full.wbtm_seat_rotated_270 .wbtm_tooltip_price {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

@media (max-width: 1024px) {
  html body .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list,
  html body .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list,
  html body .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list,
  html body div.wbtm_bus_list_area div.mp_seat_item div.wbtm_seat_item_list {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: min(280px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    z-index: 999999 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  html body .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::before,
  html body .wbtm_seat_plan_area .mp_seat_item .wbtm_seat_item_list::after,
  html body .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::before,
  html body .wbtm_seat_plan_upper .mp_seat_item .wbtm_seat_item_list::after,
  html body .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::before,
  html body .wbtm_cabin_seat_plan .mp_seat_item .wbtm_seat_item_list::after,
  html body div.wbtm_bus_list_area div.mp_seat_item div.wbtm_seat_item_list::before,
  html body div.wbtm_bus_list_area div.mp_seat_item div.wbtm_seat_item_list::after {
    display: none !important;
  }
}

/* Final rotated-seat tooltip override: always keep fare dropdown upright and above everything. */
html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list,
html body .wbtm_seat_plan_area .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list,
html body .wbtm_seat_plan_area .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list,
html body .wbtm_seat_plan_area .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list,
html body .wbtm_seat_plan_upper .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list,
html body .wbtm_seat_plan_upper .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list,
html body .wbtm_seat_plan_upper .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list,
html body .wbtm_cabin_seat_plan .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list,
html body .wbtm_cabin_seat_plan .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list,
html body .wbtm_cabin_seat_plan .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_90 div.wbtm_seat_item_list,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_180 div.wbtm_seat_item_list,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_270 div.wbtm_seat_item_list {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center center !important;
  margin: 0 !important;
  width: min(280px, calc(100vw - 24px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100vh - 24px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  z-index: 2147483647 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list::before,
html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list::after,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list::before,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list::after,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list::before,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list::after,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_90 div.wbtm_seat_item_list::before,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_90 div.wbtm_seat_item_list::after,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_180 div.wbtm_seat_item_list::before,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_180 div.wbtm_seat_item_list::after,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_270 div.wbtm_seat_item_list::before,
html body div.wbtm_bus_list_area div.mp_seat_item.wbtm_seat_rotated_270 div.wbtm_seat_item_list::after {
  display: none !important;
}

html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list,
html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list .mp_list,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list .mp_list,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list .mp_list,
html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_seat_item_list li,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_seat_item_list li,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_seat_item_list li,
html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_tooltip_label,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_tooltip_label,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_tooltip_label,
html body .mp_seat_item.wbtm_seat_rotated_90 .wbtm_tooltip_price,
html body .mp_seat_item.wbtm_seat_rotated_180 .wbtm_tooltip_price,
html body .mp_seat_item.wbtm_seat_rotated_270 .wbtm_tooltip_price {
  transform: none !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/* Portal/floating tooltip layer: escaped from rotated seat containers and layout clipping. */
body > .wbtm_seat_item_list.wbtm-floating-tooltip,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating,
body > .wbtm_seat_item_list.wbtm-floating-tooltip li,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating li,
body > .wbtm_seat_item_list.wbtm-floating-tooltip .wbtm_tooltip_label,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating .wbtm_tooltip_label,
body > .wbtm_seat_item_list.wbtm-floating-tooltip .wbtm_tooltip_price,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating .wbtm_tooltip_price {
  transform: none !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

body > .wbtm_seat_item_list.wbtm-floating-tooltip,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating {
  position: fixed !important;
  inset: auto !important;
  z-index: 2147483647 !important;
  background: #ffffff !important;
  border: 2px solid #8B7355 !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28) !important;
  padding: 10px !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100vh - 24px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  margin: 0 !important;
}

body > .wbtm_seat_item_list.wbtm-floating-tooltip .mp_list,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating .mp_list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

body > .wbtm_seat_item_list.wbtm-floating-tooltip li,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating li {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid rgba(139, 115, 85, 0.22) !important;
  background: #ffffff !important;
}

body > .wbtm_seat_item_list.wbtm-floating-tooltip li:last-child,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating li:last-child {
  border-bottom: none !important;
}

body > .wbtm_seat_item_list.wbtm-floating-tooltip .wbtm_tooltip_label,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating .wbtm_tooltip_label {
  color: #2f2f2f !important;
  font-weight: 500 !important;
  flex: 1 1 auto !important;
}

body > .wbtm_seat_item_list.wbtm-floating-tooltip .wbtm_tooltip_price,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating .wbtm_tooltip_price {
  color: #ff5a00 !important;
  font-weight: 700 !important;
  flex: 0 0 auto !important;
}

body > .wbtm_seat_item_list.wbtm-floating-tooltip::before,
body > .wbtm_seat_item_list.wbtm-floating-tooltip::after,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating::before,
body > .wbtm_seat_item_list.wbtm-mobile-tooltip-floating::after {
  display: none !important;
}
