
/* ===== Tema Bosque — Datepicker (COMPLETO) ===== */
.ui-datepicker{
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.14) !important;
  overflow: hidden !important;
  background:#fff !important;
  font-family: inherit !important;
  z-index: 100000 !important;
  max-width: calc(100vw - 24px) !important;
}
.ui-datepicker .ui-datepicker-header{
  background:#1b3a2c !important;
  color:#e6fff5 !important;
  padding:12px 16px !important;
  border:0 !important;
  position:relative !important;
}
.ui-datepicker .ui-datepicker-title{ font-weight:700 !important; font-size:18px !important; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next{
  background: transparent !important; border: 0 !important;
  width: 32px !important; height: 32px !important; border-radius: 8px !important; top: 8px !important;
}
.ui-datepicker .ui-datepicker-prev:hover, .ui-datepicker .ui-datepicker-next:hover{ background: rgba(255,255,255,.12) !important; }
.ui-datepicker-prev .ui-icon, .ui-datepicker-next .ui-icon{ display:none !important; }
.ui-datepicker-prev:after, .ui-datepicker-next:after{
  display:block !important; text-align:center !important;
  color:#fff !important; font-size:20px !important; line-height:32px !important;
}
.ui-datepicker-prev:after{ content:'‹' !important; }
.ui-datepicker-next:after{ content:'›' !important; }
.ui-datepicker table{ table-layout: fixed !important; width: calc(100% - 24px) !important; margin: 8px 12px 16px !important; }
.ui-datepicker th{ color:#45695c !important; font-weight:700 !important; }
.ui-datepicker td{ padding:0 !important; }
.ui-datepicker td a, .ui-datepicker td span{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; height:44px !important; margin:2px !important;
  border-radius:12px !important; border:2px solid transparent !important;
  color:#1b3a2c !important; background:#fff !important; transition:.2s ease !important; box-sizing:border-box !important;
}
.ui-datepicker td a:hover{ background:#e6f3ef !important; }
.ui-datepicker .ui-state-active, .ui-datepicker .ui-datepicker-current-day a{ background:#118860 !important; color:#fff !important; border-color:#118860 !important; }
.ui-datepicker .ui-datepicker-today a{ box-shadow: inset 0 0 0 2px #118860 !important; }

@media (max-width: 820px){
  .ui-datepicker{
    position: fixed !important;
    left: 50% !important; transform: translateX(-50%) !important;
    top: 8vh !important; max-height: calc(100vh - 16vh) !important;
    overflow: auto !important; overscroll-behavior: contain !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }
}

/* ===== Steppers internos + ocultar spinners nativos ===== */
.lc-numwrap{
  position:relative; display:inline-block; vertical-align:middle;
  border:1px solid #d8e2de; border-radius:14px; background:#fff;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02);
}
.lc-numwrap input{
  border:0 !important; background:transparent !important;
  width:100% !important; height:100% !important;
  padding: 0 46px !important; text-align:center !important; font-weight:700 !important;
}
.lc-numwrap .lc-num{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:10px; border:0;
  background:#e8f3ef; color:#0e5a43; font-size:20px; line-height:1; cursor:pointer;
}
.lc-numwrap .lc-num.minus{ left:4px; }
.lc-numwrap .lc-num.plus{ right:4px; }

/* Ocultar spinners nativos en number inputs */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
input[type=number]{ -moz-appearance: textfield; }
