/* =========================================================
   COSIC – Ticket table polish + separation of sponsor rows
   Page area: classic event registration
   Table: .neoncrm-ticket-options-table
========================================================= */

/* Overall table spacing & readability */
#content .neoncrm-ticket-options-table {
  width: 100%;
  border-collapse: separate;          /* so we can use row gaps */
  border-spacing: 0 10px;             /* vertical gap between rows */
  table-layout: auto;
}

/* Header row */
#content .neoncrm-ticket-options-table thead th {
  background: #f5f7fa;
  color: #17212B;
  font-weight: 800;
  padding: 12px 14px;
  border: 1px solid #dde2e8;
  border-bottom: 2px solid #c9d1da;
}

/* Base row styling */
#content .neoncrm-ticket-options-table tbody tr {
  background: #fff;
  border-radius: 12px;                /* rounded corners via first/last-cell trick */
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
#content .neoncrm-ticket-options-table tbody tr td {
  padding: 14px 16px;
  border-top: 1px solid #eef1f5;
  vertical-align: top;
}

/* Rounded corners for first/last cell in a row */
#content .neoncrm-ticket-options-table tbody tr td:first-child {
  border-left: 1px solid #dde2e8;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}
#content .neoncrm-ticket-options-table tbody tr td:last-child {
  border-right: 1px solid #dde2e8;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* Top two tickets (Individual, Foursome) — highlight */
#content .neoncrm-ticket-options-table tbody tr:nth-child(1),
#content .neoncrm-ticket-options-table tbody tr:nth-child(2) {
  background: #F0F6F2;                /* soft green tint */
  box-shadow: 0 10px 22px rgba(46,110,62,.10);
}
#content .neoncrm-ticket-options-table tbody tr:nth-child(1) td strong,
#content .neoncrm-ticket-options-table tbody tr:nth-child(2) td strong {
  color: #2E6E3E;
}

/* Add a labeled divider before the sponsor block (row 3) */
#content .neoncrm-ticket-options-table tbody tr:nth-child(3) td {
  /* extra breathing room above the sponsor section */
  padding-top: 22px;
  border-top: 2px solid #c9d1da;
}
#content .neoncrm-ticket-options-table tbody tr:nth-child(3) td:first-child {
  position: relative;
}
#content .neoncrm-ticket-options-table tbody tr:nth-child(3) td:first-child::before {
  content: "Sponsor tickets";
  position: absolute;
  top: -14px;
  left: 0;
  background: #fff;
  padding: 2px 10px;
  font-weight: 800;
  color: #17212B;
  border: 1px solid #c9d1da;
  border-radius: 999px;
  font-size: 13px;
}

/* Sponsor rows: subtle style so they read as secondary options */
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) {
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
}
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td strong {
  color: #2A2F36;
}

/* Optional badge inside sponsor names (adds a small “Sponsor” tag) */
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child strong::after {
  content: "  ·  Sponsor";
  font-weight: 700;
  color: #5a6b7c;
  font-size: 12px;
}

/* Price column emphasis */
#content .neoncrm-ticket-options-table tbody td:nth-child(2) {
  white-space: nowrap;
  font-weight: 800;
  color: #2E6E3E;
}

/* Quantity input improvements */
#content .neoncrm-ticket-options-table .neoncrm-ticket-for-options-qty {
  width: 64px;
  height: 40px;
  text-align: center;
  border: 1.5px solid #dde2e8;
  border-radius: 10px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#content .neoncrm-ticket-options-qty:focus,
#content .neoncrm-ticket-for-options-qty:focus {
  outline: none;
  border-color: #2E6E3E;
  box-shadow: 0 0 0 3px rgba(46,110,62,.14);
}

/* Compact bullets inside long sponsor descriptions */
#content .neoncrm-ticket-options-table tbody tr td:first-child {
  line-height: 1.45;
}
#content .neoncrm-ticket-options-table tbody tr td:first-child br {
  line-height: 1.2;
}

