/* ===== ESTILOS GENERALES ===== */
:root {
    --color-primario: #1C1C1C;
    --color-secundario: #222222;
    --color-texto: #FFFFFF;
    --color-texto-secundario: #DDDDDD;
    --color-destacado: red;
    --sombra: 0 2px 8px rgba(0, 0, 0, 0.1);
    --color-inventario: rgba(188, 0, 25);
    --boton-cotizacion: rgba(173, 2, 2);
    --color-titulos:  #bc0019;
    --color-parrafos:  #666;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Poppins', 'Arial', sans-serif;
    min-height: 100vh;
    background-color: var(--color-primario);
    color: var(--color-texto);
    padding-top: 40px;
    line-height: 1.6;
}

a {
    text-decoration: none;
    color: indianred;
}

img {
    max-width: 100%;
    height: auto;
}

/* ===== HEADER Y NAVEGACIÓN ===== */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: var(--color-primario);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 1000;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: top 0.3s ease;
}

.logo img {
    width: 200px;
    height: 100px;
    margin: 0 0 0 10px;
}

.menu {
    width: 75px;
    height: 75px;
    cursor: pointer;
}
.image-large2{
    width: 450px;
    height: auto;
}

.arrow {
    background-image: url('../img/flecha_blanca.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 12px;
    height: 12px;
    margin-left: 5px;
    vertical-align: middle;
}

/* Navegación principal */
.navigation ul {
    list-style: none;
}

.navigation ul li {
    float: left;
    position: relative;
}

.navigation ul li a {
    font-size: 12px;
    color: var(--color-texto);
    text-decoration: none;
    padding: 15px;
    display: block;
    font-weight: bold;
    transition: color 0.2s ease, background-color 0.2s ease;
    margin-left: 40px;
}

/* Efecto hover y submenús */
.producto {
    position: relative;
    padding-bottom: 5px;
}

.producto::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background-color: var(--color-destacado);
    transition: width 0.25s ease-in-out;
}

.producto:hover::after {
    width: 100%;
}

.navigation ul li:hover > a {
    background-color: rgba(28, 28, 28, 0.67);
    color: var(--color-texto);
}

.navigation ul li ul {
    position: absolute;
    right: 0;
    width: 300px;
    background-color: rgba(28, 28, 28, 0.67);
    display: none;
}

.navigation ul li:hover > ul {
    display: initial;
}

.navigation ul li ul li a {
    font-size: 12px;
    color: var(--color-texto);
    text-transform: capitalize;
}

.navigation ul li ul li a:hover {
    background-color: rgba(28, 28, 28, 0.82);
}

.navigation ul li ul li ul {
    position: absolute;
    top: 0;
    right: 300px;
}

.navigation ul li ul li {
    width: 100%;
}

 
#toggle,
.header label {
    display: none;
    cursor: pointer;
}

/* ===== CONTENIDO PRINCIPAL ===== */
.slider-bombeo {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
    overflow: hidden;
}

.slider-bombeo img {
    width: 100%;
    height: auto;
}

.explicacion {
    width: auto;
    height: auto;
    margin: 60px 0;
}

.explicacion h2 {
    font-size: 35px;
    text-align: center;
    margin: 0 50px 25px;
}

.explicacion p {
    font-size: 18px;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 50px;
}

.explicacion strong {
    color: var(--color-texto);
    font-weight: bold;
}



.containeruniversal {
    position: relative;
    display: grid;
    flex-wrap: wrap;
    background-color: #ffffff;
    align-items: center;
    overflow: hidden;
}
.containerproductos {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    background-color: #ffffff;
    align-items: center;
    overflow: hidden;
}

.cajas_producto {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 20px;
    padding: 50px;
    margin-bottom: 50px;
}

.cajas_individual {
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: var(--sombra);
    text-align: center;
    padding: 15px;
    transition: transform 0.3s ease;
    flex-direction: column;
}

.cajas_individual:hover {
    transform: translateY(-10px);
}

.cajas_individual img {
    width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: contain;
    margin-bottom: 10px;
}

.cajas_individual h3 {
    font-size: 18px;
    color: var(--color-primario);
    margin: 10px 0 5px;
}

.cajas_individual p {
    font-size: 14px;
    color: #666;
    margin: 0;
}


.section {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
    filter: blur(8px);
}

.visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}


.container_informacion {
    display: grid;
    place-items: center;
    gap: 20px;
    margin: 0 50px 50px;
    grid-template-columns: repeat(2, 1fr);
}

