/* Measured booking-board refinements. The disclosure uses the main's existing
   top padding; it remains visible without taking a separate content row. */
.booking-review:has(>.state-review-label){position:relative}
.booking-review>.state-review-label{
 position:absolute;inset:1px 0 auto;z-index:1;max-width:none;margin:0;
 padding:0 8px;border:0;background:transparent;box-shadow:none;
 color:#795c25;font-size:9px;line-height:11px;letter-spacing:.18px;
 text-align:center;white-space:nowrap;
}
.booking-review h1,.booking-review h2,.booking-review h3{-webkit-text-stroke:.12px currentColor}
.route-date-time .flow-steps .complete b{background:#fffdfa;color:var(--cobalt);border:1px solid #aebace}
.route-processing .flow-steps .complete b,.route-bank-verification .flow-steps .complete b{background:#fffdfa;color:var(--gold);border:1px solid var(--gold)}

@media(min-width:1001px){
 .route-booking-concept .booking-title{background:var(--ivory) url('images/badii-courtyard.jpg') right center/60.1% 100% no-repeat;padding-top:25px;padding-bottom:3px}
 .route-booking-concept .booking-title h1{font-size:62px}
 .route-booking-concept .booking-grid{gap:20px;padding-right:20px}
 .route-booking-concept .booking-actions>.button{width:285px;min-height:50px;font-size:17px}
 .route-booking-concept .visit-card>img{content:url('images/badii-courtyard.jpg')}
 .route-date-time{padding-left:14px;padding-right:23px}
 .route-date-time .flow-heading{padding-left:32px}
 .route-date-time .date-time-card{padding-bottom:13px}
 .route-date-time .selection-strip{margin-bottom:0}
 .route-date-time .flow-actions{margin:20px 21px 21px 28px}
 .route-date-time .flow-actions>.button{width:320px;min-height:53px;padding:14px 20px}
 .route-details .flow-layout{grid-template-columns:minmax(0,1.92fr) minmax(0,1fr);gap:15px}
 .route-details .flow-heading{padding-left:16px;padding-top:2px;padding-bottom:17px}
 .route-details .flow-heading h1{font-size:48px;letter-spacing:-1.2px}
 .route-details .customer-details{position:relative;padding:16px 26px 15px;border-radius:6px}
 .route-details .customer-details h2{font-size:36px;margin-bottom:0}
 .route-details .form-feedback{position:absolute;inset:auto 26px 2px;margin:0;font-size:8px;line-height:10px}
 .route-details .customer-details label{margin:13px 0 5px;font-size:14px}
 .route-details .customer-details .name-row label{margin-top:10px}
 .route-details .customer-details label:has(textarea){margin-top:23px}
 .route-details .customer-details input,.route-details .customer-details select{height:43px}
 .route-details .customer-details textarea{height:72px;min-height:72px;max-height:none}
 .route-details .phone-row{grid-template-columns:106px 1fr;gap:12px}
 .route-details .customer-details .flow-actions{margin-top:19px;font-size:16px}
 .route-details .customer-details .flow-actions>.button{min-height:49px;width:265px;font-size:16px}
 .route-details .flow-summary{margin-top:63px;padding:8px 9px 20px;border-radius:6px}
 .route-details .flow-summary>img{height:203px;border-radius:4px}
 .route-details .flow-summary>h2,.route-details .flow-summary>p,.route-details .flow-summary dl,.route-details .flow-summary .total,.route-details .flow-summary .help-link{margin-left:15px;margin-right:15px}
 .route-review .flow-steps{margin-bottom:1px}
 .route-review .flow-heading h1{font-size:58px;margin-bottom:4px}
 .route-review .flow-heading{padding-left:32px;padding-bottom:7px}
 .route-review .review-booking,.route-review .updates-row,.route-review .payment-shell{margin-left:18px}
 .route-review .review-booking{padding:11px 18px 13px;border-radius:6px}
 .route-review .review-booking h2{font-size:30px;margin-bottom:5px}
 .route-review .booking-inline{align-items:flex-start;gap:22px}
 .route-review .booking-inline>img{height:95px;border-radius:5px}
 .route-review .booking-inline strong{font:500 20px/1.2 'DM Sans',sans-serif}
 .route-review .booking-inline p{margin:2px 0;line-height:1.4}
 .route-review .updates-row{padding:11px 18px;min-height:49px;align-items:center}
 .route-review .payment-shell{position:relative;padding:12px 20px 10px;border-radius:6px}
 .route-review .payment-shell h2{font-size:29px}
 .route-review .provider-warning{position:absolute;inset:1px 20px auto;margin:0;font-size:8px;line-height:9px}
 .route-review .payment-shell label{margin-top:7px}
 .route-review .provider-placeholder{height:37px;min-height:37px;font-size:14px}
 .route-review .payment-shell .flow-actions>.button{width:260px;min-height:46px;font-size:17px}
 .route-review .payment-shell .flow-actions{margin-top:11px}
 .route-review .flow-summary{margin-top:6px}
 .route-review .flow-summary h2{margin-bottom:4px}
 .route-review .flow-summary dl{margin:10px 0}
 .route-review .flow-summary dl>div{display:block;border:0;padding:4px 0}
 .route-review .flow-summary dt{display:none}
 .route-review .flow-summary dd{text-align:left}
 .route-review .before-pay{padding:18px 20px}
 .route-experiences{padding:24px 19px 18px 21px}
 .route-experiences .experience-heading h1{font-size:64px;letter-spacing:-1.7px;margin-top:4px}
 .route-experiences .experience-heading{padding-left:29px;padding-bottom:11px}
 .route-experiences .experience-heading>p:last-child{font-size:23px}
 .route-experiences .experience-grid{grid-template-columns:1.05fr 1fr .755fr;gap:15px}
 .route-experiences .experience-card{display:flex;flex-direction:column;min-height:466px;padding-top:18px}
 .route-experiences .experience-card>img{height:192px;margin-bottom:6px}
 .route-experiences .experience-card:first-child>img{content:url('images/badii-courtyard.jpg')}
 .route-experiences .experience-card:nth-child(2)>img{content:url('images/badii-arch.jpg')}
 .route-experiences .experience-card>h2{font-size:38px;margin-left:4px}
 .route-experiences .experience-card>p{font-size:16px;min-height:43px;line-height:1.35;margin:4px 0 12px 4px}
 .route-experiences .experience-card>div{margin:5px 3px 6px 4px;padding-left:4px;gap:20px;font-size:15px}
 .route-experiences .experience-card>div>.icon{width:26px;height:26px;stroke-width:2}
 .route-experiences .experience-card>div:first-of-type{padding-top:13px;margin-top:1px}
 .route-experiences .experience-card small{margin-top:auto;padding:14px 0 18px;font-size:11px}
 .route-experiences .experience-form>.button{margin-top:18px;min-height:51px;font-size:18px;border-radius:6px}
 .route-experiences .experience-form>.small{font-size:12px;margin-top:13px}
 .route-experiences .how-booking{padding:15px 20px}
 .route-experiences .how-booking h2{font-size:30px;letter-spacing:-.9px;white-space:nowrap}
 .route-experiences .how-booking>div{border-bottom:1px solid #c7c8c6;margin:20px 0;padding-bottom:14px;gap:20px}
 .route-experiences .how-booking>div:first-of-type{margin-top:25px}
 .route-experiences .how-booking>div:last-of-type{border-bottom:0;padding-bottom:0}
 .route-experiences .how-booking b{width:40px;height:40px;font-size:18px}
 .route-experiences .how-booking strong{font-size:16px}
 .route-experiences .how-booking p{font-size:14px;line-height:1.4;margin-top:6px}
}

@media(max-width:650px){
 .vm-page-tickets .booking-grid{padding-left:15px;padding-right:14px}
 .vm-page-tickets .steps{height:76px}
 .vm-page-tickets .tariff{grid-template-columns:1fr 134px;padding-left:15px;padding-right:10px}
 .vm-page-tickets .tariff:first-child{min-height:60px}
 .vm-page-tickets .quantity{gap:8px}
 .vm-page-tickets .quantity button{min-width:36px;height:38px}
 .vm-page-tickets .quantity output{min-width:46px;height:38px}
 .vm-page-tickets .booking-actions{margin-top:16px}
 .booking-review>.state-review-label{font-size:8.5px;letter-spacing:.1px}
 .route-details .flow-heading{padding:0 4px 0}
 .route-details .flow-heading h1:after{font-size:32px}
 .route-details .compact-visit{padding:7px 8px;margin-bottom:13px;border-radius:5px;min-height:60px}
 .route-details .compact-visit img{width:74px;height:46px}
 .route-details .customer-details{padding:0 4px}
 .route-details .customer-details label{font-size:13px;margin-top:9px}
 .route-details .customer-details input{height:34px;min-height:34px}
 .route-details .customer-details textarea{height:56px;min-height:56px;max-height:none;padding:8px 12px}
 .route-details .customer-details small{font-size:10px}
 .route-details .phone-row{grid-template-columns:85px 1fr;gap:9px}
 .route-details .customer-details .small{font-size:11px;line-height:1.25;margin-top:10px}
 .route-details .customer-details .flow-actions{margin-top:14px}
 .route-details .customer-details .flow-actions>.button{min-height:46px;font-size:16px}
 .route-review .flow-heading h1{font-size:35px}
 .route-review .flow-heading{padding-bottom:1px}
 .route-review .review-booking{padding:9px 14px}
 .route-review .booking-inline{gap:16px}
 .route-review .booking-inline>img{width:94px;height:73px}
 .route-review .booking-inline strong{font-size:14px}
 .route-review .booking-inline p{font-size:11px;line-height:1.4;margin:3px 0}
 .route-review .review-price-breakdown{margin-top:7px;padding-top:5px}
 .route-review .review-price-breakdown>div{margin-top:3px}
 .route-review .review-price-breakdown .total{margin-top:5px;padding-top:5px;font-size:22px}
 .route-review .payment-shell{padding:8px 13px}
 .route-review .payment-shell h2 small{display:block;font-size:11px;line-height:15px;margin:0}
 /* The always-visible page notice and disabled payment action disclose the
    specimen state; omit this repeated paragraph from the compact mobile card. */
 .route-review .provider-warning{display:none}
 .route-review .payment-shell label{font-size:12px;margin:4px 0 2px}
 .route-review .provider-placeholder{height:28px;min-height:28px;margin-top:1px}
 .route-review .payment-shell .terms-check{font-size:10px;margin:8px 0 4px}
 .route-review .payment-shell .flow-actions>.button{min-height:37px;padding:8px 10px}
 .route-review .payment-shell .flow-actions{margin:8px 0 6px}
 .route-review .flow-summary{display:block;padding:0;margin:0;border:0;background:none}
 .route-review .flow-summary>:not(.help-link){display:none}
 .route-review .flow-summary .help-link{display:flex;margin:12px 14px 0;font-size:13px;gap:8px}
 .route-review .before-pay{display:none}
 .route-experiences{padding-left:18px;padding-right:15px}
 .route-experiences .experience-heading{padding-bottom:8px}
 .route-experiences .experience-card{display:flex;flex-direction:column;margin-bottom:8px}
 .route-experiences .experience-card:first-child{min-height:285px}
 .route-experiences .experience-card:nth-child(2){min-height:252px}
 .route-experiences .experience-card>img{width:calc(100% - 30px);margin-bottom:4px}
 .route-experiences .experience-card:nth-child(2)>img{width:100%}
 .route-experiences .experience-card>h2{font-size:29px;line-height:1}
 .route-experiences .experience-card>p{font-size:14px;line-height:1.25;margin:3px 0 4px}
 .route-experiences .experience-card:first-child>p{font-size:15px}
 .route-experiences .experience-card>div{margin:7px 0;font-size:14px}
 .route-experiences .experience-card small{font-size:11px;line-height:14px;padding:6px 0;margin-top:auto}
}

/* Board-specific photographs preserve the approved scene instead of sharing
   one generic garden image between distinct booking screens. */
.route-details .flow-summary>img{content:url('images/badii-courtyard.jpg')}
.route-review .flow-summary>img{content:url('images/badii-courtyard.jpg')}
.route-review .booking-inline>img{content:url('images/badii-courtyard.jpg')}
.route-experiences .experience-card:nth-child(2)>div>.icon{background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071b32' stroke-width='1.7'%3E%3Cpath d='M2 7 12 2l10 5H2Zm2 3h16M5 10v10m5-10v10m4-10v10m5-10v10M2 22h20'/%3E%3C/svg%3E")}
.route-experiences .experience-card:nth-child(2)>div>.icon>*{visibility:hidden}

/* Mobile concept and bank challenge: match the supplied card envelopes while
   retaining pending tariffs, the visible specimen notice and disabled actions. */
@media(max-width:650px){
 .route-booking-concept .booking-grid{padding-left:9px;padding-right:9px}
 .route-booking-concept .steps{height:78px;padding-left:18px;padding-right:18px}
 .route-booking-concept .steps:before{left:18px}
 .route-booking-concept .ticket-card{padding:12px 16px 13px;border-radius:7px}
 .route-booking-concept .tariff{min-height:49px;padding:4px 14px;grid-template-columns:1fr 113px}
 .route-booking-concept .tariff-name{font-size:14px;line-height:1.2;font-weight:400}
 .route-booking-concept .tariff-price{font-size:14px;line-height:1.25}
 .route-booking-concept .quantity{gap:6px}
 .route-booking-concept .quantity button{min-width:31px;height:33px}
 .route-booking-concept .quantity output{min-width:37px;height:33px}
 .route-booking-concept .mobile-total{margin:14px 0 0;padding-top:11px}
 .route-booking-concept .ticket-card>p.mobile-price-note{margin:6px 0 0;font-size:11px}
 .route-booking-concept .booking-actions{margin-top:10px}
 .route-booking-concept .booking-actions .button{min-height:48px;font-size:16px}
 .route-booking-concept .ticket-card .small{margin:12px 12px 0;font-size:12px;line-height:1.35}

 .route-bank-verification{padding-left:9px;padding-right:9px}
 .route-bank-verification .flow-heading{padding-left:17px;padding-right:5px;padding-bottom:11px}
 .route-bank-verification .flow-heading h1{font-size:32px;letter-spacing:-1.1px}
 .route-bank-verification .flow-steps{height:86px;margin:0 19px 12px;padding:21px 0 35px;counter-reset:bank-step}
 .route-bank-verification .flow-steps:before{font-size:14px}
 .route-bank-verification .flow-steps>span{counter-increment:bank-step}
 .route-bank-verification .flow-steps b{width:25px;height:25px;font-size:14px}
 .route-bank-verification .flow-steps>span:after{content:counter(bank-step);position:absolute;top:29px;left:50%;transform:translateX(-50%);font-size:12px}
 .route-bank-verification .flow-steps em{display:block;position:absolute;top:47px;left:50%;transform:translateX(-50%);font-size:12px}
 .route-bank-verification .flow-steps i{background:#b7a575}
 .route-bank-verification .bank-explainer{margin:0;border-bottom:0;border-radius:7px 7px 0 0;padding:18px 18px 11px}
 .route-bank-verification .bank-explainer>.icon{width:50px;height:50px;display:block;margin:auto}
 .route-bank-verification .bank-explainer p{font-size:15px;line-height:20px;margin:10px auto 9px;max-width:240px}
 .route-bank-verification .bank-explainer>div{font-size:14px;line-height:21px;padding-top:12px}
 .route-bank-verification .processing-card{position:relative;border-top:0;border-radius:0 0 7px 7px;padding:18px 12px 15px}
 .route-bank-verification .processing-card:before{content:'';position:absolute;left:12px;right:12px;top:0;height:161px;border:1px solid #ece7dc;border-radius:7px;background:#faf8f1}
 .route-bank-verification .processing-card>*{position:relative}
 .route-bank-verification .bank-icon{line-height:0}
 .route-bank-verification .bank-icon>.icon{width:100px;height:67px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 70' fill='none' stroke='%23987a2e' stroke-width='2'%3E%3Crect x='1' y='1' width='98' height='67' rx='5'/%3E%3Cpath d='M1 18h98'/%3E%3Ccircle cx='10' cy='9' r='1.8'/%3E%3Ccircle cx='20' cy='9' r='1.8'/%3E%3Ccircle cx='30' cy='9' r='1.8'/%3E%3Crect x='42' y='39' width='17' height='17' rx='2'/%3E%3Cpath d='M46 39v-5a4.5 4.5 0 0 1 9 0v5m-4.5 7v4'/%3E%3C/svg%3E")}
 .route-bank-verification .bank-icon>.icon>*{visibility:hidden}
 .route-bank-verification .processing-card h2{font-size:26px;line-height:27px;margin:10px 0 5px}
 .route-bank-verification .processing-card p{font-size:15px;line-height:21px}
 .route-bank-verification .processing-card .button{margin-top:28px;min-height:48px;font-size:15px}
 .route-bank-verification .processing-card a{font-size:14px;line-height:20px;margin-top:11px}
 .route-bank-verification .status-footnote{border-top:0;margin:0;padding:9px 12px 0;font-size:10px;line-height:14px;text-align:center}
}
