﻿.catalogContainer{
    width:min(1230px,calc(100% - 36px));
    margin:auto;
}

.catalogHero{
    padding:42px 0;
    background:#f3f7fb;
    border-bottom:1px solid #dbe5ec;
}

.catalogEyebrow{
    color:#0679ed;
    font-size:10px;
    font-weight:950;
    letter-spacing:2px;
}

.catalogHero h1{
    margin:10px 0 8px;
    color:#082844;
    font-size:38px;
    font-weight:500;
}

.catalogHero p{
    margin:0;
    color:#718595;
}

.catalogMain{
    padding-top:35px;
    padding-bottom:70px;
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:34px;
    align-items:start;
}

.categoryPanel{
    padding:19px;
    border:1px solid #dbe4ea;
    border-radius:12px;
    background:white;
}

.categoryPanel h3{
    margin:0 0 14px;
    color:#17384f;
    font-size:15px;
}

.categoryPanel a{
    min-height:38px;
    padding:0 11px;
    margin-bottom:5px;
    display:flex;
    align-items:center;
    border-radius:8px;
    color:#466276;
    text-decoration:none;
    font-size:11px;
    font-weight:650;
}

.categoryPanel a:hover,
.categoryPanel a.active{
    background:#eaf4ff;
    color:#0876df;
    font-weight:900;
}

.categoryLine{
    height:1px;
    margin:13px 0;
    background:#dce5eb;
}

.categoryPanel .offerLink{
    color:#e42b2b;
}

.catalogSearch{
    display:grid;
    grid-template-columns:1fr 110px;
    gap:9px;
    margin-bottom:25px;
}

.catalogSearch input{
    height:47px;
    padding:0 16px;
    border:1px solid #d2dee6;
    border-radius:9px;
    outline:none;
    font-size:13px;
}

.catalogSearch input:focus{
    border-color:#1589f2;
    box-shadow:0 0 0 3px #1589f217;
}

.catalogSearch button{
    border:0;
    border-radius:9px;
    background:#087cf0;
    color:white;
    font-weight:900;
}

.productGrid{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:16px;
}

.productCard{
    min-width:0;
    overflow:hidden;
    border:1px solid #dce5eb;
    border-radius:13px;
    background:white;
    transition:
        transform .15s,
        box-shadow .15s,
        border .15s;
}

.productCard:hover{
    transform:translateY(-2px);
    border-color:#bdd6e8;
    box-shadow:0 10px 30px #143d5812;
}

.productImage{
    height:180px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#f6f8fa;
}

.productImage img{
    width:100%;
    height:100%;
    padding:15px;
    object-fit:contain;
}

.genericProduct{
    width:100px;
    height:100px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:white;
    box-shadow:0 5px 25px #0b34510d;
    font-size:45px;
}

.offerBadge{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    padding:5px 8px;
    border-radius:5px;
    background:#e51f32;
    color:white;
    font-size:8px;
    font-weight:950;
    letter-spacing:.5px;
}

.productContent{
    padding:15px;
}

.productMeta{
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:#7a8d99;
    font-size:8px;
    font-weight:750;
}

.productContent h2{
    min-height:42px;
    margin:9px 0 7px;
    color:#15384f;
    font-size:15px;
    line-height:1.35;
}

.brand,
.compatibility{
    margin:4px 0;
    color:#6d8290;
    font-size:9px;
}

.compatibility{
    min-height:25px;
}

.stockLine{
    min-height:34px;
    margin-top:11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    border-top:1px solid #edf1f4;
    border-bottom:1px solid #edf1f4;
    font-size:9px;
}

.stockOk{
    color:#148653;
    font-weight:850;
}

.stockLow{
    color:#d17c00;
    font-weight:850;
}

.stockNone{
    color:#cf3048;
    font-weight:850;
}

.stockLine small{
    color:#758996;
}

.productPrice{
    margin-top:13px;
}

.productPrice strong{
    display:block;
    color:#0a314c;
    font-size:22px;
}

