/* A compact, branded checkout with an accessible guest-first flow. */
body.refined-checkout #payment.stripe-demo{max-width:1140px;width:calc(100% - 40px);max-height:94dvh;border-radius:30px;background:#100f17!important;box-shadow:0 30px 100px #0009}
.refined-checkout #payment .stripe-banner{font-size:10px;letter-spacing:.2px;text-transform:none;background:#151720;color:#b2c9cf;padding:14px 60px 14px 24px;min-height:44px;text-align:left}
.refined-checkout #payment .stripe-layout{grid-template-columns:minmax(290px,.74fr) minmax(0,1.26fr);min-height:660px}
.refined-checkout #payment .stripe-summary{padding:30px;position:relative;background:radial-gradient(ellipse at top left,#64488a35,transparent 65%),#17131f;border-color:#ffffff0c}
.refined-checkout #payment .stripe-form{padding:30px 38px 24px;background:#100f17;min-width:0}
.refined-checkout #payment .stripe-merchant{margin-bottom:26px}
.refined-checkout #payment .stripe-merchant img{width:142px;height:auto;max-height:65px;object-fit:contain}
.refined-checkout #payment .stripe-kicker{display:none}
.refined-checkout #payment h2{font-size:33px!important;line-height:1.12!important;letter-spacing:-1px!important;margin-bottom:22px!important}
.refined-checkout #payment h3{font-size:27px!important;line-height:1.2!important;letter-spacing:-.7px!important;margin:10px 0 14px!important}
.refined-checkout #payment .checkout-chosen-car{font-size:13px;color:#bce6dc;margin:18px 0}
.refined-checkout #payment .checkout-selection li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:17px 0;font-size:12px;line-height:1.55}
.refined-checkout #payment .checkout-selection li.no-thumbnail{grid-template-columns:minmax(0,1fr) auto}
.refined-checkout #payment .checkout-selection img{width:48px;height:48px;object-fit:cover;border-radius:12px;background:#fff}
.refined-checkout #payment .checkout-selection li strong{font-weight:650;color:#faf6ff}
.refined-checkout #payment .stripe-amount{font-size:34px;margin:24px 0 2px}
.refined-checkout #payment .stripe-due-label{margin-bottom:20px;font-size:12px}
.refined-checkout #payment .stripe-breakdown{font-size:12px;gap:14px;line-height:1.5;padding:22px 0;margin:15px 0}
.refined-checkout #payment .stripe-breakdown dd{font-weight:600}
.refined-checkout #payment .stripe-breakdown dt:first-child,.refined-checkout #payment .stripe-breakdown dd:nth-child(2){font-size:15px;color:#f6edff}
.refined-checkout #payment .stripe-bottom{margin-top:24px;padding-top:20px;font-size:10px;letter-spacing:1px;color:#a39aac}
.refined-checkout #payment .stripe-bottom a{display:block;font:12px/1.6 OpenSans,Arial;color:#c6b0df;letter-spacing:0;text-transform:none;margin-top:9px;text-decoration:none}
.refined-checkout #payment .stripe-text{min-height:38px;display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:6px 0;margin-top:8px;color:#cbb0ee}
.refined-checkout #payment .checkout-order>summary{display:none;list-style:none}
.checkout-order>summary::-webkit-details-marker{display:none}
.refined-checkout #payment .checkout-progress{display:flex;align-items:center;gap:18px;list-style:none;margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid #ffffff12;color:#857d95;font-size:12px}
.checkout-progress li{display:flex;align-items:center;gap:8px;white-space:nowrap}
.checkout-progress li>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#ffffff06;border:1px solid #ffffff15;font-size:11px}
.checkout-progress li.is-active{color:#f3e8ff}.checkout-progress li.is-active>span{background:#a781dc;color:#130d20;border-color:#a781dc;font-weight:700}
.checkout-progress li.is-complete{color:#9dd8cc}.checkout-progress li.is-complete>span{background:#223b36;color:#b6eddf;border-color:#487469}
.refined-checkout #payment .checkout-eyebrow{display:none}
.refined-checkout #payment .visit-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.refined-checkout #payment #checkout-account-choice{font-size:11px;white-space:nowrap;color:#b29bc9;min-height:40px;margin:0}
.refined-checkout #payment .visit-back{margin:0 0 4px!important}
.refined-checkout #payment .visit-intro{font-size:13px;color:#b6aec2;margin:0 0 12px}
.refined-checkout #payment .visit-demo-note{font-size:11px;line-height:1.6;padding:10px 13px;margin:12px 0 18px;border-radius:12px;background:#a075ce08;color:#b2a2c3}
.refined-checkout #payment .visit-hours{margin:18px 0;gap:8px}
.refined-checkout #payment .visit-hours>span{padding:11px 12px 11px 43px;border-radius:15px;font-size:11px;background:#ffffff03}
.refined-checkout #payment .visit-calendar{border-radius:22px;padding:20px;background:linear-gradient(145deg,#201829,#14151f);border-color:#b69bd62c}
.refined-checkout #payment .visit-calendar-heading{grid-template-columns:40px 1fr 40px;margin-bottom:14px}
.refined-checkout #payment .visit-calendar-heading button{width:40px;height:40px;border-radius:13px}
.refined-checkout #payment .visit-days>button{font-size:13px;border-radius:12px;min-height:38px;aspect-ratio:auto;height:42px}
.refined-checkout #payment .visit-times{margin:24px 0}
.refined-checkout #payment .visit-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.refined-checkout #payment .visit-time{border-radius:14px;padding:13px 7px;min-height:55px}
.refined-checkout #payment .visit-time span{font-size:10px}
.refined-checkout #payment .visit-itinerary{border-radius:18px;padding:16px 18px;margin:20px 0;background:#1a2d2a}
.refined-checkout #payment .visit-itinerary ol{margin:8px 0 0}
.refined-checkout #payment .visit-address{padding-top:25px;margin-top:26px}
.refined-checkout #payment .visit-section-kicker{display:none}
.refined-checkout #payment .visit-coverage{font-size:12px;margin-bottom:20px}
.refined-checkout #payment .visit-fields{gap:18px 14px}
.refined-checkout #payment .visit-fields label{font-size:12px;color:#c9bed6}
.refined-checkout #payment .visit-fields input,.refined-checkout #payment .visit-fields textarea{font-size:15px;line-height:1.5;min-height:48px;border-radius:12px;padding:12px 14px;border-color:#b29acb38;background:#ffffff04!important}
.refined-checkout #payment .visit-fields input::placeholder,.refined-checkout #payment .visit-fields textarea::placeholder{color:#8d829a}
.refined-checkout #payment .visit-extra-details{grid-column:1/-1;border:1px solid #b29acb25;border-radius:15px;padding:0 14px;margin:2px 0 0;background:#ffffff02}
.refined-checkout #payment .visit-extra-details summary{padding:14px 0;cursor:pointer;font-size:12px;color:#bba6d0;min-height:44px}
.refined-checkout #payment .visit-extra-fields{display:grid;gap:16px;padding:4px 0 16px}
.refined-checkout #payment .visit-parking{font-size:12px;line-height:1.6;padding:16px;border-radius:15px}
.refined-checkout #payment .stripe-pay{border-radius:15px;min-height:52px;padding:15px 18px;font-size:14px;background:linear-gradient(105deg,#976bd3,#b58be9);color:#fff;box-shadow:inset 0 1px #ffffff24}
.refined-checkout #payment .checkout-methods{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 20px}
.refined-checkout #payment .checkout-methods legend{font-size:12px;margin-bottom:12px}
.refined-checkout #payment .checkout-methods label{flex-wrap:wrap;position:relative;align-items:center;padding:18px 16px;min-height:134px;border-radius:19px;gap:14px;background:#ffffff03;border:1px solid #aa8ac03d}
.refined-checkout #payment .checkout-methods label>span:not(.method-icon){width:100%;gap:7px}
.refined-checkout #payment .checkout-methods input{position:absolute;top:18px;right:15px}
.refined-checkout #payment .checkout-methods .method-icon{width:28px;height:28px;color:#b9a4d5}
.refined-checkout #payment .checkout-methods strong{font-size:14px}.refined-checkout #payment .checkout-methods small{font-size:11px;line-height:1.5}
.refined-checkout #payment .checkout-methods label:has(input:checked){border-color:#b88ae8;background:linear-gradient(135deg,#7f53b82b,#37204844);box-shadow:0 0 0 1px #b88ae82b}
.refined-checkout #payment #pay-in-person-note{border-radius:18px;padding:18px;margin:18px 0;background:linear-gradient(110deg,#18332c,#162126);border-color:#9bdec62b}
.refined-checkout #payment #pay-in-person-note p{margin-top:6px;font-size:12px;line-height:1.6}
.refined-checkout #payment #payment-visit-review,.refined-checkout #payment #confirmed-visit-details{font-size:13px;line-height:1.6;border-radius:18px;margin:20px 0;padding:18px;background:#ffffff03}
.refined-checkout #payment #payment-visit-review p,.refined-checkout #payment #confirmed-visit-details p{margin:7px 0}
.refined-checkout #payment .online-payment-preview{border-radius:18px;margin:18px 0;padding:18px;background:#ffffff02}
.refined-checkout #payment .online-payment-preview summary{font-size:13px;min-height:28px}
.refined-checkout #payment .online-payment-preview .profile-preview-note{font-size:12px;line-height:1.7;color:#b8a8c9}
.refined-checkout #payment .stripe-options label{border-radius:14px;padding:16px 12px;min-height:76px}
.refined-checkout #payment .stripe-options label span{gap:8px;font-size:12px}
.refined-checkout #payment .stripe-options strong{font-size:19px}
.refined-checkout #payment .checkout-submit-bar{position:sticky;bottom:-24px;background:linear-gradient(0deg,#100f17 90%,#100f1700);padding:15px 0 20px;z-index:3;margin-top:18px}
.refined-checkout #payment .checkout-submit-bar .stripe-safe{font-size:11px;line-height:1.6;margin:12px 3px 0;color:#aa9bb8}
.refined-checkout #payment .stripe-error:empty{display:none}.refined-checkout #payment .stripe-error{font-size:13px;color:#ffb1c0;line-height:1.5}
.refined-checkout #payment .stripe-confirmation{border-radius:20px;padding:22px}
.refined-checkout #payment .stripe-check{margin:20px 0 30px}
.refined-checkout #payment .booking-email-status{background:#17312b;color:#c1e4d9;border-color:#42695c}
.refined-checkout #payment .booking-email-status[data-state=error]{background:#34271e;color:#efcea9;border-color:#765b3b}
.refined-checkout #payment :is(button,input,summary,a):focus-visible{outline:2px solid #a2e2d7!important;outline-offset:4px}
.refined-checkout #payment [hidden]{display:none!important}
@media(min-width:701px){.refined-checkout #payment .checkout-order{position:sticky;top:72px}.refined-checkout #payment[data-checkout-stage=visit] .stripe-amount,.refined-checkout #payment[data-checkout-stage=visit] .stripe-due-label{display:none}}
@media(max-width:900px) and (min-width:701px){.refined-checkout #payment .stripe-summary{padding:24px}.refined-checkout #payment .stripe-form{padding:26px}.refined-checkout #payment .stripe-layout{grid-template-columns:38% 62%}.refined-checkout #payment .checkout-selection li{grid-template-columns:minmax(0,1fr) auto}.refined-checkout #payment .checkout-selection img{display:none}}
@media(max-width:700px){
 body.refined-checkout #payment.stripe-demo{width:calc(100% - 16px);max-height:96dvh;border-radius:24px}
 .refined-checkout #payment .stripe-layout{display:block;min-height:0}
 .refined-checkout #payment .stripe-banner{padding:11px 52px 11px 18px;font-size:9px;min-height:46px}
 .refined-checkout #payment .stripe-summary{padding:0 20px;border-bottom:1px solid #b18bd125}
 .refined-checkout #payment .checkout-order>summary{display:flex;align-items:center;gap:12px;padding:18px 0;min-height:64px;cursor:pointer;font-size:13px;color:#f2e7ff}
 .checkout-order>summary>span:first-child{flex:1}.checkout-order>summary small{font-size:10px;color:#b2a2c1;margin-left:5px}
 .checkout-order>summary>strong{font-size:19px;letter-spacing:-.5px}.order-chevron{color:#b69acc;font-size:20px}
 .checkout-order[open] .order-chevron{rotate:180deg}
 .refined-checkout #payment .checkout-order-content{padding:0 0 14px}
 .refined-checkout #payment .stripe-merchant,.refined-checkout #payment #payment-title,.refined-checkout #payment .stripe-bottom{display:none}
 .refined-checkout #payment .checkout-chosen-car{margin:8px 0 14px}
 .refined-checkout #payment .stripe-amount{font-size:26px;margin-top:18px}
 .refined-checkout #payment .stripe-form{padding:22px 20px 18px}
 .refined-checkout #payment .checkout-progress{gap:17px;margin-bottom:18px;padding-bottom:18px;font-size:11px}
 .checkout-progress li{gap:6px}.checkout-progress li>span{width:24px;height:24px;font-size:10px}
 .refined-checkout #payment h3{font-size:25px!important}
 .refined-checkout #payment .visit-heading{align-items:start;gap:8px;flex-wrap:wrap}.refined-checkout #payment #checkout-account-choice{font-size:11px}
 .refined-checkout #payment .visit-calendar{padding:16px}
 .refined-checkout #payment .visit-days{gap:3px}.refined-checkout #payment .visit-days>button{height:38px;min-height:38px}
 .refined-checkout #payment .visit-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .refined-checkout #payment .visit-fields{grid-template-columns:1fr;gap:17px}
 .refined-checkout #payment .visit-fields input,.refined-checkout #payment .visit-fields textarea{font-size:16px}
 .refined-checkout #payment .checkout-methods{gap:10px}.refined-checkout #payment .checkout-methods label{padding:17px 13px;min-height:136px}
 .refined-checkout #payment .checkout-methods strong{font-size:13px}.refined-checkout #payment .checkout-methods small{font-size:11px}
 .refined-checkout #payment .checkout-submit-bar{bottom:-18px;padding-bottom:20px}
 .refined-checkout #payment .stripe-pay{font-size:13px;min-height:52px}
}
@media(max-width:360px){.refined-checkout #payment .stripe-form{padding:20px 16px}.refined-checkout #payment .stripe-summary{padding-inline:16px}.refined-checkout #payment .checkout-progress{gap:13px}.checkout-order>summary small{display:block;margin:3px 0 0}.refined-checkout #payment .visit-calendar{padding:12px}.refined-checkout #payment .visit-hours>span{padding:12px 12px 12px 40px}.refined-checkout #payment .stripe-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.refined-checkout #payment *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
