/* Стрічка дат */
.ds-row { position: relative; display: flex; align-items: center; gap: 4px; padding: 6px 2px 4px; }
.ds-tag { position: absolute; left: 50%; top: -9px; transform: translate(-50%, 3px); padding: 1px 10px; border-radius: 999px; background: rgba(240,244,255,.94); color: #0b1020; font-size: .625rem; font-weight: 700; letter-spacing: .04em; text-transform: capitalize; pointer-events: none; opacity: 0; transition: opacity .6s ease, transform .6s ease; z-index: 5; white-space: nowrap; }
.ds-tag.show { opacity: 1; transform: translate(-50%, 0); transition-duration: .2s; }
.ds-cal { position: relative; flex: none; width: 40px; height: 44px; }
.ds-cal .face { position: absolute; inset: 0; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 12px; color: var(--cyan); pointer-events: none; background: rgba(255,255,255,.04); }
.ds-cal input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: pointer; font-size: 16px; }
.ds-list { flex: 1; min-width: 0; display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; padding: 2px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.ds-list::-webkit-scrollbar { display: none; }
.ds { flex: none; width: 42px; height: 46px; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; scroll-snap-align: center; background: rgba(255,255,255,.05); border: 1px solid var(--line); transition: transform .2s var(--ease), opacity .2s; isolation: isolate; }
.ds span { font-size: .5625rem; color: var(--ink-3); text-transform: uppercase; letter-spacing: .04em; }
.ds strong { font-size: .9375rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.ds::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--grad); transform: scaleY(0); transform-origin: bottom; transition: transform .3s var(--ease); }
.ds.on { border-color: transparent; box-shadow: var(--shadow-glow); }
.ds.on::before { transform: scaleY(1); }
.ds.on span, .ds.on strong { color: #060814; }
.ds.free:not(.on) { border-color: rgba(90, 215, 255, .35); background: rgba(90, 215, 255, .08); }
.ds.free:not(.on)::after { content: ""; position: absolute; bottom: 4px; width: 4px; height: 4px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 6px var(--mint); }
.ds.full:not(.on) { opacity: .5; }
.ds.today:not(.on) { border-color: var(--amber); }
.ds.first:not(.on) strong { color: var(--cyan); }
.ds:hover:not(.on) { transform: translateY(-2px); }
.ds-today { flex: none; height: 44px; padding: 0 .7rem; border-radius: 12px; border: 1px solid var(--line-strong); color: var(--ink); font-size: .75rem; font-weight: 700; background: rgba(255,255,255,.05); }
.ds-today:hover { background: rgba(255,255,255,.1); }
.ds-nav { display: none; flex: none; width: 26px; height: 44px; color: var(--cyan); place-items: center; }
@media (min-width: 720px) { .ds-nav { display: grid; } }
