/* Evaflex Buscador Inteligente — estilos aislados por clase.
   Los controles de Elementor generan reglas más específicas por instancia. */
.evx-search { box-sizing:border-box; position:relative; width:100%; max-width:860px; margin:0 auto; font-family:inherit; color:#203449; z-index:auto; }
.evx-search *, .evx-search *::before, .evx-search *::after { box-sizing:border-box; }
.evx-search__sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.evx-search__form { width:100%; margin:0!important; padding:0!important; }
.evx-search__bar { display:flex; align-items:center; gap:10px; padding:5px 6px 5px 17px; min-height:56px; width:100%; background:#fff; border:1px solid #dde6ec; border-radius:16px; box-shadow:0 7px 26px rgba(23,64,98,.055); transition:border-color .2s,box-shadow .2s; overflow:hidden; }
.evx-search:focus-within .evx-search__bar { border-color:#75c732; box-shadow:0 4px 22px rgba(114,200,47,.12); }
.evx-search__leading-icon { flex:0 0 auto; display:inline-flex; justify-content:center; align-items:center; color:#1789c5; font-size:20px; line-height:1; }
.evx-search__leading-icon svg { height:20px; width:20px; display:block; fill:none; }
.evx-search__input { flex:1 1 120px; min-width:0; width:100%; max-width:none; border:0!important; border-radius:0!important; box-shadow:none!important; outline:0!important; background:transparent!important; color:#152a3b; font-family:inherit; font-size:15px; line-height:1.4; font-weight:400; height:auto!important; min-height:38px; padding:5px 0; margin:0!important; appearance:none; -webkit-appearance:none; }
.evx-search__input::placeholder { color:#8b99a8; opacity:1; }
.evx-search__input::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.evx-search__clear { border:0!important; box-shadow:none!important; background:transparent!important; color:#94a1ad; padding:3px 5px!important; cursor:pointer; flex:0 0 auto; line-height:1; font-size:25px; font-weight:300; display:none; }
.evx-search.has-query .evx-search__clear { display:inline-flex; }
.evx-search__clear:hover { color:#1a6fa1; }
.evx-search__category-wrap { display:flex; flex:0 0 auto; align-items:center; position:relative; background:#f3f8f0; border-left:1px solid #dde6ec; border-radius:9px; width:194px; max-width:39%; }
.evx-search__category { cursor:pointer; display:block; width:100%; max-width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; color:#536577; font-family:inherit; background:transparent!important; box-shadow:none!important; border:0!important; outline-offset:2px; padding:8px 10px 8px 12px; height:auto; min-height:38px; line-height:1.4; }
.evx-search__submit { flex:0 0 auto; border:0!important; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:8px 21px; background:#76c935; color:#fff; font:inherit; font-weight:700; font-size:13px; line-height:1.2; border-radius:12px; cursor:pointer; white-space:nowrap; box-shadow:none; transition:background-color .18s ease,transform .18s ease; }
.evx-search__submit:hover { background:#5eac24; transform:translateY(-1px); }
.evx-search__submit:focus-visible, .evx-search__clear:focus-visible, .evx-search__item:focus-visible, .evx-search__all:focus-visible { outline:2px solid #0a78bf!important; outline-offset:2px; }
.evx-search__submit-icon { display:inline-flex; align-items:center; justify-content:center; font-size:16px; line-height:1; }
.evx-search__submit-icon svg { display:block; width:16px; height:16px; fill:currentColor; }
.evx-search__results { position:absolute; z-index:10020; left:0; top:100%; margin-top:10px; width:100%; max-width:none; overflow-y:auto; overscroll-behavior:contain; max-height:480px; background:#fff; border:1px solid #e2eaf0; border-radius:18px; box-shadow:0 20px 55px rgba(19,58,88,.16); scrollbar-width:thin; }
.evx-search__results[hidden] { display:none!important; }
.evx-search__items { display:block; margin:0; padding:7px 0; }
.evx-search__item { display:flex; gap:12px; align-items:center; width:100%; padding:11px 15px; color:inherit!important; background:#fff; text-decoration:none!important; border:0; border-radius:0!important; outline:none; transition:background .15s; }
.evx-search__item:not(:last-child) { border-bottom:1px solid #edf1f3; }
.evx-search__item:hover, .evx-search__item.is-active { background:#f3faec; text-decoration:none!important; }
.evx-search__thumb { width:62px; height:auto; aspect-ratio:1 / 1; flex:0 0 auto; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:10px; background:#f5f7f9; }
.evx-search__thumb img { width:100%; height:100%; object-fit:contain; margin:0!important; border:0; box-shadow:none; }
.evx-search__thumb--demo svg { width:100%; height:100%; display:block; }
.evx-search__details { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:4px; }
.evx-search__category-name { color:#7f93a1; font-size:10px; letter-spacing:.065em; text-transform:uppercase; font-weight:700; line-height:1.4; }
.evx-search__product-name { color:#203449; font-size:13px; font-weight:700; line-height:1.45; overflow-wrap:anywhere; }
.evx-search__sku { color:#92a0ab; font-size:10px; line-height:1.3; }
.evx-search__meta { display:flex; flex:0 0 auto; flex-direction:column; align-items:flex-end; justify-content:center; gap:7px; }
.evx-search__sale { display:inline-block; background:#fff0f2; color:#e84d73; font-size:10px; padding:3px 8px; border-radius:20px; font-weight:750; line-height:1.4; }
.evx-search__price { color:#64ae28; font-size:13px; line-height:1.4; font-weight:750; white-space:nowrap; }
.evx-search__price ins { text-decoration:none; background:none; color:inherit; font-weight:inherit; padding:0; }
.evx-search__price del { font-size:11px; font-weight:400; color:#9eaab2; opacity:.8; margin-right:4px; }
.evx-search__panel-footer { padding:12px 17px; border-top:1px solid #e5efdf; background:#f6fbf2; }
.evx-search__all { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; line-height:1.5; font-weight:750; color:#207ab4; text-decoration:none!important; }
.evx-search__all:hover { color:#125a88; }
.evx-search__all span:last-child { font-size:20px; line-height:1; }
.evx-search__message { color:#60758a; font-size:13px; line-height:1.55; display:flex; gap:12px; align-items:center; padding:26px 20px; }
.evx-search__message-symbol { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; color:#76c935; background:#eef8e4; border-radius:50%; flex:0 0 auto; font-size:24px; }
.evx-search__message--loading .evx-search__message-symbol { animation:evx-turn 1s linear infinite; }
.evx-search__demo-label { padding:8px 15px; background:#ecf7e3; color:#4d8b23; font-size:9px; letter-spacing:.14em; font-weight:800; text-transform:uppercase; }
@keyframes evx-turn { to { transform:rotate(360deg); } }
@media(max-width:767px) {
  .evx-search__bar { gap:7px; padding:5px 5px 5px 12px; }
  .evx-search__submit { padding:8px 12px; }
  .evx-search__category-wrap { width:136px; }
  .evx-search__results { max-height:70vh; }
}
@media(max-width:520px) {
  .evx-search__bar { border-radius:12px; }
  .evx-search__submit { min-width:42px; }
  .evx-search__item { gap:8px; padding:10px 10px; }
  .evx-search__thumb { width:50px; }
  .evx-search__product-name { font-size:12px; }
  .evx-search__meta { max-width:95px; }
  .evx-search__price { font-size:12px; white-space:normal; text-align:right; }
}
@media(prefers-reduced-motion:reduce) {
  .evx-search__bar, .evx-search__item, .evx-search__submit { transition:none!important; }
  .evx-search__message--loading .evx-search__message-symbol { animation:none; }
}

.evx-search.is-open { z-index:9999; }

/* v1.0.2 - Reset de estilos globales del tema y select totalmente personalizable */
.evx-search .evx-search__input, .evx-search input.evx-search__input {
  text-indent:0!important; padding-left:0; background-image:none!important;
  background-position:initial!important; background-size:auto!important;
  letter-spacing:normal;
}
.evx-search .evx-search__input::before,.evx-search .evx-search__input::after {content:none!important}
.evx-search__leading-icon:empty {display:none!important}
.evx-search__category-wrap { isolation:isolate; }
.evx-search__category-wrap select.evx-search__category {
  -webkit-appearance:none!important; -moz-appearance:none!important; appearance:none!important;
  background-image:none!important; background-repeat:no-repeat!important;
  padding-right:34px; position:relative; z-index:1;
}
.evx-search__category-arrow { position:absolute; pointer-events:none; display:flex; align-items:center; justify-content:center; right:7px; top:50%; transform:translateY(-50%); z-index:2; color:#536577; width:28px; height:24px; line-height:1; }
.evx-search__category-arrow svg { width:12px; height:12px; display:block; fill:currentColor; }
.evx-search__category-arrow i { font-size:12px; line-height:1; }

/* v1.0.3: Layout estable en cabeceras Elementor. Ninguna búsqueda cambia la geometría. */
.elementor-widget-evx-buscador-inteligente { min-width:0; max-width:100%; }
.elementor-widget-evx-buscador-inteligente > .elementor-widget-container { min-width:0; max-width:100%; }
.evx-search { min-width:0; max-width:100%; isolation:isolate; }
.evx-search__form { display:block; min-width:0; max-width:100%; }
.evx-search__bar { box-sizing:border-box; flex-wrap:nowrap; min-width:0; max-width:100%; }
.evx-search input.evx-search__input { flex:1 1 0%; width:0!important; min-width:0!important; max-width:100%!important; padding-inline-start:0; overflow:hidden; text-overflow:ellipsis; }
.evx-search__category-wrap { flex-shrink:1; min-width:0; }
.evx-search__category-wrap select.evx-search__category { min-width:0; }
.evx-search__results { box-sizing:border-box; min-width:0; max-width:min(100vw - 20px, 100%); overflow-x:hidden; }
.evx-search__results-body, .evx-search__message { min-width:0; max-width:100%; }
.evx-search__item, .evx-search__details { min-width:0; }
.evx-search__message { overflow-wrap:anywhere; }
.evx-search__results[hidden] { display:none!important; }
.evx-search:not(.is-open) { z-index:auto; }
@media(max-width:767px) {
  .evx-search__category-wrap { max-width:38%; }
  .evx-search__submit { min-width:0; }
}
