/* CLASES PRECARGADAS WOOXI */

/* Contenedor principal del timeline */

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-Black.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-BlackItalic.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-BoldItalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

.font-g { font-family: 'Gotham', sans-serif;}

body {
    overflow-x: hidden;
}
.text-shadow {text-shadow: 2px 2px 3px #000;}

.fs-a1 {font-size: 36px;}
.fs-a2 {font-size: 28px;}
.fw-800 {font-weight: 800;}
.fs-10 {font-size: 10px;}
.fs-12 {font-size: 12px!important;}
.fs-15  {font-size: 15px;}






h1, h2, h3, h4 {
    font-family: 'Gotham', sans-serif;
    font-weight: 700; /* Bold */
}

p {
    font-family: 'Gotham', sans-serif;
    font-weight: 300; /* Light */
}



.timeline {
    position: relative;

}

/* Estilos de cada elemento del timeline */
.item-tl {
    position: relative;
    padding-left: 40px; /* Espacio para el círculo */
    padding-bottom: 1px; /* Espacio de padding para evitar margin-bottom */
}

/* Círculo en cada elemento (estado apagado por defecto) */
.circle {
    position: absolute;
    left: 8px;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #FFFFFF; /* Fondo blanco cuando está apagado */
    border: 1px solid #003A81; /* Borde fino azul cuando está apagado */
    transition: none; /* Sin transición */
}

/* Estado encendido */
.circle.on {
    background-color: #FCD751; /* Fondo amarillo cuando está encendido */
    border: 5px solid #003A81; /* Borde grueso azul cuando está encendido */
}


/* Línea punteada debajo de cada círculo */
.item-tl::after {
    content: "";
    position: absolute;
    left: 17px; /* Centrado de la línea debajo del círculo */
    top: 20px; /* Comienza justo debajo del círculo */
    width: 1px;
    height: calc(100% - 20px); /* Ajuste de la longitud de la línea */
    background: repeating-linear-gradient(
        to bottom,
        #FCD751,
        #FCD751 6px,
        transparent 6px,
        transparent 12px
    ); /* Línea punteada en color #FCD751 */
}

/* Oculta la línea en el último elemento */
.item-tl:last-child::after {
    display: none;
}


/* Aplica un margen de 60px a todos los elementos .descripcion_cf */
p.descripcion_cf {
    margin-bottom: 60px !important;
}

/* Elimina el margen en el último .descripcion_cf dentro del último .item-tl */
.item-tl:last-child p.descripcion_cf {
    margin-bottom: 0 !important;
}


.margin-b {margin-bottom: 100px!important;}


/* Contenedor de sucursales con scroll */
.scrollable-sucursales {
    max-height: 460px; /* Ajuste a la altura de la columna del mapa */
    overflow-y: auto; /* Activa el scroll vertical */
    padding-right: 10px; /* Añade espacio para evitar superposición con el scroll */
}



/* Elimina el icono SVG predeterminado de Bootstrap */
.accordion-button::after {
    content: none !important;
}

/* Añade el icono de Font Awesome como flecha hacia abajo a la derecha */
.accordion-button.collapsed .fa-chevron-down {
    content: "\f078"; /* Unicode de fa-chevron-down */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #10238C;
    font-size: 1rem;
    margin-left: auto;
    display: inline-block;
}

/* Cambia el icono al estado de abierto */
.accordion-button:not(.collapsed) .fa-chevron-down {
    content: "\f077"; /* Unicode de fa-chevron-up */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #10238C;
    font-size: 1rem;
    margin-left: auto;
    display: inline-block;
}

/* Asegura que el icono esté alineado a la derecha */
.accordion-button .fa-chevron-down {
    margin-left: auto;
    transition: transform 0.3s ease; /* Añade transición para el efecto suave */
}

/* Aplica la rotación cuando el acordeón está abierto */
.accordion-button:not(.collapsed) .fa-chevron-down {
    transform: rotate(180deg); /* Rota el icono 180 grados */
}


/* Aplica el color solo al texto ingresado en los campos de formulario */
input,
select,
textarea {
    color: #10238C !important; /* Color del texto cuando el usuario escribe */
}

/* Deja el placeholder en su color predeterminado */
input::placeholder,
textarea::placeholder {
    color: initial; /* Mantiene el color predeterminado del placeholder */
    opacity: 1; /* Asegura que se vea en su color normal */
}

.titulo {height: 30px;}


.btn-primary.text-white {
    transition: background-color 0.6s ease, color 0.6s ease; /* Transición suave */
}

.btn-primary.text-white:hover {
    background-color: var(--bs-secondary); /* Cambia al color btn-secondary */
    border-color: var(--bs-primary);
    color: var(--bs-primary)!important; /* Cambia el color del texto a btn-primary */
    transition: background-color 0.8s ease, color 0.8s ease; /* Efecto lento y suave */
    transition: border-color 0.8s ease, color 0.8s ease; /* Efecto lento y suave */
}

.btn-secondary.text-primary {
    transition: background-color 0.6s ease, color 0.6s ease; /* Transición suave */
}

.btn-secondary.text-primary:hover {
    background-color: var(--bs-primary); /* Cambia al color btn-secondary */
    color: var(--bs-secondary)!important; /* Cambia el color del texto a btn-primary */
    border-color: var(--bs-secondary);
    transition: background-color 0.8s ease, color 0.8s ease; /* Efecto lento y suave */
    transition: border-color 0.8s ease, color 0.8s ease; /* Efecto lento y suave */
}

#map {
    width: 100%; /* Ajusta el mapa al 100% del ancho del contenedor */
    height: 460px; /* Puedes ajustar la altura según tus necesidades */
}


