/* Site-owned checkout layout; Stripe handles the secure payment fields. */
.price-v3 #payment-panel{padding:0;margin:0}
.price-v3 #payment-panel h3{font:800 25px/1.3 Manrope,sans-serif;letter-spacing:-.7px;margin:0 0 8px}
.price-v3 .payment-intro{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 24px}
.price-v3 .v3-payment-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-block:1px solid var(--line);margin-bottom:14px}
.price-v3 .v3-payment-total>span{font-size:17px;font-weight:600}
.price-v3 .v3-payment-total strong{font:800 30px/1.3 Manrope,sans-serif;white-space:nowrap}
.price-v3 .payment-email{font-size:13px;color:var(--muted);overflow-wrap:anywhere;margin:0 0 24px}
.price-v3 #payment-element{min-height:180px}
.price-v3 #stripe-payment-form .booking-button{width:100%;justify-content:center;margin-top:24px}
.price-v3 #payment-error{font-size:14px;line-height:1.5;padding:12px;border:1px solid #b42318;border-radius:7px;background:#fff8f7;color:#b42318;margin:16px 0 0}
.price-v3 #stripe-payment-form .checkout-note{text-align:center}
@media(max-width:700px){.price-v3 #payment-panel h3{font-size:24px}.price-v3 .v3-payment-total strong{font-size:28px}}
.price-v3 .quote-card:has(#payment-panel:not([hidden])){padding:30px;margin-inline:0;width:100%}
.price-v3 #payment-panel>:is(#payment-heading,p){margin-left:0;margin-right:0}
.price-v3 #payment-heading:focus{outline:none}
@media(max-width:700px){.price-v3 .quote-card:has(#payment-panel:not([hidden])){padding:22px}}

.price-v3 .freepad-offer{display:flex;align-items:center;gap:16px;text-align:left;padding:18px;border:1px solid #0d8cff;border-radius:14px;margin:22px auto 0;max-width:600px;background:#f0f9ff}
.price-v3 .freepad-offer svg{width:36px;height:36px;flex:0 0 36px;color:#0d8cff}
.price-v3 .freepad-offer strong{font:800 18px/1.35 Manrope,sans-serif}
.price-v3 .freepad-offer p{font-size:13px;line-height:1.5;color:var(--muted);margin:5px 0 0}
.price-v3 .freepad-choice{padding:16px;background:#f0f9ff;border:1px solid #b9dfff;border-radius:10px}
.price-v3 .freepad-choice span{min-width:0;flex:1}
.price-v3 .freepad-choice small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:6px}
.price-v3 .payment-breakdown>div{display:flex;justify-content:space-between;gap:16px;font-size:15px;padding:8px 0}
.price-v3 .payment-breakdown strong{white-space:nowrap;font-weight:600}
@media(max-width:700px){.price-v3 .freepad-offer{gap:12px;padding:14px;margin-top:18px}.price-v3 .freepad-offer strong{font-size:16px}.price-v3 .freepad-offer svg{width:30px;height:30px;flex-basis:30px}}

.price-v3 .freepad-offer{position:relative}
.price-v3 .freepad-ending{position:absolute;top:0;right:16px;transform:translateY(-50%);padding:4px 14px;border:3px solid #fff;border-radius:999px;background:#0d8cff;color:#fff;font:700 13px/1.4 Manrope,sans-serif;white-space:nowrap}

/* Homepage keeps its original content; only active checkout steps take focus. */
.home-v3-checkout .clean-booking{min-width:0}
.home-v3-checkout textarea{display:block;width:100%;font:inherit;font-size:16px;min-height:90px;border:1px solid #b6cbdd;border-radius:5px;background:#fff;padding:13px;margin-top:6px;color:var(--ink);resize:vertical}
.home-v3-checkout .form-grid .full{grid-column:1/-1}
.home-v3-checkout:has(.details-step,#payment-panel:not([hidden]))> :is(.announcement,header,.site-footer-area){display:none}
.home-v3-checkout:has(.details-step,#payment-panel:not([hidden])) main> :not(#home-booking){display:none}
.home-v3-checkout:has(.details-step,#payment-panel:not([hidden])) #home-booking{display:block;max-width:680px;padding-top:24px;padding-bottom:24px;min-height:100dvh}
.home-v3-checkout:has(.details-step,#payment-panel:not([hidden])) .booking-intro{display:none}
.home-v3-checkout .details-step .form-grid{gap:18px}
@media(max-width:700px){.home-v3-checkout .details-step .form-grid{grid-template-columns:1fr}}

.home-v3-checkout .calculator-help{font-size:12px;line-height:1.7;color:var(--muted);padding:16px 6px 0}
.home-v3-checkout .calculator-help>p{display:none}
.home-v3-checkout .calculator-help a{font-size:12px;text-decoration:underline;text-underline-offset:3px}

.home-v3-checkout #address-check-form{margin:18px 0 4px}
.home-v3-checkout #address-check-form label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.home-v3-checkout #service-address{display:block;width:100%;font:inherit;font-size:16px;min-height:50px;background:#fff;border:1px solid #b6cbdd;border-radius:7px;padding:12px}
.home-v3-checkout #address-check-form .button{margin-top:12px;font-size:14px;justify-content:center;min-height:48px}
.home-v3-checkout #address-check-help{font-size:12px;line-height:1.6;margin:12px 0}
.home-v3-checkout .address-result{padding:15px;border:1px solid #c9dceb;border-radius:8px;font-size:13px;line-height:1.65;background:#f1f7fc}
.home-v3-checkout .address-result strong,.home-v3-checkout .address-result span{display:block}
.home-v3-checkout .address-result.is-served{background:#edf8f1;border-color:#a9d5b7;color:#245637}
.home-v3-checkout .address-result.not-served,.home-v3-checkout .address-result.needs-correction{background:#fff7ed;border-color:#ecd2ad;color:#754913}
@media(max-width:700px){.home-v3-checkout #address-check-form .button{width:100%}}

/* Show real cleaning examples and reviews immediately after the calculator. */
.price-v3 .landing-proof-grid>.rug-gallery{order:2}
.price-v3 .landing-proof-grid>.customer-reviews{order:3;width:100%;border-radius:16px}
.price-v3 .landing-proof-grid>.price-examples{order:4}
.price-v3 .landing-proof-grid>.trust-section{order:5}
.price-v3 .landing-proof-grid>.customer-reviews .reviews-heading{width:calc(100% - 40px)}

.price-v3 .landing-proof-grid>.landing-wash-video{order:1;width:min(400px,100%)}
.price-v3 .landing-wash-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:16px;background:#12334c}
.price-v3:has(#booking-form.details-step:not([hidden]),#payment-panel:not([hidden])) .landing-wash-video{display:none}

/* Give the pricing reassurance its own space below the comparison table. */
.price-v3 .price-examples .table-scroll+.price-promise{margin-top:24px}

/* The video itself toggles playback; controls stay below the picture. */
.price-v3 .landing-wash-video video{cursor:pointer}
.price-v3 .landing-wash-video video:focus-visible{outline:3px solid #0d8cff;outline-offset:4px}
.wash-video-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:12px;color:var(--muted)}
.wash-video-controls[hidden]{display:none}
.wash-video-sound{min-height:44px;padding:8px 12px;border:1px solid #b6cbdd;border-radius:8px;background:#fff;color:#12334c;font:600 13px/1.4 Manrope,sans-serif;cursor:pointer}
.wash-video-sound:focus-visible{outline:3px solid #0d8cff;outline-offset:3px}
.wash-video-status{margin:12px 0 0;padding:12px;background:#fff;color:#12334c;border-radius:8px;font-size:14px}
.rug-photo-open{display:block;position:relative;cursor:zoom-in}
.photo-enlarge-hint{position:absolute;right:10px;bottom:10px;padding:6px 10px;background:#12334ce8;color:#fff;border-radius:6px;font:600 12px/1.4 Manrope,sans-serif}
.rug-photo-dialog{box-sizing:border-box;width:min(1100px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:12px;border:0;border-radius:14px;background:#fff;color:#12334c}
.rug-photo-dialog::backdrop{background:#001322d9}
body:has(.rug-photo-dialog[open]){overflow:hidden}
.photo-dialog-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.photo-dialog-toolbar button{min-height:44px;padding:10px 16px;border:1px solid #b6cbdd;border-radius:8px;background:#f0f9ff;color:#12334c;font:700 14px/1.4 Manrope,sans-serif;cursor:pointer}
.photo-dialog-toolbar button:focus-visible,.rug-photo-open:focus-visible{outline:3px solid #0d8cff;outline-offset:3px}
.photo-dialog-view{max-height:calc(100dvh - 180px);overflow:auto;overscroll-behavior:contain;border-radius:6px;background:#eef4f8}
.photo-dialog-view img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 180px);margin:auto;object-fit:contain}
.photo-dialog-view.is-zoomed img{width:1280px;max-width:none;max-height:none}
.photo-dialog-caption{margin:12px 4px 2px;font-size:14px;line-height:1.5}

/* Paused playback controls sit at the bottom, clear of the video's caption. */
.wash-video-frame{position:relative;border-radius:16px;overflow:hidden}
.wash-video-bar{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:8px;min-height:64px;padding:14px 10px 8px;background:linear-gradient(transparent,#001322e8);color:#fff}
.wash-video-bar[hidden]{display:none}
.wash-video-resume{flex:0 0 44px;min-height:44px;border:0;border-radius:6px;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.wash-video-seek{min-width:0;flex:1;width:100%;accent-color:#fff;cursor:pointer}
.wash-video-time{flex-shrink:0;font:500 11px/1.4 Manrope,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.wash-video-bar :focus-visible{outline:2px solid #fff;outline-offset:2px}
