/* A202M_ISOLATED_FINAL_SEAT_MAP */
.v2seatGrid{
  grid-template-columns:250px 250px max-content!important;
  gap:20px!important;
  align-items:start!important;
}
.v2seatPanel{
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
}
.v2deck{
  width:max-content!important;
  max-width:100%!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  min-height:0!important;
  overflow:visible!important;
}
.v2deck:before{
  display:none!important;
}
.fivesSeatMap{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  border:1px solid #d5dde8!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.fivesSeatMap__driver{
  width:46px!important;
  min-width:46px!important;
  background:#eef4fb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.fivesSeatMap__wheel{
  width:20px!important;
  height:20px!important;
  border:3px solid #61748f!important;
  border-radius:50%!important;
  position:relative!important;
  display:block!important;
}
.fivesSeatMap__wheel:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:6px!important;
  height:6px!important;
  margin-left:-3px!important;
  margin-top:-3px!important;
  background:#61748f!important;
  border-radius:50%!important;
}
.fivesSeatMap__wheel i{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:2px!important;
  height:8px!important;
  background:#61748f!important;
  transform-origin:50% 0!important;
}
.fivesSeatMap__wheel i:nth-child(1){transform:rotate(0deg) translateY(-1px)!important}
.fivesSeatMap__wheel i:nth-child(2){transform:rotate(120deg) translateY(-1px)!important}
.fivesSeatMap__wheel i:nth-child(3){transform:rotate(240deg) translateY(-1px)!important}

