 /* =========================================
   ORM CATALOGO v1.2
   OR MAQUINARIAS
========================================= */

.orm-catalogo{
    width:100%;
    margin:25px 0;
    position:relative;
}

/* =========================================
   CABECERA
========================================= */

.orm-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:18px;
}

.orm-marca{
    display:flex;
    align-items:center;
    gap:18px;
    flex:1;
    min-width:0;
}

.orm-marca img{
    width:140px;
    height:auto;
    display:block;
    object-fit:contain;
}

.orm-linea{
    display:flex;
    align-items:center;
    gap:15px;
    width:100%;
    min-width:0;
}

.orm-titulo{
    margin:0;
    white-space:nowrap;
    font-size:34px;
    line-height:1.15;
    font-weight:700;
    color:#222;
}

.orm-linea span{
    flex:1;
    height:1px;
    background:#d7d7d7;
}

.orm-nav{
    display:flex;
    gap:10px;
}

.orm-prev,
.orm-next{
    width:46px;
    height:46px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#0C3F81;
    color:#fff;
    border-radius:6px;
    cursor:pointer;
    transition:.25s;
}

.orm-prev:hover,
.orm-next:hover{
    background:#082d5d;
}

/* =========================================
   SWIPER
========================================= */

.ormSwiper{
    overflow:hidden;
    padding-bottom:12px;
}

.ormSwiper .swiper-wrapper{
    align-items:stretch;
}

.ormSwiper .swiper-slide{
    height:auto;
    display:flex;
}

/* =========================================
   TARJETA
========================================= */

.orm-card{
    width:100%;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:5px;
    overflow:hidden;

    display:flex;
    flex-direction:column;

    transition:.3s;
}

.orm-card:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 16px rgba(0,0,0,.10);
}

/* =========================================
   IMAGEN
========================================= */

.orm-imagen{
    height:175px;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:12px 15px;

    box-sizing:border-box;
}

.orm-imagen img{
    width:100%;
    height:100%;

    max-width:210px;
    max-height:150px;

    object-fit:contain;
}

/* =========================================
   CONTENIDO
========================================= */

.orm-info{
    padding:12px 15px 14px;

    display:flex;
    flex-direction:column;

    flex:1;
}

/* Nombre del producto
   Siempre reserva dos l铆neas */

.orm-info h3{
    margin:0 0 8px;

    font-size:18px;
    line-height:22px;
    font-weight:700;
    color:#222;

    min-height:44px;

    display:flex;
    align-items:flex-start;

    text-align:left;
}

/* Datos */

.orm-info p{
    margin:0 0 7px;

    font-size:13px;
    line-height:1.25;

    color:#555;
}

/* T铆tulo del dato */

.orm-info strong{
    display:block;

    margin:0 0 1px;

    color:#222;
    font-weight:700;

    line-height:1.15;
}

/* =========================================
   BOTONES
========================================= */

.orm-botones{

    display:flex;

    gap:8px;

    margin-top:auto;

    padding-top:12px;

}

.orm-botones a{

    flex:1;

    height:42px;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    text-decoration:none;

    font-size:14px;

    font-weight:600;

    line-height:42px;

    padding:0;

    margin:0;

    border-radius:6px;

    box-sizing:border-box;

    transition:all .25s ease;

}

/* Ambos botones iguales. */

.btn-cotizar,
.btn-ficha{

    background:#E8E8E8;

    color:#444;

    border:none;

}

/* Hover */

.btn-cotizar:hover,
.btn-ficha:hover{

    background:#0C3F81;

    color:#fff;

}

/* =========================================
   PAGINACION
========================================= */

.ormSwiper .swiper-pagination{
    position:relative !important;
    margin-top:10px;
    line-height:1;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:1024px){

    .orm-catalogo{
        margin:22px 0;
    }

    .orm-marca img{
        width:110px;
    }

    .orm-titulo{
        font-size:28px;
    }

    .orm-imagen{
        height:165px;
    }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:767px){

    .orm-catalogo{
        margin:18px 0;
    }

    .orm-header{
        gap:10px;
        margin-bottom:12px;
    }

    .orm-marca{
        gap:8px;
    }

  .orm-marca img{
    width:70px;
    flex-shrink:0;
}

    .orm-linea{
        gap:8px;
    }

.orm-titulo{
    font-size:clamp(18px,4vw,22px);
    line-height:1.15;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
}
    .orm-linea span{
        height:1px;
    }

    .orm-nav{
        gap:6px;
    }

    .orm-prev,
    .orm-next{
        width:38px;
        height:38px;
    }


    /* Imagen */

    .orm-imagen{
        height:130px;
        padding:8px;
    }

    .orm-imagen img{
        max-height:110px;
        max-width:160px;
    }

    /* Informaci贸n */

    .orm-info{
        padding:9px 10px 10px;
    }

    .orm-info h3{
        font-size:15px;
        line-height:18px;

        min-height:36px;

        margin-bottom:6px;
    }

    .orm-info p{
        font-size:11px;
        line-height:1.2;

        margin-bottom:5px;
    }

    .orm-info strong{
        margin-bottom:1px;
        line-height:1.1;
    }

    /* Botones */

    .orm-botones{
        gap:5px;
        padding-top:6px;
    }

    .orm-botones a{
        height:30px;

        font-size:11px;

        border-radius:4px;
    }

    /* Paginaci贸n */

    .ormSwiper{
        padding-bottom:8px;
    }

    .ormSwiper .swiper-pagination{
        margin-top:7px;
    }

}

