/* ==========================================================================
   Watch Water México - Componentes CSS System
   Fuente: Plus Jakarta Sans
   Autor: Sebastián Zubia
   ========================================================================== */

/* Variables & Design Tokens */
:root {
    /* Colors */
    --color-negro: #171C25;
    --color-blanco: #FFFFFF;
    --color-gris-oscuro: #3A455E;
    --color-gris-claro-1: #EFEFEF;
    --color-gris-claro-2: #F5F5F5;
    --color-gris-claro-3: #E2E2E2;
    --color-gris-fondo: #F7F7F7;
    --color-gris-muy-suave: #FAFAFA;
    --color-gris: #959595;
    --color-azul: #0EA2DE;
    --color-azul-magnetico: #284E67;
    --color-verde-azulado: #00C2C2;
    --color-verde: #7EC61A;
    /* Product & Category Badge Colors */
    --color-filtersorb: #5DB2C6;
    --color-filtracion: #F08B41;
    --color-adsorcion: #4073B0;
    --color-quimicos: #9EB73B;
    --color-red-oxy: #C92D22;
    --color-sistemas: #3A455E;
    /* Fonts */
    --font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

html {
    scroll-behavior: smooth;
}

.product-name {
    white-space: nowrap;
}

/* Contenedores anidados dentro de lienzo-full (Mobile-First: sin padding lateral anidado) */
.lienzo-full .lienzo-abierto,
.lienzo-full .lienzo-cerrado {
    padding-left: 0;
    padding-right: 0;
}

/* ==========================================================================
   Estilos de texto
   ========================================================================== */
h1 {
    font-size: 2.6rem;
    line-height: 120%;
    font-weight: 600;
    margin-block-start: 0;
    margin-block-end: 1rem;
}

h1 strong {
    color: var(--color-azul);
    font-weight: inherit;
}

@media (max-width: 820px) {
    h1 {
        font-size: 2rem;
    }
}

h2 {
    font-size: 1.55rem;
    line-height: 120%;
    font-weight: 600;
    margin-block-start: 0;
    margin-block-end: 1rem;
}

h2 strong {
    color: var(--color-azul);
    font-weight: inherit;
}

h2.alt {
    font-size: 1.2rem;
}

h3 {
    font-size: 1.7rem;
    line-height: 120%;
    font-weight: 600;
    margin-block-start: 0;
    margin-block-end: 0.5rem;
}

h3 strong {
    color: var(--color-azul);
    font-weight: inherit;
}

@media (min-width: 651px) {
    .lienzo-full .lienzo-abierto,
    .lienzo-full .lienzo-cerrado {
        padding-left: 20px;
        padding-right: 20px;
    }

    h2 {
        font-size: 2.1rem;
    }

    h2.alt {
        font-size: 1.6rem;
    }

    h3 {
        font-size: 1.2rem;
    }
}

h4 {
    font-size: 1.32rem;
    line-height: 120%;
    font-weight: 600;
    margin-block-start: 0;
    margin-block-end: 0.5rem;
}

p {
    font-size: 1.0rem;
    line-height: 160%;
    font-weight: 400;
    letter-spacing: 0.03rem;
    margin-block-start: 0;
    margin-block-end: 1rem;
}

p:last-child {
    margin-block-end: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

p a {
    color: var(--color-azul-magnetico);
    text-decoration: underline;
    font-weight: 500;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

p a:hover {
    color: var(--color-azul);
}

.volanta {
    margin-block-end: 0;
}

ul,
ol {
    padding-left: 20px;
}

li {
    font-size: 1.0rem;
    line-height: 150%;
    font-weight: 400;
    letter-spacing: 0.03rem;
    margin-block-start: 0;
    margin-block-end: 0.2rem;
}

/* ==========================================================================
   Colores
   ========================================================================== */
.color-blanco {
    color: var(--color-blanco);
}

.color-negro {
    color: var(--color-negro);
}

.color-principal {
    color: var(--color-azul);
}

.color-secundario {
    color: var(--color-verde);
}

.color-filtersorb {
    color: var(--color-filtersorb);
}

.color-filtracion {
    color: var(--color-filtracion);
}

.color-adsorcion {
    color: var(--color-adsorcion);
}

.color-quimicos {
    color: var(--color-quimicos);
}

.color-red-oxy {
    color: var(--color-red-oxy);
}

.color-sistemas {
    color: var(--color-sistemas);
}

/* ==========================================================================
   Homepage
   ========================================================================== */
.con-fondo {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 10%, rgba(255, 255, 255, 1) 100%), url(/img/hero-bg.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#hero-imagenes .col-1 {
    max-height: 250px;
    overflow: hidden;
}

#hero-imagenes .col-2 {
    height: 100%;
    min-height: 250px;
    overflow: hidden;
    position: relative;
}

.video-hero-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 250px;
    overflow: hidden;
}

#hero-imagenes .col-2 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.btn-audio-pill {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 20px;
    background: rgba(23, 28, 37, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    font-family: var(--font-family);
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.25s ease;
    user-select: none;
    line-height: 1;
}

.btn-audio-pill:hover {
    background: rgba(14, 162, 222, 0.9);
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.04);
}

