/* A clear booking entrance with recognisable, linked booking channels. */
.booking-channels{background:#fff;border-bottom:1px solid #dce7ee;color:#244d67}
.booking-channels-inner{width:calc(100% - 48px);max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:center;gap:24px;min-height:76px;padding:12px 0}
.booking-channels-label{font-size:.875rem;line-height:1.5;font-weight:500;max-width:170px;margin:0}
.booking-channel-list{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;list-style:none;padding:0;margin:0}
.booking-channel-list a{display:flex;align-items:center;justify-content:center;width:150px;min-height:48px;padding:10px 14px;border:1px solid transparent;border-radius:8px;background:#fff;transition:background .2s,border-color .2s,transform .2s}
.booking-channel-list img{display:block;max-width:100%;width:auto;height:25px;object-fit:contain}
.booking-channel-list a:hover{background:#f1f7fc;border-color:#cbdfe9;transform:translateY(-2px)}
.booking-channel-list a:focus-visible,.booking-channels-direct:focus-visible{outline:3px solid #327dac;outline-offset:3px}
.booking-channels-direct{font-size:.875rem;font-weight:600;line-height:1.5;color:var(--tnj-primary);text-decoration:underline;text-underline-offset:4px;padding:10px 0;max-width:180px}
.booking-channels-footer{font-size:.75rem;line-height:1.6;color:#6b7f8c;margin:0;padding:0 24px 9px;text-align:center}
.direct-arrival .header-actions>.btn{border-radius:8px;background:var(--tnj-primary);color:#fff;border-color:var(--tnj-primary);box-shadow:none;font-size:.9375rem;font-weight:600;min-height:46px}
.direct-arrival .header-actions>.btn:hover{background:var(--tnj-primary-hover);border-color:var(--tnj-primary-hover)}
.direct-arrival .overview-heading h2{font-size:clamp(1.875rem,2.6vw,2.25rem);line-height:1.2;font-weight:500;letter-spacing:-.025em}
.direct-arrival .overview-heading .eyebrow{font-size:.875rem;line-height:1.5;letter-spacing:.09em}
.direct-arrival .overview-trust{font-size:.875rem;line-height:1.65}
.direct-arrival .room-shortcut>span:not(.shortcut-arrow){font-size:.9375rem;line-height:1.45;font-weight:500}
.direct-arrival .direct-promo h1{font-size:clamp(1.5rem,2.1vw,1.875rem);line-height:1.25;font-weight:500}
.direct-arrival .direct-promo-number b span{font-size:.75em}
.direct-arrival .booking-shell{background:#f4f8fb;border-color:#dce7ee}
.direct-arrival .booking-shell .booking{display:grid;grid-template-columns:1.4fr 1fr 1fr .72fr auto;gap:0;align-items:stretch;border:1px solid #cbdee9;border-radius:12px;background:white;box-shadow:0 8px 24px #123e5810;overflow:hidden;padding:0;margin-block:20px 8px}
.direct-arrival .booking-shell .booking .field{padding:15px 16px;min-width:0;border:0;border-right:1px solid #e1ebf1;background:white}
.direct-arrival .booking-shell .booking .field label{display:block;color:#607c8e;font-size:.875rem;line-height:1.5;font-weight:400;margin:0 0 6px}
.direct-arrival .booking-shell .booking .field input,.direct-arrival .booking-shell .booking .field select{display:block;min-width:0;width:100%;font-family:inherit;font-size:1rem;line-height:1.5;color:#163f59;background:white;border:0;border-radius:0;padding:0;height:auto;min-height:26px}
.direct-arrival .booking-shell .booking .field input:focus-visible,.direct-arrival .booking-shell .booking .field select:focus-visible{outline:2px solid #327dac;outline-offset:4px;border-radius:3px}
.direct-arrival .booking-shell .booking>.btn{align-self:center;min-height:48px;margin:12px;border-radius:8px;background:var(--tnj-primary);border:1px solid var(--tnj-primary);color:white;box-shadow:none;font-size:.9375rem;font-weight:500;white-space:normal;padding:12px 18px}
.direct-arrival .booking-shell .booking>.btn:hover{background:var(--tnj-primary-hover);border-color:var(--tnj-primary-hover)}
.direct-arrival .booking-support{font-size:.875rem;line-height:1.6;gap:12px;flex-wrap:wrap;padding-bottom:14px}
@media(min-width:1080px) and (max-width:1350px){.direct-arrival .booking-shell .booking{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.direct-arrival .booking-shell .booking .field:first-child{grid-column:1/-1;border-right:0;border-bottom:1px solid #e1ebf1}.direct-arrival .booking-shell .booking .field:nth-child(4){grid-column:1/3;border-top:1px solid #e1ebf1}.direct-arrival .booking-shell .booking>.btn{grid-column:3;grid-row:2/4}.direct-arrival .booking-shell .booking .field{padding:12px 16px}}
@media(max-width:1000px){.booking-channels-inner{gap:10px 16px;flex-wrap:wrap;padding:12px 0;min-height:0}.booking-channels-label{max-width:none}.booking-channel-list{gap:6px}.booking-channel-list a{width:130px}.booking-channels-direct{max-width:none}.booking-channels-footer{padding-bottom:10px}}
@media(max-width:750px){.booking-channels-inner{width:calc(100% - 36px);display:grid;grid-template-columns:1fr;gap:7px;padding:12px 0 8px}.booking-channels-label{text-align:center;font-size:.875rem}.booking-channel-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}.booking-channel-list li{min-width:0}.booking-channel-list a{width:100%;padding:10px 5px;min-height:44px}.booking-channel-list img{height:20px;max-width:100%}.booking-channels-direct{display:none}.booking-channels-footer{font-size:.75rem;padding-inline:18px}.direct-arrival .direct-promo h1{font-size:1.25rem}.direct-arrival .room-shortcut>span:not(.shortcut-arrow){font-size:.875rem;line-height:1.45;min-height:42px}.direct-arrival .booking-shell .booking{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.direct-arrival .booking-shell .booking .field{padding:13px 12px;border-bottom:1px solid #e1ebf1}.direct-arrival .booking-shell .booking .field:first-child{grid-column:1/-1;border-right:0}.direct-arrival .booking-shell .booking .field:nth-child(3){border-right:0}.direct-arrival .booking-shell .booking .field:nth-child(4){border-bottom:0}.direct-arrival .booking-shell .booking>.btn{margin:10px;min-height:48px}.direct-arrival .booking-support{padding-inline:18px;justify-content:center;text-align:center}}
@media(max-width:380px){.booking-channel-list{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-channel-list img{height:23px}.booking-channel-list a{padding-inline:10px}.direct-arrival .direct-promo>.wrap{column-gap:8px;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr)}.direct-arrival .direct-promo h1{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){.booking-channel-list a{transition:none}.booking-channel-list a:hover{transform:none}}

/* Move the original links back and forth; keep every channel keyboard accessible. */
.booking-channel-caption{display:flex;align-items:center;gap:10px;flex:0 1 210px;min-width:0}
.booking-channel-toggle{flex:0 0 30px;display:grid;place-items:center;width:30px;height:30px;padding:5px;border:1px solid #d4e4ed;border-radius:50%;background:#f4f9fc;color:#316782;cursor:pointer}
.booking-channel-toggle:hover{background:#e3f1f9;border-color:#9cbed2}
.booking-channel-toggle:focus-visible{outline:3px solid #327dac;outline-offset:3px}
.booking-channel-toggle svg{width:17px;height:17px;display:block}.booking-channel-toggle .channel-play-icon{display:none}
.booking-channels.is-user-paused .channel-pause-icon{display:none}.booking-channels.is-user-paused .channel-play-icon{display:block}
.booking-channel-window{width:100%;max-width:760px;flex:1 1 640px;min-width:0;padding:8px 20px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:8px}
.booking-channel-window::-webkit-scrollbar{display:none}
.booking-channel-list{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:18px;width:max-content;min-width:0;margin:0;padding:0;transform:none}
.booking-channel-list li{flex:0 0 auto;min-width:0}.booking-channel-list a{width:148px;min-height:48px;padding:10px 12px}
.booking-channel-window.is-motion-ready{overflow-x:hidden;mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}
.is-motion-ready .booking-channel-list{animation:tnj-channels-shuttle 10s ease-in-out infinite alternate}
.booking-channel-window:hover .booking-channel-list,.booking-channel-window:active .booking-channel-list,.booking-channels.is-user-paused .booking-channel-list,.motion-paused .booking-channel-list,.booking-channel-window:not(.channel-in-view) .booking-channel-list{animation-play-state:paused}
.booking-channel-window:focus-within .booking-channel-list{animation:none;transform:translate3d(var(--channel-focus,0px),0,0)}
@keyframes tnj-channels-shuttle{0%,8%{transform:translate3d(var(--channel-start,0px),0,0)}92%,100%{transform:translate3d(var(--channel-end,0px),0,0)}}
@media(max-width:1000px){.booking-channels-inner{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:3px}.booking-channel-caption{justify-content:center;max-width:none}.booking-channels-label{max-width:none;text-align:center}.booking-channels-direct{text-align:center;padding:4px 0 8px}.booking-channel-window{max-width:760px}}
@media(max-width:750px){.booking-channels-inner{gap:3px;padding-bottom:5px}.booking-channel-caption{width:100%}.booking-channels-label{max-width:calc(100% - 46px)}.booking-channel-window{padding:8px 12px}.booking-channel-list{display:flex;gap:16px;width:max-content}.booking-channel-list a{width:134px;padding:10px 12px;min-height:48px}.booking-channel-list img{height:24px}.is-motion-ready .booking-channel-list{animation-duration:14s}.booking-channels-direct{display:none}}
@media(prefers-reduced-motion:reduce){.booking-channel-window,.booking-channel-window.is-motion-ready{overflow-x:auto;mask-image:none}.booking-channel-toggle{display:none}.is-motion-ready .booking-channel-list,.booking-channel-window:focus-within .booking-channel-list{animation:none;transform:none}.booking-channel-window{scrollbar-width:thin}}
