/* Structured participant fields: shared by registration and account self-service. */
.public-design .retreat-birth-date {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.public-design .retreat-sr-only { position: absolute !important; display: block !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0 !important; }
.public-design .retreat-personal-fields > .public-field { align-content: start; }
.public-design .retreat-personal-fields > .public-field > label,
.public-design .retreat-birth-date .retreat-field-label { display: block; margin: 0; padding: 0; font-size: 1rem; line-height: 1.45; font-weight: 750; }
.public-design .retreat-personal-fields .retreat-meal-field > select,
.public-design .retreat-date-columns select { min-height: 56px; height: 56px; }
.public-design .retreat-birth-date .form-help { margin: 0; font-size: .86rem; line-height: 1.5; }
.public-design .retreat-date-columns { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr) minmax(0, 1fr); gap: 8px; }
.public-design .retreat-date-columns label { min-width: 0; margin: 0; }
.public-design .retreat-date-columns select { min-width: 0; width: 100%; padding-left: 10px; padding-right: 24px; font-size: 1rem; font-weight: 400; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%233c342d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 12px 8px; background-position: right 7px center; }
.public-design .retreat-personal-fields { align-items: start; }
.public-design .retreat-personal-fields .retreat-meal-field { grid-column: 1; }
.public-design .retreat-personal-fields .form-help { margin: 10px 0 0; line-height: 1.6; }
.public-design .retreat-personal-fields .retreat-meal-field > .form-help,
.public-design .retreat-personal-fields .retreat-birth-date > .form-help { margin: 0; font-size: .86rem; line-height: 1.5; }
.public-design .retreat-personal-fields [aria-invalid="true"] { border: 2px solid #bd7815; background-color: #fff9ec; box-shadow: 0 0 0 2px rgba(189,120,21,.08); }
.public-design .retreat-personal-fields [aria-invalid="true"]:focus { border-color: #1878a8; outline: 3px solid rgba(24,120,168,.18); }
.public-design .retreat-personal-fields .retreat-field-feedback { margin: 0; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; color: #8a500c; font-size: .84rem; font-weight: 650; line-height: 1.5; }
.public-design .retreat-field-feedback[hidden] { display: none !important; }
.public-design button.retreat-details-state { font: inherit; font-size: .8rem; font-weight: 750; cursor: pointer; text-align: left; }
.public-design button.retreat-details-state:disabled { cursor: default; opacity: 1; }
.public-design button.retreat-details-state:not(:disabled):hover { border-color: #bd7815; background: #fff4dc; }
.public-design .retreat-personal-fields :is(input,select,textarea) { scroll-margin-top: 145px; }
.public-design .retreat-accommodation-heading { margin-top: 36px; margin-bottom: 20px; }
.public-design .retreat-personal-details-card { grid-column: 1 / -1; }
.public-design .retreat-personal-details-card .retreat-ticket-card { min-width: 0; margin: 24px 0; padding: 24px; border: 1px solid #d9e7ec; border-radius: 18px; }
.public-design .retreat-personal-details-card .retreat-ticket-card legend { padding: 0 8px; font-weight: 750; }
.public-design .retreat-attendee-actions { margin: 28px 0 24px; gap: 24px; align-items: center; }
.public-design .retreat-attendee-actions > p { margin: 0; line-height: 1.65; }
.public-design .retreat-booking-status > .form-help { margin-top: 24px; line-height: 1.65; }
.public-design .retreat-portal-faq { grid-template-columns: minmax(0, 1fr); }
.public-design .retreat-feedback-card { scroll-margin-top: 110px; }
.public-design .retreat-feedback-fields { min-width: 0; border: 0; padding: 0; margin: 0; }
.public-design .retreat-feedback-fields > button { margin-top: 24px; }
.public-design fieldset:disabled { opacity: .72; }
.public-design fieldset:disabled :is(input,select,textarea,button) { cursor: not-allowed; }
.public-design .retreat-entrance-figure { margin: 24px 0 0; }
.public-design .retreat-entrance-figure img { display: block; width: 100%; height: auto; border-radius: 14px; }
.public-design .retreat-entrance-figure figcaption { margin-top: 10px; line-height: 1.6; }
.public-design .retreat-second-participant-panel { min-width: 0; }
.public-design [data-birth-date][hidden],
.public-design [data-retreat-second-participant][hidden] { display: none !important; }
@media (max-width: 600px) {
  .public-design .retreat-personal-fields .retreat-meal-field { grid-column: 1; }
  .public-design .retreat-personal-details-card .retreat-ticket-card,
  .public-design .retreat-booking-status .retreat-ticket-card { padding: 18px 12px; }
  .public-design .retreat-accommodation-heading { margin-top: 28px; line-height: 1.15; }
}
@media (max-width: 1100px) {
  .public-design .retreat-date-columns { gap: 6px; grid-template-columns: minmax(0,1fr) minmax(0,1.35fr) minmax(0,1.05fr); }
  .public-design [data-participant-fields][data-locale="en"] .retreat-date-columns { grid-template-columns: minmax(0,.85fr) minmax(0,1.55fr) minmax(0,1fr); }
  .public-design .retreat-date-columns select { font-size: .875rem; padding-left: 6px; padding-right: 20px; }
}
