/* Vila Stefana - public booking date picker with unavailable nights (2026-11-05) */
.vs-book-date { position: relative; min-width: 0; }
button.vs-dp-toggle { border: 0; background: transparent; padding: 0; cursor: pointer; }
button.vs-dp-toggle:hover { background: #f5f0ec; }
.vs-dp { position: absolute; top: calc(100% + 6px); inset-inline-start: 0; z-index: 70; width: 304px; max-width: calc(100vw - 32px); background: #fff; border: 1px solid #d6d3d1; border-radius: 12px; box-shadow: 0 14px 36px rgba(28, 25, 23, .22); padding: 10px; font-size: 13px; color: #292524; text-align: center; }
.vs-dp-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 6px; }
.vs-dp-month { font-weight: 700; text-transform: capitalize; color: #1c1917; }
.vs-dp-nav { width: 32px; height: 32px; border: 1px solid #e7e5e4; border-radius: 8px; background: #fafaf9; color: #68243c; font-size: 18px; line-height: 1; cursor: pointer; }
.vs-dp-nav:hover { background: #f5f0ec; }
.vs-dp-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.vs-dp-dow span { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #78716c; padding: 4px 0 6px; }
.vs-dp-empty { height: 34px; }
.vs-dp-day { height: 34px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; font-weight: 600; font-size: 13px; color: #292524; }
.vs-dp-day:hover:not(:disabled) { background: #f5f0ec; }
.vs-dp-day.is-today { box-shadow: inset 0 0 0 1px #a77032; }
.vs-dp-day.is-selected { background: #68243c; color: #fff; }
.vs-dp-day.is-off { color: #d6d3d1; cursor: not-allowed; }
.vs-dp-day.is-booked { color: #b91c1c; background: #fee2e2; text-decoration: line-through; cursor: not-allowed; }
.vs-dp-legend { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 8px; font-size: 11px; color: #78716c; }
.vs-dp-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: #fee2e2; border: 1px solid #fca5a5; }
[dir="rtl"] .vs-dp { inset-inline-start: auto; inset-inline-end: 0; }
