/* Program Registration - Public Form
   Version: 0.2.8
   Notes: Lightweight, theme-friendly styling. Uses prefixed classes to avoid collisions.
*/

.prog-form-shell {
  width: 100%;
  max-width: var(--prog-form-max-width, 100%);
  margin: 0 auto;
  /* Default padding so the UI isn't flush when theme containers are edge-to-edge */
  padding: var(--prog-form-padding, 24px);
  box-sizing: border-box;
}

/* Ensure padding/borders don't cause subtle overflow in grids */
.prog-form-shell *,
.prog-form-shell *::before,
.prog-form-shell *::after {
  box-sizing: border-box;
}

.prog-form-grid {
  display: grid;
  /* Two-column layout: program details + form (balanced 50/50 by default). */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
}

.prog-children-section {
    margin-bottom: 2em;
}
.prog-children-section.last-section {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .prog-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .prog-form-grid {
    gap: 18px;
  }
}

.prog-card,
.prog-info-card {
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.10);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
  overflow: hidden;
}

.prog-card + .prog-card {
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.10);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
  padding: 28px;
  box-sizing: border-box;
}

.prog-card__header {
  position:relative;
  padding: 0px 20px 12px 20px;
  border-bottom: 1px solid rgba(17, 24, 39, 0.08);
}

.prog-card__body {
  padding: 26px;
}

.prog-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.prog-subtitle {
  margin: 8px 0 0 0;
  color: rgba(17, 24, 39, 0.72);
  font-size: 14px;
}

.prog-schedule{margin:10px 0 4px;padding:1em;border:1px solid var(--prog-border);border-radius:12px;background:#fff}
.prog-schedule__label{font-weight:700;margin:0 0 6px;font-size:13px;color:var(--prog-muted)}
.prog-schedule__list{margin:0;padding:0 0 0 18px}
.prog-schedule__list li{margin:0 0 6px}
.prog-schedule__date{font-weight:600}
.prog-schedule__time{color:var(--prog-muted)}



.prog-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 10px 0;
  justify-content: flex-end;
  float: none;
  width: 100%;
}

/* The seats/waitlist pills are rendered as direct children of a .prog-card
   (not inside the card header/body), so they need their own breathing room.
   This keeps them from looking flush/tight against the card edges. */
.prog-card > .prog-meta-row {
  padding: 16px 16px 0 16px;
  margin-bottom: 8px;
}

/* Keep the waitlist notice aligned with the pills padding. */
.prog-card > #prog-waitlist-available {
  padding: 0 16px;
}

/* "Program is Full" notice shown when only waitlist seats remain */
#prog-waitlist-available {
  margin: 0 0 14px 0;
  padding: 0;
  border: 0;
  background: transparent;
}
#prog-waitlist-available .prog-alert__content strong {
  margin-bottom: 2px;
}

@media (max-width: 520px) {
  .prog-meta-row {
    justify-content: flex-start;
  }
}

/* Make sure alert blocks don't accidentally turn into multi-column layouts
   when the markup doesn't include prog-alert__content. */
.prog-alert {
  align-items: flex-start;
}

/* Public form: Out-of-district alert content should stack naturally */
.prog-ood-alert .prog-alert__content {
  width: 100%;
}
.prog-ood-alert .prog-ood-help {
  margin-top: 6px;
  color: #50575e;
  font-size: 12px;
  line-height: 1.4;
}
.prog-ood-alert .prog-ood-toggle,
.prog-ood-alert .prog-ood-checkbox {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
  font-size: 13px;
}

/* Ensure pills/alerts never overflow their column */
.prog-pill,
.prog-alert,
.prog-card {
  max-width: 100%;
  box-sizing: border-box;
}

/* Controls should not exceed their grid columns */
.prog-form-shell *,
.prog-form-shell *::before,
.prog-form-shell *::after {
  box-sizing: border-box;
}

.prog-form-shell input:not([type="checkbox"]):not([type="radio"]),
.prog-form-shell select,
.prog-form-shell textarea {
  width: 100%;
  max-width: 100%;
}

/* Checkbox + radio alignment (left aligned, no centering/auto widths) */
.prog-checkbox,
.prog-radio {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
}

.prog-checkbox input[type="checkbox"],
.prog-radio input[type="radio"] {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 2px 0 0 0;
}

