/*
Theme Name:   Talento Corporativo
Theme URI:    https://talentocorporativo.com
Description:  Talento Corporativo Child Theme
Version:      3.5.3
Author:       Talento Corporativo
Author URI:   https://talentocorporativo.com
Template:     movedo
*/

html{
    font-size: 16px;
}

/*** Colores ***/

:root {
    --primary-color: #042f51; /*azul oscuro - primary 1*/
    --secondary-color: #2d9ed8; /*azul claro - primary 2*/
    --third-color: #017db7; /*azul medio - primary 3*/
    --fourth-color: #f7f7f5  ; /*gris claro  - primary 6*/
    --white: #fff; /*blanco - fondo*/
    --black: #000; /*negro - texto*/
  
    --family-title: "Roboto-Black", sans-serif;
    --family-subtitle: "Roboto-Bold", sans-serif;
    --family-base: "Roboto-Regular", sans-serif;
  
}
    
/*** General ***/
    
body, p {/*16-24*/
    font-size: 1rem;
    line-height: 1.5;
    font-family: var(--family-base);
    color: var(--black);
}
 
h1, h2, h3 {
    font-weight: 700;
    font-family: var(--family-title);
}
  
h4, h5, h6 {
    font-weight: 700;
    font-family: var(--family-subtitle);
}
  
h1 {font-size: 1.875rem}/*24-36*/
h2 {font-size: 1.5rem}/*22-33*/
h3 {font-size: 1.25rem}/*20-30*/
h4 {font-size: 1.125rem}/*19-29*/
h5 {font-size: 1rem}/*18-27*/
h6 {font-size: 0.875rem}/*17-26*/

.titulo-oscuro{color: var(--primary-color) !important;}
.titulo-claro{color: var(--third-color) !important;}
.titulo-blanco{color: var(--white) !important;}
.lista-azul-claro li::marker{
    color: var(--third-color) !important; 
    font-weight: 700 !important; 
    font-size: 1.25rem !important; 
}
.lista-azul-oscuro li::marker{
    color: var(--primary-color) !important; 
    font-weight: 700 !important; 
    font-size: 1.25rem !important; 
}
.lista-sin-espacios{
    margin-bottom: 0 !important;
}
.tabla-azul{border-radius: 2rem !important;}
.tabla-azul th{
    background-color: var(--primary-color) !important;
    border: 1px solid var(--white) !important;
    color: var(--white) !important; 
    text-align: left !important;
    vertical-align: middle !important;
}
.tabla-azul td{
    border: 1px solid var(--primary-color) !important;
    text-align: left !important;
    vertical-align: middle !important;
}
.tabla-azul-oscuro{border-radius: 2rem !important;}
.tabla-azul-oscuro th{
    background-color: var(--primary-color) !important;
    border: 1px solid var(--white) !important;
    color: var(--white) !important; 
    text-align: left !important;
    vertical-align: top !important;
}
.tabla-azul-oscuro td{
    border: 1px solid var(--primary-color) !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.tabla-dos-azules{border-radius: 2rem !important;}
.tabla-dos-azules th{
    background-color: var(--third-color) !important;
    border: 1px solid var(--white) !important;
    color: var(--white) !important; 
    text-align: left !important;
    vertical-align: middle !important;
}
.tabla-dos-azules .fila-titulos-tabla th{
    background-color: var(--primary-color) !important;
    border: 1px solid var(--white) !important;
    color: var(--white) !important; 
    text-align: left !important;
    vertical-align: middle !important;
}
.tabla-dos-azules td{
    border: 1px solid var(--primary-color) !important;
    text-align: left !important;
    vertical-align: middle !important;
}
.mapa-sombra{
    box-shadow: 10px 10px 10px 0 rgba(0, 0, 0, 0.1) !important;
}

/*** Header ***/

/*Top Bar*/

#grve-top-bar .grve-wrapper, #grve-top-bar ul p{
    background-color: var(--primary-color);
    color: var(--white) !important;
    font-size: 0.875rem !important;
    line-height: 1.5;
    font-family: var(--family-base);
}
#grve-top-bar .grve-wrapper a{
    color: var(--white);
    font-size: 0.875rem !important;
}
#grve-top-bar .grve-wrapper a:hover{
    color: var(--secondary-color);
}

