/* A208_EXACT_4_LINE_SEAT_MAP */

html,
body{
  overflow-x:hidden!important;
}

.v2inlineSeat,
.v2trip{
  overflow:hidden!important;
}

.v2inlineSeat .v2seatGrid{
  grid-template-columns:minmax(230px,.9fr) minmax(230px,.9fr) minmax(430px,1fr)!important;
  gap:16px!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.v2inlineSeat .v2pointBox{
  min-height:205px!important;
  max-height:230px!important;
  overflow:hidden!important;
}

.v2seatPanel{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

.v2deck{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  overflow:hidden!important;
}

.v2deck:before{
  display:none!important;
}

.fivesSeatMapExact{
  display:flex!important;
  width:100%!important;
  max-width:620px!important;
  height:255px!important;
  border:1px solid #d5dde8!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:hidden!important;
}

.fivesSeatMapExact__driver{
  width:52px!important;
  min-width:52px!important;
  background:#eef4fb!important;
  border-right:1px solid #d8e2ee!important;
  position:relative!important;
}

.fivesSeatMapExact__wheel{
  position:absolute!important;
  top:34px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:26px!important;
  height:26px!important;
  stroke:#60748f!important;
  fill:none!important;
  stroke-width:3!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.fivesSeatMapExact__wheel circle:nth-child(2){
  fill:#60748f!important;
  stroke:none!important;
}

.fivesSeatMapExact__deck{
  flex:1!important;
  padding:24px 30px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:hidden!important;
}

.fivesSeatMapExact__row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  height:26px!important;
  align-items:center!important;
}

.fivesSeatMapExact__aisle{
  height:34px!important;
  min-height:34px!important;
}

.fivesSeatExact{
  width:30px!important;
  height:25px!important;
  min-width:30px!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  cursor:pointer!important;
  color:transparent!important;
}

.fivesSeatExact:before,
.fivesSeatExact:after{
  display:none!important;
  content:none!important;
}

.fivesSeatExact span{
  display:none!important;
}

.fivesSeatExact__svg{
  width:30px!important;
  height:25px!important;
  display:block!important;
  overflow:visible!important;
}

.fivesSeatExact__back,
.fivesSeatExact__base{
  fill:#fff!important;
  stroke:#8f9893!important;
  stroke-width:2.5!important;
  stroke-linejoin:round!important;
}

.fivesSeatExact:hover .fivesSeatExact__back,
.fivesSeatExact:hover .fivesSeatExact__base{
  stroke:#2563eb!important;
}

.fivesSeatExact.on .fivesSeatExact__back,
.fivesSeatExact.on .fivesSeatExact__base{
  fill:#dbe8ff!important;
  stroke:#2563eb!important;
}

.fivesSeatExact:disabled .fivesSeatExact__back,
.fivesSeatExact:disabled .fivesSeatExact__base,
.fivesSeatExact[disabled] .fivesSeatExact__back,
.fivesSeatExact[disabled] .fivesSeatExact__base{
  fill:#d8d9d7!important;
  stroke:#8f9893!important;
}

.v2seatPanel .v2continue{
  width:100%!important;
  max-width:620px!important;
  height:52px!important;
  margin-top:16px!important;
  border-radius:8px!important;
}

@media(max-width:1100px){
  .v2inlineSeat .v2seatGrid{
    grid-template-columns:1fr!important;
  }

  .fivesSeatMapExact{
    max-width:100%!important;
  }
}

/* A209_COMPACT_EXTRA_RIGHT_SEAT */
.fivesSeatMapExact{
  max-width:520px!important;
  height:205px!important;
}

.fivesSeatMapExact__driver{
  width:42px!important;
  min-width:42px!important;
}

.fivesSeatMapExact__wheel{
  top:26px!important;
  width:21px!important;
  height:21px!important;
}

.fivesSeatMapExact__deck{
  padding:20px 24px!important;
  gap:5px!important;
}

.fivesSeatMapExact__row{
  gap:7px!important;
  height:22px!important;
}

.fivesSeatMapExact__aisle{
  height:26px!important;
  min-height:26px!important;
  position:relative!important;
}

.fivesSeatMapExact__sideSeat{
  position:absolute!important;
  right:0!important;
  top:0!important;
}

.fivesSeatExact{
  width:24px!important;
  height:20px!important;
  min-width:24px!important;
}

.fivesSeatExact__svg{
  width:24px!important;
  height:20px!important;
}

.fivesSeatExact__back,
.fivesSeatExact__base{
  stroke-width:2.2!important;
}

.v2seatPanel .v2continue{
  max-width:520px!important;
}

/* A210_SEAT_MAP_COMPACT_FIT_RED_AREA */
/* Compact seat box to fit the marked red area. CSS only. */
.fivesSeatMapExact{
  max-width:500px!important;
  height:168px!important;
  min-height:168px!important;
}

.fivesSeatMapExact__driver{
  width:40px!important;
  min-width:40px!important;
}

.fivesSeatMapExact__wheel{
  top:24px!important;
  width:20px!important;
  height:20px!important;
  stroke-width:3!important;
}

.fivesSeatMapExact__deck{
  padding:14px 18px!important;
  gap:3px!important;
}

.fivesSeatMapExact__row{
  gap:6px!important;
  height:18px!important;
  min-height:18px!important;
}

.fivesSeatMapExact__aisle{
  height:18px!important;
  min-height:18px!important;
  position:relative!important;
}

.fivesSeatMapExact__sideSeat{
  position:absolute!important;
  right:0!important;
  top:-2px!important;
}

.fivesSeatExact{
  width:22px!important;
  height:18px!important;
  min-width:22px!important;
}

.fivesSeatExact__svg{
  width:22px!important;
  height:18px!important;
}

.fivesSeatExact__back,
.fivesSeatExact__base{
  stroke-width:2.1!important;
}

.v2seatPanel .v2continue{
  max-width:500px!important;
  height:46px!important;
  margin-top:12px!important;
}

/* Keep inline area from expanding vertically */
.v2inlineSeat .v2seatPanel{
  align-self:start!important;
}

.v2inlineSeat .v2deck{
  height:auto!important;
  min-height:0!important;
}

.v2inlineSeat .fivesSeatMapExact{
  margin-top:0!important;
}

/* A211_SEAT_MAP_WIDTH_HEIGHT_FIX */
/* Remove bottom dead space and stretch seat map horizontally inside right panel. */
.fivesSeatMapExact{
  max-width:580px!important;
  width:100%!important;
  height:138px!important;
  min-height:138px!important;
}

.fivesSeatMapExact__driver{
  width:44px!important;
  min-width:44px!important;
}

.fivesSeatMapExact__wheel{
  top:24px!important;
  width:20px!important;
  height:20px!important;
}

.fivesSeatMapExact__deck{
  padding:12px 20px!important;
  gap:3px!important;
}

.fivesSeatMapExact__row{
  height:17px!important;
  min-height:17px!important;
  gap:8px!important;
}

.fivesSeatMapExact__aisle{
  height:17px!important;
  min-height:17px!important;
}

.fivesSeatMapExact__sideSeat{
  right:0!important;
  top:-2px!important;
}

.fivesSeatExact{
  width:22px!important;
  height:18px!important;
  min-width:22px!important;
}

.fivesSeatExact__svg{
  width:22px!important;
  height:18px!important;
}

.fivesSeatExact__back,
.fivesSeatExact__base{
  stroke-width:2.1!important;
}

/* Increase right panel length same as map */
.v2seatPanel .v2continue{
  max-width:580px!important;
  width:100%!important;
  height:46px!important;
  margin-top:12px!important;
}

/* Right panel should allow longer map, but no horizontal page scroll */
.v2inlineSeat .v2seatGrid{
  grid-template-columns:minmax(230px,.85fr) minmax(230px,.85fr) minmax(520px,1.2fr)!important;
}

.v2inlineSeat .v2seatPanel{
  min-width:520px!important;
}

.v2inlineSeat .v2deck{
  max-width:580px!important;
}

@media(max-width:1100px){
  .v2inlineSeat .v2seatGrid{
    grid-template-columns:1fr!important;
  }
  .v2inlineSeat .v2seatPanel{
    min-width:0!important;
  }
}

/* A212_FIX_1X2_SOFA_LAYOUT_ONLY */
.fivesSeatMapExact--one_two_fixed{
  max-width:520px!important;
  height:138px!important;
  min-height:138px!important;
}

.fivesSeatMapExact__deck--oneTwo{
  padding:12px 20px!important;
  gap:3px!important;
  position:relative!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatMapExact__row{
  gap:8px!important;
  height:17px!important;
  min-height:17px!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatMapExact__aisle--oneTwo{
  height:17px!important;
  min-height:17px!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatMapExact__centerLast{
  position:absolute!important;
  left:50%!important;
  bottom:9px!important;
  transform:translateX(-50%)!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatExact{
  width:22px!important;
  height:18px!important;
  min-width:22px!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatExact__svg{
  width:22px!important;
  height:18px!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatExact__back,
.fivesSeatMapExact--one_two_fixed .fivesSeatExact__base{
  stroke-width:2.1!important;
}

/* A213_SWAP_1X2_RIGHT_TWO_LEFT_ONE */
.fivesSeatMapExact--one_two_fixed .fivesSeatMapExact__row--double{
  justify-content:flex-start!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatMapExact__row--single{
  justify-content:flex-start!important;
}

.fivesSeatMapExact--one_two_fixed .fivesSeatMapExact__centerLast{
  left:50%!important;
  bottom:8px!important;
  transform:translateX(-50%)!important;
}

/* A215_NO_JUMP_SELECT_SEAT_CLICK */
html{
  scroll-behavior:auto!important;
  overflow-x:hidden!important;
}

body{
  overflow-x:hidden!important;
}

.v2trip,
.v2inlineSeat,
.v2seatGrid,
.v2seatPanel,
.v2deck,
.fivesSeatMapExact{
  overflow-anchor:none!important;
}

.v2trip{
  contain:layout paint!important;
}

.v2inlineSeat{
  max-width:100%!important;
  overflow:hidden!important;
}

.v2seatPanel{
  max-width:100%!important;
  overflow:hidden!important;
}

.fivesSeatMapExact{
  max-width:580px!important;
}

.v2seatPanel .v2continue{
  max-width:580px!important;
}

button,
a{
  scroll-margin-top:0!important;
}

/* Held seats — visible to all customers for 10 minutes */
.fivesSeatExact.is-held,
.v2seat.is-held,
button.v2seat:disabled.is-held{
  opacity:.55!important;
  cursor:not-allowed!important;
  filter:grayscale(.35);
}
.fivesSeatExact.is-my-hold,
.v2seat.is-my-hold{
  outline:2px solid #a3313d!important;
  outline-offset:1px;
}
.v2legend .v2lg.held{
  background:#cbd5e1!important;
  border-color:#94a3b8!important;
}

/* A218_SEAT_MAP_D8_DUP_LABEL_FIX — no duplicate side seat, show seat no, fix clip */
.fivesSeatMapExact{
  height:auto!important;
  min-height:152px!important;
  max-height:none!important;
  overflow:visible!important;
}

.fivesSeatMapExact__deck{
  overflow:visible!important;
  padding:10px 16px 12px!important;
  gap:4px!important;
}

.fivesSeatMapExact__row{
  height:auto!important;
  min-height:30px!important;
  align-items:flex-end!important;
  gap:6px!important;
}

.fivesSeatMapExact__aisle{
  height:auto!important;
  min-height:8px!important;
}

.fivesSeatMapExact__sideSeat{
  position:absolute!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  transform:none!important;
}

button.v2seat.fivesSeatExact,
.fivesSeatExact{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:auto!important;
  min-width:22px!important;
  height:auto!important;
  min-height:28px!important;
  padding:0 1px 1px!important;
  overflow:visible!important;
}

.fivesSeatExact__svg{
  width:22px!important;
  height:18px!important;
  flex-shrink:0!important;
}

.fivesSeatExact span,
button.v2seat.fivesSeatExact span,
.v2seat.fivesSeatExact span{
  display:block!important;
  font-size:7px!important;
  font-weight:800!important;
  line-height:1!important;
  color:#334155!important;
  margin-top:1px!important;
  letter-spacing:-0.02em!important;
  white-space:nowrap!important;
}

.v2inlineSeat .v2deck{
  overflow:visible!important;
}

.v2inlineSeat .fivesSeatMapExact{
  height:auto!important;
  min-height:152px!important;
}
