/* includes/external/agi/agi_tickres/assets/css/tickres-seatmap.css
.---------------------------------------------------------------------------.
|    Software: modified-module: AGI Tickres                                 |
|      Author: Andreas Guder                                                |
|     Version: 1.5                                                          |
| Copyright (c) 2026, Andreas Guder                                         |
|               GNU General Public License  (Version 2)                     |
'----------------------------------------------------------------------------ü
*/
.tickres-booking {
  max-width: 1200px;
  margin: 0 auto;
  color: #343a40;
}

.tickres-booking h1 {
  margin-bottom: 20px;
}

.tickres-booking h2 {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.3;
}

.tickres-booking select,
.tickres-booking input[type="number"],
.tickres-booking input[type="text"] {
  box-sizing: border-box;
  min-height: 40px;
  border: 1px solid #cbd2d8;
  border-radius: 4px;
  background: #fff;
}

.tickres-booking select:not(.SumoUnder):not(.SelectClass) {
  opacity: 1;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: auto;
}

.tickres-booking .cssButton {
  display: inline-flex;
  width: auto;
  min-height: 38px;
  box-sizing: border-box;
  padding: 6px 12px;
}

.tickres-booking .cssButtonText {
  font-size: 12px;
  line-height: 22px;
}

.tickres-booking .cssButton.tickres-disabled {
  cursor: not-allowed;
  opacity: .45;
}

.tickres-booking .cssButton.tickres-disabled button {
  cursor: not-allowed;
}

.tickres-card {
  box-sizing: border-box;
  border: 1px solid #d8dde2;
  border-radius: 6px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(28, 42, 54, .05);
}

.tickres-booking-toolbar {
  display: flex;
  gap: 18px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 1px solid #d8dde2;
  border-radius: 6px;
  background: #f5f6f7;
}

.tickres-booking-tabs,
.tickres-levels,
.tickres-pagination {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
}

.tickres-booking-tabs {
  gap: 0;
  overflow: hidden;
  border: 1px solid #aeb8bf;
  border-radius: 5px;
  background: #e4e7e9;
}

.tickres-booking-tabs .tickres-css-link + .tickres-css-link {
  border-left: 1px solid #aeb8bf;
}