#grve-top-bar .grve-wrapper .grve-top-bar-menu ul.sub-menu li a{
    color: var(--primary-color);
}


#grve-top-bar .grve-wrapper .grve-top-bar-menu ul.sub-menu li a:hover{
    color: var(--secondary-color);
}   

#grve-top-bar .grve-wrapper .barra-superior-texto{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#grve-top-bar .grve-wrapper .icono-menu-superior{
    display: inline-block;
    vertical-align: middle;
}

#grve-top-bar .grve-wrapper .grve-icon-search::after{
    content: "Buscar";
    font-size: 0.875rem;
    line-height: 1.5;
    font-family: var(--family-base);
    color: var(--white);
    text-decoration: none;
    padding: 0.25rem 5rem 0.25rem 0.5rem;
    border-radius: 0.25rem;
    margin-left: 0.25rem;
    border: 1px solid var(--white);
    transition: all 0.3s ease;
    border-radius: 100rem;
}
/*Main Header*/

#grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li > a
{
    color: var(--primary-color);
    font-weight: 900 !important;
    font-family: var(--family-base) !important;
}

#grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li:hover > a{
    color: var(--third-color);
}

#grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li.current-menu-item > a{
    color: var(--third-color);
}

#grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li.current-menu-ancestor > a{
    color: var(--third-color);
}

#grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li:hover > a .grve-item::after,
#grve-header.grve-sticky-header #grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li:hover > a .grve-item::after{
    background-color: var(--third-color);
}

#grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li.current-menu-item > a .grve-item::after,
#grve-header.grve-sticky-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li.current-menu-item > a .grve-item::after{
    background-color: var(--third-color);
}

#grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li.current-menu-ancestor > a .grve-item::after,
#grve-header.grve-sticky-header #grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li.current-menu-ancestor > a .grve-item::after{
    background-color: var(--third-color);
}

#grve-header .grve-horizontal-menu ul.grve-menu ul.sub-menu,
#grve-header .grve-horizontal-menu ul.grve-menu li,
#grve-header .grve-main-menu .grve-wrapper > ul > li ul li a:hover,
#grve-header .grve-main-menu .grve-wrapper > ul > li ul li.current-menu-item > a,
#grve-header .grve-horizontal-menu ul.grve-menu ul.sub-menu, 
#grve-header .grve-horizontal-menu ul.grve-menu li:hover,
#grve-header .grve-main-menu .grve-wrapper > ul li li.current-menu-ancestor > a{
    background-color: var(--white);
}

#grve-header .grve-horizontal-menu ul.grve-menu ul.sub-menu li a{
    color: var(--primary-color);
}

#grve-header .grve-horizontal-menu ul.grve-menu ul.sub-menu li a:hover,
#grve-header .grve-main-menu .grve-wrapper > ul > li ul li.current-menu-item > a{
    color: var(--third-color);
}

#grve-header .grve-main-menu .grve-wrapper > ul li li.current-menu-ancestor > a{
    color: var(--third-color);
    text-decoration: underline;
}

/*Main Menu*/

#grve-main-menu{
    color: var(--primary-color);
}

/*** Footer ***/
#grve-footer #grve-bottom-bar p,
#grve-footer #grve-bottom-bar a{
    color: var(--white) !important;
    font-size: 0.875rem !important;
    line-height: 1.5;
    font-family: var(--family-base) !important;
}
#grve-footer #grve-bottom-bar a img{
    display: inline-block;
    vertical-align: middle;
}
#grve-footer #grve-bottom-bar a:hover{
    color: var(--secondary-color) !important;
    text-decoration:underline !important;
}
#grve-footer #grve-bottom-bar .banda-pie-certificados p{
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 1rem;
}

#grve-footer #grve-bottom-bar .grve-column .grve-column-wrapper{
    display: flex;
    flex-wrap: wrap;
    height: auto;
    justify-content: space-between;
    align-items: flex-end;
}
/*** Sidebar ***/

/*** Content ***/

/*Home Page*/
.fila-cajetines-info{margin-top:3rem;}
.fila-cajetines-info .grve-column-inner .grve-column-wrapper-inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.fila-cajetines-info .cajetin-informacion{
    width: 20rem;
    border: 1px solid var(--primary-color);
    border-radius: 2rem;
    padding: 3rem;
    margin-top: 2rem;
}

