
:root {
  --ubes-green: #2f5d50;
  --ubes-green-dark: #24483f;
  --ubes-bg: #f5f3ee;
  --ubes-surface: #ffffff;
  --ubes-text: #2d2d2d;
  --ubes-muted: #6f746f;
  --ubes-line: #dbe3df;
}

* { box-sizing: border-box; }

body.ubes-public-form-page {
  margin: 0;
  background: var(--ubes-bg);
  color: var(--ubes-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

.ubes-public-form-shell {
  width: min(760px, calc(100% - 28px));
  margin: 0 auto;
  padding: 34px 0 70px;
}

.ubes-public-form-hero,
.ubes-public-section,
.ubes-public-form-card {
  border: 1px solid var(--ubes-line);
  border-radius: 12px;
  background: var(--ubes-surface);
  box-shadow: 0 3px 12px rgba(36,72,63,.035);
}

.ubes-public-form-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  padding: 28px 30px 26px;
  border-top: 8px solid var(--ubes-green);
}

.ubes-public-brand {
  color: var(--ubes-green-dark);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .02em;
}

.ubes-public-preview-pill {
  position: absolute;
  top: 18px;
  right: 20px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f4ead1;
  color: #715b20;
  font-size: 11px;
  font-weight: 900;
}

.ubes-public-kicker {
  margin: 18px 0 3px;
  color: var(--ubes-green);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.ubes-public-form-hero h1,
.ubes-public-form-card h1 {
  margin: 0;
  color: var(--ubes-green-dark);
  font-size: clamp(26px, 5vw, 38px);
  line-height: 1.1;
}

.ubes-public-meta {
  margin: 9px 0 0;
  color: var(--ubes-muted);
  font-size: 14px;
}

.ubes-public-intro {
  margin-top: 18px;
  color: #4d5752;
}

.ubes-public-intro p:last-child { margin-bottom: 0; }

.ubes-public-form {
  display: grid;
  gap: 12px;
}

.ubes-public-form[hidden] { display: none !important; }

.ubes-public-section,
.ubes-public-form-card {
  padding: 24px 26px;
}

.ubes-public-section h2,
.ubes-public-form-card h2 {
  margin: 0 0 18px;
  color: var(--ubes-green-dark);
  font-size: 20px;
}

.ubes-public-question + .ubes-public-question {
  margin-top: 22px;
}

.ubes-public-question-label {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 650;
}

.ubes-public-question-label span { color: #a44444; }

.ubes-public-help {
  margin: -3px 0 9px;
  color: var(--ubes-muted);
  font-size: 12px;
}

.ubes-public-question input[type="text"],
.ubes-public-question input[type="email"],
.ubes-public-question input[type="tel"],
.ubes-public-question input[type="number"],
.ubes-public-question textarea,
.ubes-public-question select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #c9d4ce;
  border-radius: 7px;
  background: #fff;
  color: var(--ubes-text);
  font: inherit;
  font-size: 15px;
}

.ubes-public-question textarea {
  min-height: 105px;
  resize: vertical;
}

.ubes-public-question input:focus,
.ubes-public-question textarea:focus,
.ubes-public-question select:focus,
.ubes-public-code-entry input:focus {
  outline: 3px solid rgba(47,93,80,.12);
  border-color: var(--ubes-green);
}

.ubes-public-choice-list {
  display: grid;
  gap: 8px;
}

.ubes-public-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #d8e1dc;
  border-radius: 7px;
  background: #fbfcfb;
  cursor: pointer;
}

.ubes-public-choice:hover {
  border-color: #aec2b7;
  background: #f5f9f7;
}

.ubes-public-choice input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--ubes-green);
}

.ubes-public-choice.is-single {
  margin-top: 2px;
}

.ubes-public-code-gate {
  margin-bottom: 12px;
  text-align: center;
}