.fivesSeatMap__rows{
  padding:17px 20px!important;
  display:grid!important;
  grid-template-rows:auto auto 20px auto auto!important;
  gap:5px!important;
  background:#fff!important;
  overflow-x:auto!important;
}
.fivesSeatMap--mini .fivesSeatMap__rows{
  grid-template-rows:auto auto!important;
  padding:17px 20px!important;
}
.fivesSeatMap--van .fivesSeatMap__rows{
  grid-template-rows:auto auto 18px auto auto!important;
}
.fivesSeatMap__row{
  display:grid!important;
  grid-template-columns:repeat(var(--seat-cols), 22px)!important;
  column-gap:7px!important;
  row-gap:0!important;
  min-height:19px!important;
  align-items:center!important;
}
.fivesSeatMap__aisle{
  height:20px!important;
}
.fivesSeatMap__placeholder{
  width:22px!important;
  height:18px!important;
  visibility:hidden!important;
}
.fivesSeatMap .fivesSeatMap__seat{
  width:20px!important;
  height:17px!important;
  min-width:20px!important;
  padding:0!important;
  margin:0!important;
  border:2px solid #969f99!important;
  border-radius:3px!important;
  background:#fff!important;
  color:transparent!important;
  position:relative!important;
  overflow:visible!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.fivesSeatMap .fivesSeatMap__seat span{
  display:none!important;
}
.fivesSeatMap .fivesSeatMap__seat:before{
  content:""!important;
  position:absolute!important;
  left:3px!important;
  top:3px!important;
  width:11px!important;
  height:9px!important;
  border:2px solid #b2bbb5!important;
  border-right:0!important;
  border-radius:3px 0 0 3px!important;
  background:#fbfcfd!important;
}
.fivesSeatMap .fivesSeatMap__seat:after{
  content:""!important;
  position:absolute!important;
  right:-6px!important;
  top:3px!important;
  width:6px!important;
  height:10px!important;
  border:2px solid #969f99!important;
  border-left:0!important;
  border-radius:0 3px 3px 0!important;
  background:#fff!important;
}
.fivesSeatMap .fivesSeatMap__seat:hover{
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat:hover:before,
.fivesSeatMap .fivesSeatMap__seat:hover:after{
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat.on{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat.on:before,
.fivesSeatMap .fivesSeatMap__seat.on:after{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat:disabled,
.fivesSeatMap .fivesSeatMap__seat[disabled]{
  background:#d7d9d7!important;
  border-color:#9da49f!important;
  cursor:not-allowed!important;
}
.fivesSeatMap .fivesSeatMap__seat:disabled:before,
.fivesSeatMap .fivesSeatMap__seat[disabled]:before,
.fivesSeatMap .fivesSeatMap__seat:disabled:after,
.fivesSeatMap .fivesSeatMap__seat[disabled]:after{
  background:#d7d9d7!important;
  border-color:#9da49f!important;
}
.v2seatPanel .v2continue{
  width:100%!important;
  height:50px!important;
  border-radius:8px!important;
  margin-top:14px!important;
}
@media(max-width:900px){
  .v2seatGrid{grid-template-columns:1fr!important}
  .v2seatPanel{width:100%!important}
  .fivesSeatMap{max-width:100%!important;overflow:auto!important}
}

/* A202N_SEAT_FACE_DRIVER_SIDE_FIX */
/* Driver/front is left side, so every passenger seat faces left/front. */
.fivesSeatMap__driver{
  position:relative!important;
}
.fivesSeatMap__driver:before,
.fivesSeatMap__driver:after{
  display:none!important;
}
.fivesSeatMap__wheel{
  width:22px!important;
  height:22px!important;
  border:3px solid #60748f!important;
  border-radius:50%!important;
  background:#eef4fb!important;
  position:relative!important;
}
.fivesSeatMap__wheel:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:7px!important;
  height:7px!important;
  margin-left:-3.5px!important;
  margin-top:-3.5px!important;
  border-radius:50%!important;
  background:#60748f!important;
}
.fivesSeatMap__wheel i{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:2px!important;
  height:8px!important;
  background:#60748f!important;
  transform-origin:50% 0!important;
}

/* Reset old chair pseudo shapes */
.fivesSeatMap .fivesSeatMap__seat,
.fivesSeatMap .fivesSeatMap__seat.v2seat{
  width:22px!important;
  height:18px!important;
  min-width:22px!important;
  border:2px solid #98a19c!important;
  border-radius:4px!important;
  background:#ffffff!important;
  position:relative!important;
  overflow:visible!important;
  box-shadow:none!important;
}

/* Left-facing seat: front/open side toward driver on LEFT, backrest on RIGHT */
.fivesSeatMap .fivesSeatMap__seat:before,
.fivesSeatMap .fivesSeatMap__seat.v2seat:before{
  content:""!important;
  position:absolute!important;
  right:-6px!important;
  left:auto!important;
  top:2px!important;
  width:6px!important;
  height:14px!important;
  border:2px solid #98a19c!important;
  border-left:0!important;
  border-radius:0 4px 4px 0!important;
  background:#ffffff!important;
}

/* Small left/front lip to show seat is facing driver/front */
.fivesSeatMap .fivesSeatMap__seat:after,
.fivesSeatMap .fivesSeatMap__seat.v2seat:after{
  content:""!important;
  position:absolute!important;
  left:-3px!important;
  right:auto!important;
  top:5px!important;
  width:5px!important;
  height:8px!important;
  border:2px solid #98a19c!important;
  border-right:0!important;
  border-radius:3px 0 0 3px!important;
  background:#ffffff!important;
}

/* inner cushion line */
.fivesSeatMap .fivesSeatMap__seat span{
  display:block!important;
  position:absolute!important;
  left:4px!important;
  top:4px!important;
  width:11px!important;
  height:7px!important;
  border:2px solid #c0c7c2!important;
  border-right:0!important;
  border-radius:3px 0 0 3px!important;
  text-indent:-999px!important;
  overflow:hidden!important;
}

/* selected state */
.fivesSeatMap .fivesSeatMap__seat.on,
.fivesSeatMap .fivesSeatMap__seat.v2seat.on{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat.on:before,
.fivesSeatMap .fivesSeatMap__seat.on:after,
.fivesSeatMap .fivesSeatMap__seat.on span{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
}

/* booked/disabled state */
.fivesSeatMap .fivesSeatMap__seat:disabled,
.fivesSeatMap .fivesSeatMap__seat[disabled],
.fivesSeatMap .fivesSeatMap__seat.v2seat:disabled,
.fivesSeatMap .fivesSeatMap__seat.v2seat[disabled]{
  background:#d9dcd9!important;
  border-color:#9da49f!important;
}
.fivesSeatMap .fivesSeatMap__seat:disabled:before,
.fivesSeatMap .fivesSeatMap__seat:disabled:after,
.fivesSeatMap .fivesSeatMap__seat:disabled span,
.fivesSeatMap .fivesSeatMap__seat[disabled]:before,
.fivesSeatMap .fivesSeatMap__seat[disabled]:after,
.fivesSeatMap .fivesSeatMap__seat[disabled] span{
  background:#d9dcd9!important;
  border-color:#9da49f!important;
}

/* A202O_FINAL_SEAT_SHAPE_DRIVER_POSITION */
/* Front is represented at LEFT side. Driver/steering is NOT center; it is upper/front side. */
.fivesSeatMap{
  border-radius:8px!important;
  border:1px solid #d6dee8!important;
  background:#fff!important;
}
.fivesSeatMap__driver{
  width:48px!important;
  min-width:48px!important;
  background:#eef4fb!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding-top:28px!important;
}
.fivesSeatMap__wheel{
  width:22px!important;
  height:22px!important;
  border:3px solid #60748f!important;
  border-radius:50%!important;
  position:relative!important;
  background:#eef4fb!important;
  display:block!important;
}
.fivesSeatMap__wheel:before{
  content:""!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#60748f!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
}
.fivesSeatMap__wheel i{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:2px!important;
  height:8px!important;
  background:#60748f!important;
  transform-origin:50% 0!important;
}
.fivesSeatMap__wheel i:nth-child(1){transform:rotate(0deg) translateY(-1px)!important}
.fivesSeatMap__wheel i:nth-child(2){transform:rotate(120deg) translateY(-1px)!important}
.fivesSeatMap__wheel i:nth-child(3){transform:rotate(240deg) translateY(-1px)!important}

.fivesSeatMap__rows{
  padding:20px 24px!important;
  gap:7px!important;
}
.fivesSeatMap__row{
  grid-template-columns:repeat(var(--seat-cols), 25px)!important;
  column-gap:9px!important;
  min-height:22px!important;
}
.fivesSeatMap__aisle{
  height:24px!important;
}
.fivesSeatMap__placeholder{
  width:25px!important;
  height:20px!important;
}

/* Clean real-chair style: one seat shell + one backrest only. No triple nested boxes. */
.fivesSeatMap .fivesSeatMap__seat,
.fivesSeatMap .fivesSeatMap__seat.v2seat{
  width:23px!important;
  height:19px!important;
  min-width:23px!important;
  padding:0!important;
  margin:0!important;
  border:2px solid #8f9893!important;
  border-right:0!important;
  border-radius:4px 0 0 4px!important;
  background:#ffffff!important;
  color:transparent!important;
  position:relative!important;
  overflow:visible!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

/* Backrest on right; all seats face front/driver direction consistently */
.fivesSeatMap .fivesSeatMap__seat:before,
.fivesSeatMap .fivesSeatMap__seat.v2seat:before{
  content:""!important;
  position:absolute!important;
  right:-8px!important;
  left:auto!important;
  top:2px!important;
  width:8px!important;
  height:13px!important;
  border:2px solid #8f9893!important;
  border-left:0!important;
  border-radius:0 4px 4px 0!important;
  background:#ffffff!important;
}

/* Remove previous extra lip/inner duplicate */
.fivesSeatMap .fivesSeatMap__seat:after,
.fivesSeatMap .fivesSeatMap__seat.v2seat:after{
  display:none!important;
  content:none!important;
}
.fivesSeatMap .fivesSeatMap__seat span,
.fivesSeatMap .fivesSeatMap__seat.v2seat span{
  display:none!important;
}

/* Booked / disabled */
.fivesSeatMap .fivesSeatMap__seat:disabled,
.fivesSeatMap .fivesSeatMap__seat[disabled],
.fivesSeatMap .fivesSeatMap__seat.v2seat:disabled,
.fivesSeatMap .fivesSeatMap__seat.v2seat[disabled]{
  background:#d8d9d7!important;
  border-color:#8f9893!important;
}
.fivesSeatMap .fivesSeatMap__seat:disabled:before,
.fivesSeatMap .fivesSeatMap__seat[disabled]:before,
.fivesSeatMap .fivesSeatMap__seat.v2seat:disabled:before,
.fivesSeatMap .fivesSeatMap__seat.v2seat[disabled]:before{
  background:#d8d9d7!important;
  border-color:#8f9893!important;
}

/* Selected */
.fivesSeatMap .fivesSeatMap__seat.on,
.fivesSeatMap .fivesSeatMap__seat.v2seat.on{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat.on:before,
.fivesSeatMap .fivesSeatMap__seat.v2seat.on:before{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat:hover,
.fivesSeatMap .fivesSeatMap__seat.v2seat:hover{
  border-color:#1d4ed8!important;
}
.fivesSeatMap .fivesSeatMap__seat:hover:before,
.fivesSeatMap .fivesSeatMap__seat.v2seat:hover:before{
  border-color:#1d4ed8!important;
}

.v2seatPanel .v2continue{
  height:50px!important;
  border-radius:8px!important;
  margin-top:14px!important;
}
