/* Booking form controls: passenger steppers + date picker (assets/js/new/ymt-form-controls.js) */

/* ---------- Passenger steppers ---------- */
.pd-row.ymt-has-stepper{flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:12px;padding:6px 0;margin-bottom:6px}
.pd-row.ymt-has-stepper>label{width:auto!important;margin:0;flex:1 1 auto;min-width:0}
.ymt-stepper{display:inline-flex!important;align-items:center;gap:6px;flex:0 0 auto}
.ymt-stepper .ymt-step-btn{width:36px;height:36px;min-width:36px;padding:0;border-radius:8px;border:1px solid #cfd8e3;background:#fff;color:#0078D4;font-size:20px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}
.ymt-stepper .ymt-step-btn:hover:not(:disabled){background:#eef6ff;border-color:#0078D4}
.ymt-stepper .ymt-step-btn:focus-visible{outline:3px solid rgb(0 120 212 / .25);outline-offset:1px}
.ymt-stepper .ymt-step-btn:disabled{color:#b6c0cc;background:#f3f5f8;border-color:#e3e8ef;cursor:default}
.ymt-stepper input.ymt-step-count,
.ymt-stepper input.pd-number.ymt-step-count{display:inline-block!important;width:36px!important;min-width:0!important;height:36px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center;font-size:16px!important;font-weight:600;color:#0f172a;-moz-appearance:textfield;appearance:textfield;cursor:default;pointer-events:none}
.ymt-stepper input.ymt-step-count::-webkit-outer-spin-button,
.ymt-stepper input.ymt-step-count::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- Date inputs: hide the native calendar icon, ours opens instead ---------- */
.ymt-dp-ready input[type="date"]:not([data-native-picker]){cursor:pointer}
.ymt-dp-ready input[type="date"]:not([data-native-picker])::-webkit-calendar-picker-indicator{display:none}
input[type="date"].ymt-dp-open{border-color:#0078D4!important;box-shadow:0 0 0 3px rgb(0 120 212 / .15)!important}

/* ---------- Date picker ---------- */
.ymt-dp{position:fixed;z-index:100000;width:336px;box-sizing:border-box;padding:12px;background:#fff;color:#0f172a;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 12px 32px rgb(8 24 48 / .18);font:14px/1.3 'Inter',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;opacity:0;transform:translateY(-4px);transition:opacity .12s,transform .12s}
.ymt-dp.is-open{opacity:1;transform:none}
.ymt-dp *{box-sizing:border-box}
.ymt-dp [hidden]{display:none!important}
.ymt-dp-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.ymt-dp-selects{flex:1 1 auto;display:flex;gap:6px;min-width:0}
.ymt-dp-selects select{flex:1 1 auto;min-width:0;height:36px;padding:0 26px 0 10px;border:1px solid #cfd8e3;border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23475569' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 10px center;color:#0f172a;font:inherit;font-weight:600;-webkit-appearance:none;appearance:none;cursor:pointer}
.ymt-dp-selects select.ymt-dp-year{flex:0 0 80px}
.ymt-dp-selects select:focus-visible{outline:3px solid rgb(0 120 212 / .25);border-color:#0078D4}
.ymt-dp-nav{flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ymt-dp-nav:hover:not(:disabled){background:#eef6ff;border-color:#0078D4;color:#0078D4}
.ymt-dp-nav:disabled{color:#c3cbd6;cursor:default}
.ymt-dp-week,.ymt-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.ymt-dp-week span{text-align:center;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;padding:4px 0}
.ymt-dp-day{height:38px;padding:0;border:0;border-radius:8px;background:transparent;color:#0f172a;font:inherit;cursor:pointer}
.ymt-dp-day:hover:not(:disabled){background:#eef6ff;color:#0078D4}
.ymt-dp-day:focus-visible{outline:2px solid #0078D4;outline-offset:-2px}
.ymt-dp-day.is-today{font-weight:700;box-shadow:inset 0 0 0 1px #0078D4}
.ymt-dp-day.is-selected,.ymt-dp-day.is-selected:hover{background:#0078D4;color:#fff;font-weight:700}
.ymt-dp-day:disabled{color:#c3cbd6;cursor:default;background:transparent}
.ymt-dp-foot{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #eef1f5}
.ymt-dp-foot button{padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#0078D4;font:inherit;font-weight:600;cursor:pointer}
.ymt-dp-foot button:hover{background:#eef6ff}
.ymt-dp-foot .ymt-dp-clear{margin-left:auto;color:#64748b}
.ymt-dp-backdrop{display:none}

/* Phones: bottom sheet */
@media (max-width:640px){
  .ymt-dp.is-sheet{left:0!important;right:0;bottom:0;top:auto!important;width:100%;max-width:none;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));transform:translateY(16px)}
  .ymt-dp.is-sheet.is-open{transform:none}
  .ymt-dp.is-sheet .ymt-dp-day{height:44px;font-size:16px}
  .ymt-dp.is-sheet .ymt-dp-selects select,.ymt-dp.is-sheet .ymt-dp-nav{height:42px;font-size:16px}
  .ymt-dp.is-sheet .ymt-dp-nav{flex-basis:42px;width:42px}
  .ymt-dp.is-sheet .ymt-dp-selects select.ymt-dp-year{flex-basis:96px}
  .ymt-dp-backdrop{display:block;position:fixed;inset:0;z-index:99999;background:rgb(15 23 42 / .35)}
}