.noticias-home .grve-column .grve-column-wrapper .grid-noticias-home .grve-isotope-container .grve-blog-item .grve-blog-item-inner{
    background-color: var(--white);
}

.noticias-home .grve-column .grve-column-wrapper .grid-noticias-home .grve-isotope-container .grve-blog-item .grve-blog-item-inner .grve-media{
    margin-bottom: 0;
}

.noticias-home .grve-column .grve-column-wrapper .grid-noticias-home .grve-isotope-container .grve-blog-item .grve-blog-item-inner .grve-media img{
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.noticias-home .grve-column .grve-column-wrapper .grid-noticias-home .grve-isotope-container .grve-blog-item .grve-blog-item-inner .grve-post-content-wrapper{
    padding: 1rem;
}

.noticias-home .grve-column .grve-column-wrapper .grid-noticias-home .grve-isotope-container .grve-blog-item .grve-blog-item-inner .grve-post-content-wrapper .grve-post-content .grve-post-meta .grve-post-date{
    color: var(--third-color) !important;
    font-weight: 700 !important;
    font-size: .875rem !important;
    font-family: var(--family-base) !important;
}

/*CSS para 1/1*/

.fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner{
    /* Desktop: 2 columnas usando flex */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem; /* row-gap, column-gap */
}

.fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online{
    width: 16rem;
    padding: 1rem;
    min-height: 164px;
}

.fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online .grve-image-icon img{
    width: 2rem;
}

.fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online .grve-box-content{
    font-weight: 600;
    margin-left: 1rem;
    padding-left: 1rem;
    border-left: 4px solid var(--secondary-color);
    height: 100%;
}

/* El contenedor principal usa flex, pero controlamos alturas */
.fila-atencion-online .grve-row.grve-columns-gap-30 {
    display: flex;
    align-items: stretch;
    gap: 30px;
}
  
/* Columna de texto: su altura será la referencia */
.fila-atencion-online .grve-column {
    flex: 2 1 0%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
  
/* Columna de la imagen: permite expansión sin cortes */
.fila-atencion-online .grve-column {
    flex: 1 1 0%;
    display: flex;
    align-items: flex-end;
    /* Permite que la imagen se expanda más allá del ancho de la columna */
    overflow: visible;
    contain: none;
    min-height: 0;
    position: relative;
}
  
/* El wrapper interior permite expansión horizontal */
.fila-atencion-online .grve-column .grve-column-wrapper {
    flex: 1;
    display: flex;
    /* Reordenamos contenido textual a columna: título > subtítulo > grid */
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
    overflow: visible;
    min-height: 0;
    position: relative;
    width: 100%;
}

/* Orden explícito: título arriba, subtítulo después, grid al final */
.fila-atencion-online .grve-column .grve-column-wrapper .grve-title,
.fila-atencion-online .grve-column .grve-column-wrapper .grve-section-title,
.fila-atencion-online .grve-column .grve-column-wrapper > h1,
.fila-atencion-online .grve-column .grve-column-wrapper > h2,
.fila-atencion-online .grve-column .grve-column-wrapper > h3 { order: 0; }

.fila-atencion-online .grve-column .grve-column-wrapper .grve-subtitle,
.fila-atencion-online .grve-column .grve-column-wrapper .grve-section-subtitle,
.fila-atencion-online .grve-column .grve-column-wrapper > h4,
.fila-atencion-online .grve-column .grve-column-wrapper > h5,
.fila-atencion-online .grve-column .grve-column-wrapper > h6,
.fila-atencion-online .grve-column .grve-column-wrapper > p.grve-subtitle { order: 1; }

.fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { order: 2;
    width: 60%;
}

.fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{
    margin: 0 5rem auto;
}
  
/* Imagen que se ajusta sin tapar contenido y se mantiene en el bottom */
.fila-atencion-online .imagen-atencion-online {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    max-width: 35rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    z-index: 1;
    overflow:hidden;
}
  
.fila-atencion-online .imagen-atencion-online img {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    object-position: bottom right;
    display: block;
    /* Limita el tamaño para no tapar contenido */
    max-width: 100%;
}

.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a{
    position: relative;
    display: flex;
    flex-direction: column;
    width: 30rem;
    padding: 2.125rem;
    min-height: 260px;
    border: 1px solid var(--white);
    border-radius: 2rem;
    margin-top: 1rem
}
/* El contenido crece para empujar el icono hacia abajo */
.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a .grve-box-content{
    order: 1;
    flex: 1 1 auto;
}

/* Asegura que el contenido quede antes y el icono al final */
.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a .grve-box-content{
    order: 1;
}

.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a .grve-box-title-wrapper{
    margin-bottom: 0;
    height: 2.5rem;
}

.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a .grve-wrapper-icon{
    position: static;
    bottom: auto;
    left: auto;
    right: auto;
    width: 100%;
    height: auto;
    order: 2;
    margin: 1rem auto 0;
    padding: 1rem 0 0;
    text-align: center;
    margin-top: auto;
}

.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno .grve-box-content h3,
.fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno .grve-box-content p{
    color: var(--white);
}

.fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica{
    width: 40rem;
    padding: 2rem;
}

.fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica .grve-box-title-wrapper .grve-box-title{
    color: var(--third-color)
}

/*Portal de Transparencia*/
.cajetin-enlace-claro,
.cajetin-enlace-oscuro {
    padding: .5rem;
}

.cajetin-enlace-claro,
.sidebar-portal-transparencia a,
.cajetin-enlace-claro .grve-h2,
.cajetin-enlace-claro .grve-h3,
.cajetin-enlace-claro .grve-h4,
.cajetin-enlace-claro .grve-h5,
.cajetin-enlace-claro .grve-h6,
.cajetin-enlace-claro .grve-p,
.cajetin-enlace-claro .grve-text,
.cajetin-enlace-claro .grve-subtitle,
.cajetin-enlace-claro .grve-section-title,
.cajetin-enlace-claro .grve-section-subtitle{
    color: var(--third-color);
}

.cajetin-enlace-claro:hover,
.cajetin-enlace-oscuro:hover,
.sidebar-portal-transparencia a:hover {
    text-decoration: underline;
}

.sidebar-portal-transparencia p {
    margin-bottom: 1rem;
    font-size: .775rem;
}

.sidebar-portal-transparencia .grve-title{
    margin-bottom:0;
    margin-top: 1rem;
}

.fila-grid-portal-transparencia .grve-column-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: space-evenly;
    align-items: stretch;
}
.fila-grid-portal-transparencia .cajetin-portal-transparencia{
    width: 18rem;
    text-align: center;
    border: 1px solid var(--primary-color);
    border-radius: 2rem;
    margin: 1rem;
    padding: 1rem;
}
.fila-grid-portal-transparencia .cajetin-portal-transparencia h3{padding: 0 1rem;}
.fila-grid-portal-transparencia .cajetin-portal-transparencia p{
    font-size: .875rem;
}
.fila-grid-portal-transparencia .cajetin-portal-transparencia .cajetin-enlace-claro{
    display:inline-block;
    margin-top: 1rem;
}
/*50 Aniversario EMACSA*/
#exposiciones-emacsa .cajetin-enlace-claro .grve-wrapper-icon{
    line-height: auto !important;
}
#exposiciones-emacsa .cajetin-enlace-claro .grve-box-content .grve-box-title-wrapper{
    height: auto !important;
}
/*Perfil del contratante*/
.cajetin-plataforma-licitacion{
    max-width: 30rem !important;
}
.cajetin-plataforma-licitacion .grve-box-content .grve-box-title-wrapper{
    height: 2rem !important;
    text-align: center !important;
}
/*Enlaces de interés*/
#enlaces-interes .cajetin-enlace-claro .grve-wrapper-icon{
    line-height: auto !important;
}
#enlaces-interes .cajetin-enlace-claro .grve-box-content .grve-box-title-wrapper{
    height: auto !important;
}
/* ========================================
   RESPONSIVE DESIGN - MÚLTIPLES BREAKPOINTS
   ======================================== */

