[hidden] { display: none !important; }
#ingressos { scroll-margin-top: 1rem; }
.preview-row { display: flex; justify-content: space-between; gap: 1rem; }
.preview-cart { align-self: start; padding-left: 1.25rem; position: sticky; top: .75rem; width: min(100%, 28rem); justify-self: end; }
.event-cart-panel { padding: 1.5rem; }
.event-coupon { display: flex; align-items: center; gap: .5rem; min-height: 2.5rem; padding: 0 .5rem; background: #16151f; border: 1px solid #2e2b47; border-radius: .375rem; }
.event-coupon svg, .event-coupon button { flex: none; }
.event-coupon input { flex: 1; min-width: 0; padding: .4375rem 0; background: transparent; color: inherit; }
.event-coupon input::placeholder { color: #c7c7c7; font-style: italic; }
.event-coupon button { padding: .4375rem 0; }
#checkout { color: var(--color-text-0); }
.preview-checkout-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 15rem;
  padding: 1rem;
  background: linear-gradient(0deg, #1c1c28, #1c1c2820), url(/images/checkout-bg.jpg) center / cover;
}
.preview-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.23fr) minmax(0, 1fr);
  align-items: start;
  gap: 1.25rem;
  width: calc(100% - 1.5rem);
  max-width: 46.5rem;
  margin: auto;
  padding: 1.5rem 0 3rem;
}
.preview-box { border-radius: .375rem; background: #0e0e14; padding: 1rem; }
.preview-box h2 { margin-bottom: .5rem; }
.checkout-heading { display: flex; align-items: center; gap: .625rem; }
.checkout-heading svg { flex: none; }
.preview-box label { display: block; margin-top: 1rem; }
.preview-box input {
  width: 100%;
  height: 2.5rem;
  margin-top: .25rem;
  padding: .4375rem .5rem;
  border: 1px solid #2e2b47;
  border-radius: .375rem;
  background: #15151e;
  color: inherit;
}
.preview-box input::placeholder { color: #b6b6b6; font-style: italic; opacity: 1; }
.checkout-help { font-size: .875rem; line-height: 1.25rem; }
.checkout-document { margin-top: .25rem; }
.checkout-phone {
  display: flex;
  align-items: center;
  height: 2.625rem;
  margin-top: .25rem;
  border: 1px solid #2e2b47;
  border-radius: .375rem;
  background: #15151e;
}
.checkout-phone b { padding: .25rem .5rem; min-width: 2.5rem; font-size: .625rem; border-right: 1px solid #2e2b47; }
.checkout-phone input { border: 0; margin: 0; background: transparent; }
.preview-notice {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: .5rem;
  background: #163652;
  color: var(--color-primary);
}
.checkout-clock { display: flex; align-items: center; gap: .5rem; flex: none; font-size: 1.5rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.checkout-summary { padding: 1.5rem 2rem; border-radius: .5rem; background: #0d0d13; }
.checkout-totals, #checkout-cart-items { margin-top: 1rem; }
#checkout-cart-toggle { display: grid; place-items: center; flex: none; align-self: start; width: 2rem; height: 2rem; border-radius: .5rem; background: #21202e; }
#checkout-cart-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.checkout-side-action { display: flex; justify-content: center; align-items: center; gap: .375rem; text-align: center; }
.checkout-side-action svg { flex: none; }
@media (min-width: 1024px) {
  .preview-checkout-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); max-width: min(94vw, 70.75rem); }
}
.preview-pix { padding: .65rem; margin: .75rem 0; border: 1px solid currentColor; border-radius: .375rem; }
@media (max-width: 1023px) {
  .preview-cart { position: fixed; inset: auto 0 0; z-index: 40; padding: 0; width: 100%; }
  .event-cart-panel { padding: 1.25rem 1rem 1rem; border-radius: .75rem .75rem 0 0; }
  .event-cart-desktop { display: none; }
  #evento:has(#carrinho:not([hidden])) { padding-bottom: 13rem; }
}
@media (max-width: 767px) {
  .preview-checkout-grid { grid-template-columns: 1fr; }
  .preview-checkout-grid aside { grid-row: 1; }
  .preview-checkout-hero { min-height: 10rem; }
}

.product-card { padding-top: 1.75rem; }

#insurance-options { display: flex; flex-direction: column; gap: .25rem; margin-top: 1.25rem; }
.checkout-insurance .insurance-option {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 1rem;
  margin: 0;
  border: 2px solid transparent;
  border-radius: .75rem;
  font-weight: 700;
  cursor: pointer;
}
.checkout-insurance .insurance-offer { background: #1c1c28; border-color: #174766; }
.checkout-insurance .insurance-option:has(input:checked) { border-color: var(--color-primary); }
.checkout-insurance .insurance-option input {
  appearance: none;
  flex: none;
  width: 1rem;
  height: 1rem;
  margin: 0;
  padding: 0;
  border: 1px solid #c7c7c7;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.checkout-insurance .insurance-offer input { border-color: var(--color-primary); }
.checkout-insurance .insurance-option input:checked { border-color: var(--color-primary); background: radial-gradient(circle, var(--color-primary) 42%, transparent 45%); }
#insurance-rules-open { display: block; margin: .75rem auto 0; font-size: .875rem; }
.insurance-dialog { width: min(calc(100% - 2rem), 28rem); margin: auto; color: var(--color-text-0); border: 1px solid #2e2b47; }
.insurance-dialog::backdrop { background: #0009; }
.insurance-dialog form { display: flex; justify-content: flex-end; margin-top: 1rem; }
