.guest-payment-care { margin: 24px 0; border-block: 1px solid var(--guest-border); padding: 18px 0; min-width: 0; text-align: left; }
.guest-payment-care > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.guest-payment-care h3 { font-size: 17px; font-weight: 600; line-height: 1.45; margin: 3px 0 0; }
.guest-payment-care h4 { font-size: 13px; font-weight: 600; line-height: 1.5; margin: 0 0 7px; }
.guest-payment-care .guest-eyebrow { color: var(--guest-muted); font-size: 10px; }
.guest-payment-care > header > button { font-size: 11px; text-align: left; flex-shrink: 0; }
.guest-care-cutoff, .guest-care-refund, .guest-care-contact { margin-top: 20px; }
.guest-care-cutoff > time { display: block; font-size: 14px; font-weight: 600; line-height: 1.6; }
.guest-care-warning { color: #825322; font-size: 12px; line-height: 1.6; margin-top: 7px; }
.guest-care-estimate-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; line-height: 1.6; }
.guest-care-estimate-heading > :last-child { font-variant-numeric: tabular-nums; text-align: right; }
.guest-care-estimate-heading h4 { margin-bottom: 0; }
.guest-care-estimate-list { list-style: none; padding: 0; margin: 8px 0 0; }
.guest-care-estimate-list > li { padding: 11px 0; border-top: 1px solid var(--guest-border); }
.guest-care-estimate-list .guest-care-estimate-heading { font-size: 12px; }
.guest-care-money { display: flex; gap: 18px; flex-wrap: wrap; margin: 8px 0 !important; }
.guest-care-money > div { display: flex; gap: 6px; font-size: 11px; line-height: 1.6; }
.guest-care-money dt { color: var(--guest-muted); }
.guest-care-money dd { margin: 0; font-variant-numeric: tabular-nums; }
.guest-care-policy-time, .guest-care-disclaimer { color: var(--guest-muted); font-size: 11px; line-height: 1.7; margin-top: 8px; }
.guest-care-disclaimer { border-left: 2px solid #a9b38f; padding-left: 10px; }
.guest-care-policy-time time { color: var(--guest-text); }
.guest-care-contact-links { display: flex; gap: 8px; flex-wrap: wrap; }
.guest-care-contact-links .guest-secondary { min-height: 42px; padding: 9px 12px; font-size: 12px; max-width: 100%; overflow-wrap: anywhere; justify-content: flex-start; }
.guest-care-contact-links svg { flex-shrink: 0; }
.guest-care-timeline { border-top: 1px solid var(--guest-border); margin-top: 20px; padding-top: 15px; }
.guest-care-timeline summary { cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1.6; }
.guest-care-timeline summary > span { color: var(--guest-muted); font-size: 10px; font-weight: 400; margin-left: 8px; }
.guest-care-timeline ol { list-style: none; padding: 0; margin: 12px 0 0; }
.guest-care-timeline li { position: relative; border-left: 1px solid var(--guest-border); margin-left: 4px; padding: 0 0 16px 16px; }
.guest-care-timeline li:last-child { padding-bottom: 4px; }
.guest-care-timeline li::before { content: ""; position: absolute; width: 5px; height: 5px; border: 1px solid #8b9a75; border-radius: 50%; background: var(--guest-bg, #fffefa); left: -4px; top: 6px; }
.guest-care-event-main { display: flex; justify-content: space-between; gap: 14px; font-size: 12px; line-height: 1.6; }
.guest-care-event-main > span { white-space: nowrap; font-variant-numeric: tabular-nums; }
.guest-care-event-subject, .guest-care-timeline li > time { display: block; color: var(--guest-muted); font-size: 10px; line-height: 1.8; }
.guest-care-asof { margin-top: 12px; color: var(--guest-muted); font-size: 10px; line-height: 1.7; }
.guest-care-cancel { margin-top: 18px; border-top: 1px solid var(--guest-border); padding-top: 15px; }
.guest-care-cancel > .guest-care-refund { margin: 12px 0 15px; background: #f2f3e9; border: 1px solid var(--guest-border); border-radius: 6px; padding: 13px; }
.guest-payment-care p, .guest-payment-care h3, .guest-payment-care h4, .guest-payment-care time, .guest-payment-care a { overflow-wrap: anywhere; }
.guest-payment-care a:focus-visible, .guest-care-timeline summary:focus-visible { outline: 2px solid #638b3b; outline-offset: 4px; }
.guest-care-settings { border-bottom: 1px solid var(--border, #ded8df); margin-bottom: 22px; padding-bottom: 22px; min-width: 0; }
.guest-care-settings .nbi-feature-heading { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.guest-care-settings .nbi-feature-heading h2 { font-size: 17px; margin-bottom: 7px; }
.guest-care-settings .nbi-feature-heading p { max-width: 75ch; }
.guest-care-settings fieldset, .guest-care-existing-payments { border: 0; padding: 0; margin: 0; min-width: 0; }
.guest-care-settings legend { font-size: 13px; font-weight: 600; margin: 16px 0 8px; padding: 0; }
.guest-care-settings .guest-care-policy-legend { display: block; margin-top: 22px; }
.guest-care-settings .nbi-feature-fields { margin: 12px 0; }
.guest-care-settings .nbi-feature-fields > * { min-width: 0; }
.guest-care-settings input, .guest-care-settings select { max-width: 100%; }
.guest-care-policy-subjects { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 12px 0; }
.guest-care-settings-review { margin-top: 14px; border-top: 1px solid var(--border, #ded8df); padding-top: 12px; }
.guest-care-settings p, .guest-care-settings strong { overflow-wrap: anywhere; }
.guest-care-settings button:disabled, .guest-payment-care button:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 640px) {
  .guest-payment-care > header { display: block; }
  .guest-payment-care > header > button { margin-top: 8px; min-height: 40px; }
  .guest-care-estimate-heading { gap: 10px; align-items: flex-start; }
  .guest-care-estimate-heading > :last-child { max-width: 46%; }
  .guest-care-contact-links { display: grid; grid-template-columns: minmax(0, 1fr); }
  .guest-care-contact-links .guest-secondary { width: 100%; box-sizing: border-box; min-height: 44px; }
  .guest-care-cancel .guest-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .guest-care-cancel .guest-actions > button { width: 100%; min-height: 44px; }
  .guest-care-timeline summary > span { display: block; margin-left: 0; }
  .guest-care-settings .nbi-feature-fields { grid-template-columns: minmax(0, 1fr); }
  .guest-care-settings .nbi-form-actions { flex-wrap: wrap; }
  .guest-care-settings .nbi-form-actions > button { min-height: 44px; }
}
