/* РОБОСИТИ — выбор даты и времени (static/rc-date.js).
 * Кнопка .rc-dt стоит рядом со скрытым системным полем и берёт его классы
 * (ak-input, w3-input, reg-input…), поэтому размеры — как у полей вокруг.
 * Всплывающий выбор .rc-dp — один на страницу, в <body>. */

:root{
  --rc-dp-brand:#FF7538;
  --rc-dp-brand-dark:#E06020;
  --rc-dp-brand-light:#FFF2EC;
  --rc-dp-peach:#FFD6BF;
  --rc-dp-ink:#1f1d1b;
  --rc-dp-muted:#8a8178;
  --rc-dp-line:#efe5dc;
  --rc-dp-we:#d4572a;
}

/* ── системное поле: остаётся в разметке (v-model, формы), но не видно ── */
input.rc-dt-native{
  position:absolute !important;width:1px !important;height:1px !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;
}

/* ── кнопка-поле ── */
button.rc-dt{
  display:flex !important;align-items:center;gap:10px;
  min-width:0;max-width:100%;box-sizing:border-box;
  font:inherit;font-size:inherit;color:var(--rc-dp-ink);text-align:left;
  background-color:#fff;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  line-height:1.25;white-space:nowrap;
}
button.rc-dt:not(.w3-input){min-height:44px}
/* у поля не было своих классов — свой вид */
button.rc-dt--bare{width:100%;height:42px;min-height:0;padding:0 12px;border:1px solid #e0e0e0;border-radius:10px}
button.rc-dt:hover:not(:disabled){border-color:var(--rc-dp-peach)}
button.rc-dt:focus{outline:none}
button.rc-dt:focus-visible,button.rc-dt.is-open{border-color:var(--rc-dp-brand) !important;box-shadow:0 0 0 4px rgba(255,117,56,.14)}
button.rc-dt:disabled{cursor:default;background-color:#f6f4f2;color:var(--rc-dp-muted)}
button.rc-dt:disabled .rc-dt__ic{opacity:.5}
.rc-dt__ic{flex:0 0 auto;width:20px;height:20px;fill:none;stroke:var(--rc-dp-brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rc-dt__ic .rc-dt__fill{fill:var(--rc-dp-brand-light);stroke:none}
.rc-dt__ic .rc-dt__dot{fill:var(--rc-dp-brand);stroke:none}
.rc-dt--tight .rc-dt__sub,.rc-dt--tighter .rc-dt__clear{display:none}
button.rc-dt.rc-dt--invalid{border-color:#c94a3a !important;box-shadow:0 0 0 3px rgba(201,74,58,.14) !important}
.rc-dt__val{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-variant-numeric:tabular-nums}
button.rc-dt.is-empty .rc-dt__val{font-weight:400;color:#9a928a}
.rc-dt__sub{flex:0 0 auto;font-size:.82em;font-weight:600;color:var(--rc-dp-muted);text-transform:lowercase;padding:2px 8px;border-radius:999px;background:#f6f1ec}
.rc-dt__clear{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#a39a91;opacity:0;transition:opacity .15s, background-color .15s, color .15s}
.rc-dt__clear svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
button.rc-dt:hover .rc-dt__clear,button.rc-dt:focus-visible .rc-dt__clear{opacity:1}
.rc-dt__clear:hover{background:#fce4ec;color:#c62828}
@media (hover:none){.rc-dt__clear{opacity:1}}

/* ── всплывающий выбор ── */
.rc-dp{
  position:fixed;z-index:10050;left:0;top:0;
  width:328px;box-sizing:border-box;padding:14px 14px 12px;
  background:#fff;border:1px solid var(--rc-dp-line);border-radius:20px;
  box-shadow:0 28px 60px -18px rgba(60,32,12,.32),0 2px 6px rgba(60,32,12,.06);
  font-family:'Montserrat','Nunito Sans',Arial,sans-serif;color:var(--rc-dp-ink);font-size:14px;
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top left;
  transition:opacity .16s ease,transform .18s cubic-bezier(.2,.8,.2,1),visibility 0s linear .18s;
}
.rc-dp.is-above{transform-origin:bottom left;transform:translateY(6px) scale(.98)}
.rc-dp.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .16s ease,transform .2s cubic-bezier(.2,.8,.2,1)}
.rc-dp--dt{width:478px}
.rc-dp--time{width:296px}
.rc-dp *{box-sizing:border-box}
.rc-dp button{font-family:inherit;color:inherit;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rc-dp button:focus{outline:none}
.rc-dp button:focus-visible{box-shadow:0 0 0 3px rgba(255,117,56,.35)}
.rc-dp .rc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.rc-dp__grab{display:none}
.rc-dp__label{margin:0 4px 10px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rc-dp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-dp__body{display:flex;gap:14px}
.rc-dp__cal{flex:1 1 auto;min-width:0}

.rc-dp__typed{display:block;margin-bottom:10px}
.rc-dp__typed input{
  width:100%;height:40px;padding:0 14px;border:1.5px solid var(--rc-dp-line);border-radius:12px;
  font:inherit;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--rc-dp-ink);background:#fbf8f5;
  font-variant-numeric:tabular-nums;outline:none;transition:border-color .15s, background-color .15s;
}
.rc-dp__typed input::placeholder{color:#b3aaa1;font-weight:500;letter-spacing:.06em}
.rc-dp__typed input:focus{border-color:var(--rc-dp-brand);background:#fff}
.rc-dp__typed input.is-bad{border-color:#e8a598;background:#fff7f5}

.rc-dp__head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}
.rc-dp__title{flex:1 1 auto;height:36px;padding:0 10px;border-radius:12px;font-size:16px;font-weight:600;letter-spacing:-.01em;transition:background-color .15s}
.rc-dp__title b{font-weight:800;color:var(--rc-dp-brand-dark)}
.rc-dp button.rc-dp__title:hover{background:var(--rc-dp-brand-light)}
.rc-dp__title--static{display:inline-flex;align-items:center;justify-content:center}
.rc-dp__nav{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s, color .15s;color:#6b625a}
.rc-dp__nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rc-dp button.rc-dp__nav:hover{background:var(--rc-dp-brand-light);color:var(--rc-dp-brand-dark)}

.rc-dp__wd,.rc-dp__grid{display:grid;grid-template-columns:repeat(7,1fr)}
.rc-dp__wd{margin-bottom:2px}
.rc-dp__wd span{height:28px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#a39a91}
.rc-dp__wd span.is-we{color:var(--rc-dp-we);opacity:.75}
.rc-dp__grid{row-gap:2px}
.rc-dp.is-flip .rc-dp__grid{animation:rcDpFlip .18s ease}
@keyframes rcDpFlip{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}

.rc-dp__day{position:relative;height:40px;padding:0;display:flex;align-items:center;justify-content:center}
.rc-dp__day span{position:relative;z-index:1;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;transition:background-color .12s, color .12s, transform .12s}
.rc-dp button.rc-dp__day:hover:not(:disabled) span{background:var(--rc-dp-brand-light);color:var(--rc-dp-brand-dark)}
.rc-dp button.rc-dp__day:active:not(:disabled) span{transform:scale(.92)}
.rc-dp__day.is-we span{color:var(--rc-dp-we)}
.rc-dp__day.is-out span{color:#c9c1b9;font-weight:500}
.rc-dp__day.is-today span{box-shadow:inset 0 0 0 1.5px var(--rc-dp-brand)}
.rc-dp__day.is-today span::after{content:'';position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--rc-dp-brand)}
.rc-dp__day.is-off{cursor:default}
.rc-dp__day.is-off span{color:#d9d2cb;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.12)}
/* период: от min поля («с») до выбранного дня («по») */
.rc-dp__day.is-range::before,.rc-dp__day.is-range-start.has-range::before,.rc-dp__day.is-range-end::before{content:'';position:absolute;top:3px;bottom:3px;left:0;right:0;background:var(--rc-dp-brand-light)}
.rc-dp__day.is-range-start::before{left:50%}
.rc-dp__day.is-range-end::before{right:50%}
.rc-dp__day.is-range span{color:var(--rc-dp-brand-dark)}
.rc-dp__day.is-range-start span{background:var(--rc-dp-peach);color:#7a3a14}
.rc-dp__day.is-sel span,.rc-dp button.rc-dp__day.is-sel:hover span{background:var(--rc-dp-brand);color:#fff;box-shadow:0 6px 14px -6px rgba(224,96,32,.75)}
.rc-dp__day.is-sel.is-today span::after{background:#fff}

.rc-dp__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px 0 2px}
.rc-dp__tile{height:52px;border-radius:14px;font-size:14px;font-weight:600;text-transform:capitalize;transition:background-color .12s, color .12s}
.rc-dp button.rc-dp__tile:hover{background:var(--rc-dp-brand-light);color:var(--rc-dp-brand-dark)}
.rc-dp__tile.is-today{box-shadow:inset 0 0 0 1.5px var(--rc-dp-brand)}
.rc-dp__tile.is-sel,.rc-dp button.rc-dp__tile.is-sel:hover{background:var(--rc-dp-brand);color:#fff}

.rc-dp__time{flex:0 0 auto;display:flex;flex-direction:column;width:132px}
.rc-dp--dt .rc-dp__time{padding-left:14px;border-left:1px solid var(--rc-dp-line)}
.rc-dp--time .rc-dp__time{width:100%}
.rc-dp__time-head{height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;font-size:16px;font-weight:600;color:var(--rc-dp-muted)}
.rc-dp__time-head b{font-size:20px;font-weight:800;color:var(--rc-dp-ink);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.rc-dp__cols{display:flex;gap:6px;height:262px}
.rc-dp--dt .rc-dp__cols{height:auto;flex:1 1 auto;max-height:310px}
.rc-dp__col{flex:1 1 0;overflow-y:auto;scroll-snap-type:y proximity;scrollbar-width:none;padding:2px;border-radius:14px;background:#fbf8f5;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}
.rc-dp__col::-webkit-scrollbar{display:none}
.rc-dp__t{display:block;width:100%;height:36px;margin:2px 0;border-radius:10px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;scroll-snap-align:center;color:#5d554e;transition:background-color .12s,color .12s}
.rc-dp button.rc-dp__t:hover{background:#fff;color:var(--rc-dp-brand-dark)}
.rc-dp__t.is-sel,.rc-dp button.rc-dp__t.is-sel:hover{background:var(--rc-dp-brand);color:#fff;box-shadow:0 6px 14px -6px rgba(224,96,32,.75)}

.rc-dp__foot{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--rc-dp-line)}
.rc-dp__sp{flex:1 1 auto}
.rc-dp__link{height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:700;color:var(--rc-dp-brand-dark) !important;transition:background-color .12s}
.rc-dp button.rc-dp__link:hover{background:var(--rc-dp-brand-light)}
.rc-dp__link--muted{color:#8a8178 !important}
.rc-dp button.rc-dp__link--muted:hover{background:#fce4ec;color:#c62828 !important}
.rc-dp__done{height:36px;padding:0 18px;border-radius:999px;background:var(--rc-dp-brand) !important;color:#fff !important;font-size:13px;font-weight:700;box-shadow:0 8px 18px -8px rgba(224,96,32,.8);transition:background-color .12s}
.rc-dp button.rc-dp__done:hover{background:var(--rc-dp-brand-dark) !important}

/* ── телефон: лист снизу ── */
.rc-dp-shade{position:fixed;inset:0;z-index:10049;background:rgba(30,20,12,.32);opacity:0;visibility:hidden;transition:opacity .18s, visibility 0s linear .18s}
@media (max-width:639px){
  .rc-dp-shade.is-open{opacity:1;visibility:visible;transition:opacity .18s}
  .rc-dp,.rc-dp--dt,.rc-dp--time{left:0 !important;right:0;top:auto !important;bottom:0;width:auto;max-height:92vh;overflow-y:auto;
    border-radius:24px 24px 0 0;padding:8px 16px calc(14px + env(safe-area-inset-bottom));transform:translateY(24px);transform-origin:bottom center}
  .rc-dp.is-open{transform:none}
  .rc-dp__grab{display:block;width:40px;height:5px;margin:2px auto 10px;border-radius:999px;background:#e6ddd4}
  .rc-dp__label{text-align:center}
  .rc-dp__body,.rc-dp__body--dt{flex-direction:column}
  .rc-dp--dt .rc-dp__time{width:auto;padding-left:0;border-left:0;padding-top:12px;border-top:1px solid var(--rc-dp-line)}
  .rc-dp--dt .rc-dp__cols{height:176px}
  .rc-dp--time .rc-dp__cols{height:240px}
  .rc-dp__day{height:46px}
  .rc-dp__day span{width:42px;height:42px;font-size:15px}
  .rc-dp__typed input{height:46px;font-size:16px}
  .rc-dp__foot .rc-dp__link,.rc-dp__done{height:42px}
}
@media (prefers-reduced-motion:reduce){
  .rc-dp,.rc-dp.is-open,.rc-dp-shade{transition:none}
  .rc-dp.is-flip .rc-dp__grid{animation:none}
}