.tickres-booking-tabs .cssButton {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.tickres-booking-tabs .active .cssButton {
  background: #33434f;
  color: #fff;
}

.tickres-booking-tabs .tickres-css-link:focus-visible,
.tickres-levels .cssButton:has(button:focus-visible) {
  outline: 3px solid #26719e;
  outline-offset: -3px;
}

.tickres-css-link {
  display: inline-block;
  text-decoration: none;
}

.tickres-event-back {
  align-self: flex-end;
  margin-left: auto;
  color: #33434f;
  line-height: 1.35;
  text-align: right;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tickres-event-back:hover,
.tickres-event-back:focus {
  color: #111;
}

.tickres-auto-select label,
.tickres-access-code label {
  display: flex;
  gap: 6px;
  flex-direction: column;
  font-weight: 700;
}

.tickres-map-controls {
  display: flex;
  min-height: 54px;
  gap: 12px;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 10px;
  border: 1px solid #cbd2d8;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  padding: 10px 12px 0;
  background: #eef1f3;
}

.tickres-levels {
  position: relative;
  z-index: 1;
  margin: 0 0 -1px;
}

.tickres-levels .cssButton {
  border: 1px solid #aeb8bf;
  border-radius: 5px 5px 0 0;
  padding: 6px 16px;
  background: #dce1e4;
  box-shadow: none;
}

.tickres-levels .cssButton.active {
  border-bottom-color: #fff;
  background: #fff;
}

.tickres-map-zoom {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  align-self: flex-start;
  margin: 0;
}

.tickres-levels[hidden] {
  display: none;
}

.tickres-map-viewport {
  overflow: auto;
  border: 1px solid #cbd2d8;
  border-radius: 0 0 6px 6px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8);
}

.tickres-map-viewport svg {
  display: block;
  width: 100%;
  min-width: 700px;
}

.tickres-seat-limit-tooltip {
  position: fixed;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 260px;
  padding: 10px 12px;
  border: 1px solid #a76c00;
  border-radius: 5px;
  background: #fff8df;
  box-shadow: 0 2px 8px rgba(28, 42, 54, .25);
  color: #4e3500;
  font-weight: 700;
}

.tickres-seat-limit-tooltip-close {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid #775000;
  border-radius: 4px;
  background: #fff;
  color: #4e3500;
  cursor: pointer;
  font: inherit;
}

.tickres-assigned-element-label {
  text-anchor: middle;
}

.tickres-assigned-seat {
  cursor: pointer;
}

.tickres-assigned-seat circle.tickres-assigned-seat-body {
  fill: var(--tickres-seat-color, #eef1f3);
  stroke: none;
  stroke-width: 0;
  transition: opacity .15s ease;
}

.tickres-assigned-seat text {
  font-size: 10px;
  font-weight: 700;
  text-anchor: middle;
  pointer-events: none;
}

.tickres-assigned-seat text.tickres-assigned-seat-label {
  fill: var(--tickres-seat-text-color, #fff);
}

.tickres-assigned-seat.is-available:hover circle.tickres-assigned-seat-body,
.tickres-assigned-seat.is-available:focus circle.tickres-assigned-seat-body {
  filter: drop-shadow(0 0 4px #55717f);
}

.tickres-assigned-seat.is-selected circle.tickres-assigned-seat-body {
  filter: drop-shadow(0 0 2px #f9cccc) drop-shadow(0 0 4px #e9a400);
}

.tickres-assigned-seat.is-selected.has-alternate-selection-color circle.tickres-assigned-seat-body {
  filter: drop-shadow(0 0 2px #d9efff) drop-shadow(0 0 4px #006eae);
}

.tickres-assigned-seat.is-preview circle.tickres-assigned-seat-body {
  filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #55717f);
}

.tickres-assigned-seat.is-unavailable {
  cursor: not-allowed;
  opacity: .55;
}

.tickres-assigned-seat.is-access-code-required {
  opacity: 1;
}

.tickres-assigned-seat.has-special-seat-type circle.tickres-assigned-seat-body {
  stroke: var(--tickres-seat-border-color, #657786);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.tickres-assigned-seat.is-access-code-required circle.tickres-assigned-seat-body {
  fill: #d7d7d7;
  fill-opacity: .55;
  stroke: #000;
  stroke-width: 1;
  stroke-dasharray: 2 2;
  vector-effect: non-scaling-stroke;
}

.tickres-assigned-seat.is-access-code-required > :not(.tickres-assigned-seat-body) {
  opacity: .55;
}

.tickres-assigned-seat .tickres-assigned-seat-type-marker {
  fill: var(--tickres-seat-type-color, #596773);
  pointer-events: none;
}

.tickres-assigned-seat text.tickres-assigned-seat-type-marker {
  font-size: 12px;
  font-weight: 900;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4px;
  stroke-linejoin: round;
}

.tickres-assigned-seat .tickres-assigned-seat-type-marker--custom {
  stroke: #fff;
  stroke-width: 2.5;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.tickres-assigned-standing-shape rect {
  fill: var(--tickres-standing-color, #dce9f5);
  fill-opacity: .7;
  stroke: #4b78a8;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.tickres-assigned-standing-shape text {
  fill: #243746;
  font-size: 13px;
  font-weight: 700;
  text-anchor: middle;
  pointer-events: none;
}

.tickres-assigned-standing-shape {
  cursor: pointer;
}

.tickres-assigned-standing-shape.has-quantity-control {
  cursor: default;
}

.tickres-assigned-standing-shape .tickres-standing-quantity-button {
  cursor: pointer;
  outline: none;
}

.tickres-assigned-standing-shape .tickres-standing-quantity-button rect {
  fill: #4b4b4b;
  stroke: #303030;
  stroke-width: 1;
}

.tickres-assigned-standing-shape .tickres-standing-quantity-button text {
  fill: #fff;
  font-size: 20px;
  pointer-events: none;
}

.tickres-assigned-standing-shape .tickres-standing-quantity-button:not(.is-disabled):hover rect,
.tickres-assigned-standing-shape .tickres-standing-quantity-button:not(.is-disabled):focus rect {
  fill: #242424;
  filter: drop-shadow(0 0 3px rgba(20, 31, 40, .65));
}

.tickres-assigned-standing-shape .tickres-standing-quantity-button.is-disabled {
  cursor: not-allowed;
  opacity: .4;
}

.tickres-assigned-standing-shape text.tickres-standing-quantity-label {
  font-size: 13px;
  font-weight: 400;
}

.tickres-assigned-standing-shape text.tickres-standing-quantity-value {
  font-size: 18px;
}

.tickres-migration-standing-place {
  cursor: pointer;
  outline: none;
}

.tickres-migration-standing-place circle {
  fill: var(--tickres-place-color, #657786);
  stroke: rgba(20, 31, 40, .7);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.tickres-migration-standing-place.is-selected circle {
  filter: drop-shadow(0 0 2px #f9cccc) drop-shadow(0 0 4px #e9a400);
}

.tickres-assigned-standing-shape text.tickres-standing-place-label {
  font-weight: 700;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, .7);
  stroke-width: 1px;
}

.tickres-migration-standing-place.is-unavailable {
  cursor: not-allowed;
  opacity: .72;
}

.tickres-migration-standing-place:not(.is-unavailable):not(.is-selected):hover circle,
.tickres-migration-standing-place:not(.is-unavailable):not(.is-selected):focus circle {
  filter: drop-shadow(0 0 3px rgba(20, 31, 40, .8));
}

.tickres-assigned-standing-shape:not(.has-quantity-control):hover rect,
.tickres-assigned-standing-shape:not(.has-quantity-control):focus rect {
  filter: drop-shadow(0 0 3px rgba(36, 55, 70, .65));
}

.tickres-legends {
  margin-top: 16px;
}

.tickres-legends > summary {
  cursor: pointer;
  font-size: 1.25em;
  font-weight: 700;
}

.tickres-legend-content {
  margin-top: 16px;
}

.tickres-legend-group {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.tickres-legend-chip,
.tickres-type-chip {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-height: 28px;
  box-sizing: border-box;
  border: 1px solid #d9dee2;
  border-radius: 16px;
  padding: 3px 10px;
  background: #f8f9fa;
}

.tickres-legend-chip i {
  display: inline-block;
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border: 1px solid rgba(0, 0, 0, .28);
  border-radius: 50%;
}

.tickres-type-chip {
  border-width: 2px;
  border-radius: 4px;
  background: #fff;
}

.tickres-price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e4e7ea;
}

.tickres-price-item {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 9px 10px;
  border-radius: 4px;
  background: #f5f6f7;
}

.tickres-price-item span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.tickres-price-item strong {
  flex: 0 0 auto;
  white-space: nowrap;
}

.tickres-standing-list {
  display: grid;
  gap: 8px;
}

.tickres-accessible-view .tickres-standing {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #d9dee2;
}

.tickres-standing-row {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  border-radius: 4px;
  background: #f5f6f7;
  transition: box-shadow .25s ease, background-color .25s ease;
}

.tickres-standing-row.is-targeted {
  background: #fff;
  box-shadow: 0 0 0 3px rgba(75, 120, 168, .35);
}

.tickres-standing-row > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.tickres-standing-row small {
  color: #68737c;
}

.tickres-standing-row input {
  width: 74px;
  flex: 0 0 74px;
  padding: 5px 8px;
  text-align: center;
}

.tickres-section-action {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}

.tickres-standing-message {
  display: none;
  margin-top: 12px;
  border-radius: 4px;
  padding: 10px 12px;
}

.tickres-standing-message.is-success,
.tickres-standing-message.is-error {
  display: block;
}

.tickres-standing-message.is-success {
  border: 1px solid #9bc9aa;
  background: #edf8f0;
  color: #176738;
}

.tickres-standing-message.is-error {
  border: 1px solid #d7a4a4;
  background: #fff0f0;
  color: #8a1f1f;
}

.tickres-summary {
  margin-top: 16px;
  border-color: #bcc7ce;
}

.tickres-summary-heading {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e4e7ea;
}

.tickres-summary-heading h2 {
  margin: 0;
}

.tickres-seatmap-countdown {
  min-height: 0;
  margin: 0;
  border-radius: 18px;
  padding: 6px 12px;
  background: #eef3ef;
  color: #176738;
  font-weight: 800;
}

.tickres-seatmap-countdown:empty {
  display: none;
}

.tickres-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf0f2;
}

.tickres-summary-info {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.tickres-summary-info span {
  color: #68737c;
}

.tickres-summary-option {
  display: grid;
  grid-template-columns: minmax(100px, auto) minmax(140px, 1fr);
  gap: 8px;
  align-items: center;
  color: #68737c;
}

.tickres-summary-option select {
  width: 100%;
  color: #343a40;
}

.tickres-summary-price {
  white-space: nowrap;
}

.tickres-summary-total-heading {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid #e4e7ea;
  font-size: 16px;
}

.tickres-summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  padding: 0 0 4px;
  font-size: 17px;
}

.tickres-empty-selection {
  margin: 16px 0;
  border-radius: 4px;
  padding: 14px;
  background: #f5f6f7;
  color: #68737c;
}

.tickres-summary-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e4e7ea;
}

.tickres-summary-actions .cssButton {
  min-width: 190px;
}

.tickres-cart-message {
  margin-top: 12px;
}

.tickres-accessible-view {
  margin-top: 16px;
}

.tickres-accessible-filter {
  margin: 18px 0;
  border: 1px solid #cfd7dd;
  border-radius: 6px;
  padding: 16px;
  background: #f8fafb;
}

.tickres-accessible-filter legend {
  padding: 0 7px;
  color: #263b48;
  font-size: 1.08em;
  font-weight: 700;
}

.tickres-accessible-filter-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr)) auto;
  gap: 12px;
  align-items: end;
}

.tickres-accessible-filter-controls label {
  display: flex;
  gap: 6px;
  flex-direction: column;
  font-weight: 700;
}

.tickres-accessible-filter-controls select {
  width: 100%;
}

.tickres-accessible-filter-status {
  margin: 12px 0 0;
  color: #4d5c66;
}

.tickres-table-scroll {
  overflow-x: auto;
}

.tickres-accessible-seats {
  width: 100%;
  border-collapse: collapse;
}

.tickres-accessible-seats caption {
  padding: 0 0 10px;
  color: #263b48;
  font-size: 1.08em;
  font-weight: 700;
  text-align: left;
}

.tickres-accessible-seats th,
.tickres-accessible-seats td {
  padding: 10px;
  border-bottom: 1px solid #e4e7ea;
  text-align: left;
  vertical-align: middle;
}

.tickres-accessible-seats th {
  background: #f5f6f7;
}

.tickres-accessible-seats tbody tr:nth-child(even) {
  background: #fafbfc;
}

.tickres-accessible-seats tbody tr.is-selected {
  background: #eef8f1;
}

.tickres-accessible-seat-status {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 8px;
  background: #e7ebee;
  color: #344751;
  white-space: nowrap;
}

.tickres-accessible-seat-status.is-available {
  background: #e4f3e8;
  color: #205d31;
}

.tickres-accessible-seat-status.is-selected {
  background: #dcecf8;
  color: #174e73;
}

.tickres-accessible-seat-status.is-code {
  border: 1px dashed #555;
  background: #ededed;
}

.tickres-auto-select-details {
  margin: 20px 0 0;
  border-top: 1px solid #e0e5e8;
  padding-top: 16px;
}

.tickres-auto-select-details summary {
  cursor: pointer;
  color: #263b48;
  font-weight: 700;
}

.tickres-auto-select {
  display: grid;
  grid-template-columns: 100px minmax(170px, 1fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 18px 0;
}

.tickres-auto-select input,
.tickres-auto-select select {
  width: 100%;
}

.tickres-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.tickres-pagination {
  justify-content: center;
  margin-top: 16px;
}

.tickres-access-code {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  margin-top: 16px;
}

.tickres-access-code label {
  flex: 1 1 auto;
}

.tickres-seat-tooltip {
  position: fixed;
  z-index: 10020;
  width: max-content;
  max-width: min(340px, calc(100vw - 20px));
  max-height: calc(100vh - 20px);
  overflow-y: auto;
  border: 1px solid #9aa8b3;
  border-radius: 6px;
  padding: 9px 11px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(20, 31, 40, .24);
  color: #1d2b34;
  pointer-events: none;
}

.tickres-seat-tooltip dl,
.tickres-seat-dialog-details {
  display: grid;
  gap: 5px 12px;
  grid-template-columns: max-content minmax(0, 1fr);
  margin: 0;
}

.tickres-seat-detail {
  display: contents;
}

.tickres-seat-detail dt {
  color: #596773;
  font-weight: 600;
}

.tickres-seat-detail dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

body.tickres-seat-dialog-open {
  overflow: hidden;
}

.tickres-seat-dialog-backdrop {
  position: fixed;
  z-index: 10010;
  inset: 0;
  display: flex;
  overflow-y: auto;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(13, 25, 34, .58);
}

.tickres-seat-dialog {
  width: min(620px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 50px rgba(0, 0, 0, .38);
  color: #1d2b34;
}

.tickres-seat-dialog > header {
  position: sticky;
  z-index: 1;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #e0e5e9;
  padding: 16px 20px;
  background: #fff;
}

.tickres-seat-dialog > header h2 {
  margin: 0;
  font-size: 21px;
}

.tickres-seat-dialog-close {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: #eef1f3;
  color: #253842;
  cursor: pointer;
  font: 25px/34px Arial, sans-serif;
}

.tickres-seat-dialog-body {
  padding: 20px;
}

.tickres-seat-dialog-details {
  gap: 8px 18px;
}

.tickres-seat-detail-price dd {
  font-weight: 700;
}

.tickres-seat-dialog-options {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
}

.tickres-seat-dialog-option {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
  font-weight: 600;
}

.tickres-seat-dialog-option select {
  width: 100%;
  min-height: 38px;
  opacity: 1;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: auto;
  font-weight: 400;
}

.tickres-seat-dialog-companion {
  margin-top: 22px;
  border-top: 1px solid #e0e5e9;
  padding-top: 18px;
}

.tickres-seat-dialog-companion-toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 700;
  cursor: pointer;
}

.tickres-seat-dialog-companion-toggle input {
  width: 18px;
  height: 18px;
}

.tickres-seat-dialog-companion > div:not([hidden]) {
  margin-top: 16px;
  border-left: 4px solid #788d9a;
  padding: 14px 0 2px 16px;
}

.tickres-seat-dialog-actions {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #e0e5e9;
  padding: 15px 20px;
  background: #f7f8f9;
}

.tickres-seat-dialog-actions button {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 8px 18px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.tickres-seat-dialog-apply {
  background: #24753e;
  color: #fff;
}

.tickres-seat-dialog-remove {
  border-color: #a52e2e !important;
  background: #fff;
  color: #8d2424;
}

.tickres-seat-dialog button:focus-visible,
.tickres-seat-dialog select:focus-visible {
  outline: 3px solid rgba(35, 111, 158, .35);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .tickres-auto-select,
  .tickres-accessible-filter-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .tickres-booking-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .tickres-map-viewport svg {
    min-width: 600px;
  }

  .tickres-price-grid,
  .tickres-auto-select,
  .tickres-accessible-filter-controls {
    grid-template-columns: 1fr;
  }

  .tickres-summary-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .tickres-summary-info {
    grid-column: 1 / -1;
  }

  .tickres-summary-price {
    grid-column: 1;
    justify-self: start;
  }

  .tickres-summary-row .cssButton {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }

  .tickres-access-code {
    align-items: stretch;
    flex-direction: column;
  }

  .tickres-seat-dialog-backdrop {
    align-items: flex-start;
    padding: 12px;
  }

  .tickres-seat-dialog {
    max-height: calc(100vh - 24px);
  }

  .tickres-seat-dialog-options {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 450px) {
  .tickres-map-controls {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }

  .tickres-map-zoom {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .tickres-levels {
    width: 100%;
    grid-column: 1 / -1;
    grid-row: 2;
    flex-wrap: nowrap;
  }

  .tickres-levels .cssButton {
    flex: 1 1 0;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .tickres-card {
    padding: 15px;
  }

  .tickres-booking-tabs {
    width: 100%;
    align-items: stretch;
    flex-direction: row;
  }

  .tickres-booking-tabs .tickres-css-link {
    flex: 1 1 50%;
  }

  .tickres-booking-tabs .cssButton {
    width: 100%;
  }

  .tickres-summary-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .tickres-seat-tooltip dl,
  .tickres-seat-dialog-details {
    grid-template-columns: 1fr;
  }

  .tickres-seat-detail {
    display: grid;
    gap: 1px;
  }

  .tickres-seat-dialog-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }
}
