/* Выбор времени звонка в формах. Нейтральные полупрозрачные тона — блок садится и на светлый, и на тёмный фон. */
.slotpick {
    margin: 18px 0 20px;
}

.slotpick__title {
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

/* даты переносятся, а не прячутся за прокруткой — видно все доступные дни сразу */
.slotpick__dates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.slotpick__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 7px 12px;
    line-height: 1.1;
}

.slotpick__wd {
    font-size: 12px;
    opacity: .7;
}

.slotpick__date.is-active .slotpick__wd {
    opacity: .9;
}

.slotpick__dm {
    font-size: 14px;
    font-weight: 600;
}

.slotpick__date,
.slotpick__time {
    flex: 0 0 auto;
    padding: 9px 14px;
    border: 1px solid rgba(128, 128, 128, .38);
    border-radius: 8px;
    background: rgba(128, 128, 128, .1);
    color: inherit;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .15s, border-color .15s, color .15s;
}

.slotpick__date:hover,
.slotpick__time:hover {
    border-color: #10aa5d;
}

.slotpick__date.is-active,
.slotpick__time.is-active {
    border-color: #10aa5d;
    background: #10aa5d;
    color: #fff;
    font-weight: 600;
}

.slotpick__times {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.slotpick__time.is-busy {
    opacity: .35;
    cursor: not-allowed;
    text-decoration: line-through;
}

.slotpick__time.is-busy:hover {
    border-color: rgba(128, 128, 128, .38);
}

.slotpick__hint {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.35;
    opacity: .65;
}

.slotpick.is-error .slotpick__times {
    outline: 1px solid #8e1533;
    outline-offset: 6px;
    border-radius: 4px;
}

@media (max-width: 767px) {
    .slotpick__date,
    .slotpick__time {
        padding: 8px 12px;
        font-size: 13px;
    }
}
