/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */





/* Deshabilitar la opción de expandir (resize) para todos los campos de textarea */
textarea {
    resize: none !important;
}


/* overflow */
html, body{
	overflow-x: hidden !important;
}



/* =========================================
   LOGO SWAP AUTOS -> GRUPO
   Sin mover espacios del header
========================================= */

/* El logo duplicado solo sirve como fuente */
.gm-logo-grupo-hover {
  display: none !important;
}

/* Logo visible */
.gm-logo-swap .gm-logo-autos img {
  display: block !important;
  opacity: 1;
  transition: opacity .22s ease-in-out !important;
}

/* Fade */
.gm-logo-swap.is-logo-fading .gm-logo-autos img {
  opacity: 0;
}





@media (min-width: 1025px){

  /* Texto con efecto typing en footer */
  .gm-typing-note{
    display: inline-block;
  }

  .gm-typing-note p{
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    width: 0;
    margin: 0;
    border-right: 2px solid currentColor;
    animation: gmTypingLoop 12s steps(38, end) infinite, gmBlink .15s step-end infinite;
  }

  @keyframes gmTypingLoop{
    0%{ width: 0; }
    40%{ width: 38ch; }
    60%{ width: 38ch; }
    100%{ width: 0; }
  }

  @keyframes gmBlink{
    0%{ border-color: transparent; }
  }

}






/* ============================
   Dropdowns mismo ancho
   ============================ */
.same-dd .elementor-nav-menu--main .sub-menu{
  width: 225px !important;
  min-width: 150px !important;
}

/* Cada item ocupa todo el ancho */
.same-dd .elementor-nav-menu--main .sub-menu > li,
.same-dd .elementor-nav-menu--main .sub-menu > li > a{
  width: 100% !important;
  box-sizing: border-box;
}



/* GROW SUAVE SOLO EN EL ITEM PRINCIPAL SIN DROPDOWN */
.menu-grow-soft .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item{
  display: inline-flex;
  align-items: center;
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
  transform-origin: center center;
  will-change: transform;
}

.menu-grow-soft .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover{
  transform: scale(1.03);
}










/* =========================================
   ESPACIO ENTRE FILAS EN MÓVIL/TABLET
   ========================================= */
@media (max-width: 1024px){
  .icon-list-gap-mobile .elementor-icon-list-items{
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px;
  }
}

/* Footer mobile: acercar solo el icono de ubicacion al texto */
@media (max-width: 767px){
  .elementor-location-footer .footer-location-icon-tight.elementor-widget-icon-list .elementor-icon-list-icon{
    transform: translateX(18px) !important;
  }
}






