.birth-service .service-heading h1 { margin-bottom: 20px; }
.birth-service .service-panel { background: #fff; }
.birth-service .service-field select { padding-right: 36px; }
.birth-service input[type="date"] { appearance: none; -webkit-appearance: none; }
.birth-service .birth-totals { margin: 32px 0 0; border-top: 1px solid #ddd; padding-top: 18px; font-size: 16px; }
.birth-totals > div { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; }
.birth-totals dt, .birth-totals dd { margin: 0; }
.birth-totals dd { flex-shrink: 0; text-align: right; font-variant-numeric: tabular-nums; }
.birth-totals .birth-grand-total { margin-top: 8px; padding-top: 18px; border-top: 1px solid #ddd; font-size: 20px; font-weight: 700; }
.birth-summary { margin: 24px 0; }
.birth-summary > div { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 2fr); gap: 18px; padding: 12px 0; border-bottom: 1px solid #eee; font-size: 15px; line-height: 1.6; }
.birth-summary dt { font-weight: 700; }
.birth-summary dd { margin: 0; overflow-wrap: anywhere; }
.birth-review-price { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 20px; background: #e9eef5; border-radius: 6px; color: #014898; }
.birth-review-price strong { font-size: 24px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.birth-consent-field { margin-top: 24px; }
.birth-consent-field label { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.6; cursor: pointer; }
.birth-consent-field input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #014898; }
.birth-consent-field input[aria-invalid="true"] { outline: 1px solid #b3261e; }
.birth-optional { color: #666; font-weight: 400; font-size: 14px; }
.birth-service .birth-help { margin-top: 32px; padding: 24px 0 0; }
.birth-help h2 { margin: 0 0 12px; font: 700 22px/1.4 Roboto, Arial, sans-serif; color: #333; }
.birth-help p { margin: 0 0 12px; font-size: 15px; line-height: 1.7; }
.birth-help a { color: #014898; font-size: 15px; text-decoration: underline; }
.birth-service .service-field input, .birth-service .service-field select { max-width: 100%; }
.birth-service .field-error { overflow-wrap: anywhere; }
.birth-payment-status { margin: 20px 0 !important; padding: 16px; border-left: 3px solid #014898; background: #eef3f9; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .birth-summary > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .birth-review-price { padding: 16px; gap: 12px; }
  .birth-review-price strong { font-size: 21px; }
  .birth-service .birth-totals { font-size: 14px; }
  .birth-totals .birth-grand-total { font-size: 19px; }
}