/* ========================================
   EXTRA LARGE DEVICES (1400px and up)
   ======================================== */

@media (min-width: 1400px) and (max-width: 1599px) {
    #grve-header .grve-horizontal-menu.grve-position-right ul.grve-menu > li > a {
        padding: 0px 0px 0px 1em !important;
      }

    .fila-cajetines-info .cajetin-informacion {
        width: 24rem;
        padding: 3.5rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        width: 32rem;
        padding: 2.5rem;
    }
    
    .fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica {
        width: 42rem;
        padding: 2.5rem;
    }

    /* 1/1: 3 columnas (3x2) en ≥1400px */
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner {
        justify-content: space-evenly;
        gap: 1rem 1rem;
    }
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online {
        width: 18rem;
    }

    /* 1/1: ancho del grid y título en desktop grande */
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { width: 60%; }
    .fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{ margin: 0 5rem auto; }

    /* Imagen: ancho máximo mayor en ≥1400px */
    .fila-atencion-online .imagen-atencion-online { max-width: 35rem; align-items: center; overflow: hidden; }
}

/* ========================================
   LARGE DEVICES (1200px - 1399px)
   ======================================== */
@media (min-width: 1200px) and (max-width: 1399px) {
    #grve-main-header.grve-header-default .grve-container{width: 99% !important;}
    #grve-header .grve-horizontal-menu.grve-position-right ul.grve-menu > li > a{
        padding: 0px 0px 0px 1em !important;
        font-weight: 700 !important;
    }
    .fila-cajetines-info .cajetin-informacion {
        width: 22rem;
        padding: 3rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        width: 30rem;
        padding: 2.125rem;
    }
    
    /* Información técnica - adaptar ancho al contenedor */
    .fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica {
        width: 100%;
        max-width: 40rem;
        padding: 2.125rem;
    }
    
    /* Imagen de atención online - ajustada sin tapar contenido */
    .fila-atencion-online .grve-column.grve-column-1-3 {
        align-items: flex-end;
        overflow: visible;
        contain: none;
    }
    
    .fila-atencion-online .grve-column.grve-column-1-3 .grve-column-wrapper {
        align-items: flex-end;
        overflow: visible;
        min-height: 0;
    }
    
    .fila-atencion-online .imagen-atencion-online {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
        max-width: 25rem;
        z-index: 1;
    }
    
    .fila-atencion-online .imagen-atencion-online img {
        width: 100%;
        height: auto;
        max-height: 100%;
        object-fit: contain;
        object-position: bottom right;
        max-width: 100%;
    }

    /* 1/1: 3 columnas (3x2) en 1200–1399px */
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner {
        gap: 1.5rem 1rem;
    }
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online {
        width: 17rem;
    }

    /* 1/1: ancho del grid y título en desktop */
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { width: 60%; }
    .fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{ margin: 0 4rem auto; }

    /* Imagen: ancho máximo ligeramente menor */
    .fila-atencion-online .imagen-atencion-online { max-width: 30rem; align-items: center; overflow: hidden; right:-5rem; }
}

