/* Booking only: retain the room geometry at every viewport width. */
#step2 .hall-view-controls { display: none; }
#step2 .hall-map-canvas::after { content: ''; display: table; clear: both; }
#step2 .hall-selection-status { clear: both; padding: 12px 0; color: #fff; font-weight: 700; }
#step2 .hall .seat:focus-visible { outline: 2px solid #fbdd3a; outline-offset: 2px; }
#step2 .hall .seat.selected::after { color: #193b67; opacity: 1; transform: none; }
#step2 .hall .seat.selected::before { display: none; }
@media (max-width: 991px) {
  .booking-container { width: 100% !important; padding-left: 12px; padding-right: 12px; }
  #step2 .hallWrapper.mobile-hall-ready { padding: 14px 10px; width: 100%; }
  #step2 .hall-view-controls { display: flex; flex-wrap: wrap; gap: 8px; clear: both; padding: 12px 0; }
  #step2 .hall-view-controls button { min-height: 44px; flex: 1; padding: 8px 12px; border: 1px solid #fff; border-radius: 6px; background: transparent; color: #fff; font: inherit; font-weight: 700; line-height: 1.3; cursor: pointer; }
  #step2 .hall-view-controls button[aria-pressed="true"] { background: #fff; color: #193b67; }
  #step2 .hall-view-controls button:focus-visible { outline: 3px solid #fbdd3a; outline-offset: 2px; }
  #step2 .hall-view-hint { flex-basis: 100%; margin: 2px 0 0; color: #fff; font-size: 13px; line-height: 1.5; }
  #step2 .hall-map-viewport { position: relative; width: 100%; overflow: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; border: 1px solid #6d87a6; border-radius: 6px; touch-action: pan-x pan-y pinch-zoom; }
  #step2 .hall-map-size { position: relative; }
  #step2 .hall-map-canvas { position: absolute; top: 0; left: 0; width: 920px; transform-origin: top left; padding-top: 12px; }
  #step2 .hall-map-canvas .hall { width: 920px; float: none; margin: 0; padding: 25px 20px 18px 70px; }
  #step2 .hall-map-canvas .hall .row { margin: 0; }
  #step2 .hall-map-canvas .hall .cellsWrapper { width: 830px !important; margin: 0 auto !important; table-layout: fixed; display: table; }
  #step2 .hall-map-canvas .hall .cell { display: table-cell !important; }
  #step2 .hall-map-canvas .tables1 { display: inline-block !important; }
  #step2 .hall-map-canvas .hallScreen { padding-left: 50px; }
  #step2 .hall-map-canvas .hallScreen .screen { width: 830px !important; }
  #step2 .hall-map-canvas .hall .row > .number { z-index: 1; }
  #step2 .hall-map-detail .hall .row > .number { left: -58px; margin-left: 0; top: auto; bottom: 6px; margin-top: 0 !important; }
  #step2 .hall-map-canvas .hall .seat { min-height: 38px; }
  #step2 .hall-map-canvas .hall .seat::after { font-weight: 700; }
  #step2 .hallLegend { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 0; line-height: 24px; }
  #step2 .hallLegend .label { display: none; }
  #step2 .hallLegend .item { margin: 0; float: none; font-size: 12px; }
  #step2 .hallLegend .seat { margin-right: 4px; }
  #step2 .hallZoomWrapper .content { padding: 0; font-size: 12px; line-height: 1.5; }
  #step2 .hallZoomWrapper .content p { margin-bottom: 0; }
  #step2 .hall-selection-status { font-size: 14px; line-height: 1.5; }
}

@media (max-width: 991px) {
  .booking-container .process-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin-bottom: 24px !important; }
  .booking-container .process-steps::before, .booking-container .process-steps::after { display: none; }
  .booking-container .process-steps li { float: none; width: auto !important; margin-top: 0; }
  .booking-container .process-steps li::before, .booking-container .process-steps li::after { display: none; }
  .booking-container .process-steps li a.i-circled { width: 44px; height: 44px; line-height: 42px; font-size: 20px; color: #fff !important; }
  .booking-container .process-steps li h5 { margin: 8px 0 0; font-size: 11px; line-height: 1.4; }
}
