.ht-booking{--ht-accent:#2563eb;--ht-ink:#172640;--ht-muted:#56677f;color:var(--ht-ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;max-width:1000px;margin:32px auto;isolation:isolate}.ht-booking *{box-sizing:border-box}.ht-app{background:linear-gradient(135deg,#f3f8ff,#fff 60%,#f1f8fc);border:1px solid #d9e3f1;border-radius:24px;box-shadow:0 20px 64px #123b6520;padding:clamp(20px,4vw,44px)}.ht-booking h2{font-size:clamp(26px,4vw,38px);line-height:1.15;margin:8px 0 12px;letter-spacing:-.04em;color:var(--ht-ink)}.ht-booking h3{font-size:21px;margin:0 0 18px;color:var(--ht-ink)}.ht-kicker{color:var(--ht-accent);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.ht-muted{color:var(--ht-muted);font-size:14px}.ht-steps{display:flex;list-style:none;padding:0;margin:28px 0;gap:12px}.ht-steps li{flex:1;font-size:13px;font-weight:600;color:var(--ht-muted);border-top:3px solid #dae4f2;padding-top:10px}.ht-steps li[aria-current=step]{color:var(--ht-accent);border-color:var(--ht-accent)}.ht-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ht-wide{grid-column:1/-1}.ht-booking label{display:block;font-size:14px;font-weight:650;margin-bottom:6px}.ht-booking input:not([type=checkbox]):not([type=radio]),.ht-booking select,.ht-booking textarea{display:block;width:100%;min-height:48px;border:1px solid #abbcd2;border-radius:10px;background:#fff;color:#172640;padding:11px 13px;font:inherit;box-shadow:none}.ht-booking input[type=checkbox],.ht-booking input[type=radio]{width:19px;height:19px;vertical-align:middle;accent-color:var(--ht-accent);margin:0 8px 0 0}.ht-booking :focus-visible{outline:3px solid #147ba0;outline-offset:3px}.ht-booking button{min-height:46px;border:1px solid #adbcd1;border-radius:10px;background:#fff;color:var(--ht-ink);padding:11px 18px;font:600 15px/1.4 system-ui;cursor:pointer;letter-spacing:normal;text-transform:none;box-shadow:none}.ht-booking button:hover{background:#eaf2ff}.ht-booking button.ht-primary{background:var(--ht-accent);border-color:transparent;color:#fff}.ht-booking button:disabled{opacity:.55;cursor:wait}.ht-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}.ht-error{background:#fff1ef;color:#8f261f;border:1px solid #e9b0aa;border-radius:10px;padding:14px;margin:18px 0}.ht-error:empty{display:none}.ht-status{min-height:22px;margin-top:10px;font-size:14px;color:#385875}.ht-suggestions{position:absolute;top:100%;left:0;right:0;z-index:20;background:white;box-shadow:0 10px 30px #10264325;border-radius:10px;overflow:hidden;border:1px solid #c6d4e5}.ht-suggestions:empty{display:none}.ht-suggestions button{display:block;width:100%;text-align:left;border:0;border-radius:0;font-weight:400}.ht-address{position:relative}.ht-google{display:block;text-align:right;font-size:12px;padding:7px 12px;color:#536171}.ht-vehicle-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}.ht-booking button.ht-vehicle{text-align:left;padding:0;overflow:hidden;border-radius:16px;background:#fff;transition:transform .18s,box-shadow .18s}.ht-vehicle:hover{transform:translateY(-2px);box-shadow:0 8px 26px #224d7020}.ht-vehicle[aria-pressed=true]{outline:3px solid var(--ht-accent);outline-offset:2px}.ht-vehicle img{width:100%;height:140px;object-fit:cover}.ht-vehicle-body{display:block;padding:20px}.ht-vehicle strong,.ht-vehicle small{display:block;margin:0 0 8px}.ht-vehicle strong{font-size:19px}.ht-vehicle small{color:var(--ht-muted)}.ht-route,.ht-summary,.ht-total,.ht-stop{padding:18px;border:1px solid #d2dfee;background:#fff9;border-radius:14px;margin-top:20px}.ht-route p{margin:4px 0}.ht-route img{width:100%;border-radius:10px;margin-top:12px}.ht-summary{display:grid;grid-template-columns:140px 1fr;gap:12px;margin:0}.ht-summary dt{color:var(--ht-muted)}.ht-summary dd{margin:0;overflow-wrap:anywhere}.ht-total{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:22px;font-weight:750}.ht-tip-options{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.ht-tip-options button[aria-pressed=true]{background:#e4eeff;border-color:var(--ht-accent)}.ht-booking [hidden]{display:none!important}.ht-separator{grid-column:1/-1;border:0;border-top:1px solid #d9e3f1;margin:6px 0}.ht-booking fieldset{border:0;padding:0;margin:0}.ht-booking legend{font-weight:650;margin-bottom:10px}.ht-disclosure{font-size:12px;color:var(--ht-muted);margin-top:24px}.ht-loading{display:inline-block;width:12px;height:12px;border:2px solid #b3c2d8;border-top-color:var(--ht-accent);border-radius:50%;animation:ht-spin .7s linear infinite;margin-right:7px}@keyframes ht-spin{to{transform:rotate(360deg)}}@media(max-width:580px){.ht-grid{grid-template-columns:1fr}.ht-summary{grid-template-columns:1fr;gap:3px}.ht-summary dd{margin-bottom:12px}.ht-steps{gap:7px}.ht-steps li{font-size:12px}.ht-actions button{flex:1}.ht-app{border-radius:18px}.ht-total{font-size:19px}}@media(prefers-reduced-motion:reduce){.ht-booking *{animation:none!important;transition:none!important}}

.ht-google{color:#5e5e5e;font-style:normal;font-weight:400;white-space:nowrap;letter-spacing:normal}
/* Journey planner: isolated from theme styles, responsive to the embed width. */
.ht-booking{max-width:1160px;container-type:inline-size;container-name:ht-form;--ht-accent:#245deb;--ht-line:#dce5ef}.ht-app{padding:0;background:#fff;border-radius:26px;box-shadow:0 22px 70px #153b6518}.ht-booking h2,.ht-booking h3,.ht-booking h4{font-family:inherit;text-transform:none;font-weight:750;letter-spacing:-.035em}.ht-booking h2{font-size:34px}.ht-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:30px 32px;background:radial-gradient(ellipse at 90% 0,#295a9166,transparent 65%),linear-gradient(120deg,#102338,#182f4e);border-radius:25px 25px 0 0;color:#fff}.ht-form-header h2{color:#fff}.ht-form-header .ht-kicker{color:#9cc7ff;font-size:11px;letter-spacing:.18em}.ht-intro{max-width:620px;font-size:14px;color:#d2dff0;margin:0!important;line-height:1.5}.ht-region-badge{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:7px 12px;border:1px solid #90b6d64f;border-radius:30px;background:#dae9ff0d;font-size:12px;font-weight:600}.ht-region-badge:before{content:'';width:7px;height:7px;border-radius:50%;background:#5ee5b1;box-shadow:0 0 0 4px #5ee5b11a}.ht-form-body{padding:26px 30px 20px}.ht-steps{list-style:none!important;padding:0!important;margin:0 0 28px!important}.ht-steps li{display:flex;align-items:center;gap:8px;font-size:12px;border:0;margin:0!important;padding:0!important;line-height:1.3}.ht-step-number{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:50%;background:#f0f4f9;color:#688099;border:1px solid #e0e8f2}.ht-steps li[aria-current=step] .ht-step-number{background:var(--ht-accent);color:#fff;border-color:var(--ht-accent);box-shadow:0 3px 10px #245deb28}
.ht-layout{display:grid;gap:26px;align-items:start}.ht-with-map{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.ht-panel{min-width:0}.ht-grid,.ht-schedule-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 14px}.ht-grid>*,.ht-schedule-row>*{min-width:0}.ht-booking label{font-size:12px;color:#334963;letter-spacing:0}.ht-booking input:not([type=checkbox]):not([type=radio]),.ht-booking select,.ht-booking textarea,.ht-booking button.ht-date-button{min-height:49px;border-color:#cad7e6;border-radius:11px;padding:12px 13px;font:400 14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 2px 3px #10264303}.ht-booking select{padding-right:28px}.ht-booking button{font-size:14px;border-radius:11px;border-color:#c8d7e7}.ht-booking button.ht-primary{box-shadow:0 5px 16px #245deb20}.ht-booking button.ht-primary:hover{background:#174ed4}.ht-booking button:disabled{cursor:not-allowed}.ht-actions{gap:16px;margin-top:26px}.ht-actions .ht-primary{flex:1}.ht-actions .ht-muted{font-size:12px;max-width:160px}.ht-status{font-size:13px}.ht-disclosure{font-size:11px;margin:12px 0 0!important;padding-top:16px;border-top:1px solid #edf1f6}.ht-error{font-size:14px}
.ht-date-field{position:relative}.ht-booking button.ht-date-button{display:flex;width:100%;text-align:left;align-items:center;gap:8px;color:var(--ht-muted);white-space:nowrap;background:#fff}.ht-booking button.ht-date-button:before{content:'';display:inline-block;width:16px;height:16px;flex:0 0 16px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' d='M7 2v5m10-5v5M3 10h18M5 5h14a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E") center/contain no-repeat}.ht-booking button.ht-has-value{color:var(--ht-ink)}.ht-field-hint{font-size:11px;color:var(--ht-muted);margin:7px 0 0!important}.ht-field-hint:empty{display:none}.ht-booking button.ht-inline-button{padding:0 4px;min-height:24px;border:0;color:var(--ht-accent);text-decoration:underline}.ht-calendar{position:absolute;left:0;top:calc(100% + 8px);width:300px;max-width:calc(100cqw - 52px);z-index:30;border:1px solid #d8e3ef;border-radius:16px;background:#fff;box-shadow:0 14px 48px #10264330;padding:14px}.ht-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:14px}.ht-booking .ht-calendar-head button{padding:0;min-height:32px;width:32px;font-size:24px;border:0;background:#f1f5fb}.ht-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.ht-calendar-weekday{text-align:center;font-size:10px;color:var(--ht-muted);padding:4px 0}.ht-booking .ht-calendar-grid button{min-height:32px;padding:5px 0;border:0;border-radius:7px;font-size:12px;font-weight:500}.ht-booking .ht-calendar-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px #b2c7e9}.ht-booking .ht-calendar-grid button[aria-pressed=true]{background:var(--ht-accent);color:#fff}.ht-booking .ht-calendar-grid button:disabled{opacity:.28}.ht-calendar-note{font-size:10px!important;color:var(--ht-muted);margin:10px 0 0!important}
.ht-suggestions{min-width:220px}.ht-booking .ht-suggestions button{font-size:13px;padding:12px;border-bottom:1px solid #edf1f6}.ht-empty-suggestions{display:block;padding:12px;font-size:13px;color:var(--ht-muted)}
.ht-map-card{border:1px solid #dbe5ef;border-radius:18px;overflow:hidden;background:#f7fafd;min-width:0}.ht-map-heading{padding:22px 22px 16px}.ht-map-heading .ht-kicker{font-size:10px}.ht-map-heading h3{font-size:23px;margin:6px 0 0;letter-spacing:-.045em}.ht-map-media{position:relative;min-height:140px;background:#e9f0f5;display:flex;flex-direction:column;align-items:center;justify-content:center}.ht-map-media img{display:block;width:100%;height:auto;margin:0!important;max-width:100%;border:0}.ht-map-media p{padding:20px;margin:0;font-size:13px;color:var(--ht-muted)}.ht-map-media button{margin:0 20px 20px}.ht-map-points{padding:20px 22px 6px}.ht-map-point{display:flex;gap:12px;align-items:flex-start;margin-bottom:17px}.ht-map-pin{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#e3edff;color:#245deb;font-size:11px;font-weight:800;margin-top:4px}.ht-map-point:last-child .ht-map-pin{background:#dcefe8;color:#0f766e}.ht-map-point small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ht-muted)}.ht-map-point p{margin:3px 0 0!important;font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#243b55}.ht-route-stats{display:grid;grid-template-columns:1fr 1fr;padding:18px 22px;background:#edf3fa;border-top:1px solid #dfe8f2;gap:15px}.ht-route-stats strong{display:block;font-size:25px;letter-spacing:-.04em;font-weight:750;line-height:1.2}.ht-route-stats small{display:block;font-size:10px;color:var(--ht-muted);margin-top:5px}.ht-map-note{padding:0 22px;margin:14px 0!important;font-size:11px;color:var(--ht-muted)}.ht-vehicle-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.ht-vehicle-body>span{font-size:22px;color:var(--ht-accent)}.ht-summary{grid-template-columns:100px minmax(0,1fr);font-size:13px;gap:12px}.ht-total{background:#edf3ff;border-color:#d7e5ff}
@container ht-form (max-width:780px){.ht-with-map{grid-template-columns:1fr}.ht-map-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ht-map-heading{grid-column:1/-1}.ht-map-media{grid-row:2/5}.ht-map-points{padding-top:10px}.ht-route-stats{padding:14px 20px}.ht-map-note{margin:10px 0!important}.ht-map-media img{align-self:start}}
@container ht-form (max-width:480px){.ht-form-header{padding:24px 20px;display:block;border-radius:21px 21px 0 0}.ht-region-badge{margin-top:16px}.ht-form-body{padding:22px 18px 18px}.ht-form-header h2{font-size:27px}.ht-steps{gap:8px;margin-bottom:24px!important}.ht-steps li{flex-direction:column;align-items:flex-start;font-size:10px;gap:7px}.ht-grid{grid-template-columns:1fr;gap:16px}.ht-schedule-row{gap:10px}.ht-booking button.ht-date-button,.ht-booking .ht-schedule select{font-size:12px;padding:12px 9px;min-height:48px}.ht-booking button.ht-date-button{gap:6px}.ht-booking .ht-schedule select{padding-right:23px}.ht-booking input:not([type=checkbox]):not([type=radio]),.ht-booking select,.ht-booking textarea{font-size:16px}.ht-actions{gap:14px}.ht-actions .ht-muted{max-width:none;flex-basis:100%}.ht-actions button{flex:1}.ht-map-card{display:block}.ht-map-media{min-height:160px}.ht-summary{grid-template-columns:85px minmax(0,1fr);gap:12px}.ht-total{font-size:20px}.ht-app{border-radius:22px}}
.ht-step-number{width:29px;min-width:29px}
.ht-time-field{position:relative}.ht-booking button.ht-time-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:49px;padding:12px 13px;border:1px solid #cad7e6;background:#fff;text-align:left;font:400 14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ht-muted);box-shadow:0 2px 3px #10264303}.ht-booking button.ht-time-button.ht-has-value{color:var(--ht-ink)}.ht-time-button:after{content:'';flex:0 0 7px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}.ht-time-button[aria-expanded=true]{border-color:var(--ht-accent)}.ht-time-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:31;max-height:240px;max-height:min(240px,40dvh);overflow-y:auto;overscroll-behavior:contain;padding:5px;border:1px solid #c8d7e7;border-radius:12px;background:#fff;box-shadow:0 12px 32px #10264328}.ht-time-option{padding:11px 12px;min-height:44px;border-radius:7px;font-size:14px;line-height:22px;cursor:pointer}.ht-time-option:hover,.ht-time-option.ht-time-active{background:#eaf2ff;color:#164dba}.ht-time-option[aria-selected=true]{background:var(--ht-accent);color:#fff;font-weight:650}
@container ht-form (max-width:480px){.ht-booking button.ht-date-button{font-size:14px}.ht-booking .ht-schedule select{font-size:16px}}
@container ht-form (max-width:480px){.ht-booking button.ht-time-button{font-size:16px;padding:12px 10px}.ht-time-option{font-size:16px}}

/* Protect light controls from theme/page-builder button colors. */
.ht-booking button{color:var(--ht-ink)!important;text-shadow:none!important}
.ht-booking button :is(span,strong,small){color:inherit!important}
.ht-booking button.ht-primary{color:#fff!important}
.ht-booking :is(input:not([type=checkbox]):not([type=radio]),select,textarea){color:var(--ht-ink)!important;background-color:#fff!important}
.ht-booking :is(.ht-date-button,.ht-time-button){color:var(--ht-ink)!important;background:#fff!important;border:1px solid #cad7e6!important;border-radius:11px!important}
.ht-booking .ht-calendar-head button{color:var(--ht-ink)!important;background:#f1f5fb!important;border:0!important;border-radius:8px!important;padding:0!important}
.ht-booking .ht-calendar-grid button{color:var(--ht-ink)!important;background:#fff!important;border:0!important;border-radius:7px!important;padding:5px 0!important}
.ht-booking .ht-calendar-grid button:hover:not(:disabled){background:#eaf2ff!important}
.ht-booking .ht-calendar-grid button[aria-pressed=true]{background:var(--ht-accent)!important;color:#fff!important}
.ht-booking .ht-calendar-grid button:disabled{color:#6d7887!important;background:#f5f7fa!important;opacity:1}
.ht-booking .ht-time-option{color:var(--ht-ink)}
.ht-booking .ht-time-option[aria-selected=true]{color:#fff}
.ht-booking button.ht-checkout,.ht-booking button.ht-checkout:hover{background:#137343!important;border-color:#137343!important;color:#fff!important}
