/* Eventin ticket form — Ag360 palette */

.ag360-etn {
  --ag360-ink:         var(--canopy);        /* deep green-black, the site's dark ground */
  --ag360-ink-soft:    var(--stone-dark);    /* secondary text that passes AA on paper   */
  --ag360-accent:      var(--ag-green-light);/* tertiary green: button fill on dark      */
  --ag360-accent-dark: var(--ag-forest);     /* secondary green: button fill on light    */
  --ag360-bone:        var(--bone);
  --ag360-paper:       var(--paper);
  --ag360-line:        var(--rule);
  --ag360-error:       #A93636;
  --ag360-success:     var(--ag-forest);
  margin: 0;
  max-width: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  font-family: var(--font-body);
}

.card .ag360-etn__header {
  padding: 0 0 var(--s-4);
  color: inherit;
  background: none;
}

.card .ag360-etn__title,
.card .ag360-etn__header h2 {
  font-size: var(--t-h3);
  font-variation-settings: 'opsz' 20;
  font-weight: 500;
  color: inherit;
}

.card .ag360-etn__intro {
  font-size: var(--t-small);
  color: var(--text-muted);
}

.card .ag360-etn__form {
  padding: 0;
}

.card .ag360-etn__section {
  padding: var(--s-5) 0;
}

.card .ag360-etn__section-heading {
  margin-bottom: var(--s-4);
}

.card .ag360-etn__attendee {
  background: rgba(255, 255, 255, 0.36);
}

.card .ag360-etn__modal .ag360-etn__checkout {
  background: var(--bone);
}