.btn-audio-pill .icono-audio {
    width: 11px;
    height: 11px;
    display: block;
    filter: brightness(0) invert(1);
}

.btn-audio-pill.activo {
    background: rgba(14, 162, 222, 0.88);
    border-color: rgba(255, 255, 255, 0.4);
}

.btn-audio-pill .d-none {
    display: none !important;
}

#hero-imagenes .col-3 {
    max-height: 250px;
    overflow: hidden;
}

#lista-productos-por-linea {
    gap: 20px;
    width: 100%;
}

#valor-agregado img {
    width: 40px;
    height: 40px;
    max-width: 40px;
    max-height: 40px;
}

#lista-productos-por-linea>div {
    display: flex;
    flex-direction: column;
    width: auto;
}

#lista-productos-por-linea>div>a {
    font-weight: 200;
    padding: 7px 0;
    border-bottom: var(--color-gris-claro-3) solid 1px;
}

#lista-productos-por-linea>div>a:last-of-type {
    border-bottom: none;
}

#lista-productos-por-linea>div>a:hover {
    color: var(--color-azul);
}

#lista-productos-por-linea h3 a {
    color: inherit;
    text-decoration: none;
}

#lista-productos-por-linea h3 a:hover {
    text-decoration: underline;
}

/* Colores de los títulos h3 usando variables CSS */
#lista-productos-por-linea>div:nth-child(1) h3 {
    color: var(--color-filtersorb);
}

#lista-productos-por-linea>div:nth-child(2) h3 {
    color: var(--color-filtracion);
}

#lista-productos-por-linea>div:nth-child(3) h3 {
    color: var(--color-adsorcion);
}

#lista-productos-por-linea>div:nth-child(4) h3 {
    color: var(--color-quimicos);
}

#lista-productos-por-linea>div:nth-child(5) h3 {
    color: var(--color-red-oxy);
}

#lista-productos-por-linea>div:nth-child(6) h3 {
    color: var(--color-sistemas, var(--color-gris-oscuro));
}

#design-module-01 div {
    height: 400px;
}

#design-module-01 .col-2 {
    background-color: var(--color-gris-fondo);
    background-size: cover;
    border-radius: var(--bordes-redondeados);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px 20px;
    box-sizing: border-box;
}

#nuestros-distribuidores {
    background-image: url(/img/img-dist-home-02.webp);
}

#design-module-01 .col-2 .boton-img {
    align-self: flex-end;
}

/* Carrusel de Logotipos */
#carrousel-logotipos {
    overflow: hidden;
    width: 100%;
}

#carrousel-logotipos .logotipos-track-wrapper {
    width: 100%;
    overflow: hidden;
}

#carrousel-logotipos .logotipos-track {
    display: flex;
    align-items: center;
    width: 100%;
    will-change: transform;
}

