.neo-custom-select{position:relative;display:block;width:100%;min-width:0}.neo-custom-select-native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}.neo-custom-select-trigger{display:flex;align-items:center;width:100%;min-height:45px;padding:10px 13px;border:1px solid #cbdfea;border-radius:10px;color:#19355f;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.neo-custom-select-trigger:hover,.neo-custom-select.is-open .neo-custom-select-trigger{border-color:#147dff;box-shadow:0 0 0 4px rgba(20,125,255,.1)}.neo-custom-select-trigger img,.neo-custom-select-option img{flex:0 0 auto;width:28px;height:28px;margin-right:10px;object-fit:contain;border-radius:6px}.neo-custom-select-trigger>span:nth-child(2),.neo-custom-select-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neo-custom-select-arrow{width:9px!important;height:9px!important;margin:0 2px 0 auto!important;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.neo-custom-select.is-open .neo-custom-select-arrow{transform:rotate(225deg) translate(-1px,-1px)}.neo-custom-select-menu{position:absolute;z-index:80;top:calc(100% + 7px);right:0;left:0;display:grid;gap:4px;max-height:260px;padding:7px;border:1px solid #c8ddec;border-radius:13px;background:#fff;box-shadow:0 18px 40px rgba(10,48,85,.18);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.neo-custom-select.is-open .neo-custom-select-menu{opacity:1;visibility:visible;transform:translateY(0)}.neo-custom-select-search{width:100%;min-height:38px;padding:8px 10px;border:1px solid #d5e4ee;border-radius:8px;color:#19355f;background:#f7fbfe;font:inherit;font-size:13px;outline:none}.neo-custom-select-search:focus{border-color:#147dff;box-shadow:0 0 0 3px rgba(20,125,255,.1)}.neo-custom-select-option{display:flex;align-items:center;width:100%;min-height:42px;padding:6px 9px;border:0;border-radius:9px;color:#19355f;background:#fff;font:inherit;font-size:inherit;text-align:left;cursor:pointer}.neo-custom-select-option:hover,.neo-custom-select-option.is-selected{color:#075dca;background:#edf6ff}.neo-custom-select-option.is-placeholder{color:#7289a4}.neo-custom-select-option:disabled{color:#9aaabb;background:#f4f7f9;cursor:not-allowed}.neo-custom-select-option:disabled:hover{color:#9aaabb;background:#f4f7f9}.neo-custom-select-option:disabled img{opacity:.45}.neo-custom-select-option[hidden]{display:none}@media(max-width:700px){.neo-custom-select-menu{max-height:220px}.neo-custom-select-option{min-height:44px}.neo-custom-select-trigger{min-height:50px;font-size:16px}.neo-custom-select-search{min-height:42px;font-size:16px}}
.neo-custom-select-menu{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.neo-custom-select-search{position:sticky;top:0;z-index:1}
@media(max-width:800px){.neo-custom-select{min-width:0}.neo-custom-select-menu{max-height:min(240px,32dvh);overscroll-behavior:contain}.neo-custom-select-option>span{min-width:0;overflow-wrap:anywhere}}

/* Los select de hora mantienen exactamente la misma caja visual que el resto del formulario. */
.public-review-modal .demo-form .neo-custom-select-trigger,
.product-demo-modal .product-demo-form .neo-custom-select-trigger {
  min-height: 52px;
  padding: 14px 15px;
  border: 1px solid #c6d9eb;
  border-radius: 10px;
  color: #19355f;
  background: #fff;
  font-size: 14px;
  line-height: 1.25;
}
.public-review-modal .demo-form .neo-custom-select-trigger:hover,
.public-review-modal .demo-form .neo-custom-select.is-open .neo-custom-select-trigger,
.product-demo-modal .product-demo-form .neo-custom-select-trigger:hover,
.product-demo-modal .product-demo-form .neo-custom-select.is-open .neo-custom-select-trigger {
  border-color: #147dff;
  box-shadow: 0 0 0 4px rgba(20,125,255,.1);
}
.public-review-modal .demo-form .neo-custom-select-menu,
.product-demo-modal .product-demo-form .neo-custom-select-menu {
  top: calc(100% + 6px);
  max-height: min(280px, 42vh);
  padding: 8px;
  border-radius: 12px;
}
.public-review-modal .demo-form .neo-custom-select-search,
.product-demo-modal .product-demo-form .neo-custom-select-search {
  min-height: 42px;
  padding: 10px 11px;
  border-radius: 9px;
  font-size: 14px;
}
.public-review-modal .demo-form .neo-custom-select-option,
.product-demo-modal .product-demo-form .neo-custom-select-option {
  min-height: 44px;
  padding: 8px 11px;
  border-radius: 9px;
  color: #19355f;
  font-size: 14px;
  line-height: 1.25;
}
@media(max-width:800px){
  .public-review-modal .demo-form .neo-custom-select-trigger,
  .product-demo-modal .product-demo-form .neo-custom-select-trigger { min-height: 52px; font-size: 16px; }
  .public-review-modal .demo-form .neo-custom-select-search,
  .product-demo-modal .product-demo-form .neo-custom-select-search { font-size: 16px; }
  .public-review-modal .demo-form .neo-custom-select-option,
  .product-demo-modal .product-demo-form .neo-custom-select-option { min-height: 46px; font-size: 16px; }
}

/* Safari/iPhone centra internamente los valores de los campos date si no se fuerza esta regla. */
.public-review-modal .demo-form input[type="date"],
.product-demo-modal .product-demo-form input[type="date"] {
  display: block;
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  text-align: left !important;
  text-align-last: left !important;
}
.public-review-modal .demo-form input[type="date"]::-webkit-date-and-time-value,
.product-demo-modal .product-demo-form input[type="date"]::-webkit-date-and-time-value {
  display: block;
  width: 100%;
  min-height: 1.25em;
  text-align: left !important;
}
.public-review-modal .demo-form input[type="date"]::-webkit-calendar-picker-indicator,
.product-demo-modal .product-demo-form input[type="date"]::-webkit-calendar-picker-indicator {
  display: block;
  position: absolute;
  top: 50%;
  right: 14px;
  width: 20px;
  height: 20px;
  margin-left: auto;
  margin-top: -10px;
  opacity: .7;
}