/* Mobile tweaks */
@media (max-width: 640px) {
  #content .neoncrm-ticket-options-table thead { display: none; } /* stack rows for small screens */
  #content .neoncrm-ticket-options-table,
  #content .neoncrm-ticket-options-table tbody,
  #content .neoncrm-ticket-options-table tr,
  #content .neoncrm-ticket-options-table td {
    display: block;
    width: 100%;
  }
  #content .neoncrm-ticket-options-table tbody td {
    border-left: 1px solid #dde2e8;
    border-right: 1px solid #dde2e8;
  }
  #content .neoncrm-ticket-options-table tbody td + td {
    border-top: 0; /* avoid heavy stacked borders on mobile */
  }
  #content .neoncrm-ticket-options-table tbody tr td:last-child {
    border-bottom: 1px solid #dde2e8;
  }
}
/* =========================================================
   COSIC – Registrant / Contact fields modern styling
   Applies below ticket table
========================================================= */

/* Wrap entire registration area with soft card look */
#content form[name="pShoppingCartFormBean"] .neoncrm-content {
  background: #fff;
  border: 1px solid #dde2e8;
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  padding: clamp(20px, 2vw, 40px);
  margin-top: 28px;
}

/* Field labels */
#content .neoncrm-field-label {
  display: block;
  margin-top: 14px;
  margin-bottom: 4px;
  font-weight: 700;
  color: #17212B;
  font-size: 15px;
}

/* Inputs & selects */
#content .neon2Field,
#content .neoncrm-select {
  width: 100%;
  max-width: 460px;
  height: 44px;
  border: 1.5px solid #dde2e8;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 15px;
  transition: border-color .15s ease, box-shadow .15s ease;
  background: #fdfdfd;
  box-sizing: border-box;
}
#content .neon2Field:focus,
#content .neoncrm-select:focus {
  outline: none;
  border-color: #2E6E3E;
  box-shadow: 0 0 0 3px rgba(46,110,62,.14);
}

/* Checkbox & consent groups */
#content .neoncrm-checkbox-group {
  margin-top: 20px;
  padding: 14px 18px;
  border: 1px solid #dde2e8;
  border-radius: 12px;
  background: #F8FAF9;
}
#content .neoncrm-checkbox-group label {
  font-weight: 600;
  color: #17212B;
}
#content .neoncrm-checkbox-group input[type="checkbox"] {
  transform: scale(1.2);
  margin-right: 8px;
}

/* Required field asterisk */
#content .neoncrm-required::after {
  content: "*";
  color: #d93025;
  margin-left: 4px;
  font-weight: 800;
}

/* Section titles (e.g. “Ticket Options”, etc.) */
#content .neoncrm-page-subtitle {
  font-size: 20px;
  font-weight: 800;
  margin-top: 40px;
  margin-bottom: 16px;
  color: #2E6E3E;
}

/* CTA button consistency with donation form */
#content .neoncrm-button,
#content input[type="submit"],
#content button[type="submit"] {
  background: #2E6E3E !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 800;
  font-size: 16px;
  padding: 14px 26px;
  border: none;
  box-shadow: 0 8px 18px rgba(46,110,62,.24);
  transition: filter .15s ease, transform .03s ease, box-shadow .15s ease;
  cursor: pointer;
  margin-top: 20px;
}
#content .neoncrm-button:hover,
#content input[type="submit"]:hover {
  filter: brightness(1.05);
}
#content .neoncrm-button:active,
#content input[type="submit"]:active {
  transform: translateY(1px);
}

/* Small fi*
/* =========================================================
   COSIC – Header polish (above Ticket Options) + tinted card,
   while keeping all CTAs purple
========================================================= */

/* --- Keep primary buttons purple --- */
:root {
  --cosic-purple: #282968;
  --cosic-purple-shadow: rgba(40,41,104,.24);
  --cosic-green: #2E6E3E;     /* used for accents, not primary BTN */
  --cosic-muted: #667789;
  --cosic-border: #dde2e8;
}

/* Make ALL Neon CTAs follow the purple theme */
#content .neoncrm-button,
#content input[type="submit"],
#content button[type="submit"] {
  background: var(--cosic-purple) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 800;
  padding: 14px 24px;
  border: none;
  box-shadow: 0 8px 18px var(--cosic-purple-shadow);
  transition: filter .15s ease, transform .03s ease, box-shadow .15s ease;
}
#content .neoncrm-button:hover,
#content input[type="submit"]:hover { filter: brightness(1.05); }
#content .neoncrm-button:active,
#content input[type="submit"]:active { transform: translateY(1px); }

