
/* ==================== _botonera.php ==================== */
/* --- bloque 1 --- */
@media (max-width: 991px) {
        .lcf-botonera-wrap {
            display: none !important;
        }
    }

    .lcf-botonera-wrap {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 1400px;
        margin: 20px auto 30px;
        padding: 0 15px;
        box-sizing: border-box;
        overflow: hidden;
    }

    .lcf-botonera-wrap .lcf-botonera {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        /* border-bottom: none !important; */
        border-radius: 6px !important;
    }

    @media (min-width: 992px) and (max-width: 1500px) {
        .lcf-botonera-wrap { padding: 0 3%; }
    }

    .lcf-hs-banner {
        height: 50px;
        background: #fc5a30;
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 0 20px;
        box-sizing: border-box;
        margin-top: 0;
        width: 100%;
        border: none;
        border-radius: 0 0 10px 10px;
        position: relative;
        overflow: hidden;
    }

    .lcf-hs-progress {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 5px;
        pointer-events: none;
    }

    .lcf-hs-banner-logo {
        height: 36px;
        width: auto;
        flex-shrink: 0;
    }

    .lcf-hs-banner-divider {
        width: 2px;
        height: 28px;
        background: #264e23;
        flex-shrink: 0;
    }

    .lcf-hs-banner-text {
        display: flex;
        align-items: baseline;
        gap: 10px;
    }

    .lcf-hs-banner-title {
        font-size: 20px;
        font-weight: 900;
        color: #fff;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        font-family: 'Ubuntu Condensed', 'Arial Narrow', sans-serif;
    }

    .lcf-hs-cd-label {
        font-size: 13px;
        font-weight: 600;
        color: rgba(255,255,255,0.85);
        letter-spacing: 0.3px;
    }

    .lcf-hs-countdown {
        display: inline-flex;
        align-items: baseline;
        gap: 1px;
    }

    .lcf-hs-cd-num {
        font-size: 22px;
        font-weight: 900;
        color: #fff;
        font-family: 'Ubuntu Condensed', 'Arial Narrow', monospace;
        letter-spacing: 2px;
        min-width: 30px;
        display: inline-block;
        text-align: center;
    }

    .lcf-hs-cd-unit {
        font-size: 10px;
        font-weight: 600;
        color: rgba(255,255,255,0.75);
        margin-right: 6px;
        vertical-align: baseline;
    }

    .lcf-hs-cd-sep {
        font-size: 18px;
        font-weight: 900;
        color: rgba(255,255,255,0.6);
        margin: 0 2px;
    }


/* ==================== listador.php ==================== */
/* --- bloque 1 --- */
@media (max-width: 767px) {
            #encabezado-home .k20-listador-title { font-size: 22px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        }
        @keyframes lcf-breathe {
            0%, 100% { transform: scale(1); }
            50%       { transform: scale(1.03); }
        }
        .lcf-breathe {
            display: inline-block;
            animation: lcf-breathe 2.2s ease-in-out infinite;
        }
        .seo-main-heading {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0,0,0,0);
            white-space: nowrap;
            border: 0;
        }

/* --- bloque 2 --- */
.lcf-suc-wrapper {
            position: relative;
            width: 100%;
            margin: 4px 0 0;
        }
        @media (min-width: 992px) {
            .lcf-suc-wrapper { display: none !important; }
        }
        .lcf-suc-strip {
            width: 100%;
            overflow-x: scroll;
            overflow-y: hidden;
            cursor: grab;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        .lcf-suc-strip::-webkit-scrollbar { display: none; }
        .lcf-suc-strip:active { cursor: grabbing; }
        .lcf-suc-track {
            display: flex;
            gap: 0;
            width: max-content;
            padding: 0;
            position: relative;
        }
        .lcf-suc-gallery-card {
            position: relative;
            display: block;
            width: 300px;
            height: 175px;
            border-radius: 0;
            overflow: hidden;
            flex-shrink: 0;
            text-decoration: none;
        }
        .lcf-suc-gallery-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .lcf-suc-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 18px 9px 6px;
            background: linear-gradient(to top, rgb(1 90 146) 25%, transparent 100%);
            display: flex;
            align-items: center;
            gap: 5px;
        }
        .lcf-suc-pin {
            color: #e84040;
            font-size: 13px;
            flex-shrink: 0;
            filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
        }
        .lcf-suc-nombre {
            color: #fff;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.2;
            text-shadow: 0 1px 3px rgba(0,0,0,0.6);
        }
        .lcf-suc-frases {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            pointer-events: none;
            z-index: 10;
            background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 72%);
        }
        .lcf-suc-frase {
            position: absolute;
            color: #fff;
            font-size: 17px;
            font-weight: 800;
            text-align: center;
            line-height: 1.3;
            padding: 0 24px;
            text-shadow: 0 2px 10px rgba(0,0,0,0.8), 0 0 30px rgba(0,0,0,0.5);
            filter: drop-shadow(0 2px 6px rgba(0,0,0,0.6));
            opacity: 0;
            transition: opacity 0.7s ease;
        }
        .lcf-suc-frase.active {
            opacity: 1;
        }


/* ==================== listador-outlet.php ==================== */
/* --- bloque 1 --- */
#contenedor_box_outlet {
    display: flex !important;
    flex-wrap: wrap !important;
    /* justify-content: center; */
    gap: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
}

/* Igual que #contenedor_box del listador normal: 3 columnas parejas relativas al contenedor */
#contenedor_box_outlet > * {
    flex: 0 0 calc(33.333% - 26px) !important;
    width: calc(33.333% - 26px) !important;
    max-width: calc(33.333% - 26px) !important;
    margin: 13px !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Tablet: 2 columnas */
@media screen and (max-width: 1023px) {
    #contenedor_box_outlet > * {
        flex: 0 0 calc(50% - 8px) !important;
        width: calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }
}

/* Mobile: 1 columna */
@media screen and (max-width: 767px) {
    #contenedor_box_outlet {
        padding: 0 !important;
    }

    #contenedor_box_outlet > * {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 5px 0 !important;
    }
}

/* #main-listador-container es flex con justify-content:center, así que su hijo .row
   (que contiene toda la grilla) se encoge a su contenido por default. Con pocos equipos
   visibles (ej. al filtrar por categoría) eso achica la fila entera y rompe las cards.
   Forzamos que la fila siempre ocupe el ancho completo, sin importar cuántos queden visibles. */
#main-listador-container > .row {
    width: 100% !important;
}