.ubes-public-step {
  display: inline-block;
  margin-bottom: 7px;
  color: var(--ubes-green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
}

.ubes-public-code-gate p {
  max-width: 520px;
  margin: 0 auto 18px;
  color: var(--ubes-muted);
}

.ubes-public-code-entry {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.ubes-public-code-entry input {
  width: 180px;
  min-height: 50px;
  padding: 8px 12px;
  border: 1px solid #becdc5;
  border-radius: 8px;
  font: inherit;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: .16em;
  text-align: center;
}

.ubes-public-code-entry button,
.ubes-public-submit-card button {
  min-height: 46px;
  padding: 9px 18px;
  border: 0;
  border-radius: 8px;
  background: var(--ubes-green);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.ubes-public-code-error {
  margin-top: 12px !important;
  color: #a13f3f !important;
  font-weight: 700;
}

.ubes-public-submit-card {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
}

.ubes-public-submit-card > p {
  flex: 1 1 420px;
  margin: 0;
  color: #5f6a64;
  font-size: 13px;
}

.ubes-public-submit-card > span {
  flex-basis: 100%;
  color: var(--ubes-green-dark);
  font-size: 13px;
  font-weight: 700;
}

.ubes-public-form-card.is-message {
  margin-top: 60px;
  padding: 34px;
}

.ubes-public-form-card.is-message p {
  margin: 14px 0 0;
  color: var(--ubes-muted);
}

@media(max-width: 600px) {
  .ubes-public-form-shell {
    width: min(100% - 18px, 760px);
    padding-top: 12px;
  }

  .ubes-public-form-hero,
  .ubes-public-section,
  .ubes-public-form-card {
    padding: 20px 17px;
    border-radius: 9px;
  }

  .ubes-public-code-entry {
    flex-direction: column;
  }

  .ubes-public-code-entry input {
    width: 100%;
  }
}


/* v0.9.16 — restored explanatory copy + payment preview */
.ubes-public-section-intro {
  margin: -7px 0 18px;
  color: var(--ubes-muted);
  font-size: 13px;
  line-height: 1.55;
}

.ubes-public-section-intro a {
  color: var(--ubes-green-dark);
  font-weight: 700;
}

.ubes-public-intro.is-core {
  margin-top: 18px;
  padding: 12px 14px;
  border-left: 3px solid var(--ubes-green);
  border-radius: 0 6px 6px 0;
  background: #f4f8f6;
}

.ubes-public-intro.is-trip-specific {
  margin-top: 12px;
}

.ubes-public-policy-copy {
  margin: -6px 0 18px;
  padding: 12px 14px;
  border-radius: 7px;
  background: #f7f9f8;
  color: #56615b;
  font-size: 13px;
}

.ubes-public-policy-copy p {
  margin: 0 0 7px;
}

.ubes-public-policy-copy ul {
  margin: 0;
  padding-left: 20px;
}

.ubes-public-policy-copy li + li {
  margin-top: 3px;
}

.ubes-public-payment-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 14px;
  border: 1px solid #d3ded8;
  border-radius: 8px;
  background: #f7faf8;
}

.ubes-public-payment-preview strong,
.ubes-public-payment-preview span {
  display: block;
}

.ubes-public-payment-preview > div > span {
  margin-top: 3px;
  color: var(--ubes-muted);
  font-size: 12px;
}

.ubes-public-payment-badge {
  flex: 0 0 auto;
  padding: 6px 8px;
  border-radius: 999px;
  background: #f4ead1;
  color: #735e22;
  font-size: 10px;
  font-weight: 900;
}

@media(max-width: 600px) {
  .ubes-public-payment-preview {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* v0.10.0 — live participant Stripe amount */
.ubes-public-payment-live {
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);
  gap:14px;
  align-items:center;
  padding:15px;
  border:1px solid #cfd8e7;
  border-radius:9px;
  background:#f8f9fc;
}
.ubes-public-payment-live > div:first-child span,
.ubes-public-payment-live > div:first-child strong,
.ubes-public-payment-live > div:first-child small { display:block; }
.ubes-public-payment-live > div:first-child span { color:#667085; font-size:12px; font-weight:750; }
.ubes-public-payment-live > div:first-child strong { margin:2px 0; color:#24304f; font-size:30px; line-height:1; }
.ubes-public-payment-live > div:first-child small { color:#7b8492; font-size:11px; }
.ubes-public-stripe-mark { padding-left:14px; border-left:1px solid #d9deea; }
.ubes-public-stripe-mark strong,.ubes-public-stripe-mark span { display:block; }
.ubes-public-stripe-mark strong { color:#3e4c80; font-size:14px; }
.ubes-public-stripe-mark span { margin-top:4px; color:#6f7888; font-size:12px; }
.ubes-public-title-block { margin:3px 0 18px; }
.ubes-public-title-block h3 { margin:0; color:var(--ubes-green-dark); font-size:18px; }
.ubes-public-title-block p { margin:5px 0 0; color:var(--ubes-muted); font-size:13px; }
@media(max-width:600px){.ubes-public-payment-live{grid-template-columns:1fr}.ubes-public-stripe-mark{padding:10px 0 0;border-left:0;border-top:1px solid #d9deea}}


/* v0.10.1 — Payment is a true final section */
.ubes-public-payment-section{border-top:7px solid var(--ubes-green-dark)}
.ubes-public-payment-live{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:20px;align-items:center;padding:18px;border:1px solid #d5dfda;border-radius:9px;background:#f7faf8}
.ubes-public-payment-live>div:first-child{display:grid;gap:2px}.ubes-public-payment-live>div:first-child>span{color:var(--ubes-muted);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.ubes-public-payment-live [data-payment-total]{display:block;margin:2px 0;color:var(--ubes-green-dark);font-size:34px;line-height:1.05}.ubes-public-payment-live [data-payment-reason]{color:var(--ubes-muted);font-size:12px}.ubes-public-stripe-mark{padding-left:18px;border-left:1px solid #d8e1dc}.ubes-public-stripe-mark strong,.ubes-public-stripe-mark span{display:block}.ubes-public-stripe-mark strong{color:#303640;font-size:17px}.ubes-public-stripe-mark span{margin-top:4px;color:var(--ubes-muted);font-size:13px;line-height:1.45}
@media(max-width:600px){.ubes-public-payment-live{grid-template-columns:1fr}.ubes-public-stripe-mark{padding:14px 0 0;border-top:1px solid #d8e1dc;border-left:0}}


/* ==============================================================
   v0.11.0 — visible pricing before selections + breakdown
   ============================================================== */
.ubes-public-price-overview {
  display:grid;
  gap:12px;
  margin-bottom:12px;
  padding:18px 20px;
  border:1px solid #cfdcd5;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 9px rgba(36,72,63,.03);
}

.ubes-public-price-overview > div:first-child {
  display:flex;
  flex-direction:column;
  gap:2px;
}

.ubes-public-price-overview > div:first-child > strong {
  color:var(--ubes-green-dark);
  font-size:17px;
}

.ubes-public-price-overview > div:first-child > small {
  color:var(--ubes-muted);
  font-size:12px;
}

.ubes-public-price-chips {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.ubes-public-price-chips > span {
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:1px solid #d9e2dd;
  border-radius:999px;
  background:#f7faf8;
}

.ubes-public-price-chips b {
  color:#4e5953;
  font-size:12px;
  font-weight:650;
}

.ubes-public-price-chips strong {
  color:var(--ubes-green-dark);
  font-size:12px;
}

.ubes-public-payment-breakdown {
  display:grid;
  gap:4px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #dbe4df;
}

.ubes-public-payment-breakdown > span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
}

.ubes-public-payment-breakdown b {
  color:#59645e;
  font-weight:600;
}

.ubes-public-payment-breakdown strong {
  color:var(--ubes-green-dark);
}


/* v0.11.1 — robust price card after public renderer recovery */
.ubes-public-form-card.ubes-public-price-overview {
  margin-bottom:12px;
}


/* v0.12.0 — final-only payment + form content blocks */
.ubes-public-info-block{margin:18px 0;padding:14px 15px;border-left:4px solid var(--ubes-green);border-radius:0 8px 8px 0;background:#f4f8f6}
.ubes-public-info-block h3{margin:0 0 6px;color:var(--ubes-green-dark);font-size:17px}.ubes-public-info-block p{margin:0;color:#59645e;font-size:13px;line-height:1.6}
.ubes-public-image-block{margin:20px 0}.ubes-public-image-block img{display:block;width:auto;max-width:100%;max-height:520px;margin:0 auto;border-radius:9px;object-fit:contain}
.ubes-public-image-block figcaption{margin-top:7px;color:var(--ubes-muted);font-size:12px;text-align:center}
.ubes-public-payment-section{margin-top:4px}.ubes-public-payment-live{grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr)}
.ubes-public-payment-live [data-payment-reason]{display:block;margin-top:3px;color:var(--ubes-muted);font-size:12px}.ubes-public-stripe-mark strong{color:var(--ubes-green-dark)}


/* v0.13.0 — reference-form content readability */
.ubes-public-info-copy p{margin:0 0 10px}.ubes-public-info-copy p:last-child{margin-bottom:0}.ubes-public-info-copy a{color:var(--ubes-green-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}


/* ==============================================================
   v0.15.0 — audited form UX
   ============================================================== */

.ubes-public-brand-banner {
  display:flex;
  align-items:center;
  justify-content:center;
  margin:-12px -14px 22px;
  padding:16px 18px;
  border:1px solid #e1e5e2;
  border-radius:10px;
  background:#f4f6f5;
}

.ubes-public-brand-banner img {
  display:block;
  width:min(500px, 92%);
  max-height:126px;
  object-fit:contain;
}

.ubes-public-conditional {
  margin-top:16px;
  padding:14px 16px;
  border-left:4px solid #b9cbc2;
  border-radius:0 9px 9px 0;
  background:#f7faf8;
}

.ubes-public-conditional.is-nested {
  margin-left:14px;
  border-left-width:3px;
  background:#fafcfb;
}

.ubes-public-conditional[hidden] {
  display:none !important;
}

[data-checkbox-group].has-error {
  padding:8px;
  border:1px solid #c85757;
  border-radius:8px;
  background:#fff8f8;
}

.ubes-public-payment-live.has-pricing-error {
  border-color:#c85757;
  background:#fff8f8;
}

.ubes-public-payment-live.has-pricing-error [data-payment-total] {
  color:#a33d3d;
}

@media(max-width:600px) {
  .ubes-public-brand-banner {
    margin:-10px -12px 18px;
    padding:12px;
  }

  .ubes-public-brand-banner img {
    max-height:94px;
  }

  .ubes-public-conditional {
    margin-top:12px;
    padding:12px;
  }

  .ubes-public-conditional.is-nested {
    margin-left:8px;
  }
}


/* ==============================================================
   v0.15.1 — cleaner participant form + consistent spacing
   ============================================================== */

/* Compact the identity block. The UBES banner is branding, not the hero. */
.ubes-public-form-hero {
  padding:22px 26px 24px;
}

.ubes-public-brand-banner {
  justify-content:flex-start;
  margin:0 0 18px;
  padding:0 0 16px;
  border:0;
  border-bottom:1px solid var(--ubes-line);
  border-radius:0;
  background:transparent;
}

.ubes-public-brand-banner img {
  width:auto;
  max-width:min(360px, 72%);
  height:auto;
  max-height:72px;
  margin:0;
  object-fit:contain;
  object-position:left center;
}

.ubes-public-kicker {
  margin:0 0 4px;
}

.ubes-public-form-hero h1 {
  max-width:650px;
  font-size:clamp(27px, 4.2vw, 36px);
  line-height:1.08;
}

.ubes-public-form-kind {
  margin:5px 0 0;
  color:var(--ubes-green);
  font-size:15px;
  font-weight:750;
}

.ubes-public-meta {
  margin-top:10px;
}

.ubes-public-intro.is-core {
  margin-top:16px;
  padding:11px 13px;
}

.ubes-public-intro.is-core p {
  margin:0;
  font-size:14px;
  line-height:1.55;
}

/*
 * One spacing system for every item in a section.
 * This removes the different gaps caused by question-to-question margins,
 * conditional wrappers, info blocks and images each carrying their own margin.
 */
.ubes-public-section {
  display:flex;
  flex-direction:column;
  gap:18px;
}

.ubes-public-section > h2 {
  margin:0;
}

.ubes-public-section-intro {
  margin:-9px 0 0;
}

.ubes-public-question + .ubes-public-question {
  margin-top:0;
}

.ubes-public-question {
  margin:0;
}

.ubes-public-question-label {
  margin:0 0 7px;
}

.ubes-public-help {
  margin:0 0 9px;
  line-height:1.5;
}

.ubes-public-choice-list {
  gap:8px;
}

.ubes-public-info-block,
.ubes-public-image-block,
.ubes-public-title-block,
.ubes-public-conditional {
  margin:0;
}

/* Inline conditional answers remain visually attached to their parent. */
.ubes-public-conditional {
  padding:14px 15px;
}

.ubes-public-conditional.is-nested {
  margin-left:14px;
}

/* Terms & policies are normal page content rather than a secondary info box. */
.ubes-public-policy-copy {
  margin:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--ubes-text);
  font-size:14px;
  line-height:1.6;
}

.ubes-public-policy-copy p {
  margin:0;
}

.ubes-public-policy-copy p + p {
  margin-top:14px;
}

.ubes-public-policy-copy ul {
  margin:8px 0 0;
  padding-left:21px;
}

.ubes-public-policy-copy li + li {
  margin-top:6px;
}

.ubes-public-policy-copy a {
  color:var(--ubes-green-dark);
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

/* BMC statement must read as agreement text, not tiny field help. */
.ubes-public-bmc-statement {
  margin:0 0 11px;
  color:var(--ubes-text);
  font-size:15px;
  line-height:1.58;
}

.ubes-public-agreement-question {
  padding-top:2px;
}

.ubes-public-agreement-question .ubes-public-choice.is-single {
  margin-top:0;
}

/* The price attached to an answer should be readable but not visually dominant. */
.ubes-public-choice span {
  line-height:1.45;
}

@media(max-width:600px) {
  .ubes-public-form-hero {
    padding:18px 17px 20px;
  }

  .ubes-public-brand-banner {
    margin-bottom:15px;
    padding-bottom:13px;
  }

  .ubes-public-brand-banner img {
    max-width:78%;
    max-height:56px;
  }

  .ubes-public-form-hero h1 {
    font-size:28px;
  }

  .ubes-public-section {
    gap:16px;
  }

  .ubes-public-conditional.is-nested {
    margin-left:7px;
  }
}


/* ==============================================================
   v0.15.2 — compact identity, reliable rhythm, rebuilt payment tile
   ============================================================== */

.ubes-public-form-shell {
  width:min(820px, calc(100% - 28px));
}

.ubes-public-form-hero {
  padding:22px 26px 24px !important;
}

.ubes-public-trip-identity {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding-right:82px;
}

.ubes-public-trip-mark {
  display:flex;
  align-items:center;
  justify-content:center;
}

.ubes-public-trip-mark img {
  display:block;
  width:auto;
  height:92px;
  max-width:64px;
  object-fit:contain;
}

.ubes-public-trip-identity-copy {
  min-width:0;
}

.ubes-public-trip-identity .ubes-public-kicker {
  margin:0 0 5px !important;
  font-size:11px !important;
}

.ubes-public-trip-identity h1 {
  max-width:none !important;
  margin:0 !important;
  font-size:clamp(29px, 4.4vw, 40px) !important;
  line-height:1.04 !important;
}

.ubes-public-trip-identity .ubes-public-form-kind {
  margin:7px 0 0 !important;
  color:var(--ubes-text) !important;
  font-size:15px !important;
  font-weight:700 !important;
}

.ubes-public-trip-identity .ubes-public-meta {
  margin:7px 0 0 !important;
  font-size:13px !important;
}

.ubes-public-intro.is-core {
  margin-top:20px !important;
  padding:13px 15px !important;
  border:1px solid #e3e8e5;
  border-radius:8px;
  background:#fafbfa;
}

/* Consistent spacing between all question-sized units. */
.ubes-public-section {
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
  padding:26px 28px !important;
}

.ubes-public-section > h2 {
  margin:0 !important;
}

.ubes-public-section > h2 + .ubes-public-section-intro {
  margin-top:-14px !important;
}

.ubes-public-section > .ubes-public-section-intro + .ubes-public-question,
.ubes-public-section > .ubes-public-section-intro + .ubes-public-conditional {
  margin-top:-3px !important;
}

.ubes-public-question,
.ubes-public-info-block,
.ubes-public-image-block,
.ubes-public-title-block {
  margin:0 !important;
}

.ubes-public-question-label {
  margin:0 0 9px !important;
  line-height:1.3 !important;
}

.ubes-public-help {
  margin:0 0 12px !important;
  line-height:1.55 !important;
}

.ubes-public-choice-list {
  gap:10px !important;
}

.ubes-public-choice {
  min-height:50px;
  align-items:center !important;
  padding:11px 13px !important;
}

.ubes-public-conditional {
  margin:0 !important;
  padding:18px !important;
  border-left:4px solid #b8cbc1 !important;
  border-radius:0 9px 9px 0 !important;
  background:#f7faf8 !important;
}

.ubes-public-conditional.is-nested {
  margin-left:14px !important;
}

/* Rebuilt payment tile: never allow theme rules to collapse the text inline. */
.ubes-public-payment-section {
  gap:18px !important;
}

.ubes-public-payment-live {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(250px,.9fr) !important;
  gap:22px !important;
  align-items:stretch !important;
  padding:20px !important;
  border:1px solid #cddbd4 !important;
  border-radius:10px !important;
  background:#f8fbf9 !important;
}

.ubes-public-payment-amount,
.ubes-public-payment-checkout {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:6px !important;
  min-width:0 !important;
}

.ubes-public-payment-label {
  display:block !important;
  margin:0 !important;
  color:var(--ubes-muted) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}

.ubes-public-payment-total {
  display:block !important;
  margin:0 !important;
  color:var(--ubes-green-dark) !important;
  font-size:36px !important;
  font-weight:850 !important;
  line-height:1.05 !important;
}

.ubes-public-payment-reason {
  display:block !important;
  margin:0 !important;
  color:var(--ubes-muted) !important;
  font-size:12px !important;
  line-height:1.45 !important;
}

.ubes-public-payment-breakdown {
  display:grid !important;
  gap:5px !important;
  width:100% !important;
  margin:8px 0 0 !important;
  padding:9px 0 0 !important;
  border-top:1px solid #dde6e1 !important;
}

.ubes-public-payment-breakdown > span {
  display:flex !important;
  align-items:baseline !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 !important;
  font-size:12px !important;
}

.ubes-public-payment-breakdown b,
.ubes-public-payment-breakdown strong {
  display:block !important;
  margin:0 !important;
}

.ubes-public-payment-checkout {
  padding-left:22px !important;
  border-left:1px solid #d8e2dc !important;
}

.ubes-public-payment-checkout strong {
  display:block !important;
  margin:0 !important;
  color:var(--ubes-green-dark) !important;
  font-size:16px !important;
}

.ubes-public-payment-checkout p {
  display:block !important;
  margin:0 !important;
  color:var(--ubes-muted) !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

.ubes-public-payment-live.is-pending .ubes-public-payment-total {
  color:#7a847f !important;
}

@media(max-width:620px) {
  .ubes-public-trip-identity {
    grid-template-columns:48px minmax(0,1fr);
    gap:13px;
    padding-right:58px;
  }

  .ubes-public-trip-mark img {
    height:70px;
    max-width:46px;
  }

  .ubes-public-trip-identity h1 {
    font-size:29px !important;
  }

  .ubes-public-section {
    gap:20px !important;
    padding:21px 18px !important;
  }

  .ubes-public-payment-live {
    grid-template-columns:1fr !important;
  }

  .ubes-public-payment-checkout {
    padding:16px 0 0 !important;
    border-top:1px solid #d8e2dc !important;
    border-left:0 !important;
  }
}


/* v0.15.3 fallback — critical versions are also emitted after wp_head. */
.ubes-public-trip-mark,
.ubes-public-trip-mark img{
  flex:none!important;
}
.ubes-public-payment-live{
  display:block!important;
}
.ubes-public-payment-total{
  display:block!important;
}


/* v0.15.5 — form title beside logo + readable text. */
body.ubes-public-form-page{font-size:16px!important}
body.ubes-public-form-page .ubes-public-form-shell{width:min(880px,calc(100% - 28px))!important}
body.ubes-public-form-page .ubes-public-form-hero{padding:20px 24px!important}
body.ubes-public-form-page .ubes-public-trip-identity{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:18px!important;align-items:center!important;width:100%!important;min-height:76px!important;padding-right:86px!important}
body.ubes-public-form-page .ubes-public-trip-mark{width:52px!important;min-width:52px!important;max-width:52px!important;height:76px!important;min-height:76px!important;max-height:76px!important;overflow:hidden!important}
body.ubes-public-form-page .ubes-public-trip-mark img{width:40px!important;min-width:40px!important;max-width:40px!important;height:72px!important;max-height:72px!important;object-fit:contain!important;margin:0!important}
body.ubes-public-form-page .ubes-public-trip-identity-copy{min-width:0!important}
body.ubes-public-form-page .ubes-public-trip-identity .ubes-public-kicker{margin:0 0 4px!important;font-size:12px!important;line-height:1.2!important}
body.ubes-public-form-page .ubes-public-trip-identity h1{margin:0!important;max-width:none!important;font-size:clamp(30px,4vw,40px)!important;line-height:1.05!important}
body.ubes-public-form-page .ubes-public-trip-meta-line{display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;margin-top:8px!important;color:var(--ubes-muted)!important;font-size:14px!important;line-height:1.35!important}
body.ubes-public-form-page .ubes-public-trip-meta-line strong{color:var(--ubes-text)!important;font-size:15px!important}
body.ubes-public-form-page .ubes-public-section{gap:28px!important;padding:28px 30px!important}
body.ubes-public-form-page .ubes-public-section h2{font-size:22px!important;line-height:1.25!important}
body.ubes-public-form-page .ubes-public-section-intro{font-size:15px!important;line-height:1.6!important}
body.ubes-public-form-page .ubes-public-question-label{font-size:17px!important;line-height:1.35!important;margin-bottom:10px!important}
body.ubes-public-form-page .ubes-public-help,body.ubes-public-form-page .ubes-public-bmc-statement{font-size:14px!important;line-height:1.6!important;margin-bottom:12px!important}
body.ubes-public-form-page .ubes-public-choice{font-size:16px!important;line-height:1.45!important;min-height:54px!important;padding:12px 14px!important}
body.ubes-public-form-page .ubes-public-payment-live{display:grid!important;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr)!important;gap:24px!important}
body.ubes-public-form-page .ubes-public-payment-breakdown>div{display:flex!important;justify-content:space-between!important;gap:16px!important;font-size:13px!important}
@media(max-width:620px){body.ubes-public-form-page .ubes-public-trip-identity{grid-template-columns:44px minmax(0,1fr)!important;gap:13px!important;padding-right:58px!important}body.ubes-public-form-page .ubes-public-trip-mark{width:44px!important;min-width:44px!important;max-width:44px!important;height:68px!important;min-height:68px!important;max-height:68px!important}body.ubes-public-form-page .ubes-public-trip-mark img{width:36px!important;min-width:36px!important;max-width:36px!important;height:64px!important;max-height:64px!important}body.ubes-public-form-page .ubes-public-trip-identity h1{font-size:28px!important}body.ubes-public-form-page .ubes-public-section{gap:24px!important;padding:23px 19px!important}body.ubes-public-form-page .ubes-public-payment-live{grid-template-columns:1fr!important}}


/* v0.15.7 — explicit question rhythm and simplified Payment. */
body.ubes-public-form-page .ubes-public-section{display:block!important}
body.ubes-public-form-page .ubes-public-section>.ubes-public-question+.ubes-public-question,
body.ubes-public-form-page .ubes-public-section>.ubes-public-question+.ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section>.ubes-public-conditional+.ubes-public-question,
body.ubes-public-form-page .ubes-public-section>.ubes-public-conditional+.ubes-public-conditional{margin-top:32px!important}
body.ubes-public-form-page .ubes-public-conditional[hidden]{display:none!important}
body.ubes-public-form-page .ubes-public-payment-note{margin-top:20px!important}
body.ubes-public-form-page .ubes-public-payment-reason[hidden],
body.ubes-public-form-page .ubes-public-payment-breakdown[hidden]{display:none!important}


/* v0.15.8 — compact Payment total row. */
body.ubes-public-form-page .ubes-public-payment-total-row{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:24px!important;
  max-width:520px!important
}
body.ubes-public-form-page .ubes-public-payment-total-row .ubes-public-payment-label{
  margin:0!important;
  font-size:17px!important;
  font-weight:700!important
}
body.ubes-public-form-page .ubes-public-payment-total-row .ubes-public-payment-total{
  margin:0!important;
  font-size:28px!important;
  white-space:nowrap!important
}


/* v0.16.0 — compact long food-choice groups and write-test feedback. */
body.ubes-public-form-page .ubes-public-question.field-sandwich .ubes-public-choice-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body.ubes-public-form-page .ubes-public-question.field-sandwich .ubes-public-choice{
  min-height:48px!important;
  padding:11px 13px!important;
}
body.ubes-public-form-page .ubes-public-question.field-sandwich .ubes-public-choice:last-child:nth-child(odd){
  grid-column:1/-1!important;
}
body.ubes-public-form-page .ubes-public-question.field-sandwich + .ubes-public-question{
  margin-top:26px!important;
}
body.ubes-public-form-page .ubes-public-submit-card [data-form-check-result]{
  display:block;
  margin-top:12px;
  line-height:1.5;
}
body.ubes-public-form-page .ubes-public-form.is-submit-success .ubes-public-submit-card{
  border-color:#a9c4b6;
}
@media(max-width:700px){
  body.ubes-public-form-page .ubes-public-question.field-sandwich .ubes-public-choice-list{
    grid-template-columns:1fr!important;
  }
  body.ubes-public-form-page .ubes-public-question.field-sandwich .ubes-public-choice:last-child:nth-child(odd){
    grid-column:auto!important;
  }
}

/* ==============================================================
   v0.16.5 — public form layout hardening
   ============================================================== */
body.ubes-public-form-page .ubes-public-section{
  display:block!important;
  padding:30px!important;
}
body.ubes-public-form-page .ubes-public-section > h2{
  display:block!important;
  position:static!important;
  float:none!important;
  clear:both!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--ubes-green-dark)!important;
  font-size:22px!important;
  line-height:1.28!important;
}
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro{
  display:block!important;
  position:static!important;
  float:none!important;
  clear:both!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:10px 0 0!important;
  padding:0!important;
  color:var(--ubes-muted)!important;
  font-size:15px!important;
  line-height:1.6!important;
}
body.ubes-public-form-page .ubes-public-section > h2 + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > h2 + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > h2 + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > h2 + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > h2 + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > h2 + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > h2 + .ubes-public-payment-live{margin-top:26px!important}
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro + .ubes-public-payment-live{margin-top:26px!important}
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-payment-live{margin-top:32px!important}
body.ubes-public-form-page .ubes-public-question,
body.ubes-public-form-page .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-payment-live{
  position:relative!important;
  float:none!important;
  clear:both!important;
  height:auto!important;
  margin-bottom:0!important;
}
body.ubes-public-form-page .ubes-public-info-block h3,
body.ubes-public-form-page .ubes-public-title-block h3{
  display:block!important;
  position:static!important;
  float:none!important;
  clear:both!important;
  height:auto!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:var(--ubes-green-dark)!important;
  font-size:18px!important;
  line-height:1.3!important;
}
body.ubes-public-form-page .ubes-public-info-copy,
body.ubes-public-form-page .ubes-public-title-block p{
  display:block!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.6!important;
}
body.ubes-public-form-page .ubes-public-info-copy p{
  margin:0!important;
  line-height:1.6!important;
}
body.ubes-public-form-page .ubes-public-info-copy p + p{margin-top:10px!important}
body.ubes-public-form-page .ubes-public-policy-copy{
  display:block!important;
  margin-bottom:0!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1.65!important;
}
body.ubes-public-form-page .ubes-public-policy-copy p{margin:0!important;line-height:1.65!important}
body.ubes-public-form-page .ubes-public-policy-copy p + p{margin-top:16px!important}
body.ubes-public-form-page .ubes-public-policy-copy ul{margin:10px 0 0!important;padding-left:24px!important}
body.ubes-public-form-page .ubes-public-policy-copy li{line-height:1.6!important}
body.ubes-public-form-page .ubes-public-policy-copy li + li{margin-top:8px!important}
body.ubes-public-form-page .ubes-public-question-label{
  display:block!important;
  position:static!important;
  float:none!important;
  height:auto!important;
  margin:0 0 10px!important;
  padding:0!important;
  font-size:17px!important;
  line-height:1.4!important;
}
body.ubes-public-form-page .ubes-public-help{
  display:block!important;
  position:static!important;
  float:none!important;
  height:auto!important;
  margin:0 0 14px!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.6!important;
}
@media(max-width:620px){
  body.ubes-public-form-page .ubes-public-section{padding:24px 20px!important}
  body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-question + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-conditional + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-info-block + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-title-block + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-image-block + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-policy-copy + .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-question,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-conditional,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-info-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-title-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-image-block,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-policy-copy,
body.ubes-public-form-page .ubes-public-section > .ubes-public-payment-live + .ubes-public-payment-live{margin-top:26px!important}
  body.ubes-public-form-page .ubes-public-section > h2{font-size:21px!important}
  body.ubes-public-form-page .ubes-public-section > .ubes-public-section-intro{font-size:14px!important}
}



/* v0.17.0 — live membership check and mobile form hardening */
.ubes-public-membership-check{margin-top:10px;padding:0;color:var(--ubes-muted);font-size:13px;line-height:1.45}
.ubes-public-membership-check:empty{display:none}
.ubes-public-membership-check.is-checking,.ubes-public-membership-check.is-ok,.ubes-public-membership-check.is-warning,.ubes-public-membership-check.is-error{padding:12px 14px;border:1px solid var(--ubes-line);border-radius:9px}
.ubes-public-membership-check strong,.ubes-public-membership-check p{display:block;margin:0}
.ubes-public-membership-check p+*,.ubes-public-membership-check strong+p{margin-top:5px}
.ubes-public-membership-check.is-checking{background:#f5f8f6;color:#506159}
.ubes-public-membership-check.is-ok{border-color:#b9d8c6;background:#eef8f2;color:#225d3c}
.ubes-public-membership-check.is-warning{border-color:#e4c88f;background:#fff8e9;color:#674c19}
.ubes-public-membership-check.is-error{border-color:#dfb1aa;background:#fff3f1;color:#7b3027}
.ubes-public-membership-override{display:flex;align-items:flex-start;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(103,76,25,.18);font-weight:700;cursor:pointer}
.ubes-public-membership-override input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0}

@media(max-width:640px){
  .ubes-public-form-shell{width:min(100% - 16px,760px);padding:10px 0 36px}
  .ubes-public-form-hero{padding:22px 18px 20px;border-radius:10px}
  .ubes-public-preview-pill{position:static;display:inline-block;margin-bottom:10px}
  .ubes-public-kicker{margin-top:12px}
  .ubes-public-section,.ubes-public-form-card{padding:20px 16px;border-radius:10px}
  .ubes-public-question+.ubes-public-question{margin-top:24px}
  .ubes-public-choice{min-height:48px;padding:12px}
  .ubes-public-form input[type="text"],.ubes-public-form input[type="email"],.ubes-public-form input[type="tel"],.ubes-public-form input[type="number"],.ubes-public-form textarea,.ubes-public-form select{font-size:16px!important}
  .ubes-public-form button,.ubes-public-form input[type="submit"]{min-height:48px;width:100%}
  .ubes-public-payment-breakdown>div{gap:12px}
}

@media(max-width:380px){
  .ubes-public-form-shell{width:100%;padding:0 0 28px}
  .ubes-public-form-hero,.ubes-public-section,.ubes-public-form-card{border-left:0;border-right:0;border-radius:0}
}


/* v0.18.3 — personal early signup gate */
.ubes-public-early-gate .ubes-public-code-entry input {
  font-size:17px;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:lowercase;
}
.ubes-public-early-gate .ubes-public-code-entry {
  max-width:520px;
  margin:0 auto;
}


/* v0.18.17 — public signup help disclosure */
.ubes-public-signup-help {
  margin: 0 0 12px;
  border: 1px solid var(--ubes-line);
  border-radius: 12px;
  background: var(--ubes-surface);
  box-shadow: 0 3px 12px rgba(36,72,63,.035);
  overflow: hidden;
}

.ubes-public-signup-help summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 15px 20px;
  color: var(--ubes-green-dark);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.ubes-public-signup-help summary::-webkit-details-marker {
  display: none;
}

.ubes-public-signup-help summary:hover {
  background: #f7faf8;
}

.ubes-public-signup-help summary:focus-visible {
  outline: 3px solid rgba(47,93,80,.18);
  outline-offset: -3px;
}

.ubes-public-signup-help-icon {
  position: relative;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border: 1px solid #cdd9d3;
  border-radius: 999px;
  background: #f4f8f6;
}

.ubes-public-signup-help-icon::before,
.ubes-public-signup-help-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: var(--ubes-green);
  transform: translate(-50%, -50%);
  transition: transform .16s ease, opacity .16s ease;
}

.ubes-public-signup-help-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.ubes-public-signup-help[open] .ubes-public-signup-help-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0);
}

.ubes-public-signup-help-body {
  padding: 18px 22px 20px;
  border-top: 1px solid #e2e8e5;
  color: #4e5953;
  font-size: 14px;
  line-height: 1.6;
}

.ubes-public-signup-help-body ol {
  margin: 0;
  padding-left: 22px;
}

.ubes-public-signup-help-body li {
  padding-left: 3px;
}

.ubes-public-signup-help-body li + li {
  margin-top: 10px;
}

.ubes-public-signup-help-body strong {
  color: var(--ubes-green-dark);
}

.ubes-public-signup-help-note {
  margin: 16px 0 0;
  padding: 11px 12px;
  border-left: 3px solid var(--ubes-green);
  border-radius: 0 7px 7px 0;
  background: #f4f8f6;
  color: #56615b;
}

@media(max-width: 600px) {
  .ubes-public-signup-help {
    border-radius: 9px;
  }

  .ubes-public-signup-help summary {
    min-height: 56px;
    padding: 14px 17px;
    font-size: 15px;
  }

  .ubes-public-signup-help-body {
    padding: 16px 17px 18px;
    font-size: 14px;
  }
}


/* v0.18.62 — Stripe Embedded Checkout stays on the UBES signup page. */
.ubes-public-embedded-checkout-section {
  margin-top: 18px;
  border: 2px solid #2f5d50;
  background: #fff;
  box-shadow: 0 8px 26px rgba(36,72,63,.08);
}
.ubes-public-embedded-checkout-heading {
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #dce5e0;
}
.ubes-public-embedded-checkout-heading > span {
  display: block;
  margin-bottom: 6px;
  color: #2f5d50;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
}
.ubes-public-embedded-checkout-heading h2 {
  margin: 0;
}
.ubes-public-embedded-checkout-heading p {
  margin: 8px 0 0;
  color: #6f746f;
  line-height: 1.5;
}
.ubes-public-embedded-checkout-mount {
  min-height: 320px;
}
.ubes-public-form.is-payment-stage .ubes-public-section:not(.ubes-public-embedded-checkout-section),
.ubes-public-form.is-payment-stage .ubes-public-form-card:not(.ubes-public-embedded-checkout-section) {
  opacity: .86;
}
.ubes-public-form.is-payment-stage .ubes-public-embedded-checkout-section {
  opacity: 1;
}
@media (max-width: 620px) {
  .ubes-public-embedded-checkout-section {
    margin-top: 14px;
  }
  .ubes-public-embedded-checkout-mount {
    min-height: 360px;
  }
}


/* v0.18.69 — one unified payment card + current Stripe Embedded Checkout Page API. */
body.ubes-public-form-page .ubes-public-unified-payment-card {
  display: block !important;
  padding: 26px !important;
  border: 2px solid var(--ubes-green) !important;
  background: #fff !important;
  box-shadow: 0 8px 26px rgba(36,72,63,.07) !important;
}
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-payment-card-heading {
  margin: 0 0 18px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #dce5e0 !important;
}
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-payment-card-heading > span {
  display: block;
  margin-bottom: 6px;
  color: var(--ubes-green);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
}
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-payment-card-heading h2 {
  margin: 0 !important;
  color: var(--ubes-green-dark);
  font-size: 24px;
}
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-payment-card-heading p {
  margin: 7px 0 0 !important;
  color: var(--ubes-muted);
  font-size: 13px;
  line-height: 1.5;
}
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-payment-live {
  margin: 0 !important;
}
body.ubes-public-form-page .ubes-public-payment-actions {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px 18px;
  align-items: center;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #dce5e0;
}
body.ubes-public-form-page .ubes-public-payment-actions > p {
  margin: 0 !important;
  color: #5f6a64;
  font-size: 13px;
}
body.ubes-public-form-page .ubes-public-payment-actions > [data-form-check-result] {
  grid-column: 1 / -1;
  display: block;
  color: var(--ubes-green-dark);
  font-size: 13px;
  font-weight: 700;
}
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-embedded-checkout-mount {
  min-height: 0;
  margin-top: 18px;
}
body.ubes-public-form-page .ubes-public-unified-payment-card.is-checkout-open .ubes-public-embedded-checkout-mount {
  min-height: 320px;
}
body.ubes-public-form-page .ubes-public-form.is-payment-stage .ubes-public-unified-payment-card {
  opacity: 1 !important;
}
@media (max-width: 620px) {
  body.ubes-public-form-page .ubes-public-unified-payment-card {
    padding: 20px 17px !important;
  }
  body.ubes-public-form-page .ubes-public-payment-actions {
    grid-template-columns: 1fr;
  }
  body.ubes-public-form-page .ubes-public-payment-actions > button {
    width: 100%;
  }
  body.ubes-public-form-page .ubes-public-payment-actions > [data-form-check-result] {
    grid-column: 1;
  }
  body.ubes-public-form-page .ubes-public-unified-payment-card.is-checkout-open .ubes-public-embedded-checkout-mount {
    min-height: 360px;
  }
}


/* v0.18.74 — Checkout Sessions + Payment Element */
.ubes-public-payment-element-mount{display:grid;gap:18px;min-height:0;padding-top:4px}
.ubes-public-payment-element-host{min-height:120px}
.ubes-public-payment-confirm-row{display:grid;gap:10px;padding-top:16px;border-top:1px solid #dce5e0}
.ubes-public-payment-confirm-button{justify-self:end;min-height:50px;padding:11px 24px;border:0;border-radius:9px;background:#2f5d50;color:#fff;font:inherit;font-weight:850;cursor:pointer}
.ubes-public-payment-confirm-button:disabled{cursor:wait;opacity:.58}
.ubes-public-payment-confirm-error{color:#8a3434;font-size:13px;font-weight:700}
@media(max-width:620px){.ubes-public-payment-confirm-button{width:100%;justify-self:stretch}}


/* v0.18.80 — Express wallets + compact payment layout */
body.ubes-public-form-page .ubes-public-unified-payment-card.is-checkout-open{padding:28px 30px!important}
body.ubes-public-form-page .ubes-public-unified-payment-card.is-checkout-open .ubes-public-payment-card-heading,
body.ubes-public-form-page .ubes-public-unified-payment-card.is-checkout-open .ubes-public-payment-live,
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-payment-element-mount{max-width:820px;margin-left:auto!important;margin-right:auto!important}
body.ubes-public-form-page .ubes-public-unified-payment-card .ubes-public-payment-element-mount{width:100%;margin-top:20px!important;padding-top:0}
body.ubes-public-form-page .ubes-public-payment-flow{display:grid;gap:18px}
body.ubes-public-form-page .ubes-public-quick-pay{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1fr);gap:20px;align-items:center;padding:18px;border:1px solid #cddbd4;border-radius:12px;background:#f7faf8}
body.ubes-public-form-page .ubes-public-quick-pay[hidden],body.ubes-public-form-page .ubes-public-payment-divider[hidden]{display:none!important}
body.ubes-public-form-page .ubes-public-quick-pay-copy,body.ubes-public-form-page .ubes-public-payment-method-copy{display:grid;gap:4px}
body.ubes-public-form-page .ubes-public-quick-pay-copy>span,body.ubes-public-form-page .ubes-public-payment-method-copy>span{color:#2f5d50;font-size:10px;font-weight:850;letter-spacing:.09em}
body.ubes-public-form-page .ubes-public-quick-pay-copy>strong,body.ubes-public-form-page .ubes-public-payment-method-copy>strong{color:#24483f;font-size:16px;line-height:1.25}
body.ubes-public-form-page .ubes-public-quick-pay-copy>small{color:#6f746f;font-size:12px;line-height:1.4}
body.ubes-public-form-page .ubes-public-express-checkout-host{min-width:0}
body.ubes-public-form-page .ubes-public-payment-divider{display:flex;align-items:center;gap:12px;color:#7a847f;font-size:11px;font-weight:750;text-align:center}
body.ubes-public-form-page .ubes-public-payment-divider:before,body.ubes-public-form-page .ubes-public-payment-divider:after{content:'';flex:1;height:1px;background:#dce5e0}
body.ubes-public-form-page .ubes-public-payment-divider span{white-space:nowrap}
body.ubes-public-form-page .ubes-public-payment-method-panel{display:grid;gap:14px;padding:18px;border:1px solid #dce5e0;border-radius:12px;background:#fff}
body.ubes-public-form-page .ubes-public-payment-element-host{min-height:100px}
body.ubes-public-form-page .ubes-public-payment-confirm-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 18px;padding-top:16px}
body.ubes-public-form-page .ubes-public-payment-confirm-error{grid-column:1;grid-row:1;min-height:0}
body.ubes-public-form-page .ubes-public-payment-confirm-button{grid-column:2;grid-row:1;min-width:190px;box-shadow:0 2px 7px rgba(36,72,63,.12)}
body.ubes-public-form-page .ubes-public-unified-payment-card.is-checkout-open .ubes-checkout-progress{display:none!important}
@media(max-width:700px){
 body.ubes-public-form-page .ubes-public-unified-payment-card.is-checkout-open{padding:20px 16px!important}
 body.ubes-public-form-page .ubes-public-quick-pay{grid-template-columns:1fr;padding:15px}
 body.ubes-public-form-page .ubes-public-payment-method-panel{padding:14px}
 body.ubes-public-form-page .ubes-public-payment-divider span{white-space:normal}
 body.ubes-public-form-page .ubes-public-payment-confirm-row{grid-template-columns:1fr}
 body.ubes-public-form-page .ubes-public-payment-confirm-error,body.ubes-public-form-page .ubes-public-payment-confirm-button{grid-column:1;grid-row:auto;width:100%;min-width:0}
}


/* v0.18.84 — only Apple Pay, Google Pay and Card. */
body.ubes-public-form-page .ubes-public-payment-flow{gap:12px}
body.ubes-public-form-page .ubes-public-quick-pay{grid-template-columns:1fr;gap:12px;padding:15px 16px;background:#fff}
body.ubes-public-form-page .ubes-public-express-checkout-host{width:100%}
body.ubes-public-form-page .ubes-public-payment-divider{margin:1px 0;color:#52615a;font-size:12px;font-weight:800}
body.ubes-public-form-page .ubes-public-payment-method-panel{gap:12px;padding:15px 16px}
body.ubes-public-form-page .ubes-public-payment-method-copy>span{display:none}
body.ubes-public-form-page .ubes-public-payment-method-copy>strong{font-size:15px}


/* v0.18.87 — verified Committee/Expert Early identity */
.ubes-public-verified-identity-note {
  display: grid;
  gap: 3px;
  margin: 0 0 14px;
  padding: 11px 13px;
  border: 1px solid rgba(47, 93, 80, 0.24);
  border-radius: 10px;
  background: rgba(47, 93, 80, 0.06);
  color: #2d2d2d;
}
.ubes-public-verified-identity-note strong { color: #24483f; }
.ubes-public-verified-identity-note span { font-size: 0.9rem; color: #606863; }
.ubes-public-question.is-verified-identity input[data-identity-locked="1"] {
  opacity: 0.72;
  cursor: not-allowed;
  background: #f5f3ee;
  color: #59605c;
  -webkit-text-fill-color: #59605c;
}

/* v0.18.89 — Expert membership confirmation matches the purple Expert E */
.ubes-public-membership-check.is-ok.is-expert{
  border-color:#d5c7e8;
  background:#eee7f8;
  color:#68449a;
}



/* v0.19.29 visible Main signup countdown. */
.ubes-public-signup-countdown { display:flex; align-items:center; justify-content:space-between; gap:22px; }
.ubes-public-signup-countdown > div { min-width:0; }
.ubes-public-signup-countdown > div > strong { display:block; margin:5px 0 3px; color:#24483f; font-size:1.05rem; }
.ubes-public-signup-countdown > div > p { margin:0; color:#6f746f; }
.ubes-public-signup-countdown-value { flex:0 0 auto; min-width:96px; text-align:center; color:#24483f; font-size:1.8rem; line-height:1; font-variant-numeric:tabular-nums; }
.ubes-public-signup-countdown.is-expired .ubes-public-signup-countdown-value { color:#8b2f2f; }
@media (max-width:640px) {
  .ubes-public-signup-countdown { align-items:flex-start; }
  .ubes-public-signup-countdown-value { min-width:78px; font-size:1.45rem; }
}