.image-informcaion {
    width: 500px;
    height: auto;
    border-radius: 10px;
}

/* ===== FOOTER ===== */
.footertop {
    margin: 20px 0;
    display: flex;
    gap: 20px;
    justify-content: space-evenly;
    padding: 20px 0;
    flex-wrap: wrap;
    text-align: center;
}

.top_left,
.top_right,
.top_midle {
    flex-direction: column;
    align-items: center;
    display: flex;
    width: 350px;
}

.top_left h2,
.top_right h2, 
.top_midle h2 {
    font-size: 18px;
    color: var(--color-texto);
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: center;
    margin: 0;
}

.top_left p,
.top_right p,
.top_midle p {
    font-size: 14px;
    color: var(--color-texto-secundario);
    margin: 5px 0 0;
}


.footermidle {
    margin: 20px 0;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    padding: 20px 0;
}

.midle_left,
.midle_right {
    width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.midle_right {
    margin-top: 50px;
}

.midle_left strong,
.midle_right strong {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

.midle_right h2 {
    font-size: 18px;
    color: var(--color-texto-secundario);
    margin-bottom: 10px;
    font-weight: bold;
}

.midle_left p {
    font-size: 14px;
    color: var(--color-texto-secundario);
    margin: 2px 0;
}

.imgicon {
    width: 70px;
    height: 70px;
}

.bottom {
    width: 300px;
    display: flex;
    flex-direction: column;
    text-align: center;
}

/* Iconos sociales */
.social-icons {
    display: flex;
    margin-left: 10px;
}

.social-icons a {
    margin-right: 5px;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--color-texto);
}

.social-icons img {
    width: 15px;
    margin-right: 5px;
}

/* ======== INVENTARIO ======== */

.cajas_organizador {
    display: flex;
    gap: 30px;
    height: 50px;
    background-color: var(--color-inventario);
}
.cajas_separador {
    padding: 10px 20px;
    background-color: transparent;
    border-radius: 10px;
    transition: background-color 0.3s;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cajas_separador:hover {
    background-color: rgba(120, 0, 0, 0.6); /* fondo más oscuro al pasar el mouse */
}

.cajas_separador h2 {
    color: #fff;
    font-size: 16px;
    margin: 0;
    font-weight: 500;
    pointer-events: none; /* evita conflictos de clic */
}


/* ======= botones ======= */
.boton-cotizacion {
    /* Estilos base */
    background-color: transparent;
    border: 2px solid var(--color-primario);
    color: var(--color-secundario);
    cursor: pointer;
    display: inline-block;
    font: 700 13px/1.2 sans-serif;
    letter-spacing: 0.05em;
    margin: 5px 0 0;
    padding: 1.25em 1.8em 1.25em 3.5em;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
    border-radius: 14px;
}


.boton-cotizacion::before {
    content: "";
    width: 22px;
    height: 2px;
    background:var(--color-primario);
    position: absolute;
    left: 1.5em;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

/* Efecto superior */
.boton-cotizacion::after {
    content: "";
    position: absolute;
    top: -2px;
    left: 0.625rem;

    height: 2px;

    transition: all 0.3s ease;
}

/* Texto del botón */
.boton-cotizacion .texto-boton {
    display: block;
    transition: all 0.3s ease;
    padding-left: 0.5em;
}

/* Efectos hover */
.boton-cotizacion:hover {
    background-color:var(--color-secundario);
    color: #fff;
}

.boton-cotizacion:hover::before {
    width: 0.94rem; /* 15px */
    background: #fff;
}

.boton-cotizacion:hover::after {
    left: -2px;
    width: 0;
}

/* Líneas inferiores (opcional) */
.boton-cotizacion .linea-inferior {
    position: absolute;
    height: 2px;
    background: #fff;
    bottom: -2px;
    right: 1.875rem;
    width: 1.56rem;
    transition: all 0.3s ease;
}

.boton-cotizacion .linea-inferior-2 {
    right: 0.625rem;
    width: 0.625rem;
}

.boton-cotizacion:hover .linea-inferior,
.boton-cotizacion:hover .linea-inferior-2 {
    right: 0;
    width: 0;
}

.boton-volver {
    display: inline-block;
    padding: 10px 20px;
    background-color:var(--color-secundario);
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-family: Arial, sans-serif;
  }
  .boton-volver:hover {
    background-color: var(--color-titulos);
     transition: all 0.3s ease;
  }
    /* codigo para voler a la pagina anterior */
    /* &&&&&&&&& <a href="javascript:history.back()" class="boton-volver">Volver</a>&&&&&&& */


/* ======== contenedores para producto final ============== */

.right-container, .left-container {
     flex: 1;
    max-width: 50%;
    order: 1;
    display: flex;
    flex-direction: column;
    order: 1;
    margin-top: 50px;

    height: auto;
    justify-content: center; 
    align-items: center; 
}

.right-container h2, .left-container h2 {
    font-size: 25px;
    text-align: center;
    color: var(--color-titulos);
    margin-top: 5px;
}

/* Estilos para los párrafos */
.right-container p, .left-container p {
    font-size: 15px;
    text-align:center;
    color:var(--color-parrafos);
    padding: 30px;
}
.right-container strong {
    color: var(--color-secundario);
    font-weight: bold;
}
.contenedor-para-centrar {
    display: flex;           
    justify-content: center; 
    align-items: center;    
    margin: 20px 0 30px;     
    width: 100%;            
}

.contenedor-boton {
    display: inline-block;   
    position: relative;      
    
}
/* ===== SLIDER DE MARCAS ======= */
.logo-slider-container {
  width: 100%;
  max-width: 1200px;
  height: 150px;
  margin: 0 auto;
  overflow: hidden;
  background-color:var(--color-primario);
  display: flex;
  align-items: center;
  justify-content: center;

}

.logo-slider {
  display: flex;
  animation: moverLogos 20s linear infinite;
}

.logo-slider img {
  width: 180px;
  height: auto;
  object-fit: contain;
  margin: 0 30px;
  transition: transform 0.3s ease;
  filter: brightness(0) invert(1);
}

.logo-slider img:hover {
  transform: scale(1.1);
}

@keyframes moverLogos {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* ===== MEDIA QUERIES PARA RESPONSIVO ===== */
@media (max-width: 1020px) {
    .header label {
        display: initial;
    }
    
    .header {
        top: 55px;
    }
    
    .navigation {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: rgba(1, 1, 1, 0.7);
        display: none;
    }
    
    .navigation ul li {
        width: 100%;
    }
    
    .navigation ul li a {
        padding: 8px 30px 8px 10px;
    }
    
    .navigation ul li:hover > ul {
        display: block;
    }
    
    .navigation ul li ul {
        position: relative;
        width: 100%;
        left: 0;
    }
    
    .navigation ul li ul li {
        background-color: rgba(1, 1, 1, 0.7);
    }
    
    .navigation ul li ul li ul {
        position: relative;
        width: 100%;
        left: 0;
    }
    

    #toggle:checked ~ .navigation {
        display: block;
    }
    .section {
        filter: none !important;
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }
    
    .visible {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
 
    .top-menu {
        padding: 25px 15px;
        flex-direction: column;
    }
    
    .social-icons {
        order: 1;
    }
    
    .contact-info {
        order: 3;
        margin-top: 2px;
        font-size: 11px;
        margin-right: 15px;
    }
    
    .phone {
        order: 2;
    }
    
    .whatsapp {
        order: 3;
    }
    
    .social-icons img {
        width: 20px;
        margin-right: 15px;
    }
    
    .whatsapp img,
    .phone img {
        width: 20px;
        margin-right: 5px;
    }

    .explicacion h2 {
        font-size: 30px;
        margin-left: 20px;
        margin-right: 20px;
    }
    
    .explicacion p {
        font-size: 16px;
        margin-left: 20px;
        margin-right: 20px;
    }
    
    .cajas_producto {
        grid-template-columns: 1fr;
        padding: 20px 15px;
        gap: 15px;
    }
    
    .cajas_individual {
        padding: 15px 10px;
    }
    
    .cajas_individual h3 {
        font-size: 16px;
    }
    
    .cajas_individual p {
        font-size: 13px;
    }
    
    .footertop,
    .footermidle {
        flex-direction: column;
        align-items: center;
    }
    
    .top_left,
    .top_right,
    .midle_left,
    .midle_right {
        width: 100%;
        text-align: center;
    }
    
    .midle_right {
        margin-top: 20px;
    }
    
    .container_informacion {
        grid-template-columns: 1fr;
        margin: 0 20px 50px;
    }
    
    .image-informcaion, .image-large2 {
        width: 100%;
    }
    .section {
        filter: none !important;
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }
    
    .visible {
        opacity: 1;
        transform: translateY(0);
    }
    .logo-slider img {
    width: 100px;
    margin: 0 15px;
  }
  .logo-slider-container {
    height: 100px;
  }
}