.aec-ticketing{
  margin-top:clamp(2.5rem,6vw,5.5rem);
  padding:var(--aec-ticket-padding,34px);
  border:1px solid var(--aec-ticket-border,#303030);
  border-radius:var(--aec-ticket-radius,18px);
  background:var(--aec-ticket-bg,#151515);
  color:var(--aec-ticket-text,#fff);
}
.aec-ticketing__head{
  margin-bottom:1.35rem;
  text-align:var(--aec-ticket-heading-align,left);
}
.aec-ticketing__head p,
.aec-ticketing__seating-head p{
  margin:0 0 .35rem;
  color:var(--aec-ticket-accent,#f4ff00);
  font:800 var(--aec-detail-meta-size,13px)/1 var(--aec-detail-meta-font,var(--aec-font-accent,"Another Typewriter","Courier New",monospace));
  letter-spacing:.08em;
  text-transform:uppercase;
}
.aec-ticketing__head h2,
.aec-ticketing__seating-head h3{
  margin:0;
  color:var(--aec-ticket-text,#fff);
  font-family:var(--aec-detail-title-font,var(--aec-font-primary,"Space Grotesk",Arial,sans-serif));
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.aec-ticketing__head h2{font-size:clamp(2rem,5vw,4.5rem);line-height:.9}
.aec-ticketing__seating-head{
  margin-bottom:1rem;
  text-align:var(--aec-ticket-heading-align,left);
}
.aec-ticketing__seating-head h3{font-size:clamp(1.5rem,3vw,2.6rem);line-height:.95}

.aec-ticketing__tickets{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.aec-ticketing .tickera,
.aec-ticketing .tc-event-table-wrap{width:100%}

.aec-ticketing table{
  width:100%;
  border-collapse:collapse;
  background:transparent!important;
  color:inherit;
}
.aec-ticketing th,
.aec-ticketing td{
  padding:.8rem .7rem!important;
  border-color:var(--aec-ticket-border,#303030)!important;
  color:var(--aec-ticket-text,#fff)!important;
  font-family:var(--aec-detail-body-font,var(--aec-font-primary,"Space Grotesk",Arial,sans-serif));
  vertical-align:middle!important;
}
.aec-ticketing th{
  color:var(--aec-ticket-muted,#a3a3a3)!important;
  font-size:.72rem!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* Standard Tickera / WooCommerce buttons */
.aec-ticketing a.button,
.aec-ticketing button.button,
.aec-ticketing input[type=submit],
.aec-ticketing .add_to_cart_button,
.aec-ticketing .added_to_cart,
.aec-ticketing .wc-forward,
.aec-ticketing .tc_seating_map_button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:var(--aec-ticket-button-height,46px)!important;
  height:auto!important;
  padding:.7rem 1rem!important;
  border:0!important;
  border-radius:var(--aec-ticket-button-radius,999px)!important;
  background:var(--aec-ticket-button-bg,#f4ff00)!important;
  color:var(--aec-ticket-button-text,#0a0a0a)!important;
  font-family:var(--aec-detail-meta-font,var(--aec-font-primary,"Space Grotesk",Arial,sans-serif))!important;
  font-size:.72rem!important;
  font-weight:850!important;
  line-height:1.1!important;
  letter-spacing:.06em!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}

/* Keeps Add to Cart + dynamically inserted View Cart aligned together. */
.aec-ticketing .tc-wb-add-to-cart,
.aec-ticketing .woocommerce{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:.5rem;
}
.aec-ticketing .tc-wb-add-to-cart .added_to_cart,
.aec-ticketing .tc-wb-add-to-cart .wc-forward{
  margin:0!important;
}

/* WooCommerce quantity input and theme/plugin supplied minus/plus controls. */
.aec-ticketing .quantity{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.45rem!important;
  width:auto!important;
  max-width:100%!important;
}
.aec-ticketing .quantity input.tc-wb-quantity-selector,
.aec-ticketing .quantity input.qty,
.aec-ticketing .quantity input.tc_quantity_selector,
.aec-ticketing input[type=number],
.aec-ticketing select{
  min-height:42px!important;
  border:1px solid var(--aec-ticket-border,#303030)!important;
  background:var(--aec-ticket-quantity-bg,#fff)!important;
  color:var(--aec-ticket-quantity-text,#0a0a0a)!important;
  box-shadow:none!important;
}
.aec-ticketing .quantity input.tc-wb-quantity-selector,
.aec-ticketing .quantity input.qty,
.aec-ticketing .quantity input.tc_quantity_selector{
  width:var(--aec-ticket-quantity-width,74px)!important;
  max-width:var(--aec-ticket-quantity-width,74px)!important;
  text-align:center!important;
  padding-inline:.5rem!important;
}

/* Do not turn quantity +/- into yellow Buy buttons. */
.aec-ticketing .quantity .minus,
.aec-ticketing .quantity .plus,
.aec-ticketing input.tickera_button.minus,
.aec-ticketing input.tickera_button.plus{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--aec-ticket-text,#fff)!important;
  font:700 1.25rem/1 var(--aec-font-primary,"Space Grotesk",Arial,sans-serif)!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.aec-ticketing .quantity .minus:hover,
.aec-ticketing .quantity .plus:hover,
.aec-ticketing input.tickera_button.minus:hover,
.aec-ticketing input.tickera_button.plus:hover{
  border-color:var(--aec-ticket-border,#303030)!important;
  background:color-mix(in srgb,var(--aec-ticket-text,#fff) 8%,transparent)!important;
}

.aec-ticketing__seating{
  margin-top:1.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--aec-ticket-border,#303030);
}
.aec-ticketing .tc_seating_map_button{
  cursor:pointer!important;
}

@media(max-width:700px){
  .aec-ticketing{
    padding:min(var(--aec-ticket-padding,34px),1rem);
  }

  .aec-ticketing table,
  .aec-ticketing tbody{
    display:block;
    width:100%;
  }
  /* WooCommerce Bridge renders its desktop headings as the first table row, not a thead. */
  .aec-ticketing thead,
  .aec-ticketing table > tbody > tr:first-child,
  .aec-ticketing table > tr:first-child{
    display:none!important;
  }
  .aec-ticketing tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    gap:.85rem;
    width:100%;
    padding:1rem 0;
    border-top:1px solid var(--aec-ticket-border,#303030);
  }
  .aec-ticketing tbody tr:nth-child(2){
    border-top:0;
  }
  .aec-ticketing td{
    display:block!important;
    width:100%!important;
    padding:0!important;
    border:0!important;
    text-align:left!important;
  }
  .aec-ticketing td[data-column]::before{
    display:block;
    margin:0 0 .35rem;
    color:var(--aec-ticket-muted,#a3a3a3);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    content:attr(data-column);
  }

  .aec-ticketing .quantity{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
  }
  .aec-ticketing .quantity input.tc-wb-quantity-selector,
  .aec-ticketing .quantity input.qty,
  .aec-ticketing .quantity input.tc_quantity_selector{
    width:min(100%,var(--aec-ticket-quantity-width,74px))!important;
    max-width:min(100%,var(--aec-ticket-quantity-width,74px))!important;
  }

  .aec-ticketing .tc-wb-add-to-cart,
  .aec-ticketing .woocommerce{
    width:100%;
    justify-content:stretch;
    align-items:stretch;
    flex-direction:column;
    gap:.65rem;
  }
  .aec-ticketing a.button,
  .aec-ticketing button.button,
  .aec-ticketing input[type=submit],
  .aec-ticketing .add_to_cart_button,
  .aec-ticketing .added_to_cart,
  .aec-ticketing .wc-forward,
  .aec-ticketing .tc_seating_map_button{
    width:100%!important;
  }
}