#carrousel-logotipos .logo-item {
    flex: 0 0 calc(100% / 6);
    max-width: calc(100% / 6);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
    box-sizing: border-box;
    text-decoration: none;
}

@media (max-width: 820px) {
    #carrousel-logotipos .logo-item {
        flex: 0 0 calc(100% / 2);
        max-width: calc(100% / 2);
    }
}

#carrousel-logotipos .logo-item img {
    max-width: 100%;
    max-height: 70px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(40%);
    opacity: 0.9;
    transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

#carrousel-logotipos .logo-item:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.15);
}

#soluciones-segun-contaminante {
    background-color: var(--color-gris-oscuro);
    background-image: linear-gradient(to bottom, #ffffff 0%, transparent 20%, transparent 80%, #111313 100%), url(/img/fondo-agua.jpg);
    background-size: cover;
}

#soluciones-segun-contaminante video {
    background-color: var(--color-blanco);
    border-radius: 0 0 var(--bordes-redondeados) var(--bordes-redondeados);
    overflow: hidden;
    display: block;
}

@media (max-width: 820px) {
    #soluciones-segun-contaminante video {
        height: 100px;
        width: 100%;
        object-fit: cover;
        object-position: center;
    }
}

#soluciones-segun-contaminante>div {
    background-color: var(--color-blanco);
    padding-left: 30px;
    padding-right: 30px;
}

#soluciones-segun-contaminante>div:first-of-type {
    padding-top: 60px;
    padding-left: 55px;
    padding-right: 55px;
}

.tarjeta.tipo-2 {
    padding: 30px 25px 50px 25px;
    border-radius: var(--bordes-redondeados);
}

.tarjeta.tipo-2:hover {
    background-color: var(--color-gris-muy-suave);
    border: var(--color-gris-claro-2) solidaridad 1px;
}

.tarjeta h3 {
    font-size: 1.0rem;
}

.tarjeta .contaminante {
    font-style: italic;
    font-weight: 600;
    color: var(--color-azul);
}

.tarjeta p {
    font-size: 0.85rem;
}

#solicitar-asesoria {
    background-color: #111313;
}

#solicitar-asesoria>div {
    background-image: linear-gradient(to bottom, #111313 0%, #111313 10%, transparent 30%), url(/img/fondo-asesoria.webp);
    background-position: right bottom;
    background-size: contain;
    background-repeat: no-repeat;
    min-height: 400px;
}

@media (max-width: 820px) {
    #solicitar-asesoria>div {
        background: transparent;
    }
}

#solicitar-asesoria .col-1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Sección #cierre & Imágenes Interactivas */
#cierre {
    padding-top: 60px;
    padding-bottom: 60px;
}

#logo-wwm {
    height: 40px;
    width: auto;
}

#imagenes-interactivas {
    display: flex;
    gap: 20px;
    height: 300px;
    width: 100%;
    box-sizing: border-box;
}

#imagenes-interactivas>div {
    flex: 1;
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: var(--bordes-redondeados, 15px);
    transition: flex 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    cursor: pointer;
}

#imagenes-interactivas>div:hover {
    flex: 1.5;
}

#imagenes-interactivas>div img {
    height: 100%;
    width: auto;
    max-width: none;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 820px) {
    #imagenes-interactivas {
        flex-direction: column;
        height: auto;
    }

    #imagenes-interactivas>div {
        height: 150px;
        width: 100%;
        transition: height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    }

    #imagenes-interactivas>div:hover {
        height: 225px;
    }

    #imagenes-interactivas>div img {
        width: 100%;
        height: auto;
        min-height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

/* ==========================================================================
   Líneas de productos
   ========================================================================== */
.tarjeta-de-producto {
    display: flex;
    flex-direction: column;
    min-height: 315px;
}

.tarjeta-de-producto .img-logo {
    height: auto;
    width: auto;
}

.tarjeta-de-producto h3 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tarjeta-de-producto h3 a:hover {
    color: var(--color-azul);
}

