.v23-heading-actions{display:flex;align-items:center;gap:18px}.v23-heading-actions .bk-edit{font-weight:700;padding:4px 10px;border:1px solid var(--color-border-control);border-radius:4px;background:white}.v23-heading-actions>span{white-space:nowrap}.v23-choosing .bk-progress,.v23-choosing #bk-contact-fields,.v23-choosing .bk-contact-foot{display:none!important}.v23-choosing .bk-purchase-mode{margin-top:0}.v23-choosing #bk-contact-intro{margin:16px 0 0}.v23-choosing .bk-heading{margin-top:16px}#v23-message{border:1px solid #d5dde6;border-radius:5px;color:#31577b;background:#f5f8fc;padding:10px 14px;margin:0 0 15px;font-size:12px}#v23-message[data-error=true]{background:#fff4f4;color:#a32c36;border-color:#efd1d5}.v23-result-number{font-size:36px;font-weight:800;color:var(--cta-brand);margin:14px 0}.v23-result-expiry{font-weight:700;color:var(--charcoal);margin:14px 0}.v23-live-consent{margin-top:16px}
.v23-service-card{border:1px solid var(--color-border-control,#d5dde6);border-radius:8px;padding:18px;margin:0 0 16px;background:#fff}.v23-service-title{display:flex;align-items:start;justify-content:space-between;gap:16px}.v23-service-title h3{font-size:16px;line-height:1.45;margin:0 0 16px}.v23-service-title .ico{font-size:22px;color:var(--cta-brand)}.v23-service-people{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v23-service-card small,#v23-payment-options small{display:block;color:var(--color-muted);font-size:12px;margin-top:3px}.v23-service-all{border-top:1px solid #e8ebef;margin-top:12px;padding-top:12px;font-size:12px}.v23-service-card input:disabled+span{opacity:.5}.v23-payment-amount{padding:16px 0;margin:16px 0;border-block:1px solid #e8ebef}#v23-payment-options .ui-choice-row{margin:12px 0}#v23-note{display:block;width:100%;font:inherit;border:1px solid #d5dde6;border-radius:5px;padding:12px;margin:8px 0 20px}.v23-info-dialog{max-width:760px;width:calc(100% - 32px);max-height:85vh;border:1px solid #d5dde6;border-radius:8px;padding:24px;color:var(--charcoal)}.v23-info-dialog::backdrop{background:#102f5780}.v23-info-dialog>button{float:right;margin:0 0 16px 20px}.v23-info-dialog table{border-collapse:collapse;width:100%;font-size:13px}.v23-info-dialog td,.v23-info-dialog th{border:1px solid #d5dde6;padding:7px}.v23-portal-tabs{display:flex;flex-wrap:wrap;gap:16px;border-bottom:1px solid #d5dde6;padding:10px 0 18px;margin-bottom:20px}.v23-portal-tabs [aria-current]{color:var(--cta-brand);font-weight:bold}#v23-portal{margin-top:24px;text-align:left}
@media(max-width:760px){.v23-heading-actions{gap:8px}.v23-heading-actions .bk-edit{padding:3px 7px;font-size:11px}.v23-result-number{font-size:30px}.v23-service-people{grid-template-columns:1fr}.v23-service-card{padding:14px}}
/* Full CK legal wording remains readable and is never collapsed by default. */
.bk-review-block .v23-legal-text{display:block!important;width:100%;min-width:0}.bk-review-block .v23-legal-text p{display:block!important;white-space:normal}.bk-review-block .v23-legal-text ol,.bk-review-block .v23-legal-text ul{display:block!important}.bk-review-block .v23-legal-text li{display:list-item!important}
.v23-legal-text{font-size:13px;line-height:1.6;margin:16px 0;color:#34475b}.v23-legal-text p{margin:10px 0}.v23-legal-text ol,.v23-legal-text ul{padding-left:24px}.v23-book-person{border:1px solid #d3dae5;border-radius:8px;padding:16px;margin:12px 0;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.v23-book-person label,[data-manager-body]>label{display:grid;gap:6px;margin-bottom:12px}[data-manager-body] .ui-input{padding:10px;border:1px solid #d3dae5;border-radius:6px;width:100%;box-sizing:border-box}[data-manager-status][data-error=true]{color:#bf0030}#v23-portal button:disabled{opacity:.55;cursor:wait}@media(max-width:650px){.v23-book-person{grid-template-columns:1fr}}
/* APC follows the V23 traveller card, without changing the supplied page layout. */
.v23-apc{margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border-subtle,#d5dce5)}
.v23-apc-panel{background:transparent;border-radius:8px;padding:16px;margin-top:10px}
.v23-apc>.ui-choice-row>span,.v23-apc>.ui-choice-row>span small{font-weight:700;color:var(--color-text-primary,#12345d)}
.v23-apc-panel[hidden],.v23-apc-panel [hidden]{display:none!important}
.v23-apc-verify,.v23-apc-redeem{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.v23-apc-panel .bk-field{flex:1;min-width:140px;margin:0}
.v23-apc-panel .bk-field input{width:100%;box-sizing:border-box;background:var(--color-surface-soft,#f4f5f7)}
.v23-apc-panel p{font-size:13px;color:#12345d;margin:10px 0}
.v23-apc-totals{display:flex;gap:24px;flex-wrap:wrap;margin:8px 0 14px}
.v23-apc-totals strong{color:#12345d}
#v23-save-people{margin-top:16px}
.v23-premium small{display:block;color:var(--color-muted);font-size:11px;margin-top:4px}
.v23-premium.is-unverified .v23-premium-label{text-decoration:line-through;color:var(--color-muted)}
.v23-premium.is-unverified strong{text-decoration:line-through;color:var(--color-muted)}
.bx-option.is-partial{border-color:#12345d}.bx-option.is-partial::after{content:'Individuální výběr';display:block;color:#12345d;font-size:11px;padding:0 12px 8px}
#v23-coupon-applied{font-size:12px;color:#12345d}#v23-remove-voucher{color:var(--cta-brand);font-size:12px;margin:6px 0}
.bx-option{position:relative}.bx-option-choice{padding-bottom:12px}
.v23-info-button{display:inline-grid;place-items:center;width:17px;height:17px;padding:0;border:1px solid #12345d;border-radius:50%;background:#fff;color:#12345d;font-family:serif;font-weight:bold;font-size:12px;line-height:1;cursor:pointer;flex-shrink:0}
.bx-option-price{display:grid!important;grid-template-columns:max-content 17px;align-items:center;justify-content:start;gap:3px 8px}
.bx-option-price>strong{grid-column:1;grid-row:1}.bx-option-price>.v23-info-button{grid-column:2;grid-row:1}.bx-option-price>small{grid-column:1/-1;grid-row:2}
.v23-individual-person{border:1px solid var(--color-border-subtle);padding:16px;margin:16px 0;border-radius:8px}
.v23-individual-person legend{font-weight:700;padding:0 8px}
.v23-individual-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e7ebf0}
.v23-individual-row:last-child{border:0}.v23-individual-row .ui-choice-row{flex:1}
.v23-favorites-art{width:70px;flex:0 0 70px;aspect-ratio:1;display:grid;place-items:center;background:#fff5dc;border-radius:18px}.v23-favorites-art svg{width:54px;height:54px;fill:#f6bf48;stroke:#ba7d13;stroke-width:1.5;filter:drop-shadow(0 3px 2px #bf8d2530)}
.v23-other-art{width:70px;flex:0 0 70px;aspect-ratio:1;display:grid;place-items:center;background:#edf3fb;border-radius:18px}.v23-other-art svg{width:54px;height:54px;fill:#c3d5ee;stroke:#315982;stroke-width:2;filter:drop-shadow(0 3px 2px #12345d15)}.v23-other-art path{fill:none;stroke:#eb0038;stroke-width:4;stroke-linecap:round}
.booking-page .bx-comparison .bx-art.v23-favorites-art,.booking-page .bx-comparison .bx-art.v23-other-art{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;background-image:none;border-radius:12px}.bx-art.v23-favorites-art svg,.bx-art.v23-other-art svg{width:36px;height:36px}
.booking-page .bx-comparison .bx-art.v23-favorites-art,.booking-page .bx-comparison .bx-art.v23-other-art{background-color:#fff}
.v23-info-dialog:has(iframe){max-width:1060px}.v23-info-dialog iframe{display:block;width:100%;height:70vh;min-height:400px;border:0;clear:both}
.booking-page .bx-comparison .bx-art.v23-vector-art{width:48px;height:48px;flex:0 0 48px;background:none;display:grid;place-items:center}.v23-vector-art svg{width:48px;height:48px;display:block}
#v23-service-dialog{font-size:13px;line-height:1.5}#v23-service-dialog :is(p,li,div,span){font-size:inherit;line-height:inherit}#v23-service-dialog h1,#v23-service-dialog h2{font-size:20px;line-height:1.25;margin-block:0 14px}#v23-service-dialog h3{font-size:16px;line-height:1.3}#v23-service-dialog table{font-size:12px;line-height:1.5}#v23-service-dialog>button{font-size:12px}
.v23-needs-insurance{opacity:.55;cursor:not-allowed}
.booking-page .bx-comparison--compact .bx-art:not(.v23-favorites-art):not(.v23-other-art){width:48px;height:48px;flex:0 0 48px;background-size:300% 200%;image-rendering:auto;filter:none;transform:none}
.booking-page .bx-comparison--compact .bx-art:not(.v23-favorites-art):not(.v23-other-art){background-image:url("/category-art-original.svg");image-rendering:auto}
.v23-basic-person{display:block;font-size:12px;color:var(--color-muted);margin-top:3px}.v23-payment-method-label{display:inline-flex;align-items:center;gap:8px}.v23-payment-method-label>.ico{font-size:20px;color:var(--color-muted)}
.ui-choice-row:has(>#v23-conditions),.ui-choice-row:has(>#v23-privacy){padding:16px;border:2px solid #31577b;border-radius:8px;background:#f2f6fb;margin:16px 0;font-weight:600;align-items:flex-start}.ui-choice-row:has(>#v23-conditions:checked),.ui-choice-row:has(>#v23-privacy:checked){border-color:#43825e;background:#f0f8f3}.ui-choice-row:has(>#v23-conditions:focus-visible),.ui-choice-row:has(>#v23-privacy:focus-visible){outline:3px solid #b8cee8;outline-offset:3px}
.v23-legal-text a,.v23-legal-text a:visited{color:#0645ad;text-decoration:underline;text-underline-offset:2px}.v23-legal-text a:hover{color:#003575}.v23-legal-text a:focus-visible{outline:2px solid #0645ad;outline-offset:3px}
#v23-action-error{padding:14px 16px;margin:16px 0 8px;border:1px solid #c52f32;border-radius:7px;background:#fff3f3;color:#a3232b;font-size:14px;font-weight:600}#v23-action-error[hidden]{display:none}.ui-choice-row:has(>#v23-conditions[aria-invalid=true]),.ui-choice-row:has(>#v23-privacy[aria-invalid=true]){border-color:#c52f32;background:#fff3f3}.v23-consent-error{display:block;margin-top:6px;color:#a3232b;font-size:12px;font-weight:600}.v23-consent-error[hidden]{display:none}
/* Desktop summary stays in view; only its long contents scroll. */
@media(min-width:761px){
 .booking-page .bk-summary{position:sticky;top:16px;align-self:start;max-height:calc(100dvh - 32px);overflow:hidden}
 .booking-page .bk-summary-shell[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 36px)}
 .v23-summary-body{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain}
 .v23-summary-footer{flex:0 0 auto;background:#fff;border-top:1px solid var(--color-border-control);padding:12px 14px}
 .v23-summary-footer .bk-total{margin:0;padding:0;border:0}
 .v23-summary-footer .bk-total>[data-total-price]{font-size:21px}
 .bk-summary .bk-summary-hotel{padding:12px;gap:10px}
 .bk-summary .bk-summary-hotel img{width:64px;height:64px;flex-basis:64px}
 .bk-summary .bk-summary-hotel h2{font-size:16px;line-height:1.25}
 .bk-summary .bk-summary-hotel p{font-size:11px}
 .bk-summary .bk-summary-details{padding:10px 12px;font-size:12px}
 .bk-summary .bk-summary-details .bk-trip-list li{font-size:12px;line-height:18px}
 .bk-summary .bk-summary-details .bk-trip-list .ico{font-size:14px;width:14px;flex-basis:14px}
 .bk-summary .bk-price-summary{padding:12px}
 .bk-summary .bk-panel-title{font-size:16px;margin-bottom:8px}
 .bk-summary .bk-price-line{font-size:12px;line-height:1.4;padding-block:4px;gap:10px}
 .bk-summary .bk-total>div,.bk-summary .bk-coupon{font-size:12px}
 .bk-summary .bk-total small,.bk-summary .v23-premium small{font-size:10px}
 .bk-summary .bk-coupon{padding:0 12px 10px}
 .bk-summary .bk-coupon input{min-width:0;font-size:13px}
 .bk-summary .bk-help{padding:10px 12px;font-size:11px}
 .bk-summary .bk-help strong{font-size:13px}
 .bk-summary .bk-help>.ico{font-size:23px}
 .bk-summary .bk-demo-note{font-size:10px;padding:0 12px 10px;margin:6px 0 0}
}
@media(max-width:760px){.v23-summary-body,.v23-summary-footer{display:contents}}
@media(min-width:761px){
 body.booking-page{overflow-x:clip;overflow-y:visible}
 .v23-summary-body{max-height:calc(100dvh - 108px)}
 .bk-summary-shell::details-content{min-height:0}
}
.v23-person-age{font-size:12px;font-weight:500;color:var(--color-muted)}.v23-age-help{display:block;font-size:11px;line-height:1.5;color:var(--color-muted);margin-top:5px}.v23-age-help[hidden]{display:none}
#v23-busy-status{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:14px 20px;background:#fff;color:#12345b;border:1px solid #d5deea;border-radius:10px;box-shadow:0 6px 28px #12345b26;font-size:14px;line-height:1.45;pointer-events:none}
#v23-busy-status[hidden]{display:none}
.v23-spinner{width:20px;height:20px;flex:0 0 20px;border:2px solid #e0e6ef;border-top-color:#ed0033;border-radius:50%;animation:v23-spin .8s linear infinite}
@keyframes v23-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){#v23-busy-status{padding:12px 16px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.v23-spinner{animation-duration:2s}}
/* The review panel's direct-div flex rule must not turn the portal body into a row. */
#v23-portal [data-manager-body]{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere}
#v23-portal [data-manager-body]>.bk-review-price-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
#v23-portal .bk-review-price-row>span{min-width:0;flex:1}
#v23-portal .bk-review-price-row>strong{flex:0 0 auto;white-space:nowrap}
#v23-portal img{max-width:100%;height:auto}
/* Reservation portal reuses checkout typography, category artwork and choices. */
.v23-viewing-booking .bk-progress{display:none}
.v23-viewing-booking #bk-finished{padding:0;text-align:left}
.v23-viewing-booking #bk-finished>:not(#v23-portal){display:none!important}
#v23-portal{margin:0;padding:0;border:0;color:var(--charcoal,#344054);min-width:0}
#v23-portal .vm-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;background:#f3f6fa;border:1px solid #d7e0eb;border-radius:10px}
#v23-portal .vm-header h2{font-size:24px;line-height:1.3;margin:9px 0 6px;font-weight:800;color:#12345b}
#v23-portal .vm-header h2>span{white-space:nowrap}
#v23-portal .vm-header p{font-size:12px;margin:0;color:var(--color-muted)}
.vm-booking-state{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#367250}
.vm-booking-state>.ico{font-size:17px}
.vm-header-total{text-align:right;white-space:nowrap}
.vm-header-total>small{display:block;font-size:11px;color:var(--color-muted)}
.vm-header-total>strong{display:block;font-size:24px;color:var(--cta-choice,#ed0033);font-weight:800;margin-top:5px}
#v23-portal .v23-portal-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:22px 0 26px;padding:0;border-bottom:1px solid #d5dde6}
#v23-portal .v23-portal-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:76px;padding:12px 5px;border:0;border-bottom:3px solid transparent;background:transparent;color:#62748a;font-size:12px;font-weight:600;cursor:pointer}
#v23-portal .v23-portal-tabs button>.ico{font-size:23px}
#v23-portal .v23-portal-tabs button[aria-current]{border-bottom-color:var(--cta-choice,#ed0033);color:var(--cta-choice,#ed0033);background:#fff6f8}
#v23-portal button:focus-visible,#v23-portal a:focus-visible{outline:3px solid #92b4da;outline-offset:3px}
#v23-portal [data-manager-status]{display:block;padding:12px 16px;border:1px solid #cbd9e9;background:#f3f7fc;border-radius:6px;font-size:13px;margin:0 0 20px}
#v23-portal [data-manager-status][hidden]{display:none}
#v23-portal [data-manager-status][data-error=true]{background:#fff4f4;border-color:#efc6ce}
.vm-section{margin:0 0 26px}
.vm-section-heading{display:flex;align-items:center;gap:9px;margin-bottom:14px}
#v23-portal .vm-section-heading>h3{margin:0;font-size:18px;line-height:1.3;font-weight:750}
.vm-section-heading>.ico{font-size:23px;color:#6b7d92}
.vm-section-heading>span:last-child:not(.ico){margin-left:auto;font-size:11px;color:var(--color-muted)}
#v23-portal .vm-lead{font-size:13px;color:var(--color-muted);line-height:1.6;margin:-4px 0 18px}
#v23-portal .vm-trip-card{display:flex;gap:18px;border:1px solid #d5dde6;border-radius:9px;overflow:hidden;margin-bottom:26px;background:white}
#v23-portal .vm-trip-card>img{width:176px;min-height:160px;object-fit:cover;align-self:stretch;flex:0 0 176px}
.vm-trip-card>div{padding:15px 14px 15px 0;min-width:0}
#v23-portal .vm-trip-card h3{font-size:17px;line-height:1.4;color:var(--cta-choice,#ed0033);margin:0 0 5px}
#v23-portal .vm-trip-card p{font-size:12px;margin:0 0 8px}
#v23-portal .vm-trip-card .bk-trip-list{gap:3px}
#v23-portal .vm-trip-card .bk-trip-list li{font-size:12px;line-height:18px}
.vm-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.vm-person{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #d5dde6;border-radius:8px;background:#fff;min-width:0}
.vm-person-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:#f0f4f9;color:#31577f}
.vm-person-icon>.ico{font-size:24px}
.vm-person small{font-size:11px;color:var(--color-muted)}
#v23-portal .vm-person h4{font-size:15px;line-height:1.4;margin:3px 0;font-weight:700}
#v23-portal .vm-person p{font-size:11px;margin:0;line-height:1.6}
.vm-basic-services{border:1px solid #d5dde6;border-radius:8px;overflow:hidden}
.vm-basic-services>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;font-size:12px;border-bottom:1px solid #e8edf3}
.vm-basic-services>div:last-child{border-bottom:0}
.vm-basic-services small{display:block;color:var(--color-muted);margin-top:4px;font-size:11px}
.vm-basic-services>div>strong{white-space:nowrap}
#v23-portal .vm-service-group{padding:18px;border:1px solid #d5dde6;border-radius:9px;margin:0 0 16px;background:#fff}
.vm-service-group>header{display:flex;align-items:center;gap:12px;margin-bottom:15px}
#v23-portal .vm-service-group>header h3{font-size:16px;line-height:1.4;margin:0 0 4px}
#v23-portal .vm-service-group>header p{font-size:11px;margin:0;color:var(--color-muted)}
.vm-category-art{display:block;width:48px;height:48px;flex:0 0 48px;background-image:url('/category-art-original.svg');background-size:300% 200%;background-repeat:no-repeat}
.vm-category-symbol{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:white;color:var(--cta-choice,#ed0033)}
.vm-category-symbol>.ico{font-size:32px}
.vm-included{margin-left:auto;display:flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:#3a7753}
.vm-included>.ico{font-size:15px}
.vm-service-options{display:grid;gap:10px}
#v23-portal .vm-selected-service{display:flex;align-items:flex-start;gap:10px;border:1px solid #ed0033;border-radius:7px;background:#fff8fa;padding:13px;margin:0}
.vm-service-check{display:grid;place-items:center;background:#ed0033;color:white;width:18px;height:18px;flex:0 0 18px;border-radius:4px;margin-top:2px}
.vm-service-check>.ico{font-size:15px}
.vm-selected-service>div:not(.vm-service-price){min-width:0;flex:1}
.vm-selected-service strong{font-size:12px;line-height:1.5}
.vm-selected-service small{display:block;font-size:11px;line-height:1.5;color:#718096;margin-top:5px}
.vm-service-price{flex:0 0 auto;text-align:right;white-space:nowrap}
.vm-service-price>strong{font-size:14px}
.vm-price-breakdown{border-top:1px solid #d5dde6;padding-top:17px;margin-top:24px}
.vm-price-breakdown>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:700;margin-bottom:12px;list-style:none}
.vm-price-breakdown>summary::-webkit-details-marker{display:none}
.vm-price-breakdown .bk-review-price-row{font-size:12px}
.vm-total{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f0f5fa;border:1px solid #d6e0ed;border-radius:8px;padding:18px 20px;margin:18px 0 26px;font-size:13px;font-weight:700}
.vm-total small{display:block;font-size:10px;font-weight:400;color:#6f8096;margin-top:5px}
.vm-total>strong{font-size:24px;color:#ed0033;white-space:nowrap;font-weight:800}
.vm-payment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#v23-portal .vm-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid #d5dde6;border-radius:8px;padding:17px;margin:0;background:white;cursor:pointer}
#v23-portal .vm-choice.is-selected{border-color:#ed0033;box-shadow:inset 0 0 0 1px #ed0033;background:#fff8fa}
.vm-choice strong{font-size:13px;line-height:1.5}
.vm-choice small{display:block;font-size:11px;color:var(--color-muted);line-height:1.6;margin-top:5px}
.vm-choice:has(input:disabled){opacity:.55;cursor:default}
.vm-schedule{border:1px solid #d5dde6;border-radius:8px;overflow:hidden}
.vm-installment{display:flex;align-items:center;gap:13px;padding:17px;border-bottom:1px solid #e3e9f0;font-size:13px}
.vm-installment:last-child{border-bottom:0}
.vm-installment-number{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;background:#f0f4fa;color:#31577f;border-radius:50%;font-size:12px;font-weight:700}
.vm-installment>div{flex:1}
.vm-installment small{display:block;font-size:11px;color:var(--color-muted);margin-top:5px}
.vm-installment>strong{font-size:15px;white-space:nowrap}
.vm-payment-details{display:flex;gap:14px;align-items:flex-start;padding:20px;border:1px solid #d5dde6;background:#f7f9fc;border-radius:8px}
.vm-payment-icon>.ico{font-size:29px;color:#31577f}
#v23-portal .vm-payment-details h3{font-size:15px;margin:1px 0 10px}
#v23-portal .vm-payment-details p{font-size:12px;line-height:1.7;margin:3px 0}
.vm-payment-details .v23-qr{width:110px;margin-left:auto}
.vm-documents{display:grid;gap:12px}
#v23-portal .vm-document{display:flex;align-items:center;gap:16px;width:100%;padding:19px;text-align:left;text-decoration:none;font-family:inherit;background:white;color:inherit;border:1px solid #d5dde6;border-radius:9px;cursor:pointer;transition:border-color .15s,background-color .15s;box-sizing:border-box}
#v23-portal .vm-document:hover{border-color:#ed0033;background:#fffafb}
.vm-file-icon{display:grid;place-items:center;flex:0 0 48px;height:54px;background:#fff0f3;border-radius:7px;color:#ed0033}
.vm-file-icon>.ico{font-size:31px}
.vm-file-icon.is-web{color:#31577f;background:#f0f4fa}
.vm-document-copy{min-width:0;flex:1}
.vm-document-copy>strong{display:block;font-size:14px;line-height:1.5}
.vm-document-copy>small{display:block;font-size:11px;color:var(--color-muted);line-height:1.6;margin-top:5px}
.vm-document-action{display:flex;align-items:center;gap:7px;font-size:11px;color:#31577f;font-weight:700;white-space:nowrap}
.vm-document-action>.ico{font-size:18px}
#v23-portal .vm-document.is-unavailable{cursor:default;background:#fafbfd}
.vm-help-note{display:flex;gap:12px;align-items:center;background:#f2f6fb;border-radius:8px;padding:18px 20px;font-size:12px;margin:26px 0}
.vm-help-note>.ico{color:#ed0033;font-size:29px}
.vm-help-note strong,.vm-help-note span{display:block;line-height:1.8}
.vm-help-note a{font-weight:700;color:#12345b}
.vm-frame-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;background:#f3f6fa;border:1px solid #d5dde6;border-radius:8px 8px 0 0;font-size:12px}
.vm-frame-toolbar>span,.vm-frame-toolbar>a{display:flex;align-items:center;gap:7px}
.vm-frame-toolbar .ico{font-size:18px}
.vm-frame-toolbar>a{font-size:11px;color:#31577f}
.vm-departure-frame{display:block;width:100%;height:680px;border:1px solid #d5dde6;border-top:0;border-radius:0 0 8px 8px;background:#fff;box-sizing:border-box}
.vm-empty{text-align:center;padding:34px 20px;border:1px dashed #d5dde6;border-radius:8px;background:#fafbfd}
.vm-empty>.ico{font-size:38px;color:#8294a9}
#v23-portal .vm-empty h4{font-size:15px;margin:12px 0 7px}
#v23-portal .vm-empty p{font-size:12px;color:#718096;line-height:1.7;margin:8px 0 0}
@media(max-width:760px){
 #v23-portal .vm-header{padding:18px;gap:14px;align-items:flex-start}
 #v23-portal .vm-header h2{font-size:21px}
 .vm-header-total>strong{font-size:20px}
 #v23-portal .v23-portal-tabs{margin:18px 0 22px}
 #v23-portal .v23-portal-tabs button{font-size:10px;min-height:70px;gap:6px}
 .vm-people,.vm-payment-choices{grid-template-columns:1fr}
 #v23-portal .vm-trip-card>img{width:110px;flex-basis:110px}
 #v23-portal .vm-trip-card{gap:12px}
 #v23-portal .vm-trip-card h3{font-size:14px}
 .vm-service-price{white-space:normal;max-width:96px}
 .vm-service-price>strong{white-space:nowrap}
 #v23-portal .vm-document{padding:14px;gap:11px}
 .vm-file-icon{flex-basis:38px;height:46px}
 .vm-document-action{font-size:0;gap:0}
 .vm-document-action>.ico{font-size:19px}
 .vm-total{padding:15px}.vm-total>strong{font-size:21px}
 .vm-frame-toolbar{align-items:flex-start;font-size:11px}
 .vm-departure-frame{height:600px}
}
@media(max-width:420px){#v23-portal .vm-header{flex-direction:column}.vm-header-total{text-align:left}.vm-header-total>strong{display:inline;font-size:22px}.vm-included{display:none}.vm-selected-service{flex-wrap:wrap}.vm-service-price{margin-left:auto}.vm-payment-details{padding:15px}}
.v23-reservation-preview .v23-heading-actions [data-new]{display:none}
.v23-viewing-booking .bk-coupon{display:none}
#v23-portal .vm-edit-service{border-radius:7px;padding:14px;margin:0 0 12px}
#v23-portal .vm-edit-service.is-selected{border-color:#ed0033;background:#fff8fa}
#v23-portal .vm-edit-service h4{font-size:13px;line-height:1.6;margin:0 0 10px}
#v23-portal .vm-edit-service .ui-choice-row{margin:8px 0;align-items:center}
#v23-portal .vm-edit-service .ui-choice-row>span{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;font-size:12px}
#v23-portal .vm-edit-service .ui-choice-row strong{font-size:12px;white-space:nowrap}
#v23-portal .vm-select-all{padding-top:10px;border-top:1px solid #e3e9f0}

/* Service panels reuse the original V23 right-hand dialog, header, choices and footer. */
.v23-service-panel .v23-panel-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--color-border-subtle)}
.v23-service-panel .v23-panel-option .bk-config-option{border-bottom:0;min-width:0}
.v23-service-panel .v23-panel-option .v23-info-button{margin:0;flex-shrink:0}
.v23-service-panel [data-panel-body]{overscroll-behavior:contain}
.v23-service-panel[data-panel-kind=info] [data-panel-body]{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.v23-service-panel[data-panel-kind=info] [data-panel-body] :is(p,li,td,th){font-size:inherit;line-height:inherit}
.v23-service-panel[data-panel-kind=info] [data-panel-body] :is(h1,h2,h3){font-size:17px;line-height:1.4;margin:0 0 12px}
.v23-service-panel[data-panel-kind=info] [data-panel-body] :is(img,table){max-width:100%}
.v23-service-panel[data-panel-kind=info] iframe{display:block;width:100%;height:70dvh;min-height:360px;border:0}

.v23-service-panel[data-panel-kind=info] [data-panel-body] :is(ul,ol){padding-inline-start:20px;margin:10px 0 14px}
.booking-page:has(#v23-service-dialog[open]) #v23-config-dialog::backdrop{background:transparent}
#v23-confirmation-copy{text-align:left}#v23-confirmation-copy p{font-size:14px;line-height:1.65;margin:0 0 16px;color:var(--color-text-primary,#12345d)}#v23-confirmation-copy a{color:#0645ad;text-decoration:underline;text-underline-offset:2px}#v23-confirmation-copy a:hover{color:#003078}
.v23-completed .bk-demo-note,.v23-completed .bk-coupon,.v23-completed #v23-coupon-applied{display:none}
#bk-finished.v23-order-complete{padding:0;text-align:left}
#bk-finished.v23-order-complete>h2,#bk-finished.v23-order-complete>.ico{display:none}
.v23-complete-header{display:flex;align-items:center;gap:16px;padding:22px 0 26px}
.v23-complete-check{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:50%;background:#edf7f0;color:#278446;font-size:34px}
.v23-complete-eyebrow{font-size:12px;color:var(--color-muted);letter-spacing:.04em}
#bk-finished .v23-complete-header h2{margin:4px 0 8px;font-size:25px;line-height:1.25;color:#12345d}
#bk-finished .v23-complete-header p{margin:0;font-size:14px;color:#12345d}
.v23-complete-header strong{color:#ed0033;font-size:20px;margin-left:6px}
.v23-complete-trip{display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid var(--color-border-subtle,#d5dce5);border-radius:10px;overflow:hidden;margin-bottom:26px;background:white}
.v23-complete-trip>img{width:100%;height:100%;object-fit:cover;min-height:220px}
.v23-complete-trip-body{padding:20px}
#bk-finished .v23-complete-location{font-size:12px;color:var(--color-muted);margin:0 0 5px}
.v23-complete-trip h3{font-size:19px;color:#ed0033;line-height:1.35;margin:0 0 16px}
.v23-complete-trip dl{display:grid;gap:10px;margin:0}
.v23-complete-trip dl>div{display:flex;gap:9px;align-items:flex-start;min-width:0}
.v23-complete-trip dl .ico{font-size:18px;color:#7c8da4;margin-top:2px}
.v23-complete-trip dt{font-size:11px;color:var(--color-muted)}
.v23-complete-trip dd{font-size:13px;color:#12345d;margin:2px 0 0;overflow-wrap:anywhere}
.v23-complete-total{grid-column:1/-1;border-top:1px solid var(--color-border-subtle,#d5dce5);display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 20px;background:#f7f8fa;font-size:14px;font-weight:700;color:#12345d}
.v23-complete-total strong{grid-column:2;grid-row:1/3;align-self:center;color:#ed0033;font-size:24px;white-space:nowrap}
.v23-complete-total small{font-size:11px;font-weight:400;color:var(--color-muted)}
#v23-confirmation-copy{border-top:1px solid var(--color-border-subtle,#d5dce5);padding-top:22px}
#v23-open-booking{display:inline-flex;align-items:center;gap:12px;margin-top:6px;min-width:210px;justify-content:center}
@media(max-width:600px){.v23-complete-trip{grid-template-columns:1fr}.v23-complete-trip>img{height:180px;min-height:0}.v23-complete-header{gap:12px}.v23-complete-check{flex-basis:44px;height:44px;font-size:28px}#bk-finished .v23-complete-header h2{font-size:21px}.v23-complete-total{padding:16px}.v23-complete-total strong{font-size:21px}#v23-open-booking{width:100%}}

.vm-payment-qr{flex:0 0 120px;margin:0 0 0 auto;max-width:100%}.vm-payment-qr .v23-qr{display:block;margin:0;width:120px;height:auto}.vm-payment-qr figcaption{font-size:12px;line-height:1.5;color:var(--color-muted)}.vm-payment-qr [hidden]{display:none}
#v23-completion-payment{margin:0 0 24px;text-align:left}#v23-completion-payment[hidden]{display:none}#v23-completion-payment .vm-payment-details h3{font-size:16px;margin:0 0 12px;color:#12345d}#v23-completion-payment .vm-payment-details p{font-size:13px;line-height:1.65;margin:4px 0;color:#12345d}#v23-completion-payment .vm-payment-details small{font-size:12px;line-height:1.5}#v23-completion-payment .vm-payment-details>div{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){#v23-completion-payment .vm-payment-details{flex-wrap:wrap}#v23-completion-payment .vm-payment-details>div{flex:1 1 180px}#v23-completion-payment .vm-payment-qr{margin:12px auto 0}}
