/* ========================================
   CSS HERO SEARCH - ULTRA ESPECÍFICO
   Para sobrescribir el tema Directorist
======================================== */

/* Oculto accesible */
.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}

/* ========== HERO BASE ========== */
.jm-hero-search{
  position:relative;
  background-image:var(--jm-hero-bg);
  background-size:cover;
  background-position:center;
  padding:48px 16px;
  margin-bottom: 10px;
}
.jm-hero-search__card{
  margin:0 auto;
  max-width:1100px;
  background:#001756 !important;
  padding:32px 32px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
}
.jm-hero-search__title{
  font-family:"Literata",serif;
  font-size:32px;
  font-weight:300;
  color:#fff;
  text-align:center;
  margin:0 0 6px 0;
}
.jm-hero-search *{
  border-radius:0!important;
}

/* ========== ANULAR PANELES BLANCOS ========== */
.jm-hero-search .directorist-archive-adv-filter,
.jm-hero-search .directorist-advanced-filter,
.jm-hero-search .directorist-search-form,
.jm-hero-search .directorist-search-form__box,
.jm-hero-search .directorist-search-form-top,
.jm-hero-search .searchform__basic{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}

/* ========== GRID DESKTOP: 25% | 50% | 25% ========== */
.jm-hero-search .directorist-search-form__box{
  display: grid !important;
  grid-template-columns: 25% 50% 25% !important;
  gap: 16px !important;
  align-items: end !important;
  width: 100% !important;
}
.jm-hero-search .directorist-search-form-top{ 
  display: contents !important; 
}
.jm-hero-search .jm-search-field--category{ 
  grid-column: 1 / -1 !important; 
}