.tarjeta-de-producto .img-mask {
    display: block;
    height: 100px;
    width: 200px;
    overflow: hidden;
    margin-top: auto;
}

.tarjeta-de-producto .img-mask img {
    transition: transform 0.3s ease;
}

.tarjeta-de-producto .img-mask:hover img {
    transform: scale(1.08);
}

.categoria-quimicos {
    border-bottom: var(--color-gris-claro-3) solid 1px;
}

@media (max-width: 820px) {
    .tarjeta-de-producto {
        min-height: auto;
    }
}

/* ==========================================================================
   Páginas de productos
   ========================================================================== */
#img-selling-points {
    width: 100%;
    max-width: 600px;
}

@media (max-width: 820px) {
    #hero .col-1 {
        order: 2;
    }

    #hero .col-2 {
        order: 1;
    }
}

#info-producto .col-1 img {
    height: 40px;
}

.lista-items {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.item-lista {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 0;
    border-bottom: 1px solid var(--color-gris-claro-3);
}

.item-lista:last-child {
    border-bottom: none;
}

.item-lista img {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
}

.lista-alternativa {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 36px;
    row-gap: 0;
}

.lista-alternativa .item-lista {
    border-bottom: 1px solid var(--color-gris-claro-3);
    padding: 12px 0;
    gap: 14px;
}

#beneficios-producto {
    padding-top: 60px;
    padding-bottom: 60px;
}

/* Listas en Beneficios y Diferenciadores */
.lista-simple,
.lista-linea-simple {
    padding-left: 20px;
}

.lista-simple li,
.lista-linea-simple li {
    margin-block-end: 10px;
    margin-bottom: 10px;
}

.lista-simple li ul {
    margin-top: 10px;
}

.lista-simple li:last-child,
.lista-linea-simple li:last-child {
    margin-block-end: 0;
    margin-bottom: 0;
}

.lista-multilinea,
.lista-dos-lineas {
    list-style: none;
    padding-left: 0;
}

.lista-multilinea li,
.lista-dos-lineas li {
    margin-block-end: 20px;
    margin-bottom: 20px;
}

.lista-multilinea li:last-child,
.lista-dos-lineas li:last-child {
    margin-block-end: 0;
    margin-bottom: 0;
}

@media (max-width: 820px) {
    .item-lista {
        flex-direction: column;
        align-items: start;
        text-align: left;
        gap: 12px;
        padding: 20px 0;
    }

    .lista-alternativa {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .lista-alternativa .item-lista {
        flex-direction: row;
        align-items: center;
        padding: 12px 0;
        gap: 14px;
        border-bottom: 1px solid var(--color-gris-claro-3);
    }

    .lista-alternativa .item-lista:last-child {
        border-bottom: none;
    }
}

#datos-tecnicos .col-1.img-mask {
    height: auto;
}

#productos-red-oxy img {
    height: 150px;
}

#productos-red-oxy .img-logo {
    height: auto;
}

/* ==========================================================================
   Acordeón
   ========================================================================== */
.acordeon-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.acordeon-item {
    background-color: var(--color-gris-fondo);
    border-radius: var(--bordes-redondeados);
    padding: 20px 24px;
    transition: background-color 0.3s ease, color 0.3s ease;
    cursor: pointer;
    overflow: hidden;
}

.acordeon-header {
    display: flex;
    align-items: center;
    gap: 16px;
    user-select: none;
}

.acordeon-arrow {
    font-size: 1.4rem;
    font-weight: 300;
    transition: color 0.3s ease;
    display: inline-block;
    color: var(--color-gris-oscuro);
}

.acordeon-item h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-negro);
    transition: color 0.3s ease;
}

.acordeon-content {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
    margin-top: 0;
}

.acordeon-content p {
    margin: 0;
    font-size: 1.0rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-gris-oscuro);
    transition: color 0.3s ease;
    margin-block-start: 0.3rem;
}

.acordeon-content p strong {
    font-weight: 800;
}