.skills {
    position: relative;
}

.line-wrapper {
    position: absolute;
    top: 60%;
    width: 80%; /* Ajusta este valor para que coincida con la anchura total de las tarjetas */
    left: 50%;
    transform: translate(-50%, -50%);
    height: 2px;
    z-index: 0; /* Coloca el contenedor de la línea detrás de las tarjetas */
}

.line-background {
    width: 100%;
    height: 2px;
    background-color: #FCD751;
}

.skill-item {
    position: relative;
    z-index: 1; /* Asegura que las tarjetas estén sobre la línea */
}



/* NAV */

.dropdown-toggle::after {
    border: none!important;
    font-family: 'font awesome 5 free';
    content: '\f107'!important;
    vertical-align: 0!important;
    margin-left: 7px!important;
    font-weight: bold;
  }
  
  
  
 .navbar .menu-item a, .modal .menu-item a {color: #76BC21; text-decoration: none; font-size: 16px; font-weight: 400; margin-right: 25px;}
 .navbar .menu-item a:hover, .navbar .menu-item.current-menu-item a {
  color: #0F2962;
}

  
.navbar-nav .nav-link.active, .navbar-nav .show>.nav-link, .nav-link.active {
  
    color:  #0F2962!important;
    text-underline-offset: 0.3em;
    text-decoration-thickness: 2px;
  }
  

.navbar-toggler {border:0px!important; color:#fff!important; }

  /* MODAL FADE LEFT RIGHT BOTTOM */

.btn-close {color: #0F2962!important; opacity: 1 !important;}

.modal.fade:not(.in).right .modal-dialog {
  width: 340px!important;
  -webkit-transform: translate3d(25%, 0, 0);
  transform: translate3d(0%, 0, 0);
}


.modal.right .modal-dialog {
	position:absolute;
	top:0;
	right:0;
	margin:0;
  
}



.modal.right .modal-content {
	min-height:100vh;
	border:0;
  border-radius: 0px!important;
}

.redes a, .cards-enlace a {text-decoration: none;}

.flotada img {position: absolute; bottom: -269px;}

/* Evita que Safari iOS aplique estilos automáticos a números */
a[href^="tel"] {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: none !important;
}

/* Desactiva la detección automática de números en Safari */
meta[name="format-detection"] {
    content: "telephone=no";
}

/* Evita que el sistema detecte números como teléfonos */
html {
    -webkit-touch-callout: none;
}


span a {text-decoration: none; color: #fff!important;}

.wpcf7-spinner {display: none!important;}


.image-container {
    position: absolute;
    top: 50%;                     /* centrado vertical perfecto */
    right: -125px;                /* desplaza mitad hacia afuera */
    transform: translateY(-50%);  /* ajuste fino vertical */
}

.image-container img {
    display: block;
    width: 250px;                 /* ancho fijo original */
    height: auto;                 /* altura proporcional */
}


.marquee-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
  
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
  
  .marquee-content {
    display: inline-block;
    white-space: nowrap;
    animation: scroll-marquee 25s linear infinite;
  }
  
  .marquee-item {
    display: inline-block;
    color: white;
    padding-right: 2rem;
  }
  
  @keyframes scroll-marquee {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%);
    }
  }
  
  

  .swiper-wrapper-container {
    position: relative;
    padding-bottom: 80px;
    overflow-x: hidden;
  }
  
  .swiper-carousel-galeria {
    overflow: visible !important;
  }
  
  .swiper-pagination {
    position: absolute !important;
    bottom: -60px !important;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 10;
  }
  
  .swiper-pagination-bullet {
    background: #0F2962 !important;
    opacity: 1!important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    margin: 0 5px;
    transition: all 0.2s ease-in-out;
  }
  
  .swiper-pagination-bullet-active {
    background: #0F2962 !important;
    width: 29px !important;
    height: 9px !important;
    border-radius: 5px !important;
  }
  
  a.ig, .titulo-noticia a, .titulo-producto-card a {text-decoration: none!important;}
.titulo-noticia {height: 70px;}

.opciones-productos {height: 55px!important;}

.icon-toggle {
    transition: transform 0.3s ease;
  }
  .icon-rotated {
    transform: rotate(180deg);
  }
  .accordion-button:not(.collapsed) {
    background-color: transparent !important;
    box-shadow: none;
  }
  .accordion-button {
    border: none;
    padding: 0.5rem 1rem;
  }
  .accordion-item {
    margin-bottom: 1rem;
  }
  
  a.navbar-toggler {text-decoration: none;}

  .navbar-toggler {
    outline: none !important;
    box-shadow: none !important;
  }
  
  .navbar-toggler:focus,
  .navbar-toggler:active,
  .navbar-toggler:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
  }
  
  .navbar-toggler:focus i,
  .navbar-toggler:active i {
    outline: none !important;
  }
  

/* Estilos base del navbar */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1020;
    background-color: #fff;
}

