/* Additional booking UI only. The original VX Tennis visual design remains untouched. */
.vx-online { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 25px; margin-top: 8px; }
.vx-kicker { color: var(--court-mid); text-transform: uppercase; letter-spacing: .13em; font-size: .70rem; font-weight: 800; margin: 0 0 7px; }
.vx-online h4 { font-size: 1.4rem; font-weight: 700; letter-spacing: -.035em; margin: 0 0 4px; }
.vx-muted { color: var(--muted); font-size: .89rem; margin: 0 0 15px; }
.vx-online-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:12px; }
.vx-online-grid .field { min-width: 0; }
.vx-inline-notice { padding: 12px 14px; border:1px solid var(--line); border-radius:10px; font-size:.84rem; line-height:1.5; background:rgba(127,145,115,.075); color:var(--muted); margin:14px 0; }
.vx-inline-notice.error { border-color:#c58273; color:#a24532; }
.vx-inline-notice.success { border-color:#4d9665; color:var(--court-mid); }
.vx-pay-choice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 22px;
  row-gap: 10px;
  margin: 12px 0 16px;
}
.vx-pay-choice label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  margin: 0;
  font-size: .86rem;
  line-height: 1.5;
  white-space: nowrap;
  cursor: pointer;
}
/* Override the site's generic full-width input styling for native choices. */
.vx-pay-choice input[type="radio"],
.vx-consent input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: auto;
  display: inline-block;
  box-sizing: border-box;
  width: 18px;
  min-width: 18px;
  max-width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  flex: 0 0 18px;
  accent-color: #245b3a;
  cursor: pointer;
}
.vx-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  margin: 14px 0 0;
  font-size: .86rem;
  line-height: 1.5;
  cursor: pointer;
}
.vx-consent input[type="checkbox"] { margin-top: 2px; }
.vx-consent span { display: block; flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
.vx-summary { border-top:1px solid var(--line); padding-top:13px; margin-top:14px; }
.vx-summary-line { display:flex; justify-content:space-between; gap:15px; font-size:.9rem; margin:8px 0; }
.vx-summary-line.vx-total { font-weight:800; font-size:1.08rem; border-top:1px solid var(--line); padding-top:11px; margin-top:10px; }
.vx-cta { margin-top:12px; width:100%; display:flex; justify-content:center; align-items:center; gap:10px; }
.vx-cta[disabled] { opacity:.55; cursor:not-allowed; }
.vx-caption { margin:10px 0 0; color:var(--muted); font-size:.79rem; }
.vx-staff { display:inline-block; margin-top:14px; font-size:.77rem; opacity:.7; }
.vx-chip { display:inline-block; font-size:.69rem; border:1px solid var(--line); border-radius:100px; padding:3px 10px; vertical-align:middle; margin-left:8px; font-weight:600; }
@media(max-width:560px){.vx-online-grid {grid-template-columns:1fr;} .vx-online{grid-column:auto}.vx-pay-choice{flex-direction:column;align-items:flex-start;gap:10px}}