/* Estado activo / abierto */
.acordeon-item.activo {
    background-color: var(--color-azul);
}

.acordeon-item.activo .acordeon-arrow {
    color: var(--color-blanco);
}

.acordeon-item.activo h3 {
    color: var(--color-blanco);
}

.acordeon-item.activo h4 {
    color: var(--color-blanco);
}

.acordeon-item.activo .acordeon-content {
    max-height: 300px;
    opacity: 1;
    margin-top: 16px;
}

.acordeon-item.activo .acordeon-content p {
    color: var(--color-blanco);
}

.acordeon-item.activo .acordeon-content a {
    color: var(--color-blanco);
    text-decoration: none;
}

.acordeon-item.activo .acordeon-content a:hover {
    text-decoration: underline;
}

/* ==========================================================================
   Página de nosotros
   ========================================================================== */
#areas-de-actividad img {
    overflow: hidden;
    border-radius: 10px;
}

#por-que-elegir-watch-water img {
    height: 40px;
}

/* --------------------------------------------------------------------------
   Contaminantes
   -------------------------------------------------------------------------- */

/* Contenedor del buscador */
.buscador-container {
    width: 100%;
    max-width: 500px;
    position: relative;
}

/* Input del buscador */
.buscador-input {
    width: 100%;
    padding: 14px 20px;
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: 400;
    color: var(--color-negro);
    background-color: var(--color-gris-fondo);
    border: 1px solid var(--color-gris-claro-3);
    border-radius: var(--bordes-redondeados);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

/* Focus del input */
.buscador-input:focus {
    background-color: var(--color-blanco);
    border-color: var(--color-azul);
    box-shadow: 0 0 0 3px rgba(14, 162, 222, 0.15);
}

/* Placeholder del input */
.buscador-input::placeholder {
    color: var(--color-gris);
}

#grilla-contaminantes .tarjeta {
    border: var(--color-gris-claro-1) solid 1px;
    padding: 20px;
    border-radius: 10px;
    background-color: var(--color-gris-muy-suave);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

#grilla-contaminantes .tarjeta:hover {
    border: var(--color-gris-claro-3) solid 1px;
    background-color: var(--color-blanco);
    box-shadow: 0 0 0 3px rgba(14, 162, 222, 0.15);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

/* ==========================================================================
   Página de soluciones
   ========================================================================== */
#soluciones-dureza-incrustaciones {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/dureza-incrustaciones-2.webp);
}

#soluciones-remocion-hierro-manganeso {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/remocion-hierro-manganeso-2.webp);
}

#soluciones-remocion-sulfuro-hidrogeno-h2s {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/remocion-sulfuro-hidrogeno-h2s-2.webp);
}

#soluciones-arsenico-metales-pesados {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/arsenico-metales-pesados-2.webp);
}

#soluciones-color-sabor-olor-agua {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/color-sabor-olor-agua-2.webp);
}

#soluciones-remocion-nitratos {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/remocion-nitratos-2.webp);
}

#soluciones-decloracion-del-agua {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/decloracion-del-agua-2.webp);
}

#soluciones-remocion-fluoruro-en-agua {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/remocion-fluoruro-en-agua-2.webp);
}

#soluciones-torres-de-enfriamiento-y-agua-de-enfriamiento {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/torres-de-enfriamiento-y-agua-de-enfriamiento-2.webp);
}

#soluciones-calderas-y-agua-caliente {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/calderas-y-agua-caliente-2.webp);
}

#soluciones-proteccion-membranas-de-osmosis-inversa {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/proteccion-membranas-de-osmosis-inversa-2.webp);
}

#soluciones-desinfeccion-control-microbiologico {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/desinfeccion-control-microbiologico-2.webp);
}

#soluciones-turbidez-solidos-suspendidos-sdi {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/turbidez-solidos-suspendidos-sdi-2.webp);
}

#soluciones-tratamiento-agua-pluvial {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/tratamiento-agua-pluvial-2.webp);
}