/* ========================================
   MEDIUM LARGE DEVICES (992px - 1199px)
   ======================================== */
@media (min-width: 992px) and (max-width: 1199px) {
    #grve-main-header.grve-header-default .grve-container{width: 99% !important;}
    #grve-header .grve-horizontal-menu.grve-position-right ul.grve-menu > li > a{
        padding: 0px 0px 0px .5rem !important; 
        font-weight: 500 !important; 
    }
    .fila-cajetines-info .cajetin-informacion {
        width: 20rem;
        padding: 2.5rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        width: 28rem;
        padding: 1.875rem;
    }
    
    /* Información técnica - adaptar ancho al contenedor */
    .fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica {
        width: 100%;
        max-width: 38rem;
        padding: 1.875rem;
    }
    
    /* Imagen de atención online - ajustada sin tapar contenido */
    .fila-atencion-online .grve-column.grve-column-1-3 {
        align-items: flex-end;
        overflow: visible;
        contain: none;
    }
    
    .fila-atencion-online .grve-column.grve-column-1-3 .grve-column-wrapper {
        align-items: flex-end;
        overflow: visible;
        min-height: 0;
    }
    
    .fila-atencion-online .imagen-atencion-online {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
        max-width: 20rem;
        z-index: 1;
    }
    
    .fila-atencion-online .imagen-atencion-online img {
        width: 100%;
        height: auto;
        max-height: 100%;
        object-fit: contain;
        object-position: bottom right;
        max-width: 100%;
    }

    /* 1/1: 2 columnas (2x3) en 992–1199px */
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner {
        gap: 1.25rem 0.75rem;
    }
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online {
        width: 15rem;
    }

    /* 1/1: ajustar grid y título */
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { width: 65%; }
    .fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{ margin: 0 3rem auto; }

    /* Imagen: ancho máximo reducido para este rango */
    .fila-atencion-online .imagen-atencion-online { max-width: 30rem; align-items: center; overflow: hidden; right:-10rem; }
}