.productPrice span{
    color:#718794;
    font-size:9px;
}

.meterInfo{
    margin-top:8px;
    padding:7px 8px;
    border-radius:6px;
    background:#eef7ff;
    color:#34729d;
    font-size:8px;
    line-height:1.4;
}

.addCartForm{
    margin-top:13px;
}

.addCartForm select{
    width:100%;
    height:39px;
    margin-bottom:8px;
    padding:0 8px;
    border:1px solid #ccd9e2;
    border-radius:7px;
    background:white;
}

.buyRow{
    display:grid;
    grid-template-columns:82px 1fr;
    gap:8px;
}

.quantityBox label{
    display:block;
    margin-bottom:4px;
    color:#708592;
    font-size:8px;
    font-weight:850;
}

.quantityBox input{
    width:100%;
    height:40px;
    padding:0 8px;
    border:1px solid #ccd9e2;
    border-radius:7px;
}

.buyRow button,
.noStockButton{
    min-height:40px;
    margin-top:12px;
    border:0;
    border-radius:7px;
    background:#087cf0;
    color:white;
    font-size:11px;
    font-weight:900;
}

.buyRow button:hover{
    background:#066bd1;
}

.noStockButton{
    width:100%;
    background:#d7dfe4;
    color:#71818c;
}

.catalogEmpty{
    min-height:350px;
    padding:40px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px dashed #cbd9e2;
    border-radius:13px;
    text-align:center;
}

.catalogEmpty > div{
    font-size:42px;
}

.catalogEmpty h2{
    margin:14px 0 5px;
    color:#15364d;
}

.catalogEmpty p{
    color:#728694;
}

.catalogEmpty a{
    margin-top:8px;
    color:#0878dd;
    font-weight:850;
}

.pagination{
    margin-top:28px;
    padding:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:25px;
    border-top:1px solid #e1e9ee;
}

.pagination a{
    padding:9px 13px;
    border:1px solid #d3e0e8;
    border-radius:7px;
    color:#0874d4;
    text-decoration:none;
    font-size:10px;
    font-weight:850;
}

.pagination span{
    color:#6e8290;
    font-size:10px;
}

