/* Approved read-only confirmation and recovery component refinements. */
.booking-review .final-icon{display:block;width:28px;height:28px;flex-shrink:0}
.confirmation-heading .round-check .final-icon{width:46px;height:46px;stroke-width:1.7}
.confirmation-statuses{border:1px solid #ecece8;border-radius:5px;overflow:hidden}
.confirmation-statuses .status-row{padding:7px 12px;font-size:14px;min-height:44px}
.confirmation-statuses .status-row:last-child{border-bottom:0}
.confirmation-statuses .status-row>span{display:flex;align-items:center;gap:20px;font-weight:600}
.status-emblem{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;font-style:normal}
.status-emblem .final-icon{width:22px;height:22px}
.status-emblem.success{background:#548257;color:white}
.status-emblem.pending{background:none;color:#ac8432}
.status-emblem.pending .final-icon{width:28px;height:28px;stroke-width:1.7}
.status-emblem.awaiting{color:#345277;background:#edf0f3}
.status-row>b.awaiting{background:#eceef1;color:#253d5e}
.next-update{display:flex;gap:16px;align-items:center}
.next-update>.final-icon{width:34px;height:34px}
.next-panel .next-update p{font-weight:600;margin:0 0 3px}
.confirmation-actions>.outline-button{display:flex;align-items:center;justify-content:center;gap:12px}
.confirmation-actions>.outline-button .final-icon{width:23px;height:23px}
.route-confirmation .summary-receipt strong{display:block;margin-bottom:7px}
.route-confirmation .summary-receipt button{display:flex;gap:9px;align-items:center;font-size:13px}
.route-confirmation .summary-receipt .final-icon{width:19px;height:23px}
.route-confirmation .confirmation-payment strong{display:block;font-size:28px;line-height:1.2}
.route-confirmation .confirmation-payment small{display:block;font-size:9px;margin-top:5px}
.admission-title{display:flex;gap:20px;align-items:center}
.admission-title>.final-icon{width:43px;height:49px;color:#7d8795;stroke-width:1.5}
.admission-title h3{font-family:'DM Sans',sans-serif;font-weight:500;font-size:20px}
.admission-title p{font-size:13px}
.issued-before{display:flex;gap:14px;align-self:start;padding:16px 14px;border:1px solid #e9e7df;border-radius:5px;background:#fffdfa}
.issued-before>.final-icon{color:#a5842c;width:30px;height:30px;stroke-width:1.4}
.issued-before h2{font-size:25px;margin-bottom:8px}
.issued-before p{font-size:13px;line-height:1.45}
.issued-before a{display:inline-flex;align-items:center;gap:15px;text-decoration:underline;color:#153d91;font-size:14px;margin-top:2px}
.issued-help{display:flex;align-items:center;gap:5px;font-size:13px;margin:14px 10px 0}
.issued-help>.icon:first-child{width:28px;height:28px;color:#a5842c;margin-right:12px}
.issued-help>.icon:last-child{margin-left:4px;width:20px}
.route-tickets-ready .issued-specimen-note{text-align:center;font-size:10px;line-height:1.35;margin:8px 0 0}

/* Component dimensions follow the website regions in the recovery board. */
.route-recovery .recovery-card{container-type:inline-size;position:relative;min-height:415px;display:flex;flex-direction:column;padding:32px 32px 25px;border-color:#d3c7a4;border-radius:5px;background:#fffdf9}
.route-recovery .recovery-symbol{position:absolute;left:28px;top:19px;width:62px;height:62px;border-radius:50%;background:#f8f1e1;color:#091c32;display:grid;place-items:center}
.route-recovery .recovery-symbol .final-icon{width:35px;height:35px;stroke-width:1.8}
.route-recovery .eyebrow{margin:4px 0 0 86px;font-size:12px;letter-spacing:3.5px;line-height:17px}
.route-recovery .recovery-card h2{margin:20px 0 12px 86px;font-size:40px;line-height:1;letter-spacing:-1px}
.route-recovery .recovery-card>.recovery-description{margin:0 0 0 86px;min-height:0;font-size:18px;line-height:24px}
.route-recovery .recovery-value{display:flex;align-items:center;gap:17px;min-height:60px;padding:8px 16px;margin:24px 0 0;border:1px solid #bcbec0;border-radius:6px;font-size:18px;line-height:24px}
.route-recovery .recovery-value>.final-icon{width:28px;height:34px}
.route-recovery .state-availability .recovery-value>.final-icon{box-sizing:content-box;padding-right:18px;border-right:1px solid #dedcd6}
.route-recovery .recovery-card>.button{margin:20px 0 0;min-height:58px;width:100%;font-size:20px;font-weight:500;line-height:1.2;border-radius:6px;padding:12px 8px}
.route-recovery .recovery-card>.button .icon{width:25px;height:25px}
.route-recovery .recovery-secondary{display:block;text-align:center;margin:18px 0 0;font-size:17px;line-height:25px}
.route-recovery .looks-like-link{text-decoration:underline;text-underline-offset:3px}
.route-recovery .state-form-validation .recovery-symbol,.route-recovery .state-payment-declined .recovery-symbol{background:#faeaea;color:#bd253a}
.route-recovery .state-form-validation{padding-left:37px;padding-right:37px}
.route-recovery .state-form-validation .eyebrow{margin-left:81px}
.route-recovery .state-form-validation h2{margin:25px 0 12px;font-size:40px;letter-spacing:-1.3px;white-space:nowrap}
.route-recovery .state-form-validation>.recovery-description{margin-left:0;font-size:18px;line-height:24px}
.route-recovery .recovery-email{font-size:17px;line-height:24px;margin-top:18px}
.route-recovery .invalid-field{margin-top:5px;height:50px;padding:10px 16px;border:1px solid #bc3346;border-radius:6px;font-size:18px;line-height:28px}
.route-recovery .invalid-field i{display:inline-block;height:22px;width:1px;background:var(--cobalt);vertical-align:middle;margin-left:3px}
.route-recovery .error-copy{font-size:15px;line-height:22px;margin:6px 0 0;color:#ba243e}
.route-recovery .recovery-card>.kept-details{margin:12px 0 0;min-height:0;font-size:16px;line-height:23px}
.route-recovery .state-form-validation>.button{margin-top:17px;min-height:58px;background:#bbb;opacity:1}
.route-recovery .state-availability-changed .recovery-symbol,.route-recovery .state-session-refresh .recovery-symbol{color:#89601b}
.route-recovery .state-availability-changed h2,.route-recovery .state-result-pending h2,.route-recovery .state-session-refresh h2{margin-top:8px}
.route-recovery .state-availability-changed>.recovery-description{font-size:17px;line-height:24px}
.route-recovery .disabled-slot{margin:17px 0 0;min-height:52px;padding:13px 8px;border:1px solid #d1d0ce;border-radius:6px;background:#eeeef0;color:#656c7b;font-size:18px;line-height:24px}
.route-recovery .time-grid{margin:12px 0 0;gap:14px}
.route-recovery .time-grid button{min-height:53px;font-size:19px;font-weight:500;padding:10px 3px;border-color:#acadae;border-radius:6px}
.route-recovery .state-availability-changed>.button{margin-top:17px}
.route-recovery .state-payment-declined{min-height:418px}
.route-recovery .state-payment-declined .recovery-value{height:75px;margin-top:30px;padding-left:23px;gap:32px;border-color:#d5d2ca}
.route-recovery .state-payment-declined .recovery-value>.final-icon{width:44px;height:40px}
.route-recovery .state-payment-declined>.button{margin-top:16px}
.route-recovery .state-payment-declined .recovery-secondary{margin-top:16px}
.route-recovery .state-result-pending .recovery-symbol{background:#e9ecf6;color:#0736c9}
.route-recovery .state-result-pending .final-icon{stroke-width:2.3}
.route-recovery .state-result-pending>.recovery-description,.route-recovery .state-session-refresh>.recovery-description{font-size:16px;line-height:22px}
.route-recovery .state-result-pending,.route-recovery .state-session-refresh{min-height:418px}
.route-recovery .state-result-pending .recovery-value{min-height:66px;margin-top:15px;padding-left:17px;gap:27px;background:#f7f7f9;border-color:#d7d7dd}
.route-recovery .state-result-pending .recovery-value>.final-icon{width:39px;height:39px;color:#0736c9}
.route-recovery .state-result-pending>.button{margin-top:16px}
.route-recovery .state-session-refresh .recovery-value{min-height:70px;margin-top:12px;padding:6px 17px;gap:21px;font-size:16px;line-height:23px;border-color:#d4d2c9}
.route-recovery .state-session-refresh .recovery-value>.final-icon{width:32px;height:45px;box-sizing:content-box;border-right:1px solid #dedcd6;padding-right:17px}
.route-recovery .state-session-refresh .recovery-value strong{font-weight:600}
.route-recovery .state-session-refresh>.button{margin-top:16px}
.route-recovery .state-session-refresh .recovery-secondary{margin-top:14px;font-size:16px;line-height:23px}
.route-recovery>.state-review-label{position:static;max-width:none;margin:0 0 12px}
.route-recovery .state-availability .recovery-value{margin-top:27px}
.route-recovery .state-result-pending>.recovery-description{margin-right:-15px;letter-spacing:-.3px}
.route-recovery .state-result-pending{padding-bottom:21px}

@media(min-width:1001px){
 .route-confirmation .flow-layout{grid-template-columns:minmax(0,2.17fr) minmax(0,1fr);gap:18px}
 .route-confirmation .confirmation-heading{margin-bottom:15px}
 .route-confirmation .readonly-booking{border-radius:6px;padding-bottom:9px}
 .route-confirmation .readonly-booking h2{font-size:36px;margin-bottom:11px}
 .route-confirmation .confirmation-statuses .status-row{min-height:45px;padding:7px 12px}
 .route-confirmation .readonly-booking .booking-inline{margin-bottom:14px;gap:24px}
 .route-confirmation .readonly-booking .booking-inline>img{width:255px;height:153px;border-radius:4px}
 .route-confirmation .booking-inline p{font-size:14px;line-height:1.45}
 .route-confirmation .confirmation-next-copy{font-size:13px;margin:13px 0}
 .route-confirmation .next-panel{background:#fffdfa;border-radius:5px;padding:10px 12px}
 .route-confirmation .next-panel h3{font-size:23px;margin-bottom:14px}
 .route-confirmation .next-panel-content>small{padding:6px 10px;text-align:center;border:1px solid #eeece5;border-radius:4px;font-size:12px}
 .route-confirmation .confirmation-actions{margin:10px 0 0}
 .route-confirmation .confirmation-actions>button{min-height:47px;font-size:15px;font-weight:400}
 .route-confirmation .confirmation-actions+.small{font-size:11px;margin:10px 0 0}
 .route-confirmation .confirmation-summary{margin-top:-122px;padding:0 0 25px;border-radius:6px;overflow:hidden}
 .route-confirmation .confirmation-summary>img{width:100%;height:230px;margin-bottom:16px}
 .route-confirmation .confirmation-summary>h2,.route-confirmation .confirmation-summary>p,.route-confirmation .confirmation-summary-details,.route-confirmation .confirmation-payment,.route-confirmation .summary-receipt,.route-confirmation .confirmation-summary .help-link{margin-left:21px;margin-right:21px}
 .route-confirmation .confirmation-summary>h2{font-size:32px;margin-bottom:13px}
 .route-confirmation .confirmation-summary>p{font-size:17px}
 .route-confirmation .confirmation-summary-details{font-size:14px;margin-top:8px}
 .route-confirmation .confirmation-summary-details p{padding:12px 0;border-top:1px solid #eeece8}
 .route-confirmation .confirmation-payment{border-top:1px solid #aa8e42;margin-top:13px;padding-top:16px;font-size:14px}
 .route-confirmation .summary-receipt{font-size:14px;margin-top:16px;margin-bottom:22px}
 .route-confirmation .confirmation-summary .help-link{display:flex;align-items:center;gap:15px;padding:14px 16px;background:#f9f7f0;border-radius:5px;margin-top:0;font-size:13px}
 .route-confirmation .confirmation-summary .help-link>.icon{width:31px;height:31px}
}
@media(max-width:650px){
 .route-tickets-ready{padding:14px 14px 12px}
 .route-tickets-ready .confirmation-heading{margin:0 2px 10px;gap:5px 14px}
 .route-tickets-ready .round-check{width:52px;height:52px;border-width:3px}
 .route-tickets-ready .round-check .final-icon{width:37px;height:37px}
 .route-tickets-ready .confirmation-heading h1{font-size:32px;letter-spacing:-1.2px;line-height:1.05;white-space:nowrap}
 .route-tickets-ready .confirmation-heading>p{font-size:17px;line-height:25px}
 .route-tickets-ready .readonly-booking{padding:11px 11px 8px;border-radius:6px}
 .route-tickets-ready .readonly-booking .booking-inline{gap:20px;margin-bottom:14px}
 .route-tickets-ready .readonly-booking .booking-inline>img{width:117px;height:98px;border-radius:4px}
 .route-tickets-ready .readonly-booking .booking-inline h3{font-size:17px;font-weight:400;line-height:1.2;margin:5px 0}
 .route-tickets-ready .readonly-booking .booking-inline p{font-size:12px;line-height:1.7;margin:5px 0 0;letter-spacing:-.15px}
 .route-tickets-ready .confirmation-statuses{border:0;overflow:visible}
 .route-tickets-ready .status-row{border:1px solid #e8ede5;border-radius:5px;background:#f4f8f1;padding:6px 10px;margin:5px 0;min-height:40px;font-size:13px}
 .route-tickets-ready .status-row>span{gap:18px;font-weight:500}
 .route-tickets-ready .status-emblem{width:27px;height:27px}
 .route-tickets-ready .admission-download{padding:10px 10px 9px;margin-top:10px;border:1px solid #e9e8e2;border-radius:5px}
 .route-tickets-ready .admission-title{gap:20px}
 .route-tickets-ready .admission-title>.final-icon{width:50px;margin-left:8px}
 .route-tickets-ready .admission-title h3{font-size:19px;line-height:1.2;letter-spacing:-.5px}
 .route-tickets-ready .admission-title p{font-size:12px;line-height:18px;margin:4px 0 0}
 .route-tickets-ready .admission-download>.button{min-height:44px;font-size:15px;font-weight:500;margin-top:12px;gap:14px;padding:10px}
 .route-tickets-ready .receipt-link{font-size:13px;margin:10px auto 0;line-height:21px;padding:0}
 .route-tickets-ready .readonly-booking>.issued-specimen-note{font-size:9px;line-height:13px;margin:10px 0 2px;letter-spacing:-.15px}
 .route-tickets-ready .issued-before{margin-top:12px;padding:10px 12px;gap:14px;min-height:92px}
 .route-tickets-ready .issued-before h2{font-size:23px;line-height:1.05;margin:0 0 6px}
 .route-tickets-ready .issued-before p{font-size:12px;line-height:17px}
 .route-tickets-ready .issued-before a{font-size:13px;line-height:19px;gap:15px}
 .route-tickets-ready .issued-help{margin:13px 10px 0;font-size:12px}
 .route-confirmation .confirmation-statuses .status-row{font-size:12px}
 .route-confirmation .confirmation-statuses .status-row>span{gap:12px}
}
@container(max-width:350px){
 .route-recovery .eyebrow{margin-left:65px;letter-spacing:2px;font-size:10px}
 .route-recovery .recovery-card h2{margin-left:0;font-size:32px;white-space:normal;margin-top:35px}
 .route-recovery .recovery-card>.recovery-description{margin-left:0;font-size:15px;line-height:22px}
 .route-recovery .recovery-symbol{width:50px;height:50px;left:24px}
 .route-recovery .recovery-card>.button{font-size:16px}
 .route-recovery .recovery-value{font-size:15px}
 .route-recovery .recovery-secondary{font-size:14px}
}