/* ========================================
   TABLETS (768px - 991px)
   ======================================== */
@media (min-width: 768px) and (max-width: 991px) {
    /* Ajustes de tipografía para tablets */
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.375rem; }
    h3 { font-size: 1.125rem; }
    h4 { font-size: 1rem; }
    h5 { font-size: 0.9375rem; }
    h6 { font-size: 0.8125rem; }
    
    /* Top Bar responsive */
    #grve-top-bar .grve-wrapper .barra-superior-texto {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }
    
    /* Header responsive */
    #grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li > a {
        font-size: 0.9rem;
        padding: 0.75rem 1rem;
    }
    
    /* Cajetines de información */
    .fila-cajetines-info .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 1.5rem;
    }
    
    .fila-cajetines-info .cajetin-informacion {
        width: 18rem;
        padding: 2rem;
        margin-top: 1.5rem;
    }
    
    /* Atención online - layout de 2 columnas */
    .fila-atencion-online .grve-row.grve-columns-gap-30 {
        flex-wrap: wrap;
    }
    
    .fila-atencion-online .grve-row.grve-columns-gap-30 .grve-row-inner{
        width: 100%;
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{margin: 0 auto;}

    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 1.5rem;
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { 
        width: 100%;    
    }
    
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online {
        width: 18rem;
        min-height: 100px;
    }
      
    .fila-atencion-online .imagen-atencion-online {
        display: none;
    }
    
    /* Calidad y entorno */
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 1.5rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        width: 26rem;
        padding: 1.75rem;
        min-height: 140px;
    }
    
    /* Información técnica */
    .fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica {
        width: 100%;
        max-width: 36rem;
        padding: 1.75rem;
    }
}

/* ========================================
   MOBILE LARGE (576px - 767px)
   ======================================== */
@media (min-width: 576px) and (max-width: 767px) {
    /* Ajustes de tipografía para móviles grandes */
    html { font-size: 15px; }
    h1 { font-size: 1.625rem; }
    h2 { font-size: 1.25rem; }
    h3 { font-size: 1rem; }
    h4 { font-size: 0.9375rem; }
    h5 { font-size: 0.875rem; }
    h6 { font-size: 0.8125rem; }
    
    /* Top Bar responsive */
    #grve-top-bar .grve-wrapper .barra-superior-texto {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }
    
    #grve-top-bar .grve-wrapper .grve-icon-search::after {
        padding: 0.25rem 3rem 0.25rem 0.5rem;
        font-size: 0.8rem;
    }
    
    /* Header responsive */
    #grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li > a {
        font-size: 0.85rem;
        padding: 0.5rem 0.75rem;
    }
    
    /* Cajetines de información - 2 columnas */
    .fila-cajetines-info .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 1rem;
    }
    
    .fila-cajetines-info .cajetin-informacion {
        width: 16rem;
        padding: 1.5rem;
        margin-top: 1rem;
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{margin: 0 2.5rem auto;}

    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { 
        width: 100%;    
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online {
        width: 100%;
        min-height: 45px;
    }
      
    .fila-atencion-online .imagen-atencion-online {
        display: none;
    }
           
    /* Calidad y entorno - 2 columnas */
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 1rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        width: 24rem;
        padding: 1.5rem;
        min-height: 120px;
    }
    
    /* Información técnica */
    .fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica {
        width: 100%;
        max-width: 32rem;
        padding: 1.5rem;
    }
}

/* ========================================
   MOBILE MEDIUM (480px - 575px)
   ======================================== */