/* Radio groups: keep them clean by default (no big UA borders),
   but allow specific fields to opt into a bordered box. */
.prog-form-shell fieldset.prog-radio-group {
  border: 0;
  padding: 0;
  margin: 0;
  min-inline-size: 0;
}

.prog-form-shell fieldset.prog-radio-group legend {
  padding: 0;
  margin: 0 0 8px 0;
  font-size: 13px;
  font-weight: 600;
  color: rgba(17, 24, 39, 0.85);
}

/* "How Will Child Get Home" – restore the small bordered, horizontal option group */
.prog-field--key-how_get_home fieldset.prog-radio-group {
  border: 1px solid rgba(17, 24, 39, 0.12);
  border-radius: 12px;
  padding: 12px 14px;
  background: transparent;
}

.prog-field--key-how_get_home fieldset.prog-radio-group legend {
  margin-bottom: 10px;
}

.prog-field--key-how_get_home .prog-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 14px;
  margin-bottom: 0;
}

@media (max-width: 520px) {
  .prog-field--key-how_get_home .prog-radio {
    display: flex;
    margin-right: 0;
    margin-bottom: 10px;
  }
}

/* Out-of-district toggle: keep checkbox flush-left and avoid theme overrides */
.prog-form-shell .prog-ood-alert .prog-ood-toggle {
  justify-content: flex-start;
  text-align: left;
}
.prog-form-shell .prog-ood-alert .prog-ood-toggle input[type="checkbox"] {
  margin: 2px 0 0 0;
}

.prog-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 7px;
  border: 1px solid rgba(17, 24, 39, 0.10);
  background: rgba(17, 24, 39, 0.03);
  color: rgba(17, 24, 39, 0.88);
  font-size: 13px;
}

.prog-pill.pill-remaining {
  border: 1px solid var(--prog-pill-remaining-border, rgba(34, 177, 6, 0.88));
  background: var(--prog-pill-remaining-bg, rgba(207, 247, 199, 0.88));
  color: var(--prog-pill-remaining-text, rgb(23 119 4 / 88%));
}

.prog-pill.pill-remaining.is-full {
  border: 1px solid var(--prog-pill-full-border, rgba(17, 24, 39, 0.14));
  background: var(--prog-pill-full-bg, rgba(17, 24, 39, 0.04));
  color: var(--prog-pill-full-text, rgba(17, 24, 39, 0.65));
}

.prog-pill.pill-waitlist {
  border: 1px solid var(--prog-pill-waitlist-border, rgb(197 199 35 / 88%));
  background: var(--prog-pill-waitlist-bg, rgba(252, 253, 243, 0.88));
  color: var(--prog-pill-waitlist-text, rgb(116 117 12 / 88%));
}

.prog-pill.pill-waitlist.is-full {
  border: 1px solid var(--prog-pill-full-border, rgba(17, 24, 39, 0.14));
  background: var(--prog-pill-full-bg, rgba(17, 24, 39, 0.04));
  color: var(--prog-pill-full-text, rgba(17, 24, 39, 0.65));
}


.prog-pill strong {
  font-weight: 700;
}

.prog-form {
  margin: 0;
}

.prog-section-title {
  margin: 0 0 12px 0;
  font-size: 20px;
  letter-spacing: -0.01em;
  font-weight: bold;
}

.prog-span-2 { grid-column: 1 / -1; }

.prog-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 760px) {
  .prog-fields {
    grid-template-columns: 1fr;
  }
}

/* =========================
   Program Grid (AJAX)
   ========================= */

.prog-grid-root{width:100%;margin:0 auto}

/* Filters: single-row by default, wraps gracefully on smaller screens */
.prog-grid-filters{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:flex-end;
  margin:0 0 18px 0;
}

.prog-filter{min-width:0;flex:1 1 220px}
.prog-filter--search{flex:2 1 320px}
.prog-filter--price{flex:0 0 220px}
.prog-filter--reset{flex:0 0 auto;margin-left:auto}
.prog-filter-label{display:block;font-weight:700;font-size:14px;margin:0 0 6px 0}
.prog-filter-control{width:100%;max-width:100%;box-sizing:border-box}

.prog-filter--search .prog-search-wrap{position:relative}
.prog-search-wrap input{padding-right:34px}
.prog-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);opacity:.55;pointer-events:none}