/* Ocultar flechas (spinners) en input type="number" — Teléfono */
input[name="form_fields[telefono]"]::-webkit-outer-spin-button,
input[name="form_fields[telefono]"]::-webkit-inner-spin-button,
input[name="form_fields[year]"]::-webkit-outer-spin-button,
input[name="form_fields[year]"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

input[name="form_fields[telefono]"],
input[name="form_fields[year]"]{
  -moz-appearance: textfield; /* Firefox */
  appearance: textfield;
}








/* OCULTAR NOMBRES DE IMAGENES */
/* Elementor Lightbox: ocultar el título/descripcion en todo el sitio */
.elementor-lightbox .elementor-slideshow__footer,
.elementor-lightbox .elementor-slideshow__title,
.elementor-lightbox .elementor-slideshow__caption,
.elementor-lightbox .elementor-slideshow__description{
  display: none !important;
}

/* Vehiculos interna: quitar sombra de la imagen al abrir lightbox */
body.single-vehiculo .elementor-lightbox .elementor-lightbox-image{
  box-shadow: none !important;
}






/* FORMULARIO SUSCRIBIRSE ANIMACIÓN DE LABELS*/
/* =========================================
   Floating Label (Elementor Form)
   Clase widget: float
   Estructura: label + input dentro de .elementor-field-group
   ========================================= */

.float .elementor-field-group{
  position: relative;
}

/* Deja espacio arriba para el label cuando "sube" */
.float .elementor-field-textual{
  padding-top: 18px !important;
}

/* LABEL como placeholder (sobre el input) */
.float .elementor-field-group > .elementor-field-label{
  position: absolute;
  left: 20px;                 /* ajusta si tu input tiene padding diferente */
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  margin: 0 !important;
  opacity: .75;
  line-height: 1;
  transition: top .18s ease, transform .18s ease, opacity .18s ease, font-size .18s ease;
  z-index: 2;
}

/* Placeholder visible por defecto */
.float .elementor-field-textual::placeholder{
  opacity: 1;
  transition: opacity .15s ease;
}

/* Al enfocar o cuando hay texto: label sube */
.float .elementor-field-group.is-focus > .elementor-field-label,
.float .elementor-field-group.is-filled > .elementor-field-label{
  top: 3px !important;
  transform: translateY(0);
  opacity: 1;
  font-size: 12px !important;
}

/* Al enfocar o con texto: ocultar placeholder para que no choque */
.float .elementor-field-group.is-focus .elementor-field-textual::placeholder,
.float .elementor-field-group.is-filled .elementor-field-textual::placeholder{
  opacity: 0;
}



/* SUBIR LABEL DE MENSAJE */
/* =========================================
   FIX: Campo MENSAJE (textarea) - evitar que el texto se monte en el label
   Solo afecta .elementor-field-group-mensaje
========================================= */

/* Label en reposo arriba (ya lo tenías) */
.float .elementor-field-group-mensaje > .elementor-field-label{
  top: 14px !important;                 
  transform: translateY(0) !important;  
}

/* Dar MÁS espacio arriba dentro del textarea */
.float .elementor-field-group-mensaje textarea.elementor-field-textual{
  padding-top: 27px !important;   /* ajusta 32–44 */
  padding-bottom: 12px !important;
}

/* Responsive */
@media (max-width: 767px){
  .float .elementor-field-group-mensaje > .elementor-field-label{
    top: 14px !important;
    transform: translateY(0) !important;
  }

  .float .elementor-field-group-mensaje textarea.elementor-field-textual{
    padding-top: 27px !important; /* ajusta 36–48 */
    padding-bottom: 12px !important;
  }
}



/* RESPONSIVE DE LOS LABELS FLOTANTES EN FORMULARIO DE FOOTER SUSCRIBETE */
/* =========================================
   Floating Label (RESPONSIVE fine-tune)
   Solo móvil/tablet
   ========================================= */
@media (max-width: 767px){

  /* 1) Más espacio arriba para que el cursor/texto no quede pegado al label */
  .float .elementor-field-textual{
    padding-top: 24px !important;  /* 👈 sube/baja: 22–28 */
    padding-bottom: 10px !important; /* opcional: más “aire” */
  }

  /* 2) Transición más suave (menos brusca) */
  .float .elementor-field-group > .elementor-field-label{
    transition:
      top .28s cubic-bezier(.2,.8,.2,1),
      transform .28s cubic-bezier(.2,.8,.2,1),
      opacity .22s ease,
      font-size .28s cubic-bezier(.2,.8,.2,1);
  }

  /* 3) Cuando sube: que suba un poco más (más separación visual) */
  .float .elementor-field-group.is-focus > .elementor-field-label,
  .float .elementor-field-group.is-filled > .elementor-field-label{
    top: 3px;          /* 👈 más arriba (antes 7px). Prueba 2–5 */
    font-size: 12px;   /* 👈 el tamaño que ya te gustó (ajustable) */
  }

  /* 4) (Opcional) En reposo, bajar un poquito el label para que se sienta centrado */
  .float .elementor-field-group > .elementor-field-label{
    top: 54%;          /* 👈 50% era perfecto en desktop; en móvil a veces se ve mejor 52–56 */
  }
}




/* El banner accesorios no debe estorbar al filtro */
.acc-ban-title,
.acc-ban-title .elementor-widget-container,
.acc-ban-title .elementor-heading-title{
  pointer-events: none;
  user-select: none;
  cursor: default;
}




/* =========================================================
   FILTRO VEHÍCULOS - CARACTERÍSTICAS COMO SWITCHES
   Clase a poner en el widget: veh-filter-ui
   ========================================================= */

/* --- ocultar título vacío/barra superior del grupo caracteristica --- */
.veh-filter-ui .flex-wrapper.caracteristica > .filter-title{
  display: none !important;
}

/* --- ocultar "Más vistos" solo en este grupo --- */
.veh-filter-ui .flex-wrapper.caracteristica li.parent-term:has(#mas-vistos-c4acaf3),
.veh-filter-ui .flex-wrapper.caracteristica li.parent-term:has(input[id*="mas-vistos"]){
  display: none !important;
}

/* --- limpiar lista --- */
.veh-filter-ui .flex-wrapper.caracteristica .taxonomy-filter{
  list-style: none;
  margin: 0;
  padding: 0;
}

.veh-filter-ui .flex-wrapper.caracteristica .taxonomy-filter li{
  margin: 0 0 10px;
  padding: 0;
}

/* --- ocultar checkbox nativo --- */
.veh-filter-ui .flex-wrapper.caracteristica input[type="checkbox"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* --- ocultar el + del plugin en esta sección --- */
.veh-filter-ui .flex-wrapper.caracteristica .low-group-trigger{
  display: none !important;
}

/* --- estructura del label --- */
.veh-filter-ui .flex-wrapper.caracteristica li > label{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  cursor: pointer;
  padding: 0 0 0 0;
  min-height: 34px;
}

/* span que contiene el texto */
.veh-filter-ui .flex-wrapper.caracteristica li > label > span:first-of-type{
  display: block;
  width: 100%;
  padding-right: 78px; /* espacio para el switch */
}

/* texto */
.veh-filter-ui .flex-wrapper.caracteristica .label-text{
  display: block;
  font-size: 18px;
  line-height: 1.2;
  color: #0D2B45;
  font-weight: 400;
}

/* --- track del switch --- */
.veh-filter-ui .flex-wrapper.caracteristica li > label::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: #7a7a7a;
  transition: background .25s ease;
}

/* --- knob del switch --- */
.veh-filter-ui .flex-wrapper.caracteristica li > label::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f3f3f3;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
  transition: right .25s ease, transform .25s ease, background .25s ease;
}

/* --- estado activo manejado por clase JS --- */
.veh-filter-ui .flex-wrapper.caracteristica li.is-checked > label::before{
  background: #2F4666;
}

.veh-filter-ui .flex-wrapper.caracteristica li.is-checked > label::after{
  right: 2px;
}

/* hover sutil */
.veh-filter-ui .flex-wrapper.caracteristica li > label:hover::before{
  filter: brightness(.96);
}

/* focus accesible */
.veh-filter-ui .flex-wrapper.caracteristica input[type="checkbox"]:focus + span,
.veh-filter-ui .flex-wrapper.caracteristica li > label:focus-within{
  outline: none;
}


/* móvil */
@media (max-width: 767px){
  .veh-filter-ui .flex-wrapper.caracteristica .label-text{
    font-size: 16px;
  }
}



/* =========================================================
   CUSTOM RANGE UI FOR VEHICLE FILTERS
   ========================================================= */
.veh-filter-ui{
  --veh-filter-gap: 2px;
  --veh-filter-inner-gap: 6px;
  --veh-filter-advanced-gap: 15px;
  --veh-main-filter-color: var(--e-global-color-accent, #16352b);
  --veh-main-filter-hover: rgba(22, 53, 43, 0.08);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.veh-filter-ui .filter-container,
.veh-filter-ui .filter-container form.form-tax{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.veh-filter-ui .filter-container form.form-tax{
  justify-items: stretch;
}

.veh-filter-ui .filter-container form.form-tax > .flex-wrapper,
.veh-filter-ui .veh-advanced-panel > .flex-wrapper,
.veh-filter-ui .filter-container form.form-tax > .veh-advanced-group,
.veh-filter-ui .filter-container form.form-tax > .reset-form{
  margin: 0 !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* =========================================================
   LISTAS DESPLEGABLES DE FILTROS
   ========================================================= */
.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-taxonomy-wrapper,
.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-custom-field-wrapper{
  width: 100%;
  max-width: 100%;
}

.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-taxonomy-wrapper > .taxonomy-filter,
.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-custom-field-wrapper > .taxonomy-filter{
  width: 100%;
  max-height: 208px;
  margin-top: 8px;
  padding-right: 6px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--veh-main-filter-color) transparent;
  box-sizing: border-box;
}

.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-taxonomy-wrapper > .taxonomy-filter::-webkit-scrollbar,
.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-custom-field-wrapper > .taxonomy-filter::-webkit-scrollbar{
  width: 6px;
}

.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-taxonomy-wrapper > .taxonomy-filter::-webkit-scrollbar-track,
.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-custom-field-wrapper > .taxonomy-filter::-webkit-scrollbar-track{
  background: transparent;
}

.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-taxonomy-wrapper > .taxonomy-filter::-webkit-scrollbar-thumb,
.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-custom-field-wrapper > .taxonomy-filter::-webkit-scrollbar-thumb{
  background: rgba(22, 53, 43, 0.35);
  border-radius: 999px;
}

.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-taxonomy-wrapper > .taxonomy-filter > li > label,
.veh-filter-ui .flex-wrapper:not(.caracteristica):not(.child-stepper-ready) > .bpfwe-custom-field-wrapper > .taxonomy-filter > li > label{
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding-left: 10px;
  box-sizing: border-box;
}

.veh-filter-ui .flex-wrapper.linea > .bpfwe-taxonomy-wrapper > .taxonomy-filter > li.gm-line-brand-heading{
  display: flex;
  align-items: center;
  width: 100%;
  margin: 14px 0 4px;
  padding: 0;
  margin-left: 10px;
  color: var(--veh-main-filter-color);
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  list-style: none;
  box-sizing: border-box;
  pointer-events: none;
  user-select: none;
}

.veh-filter-ui .flex-wrapper.linea > .bpfwe-taxonomy-wrapper > .taxonomy-filter > li.gm-line-brand-heading:first-child{
  margin-top: 0;
}

/* =========================================================
   FILTRO PRINCIPAL DE CARACTERISTICAS
   ========================================================= */
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs > .filter-title:empty{
  display: none !important;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs > .bpfwe-taxonomy-wrapper{
  width: 100%;
  max-width: 100%;
  margin-bottom: 0 !important;
  box-sizing: border-box;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 3px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 3px;
  list-style: none;
  border: 1px solid var(--veh-main-filter-color);
  border-radius: 999px;
  background: #FFFFFF;
  box-sizing: border-box;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li{
  display: flex;
  align-items: stretch;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li[hidden]{
  display: none !important;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .gm-main-all-button{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  margin: 0;
  padding: 7px 5px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--veh-main-filter-color);
  font: inherit;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease;
  overflow: visible;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label{
  position: relative;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label > input[type="checkbox"]{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label > span:first-of-type,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .gm-main-all-button > .label-text{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label > span:first-of-type > .label-text{
  display: block;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  line-height: inherit;
  text-align: center;
  white-space: nowrap;
  max-width: none;
  overflow: visible;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label > span:not(:first-of-type),
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .low-group-trigger{
  display: none !important;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label::before,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label::after,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label > input::before,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label > input::after{
  content: none !important;
  display: none !important;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li.is-checked > label,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li.is-all-active > .gm-main-all-button{
  background: var(--veh-main-filter-color);
  color: #FFFFFF;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li.is-checked > label .label-text,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li.is-all-active > .gm-main-all-button .label-text{
  color: #FFFFFF;
}

.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li:not(.is-checked):not(.is-all-active) > label:hover,
.veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li:not(.is-checked):not(.is-all-active) > .gm-main-all-button:hover{
  background: var(--veh-main-filter-hover);
}

@media (max-width: 1024px){
  .veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label,
  .veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .gm-main-all-button{
    min-height: 35px;
    padding: 7px 4px;
  }
}

@media (max-width: 767px){
  .veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 2px;
    padding: 2px;
  }

  .veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .taxonomy-filter > li > label,
  .veh-filter-ui .flex-wrapper.caracteristica.gm-main-vehicle-tabs .gm-main-all-button{
    min-height: 34px;
    padding: 6px 3px;
    line-height: 1;
  }
}


/* FILTRO */
.veh-filter-ui .filter-container form.form-tax > .flex-wrapper + .flex-wrapper,
.veh-filter-ui .filter-container form.form-tax > .flex-wrapper + .veh-advanced-group,
.veh-filter-ui .filter-container form.form-tax > .veh-advanced-group + .flex-wrapper{
  margin-top: var(--veh-filter-gap) !important;
}

.veh-filter-ui .veh-advanced-panel > .flex-wrapper + .flex-wrapper{
  margin-top: var(--veh-filter-advanced-gap) !important;
}

.veh-filter-ui .filter-title{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.veh-filter-ui .bpfwe-custom-field-wrapper,
.veh-filter-ui .bpfwe-taxonomy-wrapper,
.veh-filter-ui .bpfwe-numeric-wrapper{
  margin-bottom: 0 !important;
}

.veh-filter-ui .flex-wrapper.child-range-ready .bpfwe-numeric-wrapper{
  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;
  border: 0 !important;
  white-space: nowrap !important;
}

.veh-filter-ui .flex-wrapper.child-range-ready > .bpfwe-slider-track,
.veh-filter-ui .flex-wrapper.child-range-ready > .bpfwe-slider-values{
  display: none !important;
}

.veh-filter-ui .child-range-control{
  margin-top: var(--veh-filter-inner-gap);
  margin-bottom: 0;
}

.veh-filter-ui .child-range-values{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.2;
  color: #0D2B45;
}

.veh-filter-ui .child-range-entry{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2em;
  min-width: 0;
  padding: 7px 12px;
  border: 1px solid #D7DDE5;
  border-radius: 999px;
  background: #FFFFFF;
}

.veh-filter-ui .child-range-entry:focus-within{
  border-color: #2F4666;
  box-shadow: 0 0 0 1px rgba(47, 70, 102, 0.12);
}

.veh-filter-ui .child-range-affix{
  flex-shrink: 0;
  white-space: nowrap;
  color: inherit;
}

.veh-filter-ui .child-range-field{
  width: auto;
  min-width: 1ch;
  max-width: 100%;
  flex: 0 1 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.2;
  text-align: center;
}

.veh-filter-ui .child-range-field:focus{
  outline: none;
}

.veh-filter-ui .child-range-slider{
  position: relative;
  height: 22px;
}

.veh-filter-ui .child-range-track,
.veh-filter-ui .child-range-fill{
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  height: 6px;
  border-radius: 999px;
}

.veh-filter-ui .child-range-track{
  background: #D7DDE5;
}

.veh-filter-ui .child-range-fill{
  right: auto;
  background: #2F4666;
}

.veh-filter-ui .child-range-input{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 22px;
  margin: 0;
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
}

.veh-filter-ui .child-range-input::-webkit-slider-runnable-track{
  background: transparent;
  border: 0;
}

.veh-filter-ui .child-range-input::-moz-range-track{
  background: transparent;
  border: 0;
}

.veh-filter-ui .child-range-input::-webkit-slider-thumb{
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: #2F4666;
  box-shadow: 0 2px 6px rgba(13, 43, 69, 0.22);
  cursor: pointer;
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
}

.veh-filter-ui .child-range-input::-moz-range-thumb{
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: #2F4666;
  box-shadow: 0 2px 6px rgba(13, 43, 69, 0.22);
  cursor: pointer;
  pointer-events: auto;
}


/* =========================================================
   CUSTOM STEPPER UI FOR DISCRETE NUMERIC FILTERS
   ========================================================= */
.veh-filter-ui .flex-wrapper.child-stepper-ready{
  align-items: flex-start;
}

.veh-filter-ui .flex-wrapper.child-stepper-ready > .filter-title{
  flex: 0 0 100%;
  width: 100%;
  margin-bottom: 0;
}

.veh-filter-ui .flex-wrapper.child-stepper-ready > .bpfwe-custom-field-wrapper{
  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;
  border: 0 !important;
  white-space: nowrap !important;
}

.veh-filter-ui .child-stepper-control{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: var(--veh-filter-inner-gap) auto 0;
}

.veh-filter-ui .filter-title.collapsible:not(.start-open):not(.collapsed) ~ .child-stepper-control,
.veh-filter-ui .filter-title.collapsible:not(.start-open):not(.collapsed) ~ .child-range-control,
.veh-filter-ui .filter-title.collapsible.start-open.collapsed ~ .child-stepper-control,
.veh-filter-ui .filter-title.collapsible.start-open.collapsed ~ .child-range-control{
  display: none !important;
}

.veh-filter-ui .child-stepper-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0D2B45;
  font: inherit;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.veh-filter-ui .child-stepper-btn:disabled{
  opacity: 0.35;
  cursor: default;
}

.veh-filter-ui .child-stepper-field{
  width: 42px;
  min-width: 42px;
  height: 36px;
  padding: 0 6px;
  border: 2px solid #8A99AD;
  border-radius: 4px;
  background: #FFFFFF;
  color: #0D2B45;
  font: inherit;
  font-size: 18px;
  line-height: 1;
  text-align: center;
}

.veh-filter-ui .child-stepper-field:focus{
  outline: none;
  border-color: #2F4666;
  box-shadow: 0 0 0 1px rgba(47, 70, 102, 0.12);
}


/* =========================================================
   ADVANCED FILTER GROUP
   ========================================================= */
.veh-filter-ui .veh-advanced-group{
  margin: 0 !important;
}

.veh-filter-ui .veh-advanced-trigger{
  display: block;
}

.veh-filter-ui .veh-advanced-panel{
  position: relative;
  padding-top: var(--veh-filter-advanced-gap);
}

.veh-filter-ui .veh-advanced-panel::before{
  content: "";
  position: absolute;
  top: var(--veh-filter-advanced-gap);
  bottom: 0;
  left: 9px;
  width: 1px;
  background: rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

.veh-filter-ui .veh-advanced-panel > .flex-wrapper:not(.veh-advanced-source){
  width: calc(100% - 18px);
  margin-left: 18px !important;
  max-width: calc(100% - 18px);
}

.veh-filter-ui .veh-advanced-panel[hidden]{
  display: none !important;
}

.veh-filter-ui .child-stepper-control[hidden],
.veh-filter-ui .child-range-control[hidden]{
  display: none !important;
}

.veh-filter-ui .veh-advanced-source-title{
  display: none !important;
}

@media (max-width: 767px){
  .veh-filter-ui .veh-advanced-panel::before{
    left: 6px;
  }

  .veh-filter-ui .veh-advanced-panel > .flex-wrapper:not(.veh-advanced-source){
    width: calc(100% - 12px);
    max-width: calc(100% - 12px);
    margin-left: 12px !important;
  }
}





.gm-empty-field,
.gm-empty-icon-item,
.gm-empty-widget{
  display: none !important;
}



/* =========================================
   Home sliders: circular arrows
   Clase en Elementor: gm-home-slider-circle-arrows
   ========================================= */
.gm-home-slider-circle-arrows .elementor-swiper-button{
  position: relative;
}

.gm-home-slider-circle-arrows .elementor-swiper-button svg{
  visibility: hidden;
}

.gm-home-slider-circle-arrows .elementor-swiper-button::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;
  pointer-events: none;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color .2s ease;
}

.gm-home-slider-circle-arrows .elementor-swiper-button-prev::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z'/%3E%3C/svg%3E");
}

.gm-home-slider-circle-arrows .elementor-swiper-button-next::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E");
}

/*.gm-home-slider-circle-arrows .elementor-swiper-button:is(:hover, :focus, :focus-visible)::before{
  background-color: #394c6a;
}*/
.gm-home-slider-circle-arrows .elementor-swiper-button:hover::before{
  background-color: #394c6a;
}

.gm-home-slider-circle-arrows .elementor-swiper-button:focus:not(:hover)::before,
.gm-home-slider-circle-arrows .elementor-swiper-button:focus-visible:not(:hover)::before,
.gm-home-slider-circle-arrows .elementor-swiper-button:active:not(:hover)::before{
  background-color: currentColor;
}

/* =========================================
   Home slider: flechas juntas abajo derecha
   SOLO DESKTOP
   Clase en Elementor: gm-home-slider-circle-arrows
   ========================================= */

@media (min-width: 1025px){

  .gm-home-slider-circle-arrows .elementor-slides-wrapper{
    position: relative;
  }

  .gm-home-slider-circle-arrows .elementor-swiper-button{
    position: absolute !important;
    top: auto !important;
    bottom: 60px !important;
    transform: none !important;
    z-index: 20;

    width: 35px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .gm-home-slider-circle-arrows .elementor-swiper-button-prev{
    left: auto !important;
    right: 165px !important;
  }

  .gm-home-slider-circle-arrows .elementor-swiper-button-next{
    left: auto !important;
    right: 125px !important;
  }

  .gm-home-slider-circle-arrows .elementor-swiper-button::before{
    width: 100%;
    height: 100%;
  }

}




/* =========================================
   Carrusel secundario: circular arrows
   Clase en Elementor: circle-arrows
   Hover: rojo
   ========================================= */

.circle-arrows .elementor-swiper-button{
  position: relative;
}

.circle-arrows .elementor-swiper-button svg{
  visibility: hidden;
}

.circle-arrows .elementor-swiper-button::before{
  content: "";
  position: absolute;
  inset: 0;
  background-color: currentColor;
  pointer-events: none;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-size: contain;
  mask-size: contain;

  transition: background-color .2s ease;
}

.circle-arrows .elementor-swiper-button-prev::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z'/%3E%3C/svg%3E");
}

.circle-arrows .elementor-swiper-button-next::before{
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E");
}

.circle-arrows .elementor-swiper-button:hover::before,
.circle-arrows .elementor-swiper-button:active:hover::before,
.circle-arrows .elementor-swiper-button:focus:hover::before,
.circle-arrows .elementor-swiper-button:focus-visible:hover::before{
  background-color: #FF0000;
}

.circle-arrows .elementor-swiper-button:focus:not(:hover)::before,
.circle-arrows .elementor-swiper-button:focus-visible:not(:hover)::before,
.circle-arrows .elementor-swiper-button:active:not(:hover)::before{
  background-color: currentColor;
}





/* =========================================
   CARRUSEL IMÁGENES SOBRE NOSOTROS
   Flechas fuera de la imagen, abajo derecha
   Clase en Elementor: arrow-down
========================================= */

.arrow-down .elementor-image-carousel-wrapper{
  position: relative;
  overflow: hidden !important;
  padding-bottom: 35px !important;
}

/* Flechas base */
.arrow-down .elementor-swiper-button{
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  transform: none !important;
  z-index: 20 !important;

  width: auto !important;
  height: auto !important;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  color: inherit !important;
  transition: color 0.25s ease, fill 0.25s ease;
}

/* Flecha izquierda */
.arrow-down .elementor-swiper-button-prev{
  left: auto !important;
  right: 52px !important;
}

/* Flecha derecha */
.arrow-down .elementor-swiper-button-next{
  left: auto !important;
  right: 18px !important;
}

/* Tamaño del SVG */
/*.arrow-down .elementor-swiper-button svg{
  width: 34px !important;
  height: 34px !important;
  fill: currentColor !important;
}*/

/* Evita que el click/focus deje color pegado */
.arrow-down .elementor-swiper-button:focus,
.arrow-down .elementor-swiper-button:active,
.arrow-down .elementor-swiper-button:focus-visible{
  color: inherit !important;
  outline: none !important;
}

/* Hover real */
.arrow-down .elementor-swiper-button:hover{
  color: #46693C !important;
}

.arrow-down .elementor-swiper-button:hover svg,
.arrow-down .elementor-swiper-button:hover svg path{
  fill: #162f29 !important;
  color: #162f29 !important;
}





/* =========================================
   HEADER SEARCH - ICONO A LA DERECHA
   Clase agregada desde Elementor:
   head-search-icon-right
   ========================================= */
.head-search-icon-right .e-search-form{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.head-search-icon-right .e-search-input-wrapper{
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.head-search-icon-right .e-search-submit{
  grid-column: 2;
  grid-row: 1;
}

.head-search-icon-right .e-search-label{
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  align-self: stretch;
  width: 0;
  height: 100%;
  margin: 0;
  z-index: 11;
}

.head-search-icon-right .e-search-label > i,
.head-search-icon-right .e-search-label > svg{
  inset-inline-start: auto;
  inset-inline-end: calc(
    var(--e-search-input-padding-inline-end, 16px)
    + var(--e-search-icon-clear-absolute-width, 0px)
    + var(--e-search-input-gap, 4px)
  );
}

.head-search-icon-right .e-search-input{
  padding-inline-start: var(--e-search-input-padding-inline-start, 16px) !important;
  padding-inline-end: calc(
    var(--e-search-input-padding-inline-end, 16px)
    + var(--e-search-icon-clear-absolute-width, 0px)
    + var(--e-search-icon-label-absolute-width, 0px)
    + (var(--e-search-input-gap, 4px) * 2)
  ) !important;
}




/* =========================================
   Máscara detrás de previews laterales
   Clase: car-peek
========================================= */
@media (min-width: 1025px){

  .car-peek{
    position: relative;
    isolation: isolate;
  }

  /* previews falsas */
  .car-peek .peek-side{
    position: absolute;
    top: 50%;
    width: 290px;
    height: 210px;
    transform: translateY(-50%) scale(.88);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 9;
    opacity: 0;
    transition:
      opacity .28s ease,
      transform .38s ease;
    background: transparent !important;
  }

  .car-peek .peek-side.left{
    left: -6px;
  }

  .car-peek .peek-side.right{
    right: -6px;
  }

  .car-peek .peek-side.is-visible{
    opacity: 1;
  }

  /* BLOQUE DE CORTE visual
     MÁS ALTO y MENOS ANCHO */
  .car-peek .peek-side::before{
    content: "";
    position: absolute;
    top: -900px;
    bottom: -900px;
    background: #FFFFFF; /* cambia este color si el fondo no es blanco */
    z-index: 1;
    border-radius: 36px;
  }

  /* izquierda: muy poco hacia el centro */
  .car-peek .peek-side.left::before{
    left: -50px;
    right: 0px;
  }

  /* derecha: muy poco hacia el centro */
  .car-peek .peek-side.right::before{
    left: 0px;
    right: -50px;
  }

  /* imagen arriba de la máscara */
.car-peek .peek-side img{
  position: relative;
  z-index: 2;
  display: block;
  border-radius: 30px;
  width: 230px;
  height: 130px;
  max-width: 250px;
  max-height: 175px;
  object-fit: cover;
  object-position: center center;
  background: transparent !important;
}

  /* central y flechas */
  .car-peek .swiper-slide-active{
    position: relative;
    z-index: 6 !important;
  }

  .car-peek .elementor-swiper-button-prev,
  .car-peek .elementor-swiper-button-next{
    z-index: 20 !important;
  }
}



/* Overlay oscuro/opaco sobre previews laterales */
@media (min-width: 1025px){

  .car-peek .peek-side::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: 36px;
    background: rgba(255, 255, 255, 0.30); /* overlay claro antes 0.22*/
    pointer-events: none;
  }

  /* la imagen queda debajo del overlay */
  .car-peek .peek-side img{
    position: relative;
    z-index: 2;
  }
}

/* Preview navigation for the desktop most-viewed carousel */
@media (min-width: 1025px){
  .car-peek .peek-side.is-visible{
    pointer-events: auto;
    cursor: pointer;
    touch-action: manipulation;
  }

 /* .car-peek .peek-side img{
    border-radius: 30px;
    width: 300px !important;
    max-width: 300px !important;
    object-fit: cover !important;
  }*/

  .car-peek .peek-side::before,
  .car-peek .peek-side::after,
  .car-peek .peek-side img{
    pointer-events: none;
  }
}



/* Galeria interna de vehiculos: ocultar solo cuando existe 1 imagen real */
.mid-focus.gm-gallery-hidden-single{
  display: none !important;
}



/* =========================================
   FORMULARIOS CONTACTANOS / VENDER AUTO
   Selects fuera de float + labels arriba
   ========================================= */
body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-select > .elementor-field-label,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-select > .elementor-field-label{
  position: static !important;
  display: block !important;
  width: 100% !important;
  left: auto !important;
  top: auto !important;
  margin: 0 0 6px !important;
  opacity: 1 !important;
  line-height: inherit !important;
  transform: none !important;
  pointer-events: auto !important;
  color: #FFFFFF !important;
  transition: none !important;
  z-index: auto !important;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-select .elementor-field-textual,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-select .elementor-field-textual{
  padding: 5px 14px !important;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-select .elementor-field-textual.elementor-size-xs,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-select .elementor-field-textual.elementor-size-xs{
  padding: 4px 12px !important;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-select .elementor-field-textual.elementor-size-md,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-select .elementor-field-textual.elementor-size-md{
  padding: 6px 16px !important;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-select .elementor-field-textual.elementor-size-lg,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-select .elementor-field-textual.elementor-size-lg{
  padding: 7px 20px !important;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-select .elementor-field-textual.elementor-size-xl,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-select .elementor-field-textual.elementor-size-xl{
  padding: 8px 24px !important;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-group-linea.is-disabled .elementor-select-wrapper,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-group-linea.is-disabled .elementor-select-wrapper{
  cursor: not-allowed;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-group-linea.is-disabled .elementor-field-textual,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-group-linea.is-disabled .elementor-field-textual{
  background-color: #d9dee5 !important;
  border-color: #bcc5d1 !important;
  color: #7f8896 !important;
  -webkit-text-fill-color: #7f8896;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-group-linea.is-disabled .select-caret-down-wrapper,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-group-linea.is-disabled .select-caret-down-wrapper{
  color: #98a2af !important;
  opacity: .7;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-acceptance .elementor-field-option,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-acceptance .elementor-field-option{
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-acceptance .elementor-field-option input,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-acceptance .elementor-field-option input{
  flex: 0 0 auto;
  margin: 2px 0 0;
}

body.page-id-21 form.elementor-form[name="Vender Auto"] .elementor-field-type-acceptance .elementor-field-subgroup label,
body.page-id-4270 form.elementor-form[name="Contáctanos"] .elementor-field-type-acceptance .elementor-field-subgroup label{
  color: #FFFFFF !important;
  margin: 0 !important;
}




/* MENÚ FLOTANTE */
.content-menu-h{
	display:none;
}

.content-menu-h{
	position: absolute;
    top: 45px;
    right: -180px;
    z-index: 90;
}



/* FIX DROPDOWN DENTRO DEL MENÚ FLOTANTE */
/* mantiene el panel flotante tal como ya lo tienes,
   solo corrige el comportamiento del submenú */

.content-menu-h #menu-h-id,
.content-menu-h #menu-h-id nav,
.content-menu-h #menu-h-id .elementor-widget-container,
.content-menu-h #menu-h-id ul.menu{
  width: 100%;
}

.content-menu-h #menu-h-id ul li.menu-item-has-children{
  width: 100%;
  max-width: 100%;
}

.content-menu-h #menu-h-id ul li.menu-item-has-children > a,
.content-menu-h #menu-h-id ul li.menu-item-has-children > .sub-arrow,
.content-menu-h #menu-h-id ul li.menu-item-has-children > span{
  position: relative;
  z-index: 2;
}

.content-menu-h #menu-h-id ul li.menu-item-has-children > ul.sub-menu{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  text-align: center;
  z-index: 1;
}

.content-menu-h #menu-h-id ul li.menu-item-has-children > ul.sub-menu > li{
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.content-menu-h #menu-h-id ul li.menu-item-has-children > ul.sub-menu > li > a{
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* por si algún wrapper estaba recortando el dropdown */
.content-menu-h,
.content-menu-h #menu-h-id,
.content-menu-h #menu-h-id nav,
.content-menu-h #menu-h-id ul,
.content-menu-h #menu-h-id li{
  overflow: visible;
}








/* ================================
    Botón Contactanos
   ================================ */

@keyframes cta-bounce {
  0%, 80%, 100% {
    transform: translateY(0);
  }

  85% {
    transform: translateY(-6px);
  }

  90% {
    transform: translateY(0);
  }

  95% {
    transform: translateY(-3px);
  }
}

.shake-element {
  animation: cta-bounce 4s cubic-bezier(0.25,0.1,0.25,1) infinite;
  will-change: transform;
}

/* Opcional: pausa al hover */
.shake-element:hover {
  animation-play-state: paused;
}

/* si el botón transform (sticky header, hover, etc.)  */
.shake-element {
  will-change: transform;
}









/* =========================================
   Acceptance fields como círculos
   Clase reutilizable en Elementor:
   gm-acceptance-circles
   ========================================= */

.gm-acceptance-circles .elementor-field-type-acceptance .elementor-field-option {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.gm-acceptance-circles .elementor-field-type-acceptance input[type="checkbox"].elementor-acceptance-field {
  appearance: none;
  -webkit-appearance: none;
  width: 13px;
  height: 13px;
  min-width: 13px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background-color: transparent;
  cursor: pointer;
  position: relative;
  margin: 0;
}

.gm-acceptance-circles .elementor-field-type-acceptance input[type="checkbox"].elementor-acceptance-field:checked {
  background-color: #ffffff;
  box-shadow: inset 0 0 0 3px #3d526f;
}

.gm-acceptance-circles .elementor-field-type-acceptance input[type="checkbox"].elementor-acceptance-field:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.gm-acceptance-circles .elementor-field-type-acceptance label {
  cursor: pointer;
}



/* Header auto-hide */
.auto-head {
  transition: transform .28s ease, opacity .28s ease;
  will-change: transform;
  z-index: 9999;
}

.auto-head.is-hidden {
  transform: translateY(-100%);
}








/* =========================================================
   Banner dinámico accesorios por tipo de vehículo
========================================================= */

.gm-accesorio-banner-dinamico {
  min-height: 420px;
  overflow: hidden;

  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Ocultar el widget shortcode que solo imprime el CSS dinámico */
.gm-banner-shortcode-css {
  display: none !important;
}

@media (max-width: 767px) {
  .gm-accesorio-banner-dinamico {
    background-position: center center !important;
  }
}