/* =========================================
   PRODUCTO ÚNICO
   MISMO TAMAÑO QUE UNA TARJETA DEL CARRUSEL
========================================= */

.orm-single-product{
    display:flex;
    width:100%;
    align-items:stretch;
}

.orm-single-product .orm-card{
    width:calc((100% - 48px) / 5);
    flex:0 0 calc((100% - 48px) / 5);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1024px){

    .orm-single-product .orm-card{
        width:calc((100% - 24px) / 3);
        flex:0 0 calc((100% - 24px) / 3);
    }

}


/* =========================================
   MOVIL
   MISMO ANCHO VISUAL QUE EL CARRUSEL
========================================= */

@media(max-width:767px){

    .orm-single-product{
        width:100%;
    }

    .orm-single-product .orm-card{
        width:calc((100% - 10px) / 2.3);
        flex:0 0 calc((100% - 10px) / 2.3);
    }

}

/* =========================================================
   ORM PRODUCTOS POR MARCA
   PC = 6
   MOVIL = 2
   ========================================================= */

.orm-productos-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 15px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 25px 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   TARJETA
   ========================================================= */

.orm-productos-grid .orm-grid-card {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 5px !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* =========================================================
   IMAGEN
   ========================================================= */

.orm-productos-grid .orm-grid-imagen {

    width: 100% !important;
    height: 155px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 10px !important;

    box-sizing: border-box !important;
}


.orm-productos-grid .orm-grid-imagen img {

    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 135px !important;

    object-fit: contain !important;

    margin: auto !important;
}


/* =========================================================
   INFORMACIÓN
   ========================================================= */

.orm-productos-grid .orm-grid-info {

    display: flex !important;
    flex-direction: column !important;

    flex: 1 1 auto !important;

    width: 100% !important;

    padding: 10px !important;

    box-sizing: border-box !important;
}


/* =========================================================
   NOMBRE
   ========================================================= */

.orm-productos-grid .orm-grid-titulo {

    margin: 0 0 8px !important;

    min-height: 40px !important;

    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 700 !important;

    color: #222 !important;

    text-align: left !important;
}


/* =========================================================
   DATOS
   ========================================================= */

.orm-productos-grid .orm-grid-datos {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


.orm-productos-grid .orm-grid-dato {

    margin: 0 0 6px !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 1.25 !important;

    color: #555 !important;
}


.orm-productos-grid .orm-grid-dato strong {

    display: block !important;

    margin: 0 0 1px !important;

    color: #222 !important;

    font-weight: 700 !important;
}


.orm-productos-grid .orm-grid-dato span {

    display: block !important;
}


/* =========================================================
   BOTONES
   ========================================================= */

.orm-productos-grid .orm-grid-botones {

    display: flex !important;

    gap: 6px !important;

    width: 100% !important;

    margin-top: auto !important;

    padding-top: 10px !important;

    box-sizing: border-box !important;
}


.orm-productos-grid .orm-grid-btn {

    flex: 1 1 0 !important;

    width: 50% !important;

    height: 36px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 5px !important;

    text-decoration: none !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    box-sizing: border-box !important;
}


.orm-productos-grid .orm-grid-cotizar,
.orm-productos-grid .orm-grid-ficha {

    background: #E8E8E8 !important;
    color: #444 !important;

}


/* =========================================================
   HOVER
   ========================================================= */

.orm-productos-grid .orm-grid-card:hover {

    transform: translateY(-3px);

    box-shadow: 0 6px 16px rgba(0,0,0,.10);

}


/* =========================================================
   TABLET = 3
   ========================================================= */

@media (max-width: 1024px) {

    .orm-productos-grid {

        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 15px !important;

    }

}


/* =========================================================
   MOVIL = 2
   ========================================================= */

@media (max-width: 767px) {

    .orm-productos-grid {

        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 10px !important;

        width: 100% !important;

        margin: 18px 0 !important;

    }


    .orm-productos-grid .orm-grid-card {

        width: 100% !important;
        max-width: 100% !important;

    }


    .orm-productos-grid .orm-grid-imagen {

        height: 125px !important;

        padding: 7px !important;

    }


    .orm-productos-grid .orm-grid-imagen img {

        max-width: 100% !important;

        max-height: 110px !important;

    }


    .orm-productos-grid .orm-grid-info {

        padding: 9px !important;

    }


    .orm-productos-grid .orm-grid-titulo {

        min-height: 34px !important;

        font-size: 14px !important;

        line-height: 17px !important;

    }


    .orm-productos-grid .orm-grid-dato {

        font-size: 10px !important;

        line-height: 1.2 !important;

    }


    .orm-productos-grid .orm-grid-btn {

        height: 30px !important;

        font-size: 10px !important;

    }

}

/* =========================================================
   FORMULARIO DE REPUESTOS
   CONTROL DE LOGOS POR MARCA
   ========================================================= */

.orm-logo-oculto {
    display: none !important;
}