.prog-filter--reset{justify-self:end}
.prog-grid-status{min-height:18px;margin:0 0 12px 0;color:rgba(17,24,39,.7)}

.prog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.prog-grid-card{border-radius:12px;overflow:hidden;background:rgba(17,24,39,.04);border:1px solid rgba(17,24,39,.06);display:flex;flex-direction:column;min-width:0}

/* Image area: keep it present but not dominant */
.prog-grid-thumbwrap{display:flex;align-items:center;justify-content:center;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden}
.prog-grid-thumb{max-width:250px;width:auto;height:250px;object-fit:contain}
.prog-grid-body{padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.prog-grid-title{margin:0;font-size:1.2em;line-height:1.2}
.prog-grid-title a{text-decoration:none}
.prog-grid-ages,.prog-grid-location{font-size:14px}

.prog-grid-actions{display:flex;align-items:center;gap:10px;flex-wrap: wrap;justify-content: flex-end;}

/* Price pill: consistent, coloured */
.prog-grid-price{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;font-weight:700;background:rgba(34, 119, 4, 0.85);color:#fff;}
body.single-program .prog-grid-price {margin-top: 1em;}
.prog-grid-register{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;background:rgba(252, 214, 104, 0.95);color:#4a2b00;font-weight:700;text-decoration:none;border:1px solid rgba(197, 157, 38, 0.5)}
.prog-grid-register:hover,.prog-grid-register:focus{filter:brightness(.98)}

.prog-grid-schedule{border-top:1px solid rgba(17,24,39,.08);padding-top:10px;margin-top:4px;background:rgba(255,255,255,.55);border-radius:10px;padding:12px}
.prog-grid-schedule-title{font-weight:700;margin:0 0 6px 0}
.prog-grid-schedule-list{margin:0;padding-left:18px}
.prog-grid-schedule-list li{margin:0}

.prog-grid-empty{padding:18px;border:1px dashed rgba(17,24,39,.25);border-radius:10px;background:rgba(255,255,255,.6)}

/* Price range toggle (edgy, but still native + light) */
.prog-filter--price{display:flex;flex-direction:column;gap:8px}
.prog-price-toggle{display:none}
.prog-price-panel{border:1px solid rgba(17,24,39,.12);border-radius:12px;background:#fff;padding:12px}
.prog-price-label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:13px;margin:0}
.prog-price-label input[type=range]{width:100%}
.prog-price-output{font-weight:700;min-width:34px;text-align:right}

@media (max-width: 1100px){
  .prog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .prog-filter--search{flex:1 1 320px}
  .prog-filter--price{flex:1 1 220px}
}

@media (max-width: 760px){
  .prog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prog-filter{flex:1 1 260px}
  .prog-filter--search{flex:1 1 100%}
  .prog-filter--reset{margin-left:0}
}

@media (max-width: 520px){
  .prog-grid{grid-template-columns:1fr}
}

.prog-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* Add a red asterisk to required fields */
.prog-field:has(.prog-input[required]) > label::after {
  content: " *";
  color: #c00;
  font-weight: 700;
}

/* Radio/checkbox groups: mark legend as required if any input inside is required */
.prog-field fieldset:has(input[required]) > legend::after {
  content: " *";
  color: #c00;
  font-weight: 700;
}

.prog-field label {
  font-size: 13px;
  color: rgba(17, 24, 39, 0.85);
  font-weight: 600;
}

.prog-field input[type="text"],
.prog-field input[type="email"],
.prog-field input[type="tel"],
.prog-field input[type="number"],
.prog-field select,
.prog-field textarea {
  width: 100%;
  max-width: 100%;
  appearance: none;
  border: 1px solid rgba(17, 24, 39, 0.18);
  background: #fff;
  border-radius: 12px;
  padding: 10px 16px;
  font-size: 15px;
  line-height: 1.2;
  color: rgba(17, 24, 39, 0.92);
  outline: none;
  transition: box-shadow 120ms ease, border-color 120ms ease, transform 120ms ease;
 }

.prog-field textarea {
  min-height: 92px;
  resize: vertical;
}

.prog-field input::placeholder {
  color: rgba(17, 24, 39, 0.40);
}

.prog-field input:focus,
.prog-field select:focus,
.prog-field textarea:focus {
  border-color: rgba(17, 24, 39, 0.35);
  box-shadow: 0 0 0 4px rgba(17, 24, 39, 0.08);
}

.prog-help {
  font-size: 12px;
  color: rgba(17, 24, 39, 0.60);
  margin-top: 11px !important;
    font-style: italic;
}


.prog-inline-error {
  margin-top: 8px;
  font-size: 12px;
  color: rgba(153, 27, 27, 0.95);
}

.prog-children-list {
  display: grid;
  gap: 12px;
}

.prog-child-card {
  border: 1px solid rgba(17, 24, 39, 0.10);
  border-radius: 16px;
  padding: 1.2em;
  background: rgba(17, 24, 39, 0.02);
  margin-bottom: 1em;
}

.prog-child-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.prog-child-card__title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: rgba(17, 24, 39, 0.85);
}

.prog-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


.prog-btn {
  appearance: none;
  border: 0;
  cursor: pointer;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  transition: transform 120ms ease, box-shadow 120ms ease, opacity 120ms ease;
}

.prog-btn:active {
  transform: translateY(1px);
}

.prog-btn--primary {
  background: rgb(95 125 62);
  color: #fff;
  box-shadow: 0 10px 18px rgba(17, 24, 39, 0.18);
}

.prog-btn--rsvp {
background: #fde697;
}

.prog-btn--primary:hover {
  opacity: 0.95;
}

.prog-btn--secondary {
    background: rgb(120 62 25);
    color: #ffffff;
}

.prog-btn--secondary:hover {
   background: rgb(100 46 13);
}

.prog-btn--link {
  background: transparent;
  color: rgba(17, 24, 39, 0.75);
  border: 1px solid rgba(17, 24, 39, 0.12);
  padding: 9px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.prog-btn--link:hover {
  background: rgba(17, 24, 39, 0.04);
}

.prog-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
}

.prog-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.prog-consent label {
  font-size: 13px;
  color: rgba(17, 24, 39, 0.85);
  line-height: 1.35;
}

.prog-aside {
  position: sticky;
  top: 18px;
}

@media (max-width: 900px) {
  .prog-aside {
    position: static;
  }
}

.prog-aside__image {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(17, 24, 39, 0.03);
  border: 1px solid rgba(17, 24, 39, 0.10);
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
}

.prog-aside__image img {
  width: 100%;
  height: auto;
  display: block;
}

.prog-aside__caption {
  padding: 12px 14px;
  color: rgba(17, 24, 39, 0.68);
  font-size: 12px;
}

.prog-alert {
  border-radius: 16px;
  border: 1px solid rgba(17, 24, 39, 0.12);
  background: rgba(17, 24, 39, 0.03);
  padding: 12px 14px;
  color: rgba(17, 24, 39, 0.85);
  font-size: 14px;
  margin-bottom: 14px;
}

.prog-alert--success {
  border-color: rgba(16, 185, 129, 0.25);
  background: rgba(16, 185, 129, 0.08);
}

.prog-alert--error {
  border-color: rgba(239, 68, 68, 0.25);
  background: rgba(239, 68, 68, 0.08);
}



/* 0.2.7 - Form Builder child cards + success alert */
.prog-alert {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.prog-alert__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.prog-alert__content strong {
  display: block;
  margin-bottom: 2px;
}
.prog-alert__content span {
  display: block;
  opacity: 0.95;
}

.prog-add-child-row {
  margin-top: 10px;
}

.prog-child-remove {
  border: 1px solid rgba(0,0,0,0.15);
  background: transparent;
  border-radius: 6px;
  width: 30px;
  height: 30px;
  line-height: 26px;
  font-size: 18px;
  cursor: pointer;
}
.prog-child-remove:hover {
  border-color: rgba(0,0,0,0.35);
}


/* Normalize controls rendered by the form builder */
.prog-input {
  min-height: 15px;
}

.prog-textarea {
  min-height: 110px;
  resize: vertical;
}


/* Program info block (dates/time/location) */
.prog-meta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 14px 0 18px;
}

@media (min-width: 900px) {
  .prog-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
  }
}

.prog-meta-item {
  padding: 10px 12px;
  border: 1px solid #e5eaf1;
  border-radius: 10px;
  background: #fff;
}

.prog-meta-label {
  font-size: 12px;
  opacity: 0.75;
  margin-bottom: 4px;
}

.prog-meta-value {
  font-size: 14px;
  font-weight: 600;
}


/* Break out of narrow theme content widths (common in block themes). */
.prog-breakout {
  width: 100%;
  overflow-x: hidden;
}

.prog-form-col,
.prog-info-col {
  min-width: 0;
}

.prog-info-card {
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
}

.prog-info-card__header {
  border-bottom: 1px solid #f0f0f0;
}

.prog-info-card__body {
      padding: 0.75em 2em 1em 2em;
}

/*
.prog-info-thumb {
  margin: 0;
  border-bottom: 1px solid #f0f0f0;
}
*/

.prog-info-thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.prog-info-title {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.2;
}

.prog-program-range {
  font-weight: 600;
  margin: 0;
}

.prog-program-location {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: baseline;
}

.prog-public-info {
  margin-top: 16px;
}

.prog-card__title {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.2;
}

.prog-card__subtitle {
  margin: 0 0 14px;
  opacity: 0.9;
}

/* Radio group: neat bordered box and horizontal options (wrap when needed) */
.prog-radio-group{
  border: 1px solid rgba(17, 24, 39, 0.10);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 8px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  background: transparent;
}

.prog-radio-group > legend{
  width: 100%;
  padding: 0;
  margin: 0 0 6px 0;
  font-weight: 600;
  font-size: 14px;
}

.prog-radio{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.prog-radio-input{
  width: 16px;
  height: 16px;
  margin: 0;
}

.prog-checkbox{
  display:flex;
  align-items:center;
  gap:10px;
}

.prog-checkbox input[type="checkbox"]{
  width:16px;
  height:16px;
  margin:0;
}

/* Only make text-like inputs full width (avoid breaking checkboxes/radios) */
.prog-form input:not([type="checkbox"]):not([type="radio"]),
.prog-form select,
.prog-form textarea{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}



/* Featured image beside title (square/portrait-friendly) */
.prog-info-hero {
  display: block;
}

.prog-info-hero--with-media {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: start;
}

.prog-info-hero--with-media.prog-info-hero--media-left {
  grid-template-columns: auto 1fr;
}

.prog-info-hero__text {
  min-width: 0;
  padding: 2em;
}

.prog-info-thumb--beside-title {
  width: clamp(96px, 14vw, 220px);
  max-width: 240px;
  margin: 0;
}

.prog-info-thumb--beside-title .prog-aside__img,
.prog-info-thumb--beside-title img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 760px) {
  .prog-info-hero--with-media,
  .prog-info-hero--with-media.prog-info-hero--media-left {
    grid-template-columns: 1fr;
  }
  .prog-info-thumb--beside-title {
    width: min(220px, 60vw);
  }
}

.prog-filter-control{width:100%;min-height:42px;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:8px;background:#fff}
.prog-filter-control:focus{outline:2px solid rgba(47,180,90,.35);outline-offset:1px}
.prog-price-box{border:2px solid #2fb45a;border-radius:12px;padding:10px 12px;background:rgba(47,180,90,.06)}
.prog-price-range{accent-color:#2fb45a}
.prog-pill--waitlist{background:#f6e9c6;border-color:#efc36a}
.prog-pill--full{background:#f2f2f2;border-color:#d9d9d9}
.prog-pill--remaining{background:#e9f3ea;border-color:#2fb45a}
.prog-grid-card.is-disabled{opacity:.75}

.prog-filter-control{width:100%;min-height:42px;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:8px;background:#fff}
.prog-filter-control:focus{outline:2px solid rgba(47,180,90,.35);outline-offset:1px}
.prog-price-box{border:2px solid #2fb45a;border-radius:12px;padding:10px 12px;background:rgba(47,180,90,.06)}
.prog-price-range{accent-color:#2fb45a}
.prog-grid-card.is-disabled{opacity:.75}
.prog-grid-register.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.8}
.prog-pill--waitlist{background:#f6e9c6;border-color:#efc36a}
.prog-pill--full{background:#f2f2f2;border-color:#d9d9d9}
.prog-pill--remaining{background:#e9f3ea;border-color:#2fb45a}