#soluciones-tratamiento-terciario-de-agua-residual {
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 0%, transparent 50%, color-mix(in srgb, var(--color-gris-oscuro) 70%, transparent) 100%), url(/img/soluciones/tratamiento-terciario-de-agua-residual-2.webp);
}

/* ==========================================================================
   Sección: Áreas de aplicación
   ========================================================================== */
#areas-de-aplicacion {
    display: flex;
    gap: 1.25rem;
    width: 100%;
    box-sizing: border-box;
}

.area_de_aplicacion {
    flex: 1 1 0px;
    min-width: 0;
    height: 280px;
    border-radius: var(--bordes-redondeados, 15px);
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 1.75rem 1.5rem;
    box-sizing: border-box;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.area_de_aplicacion:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

/* Capa de fondo con imagen: 40% de color en reposo (efecto etéreo), 100% en hover */
.area_de_aplicacion::before {
    content: "";
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: grayscale(60%) saturate(0.85);
    transition: filter 0.45s ease, transform 0.45s ease;
    z-index: 1;
}

.area_de_aplicacion:hover::before {
    filter: grayscale(0%) saturate(1);
    transform: scale(1.06);
}

/* Capa de gradiente: fundido en color azul en reposo; oscuro en hover */
.area_de_aplicacion::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(14, 162, 222, 1) 0%, rgba(14, 162, 222, 0.96) 22%, rgba(14, 162, 222, 0.72) 48%, rgba(14, 162, 222, 0.2) 80%, rgba(14, 162, 222, 0) 100%);
    transition: background 0.4s ease;
    z-index: 2;
}

.area_de_aplicacion:hover::after {
    background: linear-gradient(0deg, rgba(8, 16, 26, 0.96) 0%, rgba(8, 16, 26, 0.88) 50%, rgba(8, 16, 26, 0.55) 75%, rgba(0, 0, 0, 0.15) 100%);
}

/* Contenido: icono, título h3 y párrafo explicativo */
.area_de_aplicacion img {
    position: relative;
    z-index: 3;
    width: 40px;
    height: 40px;
    filter: brightness(0) invert(1);
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.35s ease;
    margin-bottom: 0.5rem;
}

.area_de_aplicacion:hover img {
    filter: brightness(0) invert(1);
    transform: translateY(-6px);
}

.area_de_aplicacion h3 {
    position: relative;
    z-index: 3;
    color: var(--color-blanco);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.35s ease;
}

.area_de_aplicacion:hover h3 {
    color: var(--color-blanco);
    transform: translateY(-4px);
}

/* Texto de párrafo explicativo: animación en dos pasos */
.area_de_aplicacion p {
    position: relative;
    z-index: 3;
    color: var(--color-blanco);
    font-size: 0.88rem;
    line-height: 1.45;
    font-weight: 400;
    margin: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(12px);
    transition: max-height 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
        opacity 0.2s ease 0s,
        transform 0.2s ease 0s,
        margin-top 0.35s ease;
}

.area_de_aplicacion:hover p {
    max-height: 140px;
    opacity: 1;
    transform: translateY(0);
    margin-top: 0.65rem;
    transition: max-height 0.4s cubic-bezier(0.2, 0.8, 0.2, 1),
        opacity 0.35s ease 0.18s,
        transform 0.35s ease 0.18s,
        margin-top 0.4s ease;
}

/* Imágenes de fondo para cada área de aplicación */
.area_de_aplicacion.area-agua-potable::before {
    background-image: url(/img/areas/area-agua-potable.jpg);
}

.area_de_aplicacion.area-agua-de-pozo::before {
    background-image: url(/img/areas/area-agua-de-pozo.jpg);
}

.area_de_aplicacion.area-hogar::before,
.area_de_aplicacion.area-puo::before,
.area_de_aplicacion.area-punto-de-uso::before {
    background-image: url(/img/areas/area-hogar.jpg);
}

.area_de_aplicacion.area-comercio::before {
    background-image: url(/img/areas/area-comercio.jpg);
}