/* Estilos del megamenú para desktop */
.megamenu-content {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--bs-primary);
    z-index: 1019;
    display: none !important; /* Oculto por defecto */
    opacity: 0;
    transition: opacity 0.3s ease;
    overflow-y: auto;
    max-height: calc(100vh - var(--navbar-height, 120px));
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 2.5rem 0;
}

.megamenu-content.show {
    display: block !important; /* Visible cuando tiene la clase show */
    opacity: 1;
}

/* Debug */
.debug-megamenu {
    border: 2px solid red;
}

/* Estilos para los títulos del megamenú */
.megamenu-content h5 {
    color: #fff;
    font-size: 1.2rem !important;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

/* Estilos para los enlaces del megamenú */
.megamenu-content .navbar-nav {
    flex-direction: column !important;
    width: 100%;
}

.megamenu-content .navbar-nav li {
    display: block;
    width: 100%;
}

.megamenu-content .nav-link,
.megamenu-content .navbar-nav a {
    color: #fff;
    padding: 0.25rem 0;
    font-size: 1rem;
    transition: opacity 0.3s ease;
    display: block;
    text-decoration: none;
    white-space: nowrap;
}

.megamenu-content .nav-link:hover,
.megamenu-content .navbar-nav a:hover {
    opacity: 0.8;
}

/* Contenedor de las columnas */
.megamenu-content .row {
    margin-top: 0;
}

/* Ajuste para el contenedor de enlaces */
.megamenu-content .ms-3 {
    margin-left: 1.5rem !important;
}

.megamenu-close {
    display: none;
}

.megamenu-content .dropdown-item {
    color: #fff;
    padding: 0.5rem 1rem;
}

.megamenu-content .dropdown-item:hover {
    background-color: transparent;
    text-decoration: underline;
}

.megamenu-trigger {
    cursor: pointer;
}

.grupo-control-consulta .small {
  font-size: 1rem;
  line-height: 1;
}

/* Eliminar los estilos antiguos del split-menu */
/* Mantener solo los estilos necesarios para el hover */
.text-white.text-decoration-none:hover {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

/* Estilos para el menú footer */
.split-menu {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.split-menu li {
    width: 50%;
    margin-bottom: 0.5rem;
}

.split-menu a {
    color: white;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.split-menu a:hover {
    opacity: 0.8;
}

/* Estilos para números de teléfono */
.text-white[href^="https://wa.me/"] {
    font-family: 'Gotham', sans-serif;
    letter-spacing: 0.5px;
}

.text-white[href^="https://wa.me/"]:hover {
    opacity: 0.8;
}

/* Estilos para la flecha del dropdown */
.dropdown-toggle::after {
    border: none !important;
    font-family: 'Font Awesome 6 Free';
    content: '\f107' !important;
    vertical-align: 0 !important;
    margin-left: 7px !important;
    font-weight: 900;
    transition: transform 0.3s ease;
}

.dropdown.show .dropdown-toggle::after {
    transform: rotate(180deg);
}

/* Estilos para el menú móvil */
.mobile-megamenus .megamenu-content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    z-index: 1050;
    display: none;
    padding: 1rem;
    overflow-y: auto;
}

.mobile-megamenus .megamenu-content.show {
    display: block;
}

.mobile-megamenus .megamenu-content h5 {
    color: var(--bs-primary);
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
}

.mobile-megamenus .megamenu-content .navbar-nav a {
    color: var(--bs-primary);
    padding: 0.5rem 0;
    font-size: 1rem;
    text-decoration: none;
}

.mobile-megamenus .megamenu-content .navbar-nav a:hover {
    opacity: 0.8;
}

/* Ajustes para el modal en móvil */
@media (max-width: 991.98px) {
    .modal.right .modal-dialog {
        margin: 0;
        width: 100%;
        max-width: 100%;
    }

    .modal.right .modal-content {
        border-radius: 0;
        min-height: 100vh;
    }

    .megamenu-trigger {
        cursor: pointer;
    }

    .dropdown-toggle::after {
        float: right;
        margin-top: 8px;
    }
}

