/* v2.2.3 */
.vn-el{--vn-available:#1a7f37;--vn-booked:#e74c3c;--vn-bg:#f7f9fc;--vn-text:#111;--vn-border:#e3e7ee;background:var(--vn-bg);border:1px solid var(--vn-border);border-radius:16px;padding:16px}
.vn-el .vn-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.vn-el .vn-nav{width:40px;height:40px;border:1px solid var(--vn-border);border-radius:999px;background:#fff;cursor:pointer}
.vn-el .vn-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.vn-el .vn-day{min-height:56px;border:1px solid var(--vn-border);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out}
.vn-el .vn-day.vn-available{background:#f3faf6;border-color:#cfe9dc}
.vn-el .vn-day.vn-available:hover{box-shadow:0 4px 10px rgba(16,24,40,.12);background:#e8f6ee;transform:translateY(-2px)}
.vn-el .vn-day.vn-booked{background:#e74c3c;color:#fff}
.vn-legend{margin-top:10px;font-size:.9rem}.vn-legend .vn-dot{display:inline-block;width:12px;height:12px;border:1px solid #cfe9dc;border-radius:3px;margin-right:6px;vertical-align:middle}
.vn-legend .dot-available{background:#f3faf6;border-color:#cfe9dc}
.vn-legend .dot-booked{background:#e74c3c;border-color:#d7483e}

/* Mobile popup full cover */
@media (max-width:767px){
  .elementor-popup-modal.vn-fullscreen,
  .elementor-popup-modal.vn-fullscreen .dialog-widget-content,
  .elementor-popup-modal.vn-fullscreen .dialog-message,
  .elementor-popup-modal.vn-fullscreen .elementor-widget-wrap{
    position:fixed !important; inset:0 !important;
    width:100vw !important; height:100vh !important;
    max-width:100% !important; max-height:100% !important;
    border-radius:0 !important; box-shadow:none !important; background:#fff !important;
    margin:0 !important; padding:20px !important;
    overflow-y:auto !important; z-index:999999 !important;
  }
}
body.vn-no-scroll{overflow:hidden !important;touch-action:none !important;}
