/* Blue two-month calendar and time dialog — scoped controls only. */
.kp-datetime{position:relative;min-width:0}
.kp-datetime-plain{box-sizing:border-box;display:flex;align-items:center;gap:13px;width:100%;height:50px;margin-top:8px;padding:0 14px;background:#f8faff;border:1px solid #d9e4f1;border-radius:13px;color:#122948}
.kp-dt-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;line-height:0}
.kp-dt-icon svg{display:block;width:100%;height:100%}
.kp-datetime .kp-dt-native,
#bookingPanel input.kp-dt-native,
#home.kp-visual-exact #heroReturnFieldsMount input.kp-dt-native,
#home.kp-visual-exact #transferForm .kp-input-wrap>input.kp-dt-native{position:absolute!important;left:0!important;top:0!important;flex:none!important;width:1px!important;max-width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important;overflow:hidden!important}
.kp-datetime .kp-dt-trigger,
#home.kp-visual-exact #transferForm .kp-datetime>.kp-dt-trigger,
#bookingPanel .kp-datetime>.kp-dt-trigger{box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:space-between!important;flex:1 1 auto!important;gap:12px!important;min-width:0!important;width:auto!important;min-height:44px!important;height:100%!important;padding:0!important;margin:0!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:#102641!important;font:inherit!important;font-size:16px!important;font-weight:500!important;line-height:1.3!important;text-align:left!important;cursor:pointer!important;transform:none!important}
#home.kp-visual-exact #transferForm .kp-datetime>.kp-dt-trigger{font-size:clamp(16px,.98vw,20px)!important}
.kp-dt-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-dt-trigger-chevron{width:18px;height:18px;transform:rotate(90deg)}
.kp-datetime:focus-within{outline:2px solid #338cff!important;outline-offset:3px}
.kp-dt-trigger:focus-visible{outline:none}
.kp-datetime.kp-dt-invalid{border-color:#e04444!important;box-shadow:0 0 0 2px #ef444420!important}
.kp-dt-layer{position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:2147483000!important;isolation:isolate;font-family:Inter,Arial,sans-serif;color:#253143;box-sizing:border-box;overscroll-behavior:contain}
.kp-dt-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.39);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);touch-action:none}
.kp-dt-dialog{box-sizing:border-box;position:relative;flex:none;max-width:100%;max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:22px;box-shadow:0 18px 60px #00152d22;outline:none;overscroll-behavior:contain;animation:kp-dt-appear .14s ease-out}
.kp-dt-dialog *{box-sizing:border-box}
.kp-dt-dialog button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;outline-offset:2px}
.kp-dt-dialog button:focus-visible{outline:2px solid #142a43}
.kp-dt-dialog button:disabled{cursor:default;opacity:.32}
.kp-dt-calendar{width:388px}
.kp-dt-calendar-header{height:72px;padding:0 14px;display:grid;grid-template-columns:38px minmax(0,1fr) minmax(0,1fr) 38px;align-items:center;gap:8px;background:linear-gradient(110deg,#078cff,#0344ca);color:#fff}
.kp-dt-nav{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:11px;background:#ffffff26;color:#fff}
.kp-dt-nav:hover{background:#ffffff40}
.kp-dt-nav .kp-dt-icon{width:21px;height:21px}
.kp-dt-prev .kp-dt-icon{transform:rotate(180deg)}
.kp-dt-month-title{font-size:17px;font-weight:750;line-height:1.15;letter-spacing:-.02em;text-align:center;text-transform:capitalize}
.kp-dt-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 16px 13px}
.kp-dt-week,.kp-dt-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;align-items:center}
.kp-dt-week{height:25px;margin-bottom:7px;color:#9ba4b5;font-size:11px;line-height:1;font-weight:750}
.kp-dt-days{grid-auto-rows:25px}
.kp-dt-day{display:grid;place-items:center;justify-self:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:#344158;font-size:14px;font-weight:450;line-height:1}
.kp-dt-day:hover:not(:disabled){background:#eaf3ff;color:#0755c9}
.kp-dt-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #8cbcff;color:#0755c9}
.kp-dt-day.is-selected,.kp-dt-day.is-selected:hover{background:linear-gradient(110deg,#078cff,#0344ca);color:#fff;font-weight:700;box-shadow:0 4px 10px #0879ef33}
.kp-dt-empty{height:25px}
.kp-dt-calendar-footer{display:flex;align-items:center;gap:9px;min-height:74px;padding:13px 17px 17px;border-top:1px solid #f0f1f4}
.kp-dt-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #b2d1ff;border-radius:11px;background:#f0f6ff;color:#0755c9;font-size:14px;font-weight:600;white-space:nowrap}
.kp-dt-shortcut .kp-dt-icon{width:17px;height:17px}
.kp-dt-shortcut:hover{background:#e3eeff}
.kp-dt-cancel{margin-left:auto;min-height:44px;padding:0 21px;border:0;border-radius:11px;background:#f3f4f6;color:#6b7485;font-size:14px;font-weight:600}
.kp-dt-time{width:340px;border-radius:18px}
.kp-dt-time-header{height:65px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f1f4}
.kp-dt-time-header strong{font-size:18px;font-weight:650}
.kp-dt-close{display:grid;place-items:center;width:35px;height:35px;padding:0;border:0;border-radius:50%;background:#f3f4f6;color:#737c8e}
.kp-dt-close .kp-dt-icon{width:18px;height:18px}
.kp-dt-time-columns{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);padding:0 17px;gap:0}
.kp-dt-time-column{min-width:0}
.kp-dt-time-label{display:block;height:40px;padding-top:17px;text-align:center;color:#9ba4b5;font-size:11px;line-height:1;font-weight:750;letter-spacing:.02em}
.kp-dt-wheel{position:relative;height:212px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#0878f5 #f1f2f5;scrollbar-width:thin;background:#f8f9fb;border-radius:12px;padding:5px 6px;touch-action:pan-y}
.kp-dt-wheel::-webkit-scrollbar{width:10px}
.kp-dt-wheel::-webkit-scrollbar-track{background:#f0f2f5}
.kp-dt-wheel::-webkit-scrollbar-thumb{border:2px solid #f0f2f5;border-radius:10px;background:#0878f5}
.kp-dt-time-option{display:block;width:100%;height:42px;min-height:42px;margin:0;padding:0;border:0;border-radius:9px;background:transparent;color:#677589;font-size:18px;font-weight:500;text-align:center}
.kp-dt-time-option:hover{background:#eaf3ff;color:#0755c9}
.kp-dt-time-option.is-selected{background:#0878f5;color:#fff;font-weight:750}
.kp-dt-time-colon{padding-top:49px;text-align:center;color:#cfd5df;font-size:28px;font-weight:750;line-height:1}
.kp-dt-time-footer{padding:25px 17px 17px}
.kp-dt-apply{width:100%;height:51px;border:0;border-radius:13px;background:linear-gradient(110deg,#078cff,#0344ca);color:white;font-size:18px;font-weight:650}
.kp-dt-apply:hover{filter:brightness(1.04)}
@keyframes kp-dt-appear{from{opacity:0;transform:translateY(5px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:390px){.kp-dt-layer{padding:12px!important}.kp-dt-dialog{max-height:calc(100dvh - 24px)}.kp-dt-calendar-header{gap:4px;padding:0 10px;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 32px}.kp-dt-nav{width:32px;height:36px}.kp-dt-month-title{font-size:14px}.kp-dt-months{padding-right:11px;padding-left:11px;gap:8px}.kp-dt-day{width:22px;height:24px;font-size:13px}.kp-dt-week{font-size:10px}.kp-dt-calendar-footer{gap:7px;padding-right:12px;padding-left:12px}.kp-dt-shortcut{padding:0 10px;font-size:13px}.kp-dt-cancel{padding:0 16px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.kp-dt-dialog{animation:none}}
