/* Terminal flow: one receipt, with the property's existing header and logo. */
.booking-shell.is-confirmation #booking-hero,
.booking-shell.is-confirmation #booking-summary { display:none !important; }
.booking-shell.is-confirmation .booking-main { grid-template-columns:minmax(0,1fr) !important; max-width:1000px; width:100%; margin:24px auto; }
.booking-shell.is-confirmation .booking-content { min-width:0; width:100%; }
.booking-shell.is-confirmation #booking-confirmation { outline:none; }
.booking-shell.is-confirmation .booking-stepper__button:disabled { opacity:1; }
.booking-shell.is-confirmation .booking-stepper__item.is-active { opacity:1; }
.booking-shell.is-confirmation .booking-stepper__item.is-active .booking-stepper__circle { background:#155e46; color:white; border-color:#155e46; }
.booking-confirmation { border-radius:20px; box-shadow:0 12px 36px #20344c0a; }
.booking-confirmation__header { padding:20px 28px 0; background:white; border:0; }
.booking-confirmation__eyebrow { color:#526273; font-size:.8rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.booking-confirmation__body { padding:24px 28px; }
.booking-confirmation__details { padding:0; border:0; box-shadow:none; gap:24px; background:white; }
.booking-confirmation__welcome { display:flex; align-items:flex-start; gap:18px; }
.booking-confirmation__seal { display:grid; place-items:center; flex:0 0 56px; width:56px; height:56px; border-radius:50%; background:#e6f5ed; color:#155e46; font-size:30px; font-weight:700; }
.booking-confirmation__outcome { margin:0 0 10px; font-size:clamp(1.55rem,3vw,2rem); line-height:1.2; color:#17342b; }
.booking-confirmation__completion-note { margin:0; max-width:65ch; font-size:1rem; line-height:1.65; color:#526273; }
.booking-confirmation__receipt { background:#f5f8fc; border:1px solid #dce5ef; border-radius:14px; padding:20px; }
.booking-confirmation__code { padding:0 0 16px; margin-bottom:16px; display:flex; gap:12px; border-bottom:1px solid #dce5ef; }
#confirmation-code { color:#172c43; font-size:1.05rem; letter-spacing:.02em; user-select:all; }
.booking-confirmation__code > .booking-confirmation__label { flex-basis:100%; }
.booking-confirmation__copy { color:#17324e; background:#fff; border:1px solid #c4cfda; min-height:44px; }
.booking-confirmation__receipt > .booking-confirmation__button { width:100%; min-height:52px; font-size:1rem; border-radius:10px; }
.booking-confirmation__hint { margin:10px 0 0; text-align:center; color:#526273; font-size:.85rem; line-height:1.5; }
.booking-confirmation__overview { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.booking-confirmation__overview > section { min-width:0; border:1px solid #e2e8f0; padding:18px; border-radius:14px; }
.booking-confirmation h3 { margin:0 0 12px; font-size:1.05rem; color:#243247; }
.booking-confirmation__row { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:12px 0; font-size:.9rem; line-height:1.5; }
.booking-confirmation__label { color:#526273; }
.booking-confirmation__value { max-width:65%; min-width:0; text-align:right; overflow-wrap:anywhere; color:#172c43; }
.booking-confirmation__balance { display:flex; justify-content:space-between; gap:16px; margin-top:16px; padding:16px; border-radius:10px; background:#edf5f1; color:#173c2f; line-height:1.5; flex-wrap:wrap; }
.booking-confirmation__balance strong { font-size:1.2rem; overflow-wrap:anywhere; }
.booking-confirmation__footer { padding:0 28px 24px; background:#fff; border:0; }
.booking-confirmation__communication { border:1px solid #dce5ef; border-radius:14px; padding:20px; background:#f8fafc; }
.booking-confirmation__email-status { margin:0; font-size:.95rem; line-height:1.65; color:#43566b; }
.booking-confirmation__actions { justify-content:flex-start; gap:12px; margin-top:12px; flex-wrap:wrap; }
.booking-confirmation__email-retry { min-height:44px; padding:10px 14px; }
.booking-confirmation__help { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
.booking-confirmation__help p { margin:0; color:#526273; line-height:1.6; }
.booking-confirmation__contact { flex-shrink:0; color:#17324e; font-size:.95rem; }
.booking-confirmation__location { margin:0 28px 28px; padding:18px; width:auto; border-radius:14px; }
.booking-confirmation__location summary { min-height:44px; cursor:pointer; color:#243247; font-weight:700; padding:12px 0; }
.booking-confirmation__location-header { display:flex; flex-wrap:wrap; gap:12px; padding:12px 0; }
#confirmation-address { margin:0; line-height:1.6; color:#526273; overflow-wrap:anywhere; }
.booking-confirmation__location a { min-height:44px; display:inline-flex; align-items:center; }
.booking-confirmation :is(button,a,summary):focus-visible,#confirmation-code:focus-visible { outline:3px solid #245cb4; outline-offset:4px; }
.booking-confirmation [hidden] { display:none !important; }
@media(max-width:700px){
 .booking-shell.is-confirmation .booking-stepper__item.is-previous { display:none !important; }
 .booking-shell.is-confirmation .booking-main { margin:16px auto; }
 .booking-confirmation__header { padding:20px 18px 0; }
 .booking-confirmation__body { padding:20px 18px; }
 .booking-confirmation__overview { grid-template-columns:minmax(0,1fr); gap:16px; }
 .booking-confirmation__welcome { gap:12px; }
 .booking-confirmation__seal { flex-basis:42px; width:42px; height:42px; font-size:25px; }
 .booking-confirmation__receipt { padding:16px; }
 .booking-confirmation__code { align-items:flex-start; }
 .booking-confirmation__row { flex-direction:row; gap:12px; }
 .booking-confirmation__footer { padding:0 18px 20px; }
 .booking-confirmation__help { align-items:stretch; flex-direction:column; gap:12px; }
 .booking-confirmation__location { margin:0 18px 20px; padding:14px; }
}
@media(prefers-reduced-motion:reduce){.booking-confirmation *{transition:none!important;animation:none!important;}}
/* Text enlargement must grow actions instead of clipping their labels. */
.booking-confirmation :is(button,.booking-confirmation__contact) { height:auto; white-space:normal; overflow-wrap:anywhere; max-width:100%; line-height:1.4; }
.booking-confirmation__receipt > .booking-confirmation__button { padding:14px 18px; }

.booking-confirmation:not([data-status='CONFIRMED']) .booking-confirmation__seal { background:#fff1db; color:#85510a; }
.booking-confirmation:not([data-status='CONFIRMED']) .booking-confirmation__outcome { color:#704719; }
