/* October 2026: clear direct offers, guest rails and payment choices. */
.guest-frame{max-width:1720px;margin:0 auto;display:grid;grid-template-columns:170px minmax(0,1fr) 170px;gap:22px;padding:0 22px;background:#fff}
.guest-frame main{min-width:0}.guest-frame .wrap{width:calc(100% - 48px);max-width:1240px}.guest-rail{position:sticky;top:105px;align-self:start;padding:28px 0 20px}.guest-rail h2{font-family:Arial,sans-serif;font-size:15px;font-weight:600;line-height:1.4;margin:0 0 4px;color:#173d55}.rail-caption{font-size:12px;line-height:1.5;color:#69808e;margin:0 0 18px}.rail-cards{display:grid;gap:16px}.rail-review{padding:15px 13px;border:1px solid #dfe8ee;border-radius:12px;background:linear-gradient(150deg,#fff,#f6fafd)}.rail-person{display:flex;gap:9px;align-items:center}.rail-person img{width:30px;height:30px;border-radius:50%;object-fit:cover}.rail-person strong{font-size:13px;line-height:1.35;font-weight:600;overflow-wrap:anywhere;color:#23475b}.rail-stars{font-size:13px;letter-spacing:2px;color:#ac7b28;margin:11px 0 8px}.rail-review p{font-size:14px;line-height:1.65;margin:0 0 12px;color:#405965}.rail-review small{display:block;color:#75848d;font-size:12px;line-height:1.4}.rail-review a{display:inline-block;font-size:12px;color:#276588;text-decoration:underline;text-underline-offset:3px;margin-top:7px}
.direct-promo{margin:22px 0 0;border:0;border-radius:14px;overflow:hidden;background:linear-gradient(112deg,#143e59 0%,#17638d 49%,#154c69 100%);color:#fff}
.direct-promo>.wrap{display:grid;grid-template-columns:minmax(0,1fr) 142px minmax(0,1fr);gap:14px 20px;padding:22px 0 17px;align-items:center}
.direct-promo h1{font-size:clamp(19px,1.65vw,25px);line-height:1.25;font-weight:600;letter-spacing:-.02em;color:#fff;margin:0}.direct-promo p.direct-promo-comparison{font-size:14px;line-height:1.5;color:#d6e9f4;margin-top:7px;max-width:230px}.direct-promo-number{min-width:0;text-align:center}.direct-promo-number small{font-size:12px;letter-spacing:.11em;color:#e3f2fa;font-weight:600}.direct-promo-number b{font-size:68px;line-height:1.06;letter-spacing:-.045em;font-weight:600;color:#fff}.direct-promo-number b span{font-size:.6em;margin-left:3px;letter-spacing:-.015em}.direct-promo .btn{justify-self:end;max-width:190px;border-radius:8px;padding:14px 18px;color:#164c6b;font-size:14px;line-height:1.45;background:#fff;border:1px solid #fff;box-shadow:none;text-align:center}.direct-promo .btn:hover{background:#e8f6ff;box-shadow:none;transform:translateY(-1px)}.direct-promo p.direct-promo-terms{grid-column:1/-1;font-size:12px;line-height:1.55;color:#d5e6ef;max-width:none;text-align:center;margin:0}
.direct-arrival .header{z-index:80}.direct-arrival .modal{z-index:140}.direct-arrival .contact-dock{z-index:90;right:20px;bottom:76px}.direct-arrival .contact-dock .btn{font-size:14px}.guest-frame .booking-shell .booking{width:calc(100% - 48px);grid-template-columns:1.4fr 1fr 1fr .8fr auto}.guest-frame .hero-content{padding:52px 28px}.guest-frame .hero{min-height:350px}.guest-frame .room-shortcut{grid-template-columns:64px minmax(0,1fr);gap:11px}.guest-frame .room-shortcut img{width:64px;height:62px}.guest-frame .shortcut-arrow{display:none}.guest-frame .room-shortcut>span:not(.shortcut-arrow){font-size:14px}.guest-frame .overview-heading h2{font-size:28px}.guest-frame .overview-trust{font-size:12px;line-height:1.65}.guest-frame .room-overview{padding-top:27px}
.payment-overview{padding:36px 0 38px;border-block:1px solid #dfe8ee;background:#f7fafc}.payment-overview h2{font-size:26px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:6px 0 12px}.payment-overview .eyebrow{font-size:12px;color:#406c88;letter-spacing:.12em}.payment-overview .lead{font-size:16px;line-height:1.7;max-width:660px;margin:0 0 22px;color:#566e7d}.payment-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.payment-overview-link{display:flex;align-items:center;gap:17px;padding:21px;background:#fff;border:1px solid #cfdde7;border-radius:10px;text-decoration:none;transition:border-color .2s,background .2s}.payment-overview-link:hover{border-color:#2f789f;background:#f3faff}.payment-overview-link:focus-visible{outline:3px solid #2f789f;outline-offset:4px}.payment-overview-link svg{width:34px;height:34px;flex-shrink:0;color:#1c678f}.payment-overview-link strong{display:block;font-size:16px;line-height:1.4;font-weight:600;color:#1c4057}.payment-overview-link small{display:block;font-size:14px;line-height:1.5;color:#617686;margin-top:5px}
#bookingModal .modal-card{max-width:1020px;border-radius:16px}#bookingModal .modal-head{padding:22px 28px;border-bottom:1px solid #dce6ed;background:#fff}#bookingModal .modal-head h3{font-size:24px;line-height:1.3;font-weight:500}#bookingModal .modal-body{padding:24px 28px 30px}#bookingModal .checkout-grid{grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:30px;align-items:start}#bookingModal .booking-summary{background:#f4f8fb;border:1px solid #dbe7ef;border-radius:10px;padding:18px 20px;margin-bottom:25px}#bookingModal .form-grid{gap:18px 16px}#bookingModal .form-control label{font-size:14px;color:#415c6e;margin:0 0 7px}#bookingModal input:not([type=radio]):not([type=checkbox]),#bookingModal select,#bookingModal textarea{font-size:16px;min-height:46px;padding:11px 12px;border:1px solid #c5d5df;background:#fff;border-radius:7px;color:#173e57;width:100%}#bookingModal .form-intro{font-size:16px;line-height:1.7;margin:0 0 20px;color:#587181}.checkout-step{font-size:16px;font-weight:600;line-height:1.4;color:#24475e;margin:0 0 16px}.payment-title{font-size:16px!important;line-height:1.5;margin:28px 0 14px!important}.payment-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}.payment-option{position:relative;display:flex!important;align-items:flex-start!important;gap:10px!important;min-width:0;padding:18px 14px!important;background:#fff!important;border:1px solid #c9d9e5!important;border-radius:10px!important;box-shadow:none!important;backdrop-filter:none!important}.payment-option:has(input:checked){border-color:#1e6c97!important;background:#f0f8fd!important;box-shadow:inset 0 0 0 1px #1e6c97!important}.payment-option:has(input:focus-visible){outline:3px solid #a6d4f1;outline-offset:3px}.payment-option input{width:17px;height:17px;margin-top:5px;accent-color:#1e6c97;flex-shrink:0}.payment-option>span{min-width:0}.payment-option svg{display:block;width:29px;height:29px;color:#23698f;margin-bottom:10px}.payment-option b{font-size:15px!important;line-height:1.4!important;font-weight:600;display:block;overflow-wrap:anywhere}.payment-option small{display:block;font-size:12px!important;line-height:1.65!important;margin-top:5px;color:#5a7385!important}.payment-help{margin-top:12px!important;background:#f4f8fa!important;border:0!important;border-left:3px solid #8ebbd5!important;padding:12px 14px!important;border-radius:0 7px 7px 0;font-size:14px!important;line-height:1.7!important;color:#466175!important}.payment-preference-note{font-size:12px;line-height:1.65;color:#688092;margin:10px 0 0}.existing-payment{font-size:14px;line-height:1.7;padding:17px 0 0;margin-top:20px;border-top:1px solid #dce7ee}.existing-payment a{display:inline-block;color:#1b668f;font-weight:600;text-decoration:underline;text-underline-offset:3px}.existing-payment p{margin:0 0 5px}.payment-entry{padding:0!important;margin:0!important;border:0!important;background:none!important;border-radius:0!important}.terms{font-size:14px!important;line-height:1.7!important;margin:22px 0!important;gap:10px!important}.terms input{width:18px;height:18px;flex-shrink:0;accent-color:#1d6a93}.secure-line{font-size:12px!important;line-height:1.7!important;color:#658094!important}.checkout-summary{background:#f5f9fc!important;border:1px solid #dce7ef!important;border-radius:12px!important;padding:24px!important}.checkout-summary h4{font-size:19px!important;line-height:1.35;margin:0 0 19px}.checkout-summary .summary-room b{font-size:17px;line-height:1.5}.checkout-summary .source-badge{font-size:12px;line-height:1.7;color:#607a8c;margin-top:7px}.checkout-summary>p{font-size:14px!important;line-height:1.8!important;color:#536e80!important}.checkout-assistance{border-top:1px solid #d5e2eb;margin-top:22px;padding-top:18px}.checkout-assistance strong{display:block;font-size:14px;margin-bottom:13px}.checkout-assistance a{display:block;padding:9px 0;font-size:14px;color:#1f658a}.payment-unconfigured .checkout-summary .price-row{display:none}.gateway-status{font-size:14px!important;line-height:1.8!important}.review-rail-note{font-size:12px;color:#7b8991;line-height:1.5;margin-top:17px}
@media(min-width:1080px) and (max-width:1440px){.guest-frame{grid-template-columns:154px minmax(0,1fr) 154px;gap:16px;padding-inline:16px}.guest-frame .wrap{width:calc(100% - 36px)}.guest-frame .booking-shell .booking{width:calc(100% - 36px)}.guest-frame .booking .field{padding-inline:10px}.guest-frame .booking .btn{font-size:14px}.guest-frame .room-shortcut img{width:50px;height:58px}.guest-frame .room-shortcut{grid-template-columns:50px minmax(0,1fr);gap:8px;padding:7px}.rail-review{padding:14px 11px}.rail-review p{font-size:14px}}
@media(max-width:1079px){.guest-frame{display:block;padding:0 24px}.guest-rail{display:none}.guest-frame .wrap{width:calc(100% - 40px)}.direct-promo{margin-top:20px}.guest-frame .booking-shell .booking{width:calc(100% - 40px)}}
@media(max-width:750px){.guest-frame{padding:0}.guest-frame .wrap{width:calc(100% - 36px)}.direct-promo{margin:12px 12px 0;border-radius:12px}.direct-promo>.wrap{width:calc(100% - 28px);grid-template-columns:minmax(0,1fr) 98px minmax(0,1fr);column-gap:12px;row-gap:14px;padding:19px 0 15px}.direct-promo h1{font-size:17px;line-height:1.3}.direct-promo p.direct-promo-comparison{font-size:12px;line-height:1.5}.direct-promo-number small{font-size:12px;letter-spacing:.02em}.direct-promo-number b{font-size:56px;letter-spacing:-.035em}.direct-promo .btn{font-size:14px;line-height:1.35;padding:12px 10px;border-radius:7px;max-width:135px}.direct-promo p.direct-promo-terms{font-size:12px;line-height:1.5}.guest-frame .room-overview{padding-top:24px}.guest-frame .overview-heading h2{font-size:25px}.guest-frame .room-shortcut{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:6px;text-align:center}.guest-frame .room-shortcut img{width:100%;height:60px}.guest-frame .room-shortcut>span:not(.shortcut-arrow){font-size:13px;line-height:1.4;min-height:37px}.guest-frame .booking-shell .booking{width:calc(100% - 36px);grid-template-columns:1fr 1fr}.payment-overview{padding:28px 0}.payment-overview h2{font-size:25px}.payment-overview .lead{font-size:16px}.payment-overview-grid{gap:12px}.payment-overview-link{align-items:flex-start;flex-direction:column;padding:17px;gap:10px}.payment-overview-link strong{font-size:16px}.payment-overview-link small{font-size:14px}.guest-frame #reviews{padding-block:35px}.guest-frame #reviews h2{font-size:27px}.direct-arrival .contact-dock{right:12px;left:12px;bottom:74px}#bookingModal .modal-card{border-radius:12px}#bookingModal .modal-head{padding:18px 20px}#bookingModal .modal-head h3{font-size:22px}#bookingModal .modal-body{padding:20px}#bookingModal .checkout-grid{grid-template-columns:1fr;gap:24px}#bookingModal .form-grid{gap:17px}#bookingModal .checkout-summary{padding:20px!important}.payment-option{padding:16px 12px!important}.payment-option b{font-size:14px!important}.payment-help{font-size:14px!important}.checkout-summary{order:-1}.checkout-assistance{display:none}}
@media(max-width:380px){.direct-promo>.wrap{column-gap:8px;grid-template-columns:minmax(0,1fr) 85px minmax(0,1fr)}.direct-promo-number b{font-size:50px}.direct-promo .btn{padding:10px 7px;font-size:13px}.direct-promo h1{font-size:16px}.payment-options{grid-template-columns:1fr}.payment-overview-grid{grid-template-columns:1fr}.payment-overview-link{flex-direction:row}}
@media(prefers-reduced-motion:reduce){.payment-overview-link,.direct-promo .btn{transition:none}.direct-promo .btn:hover{transform:none}}

@media(min-width:1080px){.guest-rail{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}}
