:root{--sky:#5bb8e8;--sky-dark:#2a7fc4;--sky-bg:#6cc3f2;--white:#fff;--card-shadow:0 4px 20px #003c642e;--yellow:#ffe500;--text-dark:#1a2a3a;--radius:18px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--sky-bg);color:var(--text-dark);font-family:Segoe UI,Trebuchet MS,Arial,sans-serif;overflow:hidden}body.view-scroll{overflow-y:auto}#root{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.view-scroll #root{height:100dvh;min-height:100dvh;overflow:visible}.social-bar{z-index:100;background:var(--white);color:var(--sky-dark);border-radius:28px;align-items:center;gap:10px;padding:8px 18px;font-size:12px;font-weight:700;display:flex;position:fixed;top:14px;right:16px;box-shadow:0 2px 14px #0000002e}.social-bar__label{letter-spacing:.6px;text-transform:uppercase;color:var(--sky-dark);margin-right:2px;font-size:11px}.social-bar a{color:var(--sky-dark);align-items:center;text-decoration:none;transition:opacity .15s;display:flex}.social-bar a:hover{opacity:.7}.social-bar .sep{background:#2a7fc440;width:1px;height:16px}.flag-btn{cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:0;transition:opacity .15s;display:flex;overflow:hidden}.flag-btn:hover{opacity:.7}.hero{background:linear-gradient(150deg,#0d2b4a 0%,#1557a0 45%,#2d8ed4 80%,#5bb8e8 100%);border-radius:0 0 0 64px;flex:0 0 clamp(280px,48dvh,500px);width:100%;position:relative;overflow:hidden}.hero__img{object-fit:cover;object-position:center 60%;opacity:.5;width:100%;height:100%;position:absolute;inset:0}.hero__overlay{background:linear-gradient(160deg,#081c3c66 0%,#12468280 100%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;height:100%;color:var(--white);flex-direction:column;justify-content:center;align-items:center;padding:54px 24px 58px;display:flex;position:relative}.hero__hotel-name{letter-spacing:1.5px;text-transform:uppercase;opacity:.85;margin-bottom:10px;font-size:clamp(13px,3vw,20px);font-weight:600}.hero__title{text-shadow:0 3px 16px #0006;margin-bottom:10px;font-size:clamp(26px,7vw,52px);font-weight:800;line-height:1.1}.hero__subtitle{opacity:.82;max-width:42ch;font-size:clamp(13px,3vw,18px);line-height:1.5}.hero__actions{justify-content:center;margin-top:24px;display:flex}.hero__browse-btn{color:var(--white);letter-spacing:.01em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1.5px solid #ffffff59;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:800;transition:transform .15s,background .15s,border-color .15s;box-shadow:0 12px 28px #071a3938}.hero__browse-btn:hover,.hero__browse-btn:focus-visible{background:#ffffff2e;border-color:#ffffff8c;outline:none;transform:translateY(-2px)}.page-main{background:var(--sky-bg);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 16px 16px;display:flex;overflow:hidden}.landing-brand-wave{z-index:3;pointer-events:none;background:0 0;height:clamp(112px,17dvh,170px);position:fixed;bottom:0;left:0;right:0;overflow:hidden}.landing-brand-wave--hidden,body.view-scroll .landing-brand-wave{display:none}.landing-brand-wave__shape{width:100%;height:100%;display:block;position:absolute;inset:0}.landing-brand-wave__name{max-width:min(72vw,480px);color:var(--sky-dark);letter-spacing:.04em;text-align:right;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px #fffffff2,0 10px 24px #145ea252;font-size:clamp(18px,3vw,34px);font-weight:900;line-height:1;position:absolute;bottom:clamp(25px,3.4dvh,42px);right:clamp(18px,5vw,64px);overflow:hidden}.landing-brand-wave__copyright{max-width:calc(100vw - 36px);color:var(--sky-dark);letter-spacing:.02em;text-align:center;white-space:nowrap;opacity:.78;text-shadow:0 1px #ffffffe0;font-size:10px;font-weight:800;line-height:1;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.schedule-browser{z-index:320;position:fixed;inset:0}.schedule-browser__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04142c73;position:absolute;inset:0}.schedule-browser__panel{width:100%;height:100dvh;max-height:100dvh;color:var(--white);background:radial-gradient(circle at 100% 0,#ffffff1f,#0000 32%),linear-gradient(160deg,#10345b 0%,#1e63aa 45%,#66bee9 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.schedule-browser__header{justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 28px 18px;display:flex}.schedule-browser__header-copy h2{margin-bottom:0;font-size:clamp(24px,4vw,36px);line-height:1.08}.schedule-browser__header-copy p{color:#ffffffd1;max-width:56ch;font-size:14px;line-height:1.6}.schedule-browser__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#ffffffb3;margin-bottom:8px;font-size:11px;font-weight:800}.schedule-browser__close,.schedule-browser__nav-btn{color:var(--white);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff3d;border-radius:999px;font-family:inherit;font-weight:700;transition:transform .15s,background .15s,opacity .15s}.schedule-browser__close{min-width:104px;padding:12px 18px}.schedule-browser__nav-btn{justify-content:center;align-items:center;gap:8px;min-width:156px;padding:12px 18px;display:inline-flex}.schedule-browser__close:hover,.schedule-browser__nav-btn:hover,.schedule-browser__close:focus-visible,.schedule-browser__nav-btn:focus-visible{background:#ffffff2e;outline:none;transform:translateY(-1px)}.schedule-browser__nav-btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.schedule-browser__toolbar{grid-template-columns:minmax(0,180px) minmax(0,1fr) minmax(0,180px);align-items:center;gap:16px;padding:0 28px 24px;display:grid}.schedule-browser__quick-nav{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:0 28px 18px;display:flex;overflow-x:auto}.schedule-browser__quick-nav::-webkit-scrollbar{display:none}.schedule-browser__quick-link{min-width:132px;color:var(--white);cursor:pointer;font:inherit;text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:18px;flex:none;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.schedule-browser__quick-link:hover,.schedule-browser__quick-link:focus-visible{background:#ffffff2e;border-color:#ffffff5c;outline:none;transform:translateY(-1px)}.schedule-browser__quick-link-label{font-size:13px;font-weight:800;line-height:1.25}.schedule-browser__quick-link-count{width:28px;height:28px;color:var(--white);background:#ffffff2e;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.schedule-browser__date-card{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border:1px solid #fff3;border-radius:18px;flex-direction:column;align-items:center;gap:5px;padding:14px 20px;display:flex;box-shadow:0 14px 32px #0c2a4c33}.schedule-browser__date-picker-shell{width:100%;min-width:0;position:relative}.schedule-browser__date-card--button{cursor:pointer;appearance:none;width:100%;font:inherit;color:inherit}.schedule-browser__date-card--button:hover,.schedule-browser__date-card--button:focus-visible{background:#fff3;border-color:#ffffff47}.schedule-browser__date-native{z-index:2;opacity:0;color:#0000;cursor:pointer;touch-action:manipulation;appearance:none;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0;overflow:hidden}.schedule-browser__date-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffffb8;font-size:11px}.schedule-browser__date-card strong{font-size:clamp(18px,3vw,24px)}.schedule-browser__date-card span:last-child{color:#fffc;font-size:12px}.schedule-browser__body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;padding:0 28px 28px;scroll-padding-top:16px;overflow-y:auto}.schedule-browser__state{text-align:center;background:#ffffff1f;border:1px solid #ffffff29;border-radius:24px;justify-content:center;align-items:center;min-height:240px;padding:32px;font-size:15px;font-weight:700;display:flex}.schedule-browser__state--error{color:#ffe5e1;background:#c0392b29;border-color:#ffe5e138}.schedule-browser__grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-content:start;gap:18px;display:grid}.suggestion-modal{z-index:330;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.suggestion-modal__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04142c73;position:absolute;inset:0}.suggestion-modal__panel{background:#fff;border-radius:16px;width:90%;max-width:420px;animation:.3s ease-out slideUp;position:relative;box-shadow:0 20px 60px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.suggestion-modal__content{text-align:center;padding:32px 24px}.suggestion-modal__message{color:var(--text-dark);margin-bottom:24px;font-size:16px;font-weight:500;line-height:1.6}.suggestion-modal__message--loading{color:#999;font-style:italic}.suggestion-modal__actions{flex-direction:column;gap:12px;display:flex}.suggestion-modal__btn{cursor:pointer;border:none;border-radius:8px;padding:12px 20px;font-family:inherit;font-size:16px;font-weight:600;transition:all .2s}.suggestion-modal__btn--primary{color:#fff;background:#10345b}.suggestion-modal__btn--primary:hover,.suggestion-modal__btn--primary:focus-visible{outline-offset:2px;background:#0a2242;outline:2px solid #1e63aa;transform:translateY(-2px)}.suggestion-modal__btn--secondary{color:var(--text-dark);background:#f0f0f0;border:1px solid #e0e0e0}.suggestion-modal__btn--secondary:hover,.suggestion-modal__btn--secondary:focus-visible{outline-offset:2px;background:#e8e8e8;border-color:#d0d0d0;outline:2px solid #999}.otp-modal{z-index:340;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.otp-modal__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04142c80;position:absolute;inset:0}.otp-modal__panel{background:#fff;border-radius:16px;width:90%;max-width:420px;animation:.3s ease-out slideUp;position:relative;box-shadow:0 20px 60px #0003}.otp-modal__close{color:#6a7c98;cursor:pointer;background:0 0;border:none;border-radius:8px;width:32px;height:32px;font-size:24px;line-height:1;position:absolute;top:8px;right:12px}.otp-modal__close:hover,.otp-modal__close:focus-visible{color:var(--text-dark);background:#f0f4fa;outline:none}.otp-modal__content{text-align:center;padding:28px 24px 24px}.otp-modal__title{color:var(--sky-dark);margin:0 0 12px;font-size:18px;font-weight:700}.otp-modal__message{color:#3a5070;margin:0 0 20px;font-size:14px;line-height:1.6}.otp-modal__content .form-group{text-align:left;margin-bottom:20px}.otp-modal__content .otp-panel__input{letter-spacing:8px;text-align:center;font-size:22px;font-weight:600}.otp-modal__actions{flex-direction:column;gap:10px;display:flex}.otp-modal__actions .btn-primary,.otp-modal__actions .btn-secondary{cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s}.otp-modal__actions .btn-secondary{color:var(--text-dark);background:#f0f0f0;border:1px solid #e0e0e0}.otp-modal__actions .btn-secondary:hover:not(:disabled),.otp-modal__actions .btn-secondary:focus-visible:not(:disabled){outline-offset:2px;background:#e8e8e8;border-color:#d0d0d0;outline:2px solid #999}.otp-modal__actions button:disabled{opacity:.55;cursor:not-allowed}.schedule-section{color:var(--text-dark);background:#fffffff5;border-radius:24px;padding:20px;box-shadow:0 18px 48px #081f3c29}.schedule-section__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.schedule-section__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--sky-dark);margin-bottom:6px;font-size:11px;font-weight:800}.schedule-section__header h3{font-size:20px;line-height:1.1}.schedule-section__count{min-width:36px;height:36px;color:var(--sky-dark);background:#eaf4fb;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:14px;font-weight:800;display:inline-flex}.schedule-section__description{color:#56708a;margin:12px 0 16px;font-size:13px;line-height:1.55}.schedule-section__empty{text-align:center;color:#56708a;background:#f5f9fd;border:1px dashed #cddfec;border-radius:18px;justify-content:center;align-items:center;min-height:120px;padding:20px;font-size:13px;line-height:1.55;display:flex}.schedule-route-list{flex-direction:column;gap:12px;display:flex}.schedule-route-card{background:linear-gradient(#fff 0%,#f7fbfe 100%);border:1px solid #d9e8f5;border-radius:18px;gap:10px;padding:16px;display:grid}.schedule-route-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-route-card__time{text-transform:uppercase;letter-spacing:.06em;color:var(--sky-dark);margin-bottom:6px;font-size:12px;font-weight:800}.schedule-route-card h4{font-size:15px;line-height:1.4}.schedule-route-card__seats{color:#0f7d43;text-align:center;background:#e6f7ec;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.schedule-route-card__meta{color:#56708a;margin-top:10px;font-size:12px;line-height:1.5}body.view-scroll .page-main{flex:1;justify-content:flex-start;align-items:stretch;padding:24px 16px 32px;overflow:visible}.cards-row{flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:20px;display:flex}.action-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--card-shadow);cursor:pointer;width:128px;height:128px;color:var(--sky-dark);-webkit-tap-highlight-color:transparent;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.action-card:hover,.action-card:focus-visible{border-color:#5bb8e873;outline:none;transform:translateY(-5px);box-shadow:0 10px 32px #003c643d}.action-card svg{width:30px;height:30px;stroke:var(--sky-dark)}.info-banner{background:var(--yellow);text-align:center;color:#1a1a1a;border-radius:10px;width:100%;max-width:500px;padding:14px 24px;font-size:10px;line-height:1.55;box-shadow:0 4px 16px #0000001f}.info-banner__route{letter-spacing:.4px;justify-content:center;align-items:center;gap:8px;margin-top:6px;font-size:14px;font-weight:800;display:flex}.view-wrapper{flex-direction:column;flex:1;width:100%;max-width:540px;margin:0 auto;padding-bottom:80px;display:flex}.view-header{background:var(--white);border-radius:var(--radius) var(--radius) 0 0;align-items:center;margin-bottom:2px;padding:14px 18px;display:flex;box-shadow:0 2px 10px #00000014}.view-header h2{font-size:17px;font-weight:700}.view-body{background:var(--white);border-radius:0 0 var(--radius) var(--radius);flex:1;padding:24px 20px;overflow-y:auto}.view-wrapper--success{max-width:560px}.view-header--success{border-bottom:2px solid #5bb8e86b}.view-body--success{background:linear-gradient(#fff 0%,#f4fbff 100%);flex-direction:column;justify-content:center;align-items:center;padding:clamp(28px,6vh,54px) 22px;display:flex}.view-body--success .step-bar{margin-bottom:20px}.special-success{text-align:center;width:100%;max-width:420px;margin:0 auto}.special-success__mark{background:linear-gradient(145deg,#2a7fc4,#5bb8e8);border-radius:50%;width:76px;height:76px;margin:0 auto 18px;position:relative;box-shadow:0 18px 34px #2a7fc447}.special-success__mark:before{content:"";border:5px solid #fff;border-width:0 5px 5px 0;border-radius:3px;width:20px;height:32px;position:absolute;top:21px;left:25px;transform:rotate(45deg)}.special-success__eyebrow{color:var(--sky-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:900}.special-success h3{color:var(--text-dark);margin:0 0 12px;font-size:clamp(24px,5vw,32px);line-height:1.08}.special-success__message{color:#3a5070;max-width:36ch;margin:0 auto 20px;font-size:14px;line-height:1.65}.special-success__reference{text-align:left;background:#ffffffbf;border:1px solid #cce4f5;border-radius:14px;gap:4px;margin:0 0 20px;padding:12px 14px;display:grid}.special-success__reference span{color:#3a5070;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.special-success__reference strong{color:var(--sky-dark);word-break:break-word;font-size:13px;line-height:1.4}.special-success__timeline{text-align:left;gap:10px;display:grid}.special-success__timeline-item{color:#3a5070;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;font-size:13px;line-height:1.5;display:grid}.special-success__timeline-item span{background:#e0f2fe;border:1px solid #9bd3f2;border-radius:50%;width:22px;height:22px;position:relative}.special-success__timeline-item span:before{content:"";border:solid var(--sky-dark);border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:5px;left:7px;transform:rotate(45deg)}.special-success__timeline-item p{margin:1px 0 0}.booking-success{text-align:center;width:100%;max-width:440px;margin:0 auto}.booking-success__mark{background:linear-gradient(145deg,#22a95f,#2a7fc4);border-radius:50%;width:76px;height:76px;margin:0 auto 16px;position:relative;box-shadow:0 18px 34px #2a7fc43d}.booking-success__mark:before{content:"";border:5px solid #fff;border-width:0 5px 5px 0;border-radius:3px;width:20px;height:32px;position:absolute;top:21px;left:25px;transform:rotate(45deg)}.booking-success__eyebrow{color:#1f8b55;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:900}.booking-success h3{color:var(--text-dark);margin:0 0 12px;font-size:clamp(26px,5.4vw,34px);line-height:1.08}.booking-success__message{color:#3a5070;max-width:42ch;margin:0 auto 18px;font-size:14px;line-height:1.65}.booking-success__reference{min-width:min(100%,260px);color:var(--sky-dark);background:#eef7ff;border:1px solid #b9d8f4;border-radius:8px;gap:5px;margin:0 auto 18px;padding:13px 16px;display:inline-grid;box-shadow:0 10px 24px #2a7fc41f}.booking-success__reference span{color:#3a5070;text-transform:uppercase;font-size:11px;font-weight:800}.booking-success__reference strong{color:var(--sky-dark);overflow-wrap:anywhere;font-size:18px;line-height:1.2}.booking-success__next{text-align:left;gap:10px;margin-top:4px;display:grid}.booking-success__next-item{background:#ffffffd1;border:1px solid #dceaf5;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid;box-shadow:0 8px 18px #2a7fc414}.booking-success__next-icon{background:#e5f8ee;border:1px solid #b9ecd0;border-radius:50%;width:34px;height:34px;position:relative}.booking-success__next-icon:before{content:"";border:2px solid #22a95f;border-width:0 2px 2px 0;width:8px;height:14px;position:absolute;top:8px;left:12px;transform:rotate(45deg)}.booking-success__next-item strong{color:var(--text-dark);font-size:13px;font-weight:900;line-height:1.25;display:block}.booking-success__next-item p{color:#3a5070;overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.4}.bottom-bar{z-index:50;background:var(--white);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000001f}.bottom-bar--nav{justify-content:space-between}.bottom-bar--single{justify-content:flex-end}.bottom-bar--nav .back-btn,.bottom-bar--nav .btn-primary,.bottom-bar--single .btn-primary{white-space:nowrap;flex:none;justify-content:center;min-width:132px;padding-inline:18px}.back-btn{cursor:pointer;color:var(--sky-dark);white-space:nowrap;background:0 0;border:2px solid #d0dce8;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s,border-color .15s;display:flex}.back-btn:hover{opacity:.75;border-color:var(--sky-dark)}.form-group{margin-bottom:18px}.service-type-control--hidden{display:none}.form-group label{color:#3a5070;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-control{width:100%;color:var(--text-dark);appearance:none;background:#f6fafd;border:1.5px solid #d0dce8;border-radius:10px;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.form-control:focus{border-color:var(--sky-dark);background:var(--white);outline:none}.form-control[aria-invalid=true]{background:#fff7f7;border-color:#d94f4f}.date-ddmmyyyy-input{letter-spacing:0}.otp-panel{background:#f0f8ff;border:1.5px solid #b9ddf3;border-radius:12px;margin:18px 0 4px;padding:14px;box-shadow:0 8px 22px #2a7fc41a}.otp-panel__message{color:var(--sky-dark);margin:0 0 12px;font-size:13px;font-weight:700;line-height:1.45}.otp-panel .form-group{margin-bottom:0}.otp-panel__input{background:var(--white);letter-spacing:0;text-align:center;font-size:18px;font-weight:800}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.route-item{cursor:pointer;background:#fff;border:1.5px solid #d0dce8;border-radius:10px;margin-bottom:10px;padding:12px;transition:border-color .15s,background .15s,box-shadow .15s}.route-item:hover{border-color:#2a7fc494;box-shadow:0 8px 20px #2a7fc41f}.route-item--selected{border-color:var(--sky-dark);background:#eef6fd}.route-item__title{color:var(--text-dark);font-size:14px;font-weight:700;line-height:1.35}.route-item__meta{color:#3a5070;margin-top:3px;font-size:12px;line-height:1.35}.route-item__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.route-item__price{color:#166534;white-space:nowrap;background:#e8f7ee;border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:800;line-height:1.2}.route-item--cruise-pair{padding:14px 12px}.cruise-pair-option{gap:6px;min-width:0;display:grid}.cruise-pair-option__row{grid-template-columns:48px minmax(0,1fr);align-items:baseline;column-gap:8px;display:grid}.cruise-pair-option__time{color:var(--text-dark);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800;line-height:1.35}.cruise-pair-option__route{min-width:0;color:var(--text-dark);align-items:baseline;gap:6px;font-size:14px;font-weight:800;line-height:1.35;display:inline-flex}.cruise-pair-option__point{overflow-wrap:anywhere;min-width:0}.cruise-pair-option__arrow{color:var(--sky-dark);text-align:center;font-weight:900}.btn-primary{background:var(--sky-dark);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:700;transition:background .15s,transform .1s;display:flex}.btn-primary:hover{background:#1a5fa0}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary,.btn-danger{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:700;transition:opacity .15s,transform .1s,border-color .15s,background .15s;display:inline-flex}.btn-secondary{color:var(--sky-dark);background:#fff;border:2px solid #d0dce8}.btn-secondary:hover{border-color:var(--sky-dark)}.btn-danger{color:#c0392b;background:#fff3f0;border:2px solid #efb0a8}.btn-danger:hover{background:#ffe7e3}.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.step-bar{flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;margin-bottom:24px;display:flex}.step-bar--dense .step-dot{width:22px;height:22px;font-size:11px}.step-bar--dense .step-line{width:18px}.step-dot{color:#7a9ab4;background:#d0dce8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.step-dot.active{background:var(--sky-dark);color:var(--white)}.step-dot.done{color:var(--white);background:#27ae60}.step-line{background:#d0dce8;width:32px;height:2px}.step-line.done{background:#27ae60}@media (width<=420px){.step-bar--dense .step-dot{width:20px;height:20px;font-size:10px}.step-bar--dense .step-line{width:14px}}.faq-item{border-bottom:1px solid #e8f0f8;padding:14px 0}.faq-item:last-child{border-bottom:none}.faq-question{color:var(--sky-dark);margin-bottom:6px;font-size:14px;font-weight:700}.faq-answer{color:#3a5070;font-size:13px;line-height:1.6}.price-card{background:#f0f8ff;border:1px solid #cce4f5;border-radius:12px;margin-top:16px;padding:14px 16px}.price-card__title{text-transform:uppercase;letter-spacing:.05em;color:var(--sky-dark);margin-bottom:10px;font-size:11px;font-weight:700}.price-card__row{color:#3a5070;border-bottom:1px solid #daedf8;justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.price-card__row:last-of-type{border-bottom:none}.price-card__total{color:var(--sky-dark);border-top:2px solid #cce4f5;justify-content:space-between;margin-top:6px;padding-top:10px;font-size:14px;font-weight:700;display:flex}.voucher-card{border:2px solid var(--sky-dark);background:#f6fafd;border-radius:14px;padding:16px}.voucher-card__title,.voucher-section__title{color:var(--sky-dark);font-size:15px;font-weight:800}.voucher-card__title{margin-bottom:12px}.voucher-row{border-bottom:1px solid #e8f0f8;justify-content:space-between;gap:16px;padding:8px 0;font-size:13px;display:flex}.voucher-row__label{color:#3a5070;font-weight:600}.voucher-row__value{color:var(--text-dark);text-align:right}.voucher-section{border-top:1px solid #d9e8f5;margin-top:18px;padding-top:18px}.voucher-help{color:#3a5070;margin:8px 0 14px;font-size:13px;line-height:1.6}.voucher-actions{flex-wrap:wrap;gap:10px;display:flex}.voucher-actions .btn-primary,.voucher-actions .btn-secondary,.voucher-actions .btn-danger{flex:180px}.point-map-card{background:#f6fafd;border:1px solid #cce4f5;border-radius:12px;margin-bottom:18px;padding:14px}.point-map-card__title{text-transform:uppercase;letter-spacing:.04em;color:var(--sky-dark);font-size:12px;font-weight:800}.point-map-card__text{color:#3a5070;margin:6px 0 12px;font-size:12px;line-height:1.5}.point-map{background:#eaf4fb;border:1px solid #d9e8f5;border-radius:12px;width:100%;height:230px;min-height:230px;position:relative;overflow:hidden}.point-map.maplibregl-map{width:100%;height:230px;min-height:230px}.point-map .maplibregl-ctrl-attrib{font-size:10px}.maplibregl-ctrl-bottom-right{display:none!important}.point-map-marker{background:#7a9ab4;border:2px solid #fff;border-radius:999px;width:14px;height:14px;display:block;box-shadow:0 8px 18px #24364b38}.point-map-marker--hotel{background:#0e766e;width:18px;height:18px}.point-map-marker--selected{background:#2a7fc4;width:18px;height:18px;box-shadow:0 8px 20px #2a7fc452}.point-map__empty{text-align:center;color:#3a5070;justify-content:center;align-items:center;height:100%;padding:18px;font-size:13px;line-height:1.5;display:flex}.point-map-legend{flex-wrap:wrap;gap:10px 16px;margin-top:12px;display:flex}.point-map-legend__item{color:#3a5070;align-items:center;gap:6px;font-size:12px;display:inline-flex}.point-map-legend__dot{border-radius:50%;width:10px;height:10px;display:inline-block}.point-map-legend__dot--hotel{background:#0e766e}.point-map-legend__dot--point{background:#7a9ab4}.point-map-legend__dot--selected{background:#2a7fc4}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;white-space:nowrap;white-space:normal;text-align:center;border-radius:10px;max-width:320px;padding:12px 20px;font-size:13px;font-weight:600;transition:opacity .3s;animation:.2s toast-in;box-shadow:0 4px 16px #0000002e}.toast--error{color:#fff;background:#c0392b}.toast--success{color:#fff;background:#1e8449}.toast--fade{opacity:0}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.date-input-wrap{align-items:center;display:flex;position:relative}.form-control--date{padding-right:52px}.date-picker-btn{width:32px;height:32px;color:var(--sky-dark);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.date-picker-btn svg{width:18px;height:18px}.date-native-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}@media (pointer:coarse){.date-native-input{z-index:2;pointer-events:auto;cursor:pointer;touch-action:manipulation;appearance:none;width:100%;height:100%;font-size:16px;inset:0}}.msg{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:600}.msg--error{color:#c0392b;background:#fff0f0;border:1px solid #f5c6cb}.msg--success{color:#1e8449;background:#f0fff4;border:1px solid #c3e6cb}@media (width>=1024px){.hero{flex-basis:clamp(320px,44dvh,480px)}.action-card{width:148px;height:148px;font-size:15px}.action-card svg{width:34px;height:34px}.cards-row{gap:24px;margin-bottom:28px}.hero__content{padding:64px 40px 66px}.schedule-browser__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=600px) and (width<=1023px){.hero{flex-basis:clamp(280px,46dvh,460px)}}@media (width<=720px),(height<=760px){body:not(.view-scroll){overflow-y:auto}body:not(.view-scroll) #root{height:auto;min-height:100dvh;overflow:visible}body:not(.view-scroll) .page-main{flex:none;justify-content:flex-start;padding:14px 14px 24px;overflow:visible}body:not(.view-scroll) .hero{flex:none;min-height:clamp(260px,40dvh,330px)}body:not(.view-scroll) .hero__content{padding:82px 18px 18px}}@media (width<=420px){.action-card{width:100px;height:100px;font-size:13px}.action-card svg{width:24px;height:24px}.cards-row{gap:10px;margin-bottom:14px}.hero{border-radius:0 0 0 44px;flex-basis:clamp(280px,50dvh,420px)}.info-banner{padding:12px 14px;font-size:10px}.social-bar__label{display:none}.hero__actions{margin-top:18px}.hero__browse-btn{width:100%;max-width:280px}.landing-brand-wave{height:116px}.landing-brand-wave__name{max-width:74vw;font-size:17px;bottom:23px;right:18px}.landing-brand-wave__copyright{max-width:calc(100vw - 32px);font-size:9px;bottom:4px}}@media (width<=720px){.route-item__top{flex-direction:column}.route-item__price{align-self:flex-start}.view-body{padding-bottom:104px}.bottom-bar{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));gap:10px}.bottom-bar--nav{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.bottom-bar--single{justify-content:stretch}.bottom-bar--nav .back-btn,.bottom-bar--nav .btn-primary,.bottom-bar--single .btn-primary{white-space:normal;text-align:center;flex:auto;width:100%;min-width:0;min-height:52px;padding:12px 14px;line-height:1.25}.schedule-browser__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px 14px 10px;display:grid}.schedule-browser__header-copy{min-width:0}.schedule-browser__header-copy h2{font-size:clamp(20px,6vw,24px)}.schedule-browser__toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}.schedule-browser__date-picker-shell{order:-1;grid-column:1/-1}.schedule-browser__date-card{text-align:left;align-items:flex-start;padding:14px 16px}.schedule-browser__date-card strong{font-size:20px}.schedule-browser__quick-nav{gap:8px;padding:0 14px 14px}.schedule-browser__quick-link{border-radius:16px;min-width:116px;padding:11px 12px}.schedule-browser__quick-link-label{font-size:12px}.schedule-browser__body{padding:0 14px calc(20px + env(safe-area-inset-bottom,0px))}.schedule-browser__grid{grid-template-columns:1fr;gap:14px}.schedule-browser__close,.schedule-browser__nav-btn{width:100%;min-width:0;padding:12px;font-size:14px}.schedule-browser__close{width:auto;min-width:0;padding:10px 12px}.schedule-section{border-radius:20px;padding:16px}.schedule-section__header h3{font-size:18px}.schedule-section__description{margin:10px 0 14px}.schedule-route-card__top{flex-direction:column;gap:10px}.schedule-route-card__seats{align-self:flex-start}}@media (width<=420px){body:not(.view-scroll){overflow-y:auto}body:not(.view-scroll) #root{height:auto;min-height:100dvh;overflow:visible}body:not(.view-scroll) .page-main{flex:none;justify-content:flex-start;padding:14px 14px 24px;overflow:visible}body:not(.view-scroll) .hero{flex:none;min-height:clamp(310px,42dvh,350px)}body:not(.view-scroll) .hero__content{padding:82px 18px 18px}.schedule-browser__header{gap:10px;padding:14px 12px 8px}.schedule-browser__header-copy h2{font-size:clamp(18px,5.6vw,22px)}.schedule-browser__eyebrow{margin-bottom:6px;font-size:10px}.bottom-bar{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));gap:8px}.bottom-bar--nav .back-btn,.bottom-bar--nav .btn-primary,.bottom-bar--single .btn-primary{padding:11px 10px;font-size:14px}.schedule-browser__quick-link{min-width:104px;padding:10px 11px}.schedule-browser__quick-link-label{font-size:11px}.schedule-browser__quick-link-count{width:24px;height:24px;font-size:11px}.schedule-browser__toolbar{gap:8px}.schedule-browser__date-card{padding:13px 14px}.schedule-browser__date-card strong{font-size:18px}.schedule-route-card{padding:14px}.schedule-route-card h4{font-size:14px}.cruise-pair-option__row{grid-template-columns:44px minmax(0,1fr);column-gap:6px}.cruise-pair-option__route{gap:5px;font-size:13px}.cards-row--services{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,360px);margin-bottom:0}.cards-row--services .action-card{aspect-ratio:1;gap:4px;min-height:0;padding:6px 3px;font-size:10.5px}.cards-row--services .action-card svg{width:20px;height:20px}}@media (width<=360px){body:not(.view-scroll) .hero{min-height:300px}.hero__title{font-size:24px}.hero__subtitle{font-size:12px}.cards-row--services .action-card{min-height:0;padding:5px 2px;font-size:10px}.cards-row--services .action-card svg{width:18px;height:18px}.form-row{flex-direction:column;gap:0}}@media (height<=500px){.hero{flex-basis:clamp(220px,46dvh,300px)}.action-card{gap:6px;width:90px;height:90px;font-size:12px}.action-card svg{width:22px;height:22px}.cards-row{margin-bottom:10px}.info-banner{padding:8px 12px;font-size:11px}.hero__content{padding:34px 20px}}.cards-row--services{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:14px;width:min(100%,560px);display:grid}.cards-row--services .action-card{aspect-ratio:1;width:100%;height:auto;min-height:0;padding:12px 8px;line-height:1.15}.cards-row--services .action-card span{text-align:center;overflow-wrap:break-word;max-width:100%;line-height:1.15}@media (width<=420px){.cards-row--services{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,360px);margin-bottom:0}.cards-row--services .action-card{aspect-ratio:1;gap:4px;width:100%;height:auto;min-height:0;padding:6px 3px;font-size:10.5px}.cards-row--services .action-card svg{width:20px;height:20px}}@media (width<=360px){.cards-row--services{gap:6px}.cards-row--services .action-card{min-height:0;padding:5px 2px;font-size:10px}.cards-row--services .action-card svg{width:18px;height:18px}}.traveler-list{gap:12px;display:grid}.traveler-panel{background:#fff;border:1px solid #d0dce8;border-radius:8px;padding:12px}.traveler-panel h3{color:var(--text-dark);margin:0 0 10px;font-size:14px;line-height:1.25}.traveler-panel__title{color:var(--text-dark);margin:0 0 10px;font-size:14px;font-weight:800;line-height:1.25}.traveler-share-contact{color:#243b5a;background:#f6fafd;border:1px solid #d8e4f0;border-radius:8px;align-items:flex-start;gap:10px;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.35;display:flex}.traveler-share-contact input{width:18px;height:18px;accent-color:var(--sky-dark);flex:none;margin:0}.traveler-otp-block{background:#fff;border:1px solid #d0dce8;border-radius:8px;margin-top:14px;padding:14px}.traveler-otp-block__hint{color:#3a5070;text-align:center;margin:0 0 10px;font-size:13px;font-weight:700;line-height:1.4}.summary-row{border-bottom:1px solid #dceaf5;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.summary-row:last-child{border-bottom:0}.summary-row span{color:#3a5070}.summary-row strong{color:var(--sky-dark);text-align:right}
