/* Public checkout: native controls, the site's blue palette and a calm card layout. */
.travel-checkout{--checkout-blue:#206ab0;--checkout-ink:#233747;--checkout-border:#d5e0e8;color:var(--checkout-ink);font-size:18px;line-height:1.6;max-width:1080px;margin:0 auto;text-align:left}
.travel-checkout [hidden]{display:none!important}
.travel-checkout h2,.travel-checkout h3,.travel-checkout h4{color:var(--checkout-ink);text-transform:none;letter-spacing:0;line-height:1.35}
.travel-checkout h2{font-size:27px;margin:0}.travel-checkout h3{font-size:24px;margin:0 0 14px}.travel-checkout h4{font-size:20px;margin:20px 0 14px}
.checkout-entry,.checkout-section{padding:32px;border:1px solid var(--checkout-border);border-radius:12px;background:#fff;margin-bottom:24px;box-shadow:0 3px 16px rgba(35,55,71,.04)}
.checkout-entry{background:#f3f8fc;border-top:4px solid var(--checkout-blue)}
.checkout-eyebrow{font-weight:700;color:var(--checkout-blue);margin-bottom:8px}.checkout-entry-actions{display:flex;gap:16px;margin:8px 0 16px;align-items:stretch}.checkout-entry-actions input{flex:1;min-width:0}
.travel-checkout label{display:block;font-size:17px;font-weight:600;color:var(--checkout-ink);line-height:1.45;margin-bottom:8px}
.travel-checkout input:not([type=checkbox]),.travel-checkout select,.travel-checkout textarea{display:block!important;position:static;width:100%;min-height:50px;border:1px solid #9fafbd;border-radius:7px;background:#fff;color:#233747;font:inherit;font-size:18px;padding:11px 12px;box-sizing:border-box;opacity:1}
.travel-checkout input[type=hidden]{display:none!important}
.travel-checkout select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:36px;min-height:52px;line-height:1.5;background-image:linear-gradient(45deg,transparent 50%,#233747 50%),linear-gradient(135deg,#233747 50%,transparent 50%);background-position:calc(100% - 19px) 23px,calc(100% - 13px) 23px;background-size:6px 6px;background-repeat:no-repeat}.travel-checkout input[type=date]{min-width:0;max-width:100%;appearance:none}
.travel-checkout :focus-visible{outline:3px solid #206ab0;outline-offset:3px}
.checkout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;max-width:100%;padding:14px 22px;border:2px solid var(--checkout-blue);border-radius:7px;background:var(--checkout-blue);color:#fff;font:inherit;font-size:18px;font-weight:700;line-height:1.4;text-align:center;cursor:pointer;white-space:normal}
.checkout-button:hover{background:#174f85;border-color:#174f85;color:#fff}.checkout-button:disabled{cursor:default;opacity:.55}.checkout-button-secondary{background:#fff;color:var(--checkout-blue)}.checkout-button-secondary:hover{background:#eaf3fa;color:#174f85}
.checkout-link{display:inline-block;padding:8px 0;background:none;border:0;color:#175589;text-decoration:underline;font:inherit;font-size:17px;cursor:pointer;min-height:44px;text-align:left}
.checkout-help{font-size:16px;line-height:1.65;color:#4b5d6a;margin:14px 0}.checkout-alternative{border-top:1px solid var(--checkout-border);padding-top:20px;margin-top:24px;display:flex;flex-direction:column;align-items:flex-start}
.checkout-section-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.checkout-step{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;background:#eaf3fa;color:#175589;border-radius:50%;font-weight:700}
.checkout-traveler{border:1px solid var(--checkout-border);border-radius:9px;margin-bottom:18px}.travel-checkout summary{cursor:pointer;font-size:18px;font-weight:600;line-height:1.5;min-height:52px;list-style-position:inside;padding:16px 18px;color:var(--checkout-ink)}
.checkout-traveler>summary{background:#f5f8fa;border-radius:9px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between}.checkout-traveler>summary:before{content:'+';color:#175589}.checkout-traveler[open]>summary:before{content:'−'}.checkout-person-name{flex:1;min-width:0;overflow-wrap:anywhere}.checkout-person-status{font-size:16px;font-weight:400;color:#685120}.checkout-person-status.is-ready,.checkout-status.is-ready{color:#246444}
.checkout-traveler-body{padding:22px}.travel-checkout fieldset{margin:0 0 22px;padding:0;border:0;min-width:0}.travel-checkout legend{font-size:21px;font-weight:600;border:0;color:var(--checkout-ink);margin-bottom:16px}
.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.checkout-field{min-width:0;margin-bottom:4px}.checkout-data-group{border-top:1px solid #e4eaf0;margin-top:16px}.checkout-data-group>summary{padding:16px 0}.checkout-data-group>.checkout-grid{padding:0 0 20px}
.checkout-traveler-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0}.checkout-traveler-actions>span{font-size:16px;color:#4b5d6a}.checkout-insurance{border-top:1px solid #e4eaf0!important;padding-top:20px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checkout-insurance legend{padding-top:16px}
.checkout-holder{border:1px solid var(--checkout-border);background:#f6faf8;border-radius:9px;padding:24px;margin-bottom:24px}.checkout-status{font-weight:600;margin:10px 0}.checkout-holder .checkout-grid{margin:18px 0}
.travel-checkout .travel-rooms{padding:0;margin:0;border:0;background:transparent}.travel-checkout #travel_rooms_title{display:none}.travel-checkout .travel-room-row{padding:22px;border:1px solid var(--checkout-border);border-radius:9px;background:#f8fafc;margin:16px 0}.travel-checkout .travel-room-row .row{display:flex;flex-wrap:wrap}.travel-checkout .travel-room-row .checkout-field{padding:10px 0}.travel-checkout .travel-room-remove,.travel-checkout .travel-room-add{font-size:17px;min-height:46px;white-space:normal}.travel-checkout .travel-room-heading h4{margin:0}.travel-checkout .travel-room-notice{font-size:16px;color:#4b5d6a}
.checkout-quote-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e6edf2}.checkout-quote-line dt{font-weight:400}.checkout-quote-line dd{font-weight:700;white-space:nowrap}.checkout-quote-emphasis{font-size:22px;margin-top:10px}.checkout-quote-emphasis dt{font-weight:600}.checkout-summary{background:#f5f9fc}
.checkout-payment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}.checkout-payment-actions .checkout-button{width:100%;flex-wrap:wrap}.checkout-privacy{display:flex!important;align-items:flex-start;gap:14px;padding:20px 0}.checkout-privacy input{width:24px;height:24px;flex-shrink:0;margin-top:2px}.checkout-privacy span{font-size:17px;font-weight:400}.checkout-privacy a{text-decoration:underline}
.checkout-field-error{display:block;color:#a42b26;font-size:16px;line-height:1.5;margin-top:6px}.checkout-field-error:empty{display:none}.travel-checkout .has-error input,.travel-checkout .has-error select{border:2px solid #a42b26}.checkout-feedback{padding:18px;border-left:4px solid #206ab0;background:#eef5fb;margin:16px 0;overflow-wrap:anywhere}#checkout_errors{border-color:#a42b26;background:#fff3f1}
@media(max-width:767px){.travel-checkout{font-size:18px}.checkout-section,.checkout-entry{padding:22px 16px;border-radius:9px}.checkout-grid,.checkout-payment-actions,.checkout-insurance{grid-template-columns:1fr;gap:16px}.checkout-entry-actions{flex-direction:column}.checkout-traveler-body{padding:18px 14px}.checkout-section-heading{gap:10px}.travel-checkout h2{font-size:24px}.travel-checkout h3{font-size:22px}.checkout-holder{padding:18px 14px}.checkout-button{width:100%;padding:14px 16px}.checkout-traveler-actions{align-items:stretch}.checkout-traveler-actions>span{width:100%}.checkout-quote-emphasis{font-size:20px}.checkout-quote-line{gap:10px}.travel-checkout .travel-room-row{padding:18px 12px}.checkout-person-status{width:100%;padding-left:20px}.checkout-link{padding:10px 0}.checkout-step{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.travel-checkout *{scroll-behavior:auto!important}}
/* The inherited room partial has a floated grid wrapper; contain it in this page. */
.travel-checkout .checkout-section>.col-xs-12{float:none;padding:0;width:100%}
.checkout-traveler>summary{list-style:none}
.checkout-traveler>summary::-webkit-details-marker{display:none}
/* Legacy theme hides custom checkboxes; this consent uses a real visible checkbox. */
.travel-checkout .checkout-privacy input[type=checkbox]{display:block!important;position:static!important;opacity:1!important;-webkit-appearance:checkbox;appearance:auto;clip:auto;width:24px;height:24px;cursor:pointer}

@media(max-width:767px){body.public-checkout-visible .back-to-top{display:none!important}}
/* Interactive section headers: native details semantics plus a consistent chevron. */
.travel-checkout summary{list-style:none;border-radius:7px;transition:background .15s;position:relative;padding-right:46px}
.travel-checkout summary::-webkit-details-marker{display:none}
.travel-checkout summary:hover{background:#eaf2f8}
.travel-checkout summary:focus-visible{outline:3px solid #206ab0;outline-offset:2px}
.travel-checkout summary:after{content:'';position:absolute;right:19px;top:25px;width:9px;height:9px;border-right:2px solid #175589;border-bottom:2px solid #175589;transform:rotate(45deg);transition:transform .15s}
.travel-checkout details[open]>summary:after{transform:rotate(225deg);top:29px}
.checkout-traveler>summary:before{content:none!important}
.checkout-data-group>summary{padding:16px 46px 16px 14px;background:#f3f7fa;border:1px solid #d5e0e8;margin-bottom:16px}
.travel-checkout .checkout-catalog-native,.traveler-page .checkout-catalog-native{display:none!important}
.travel-checkout .checkout-catalog-button,.traveler-page .checkout-catalog-button{display:block;width:100%;min-height:52px;background:#fff;color:#233747;border:1px solid #9fafbd;border-radius:7px;text-align:left;padding:11px 36px 11px 12px;font:inherit;position:relative;white-space:normal;line-height:1.5;cursor:pointer}
.checkout-catalog-button:after{content:'';position:absolute;right:17px;top:21px;width:8px;height:8px;border-right:2px solid #233747;border-bottom:2px solid #233747;transform:rotate(45deg)}
.travel-checkout .has-error .checkout-catalog-button{border:2px solid #a42b26}
.traveler-page .checkout-catalog-button[aria-invalid=true]{border:2px solid #a42b26}
/* A viewport-positioned popup avoids clipping by cards, details and mobile layouts. */
.checkout-catalog-popup{position:fixed;z-index:10020;box-sizing:border-box;padding:12px;background:#fff;color:#233747;border:1px solid #9fafbd;border-radius:8px;box-shadow:0 6px 24px rgba(35,55,71,.22);font-family:inherit;font-size:18px;line-height:1.5;overflow:auto;text-align:left}
.checkout-catalog-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.checkout-catalog-top label{font-size:16px;font-weight:600}
.checkout-catalog-close{background:#fff;color:#175589;border:0;font:inherit;text-decoration:underline;min-height:44px;padding:8px;cursor:pointer}
.checkout-catalog-popup input{display:block!important;position:static!important;opacity:1!important;width:100%;height:48px;border:1px solid #9fafbd;border-radius:5px;font:inherit;padding:8px;box-sizing:border-box;margin:4px 0 8px;background:#fff;color:#233747}
.checkout-catalog-options{overflow:auto;overscroll-behavior:contain;position:relative}
.checkout-catalog-option{padding:12px 10px;min-height:48px;box-sizing:border-box;cursor:pointer;overflow-wrap:anywhere;border-radius:4px}
.checkout-catalog-option.is-highlighted{background:#e8f2fa;outline:2px solid #206ab0;outline-offset:-2px}
.checkout-catalog-option[aria-selected=true]{font-weight:700}
.checkout-catalog-empty{margin:0;font-size:16px}
.checkout-catalog-popup :focus-visible{outline:3px solid #206ab0;outline-offset:2px}
.checkout-room-pending{font-size:17px;color:#685120;border-left:3px solid #b28731;padding:10px 14px;background:#fff9ec;margin:16px 0}

/* Payment choices: the existing bank/card asset identifies online payment beyond color. */
.checkout-payment-option{border:1px solid var(--checkout-border);border-radius:9px;padding:20px;background:#fff}
.checkout-payment-online{border-top:4px solid var(--checkout-blue);background:#f5f9fc}
.travel-checkout .checkout-payment-brand{display:block;width:210px;max-width:100%;height:auto;margin:0 auto 20px}
.checkout-payment-option .checkout-help:last-child{margin-bottom:0}
.checkout-slot{border:1px solid var(--checkout-border);border-radius:9px;padding:18px;margin-bottom:16px;background:#f8fafc}
.checkout-slot>.checkout-traveler{margin:16px 0 0;background:#fff}
.checkout-slot>.checkout-authorized{padding:12px 14px;background:#eef5fb;border-left:3px solid var(--checkout-blue)}
