/* v2.3.2 booking composition over current native forms and Carveoo typography.
   Scoped to Guest vehicle/booking pages; no Host/Admin or policy selectors. */
body.cv-guest-ui.cv-context-booking{--cv-border:#e8e2d6;--cv-sand:#faf8f3;background:#faf8f3!important}
body.cv-guest-ui .cv-account-journey{max-width:1184px;padding:36px 32px 56px}
body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__layout{grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:28px}
body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__form-card{padding:36px;border:1px solid #e8e2d6;border-radius:22px;box-shadow:0 18px 50px #1118200d}
body.cv-guest-ui .cv-account-journey .cv-account-eyebrow{display:block;margin:0 0 9px;color:#95712e;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.cv-guest-ui .cv-account-journey .cv-account-heading h1{font-size:34px;line-height:1.2;margin-bottom:12px}
body.cv-guest-ui .cv-account-journey .cv-account-heading p{font-size:14px;line-height:1.65;margin-bottom:26px}
body.cv-guest-ui .cv-account-journey .hp-form__fields{gap:17px}
body.cv-guest-ui .cv-account-journey .hp-form__field input:not([type=checkbox]):not([type=hidden]),
body.cv-guest-ui .cv-account-journey .hp-form__field select{height:54px;min-height:54px;border-radius:12px;border-color:#ded8cc;font-size:15px}
body.cv-guest-ui .cv-account-journey .select2-container .select2-selection--single{height:54px;border-radius:12px;border-color:#ded8cc}
body.cv-guest-ui .cv-account-journey .select2-container .select2-selection__rendered{line-height:52px}
body.cv-guest-ui .cv-account-journey .select2-container .select2-selection__arrow{height:52px}
body.cv-guest-ui .cv-account-journey button[type=submit],body.cv-guest-ui .cv-account-journey .cv-account-primary{min-height:52px;border-radius:999px!important;font-weight:750}
body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__summary{position:sticky;top:24px;padding:28px;border:1px solid #27333c;border-radius:22px;background:#111820;color:#fff;box-shadow:0 18px 50px #11182014}
body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__summary>.cv-account-eyebrow{color:#e6d4a3}
body.cv-guest-ui .cv-account-journey .cv-account-summary-heading{margin:0 0 20px;font-size:25px;font-weight:700;color:#fff!important}
body.cv-guest-ui .cv-account-journey .cv-account-vehicle{display:block}
body.cv-guest-ui .cv-account-journey .cv-account-vehicle img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:15px}
body.cv-guest-ui .cv-account-journey .cv-account-vehicle h3{margin:18px 0 16px;font-size:21px;line-height:1.3;color:#fff!important}
body.cv-guest-ui .cv-account-journey .cv-account-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.cv-guest-ui .cv-account-journey .cv-account-dates>div{min-width:0;border:1px solid #ffffff26;border-radius:11px;padding:12px;background:#ffffff0d}
body.cv-guest-ui .cv-account-journey .cv-account-dates span{display:block;margin-bottom:5px;color:#bac4cf;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
body.cv-guest-ui .cv-account-journey .cv-account-dates time{font-size:12px;font-weight:650;color:#fff}
body.cv-guest-ui .cv-account-journey .cv-account-total{border-color:#ffffff26;font-size:13px}
body.cv-guest-ui .cv-account-journey .cv-account-total strong{font-size:24px;color:#fff!important}
body.cv-guest-ui .cv-account-journey .cv-account-deposit{color:#bac4cf}
body.cv-guest-ui .cv-account-journey .cv-account-details{border-color:#ffffff26}
body.cv-guest-ui .cv-account-journey .cv-account-details summary{color:#fff}
body.cv-guest-ui .cv-account-journey .cv-account-details-body h3{color:#fff!important;font-size:12px}
body.cv-guest-ui .cv-account-journey .cv-account-summary-row{border-bottom:1px solid #ffffff14;color:#bac4cf;gap:12px}
body.cv-guest-ui .cv-account-journey .cv-account-summary-row :is(dd,strong){color:#fff!important;overflow-wrap:anywhere;max-width:65%}
body.cv-guest-ui .cv-account-journey .cv-account-edit{color:#e6d4a3;min-height:44px;line-height:44px}
body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__summary :is(a,summary):focus-visible{outline-color:#e6d4a3}
/* Reuse the original centered review canvas and two-column checkout. */
body.cv-guest-ui.cv-context-booking :is(.carveoo-review-v7__card,.carveoo-checkout-summary-shell,.carveoo-final-payment-shell,#customer_details){border-color:#e8e2d6!important;border-radius:22px!important;box-shadow:0 14px 36px #11182008!important}
body.cv-guest-ui.cv-context-booking :is(.carveoo-review-v7__vehicle,.carveoo-confirmation-v3__vehicle){border-radius:18px}
body.cv-guest-ui.cv-context-booking :is(.cv-booking-review-primary-action,#place_order){border-radius:999px!important;min-height:52px}
body.cv-guest-ui.cv-context-booking :is(.carveoo-checkout-intro,.carveoo-confirmation-v3){max-width:1120px;margin-inline:auto}
body.cv-guest-ui.cv-context-booking :is(.carveoo-checkout-intro h1,.carveoo-confirmation-v3__hero h1){font-size:36px!important;line-height:1.2!important}
@media(min-width:901px){
 body.cv-guest-ui .cv-account-journey .cv-account-details>summary{display:none}
}
@media(max-width:900px){
 body.cv-guest-ui .cv-account-journey{padding:26px 22px 40px}
 body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__layout{grid-template-columns:minmax(0,1fr);gap:22px}
 body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__summary{position:static;grid-row:1;padding:22px}
 body.cv-guest-ui .cv-account-journey .cv-account-summary-heading{font-size:20px;margin-bottom:16px}
 body.cv-guest-ui .cv-account-journey .cv-account-vehicle{display:flex;gap:16px;align-items:center}
 body.cv-guest-ui .cv-account-journey .cv-account-vehicle img{width:100px;max-width:30%;height:78px;aspect-ratio:auto;flex:none;border-radius:10px}
 body.cv-guest-ui .cv-account-journey .cv-account-vehicle>div{flex:1;min-width:0}
 body.cv-guest-ui .cv-account-journey .cv-account-vehicle h3{font-size:17px;margin:0 0 10px}
 body.cv-guest-ui .cv-account-journey .cv-account-dates{gap:12px}
 body.cv-guest-ui .cv-account-journey .cv-account-dates>div{border:0;padding:0;background:none}
 body.cv-guest-ui .cv-account-journey .cv-account-dates span{font-size:9px;margin-bottom:2px}
 body.cv-guest-ui .cv-account-journey .cv-account-dates time{font-size:11px}
 body.cv-guest-ui .cv-account-journey .cv-account-total{padding-top:14px;margin-top:16px}
 body.cv-guest-ui .cv-account-journey .cv-account-total strong{font-size:21px}
 body.cv-guest-ui .cv-account-journey .cv-account-details{margin-top:14px}
}
@media(max-width:599px){
 body.cv-guest-ui .cv-account-journey{padding:20px 16px 32px}
 body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__form-card{padding:24px 18px;border-radius:18px}
 body.cv-guest-ui .cv-account-journey .carveoo-complete-booking__summary{padding:20px 18px;border-radius:18px}
 body.cv-guest-ui .cv-account-journey .cv-account-heading h1{font-size:29px}
 body.cv-guest-ui .cv-account-journey .hp-form__fields{gap:16px}
 body.cv-guest-ui .cv-account-journey .cv-account-vehicle{gap:12px}
 body.cv-guest-ui .cv-account-journey .cv-account-vehicle img{width:70px;height:64px}
 body.cv-guest-ui .cv-account-journey .cv-account-vehicle h3{font-size:15px}
 body.cv-guest-ui .cv-account-journey .cv-account-dates{gap:8px}
 body.cv-guest-ui .cv-account-journey .cv-account-deposit{font-size:11px;gap:8px}
 body.cv-guest-ui.cv-context-booking :is(.carveoo-checkout-intro h1,.carveoo-confirmation-v3__hero h1){font-size:30px!important}
}

/* V08: exact missing-trip state; valid trip and checkout layouts stay untouched. */
body.cv-guest-ui .cv-account-journey.cv-account-journey--missing .carveoo-complete-booking__layout{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto;gap:20px}
body.cv-guest-ui .cv-account-journey.cv-account-journey--missing .carveoo-complete-booking__form-card{display:flex;flex-direction:column;grid-row:1;padding:28px}
body.cv-guest-ui .cv-account-journey.cv-account-journey--missing .cv-account-alert:not([hidden]){order:-1;margin:0 0 24px;padding:18px;border-radius:10px;font-size:16px;line-height:1.6;border-left:4px solid #8b3c3c}
body.cv-guest-ui .cv-account-journey.cv-account-journey--missing .carveoo-complete-booking__summary{grid-row:2;position:static;background:#fff;color:var(--cv-ink);border:1px solid var(--cv-border);box-shadow:none;padding:24px;border-radius:16px}
body.cv-guest-ui .cv-account-journey.cv-account-journey--missing .carveoo-complete-booking__summary :is(h2,h3,strong,span,a,summary,time){color:var(--cv-ink)!important}
body.cv-guest-ui .cv-account-journey.cv-account-journey--missing .cv-account-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 18px;border-radius:10px!important}
@media(max-width:599px){body.cv-guest-ui .cv-account-journey.cv-account-journey--missing .carveoo-complete-booking__form-card{padding:22px 18px}}