/* “Register as a Company” (it’s an <input type=button>) */
#content .neoncrm-org-toggle input[type="button"] {
  background: var(--cosic-purple) !important;
  color: #fff !important;
  border: none;
  border-radius: 10px;
  font-weight: 800;
  padding: 10px 18px;
  box-shadow: 0 6px 16px var(--cosic-purple-shadow);
  cursor: pointer;
}
#content .neoncrm-org-toggle { margin: 8px 0 16px; }

/* --- Page header block (title / name / date) --- */
#content .neoncrm-page-title {
  text-align: center;
  font-weight: 800;
  font-size: 28px;
  color: #17212B;
  margin: 8px 0 16px;
}

/* Card the event name + date as a unit */
#content .neoncrm-event-name,
#content .neoncrm-event-date {
  background: #fff;
  border: 1px solid var(--cosic-border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  padding: 14px 18px;
  margin: 8px 0;
}

#content .neoncrm-event-name {
  font-size: 20px;
  font-weight: 800;
  color: #17212B;
}
#content .neoncrm-event-date {
  font-size: 14px;
  color: var(--cosic-muted);
  font-weight: 600;
}

/* Optional: make date look like a pill */
#content .neoncrm-event-date {
  display: inline-block;
  border-radius: 999px;
  padding: 8px 14px;
}

/* --- Tinted top bar for the Registrant Info card --- */
/* Your registrant fields are in .neoncrm-content (after tickets) */
#content form[name="pShoppingCartFormBean"] .neoncrm-content {
  position: relative;
  background: #fff;
  border: 1px solid var(--cosic-border);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  padding: clamp(20px, 2vw, 40px);
  margin-top: 28px;
}

/* Add the subtle green accent bar at the top */
#content form[name="pShoppingCartFormBean"] .neoncrm-content::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 8px;                             /* thickness of the accent */
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  background: linear-gradient(90deg, #DCEEE2, #F0F6F2); /* soft green tint */
}

/* Labels, inputs, selects (keeps your existing modern look) */
#content .neoncrm-field-label {
  display: block;
  margin-top: 14px;
  margin-bottom: 4px;
  font-weight: 700;
  color: #17212B;
  font-size: 15px;
}
#content .neon2Field,
#content .neoncrm-select {
  width: 100%;
  max-width: 460px;
  height: 44px;
  border: 1.5px solid var(--cosic-border);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 15px;
  transition: border-color .15s ease, box-shadow .15s ease;
  background: #fdfdfd;
  box-sizing: border-box;
}
#content .neon2Field:focus,
#content .neoncrm-select:focus {
  outline: none;
  border-color: var(--cosic-green);
  box-shadow: 0 0 0 3px rgba(46,110,62,.14);
}

/* Consent / checkbox group as soft panel */
#content .neoncrm-checkbox-group {
  margin-top: 20px;
  padding: 14px 18px;
  border: 1px solid var(--cosic-border);
  border-radius: 12px;
  background: #F8FAF9;
}
#content .neoncrm-checkbox-group label { font-weight: 600; color: #17212B; }
#content .neoncrm-checkbox-group input[type="checkbox"] { transform: scale(1.2); margin-right: 8px; }

/* Required asterisk */
#content .neoncrm-required::after {
  content: "*";
  color: #d93025;
  margin-left: 4px;
  font-weight: 800;
}

/* small text clean-up */
#content .neoncrm-bold-text { font-weight: 700; color: #444; }
/* =========================================================
   COSIC – Clean bullet list styling for sponsor ticket descriptions
========================================================= */

/* Sponsor rows (3rd and below) */
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child {
  position: relative;
  line-height: 1.55;
  padding-left: 1.4em; /* make room for bullets */
}

/* Only affect text *after* the <strong> title */
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child strong {
  display: block;
  margin-bottom: 4px;
  padding-left: 0; /* remove indent for title */
}

/* Turn <br>-separated lines into pseudo list items */
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child br {
  display: block;
  margin-bottom: 4px;
}

/* Style bullets only for text following the first <br> (after <strong>) */
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child br + text,
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child br + * {
  display: block;
  position: relative;
  padding-left: 0.8em;
}
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child br + text::before,
#content .neoncrm-ticket-options-table tbody tr:nth-child(n+3) td:first-child br + *::before {
  content: "•";
  color: #2E6E3E;
  position: absolute;
  left: -1em;
  top: 0;
  font-weight: 900;
  font-size: 1.05em;
  line-height: 1;
}