.area_de_aplicacion.area-industria::before {
    background-image: url(/img/areas/area-industria.jpg);
}

.area_de_aplicacion.area-osmosis-inversa::before,
.area_de_aplicacion.area-pretratamiento-oi::before {
    background-image: url(/img/soluciones/proteccion-membranas-de-osmosis-inversa-1.webp);
}

.area_de_aplicacion.area-agua-de-proceso::before {
    background-image: url(/img/areas/area-industria.jpg);
}

.area_de_aplicacion.area-torres-enfriamiento::before {
    background-image: url(/img/soluciones/torres-de-enfriamiento-y-agua-de-enfriamiento-1.webp);
}

.area_de_aplicacion.area-calderas::before {
    background-image: url(/img/soluciones/calderas-y-agua-caliente-1.webp);
}

.area_de_aplicacion.area-limpieza-quimica::before {
    background-image: url(/img/soluciones/dureza-incrustaciones-1.webp);
}

.area_de_aplicacion.area-oxidacion-control::before {
    background-image: url(/img/soluciones/desinfeccion-control-microbiologico-1.webp);
}

.area_de_aplicacion.area-potabilizacion::before {
    background-image: url(/img/areas/area-agua-potable.jpg);
}

/* ==========================================================================
   Sección: Botones de navegación (Químicos instantáneos)
   ========================================================================== */
#botones-navegacion {
    box-sizing: border-box;
}

#botones-navegacion .area_de_aplicacion {
    height: 120px;
    padding: 1.1rem 0.95rem;
    text-decoration: none;
    color: var(--color-blanco);
}

#botones-navegacion .area_de_aplicacion img {
    width: 32px;
    height: 32px;
    margin-bottom: 0.35rem;
}

#botones-navegacion .area_de_aplicacion h3 {
    font-size: 0.95rem;
    line-height: 1.25;
    word-break: normal;
    overflow-wrap: break-word;
}

/* Adaptación responsive fluida */
@media (max-width: 900px) {

    #areas-de-aplicacion,
    #botones-navegacion {
        flex-wrap: wrap;
    }

    .area_de_aplicacion {
        flex: 1 1 calc(50% - 1.25rem);
        min-width: 200px;
    }
}

@media (max-width: 540px) {
    .area_de_aplicacion {
        flex: 1 1 100%;
        min-width: 100%;
        height: 280px;
    }
}

/* ==========================================================================
   Tablas de datos y modelos (Diseño sobrio y minimalista)
   ========================================================================== */
.tabla-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

table.tabla-datos,
.tabla-datos {
    width: 100%;
    max-width: 540px;
    border-collapse: collapse;
    font-family: var(--font-family);
    font-size: 0.95rem;
    line-height: 1.4;
    color: var(--color-negro);
    text-align: left;
}

/* Encabezado: línea inferior más gruesa y oscura */
table.tabla-datos th,
.tabla-datos th {
    font-weight: 700;
    color: var(--color-negro);
    padding: 0.75rem 1rem;
    border-bottom: 2px solid var(--color-negro);
    white-space: nowrap;
}

/* Filas: líneas divisorias horizontales sutiles en gris, sin líneas verticales */
table.tabla-datos td,
.tabla-datos td {
    padding: 0.75rem 1rem;
    color: var(--color-gris-oscuro);
    border-bottom: 1px solid var(--color-gris-claro-3);
    vertical-align: middle;
    white-space: nowrap;
}

table.tabla-datos tr:last-child td,
.tabla-datos tr:last-child td {
    border-bottom: none;
}

/* Interacción: fila completa en gris claro al pasar el cursor */
table.tabla-datos tbody tr {
    transition: background-color 0.15s ease;
}

table.tabla-datos tbody tr:hover {
    background-color: var(--color-gris-claro-2);
}

/* En teléfonos móviles no colapsa: mantiene la estructura tabular */
@media (max-width: 600px) {

    table.tabla-datos,
    .tabla-datos {
        font-size: 0.88rem;
    }

    table.tabla-datos th,
    .tabla-datos th,
    table.tabla-datos td,
    .tabla-datos td {
        padding: 0.6rem 0.65rem;
    }
}

