/* Inline calendar styling (popup-safe). */
.vlb-cal-inline-wrap{display:flex;justify-content:center;width:100%}
.vlb-inline-calendar{margin:6px 0 14px;position:relative;z-index:999999;isolation:isolate;width:100%}
.vlb-inline-calendar .ui-datepicker{width:100% !important;max-width:760px;background:var(--vlb-box-bg,#fff);border:1px solid var(--vlb-box-border-color,#e5e7eb);border-radius:var(--vlb-box-radius,16px);padding:8px;box-sizing:border-box;position:relative;z-index:999999;margin:0 auto}

/* Multi-month layout (themes may not load jQuery UI base CSS in the frontend). */
.vlb-inline-calendar .ui-datepicker-multi:after{content:"";display:table;clear:both}
.vlb-inline-calendar .ui-datepicker-multi .ui-datepicker-group{float:left;box-sizing:border-box}
.vlb-inline-calendar .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}
.vlb-inline-calendar .ui-datepicker-multi .ui-datepicker-group table{width:100%}
.vlb-inline-calendar .ui-datepicker-multi .ui-datepicker-group-first{padding-right:8px}
.vlb-inline-calendar .ui-datepicker-multi .ui-datepicker-group-last{padding-left:8px}
.vlb-inline-calendar .ui-datepicker-header{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 44px; /* spazio per le frecce */
  margin: 0 0 10px;
}
.vlb-inline-calendar .ui-datepicker-title{font-weight:700;font-size:16px;line-height:1.2;text-align:center}
.vlb-inline-calendar .ui-datepicker-prev,.vlb-inline-calendar .ui-datepicker-next{cursor:pointer;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid var(--vlb-box-border-color,#e5e7eb);background:var(--vlb-input-bg,#fff);position:absolute;top:50%;transform:translateY(-50%);font-size:0;line-height:0;text-indent:-9999px;overflow:hidden}
.vlb-inline-calendar .ui-datepicker-prev{left:0}
.vlb-inline-calendar .ui-datepicker-next{right:0}
.vlb-inline-calendar .ui-datepicker-prev span,.vlb-inline-calendar .ui-datepicker-next span{display:none}
.vlb-inline-calendar .ui-datepicker-prev:before{content:"\2039";font-size:22px;line-height:1;color:var(--vlb-text-color,#111827);text-indent:0}
.vlb-inline-calendar .ui-datepicker-next:before{content:"\203A";font-size:22px;line-height:1;color:var(--vlb-text-color,#111827);text-indent:0}
.vlb-inline-calendar table{width:100% !important;border-collapse:collapse;table-layout:fixed}
.vlb-inline-calendar th{font-size:12px;color:var(--vlb-placeholder-color,#6b7280);font-weight:700;padding:6px 0;text-align:center}
.vlb-inline-calendar td{padding:2px;text-align:center}
.vlb-inline-calendar td a{display:block;padding:10px 0;text-decoration:none;border-radius:12px;color:var(--vlb-text-color,#111827);border:1px solid transparent}
.vlb-inline-calendar td a:hover{border-color:var(--vlb-box-border-color,#e5e7eb)}

/* Force interactivity even if theme applies pointer-events:none to links */
.vlb-inline-calendar, .vlb-inline-calendar *{pointer-events:auto !important}

/* Elementor popup: keep calendar clickable */
.elementor-popup-modal .vlb-inline-calendar,
.elementor-popup-modal .vlb-inline-calendar .ui-datepicker{z-index:9999999 !important}
.elementor-popup-modal .dialog-widget-content{overflow:visible !important}

/* Range highlight (brand configurable) */
.vlb-inline-calendar td.vlb-cal-range a{position:relative}
.vlb-inline-calendar td.vlb-cal-range a::before{content:"";position:absolute;inset:0;border-radius:12px;background:var(--vlb-cal-range-bg,#111827);opacity:.18;z-index:-1}
.vlb-inline-calendar td.vlb-cal-hover-range a{position:relative}
.vlb-inline-calendar td.vlb-cal-hover-range a::before{content:"";position:absolute;inset:0;border-radius:12px;background:var(--vlb-cal-range-bg,#111827);opacity:.10;z-index:-1}
.vlb-inline-calendar td.vlb-cal-hover-end a{background:var(--vlb-cal-range-bg,#111827);color:#fff;opacity:.85}
.vlb-inline-calendar td.vlb-cal-start a,
.vlb-inline-calendar td.vlb-cal-end a{background:var(--vlb-cal-range-bg,#111827);color:#fff;}
.vlb-inline-calendar .ui-datepicker-today a{border-color:var(--vlb-cal-range-bg,#111827)}
.vlb-inline-calendar .ui-state-disabled span{display:block;padding:10px 0;border-radius:12px;color:#9ca3af}

/* Responsive */
@media (max-width: 640px){
  .vlb-cal-inline-wrap{justify-content:stretch}
  .vlb-inline-calendar .ui-datepicker{max-width:100%}
  .vlb-inline-calendar .ui-datepicker{padding:8px}
  .vlb-inline-calendar .ui-datepicker-title{font-size:15px}
  .vlb-inline-calendar .ui-datepicker-prev,.vlb-inline-calendar .ui-datepicker-next{width:32px;height:32px;border-radius:10px}
  .vlb-inline-calendar th{font-size:11px;padding:6px 0}
  .vlb-inline-calendar td a{padding:9px 0;border-radius:12px}
  .vlb-inline-calendar .ui-datepicker-multi-2 .ui-datepicker-group{width:100%;float:none}
  .vlb-inline-calendar .ui-datepicker-multi .ui-datepicker-group-first{padding-right:0}
  .vlb-inline-calendar .ui-datepicker-multi .ui-datepicker-group-last{padding-left:0}
}

@media (max-width: 420px){
  .vlb-inline-calendar .ui-datepicker{padding:6px}
  .vlb-inline-calendar td a{padding:8px 0;border-radius:12px}
}