@media(max-width:1050px){
    .productGrid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media(max-width:750px){
    .catalogMain{
        grid-template-columns:1fr;
    }

    .categoryPanel{
        display:flex;
        flex-wrap:wrap;
        gap:5px;
    }

    .categoryPanel h3{
        width:100%;
    }

    .categoryPanel a{
        margin:0;
    }

    .categoryLine{
        display:none;
    }
}

@media(max-width:520px){
    .productGrid{
        grid-template-columns:1fr;
    }

    .catalogSearch{
        grid-template-columns:1fr;
    }

    .catalogSearch button{
        height:44px;
    }

    .catalogHero h1{
        font-size:30px;
    }
}

/* ==========================================================
   GESTGO CATALOGO - TAMAÑOS LEGIBLES
   ========================================================== */

.catalogEyebrow {
    font-size: 13px !important;
}

.catalogHero h1 {
    font-size: 42px !important;
}

.catalogHero p {
    font-size: 17px !important;
}

.categoryPanel h3 {
    font-size: 18px !important;
}

.categoryPanel a {
    font-size: 14px !important;
}

.catalogSearch input {
    font-size: 16px !important;
}

.catalogSearch button {
    font-size: 16px !important;
}

.productMeta {
    font-size: 11px !important;
}

.productContent h2 {
    min-height: 48px;
    font-size: 18px !important;
}

.brand,
.compatibility {
    font-size: 13px !important;
}

.stockLine {
    font-size: 13px !important;
}

.stockLine small {
    font-size: 12px !important;
}

.productPrice strong {
    font-size: 26px !important;
}

.productPrice span {
    font-size: 13px !important;
}

.meterInfo {
    font-size: 12px !important;
}

.quantityBox label {
    font-size: 12px !important;
}

.quantityBox input {
    font-size: 16px !important;
    font-weight: 700;
}

.buyRow button,
.noStockButton {
    font-size: 15px !important;
}

.pagination a,
.pagination span {
    font-size: 13px !important;
}


/* ============================================================
   GESTGO - COMPRA EN TARJETA DEFINITIVA
   Cantidad/Metros arriba + Agregar abajo
   ============================================================ */

.productCard {
    min-width: 0 !important;
    overflow: hidden !important;
}

.productCard .productContent {
    min-width: 0 !important;
}

/* FORMULARIO */

.productCard .addCartForm {
    width: 100% !important;
    max-width: 100% !important;

    margin-top: 12px !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* SELECT DE VARIANTE SI EXISTE */

.productCard .addCartForm select {
    width: 100% !important;
    height: 39px !important;

    margin: 0 0 8px 0 !important;

    box-sizing: border-box !important;
}

/* ============================================================
   BLOQUE COMPRA
   ============================================================ */

.productCard .buyRow {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* ============================================================
   CANTIDAD / METROS
   ============================================================ */

.productCard .quantityBox {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

.productCard .quantityBox label {
    display: block !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 4px 0 !important;
    padding: 0 !important;

    color: #65798b !important;

    font-size: 12px !important;
    line-height: 15px !important;
    font-weight: 800 !important;
}

/* ============================================================
   SELECTOR  -  1  +
   ============================================================ */

.productCard .gestgo-qty {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #cbd8e6 !important;
    border-radius: 8px !important;

    overflow: hidden !important;

    background: #ffffff !important;

    box-sizing: border-box !important;
}

/* MENOS / MAS */

.productCard .gestgo-qty-minus,
.productCard .gestgo-qty-plus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;

    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: static !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #eef6fd !important;
    color: #087cf0 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 900 !important;

    cursor: pointer !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}

.productCard .gestgo-qty-minus {
    border-right: 1px solid #d9e4eb !important;
}

.productCard .gestgo-qty-plus {
    border-left: 1px solid #d9e4eb !important;
}

.productCard .gestgo-qty-minus:hover,
.productCard .gestgo-qty-plus:hover {
    background: #dceeff !important;
}

/* NUMERO */

.productCard .gestgo-qty-input {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 5px !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;

    background: #ffffff !important;
    color: #082844 !important;

    text-align: center !important;

    font-size: 17px !important;
    line-height: 42px !important;
    font-weight: 900 !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}

.productCard .gestgo-qty-input:focus {
    box-shadow: inset 0 0 0 2px #1682f3 !important;
}

/* ============================================================
   AGREGAR
   ============================================================ */

.productCard .buyRow > button[type="submit"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    border: 0 !important;
    border-radius: 8px !important;

    background: #087cf0 !important;
    color: #ffffff !important;

    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;

    white-space: nowrap !important;

    cursor: pointer !important;

    box-sizing: border-box !important;
}

.productCard .buyRow > button[type="submit"]:hover {
    background: #066bd1 !important;
}

/* ============================================================
   SIN STOCK
   ============================================================ */

.productCard .noStockButton {
    width: 100% !important;
    min-height: 44px !important;

    margin-top: 12px !important;

    box-sizing: border-box !important;
}

/* ============================================================
   CELULAR
   ============================================================ */

@media (max-width: 650px) {

    .productCard .gestgo-qty {
        grid-template-columns: 46px minmax(0, 1fr) 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
    }

    .productCard .gestgo-qty-minus,
    .productCard .gestgo-qty-plus {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;

        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

    .productCard .gestgo-qty-input {
        height: 44px !important;
        min-height: 44px !important;
        line-height: 44px !important;
    }

    .productCard .buyRow > button[type="submit"] {
        height: 46px !important;
        min-height: 46px !important;
        font-size: 15px !important;
    }
}

/* ============================================================
   FIN - COMPRA EN TARJETA DEFINITIVA
   ============================================================ */