/* Mapear columnas */
.jm-hero-search .directorist-search-form__box > .directorist-form-group{ 
  grid-column: 1 !important; 
  min-width: 0; 
}
.jm-hero-search .directorist-search-form__box > .directorist-search-field:not(.directorist-form-group){ 
  grid-column: 2 !important; 
  min-width: 0; 
}
.jm-hero-search .directorist-search-form-action{ 
  grid-column: 3 !important; 
  align-self: end !important; 
  justify-self: stretch !important; 
  margin:0 !important; 
  padding:0 !important; 
  background:transparent !important; 
  border:0 !important; 
  box-shadow:none !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ocultar select nativo (accesible) */
.jm-visually-hidden-select, 
.directorist-search-category{
  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;
  border:0 !important;
}

/* ========== TABS CATEGORÍA ========== */
.jm-search-field--category .jm-cat-pills{
  display:flex; 
  justify-content:center; 
  align-items:center; 
  gap:32px; 
  flex-wrap:wrap;
}
.jm-search-field--category .jm-pill{
  background:transparent; 
  border:0; 
  color:#fff !important; 
  cursor:pointer;
  font-family: "Inter", sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height:1; 
  padding:10px 2px 14px; 
  position:relative;
  transition: font-weight 0.15s;
}
.jm-search-field--category .jm-pill::after{
  content:""; 
  position:absolute; 
  left:0; right:0; bottom:0; 
  height:6px;
  background:transparent; 
  transform:scaleX(0); 
  transform-origin:center; 
  transition:transform .15s, background-color .15s;
}
.jm-search-field--category .jm-pill.is-active{ 
  font-weight:700 !important; 
}
.jm-search-field--category .jm-pill.is-active::after{ 
  background:#0035EE; 
  transform:scaleX(1); 
}

/* ========== ANULAR SEPARADORES DEL TEMA ========== */
.jm-hero-search .directorist-search-field::after,
.jm-hero-search .directorist-search-modal__input::after{
  display: none !important;
}

/* ========== LABELS ========== */
.jm-hero-search .directorist-search-field__label,
.jm-hero-search .field-title,
.jm-hero-search .directorist-form-group .directorist-search-field__label{
  position: static !important;
  transform: none !important;
  display: block !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.2 !important;
  color: #fff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ========== INPUTS NATIVOS ========== */
.jm-hero-search .directorist-form-element,
.jm-hero-search input[type="text"],
.jm-hero-search select,
.jm-hero-search .field-content input,
.jm-hero-search .field-content select{
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  color: #121212 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  height: 52px !important;
  line-height: 52px !important;
  padding: 0 14px !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
}

/* ========== SELECT2 - MÁXIMA ESPECIFICIDAD ========== */
/* Contenedor */
.jm-hero-search .select2-container,
.jm-hero-search .directorist-select,
.jm-hero-search .field-content .select2-container,
.jm-hero-search .directorist-form-group .select2-container{
  width: 100% !important;
  max-width: 100% !important;
}

/* Caja de selección */
.jm-hero-search .select2-container .select2-selection,
.jm-hero-search .select2-container--default .select2-selection--single,
.jm-hero-search .field-content .select2-container .select2-selection,
.jm-hero-search .directorist-form-group .select2-container .select2-selection{
  background: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  height: 52px !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Texto renderizado */
.jm-hero-search .select2-selection__rendered,
.jm-hero-search .select2-container--default .select2-selection--single .select2-selection__rendered,
.jm-hero-search .field-content .select2-container .select2-selection .select2-selection__rendered,
.jm-hero-search .directorist-form-group .select2-container .select2-selection .select2-selection__rendered{
  line-height: 52px !important;
  height: 52px !important;
  padding: 0 14px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #121212 !important;
  width: 100% !important;
}

/* Placeholder */
.jm-hero-search .select2-selection__placeholder,
.jm-hero-search .select2-selection__rendered .select2-selection__placeholder{
  color: #121212 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
}

/* Flecha (ocultar) */
.jm-hero-search .select2-selection__arrow,
.jm-hero-search .select2-container--default .select2-selection--single .select2-selection__arrow,
.jm-hero-search .field-content .select2-container .select2-selection__arrow{
  display: none !important;
}

/* Dropdown */
.jm-hero-search .select2-dropdown,
.jm-hero-search .select2-container--default .select2-search--dropdown .select2-search__field,
.jm-hero-search .select2-results__options,
.-select2-custom-select-results,
.select2-dropdown .select2-dropdown--below{
  border-radius: 0 !important;
}
.jm-hero-search .select2-results__option{
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #121212 !important;
}

/* ========== ANULAR ADDONS DEL TEMA (CHEVRON) ========== */
.jm-hero-search .directorist-select2-addons-area,
.jm-hero-search .directorist-select2-addon,
.jm-hero-search .directorist-select2-dropdown-toggle,
.jm-hero-search .field-content .directorist-select2-addons-area,
.jm-hero-search .field-content .directorist-select2-addon,
.jm-hero-search .field-content .directorist-select2-dropdown-toggle{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* ========== CAMPOS SIN PADDING LATERAL ========== */
.jm-hero-search .directorist-search-field,
.jm-hero-search .directorist-form-group{
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* ========== ICONO LOCALIZACIÓN ========== */
.jm-hero-search .directorist-search-location,
.jm-hero-search .directorist-search-location.map-source,
.jm-hero-search .field-content .directorist-search-location.map-source{
  position: relative !important;
  padding-right: 0px !important;
  padding-left: 0px !important;
}

.directorist-location-js, .location-name, .pac-target-input, .input-is-focused{
	  padding-right: 0 !important;
  padding-left: 0 !important;
	  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #121212 !important;
}

.jm-hero-search .directorist-search-location .directorist-input-icon{
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #001756 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.jm-hero-search .directorist-search-location .directorist-form-element{
  padding-left: 14px !important;
  padding-right: 0px !important;
	  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #121212 !important;
}

/* ========== BOTÓN BUSCAR ========== */
/* Contenedor del botón */
.jm-hero-search .directorist-search-form-action__submit,
.jm-hero-search .directorist-search-form-action .directorist-search-form-action__submit{
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* El botón en sí */
.jm-hero-search .directorist-btn-search,
.jm-hero-search .directorist-search-form-action__submit .directorist-btn,
.jm-hero-search .directorist-search-form-action .directorist-btn-search{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  width: 100% !important;
  max-width: 100% !important;
  height: 52px !important;
  line-height: 52px !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-align: center !important;
  background: #fff !important;
  color: #0035EE !important;
  border: 1px solid #fff !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  border-radius: 0 !important;
}
.jm-hero-search .directorist-btn-search i,
.jm-hero-search .directorist-search-form-action__submit .directorist-btn i{
  color: #0035EE !important;
  flex: 0 0 auto;
  transition: color 0.15s ease !important;
}
.jm-hero-search .directorist-btn-search:hover,
.jm-hero-search .directorist-search-form-action__submit .directorist-btn:hover{
  background: #0035EE !important;
  color: #fff !important;
  border-color: #fff !important;
  opacity: 1 !important;
}
.jm-hero-search .directorist-btn-search:hover i,
.jm-hero-search .directorist-search-form-action__submit .directorist-btn:hover i{
  color: #fff !important;
}

/* Ocultar elementos no deseados */
.jm-hero-search .directorist-search-field__btn--clear,
.jm-hero-search .searchform__advanced-button,
.jm-hero-search .directorist-search-form-action__filter{
  display: none !important;
}

/* ========== RESPONSIVE: TABLET (1200px) ========== */
@media (max-width: 1200px){
  .jm-hero-search .jm-pill{ 
    font-size: 20px !important; 
  }
  .jm-hero-search .select2-selection__rendered,
  .jm-hero-search .select2-selection__placeholder,
  .jm-hero-search .directorist-form-element,
  .jm-hero-search input[type="text"],
  .jm-hero-search select,
  .jm-hero-search .field-content input,
  .jm-hero-search .field-content select{ 
    font-size: 20px !important; 
  }
}

/* ========== RESPONSIVE: MÓVIL (980px) ========== */
@media (max-width: 980px){
  .jm-hero-search__card{ 
    padding: 24px 18px !important; 
  }
  
  /* Grid a una columna */
  .jm-hero-search .directorist-search-form__box{ 
    grid-template-columns: 1fr !important; 
    gap: 20px !important;
  }
  
  /* Todos los elementos en columna */
  .jm-hero-search .jm-search-field--category,
  .jm-hero-search .directorist-form-group,
  .jm-hero-search .directorist-search-field,
  .jm-hero-search .directorist-search-form-action{
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Tabs horizontales con scroll */
  .jm-hero-search .jm-cat-pills{ 
    gap: 20px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .jm-hero-search .jm-pill{ 
    font-size: 14px !important; 
    padding: 8px 4px 10px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  .jm-hero-search .jm-pill::after{
    height: 4px !important;
  }
  
  /* Tamaños reducidos */
  .jm-hero-search .select2-selection__rendered,
  .jm-hero-search .select2-selection__placeholder,
  .jm-hero-search .directorist-form-element,
  .jm-hero-search input[type="text"],
  .jm-hero-search select,
  .jm-hero-search .field-content input,
  .jm-hero-search .field-content select{ 
    font-size: 16px !important;
    height: 48px !important;
    line-height: 48px !important;
  }
  
  .jm-hero-search .select2-container .select2-selection,
  .jm-hero-search .field-content .select2-container .select2-selection{
    height: 48px !important;
    min-height: 48px !important;
  }
  .jm-hero-search .select2-selection__rendered{
    line-height: 48px !important;
    height: 48px !important;
  }
  
  .jm-hero-search .directorist-search-field__label,
  .jm-hero-search .field-title{ 
    font-size: 13px !important; 
  }
  
  .jm-hero-search .directorist-btn-search,
  .jm-hero-search .directorist-search-form-action__submit .directorist-btn{ 
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    line-height: 48px !important;
    font-size: 16px !important;
  }
  
  .jm-hero-search .directorist-search-form-action__submit{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ========== RESPONSIVE: MÓVIL PEQUEÑO (640px) ========== */
@media (max-width: 640px){
  .jm-hero-search__title{ 
    font-size: 26px !important; 
  }
  
  .jm-hero-search .jm-cat-pills{ 
    gap: 16px !important;
  }
  .jm-hero-search .jm-pill{ 
    font-size: 13px !important;
    padding: 6px 3px 8px !important;
  }
  
  .jm-hero-search .select2-selection__rendered,
  .jm-hero-search .select2-selection__placeholder,
  .jm-hero-search .directorist-form-element,
  .jm-hero-search input[type="text"],
  .jm-hero-search select,
  .jm-hero-search .field-content input,
  .jm-hero-search .field-content select{ 
    font-size: 15px !important;
    height: 46px !important;
    line-height: 46px !important;
  }
  
  .jm-hero-search .select2-container .select2-selection,
  .jm-hero-search .field-content .select2-container .select2-selection{
    height: 46px !important;
    min-height: 46px !important;
  }
  .jm-hero-search .select2-selection__rendered{
    line-height: 46px !important;
    height: 46px !important;
  }
  
  .jm-hero-search .directorist-search-location .directorist-form-element{
    padding-left: 14px !important;
  }
  .jm-hero-search .directorist-search-location .directorist-input-icon{
    left: 10px !important;
    font-size: 14px !important;
  }
  
  .jm-hero-search .directorist-btn-search,
  .jm-hero-search .directorist-search-form-action__submit .directorist-btn{ 
    height: 46px !important;
    line-height: 46px !important;
    font-size: 15px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .jm-hero-search .directorist-search-form-action__submit{
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .jm-hero-search .directorist-search-field__label,
  .jm-hero-search .field-title{ 
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }
}

/* ========== ULTRA ESPECÍFICO: BODY PREFIJO ========== */
body .jm-hero-search .select2-container,
body .jm-hero-search .directorist-select{
  width: 100% !important;
  max-width: 100% !important;
}
body .jm-hero-search .select2-container--default .select2-selection--single,
body .jm-hero-search .select2-container .select2-selection--single,
body .jm-hero-search .field-content .select2-container .select2-selection{
  background: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  height: 52px !important;
  min-height: 52px !important;
  width: 100% !important;
  padding: 0 !important;
}
body .jm-hero-search .select2-container--default .select2-selection--single .select2-selection__rendered,
body .jm-hero-search .field-content .select2-container .select2-selection .select2-selection__rendered{
  line-height: 52px !important;
  height: 52px !important;
  padding: 0 14px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #121212 !important;
  width: 100% !important;
}
body .jm-hero-search .directorist-select2-addons-area,
body .jm-hero-search .directorist-select2-addon,
body .jm-hero-search .directorist-select2-dropdown-toggle,
body .jm-hero-search .field-content .directorist-select2-addons-area{
  display: none !important;
  width: 0 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

@media (max-width: 980px){
  body .jm-hero-search .select2-container--default .select2-selection--single,
  body .jm-hero-search .select2-container .select2-selection--single,
  body .jm-hero-search .field-content .select2-container .select2-selection{
    height: 48px !important;
    min-height: 48px !important;
  }
  body .jm-hero-search .select2-container--default .select2-selection--single .select2-selection__rendered,
  body .jm-hero-search .field-content .select2-container .select2-selection .select2-selection__rendered{
    line-height: 48px !important;
    height: 48px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 640px){
  body .jm-hero-search .select2-container--default .select2-selection--single,
  body .jm-hero-search .select2-container .select2-selection--single,
  body .jm-hero-search .field-content .select2-container .select2-selection{
    height: 46px !important;
    min-height: 46px !important;
  }
  body .jm-hero-search .select2-container--default .select2-selection--single .select2-selection__rendered,
  body .jm-hero-search .field-content .select2-container .select2-selection .select2-selection__rendered{
    line-height: 46px !important;
    height: 46px !important;
    font-size: 15px !important;
  }
}

.directorist-search-field.input-has-value .directorist-search-field__input, 
.directorist-search-field.input-has-value .directorist-select, 
.directorist-search-field.input-is-focused .directorist-search-field__input, 
.directorist-search-field.input-is-focused .directorist-select {
    position: relative;
    /*bottom: -5px;*/
	bottom: 0px !important;
}

.pac-container {
    /*list-style: none;
    margin: 0;
    padding: 18px 5px 11px;
    max-width: 270px;
    min-width: 200px;*/
    border-radius: 0px !important;
}


.directorist-content-active .select2-container--default .select2-dropdown {
    border-radius: 0px !important;
	/*
	border: none;
    background-color: var(--directorist-color-white);
    -webkit-box-shadow: var(--directorist-box-shadow);
    box-shadow: var(--directorist-box-shadow);
    border: 1px solid var(--directorist-color-border-light);
	*/
}

.directorist-content-active .select2-container--default .select2-search__field {
	border-radius: 0px !important;
    /*
    padding: 10px 18px !important;
    background: transparent;
    color: var(--directorist-color-deep-gray);
    border: 1px solid var(--directorist-color-border-gray) !important;
	*/
}

.directorist-search-form__top .directorist-search-field.input-has-value .directorist-filter-location-icon, 
.directorist-search-form__top .directorist-search-field.input-has-value .directorist-select, 
.directorist-search-form__top .directorist-search-field.input-is-focused .directorist-filter-location-icon, 
.directorist-search-form__top .directorist-search-field.input-is-focused .directorist-select {
    /*margin-top: 3px;*/
	margin-top: 0px !important;
}