/* Simbirsk Picker — стили кастомного календаря диапазона и степпера гостей.
   Использует токены темы (--navy/--cream/--gold/--g2…); есть фолбэки. */

/* Триггер внутри поля формы — наследует «коробку» родителя */
.spk-trig{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  font-family:inherit;font-weight:500;font-size:16px;color:var(--navy,#001230);
  cursor:pointer;user-select:none;-webkit-user-select:none;background:transparent;border:0;padding:0;text-align:left;line-height:1.25}
.spk-trig__v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spk-trig__v.is-empty,.spk-trig .is-empty{color:var(--g4,#999);font-weight:400}
.spk-trig svg.spk-cv{width:14px;height:14px;flex:0 0 auto;stroke:var(--g4,#999);fill:none;stroke-width:1.8;pointer-events:none}
.spk-trig--date svg.spk-cal-ic{width:18px;height:18px;flex:0 0 auto;stroke:var(--g4,#999);fill:none;stroke-width:1.6;pointer-events:none}

/* Поповер */
.spk-pop{position:absolute;z-index:9999;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease;
  background:#fff;border:1px solid var(--g2,#e0e0e0);border-radius:18px;
  box-shadow:0 24px 70px rgba(0,18,48,.22);padding:16px;
  font-family:"Montserrat",system-ui,sans-serif;color:var(--navy,#001230)}
.spk-pop.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.spk-pop *{box-sizing:border-box}

/* Календарь */
.spk-pop--cal{width:max-content;max-width:calc(100vw - 24px)}
.spk-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.spk-cal__nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--g2,#e0e0e0);background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s;flex:0 0 auto}
.spk-cal__nav:hover:not(:disabled){background:var(--cream,#f8f6f2);border-color:var(--navy,#001230)}
.spk-cal__nav:disabled{opacity:.3;cursor:default}
.spk-cal__nav svg{width:16px;height:16px;stroke:var(--navy,#001230);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.spk-cal__grids{display:flex;gap:26px}
.spk-cal__month{width:266px}
.spk-cal__mname{text-align:center;font-size:15px;font-weight:600;letter-spacing:.01em;margin-bottom:10px;color:var(--navy,#001230)}
.spk-cal__dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.spk-cal__dow span{text-align:center;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--g4,#999);padding:4px 0}
.spk-cal__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}
.spk-d{position:relative;height:38px;border:0;background:transparent;font-family:inherit;font-size:14px;font-weight:500;
  color:var(--navy,#001230);cursor:pointer;border-radius:10px;transition:background .12s,color .12s}
.spk-d--empty{cursor:default}
.spk-d--off{color:var(--g2,#cfcfcf);cursor:default;font-weight:400}
.spk-d:not(.spk-d--off):not(.spk-d--empty):hover{background:var(--cream,#f8f6f2)}
.spk-d--today:not(.spk-d--start):not(.spk-d--end)::after{content:"";position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--gold,#f59e0b)}
.spk-d--in{background:#eceef2;border-radius:0}
.spk-d--start,.spk-d--end{background:var(--navy,#001230);color:#fff;font-weight:600;border-radius:50%}
.spk-d--start.spk-d--end{border-radius:50%}
.spk-cal__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--g2,#e0e0e0)}
.spk-cal__info{font-size:13px;color:var(--g6,#666);font-weight:500}
.spk-cal__done,.spk-stp__done{border:0;border-radius:12px;background:var(--navy,#001230);color:#fff;
  font-family:inherit;font-weight:500;font-size:14px;padding:11px 24px;cursor:pointer;transition:background .18s;flex:0 0 auto}
.spk-cal__done:hover,.spk-stp__done:hover{background:var(--nl,#1a2d52)}

/* Степпер гостей */
.spk-pop--guests{width:268px;max-width:calc(100vw - 24px)}
.spk-stp__row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.spk-stp__txt b{font-size:15px;font-weight:600;color:var(--navy,#001230)}
.spk-stp__ctl{display:flex;align-items:center;gap:14px}
.spk-stp__btn{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--g2,#e0e0e0);background:#fff;
  font-size:22px;line-height:1;color:var(--navy,#001230);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.spk-stp__btn:hover:not(:disabled){border-color:var(--navy,#001230);background:var(--cream,#f8f6f2)}
.spk-stp__btn:disabled{opacity:.35;cursor:default}
.spk-stp__n{min-width:26px;text-align:center;font-size:17px;font-weight:600}
.spk-stp__done{width:100%;margin-top:16px;padding:12px}

/* Мобильный режим — выезжающий снизу лист */
body.spk-noscroll{overflow:hidden}
.spk-pop--sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;max-width:100%;
  transform:translateY(100%);border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  box-shadow:0 -16px 50px rgba(0,18,48,.28);max-height:88vh;overflow:auto}
.spk-pop--sheet.is-open{transform:translateY(0)}
.spk-pop--sheet::before{content:"";display:block;width:40px;height:4px;border-radius:3px;background:var(--g2,#e0e0e0);margin:0 auto 14px}
.spk-pop--sheet.spk-pop--cal .spk-cal__grids{flex-direction:column;gap:18px}
.spk-pop--sheet.spk-pop--cal .spk-cal__month{width:100%}
.spk-pop--sheet.spk-pop--cal .spk-d{height:42px}

@media(max-width:640px){
  .spk-cal__month{width:100%}
}