@media (min-width: 480px) and (max-width: 575px) {
    /* Ajustes de tipografía para móviles medianos */
    html { font-size: 14px; }
    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.125rem; }
    h3 { font-size: 0.9375rem; }
    h4 { font-size: 0.875rem; }
    h5 { font-size: 0.8125rem; }
    h6 { font-size: 0.75rem; }
    
    /* Top Bar responsive */
    #grve-top-bar .grve-wrapper .barra-superior-texto {
        flex-direction: column;
        gap: 0.25rem;
        text-align: center;
    }
    
    #grve-top-bar .grve-wrapper .grve-icon-search::after {
        padding: 0.25rem 2rem 0.25rem 0.5rem;
        font-size: 0.75rem;
    }
    
    /* Header responsive */
    #grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li > a {
        font-size: 0.8rem;
        padding: 0.5rem 0.5rem;
    }
    
    /* Cajetines de información - 1 columna */
    .fila-cajetines-info .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 0.75rem;
    }
    
    .fila-cajetines-info .cajetin-informacion {
        width: 14rem;
        padding: 1.25rem;
        margin-top: 0.75rem;
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{margin: 0 auto;}
    
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { 
        width: 100%;    
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online {
        width: 100%;
        min-height: 45px;
    }
      
    .fila-atencion-online .imagen-atencion-online {
        display: none;
    }
    
    /* Calidad y entorno - 1 columna */
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 0.75rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        width: 22rem;
        padding: 1.25rem;
        min-height: 100px;
    }
    
    /* Información técnica */
    .fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica {
        width: 100%;
        max-width: 28rem;
        padding: 1.25rem;
    }
}

/* ========================================
   MOBILE SMALL (320px - 479px)
   ======================================== */
@media (max-width: 479px) {
    /* Ajustes de tipografía para móviles pequeños */
    html { font-size: 13px; }
    h1 { font-size: 1.375rem; }
    h2 { font-size: 1rem; }
    h3 { font-size: 0.875rem; }
    h4 { font-size: 0.8125rem; }
    h5 { font-size: 0.75rem; }
    h6 { font-size: 0.6875rem; }
    
    /* Top Bar responsive */
    #grve-top-bar .grve-wrapper .barra-superior-texto {
        flex-direction: column;
        gap: 0.25rem;
        text-align: center;
    }
    
    #grve-top-bar .grve-wrapper .grve-icon-search::after {
        padding: 0.25rem 1.5rem 0.25rem 0.5rem;
        font-size: 0.7rem;
    }
    
    /* Header responsive */
    #grve-header .grve-main-menu.grve-menu-type-underline .grve-wrapper > ul > li > a {
        font-size: 0.75rem;
        padding: 0.375rem 0.375rem;
    }
    
    /* Cajetines de información - 1 columna */
    .fila-cajetines-info .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 0.5rem;
    }
    
    .fila-cajetines-info .cajetin-informacion {
        width: 100%;
        padding: 1rem;
        margin-top: 0.5rem;
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .titulo-atencion-online{margin: 0 auto;}
    
    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online { 
        width: 100%;    
    }

    .fila-atencion-online .grve-column .grve-column-wrapper .grid-atencion-online .grve-column-inner .grve-column-wrapper-inner .cajetin-atencion-online {
        width: 100%;
        min-height: 45px;
    }
      
    .fila-atencion-online .imagen-atencion-online {
        display: none;
    }
    
    /* Calidad y entorno - 1 columna */
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner {
        justify-content: center;
        gap: 0.5rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        width: 20rem;
        padding: 1rem;
        min-height: 80px;
    }
    
    /* Información técnica */
    .fila-informacion-tecnica .grve-column-1-2:last-child .grve-column-wrapper .listado-informacion-tecnica .grve-column-inner .grve-column-wrapper-inner .cajetin-informacion-tecnica {
        width: 100%;
        max-width: 24rem;
        padding: 1rem;
    }
    
    /* En móviles pequeños, altura auto para que no desborde y el icono fluya debajo */
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a {
        height: auto;
        padding-bottom: 1.5rem;
    }
    
    .fila-calidad-entorno .grve-column .grve-column-wrapper .grid-calidad-entorno .grve-column-inner .grve-column-wrapper-inner .cajetin-calidad-entorno a .grve-wrapper-icon {
        position: static;
        margin-top: 0.75rem;
        width: 100%;
    }

    #grve-footer #grve-bottom-bar .banda-pie-certificados p{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        gap: 1rem;
    }
}  