.ag360-etn__price,
.ag360-etn__total,
.ag360-etn__stock {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

/* Match the site's pill buttons. */
.ag360-etn__submit,
.ag360-etn button[type="submit"] {
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.ag360-etn :focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

@media (max-width: 680px) {
  .card .ag360-etn__section {
    padding: var(--s-6) 0;
    border-bottom-color: rgba(11, 20, 32, 0.14);
  }
  .card .ag360-etn__section:first-of-type { padding-top: 0; }
  .card .ag360-etn__section-heading { margin-bottom: var(--s-5); }
  .card .ag360-etn__section-heading h3 {
    font-family: var(--font-body);
    font-size: var(--t-lead);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.012em;
    color: var(--ink);
  }
  .card .ag360-etn__section-heading p {
    margin-top: var(--s-2);
    font-size: var(--t-small);
    line-height: 1.5;
    color: var(--stone-dark);
  }
  .card .ag360-etn__ticket-grid,
  .card .ag360-etn__fields--two,
  .card .ag360-etn__fields {
    gap: var(--s-5);
  }
  .card .ag360-etn__fields { margin-top: var(--s-5); }
  .card .ag360-etn input:not([type="checkbox"]):not([type="radio"]),
  .card .ag360-etn select,
  .card .ag360-etn textarea {
    min-height: 48px;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(11, 20, 32, 0.3);
    border-radius: var(--radius-card);
    font-size: var(--t-body);
  }
  .card .ag360-etn__field label {
    font-size: var(--t-small);
    font-weight: 650;
    color: var(--ink);
  }
  .card .ag360-etn input:focus,
  .card .ag360-etn select:focus,
  .card .ag360-etn textarea:focus {
    border-color: var(--ag-forest);
    box-shadow: 0 0 0 3px rgba(0, 133, 64, 0.18);
  }
  .card .ag360-etn__quantity {
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    border-color: rgba(11, 20, 32, 0.3);
    border-radius: var(--radius-card);
  }
  .card .ag360-etn__quantity button {
    min-height: 48px;
    background: var(--bone-deep);
    font-size: 1.35rem;
  }
  .card .ag360-etn__quantity input:not([type="checkbox"]):not([type="radio"]) {
    min-height: 48px;
    border-radius: 0;
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
  }
  .card .ag360-etn__summary {
    margin-top: var(--s-5);
    gap: 0;
    background: none;
    border: 0;
    border-top: 1px solid rgba(11, 20, 32, 0.14);
    border-radius: 0;
  }
  .card .ag360-etn__summary > div {
    padding: var(--s-4) 0;
    background: none;
    border-bottom: 1px solid rgba(11, 20, 32, 0.14);
  }
  .card .ag360-etn__summary span {
    font-size: var(--t-small);
    color: var(--stone-dark);
  }
  .card .ag360-etn__summary strong {
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    font-size: var(--t-lead);
    font-weight: 600;
    color: var(--ink);
    text-align: right;
  }
  .card .ag360-etn__attendees { gap: var(--s-5); }
  .card .ag360-etn__attendee {
    padding: var(--s-5) 0 0;
    background: none;
    border: 0;
    border-top: 1px solid rgba(11, 20, 32, 0.14);
    border-radius: 0;
  }
  .card .ag360-etn__attendee:first-child { padding-top: 0; border-top: 0; }
  .card .ag360-etn__attendee h4 {
    font-family: var(--font-body);
    font-size: var(--t-body);
    font-weight: 800;
    color: var(--ink);
  }
  .card .ag360-etn__attendee-ticket {
    font-family: var(--font-mono);
    font-size: var(--t-micro);
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--green-text);
  }
  .card .ag360-etn__attendee-head { gap: var(--s-2); margin-bottom: var(--s-4); }
  .card .ag360-etn__consent { gap: var(--s-4); padding-top: var(--s-5); }
  .card .ag360-etn__consent-item,
  .card .ag360-etn__copy-purchaser {
    gap: var(--s-3);
    font-size: var(--t-small);
    line-height: 1.55;
  }
  .card .ag360-etn__consent-item input,
  .card .ag360-etn__copy-purchaser input,
  .card .ag360-etn__choice input {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.2rem;
    accent-color: var(--ag-forest);
  }
  .card .ag360-etn__payment-methods { gap: var(--s-3); }
  .card .ag360-etn__payment-option label {
    min-height: 56px;
    padding: var(--s-4);
    border: 1px solid rgba(11, 20, 32, 0.3);
    border-radius: var(--radius-card);
    font-size: var(--t-small);
    font-weight: 650;
  }
  .card .ag360-etn__payment-option input:checked + label {
    background: rgba(0, 133, 64, 0.08);
    border-color: var(--ag-forest);
    box-shadow: 0 0 0 2px rgba(0, 133, 64, 0.16);
  }
  .card .ag360-etn__payment-option input:checked + label::after {
    background: var(--ag-forest);
    border-color: var(--ag-forest);
  }
  .card .ag360-etn__submit {
    min-height: 52px;
    margin-top: var(--s-6);
    padding: var(--s-4) var(--s-5);
    color: #fff;
    background: var(--ag-forest);
    border-color: var(--ag-forest);
    border-radius: var(--radius-pill);
    font-size: var(--t-small);
    font-weight: 650;
  }
  .card .ag360-etn__submit:hover:not(:disabled) {
    background: #007136;
    border-color: #007136;
    transform: none;
  }
  .card .ag360-etn__privacy,
  .card .ag360-etn__fine-print,
  .card .ag360-etn__help {
    font-size: var(--t-micro);
    color: var(--stone-dark);
  }
  .ag360-etn__modal { padding: 0; place-items: end stretch; }
  .ag360-etn__modal .ag360-etn__checkout {
    width: 100%;
    max-height: 92svh;
    padding: var(--s-7) var(--s-5) var(--s-6);
    border-radius: var(--radius-panel) var(--radius-panel) 0 0;
  }
  .ag360-etn__modal .ag360-etn__submit { border-radius: var(--radius-pill); }
}

.ag360-etn__form { container: ag-regform / inline-size; }

@container ag-regform (max-width: 26rem) {
  .ag360-etn__ticket-grid,
  .ag360-etn__fields--two,
  .ag360-etn__summary,
  .ag360-etn__payment-methods {
    grid-template-columns: minmax(0, 1fr);
  }
  .ag360-etn__attendee-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .ag360-etn__attendee-ticket { text-align: left; }
}