/* ==========================================================================
   Tabla Comparativa (Destacada, ancho completo y estilo diferenciado)
   ========================================================================== */
.tabla-comparativa-wrapper {
    width: 100%;
    border: 1px solid var(--color-gris-claro-3);
    border-radius: 0;
    overflow: hidden;
    background-color: var(--color-blanco);
}

table.tabla-comparativa,
.tabla-comparativa {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-family: var(--font-family);
    font-size: 0.98rem;
    line-height: 1.45;
    text-align: left;
}

/* Encabezados */
table.tabla-comparativa th,
.tabla-comparativa th {
    padding: 1.1rem 1.4rem;
    font-size: 1.05rem;
    white-space: nowrap;
}

/* Columna destacada (FILTERSORB® CT) - Encabezado azul de la página */
table.tabla-comparativa th:first-child,
.tabla-comparativa th:first-child {
    width: 50%;
    background-color: var(--color-azul);
    color: var(--color-blanco);
    font-weight: 700;
    border-bottom: 2px solid var(--color-azul);
    border-right: 1px solid rgba(255, 255, 255, 0.25);
}

/* Columna convencional - Encabezado gris */
table.tabla-comparativa th:last-child,
.tabla-comparativa th:last-child {
    width: 50%;
    background-color: var(--color-gris-claro-2);
    color: var(--color-gris-oscuro);
    font-weight: 600;
    border-bottom: 2px solid var(--color-gris-claro-3);
}

/* Celdas de datos */
table.tabla-comparativa td,
.tabla-comparativa td {
    padding: 0.95rem 1.4rem;
    border-bottom: 1px solid var(--color-gris-claro-3);
    vertical-align: middle;
}

/* Datos columna Filtersorb: fondo blanco, texto negro e icono monocromo llamativo */
table.tabla-comparativa td:first-child,
.tabla-comparativa td:first-child {
    color: var(--color-negro);
    font-weight: 600;
    background-color: var(--color-blanco);
    border-right: 1px solid var(--color-gris-claro-3);
}

/* Ícono monocromo llamativo para cada ventaja de Filtersorb */
table.tabla-comparativa td:first-child::before {
    content: "";
    display: inline-block;
    width: 19px;
    height: 19px;
    margin-right: 0.75rem;
    vertical-align: -3px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='10' stroke='%23171C25' stroke-width='2'/%3E%3Cpath d='M7.5 12L10.5 15L16.5 9' stroke='%23171C25' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
}

/* Datos columna convencional: fondo gris suave */
table.tabla-comparativa td:last-child,
.tabla-comparativa td:last-child {
    color: var(--color-gris-oscuro);
    background-color: var(--color-gris-fondo);
}

table.tabla-comparativa tr:last-child td,
.tabla-comparativa tr:last-child td {
    border-bottom: none;
}

/* Hover interactivo sobre la fila */
table.tabla-comparativa tbody tr {
    transition: background-color 0.15s ease;
}

table.tabla-comparativa tbody tr:hover td:first-child {
    background-color: var(--color-gris-muy-suave);
}

table.tabla-comparativa tbody tr:hover td:last-child {
    background-color: var(--color-gris-claro-1);
}

/* Adaptación responsive */
@media (max-width: 650px) {

    table.tabla-comparativa,
    .tabla-comparativa {
        font-size: 0.88rem;
    }

    table.tabla-comparativa th,
    .tabla-comparativa th {
        padding: 0.85rem 0.9rem;
        font-size: 0.92rem;
        white-space: normal;
    }

    table.tabla-comparativa td,
    .tabla-comparativa td {
        padding: 0.8rem 0.9rem;
    }

    table.tabla-comparativa td:first-child::before {
        width: 16px;
        height: 16px;
        margin-right: 0.5rem;
        vertical-align: -2px;
    }
}