/* Culture-aware date picker (storefront forms + shared) */
.vs-cdate { position: relative; max-width: 100%; }
.vs-cdate__label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .35rem; color: #334155; }
.vs-cdate__field { display: flex; align-items: center; gap: .25rem; }
.vs-cdate__input { flex: 1; min-width: 0; cursor: pointer; background: #fff; }
.vs-cdate__btn, .vs-cdate__clear { flex-shrink: 0; line-height: 1; padding: .35rem .5rem; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; cursor: pointer; }
.vs-cdate.is-disabled { opacity: .65; pointer-events: none; }
.vs-cdate__pop {
    position: absolute;
    z-index: 1200;
    inset-inline-start: 0;
    top: calc(100% + .35rem);
    min-width: 16.5rem;
    padding: .65rem;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 12px 40px rgba(15,23,42,.12);
}
.vs-cdate__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.vs-cdate__title { font-weight: 700; font-size: .9rem; color: #0f172a; direction: ltr; }
.vs-cdate__week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: .15rem;
    margin-bottom: .35rem;
    font-size: .72rem;
    color: #64748b;
    text-align: center;
}
.vs-cdate__grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: .15rem;
}
.vs-cdate__day {
    border: none;
    background: transparent;
    border-radius: 8px;
    padding: .35rem 0;
    font: inherit;
    cursor: pointer;
    color: #334155;
}
.vs-cdate__day:hover { background: #f1f5f9; }
.vs-cdate__day.is-selected { background: #6366f1; color: #fff; }
.vs-cdate__day.is-today { outline: 1px solid #6366f1; }
.vs-cdate__pad { display: block; min-height: 2rem; }
.vs-cdatetime { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; }
.vs-cdatetime__time { min-width: 8rem; }