.outlet-reserva-aviso {
    max-width: 1400px;
    box-sizing: border-box;
    margin: 15px auto 0;
    text-align: center;
    color: #777;
    font-family: 'Ubuntu Condensed', sans-serif;
    font-size: 15px;
    line-height: 1.5;
    padding: 12px 20px;
    background-color: #f2f2f2;
    border-radius: 6px;
}


/* ==================== ficha.php ==================== */
/* --- bloque 1 --- */
.sh-ficha-precios-number.sh-ficha-precios-tachado {
        color: #999 !important;
    }

    /* Alinear ancho de la ficha con el header y la botonera */
    .lcf-container-ficha {
        width: 100% !important;
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Roboto se carga desde head.php */

    /* Override text-align center de la caja de precios */
    .sh-ficha-cajaPrecios {
        text-align: left !important;
    }

    /* Roboto override para bloques de precio, envío y cuotas ficha */
    .ficha-promo-new-container,
    .ficha-promo-new-container *,
    .ficha-envio-garantia,
    .ficha-envio-garantia *,
    .ficha-cuotas-new,
    .ficha-cuotas-new * {
        font-family: 'Roboto', sans-serif !important;
    }

    /* Badge OFF ficha */
    .ficha-promo-new-badge {
        border: #015f9e 2px solid;
        padding: 0;
        display: inline-flex;
        align-items: stretch;
    }

    .ficha-promo-new-badge .ficha-off-text {
        color: #ffffff;
        background-color: #015f9e;
        padding: 8px 12px;
        font-size: 32px;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 4px;
        flex-shrink: 0;
    }

    .ficha-promo-new-badge .ficha-off-text .descuento-detalle {
        display: flex;
        flex-direction: column;
        font-size: 14px;
        line-height: 1;
        font-weight: 700;
    }

    .ficha-promo-new-badge .ficha-payment-area {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0 12px;
        gap: 8px;
    }

    .ficha-promo-new-badge .ficha-mp-logo-new img {
        width: 90px;
        height: auto;
        display: block;
    }

    .ficha-promo-new-badge .ficha-efectivo-text {
        display: flex;
        flex-direction: column;
        font-size: 16px;
        line-height: 1.2;
        color: #015f9e;
        font-weight: 500;
    }

    /* Precio promo ficha */
    .ficha-promo-new-precio {
        color: #015f9e;
        font-size: 38px;
        font-weight: 700;
        margin-top: 15px;
        text-align: left;
    }

    /* Cuotas ficha */
    .ficha-cuotas-new {
        font-size: 15px;
        margin-top: 8px;
        text-align: left;
    }

    .ficha-cuotas-new .ficha-cuotas-tarjeta {
        padding: 5px 0;
        color: #015f9e;
        font-size: 15px;
    }

    .ficha-cuotas-new .ficha-cuotas-lista {
        display: flex;
        flex-direction: column;
        padding: 5px 0;
        color: #888;
        gap: 2px;
    }

    .ficha-cuotas-new .ficha-cuotas-lista span {
        display: inline;
    }

    /* ---- Desktop grande (>1280px) ---- */
    @media screen and (min-width: 1281px) {
        .ficha-promo-new-badge .ficha-off-text {
            font-size: 34px;
            padding: 10px 14px;
        }

        .ficha-promo-new-badge .ficha-off-text .descuento-detalle {
            font-size: 15px;
        }

        .ficha-promo-new-badge .ficha-mp-logo-new img {
            width: 100px;
        }

        .ficha-promo-new-badge .ficha-efectivo-text {
            font-size: 17px;
        }

        .ficha-promo-new-precio {
            font-size: 42px;
        }
    }

    /* ---- Desktop medio (1024px - 1280px) ---- */
    @media screen and (min-width: 1024px) and (max-width: 1280px) {
        .ficha-promo-new-badge .ficha-off-text {
            font-size: 28px;
            padding: 8px 10px;
        }

        .ficha-promo-new-badge .ficha-off-text .descuento-detalle {
            font-size: 13px;
        }

        .ficha-promo-new-badge .ficha-mp-logo-new img {
            width: 80px;
        }

        .ficha-promo-new-badge .ficha-efectivo-text {
            font-size: 15px;
        }

        .ficha-promo-new-precio {
            font-size: 36px;
        }
    }

    /* ---- Tablet (768px - 1023px) ---- */
    @media screen and (max-width: 1023px) {
        .ficha-promo-new-badge .ficha-off-text {
            font-size: 24px;
            padding: 6px 8px;
        }

        .ficha-promo-new-badge .ficha-off-text .descuento-detalle {
            font-size: 11px;
        }

        .ficha-promo-new-badge .ficha-mp-logo-new img {
            width: 70px;
        }

        .ficha-promo-new-badge .ficha-efectivo-text {
            font-size: 13px;
        }

        .ficha-promo-new-precio {
            font-size: 32px;
        }

        .ficha-cuotas-new {
            font-size: 14px;
        }

        .ficha-cuotas-new .ficha-cuotas-tarjeta {
            font-size: 14px;
        }
    }

    /* ---- Mobile (hasta 767px) ---- */
    @media screen and (max-width: 767px) {
        .ficha-promo-new-badge .ficha-off-text {
            font-size: 26px;
            padding: 6px 10px;
        }

        .ficha-promo-new-badge .ficha-off-text .descuento-detalle {
            font-size: 12px;
        }

        .ficha-promo-new-badge .ficha-mp-logo-new img {
            width: 75px;
        }

        .ficha-promo-new-badge .ficha-efectivo-text {
            font-size: 14px;
        }

        .ficha-promo-new-precio {
            font-size: 34px;
        }

        .ficha-cuotas-new {
            font-size: 14px;
        }

        .ficha-cuotas-new .ficha-cuotas-tarjeta {
            font-size: 14px;
        }
    }

    /* ---- Mobile medio (hasta 480px) ---- */
    @media screen and (max-width: 480px) {
        .ficha-promo-new-badge .ficha-off-text {
            font-size: 22px;
            padding: 5px 8px;
        }

        .ficha-promo-new-badge .ficha-off-text .descuento-detalle {
            font-size: 10px;
        }

        .ficha-promo-new-badge .ficha-mp-logo-new img {
            width: 75px;
        }

        .ficha-promo-new-badge .ficha-efectivo-text {
            font-size: 16px;
        }

        .ficha-promo-new-precio {
            font-size: 28px;
        }

        .ficha-cuotas-new {
            font-size: 13px;
        }

        .ficha-cuotas-new .ficha-cuotas-tarjeta {
            font-size: 13px;
        }
    }

    /* ---- Mobile chico (hasta 360px) ---- */
    @media screen and (max-width: 360px) {
        .ficha-promo-new-badge .ficha-off-text {
            font-size: 18px;
            padding: 4px 6px;
        }

        .ficha-promo-new-badge .ficha-off-text .descuento-detalle {
            font-size: 9px;
        }

        .ficha-promo-new-badge .ficha-efectivo-text {
            font-size: 16px;
        }

        .ficha-promo-new-precio {
            font-size: 24px;
        }

        .ficha-cuotas-new {
            font-size: 12px;
        }

        .ficha-cuotas-new .ficha-cuotas-tarjeta {
            font-size: 12px;
        }
    }

/* Modificador outlet del badge/precio de arriba: mismo layout, en rojo (color de marca outlet).
   Usado por el switch in-place "Ver Equipo Outlet" de la ficha (mismo patron que listador-box.php). */
.ficha-promo-new-badge.outlet {
    border-color: #E00321;
}

.ficha-promo-new-badge.outlet .ficha-off-text {
    background-color: #E00321;
}

.ficha-promo-new-badge.outlet .ficha-efectivo-text {
    color: #E00321;
}

.ficha-promo-new-precio.outlet {
    color: #E00321;
}

/* Ficha: 50% OFF (o mas) en efectivo -> badge y precio en NARANJA (misma logica que el listador, off-50). */
.ficha-promo-new-badge.off-50 {
    border-color: #f06e1e;
}

.ficha-promo-new-badge.off-50 .ficha-off-text {
    background-color: #f06e1e;
}

.ficha-promo-new-badge.off-50 .ficha-efectivo-text {
    color: #f06e1e;
}

.ficha-promo-new-precio.off-50 {
    color: #f06e1e;
}

.ficha-outlet-reservado-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    background-color: #E00321;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 6px 14px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* Etiqueta con el ID del outlet, arriba a la derecha de la imagen (RESERVADO va arriba a la izquierda). */
.ficha-outlet-id-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    background-color: #c1121f;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    padding: 5px 12px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}


/* ==================== esptec.php ==================== */
/* --- bloque 1 --- */
.sh-ficha-desc-list {
    padding: 0 10px 0 24px;
    margin: 0;
    color: #7D7D7D;
    font-size: 12px;
    line-height: 1.6;
    list-style: disc;
}
.sh-ficha-desc-list li {
    margin-bottom: 6px;
}
.sh-ficha-desc-list li strong {
    color: #444;
}
.sh-ficha-desc-text {
    padding: 0 10px;
    margin: 4px 0;
    color: #7D7D7D;
    font-size: 12px;
    line-height: 1.6;
}


/* ==================== todo-sobre-fitness.php ==================== */
/* --- bloque 1 --- */
.tsf-home-title-container {
            text-align: center;
            margin: 30px 0 20px;
        }
        .tsf-home-title {
            font-family: 'Ubuntu Condensed', sans-serif;
            font-size: 24px;
            color: #333;
            text-transform: uppercase;
            letter-spacing: 3px;
        }
        .tsf-home-grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px;
            padding: 0;
        }
        .tsf-home-item {
            flex: 0 0 calc(33.333% - 14px);
            max-width: calc(33.333% - 14px);
        }
        .tsf-listador-link {
            text-decoration: none;
            color: inherit;
            display: block;
        }
        .tsf-listador-link:hover {
            text-decoration: none;
            color: inherit;
        }
        .tsf-listador-box-inner {
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
            transition: box-shadow 0.3s ease, transform 0.3s ease;
            background: #fff;
            height: 100%;
        }
        .tsf-listador-box-inner:hover {
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            transform: translateY(-3px);
        }
        .tsf-listador-box-img img {
            width: 100%;
            height: auto;
            display: block;
        }
        .tsf-listador-box-info {
            padding: 15px;
        }
        .tsf-listador-box-tag {
            font-family: 'Ubuntu Condensed', sans-serif;
            font-size: 21px;
            color: #fff;
            background: #015f9e;
            display: inline-block;
            padding: 2px 8px;
            border-radius: 3px;
            margin-bottom: 8px;
            letter-spacing: 1px;
        }
        .tsf-listador-box-title {
            font-family: 'Ubuntu Condensed', sans-serif;
            font-size: 16px;
            color: #333;
            margin-bottom: 6px;
            line-height: 1.3;
        }
        .tsf-listador-box-desc {
            font-size: 13px;
            color: #888;
            line-height: 1.4;
            margin-bottom: 10px;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .tsf-listador-box-cta {
            font-family: 'Ubuntu Condensed', sans-serif;
            font-size: 17px;
            color: #015f9e;
            font-weight: bold;
            letter-spacing: 1px;
        }
        .tsf-listador-box-cta i {
            margin-left: 5px;
            transition: margin-left 0.3s ease;
        }
        .tsf-listador-box-inner:hover .tsf-listador-box-cta i {
            margin-left: 10px;
        }
        .tsf-ver-todas-container {
            text-align: center;
            margin: 20px 0 30px;
        }
        .tsf-ver-todas-btn {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 12px 45px;
            border: 2px solid #666;
            border-radius: 50px;
            color: #555;
            text-transform: uppercase;
            font-family: 'Ubuntu Condensed', sans-serif;
            font-size: 16px;
            letter-spacing: 3px;
            text-decoration: none;
            transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            position: relative;
            overflow: hidden;
            background: transparent;
        }
        .tsf-btn-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background-color: #666;
            color: white;
            font-size: 18px;
            font-weight: 300;
            transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
        .tsf-ver-todas-btn:hover {
            border-color: #333;
            color: #fff;
            background-color: #333;
            text-decoration: none;
            padding: 12px 50px;
            letter-spacing: 5px;
        }
        .tsf-ver-todas-btn:hover .tsf-btn-icon {
            background-color: #fff;
            color: #333;
            transform: rotate(90deg);
        }
        @media (max-width: 767px) {
            .tsf-home-grid {
                flex-direction: column;
                align-items: center;
                gap: 15px;
            }
            .tsf-home-item {
                flex: 0 0 90%;
                max-width: 90%;
            }
        }


/* Fix jerarquia de headings de la ficha (h1/h2 -> p): preservar el peso visual que daba el heading. */
.sh-ficha-t1, .sh-ficha-subt, .nl-ficha-t1, .nl-ficha-subt { font-weight: 700; }

/* Ficha (rediseño UX): bloque de compra arriba + sticky en desktop; envios/garantia compacto y con menos jerarquia abajo. */
@media (min-width: 992px) {
    .ficha-compra-box { position: sticky; top: 16px; z-index: 2; background: #fff; }
}
.ficha-envio-garantia-wrap { margin-top: 14px; padding-top: 10px; border-top: 1px solid #ececec; }
.ficha-envio-garantia-wrap .ficha-envio-item span { font-size: 13px; }
.ficha-envio-garantia-wrap .icono-envio-ficha { width: 18px; height: 18px; }

/* ===== Ficha estilo Fravega: card de compra + sidebar sticky + specs en acordeon ===== */
.ficha-compra-box {
    border: 1px solid #e3e8ee;
    border-radius: 14px;
    padding: 18px 20px 20px;
    box-shadow: 0 2px 12px rgba(20,40,80,.06);
    background: #fff;
}
@media (min-width: 992px) {
    /* Sidebar de compra sticky: sigue al scrollear mientras baja la galeria/specs. */
    .ficha-sidebar-sticky { position: sticky; top: 16px; align-self: flex-start; }
}
/* Acordeon de especificaciones tecnicas */
.spec-acc { border: 1px solid #e3e8ee; border-radius: 12px; overflow: hidden; background: #fff; }
.spec-acc-group + .spec-acc-group { border-top: 1px solid #eef1f5; }
.spec-acc-head { display: flex; justify-content: space-between; align-items: center; cursor: pointer;
    padding: 13px 18px; background: #f7f9fc; font-family: 'Ubuntu Condensed', sans-serif;
    font-size: 17px; font-weight: 700; color: #0a2540; user-select: none; }
.spec-acc-head:hover { background: #eef2f8; }
.spec-acc-head .spec-acc-ico { transition: transform .2s ease; color: #015f9e; font-size: 14px; }
.spec-acc-group.open .spec-acc-head .spec-acc-ico { transform: rotate(180deg); }
.spec-acc-body { max-height: 0; overflow: hidden; transition: max-height .28s ease; }
.spec-acc-group.open .spec-acc-body { max-height: 3000px; }
.spec-acc-row { display: flex; justify-content: space-between; gap: 16px; padding: 10px 18px; border-top: 1px solid #f0f3f7; font-size: 14px; }
.spec-acc-row .k { color: #66748a; }
.spec-acc-row .v { color: #0a2540; font-weight: 600; text-align: right; }

/* ===== Ficha: barra sticky de compra (aparece al scrollear) ===== */
.ficha-stickybar { position: fixed; top: 0; left: 0; right: 0; z-index: 9998; background: #fff;
    border-bottom: 1px solid #e3e8ee; box-shadow: 0 2px 10px rgba(0,0,0,.09);
    transform: translateY(-105%); transition: transform .25s ease; }
.ficha-stickybar.show { transform: translateY(0); }
.ficha-stickybar-in { max-width: 1200px; margin: 0 auto; display: flex; align-items: center;
    justify-content: space-between; gap: 16px; padding: 8px 18px; }
.ficha-sb-nombre { font-family: 'Ubuntu Condensed', sans-serif; font-size: 18px; font-weight: 700;
    color: #0a2540; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ficha-sb-right { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.ficha-sb-precio { font-size: 20px; font-weight: 800; color: #015f9e; white-space: nowrap; }
.ficha-sb-btn { display: inline-block; background: #e2261c; color: #fff; font-weight: 700;
    padding: 9px 22px; border-radius: 8px; text-decoration: none; font-size: 14px; white-space: nowrap; }
.ficha-sb-btn:hover { background: #c11f16; color: #fff; text-decoration: none; }
@media (max-width: 767px) { .ficha-sb-precio { display: none; } .ficha-sb-nombre { font-size: 15px; } .ficha-sb-btn { padding: 8px 16px; } }

/* ===== Ficha: servicios full-width, 6 cajas con titulo + oracion breve ===== */
.ficha-servicios { max-width: 1400px; margin: 26px auto 10px; padding: 0 15px; }
.ficha-servicios-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.ficha-serv-item { display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 16px 12px; border: 1px solid #eef1f5; border-radius: 10px; text-align: center; background: #fff; }
.ficha-serv-item img { width: 38px; height: 38px; object-fit: contain; }
.ficha-serv-titulo { font-size: 13px; font-weight: 700; color: #1B4C8E; line-height: 1.2; text-transform: uppercase; letter-spacing: .3px; }
.ficha-serv-desc { font-size: 12px; color: #7b8794; line-height: 1.4; margin: 0; }
@media (max-width: 991px) { .ficha-servicios-strip { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .ficha-servicios-strip { grid-template-columns: repeat(2, 1fr); } }

/* ===== Ficha: especificaciones tecnicas — titulo limpio + descripcion 1/3 | tabla 2/3 ===== */
/* Titulo con el estilo del resto de la pagina (Ubuntu Condensed, navy + acento azul), sin barra azul solida. */
.ficha-esptec-head, .ficha-sec-head { max-width: 1400px; margin: 34px auto 20px; padding: 0 15px; text-align: center; }
.ficha-esptec-head-main, .ficha-sec-head-main { display: inline-block; font-family: 'Ubuntu Condensed', sans-serif; font-size: 26px; font-weight: 700;
    color: #0a2540; text-transform: uppercase; letter-spacing: .6px; padding-bottom: 7px; border-bottom: 3px solid #015f9e; }
.ficha-esptec-head-sub, .ficha-sec-head-sub { font-size: 14px; color: #7b8794; margin-top: 8px; }

/* Layout: descripcion (1/3) a la izquierda, tabla de specs (2/3) a la derecha. */
.ficha-esptec { max-width: 1400px; margin: 6px auto 40px; padding: 0 15px; display: grid; grid-template-columns: 1fr 2fr; gap: 34px; align-items: start; }
.ficha-esptec--solo-tabla { grid-template-columns: 1fr; }
.ficha-esptec-info { min-width: 0; }
.ficha-esptec-blurb { font-size: 12px; color: #7d7d7d; font-weight: bold; margin-bottom: 12px; line-height: 1.5; }
.ficha-esptec-desc { font-size: 12px; color: #7D7D7D; line-height: 16px; margin: 0; text-align: left; }
.ficha-esptec-specs { min-width: 0; }
/* Filas del acordeon en 2 columnas dentro del 2/3 para aprovechar el ancho. */
.ficha-esptec-specs .spec-acc-body { display: grid; grid-template-columns: 1fr 1fr; column-gap: 26px; }
.ficha-esptec-specs .spec-acc-body .spec-acc-row { border-top: 1px solid #f0f3f7; }
@media (max-width: 860px) {
    .ficha-esptec { grid-template-columns: 1fr; gap: 22px; }
    .ficha-esptec-specs .spec-acc-body { grid-template-columns: 1fr; }
}

/* ===== Ficha: barra de sucursales comprimida (expande al hover) — solo desktop ===== */
@media (min-width: 992px) {
    .lcf-suc-bar--compacta { max-height: 80px; overflow: hidden; transition: max-height .38s ease; position: relative; cursor: pointer; }
    .lcf-suc-bar--compacta:hover { max-height: 900px; }
    /* Colapsado: header + pie (horarios), SIN foto. La foto vuelve al hover. */
    .lcf-suc-bar--compacta .lcf-suc-card-img { height: 0; transition: height .38s ease; }
    .lcf-suc-bar--compacta .lcf-suc-card-overlay { opacity: 0; transition: opacity .25s ease; }
    .lcf-suc-bar--compacta:hover .lcf-suc-card-img { height: 150px; }
    .lcf-suc-bar--compacta:hover .lcf-suc-card-overlay { opacity: 1; }
}

/* ===== Barra sticky enriquecida (modelo/marca/categoria + desc + Desde) ===== */
.ficha-sb-info { min-width: 0; flex: 1 1 auto; }
.ficha-stickybar .ficha-sb-nombre { font-size: 17px; line-height: 1.15; }
.ficha-sb-meta { font-family: 'Ubuntu', sans-serif; font-size: 12px; font-weight: 400; color: #7b8794; text-transform: uppercase; letter-spacing: .3px; margin-left: 8px; white-space: nowrap; }
.ficha-sb-desc { font-size: 12.5px; color: #66748a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.ficha-sb-precio { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.05; }
.ficha-sb-desde { font-size: 11px; font-weight: 600; color: #7b8794; text-transform: uppercase; letter-spacing: .5px; }
@media (max-width: 767px) { .ficha-sb-meta, .ficha-sb-desc { display: none; } }

/* ===== Ficha: banda de productos relacionados (+ outlet) ===== */
.ficha-relacionados { max-width: 1400px; margin: 30px auto; padding: 0 15px; }
.ficha-rel-titulo { font-family: 'Ubuntu Condensed', sans-serif; font-size: 22px; font-weight: 700; color: #0a2540; margin-bottom: 14px; }
.ficha-rel-strip { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; }
.ficha-rel-strip::-webkit-scrollbar { height: 7px; }
.ficha-rel-strip::-webkit-scrollbar-thumb { background: #cdd6e2; border-radius: 4px; }
.ficha-rel-card { flex: 0 0 210px; scroll-snap-align: start; display: block; text-decoration: none; color: inherit;
    border: 1px solid #e3e8ee; border-radius: 12px; padding: 12px; background: #fff; position: relative;
    transition: box-shadow .18s ease, transform .18s ease; }
.ficha-rel-card:hover { box-shadow: 0 6px 18px rgba(20,40,80,.1); transform: translateY(-3px); text-decoration: none; color: inherit; }
.ficha-rel-card--outlet { border-color: #f0a020; }
.ficha-rel-badge { position: absolute; top: 8px; left: 8px; background: #f0a020; color: #fff; font-size: 10px;
    font-weight: 700; padding: 2px 9px; border-radius: 20px; text-transform: uppercase; letter-spacing: .3px; z-index: 1; }
.ficha-rel-img { height: 145px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.ficha-rel-img img { max-width: 100%; max-height: 145px; object-fit: contain; }
.ficha-rel-nombre { font-family: 'Ubuntu Condensed', sans-serif; font-size: 16px; font-weight: 700; color: #0a2540; line-height: 1.15; margin-bottom: 5px; }
.ficha-rel-marca-inline { font-family: 'Ubuntu', sans-serif; font-size: 12px; font-weight: 600; color: #7b8794; text-transform: uppercase; letter-spacing: .3px; white-space: nowrap; }
.ficha-rel-meta { font-size: 11px; color: #7b8794; text-transform: uppercase; letter-spacing: .3px; margin: 2px 0 5px; }
.ficha-rel-desc { font-size: 12px; color: #66748a; line-height: 1.3; height: 32px; overflow: hidden; margin-bottom: 8px; }
.ficha-rel-precio { font-size: 18px; font-weight: 800; color: #015f9e; line-height: 1.05; }
.ficha-rel-precio span { display: block; font-size: 10px; font-weight: 600; color: #7b8794; text-transform: uppercase; }
/* "en efectivo" al lado del precio: italic, muy light */
.ficha-rel-efectivo { font-style: italic; font-weight: 300; font-size: 11px; color: #9aa5b1; letter-spacing: .2px; }
/* Linea de cuotas sin interes debajo del precio */
.ficha-rel-cuotas { font-size: 11px; font-weight: 600; color: #2e7d32; margin-top: 3px; }

/* ===== Banda relacionados en 2 columnas cuando el equipo tiene outlet =====
   Izquierda: unidades en outlet de ESTE equipo (rojo). Derecha: relacionados nuevos.
   Sin outlet, la banda queda a ancho completo (no aplica este grid). */
.ficha-rel-2col { display: grid; grid-template-columns: 210px 1fr; gap: 28px; align-items: start; }
.ficha-rel-seg { min-width: 0; }
.ficha-rel-strip--col { flex-direction: column; overflow: visible; padding-bottom: 0; }
.ficha-rel-strip--col .ficha-rel-card { flex: 0 0 auto; width: 100%; }
.ficha-rel-titulo--outlet { color: #de001a; }
/* Outlet del propio equipo: card en rojo */
.ficha-rel-card--outlet { border-color: #de001a; }
.ficha-rel-badge--outlet { background: #de001a; }
.ficha-rel-precio--outlet { color: #de001a; }
@media (max-width: 760px) {
    .ficha-rel-2col { grid-template-columns: 1fr; gap: 20px; }
    .ficha-rel-strip--col { flex-direction: row; overflow-x: auto; }
    .ficha-rel-strip--col .ficha-rel-card { flex: 0 0 210px; width: auto; }
}

/* ===== Listador: boton "Filtrar" compacto (al lado del titulo) + panel desplegable ===== */
/* ID+clase para ganarle al display inline que setea el JS al mostrar la categoria. */
#encabezado-seccion.lcf-enc-seccion { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.lcf-enc-texto { flex: 1 1 auto; min-width: 0; }
.lcf-filtros-wrap { position: relative; flex-shrink: 0; margin-top: 3px; }
.lcf-filtros-btn { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid #cdd6e2;
    color: #0a2540; font-size: 13px; font-weight: 600; padding: 8px 15px; border-radius: 8px; cursor: pointer; white-space: nowrap; }
.lcf-filtros-btn:hover { background: #f2f5fa; border-color: #b7c2d2; }
.lcf-filtros-btn i { color: #015f9e; }
.lcf-filtros-drop { display: none; position: absolute; right: 0; top: calc(100% + 8px); z-index: 40;
    width: 300px; max-width: 88vw; background: #fff; border: 1px solid #dde3ec; border-radius: 12px;
    box-shadow: 0 10px 30px rgba(20,40,80,.16); padding: 14px 16px 16px; text-align: left; }
.lcf-filtros-drop.open { display: block; }
.lcf-filtros-drop #lcf-filtros-controles { display: flex; flex-direction: column; gap: 12px; }
.lcf-filtros-drop .lcf-filtro-grupo { display: flex; flex-direction: column; gap: 4px; }
.lcf-filtros-drop .lcf-filtro-label { font-size: 11px; color: #66748a; text-transform: uppercase; letter-spacing: .3px; }
.lcf-filtros-drop .lcf-filtro-select,
.lcf-filtros-drop .lcf-filtro-input { padding: 8px 10px; border: 1px solid #cdd6e2; border-radius: 7px; font-size: 13px; background: #fff; width: 100%; box-sizing: border-box; }
.lcf-filtros-drop .lcf-precio-row { display: flex; align-items: center; gap: 8px; }
.lcf-filtros-drop .lcf-filtros-sep { color: #99a4b5; }
.lcf-filtros-drop .lcf-filtros-limpiar { margin-top: 6px; width: 100%; padding: 8px; border-radius: 7px; }

/* ===== Checkout: layout 1/3 (pasos + contacto) | 2/3 (resumen/pago/form) ===== */
.co-2col { display: grid; grid-template-columns: 1fr 2fr; gap: 26px; align-items: start; margin: 8px 0 10px; }
.co-side { min-width: 0; }
.co-main { min-width: 0; }
/* Pasos verticales, estilo del sitio */
.co-pasos { background: #fff; border: 1px solid #e3e8ee; border-radius: 12px; padding: 18px 18px 4px; }
.co-paso { display: flex; gap: 12px; align-items: flex-start; padding-bottom: 16px; position: relative; }
.co-paso:not(:last-child)::before { content: ''; position: absolute; left: 15px; top: 34px; bottom: 2px; width: 2px; background: #e3e8ee; }
.co-paso-num { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #1B4C8E; color: #fff;
    font-weight: 700; font-size: 15px; display: flex; align-items: center; justify-content: center; z-index: 1; }
.co-paso-text { font-size: 14px; color: #34506e; line-height: 1.4; padding-top: 5px; }
.co-paso-text strong { color: #0a2540; }
.co-side-contacto { margin-top: 16px; background: #f7f9fc; border: 1px solid #e3e8ee; border-radius: 12px; padding: 14px 16px; }
/* Boton del form en rojo (linea de los que venimos trabajando) */
.co-btn-rojo { background: #de001a; color: #fff; border: none; font-weight: 700; }
.co-btn-rojo:hover, .co-btn-rojo:focus, .co-btn-rojo:active { background: #b80016; color: #fff; }
@media (max-width: 860px) { .co-2col { grid-template-columns: 1fr; gap: 16px; } }

/* ===== Checkout: bloque Total (debajo del envio) ===== */
.co-total { max-width: 360px; margin: 12px 0 4px auto; }
.co-total-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 15px; color: #34506e; }
.co-total-final { border-top: 2px solid #e3e8ee; margin-top: 4px; padding-top: 10px; font-size: 19px; font-weight: 800; color: #0a2540; }

/* ===== Checkout: selector de envio compacto (una linea, menos alto) ===== */
.co-main .card-envioBlock, .co-main .card-cuponBlock { padding: 8px 12px 8px 44px; margin-top: 8px; font-size: 12px; }
.co-main .card-envioBlock-icon { font-size: 20px; margin-right: 8px; }
.co-main .card-envioBlock-high { font-size: 13px; }
.co-main .card-envioBlock-line { line-height: 1.3; }
/* Oculta el desglose largo de tiempos por zona (deja titulo + linea EXPRESS destacada). */
.co-main .card-envioBlock-line .card-envioBlock-low:not(.card-envioBlock-low-exp) { display: none; }
.co-main .card-envioBlock-line br { display: none; }
.co-main .card-envioBlock-low-exp { display: block; margin-top: 2px; }
/* Separador entre opciones mas fino */
.co-main #comprar-section + * div[style*="height: 1px"] { margin: 8px 0 !important; }

/* ================= Carrito (Fase 1: drawer lateral + boton flotante) ================= */
.lcf-cart-overlay { position: fixed; inset: 0; background: rgba(10,20,40,.45); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; z-index: 3000; }
.lcf-cart-overlay.open { opacity: 1; visibility: visible; }
.lcf-cart-drawer { position: fixed; top: 0; right: 0; height: 100%; width: 380px; max-width: 90vw; background: #fff;
    box-shadow: -8px 0 30px rgba(20,40,80,.18); transform: translateX(100%); transition: transform .28s ease; z-index: 3001;
    display: flex; flex-direction: column; }
.lcf-cart-drawer.open { transform: translateX(0); }
.lcf-cart-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: #0a2540; color: #fff;
    font-family: 'Ubuntu Condensed', sans-serif; font-size: 18px; font-weight: 700; }
.lcf-cart-head i { margin-right: 6px; }
.lcf-cart-x { background: none; border: none; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 4px; }
.lcf-cart-body { flex: 1 1 auto; overflow-y: auto; padding: 12px 14px; }
.lcf-cart-empty { text-align: center; color: #9aa5b1; padding: 50px 20px; }
.lcf-cart-empty i { font-size: 40px; margin-bottom: 12px; display: block; }
.lcf-cart-item { display: flex; gap: 10px; align-items: flex-start; padding: 12px 4px; border-bottom: 1px solid #eef1f5; }
.lcf-cart-item img { width: 58px; height: 58px; object-fit: contain; flex-shrink: 0; }
.lcf-cart-item-info { flex: 1 1 auto; min-width: 0; }
.lcf-cart-item-nombre { font-family: 'Ubuntu Condensed', sans-serif; font-size: 15px; font-weight: 700; color: #0a2540; line-height: 1.15; }
.lcf-cart-item-marca { font-size: 11px; color: #7b8794; text-transform: uppercase; letter-spacing: .3px; }
.lcf-cart-item-precio { font-size: 15px; font-weight: 800; color: #015f9e; margin-top: 3px; }
.lcf-cart-item-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.lcf-cart-item-x { background: none; border: none; color: #c0392b; cursor: pointer; font-size: 13px; padding: 2px; }
.lcf-cart-qty { display: inline-flex; align-items: center; border: 1px solid #cdd6e2; border-radius: 7px; overflow: hidden; }
.lcf-cart-qty button { background: #f2f5fa; border: none; width: 26px; height: 26px; cursor: pointer; font-size: 15px; color: #0a2540; line-height: 1; }
.lcf-cart-qty button:hover { background: #e4eaf2; }
.lcf-cart-qty span { min-width: 30px; text-align: center; font-size: 13px; font-weight: 700; color: #0a2540; }
.lcf-cart-foot { border-top: 1px solid #e3e8ee; padding: 14px 16px 16px; background: #fafbfc; }
.lcf-cart-sub { display: flex; justify-content: space-between; font-size: 18px; font-weight: 800; color: #0a2540; }
.lcf-cart-sub-nota { font-size: 11px; color: #9aa5b1; margin: 4px 0 12px; }
.lcf-cart-checkout { display: block; text-align: center; background: #de001a; color: #fff; font-weight: 700; padding: 12px; border-radius: 9px; text-decoration: none; }
.lcf-cart-checkout:hover { background: #b80016; color: #fff; text-decoration: none; }
/* Va ARRIBA del boton flotante de WhatsApp (.lcf-wa: right:20 bottom:20, ~64px alto). */
.lcf-cart-fab { position: fixed; right: 20px; bottom: 185px; width: 56px; height: 56px; border-radius: 50%; border: none;
    background: #015f9e; color: #fff; font-size: 22px; cursor: pointer; box-shadow: 0 6px 18px rgba(20,40,80,.28); z-index: 99989; }
.lcf-cart-fab:hover { background: #014a7d; }
@media (max-width: 767px) { .lcf-cart-fab { right: 14px; bottom: 165px; width: 50px; height: 50px; font-size: 20px; } }
.lcf-cart-badge { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px;
    background: #de001a; color: #fff; font-size: 12px; font-weight: 700; line-height: 20px; text-align: center; }

/* Boton "Agregar al carrito" + selector de cantidad en la ficha */
.ficha-cart-add { display: flex; gap: 10px; align-items: stretch; margin-top: 10px; }
.ficha-qty { display: inline-flex; align-items: center; border: 1px solid #cdd6e2; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.ficha-qty button { background: #f2f5fa; border: none; width: 36px; cursor: pointer; font-size: 18px; color: #0a2540; }
.ficha-qty button:hover { background: #e4eaf2; }
.ficha-qty input { width: 42px; text-align: center; border: none; font-size: 15px; font-weight: 700; color: #0a2540; }
.btn-agregar-carrito { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    background: #fff; border: 2px solid #015f9e; color: #015f9e; font-size: 22px; border-radius: 8px; padding: 14px 18px; cursor: pointer; line-height: 1; }
.btn-agregar-carrito:hover { background: #015f9e; color: #fff; }

/* Icono de carrito en el header, a la izquierda del buscador */
.lcf-header-cart { position: relative; margin-left: auto; display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; color: #0a2540; font-size: 20px; text-decoration: none; flex-shrink: 0; }
.lcf-header-cart:hover { color: #015f9e; text-decoration: none; }

/* ================= Pagina /carrito (Fase 2) ================= */
.carrito-checkout { max-width: 1000px; margin: 0 auto 40px; }
.carrito-vacio { text-align: center; color: #7b8794; padding: 50px 20px 70px; }
.carrito-vacio i { font-size: 52px; color: #cdd6e2; display: block; margin-bottom: 14px; }
.carrito-vacio p { font-size: 18px; margin-bottom: 18px; }
.carrito-sub-titulo { font-family: 'Ubuntu Condensed', sans-serif; font-size: 18px; font-weight: 700; color: #0a2540; margin-bottom: 12px; }
.carrito-sub-titulo i { color: #015f9e; margin-right: 6px; }
.carrito-tabla th { font-size: 12px; color: #7b8794; text-transform: uppercase; letter-spacing: .3px; border-bottom: 2px solid #e3e8ee; }
.carrito-tabla td { vertical-align: middle; border-top: 1px solid #eef1f5; }
.carrito-td-img img { width: 56px; height: 56px; object-fit: contain; }
.carrito-td-nombre { font-family: 'Ubuntu Condensed', sans-serif; font-size: 16px; font-weight: 700; color: #0a2540; line-height: 1.1; }
.carrito-td-marca { font-size: 11px; color: #7b8794; text-transform: uppercase; }
.carrito-td-sub { font-weight: 800; color: #015f9e; }
.carrito-td-x { background: none; border: none; color: #c0392b; cursor: pointer; }
.carrito-qty { display: inline-flex; align-items: center; border: 1px solid #cdd6e2; border-radius: 7px; overflow: hidden; }
.carrito-qty button { background: #f2f5fa; border: none; width: 28px; height: 28px; cursor: pointer; font-size: 15px; color: #0a2540; }
.carrito-qty button:hover { background: #e4eaf2; }
.carrito-qty span { min-width: 32px; text-align: center; font-size: 14px; font-weight: 700; }
.carrito-envio-op, .carrito-pago-op { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #e3e8ee; border-radius: 8px; margin-bottom: 8px; cursor: pointer; font-size: 14px; color: #34506e; }
.carrito-envio-op input, .carrito-pago-op input { margin: 0; }
.carrito-pago-opts { display: flex; gap: 10px; margin-bottom: 14px; }
.carrito-pago-op { flex: 1; margin-bottom: 0; }
.carrito-pago-op.sel { border-color: #015f9e; background: #eaf2f9; font-weight: 700; }
.carrito-cuotas { font-size: 13px; color: #2e7d32; font-weight: 600; margin-top: 8px; }
.carrito-finalizar-wrap { text-align: right; margin-top: 16px; }
.carrito-finalizar { font-size: 16px; padding: 12px 26px; }

/* ==================== botonera_arbol.php ====================
   Movido desde <style> inline (quedaba DESPUES del <nav> en el HTML: en pagina
   completa/navegacion la botonera pintaba un instante sin estilos antes de que
   el <style> se parseara). Cargado en <head> junto con el resto -> sin flash. */
.lcf-bn{background:transparent}
.lcf-bn-track{display:flex;align-items:stretch;width:calc(100% - 30px);max-width:1400px;margin:20px auto;
  border:1px solid #dde3ec;border-radius:6px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.lcf-bn-item-wrap{position:relative;flex:1 1 0;min-width:0}
.lcf-bn-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;padding:10px 3px 8px;width:100%;min-width:0;box-sizing:border-box;text-decoration:none;color:#004589;border-right:1px solid #eef1f6;transition:background .15s}
.lcf-bn-item:hover,.lcf-bn-item.active{background:#f2f6fb;text-decoration:none;color:#004589}
.lcf-bn-home{flex:1 1 0;min-width:0;background:#004589;color:#fff;border-radius:5px 0 0 5px}
.lcf-bn-home.active,.lcf-bn-home:hover{background:#003a73;color:#fff}
/* Ultimo boton: sin borde derecho y con las esquinas derechas redondeadas (para la caja) */
.lcf-bn-track > .lcf-bn-item-wrap:last-child .lcf-bn-item{border-right:none;border-radius:0 5px 5px 0}
.lcf-bn-ico{height:60px;display:flex;align-items:center;justify-content:center}
.lcf-bn-ico img{max-height:56px;max-width:100%;object-fit:contain}
.lcf-bn-home .lcf-bn-ico i{font-size:42px}
.lcf-bn-lbl{font-size:11.5px;font-weight:700;line-height:1.15;text-align:center;width:100%;letter-spacing:.005em;min-height:2.3em}
.lcf-bn-chev{font-size:8px;opacity:.6;margin-left:2px}
/* Dropdown de subcategorias (desktop) */
.lcf-bn-sub{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid #e6e9f0;border-top:2px solid #004589;box-shadow:0 10px 26px rgba(0,69,137,.14);border-radius:0 0 10px 10px;padding:6px 0;z-index:60;display:none}
.lcf-bn-item-wrap.has-sub:hover .lcf-bn-sub{display:block}
.lcf-bn-sub-a{display:block;padding:9px 16px;color:#33475b;font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap}
.lcf-bn-sub-a:hover{background:#f2f6fb;color:#004589;text-decoration:none}
.lcf-bn-sub-a:first-child{color:#004589;border-bottom:1px solid #eef1f6;margin-bottom:4px;padding-bottom:10px}
/* Igual que la botonera original: en pantallas medianas el ancho es fijo 962px. */
@media (min-width:992px) and (max-width:1199px){
  .lcf-bn-track{width:962px;max-width:none}
}
@media (max-width:991px){
  /* En mobile: sin caja/bordes exteriores (sin borde, fondo ni sombra en el track), pero
     los botones quedan pegados en una tira continua con una linea fina divisoria entre
     categorias (igual que en desktop) en vez de flotar sueltos como tarjetas separadas. */
  .lcf-bn-track{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0;
    width:100%;max-width:none;padding:2px 0;gap:0;
    border:none;border-top:1px solid #dde3ec;border-bottom:1px solid #dde3ec;border-radius:0;background:transparent;box-shadow:none;
    scrollbar-width:none;-ms-overflow-style:none}
  .lcf-bn-track::-webkit-scrollbar{display:none;width:0;height:0}
  .lcf-bn-item-wrap,.lcf-bn-home{flex:0 0 auto}
  .lcf-bn-item{min-width:94px;padding:11px 8px 9px;gap:5px;border:none;border-right:1px solid #dde3ec;border-radius:0}
  .lcf-bn-item:hover,.lcf-bn-item.active{border-radius:0}
  .lcf-bn-ico{height:66px}
  .lcf-bn-ico img{max-height:64px}
  /* Equipos destacados: MISMO ancho que el resto de los botones (no mas grande).
     width:auto pisa el width:100% de .lcf-bn-item (pensado para desktop) que,
     al ser el home hijo DIRECTO del track (a diferencia del resto, envuelto en
     .lcf-bn-item-wrap), se resolvia contra el ancho del track y lo estiraba casi
     al 100%, tapando el resto de las categorias fuera de la vista. */
  .lcf-bn-home{min-width:94px;width:auto;border-radius:0}
  .lcf-bn-home .lcf-bn-ico i{font-size:46px}
  /* Pedido: en mobile arranca directo en "Cintas para Correr", sin "Equipos Destacados". */
  .lcf-bn-home{display:none}
  .lcf-bn-lbl{font-size:11px;line-height:1.1}
  /* Cerrar el marco: borde izquierdo en el primer boton visible (home esta oculto en mobile)
     y borde derecho en el ultimo, para que la tira quede enmarcada igual que top/bottom. */
  .lcf-bn-track > .lcf-bn-item-wrap:first-of-type .lcf-bn-item{border-left:1px solid #dde3ec}
  .lcf-bn-track > .lcf-bn-item-wrap:last-child .lcf-bn-item{border-right:1px solid #dde3ec;border-radius:0}
  /* En mobile el dropdown no cuelga: la categoria lleva a su pagina (que muestra los chips de subcategorias). */
  .lcf-bn-sub{display:none !important}
}

/* ==================== categoria_arbol.php ====================
   Movido desde <style> inline (misma razon: quedaba despues de los chips en el
   HTML y causaba flash de contenido sin estilo al navegar entre categorias). */
.cat-arbol-wrap{padding-top:16px}
.cat-arbol-head{margin:14px 0 10px}
.cat-arbol-bc{font-size:12.5px;color:#8a97a8}
.cat-arbol-bc a{color:#0a5aa0;text-decoration:none}
.cat-arbol-bc a:hover{text-decoration:underline}
.cat-arbol-h1{font-size:26px;color:#0a2f55;margin:6px 0 0;font-weight:800}
.cat-arbol-count{color:#9fb0c2;font-weight:600;font-size:16px}
.cat-arbol-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:20px 0 18px}
.cat-arbol-chip{display:inline-block;padding:7px 16px;border-radius:999px;background:#eef2f7;color:#33475b;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .15s}
.cat-arbol-chip:hover{background:#dde6f1;color:#0a2f55;text-decoration:none}
.cat-arbol-chip.on{background:#0a2f55;color:#fff}
.cat-arbol-vacio{padding:50px 12px;text-align:center;color:#8a97a8;width:100%}
