.elementor-8 .elementor-element.elementor-element-dfd5b52{--display:flex;--min-height:565px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.5;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-dfd5b52::before, .elementor-8 .elementor-element.elementor-element-dfd5b52 > .elementor-background-video-container::before, .elementor-8 .elementor-element.elementor-element-dfd5b52 > .e-con-inner > .elementor-background-video-container::before, .elementor-8 .elementor-element.elementor-element-dfd5b52 > .elementor-background-slideshow::before, .elementor-8 .elementor-element.elementor-element-dfd5b52 > .e-con-inner > .elementor-background-slideshow::before, .elementor-8 .elementor-element.elementor-element-dfd5b52 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );--background-overlay:'';}.elementor-8 .elementor-element.elementor-element-dfd5b52 .elementor-background-slideshow__slide__image{background-size:cover;background-position:center center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-20d7753{text-align:center;}.elementor-8 .elementor-element.elementor-element-20d7753 .elementor-heading-title{font-family:"Cinzel", Sans-serif;font-size:47px;font-weight:700;text-shadow:4px -4px 9px rgba(0, 0, 0, 0.67);color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-19f74c2{text-align:center;font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:500;text-shadow:5px -1px 12px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-8 .elementor-element.elementor-element-82f0234{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--margin-top:-370px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-8 .elementor-element.elementor-element-82f0234.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-8 .elementor-element.elementor-element-405074f{--e-transform-rotateZ:-180deg;margin:-195px 0px calc(var(--kit-widget-spacing, 0px) + 195px) 0px;padding:0px 0px 0px 0px;text-align:end;}.elementor-8 .elementor-element.elementor-element-405074f img{width:56%;}.elementor-8 .elementor-element.elementor-element-89696ac{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 28px;text-align:end;}.elementor-8 .elementor-element.elementor-element-89696ac img{width:55%;}.elementor-8 .elementor-element.elementor-element-1ce2563{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-09791c3 .elementor-icon-wrapper{text-align:center;}.elementor-8 .elementor-element.elementor-element-09791c3.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-4119479 );}.elementor-8 .elementor-element.elementor-element-09791c3.elementor-view-framed .elementor-icon, .elementor-8 .elementor-element.elementor-element-09791c3.elementor-view-default .elementor-icon{color:var( --e-global-color-4119479 );border-color:var( --e-global-color-4119479 );}.elementor-8 .elementor-element.elementor-element-09791c3.elementor-view-framed .elementor-icon, .elementor-8 .elementor-element.elementor-element-09791c3.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-4119479 );}.elementor-8 .elementor-element.elementor-element-8925ae3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8 .elementor-element.elementor-element-ae7ae4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8 .elementor-element.elementor-element-c6b513b{text-align:center;}.elementor-8 .elementor-element.elementor-element-c6b513b .elementor-heading-title{font-family:"Cinzel", Sans-serif;font-size:35px;font-weight:700;letter-spacing:2px;}.elementor-8 .elementor-element.elementor-element-a20b587{text-align:center;}.elementor-8 .elementor-element.elementor-element-a20b587 .elementor-heading-title{font-family:"Cinzel", Sans-serif;font-weight:700;}.elementor-8 .elementor-element.elementor-element-86e3a44{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var( --e-global-color-4119479 );}.elementor-8 .elementor-element.elementor-element-0876a33{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var( --e-global-color-4119479 );}.elementor-8 .elementor-element.elementor-element-0d13efa{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"Montserrat", Sans-serif;font-weight:400;color:var( --e-global-color-secondary );}.elementor-8 .elementor-element.elementor-element-0d13efa.elementor-element{--align-self:center;}.elementor-8 .elementor-element.elementor-element-5630c4c{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:400;color:var( --e-global-color-secondary );}.elementor-8 .elementor-element.elementor-element-0fbe4d9{padding:30px 30px 30px 30px;}.elementor-8 .elementor-element.elementor-element-d2207b5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8 .elementor-element.elementor-element-cc55e51{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:767px){.elementor-8 .elementor-element.elementor-element-dfd5b52{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:70px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-8 .elementor-element.elementor-element-20d7753{z-index:1;text-align:center;}.elementor-8 .elementor-element.elementor-element-20d7753 .elementor-heading-title{font-size:27px;}.elementor-8 .elementor-element.elementor-element-19f74c2{margin:-29px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:20px 20px 20px 20px;}.elementor-8 .elementor-element.elementor-element-82f0234{--margin-top:-392px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-405074f{margin:-29px -10px calc(var(--kit-widget-spacing, 0px) + -7px) -37px;}.elementor-8 .elementor-element.elementor-element-89696ac{margin:54px -5px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px -2px;}.elementor-8 .elementor-element.elementor-element-89696ac img{width:65%;}.elementor-8 .elementor-element.elementor-element-c6b513b{text-align:center;}.elementor-8 .elementor-element.elementor-element-c6b513b .elementor-heading-title{font-size:25px;}.elementor-8 .elementor-element.elementor-element-a20b587{text-align:center;}.elementor-8 .elementor-element.elementor-element-a20b587 .elementor-heading-title{font-size:25px;letter-spacing:2px;}.elementor-8 .elementor-element.elementor-element-5630c4c{margin:20px 20px calc(var(--kit-widget-spacing, 0px) + 20px) 20px;}.elementor-8 .elementor-element.elementor-element-0fbe4d9{padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-8 .elementor-element.elementor-element-dfd5b52{--content-width:1225px;}.elementor-8 .elementor-element.elementor-element-82f0234{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-3b455e0 */#riera-stats-section {
    width: 100%;
    background: transparent; /* Fondo transparente */
    padding: 60px 0;
    margin: 20px 0;
}

.stats-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}

.stat-item {
    text-align: center;
    color: #1E1E1C; /* Texto principal en negro mate */
    flex: 1;
    min-width: 200px;
    padding: 20px;
    position: relative;
}

.stat-icon {
    font-size: 28px;
    color: #A64B2A; /* Terracota para los iconos */
    margin-bottom: 15px;
}

.stat-number {
    font-family: 'Cinzel', serif;
    font-size: 42px;
    font-weight: 700;
    color: #1E1E1C;
    margin-bottom: 5px;
}

.stat-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #555555; /* Gris oscuro para las etiquetas */
    font-weight: 600;
}

/* LÍNEAS DIVISORAS EN ESCRITORIO (Verticales) */
.stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 25%;
    height: 50%;
    width: 1px;
    background: #F6A24E; /* Terracota muy sutil */
}

/* --- AJUSTES PARA CELULAR --- */
@media (max-width: 768px) {
    .stats-container {
        flex-direction: column;
        gap: 50px;
    }

    .stat-item {
        width: 100%;
        padding: 0;
    }

    /* LÍNEAS EN MÓVIL: Horizontales y centradas */
    .stat-item:not(:last-child)::after {
        right: 0;
        left: 0;
        top: auto;
        bottom: -25px; /* Posicionada debajo del texto */
        height: 1px;
        width: 40px; 
        margin: 0 auto; /* Centrado perfecto */
        background: #F6A24E; /* Terracota más visible */
    }

    .stat-number {
        font-size: 38px;
    }

    .stat-label {
        font-size: 11px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0fbe4d9 */#riera-catalog-system { width: 95%; max-width: 1500px; margin: 40px auto; font-family: 'Montserrat', sans-serif; }

/* GRILLA CATEGORÍAS */
#categories-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.cat-card { 
  background: #1E1E1C; padding: 80px 20px; text-align: center; cursor: pointer; 
  transition: 0.4s; border-radius: 12px; border: 1px solid rgba(166,43,42,0.1);
}
.cat-card:hover { transform: translateY(-8px); background: #2a2a28; border-color: #A64B2A; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.cat-title { font-family: 'Cinzel', serif; color: #FFF; font-size: 24px; display: block; letter-spacing: 2px; }
.cat-action { color: #A64B2A; font-weight: 700; font-size: 11px; margin-top: 15px; display: block; text-transform: uppercase; }

/* EXPLORADOR */
#detail-container { display: none; opacity: 0; transition: 0.4s; background: rgba(255,255,255,0.2); border-radius: 15px; padding: 20px; }
#detail-container.active { display: block; opacity: 1; }
.product-detail { display: none; }
.product-detail.active { display: block; }
.product-detail h2 { font-family: 'Cinzel', serif; font-size: 32px; color: #1E1E1C; margin-bottom: 30px; }

.product-explorer { display: flex; gap: 30px; margin-top: 20px; }

/* LISTA PRODUCTOS */
.product-list-interactive { flex: 0 0 260px; list-style: none; padding: 0; }
.product-list-interactive li { 
  padding: 18px; background: #FFF; margin-bottom: 10px; cursor: pointer; 
  font-family: 'Cinzel', serif; font-weight: 700; border-radius: 10px; transition: 0.3s;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.product-list-interactive li.active { background: #FAF9F6; color: #A64B2A; border-right: 5px solid #A64B2A; }

/* FICHA TÉCNICA */
.spec-display { flex: 1; background: #FFF; padding: 40px; border-radius: 15px; border: 1px solid #eee; min-height: 450px; }
.spec-content { display: none; grid-template-columns: 1fr 1fr; gap: 40px; }
.spec-content.active { display: grid; animation: fadeIn 0.4s forwards; }
.spec-image img { width: 100%; height: 400px; object-fit: cover; border-radius: 12px; }

.spec-text h3 { font-family: 'Cinzel', serif; font-size: 26px; color: #1E1E1C; margin-top: 0; }
.tech-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; border-top: 1px solid #eee; padding-top: 20px; }
.tech-item strong { color: #A64B2A; display: block; font-size: 11px; text-transform: uppercase; margin-bottom: 5px; }

/* BOTÓN REGRESAR */
.btn-back { background: none; border: none; font-family: 'Montserrat'; font-weight: 800; color: #A64B2A; cursor: pointer; margin-bottom: 30px; text-transform: uppercase; letter-spacing: 2px; }

/* RESPONSIVO CELULAR */
@media (max-width: 992px) {
  .product-explorer { flex-direction: column; }
  .product-list-interactive { display: flex; overflow-x: auto; width: 100%; gap: 10px; flex: none; padding-bottom: 15px; }
  .product-list-interactive li { white-space: nowrap; margin-bottom: 0; padding: 12px 20px; }
  .spec-content { grid-template-columns: 1fr; }
  .spec-image img { height: 280px; }
  .spec-display { padding: 20px; }
}

@keyframes fadeIn { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
/* ... (mantén tus otros estilos) ... */

/* ESTILO BASE DE LA IMAGEN (Computadora) */
.spec-image img {
  width: 100%;
  height: 400px; /* Altura fija en PC */
  
  /* ESTA ES LA PROPIEDAD CLAVE */
  object-fit: contain; /* <--- CAMBIAR DE 'COVER' A 'CONTAIN' */
  
  /* OPCIONAL: Un fondo gris muy suave para cuando la imagen se comprima */
  background-color: #f9f9f9; 
  border-radius: 12px;
  border: 1px solid #eee;
}

/* ----- AJUSTES ESPECÍFICOS PARA MÓVIL (CELULAR) ----- */
@media (max-width: 992px) {
  /* ... (mantén tus otros estilos de móvil) ... */

  .spec-image img {
    width: 100%;
    
    /* REDUCIMOS LA ALTURA EN MÓVIL PARA QUE NO OCUPE TODA LA PANTALLA */
    height: 250px; /* <--- AJUSTA ESTO SEGÚN TUS FOTOS */
    
    /* NOS ASEGURAMOS QUE SIGA EN CONTAIN */
    object-fit: contain; 
    
    /* AÑADIMOS UN PEQUEÑO PADDING PARA QUE RESPIRE */
    padding: 10px;
    background: #FFF; /* Fondo blanco limpio para la foto comprimida */
  }
}
/* ... tus otros estilos ... */

#riera-catalog-system {
    min-height: 800px; /* Fuerza al contenedor a ocupar espacio siempre */
    scroll-behavior: auto !important; /* Desactiva scrolls automáticos del navegador */
}

#detail-container {
    /* Aseguramos que el contenedor de destino no cause saltos */
    overflow: hidden; 
    backface-visibility: hidden;
}

/* En móvil, bajamos un poco la altura mínima para que no sobre espacio */
@media (max-width: 768px) {
    #riera-catalog-system {
        min-height: 600px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-46739a9 *//* CONFIGURACIÓN DE COLORES Y FUENTES */
.traj-seccion-proyectos {
    background-color: #F9F0E7; /* Crema Fondos */
    padding: 60px 20px;
    font-family: 'Montserrat', sans-serif;
}
.traj-introduccion {
    font-family: 'Montserrat', sans-serif;
    color: #010101; /* Negro Mate */
    opacity: 0.85; /* Suaviza el tono para jerarquía visual */
    text-align: center;
    max-width: 800px; /* Limita el ancho para mejor legibilidad */
    margin: 10px auto 10px; /* Centra el bloque y da espacio inferior */
    line-height: 1.7; /* Espaciado entre líneas para que respire */
    font-size: 18px;
}

/* Ajuste opcional para que en móvil no quede tan pegado a los bordes */
@media (max-width: 768px) {
    .traj-introduccion {
        font-size: 16px;
        padding: 0 10px;
        margin-bottom: 10px;
    }
}

.traj-divisor {
    width: 80px;
    height: 2px;
    background-color: #F6A24E; /* Naranja */
    margin: 20px auto 10px;
}

.traj-titulo-principal {
    font-family: 'Cinzel', serif;
    color: #010101; /* Negro Mate */
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* LAYOUT DINÁMICO */
.traj-contenedor-interactivo {
    display: flex;
    max-width: 1200px;
    margin: 40px auto 0;
    gap: 40px;
}

.traj-columna-.elementor-8 .elementor-element.elementor-element-46739a9es {
    flex: 0 0 33%;
    display: flex;
    flex-direction: column;
}

.traj-lista-lateral {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ESTILO DE LOS BOTONES (ITEMS) */
.traj-item {
    padding: 20px;
    background: #FFF;
    border-radius: 4px;
    cursor: pointer;
    transition: 0.3s;
    border: 1px solid transparent;
}

.traj-item.activo {
    border-color: #DEAF81; /* Beige */
    box-shadow: 0 4px 12px rgba(1,1,1,0.05);
}

.traj-tag {
    display: inline-block;
    font-size: 10px;
    background: #F6A24E; /* Naranja */
    color: #FFF;
    padding: 2px 8px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.traj-concepto {
    font-family: 'Cinzel', serif;
    display: block;
    color: #010101;
}

/* BOTÓN VER CATÁLOGO */
.btn-ver-catalogo {
    margin-top: 20px;
    color: #F6A24E;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    transition: 0.3s;
}

.btn-ver-catalogo:hover {
    color: #DEAF81;
}

/* VISOR DE DETALLE */
.traj-visor-detalle {
    flex: 1;
    background: #FFF;
    border-radius: 4px;
    overflow: hidden;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.traj-capa-imagen img {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

.traj-info-tecnica { padding: 30px; }

.traj-specs {
    display: flex;
    gap: 30px;
    margin-top: 20px;
    border-top: 1px solid #DEAF81;
    padding-top: 20px;
}

.spec-box .label {
    display: block;
    font-size: 11px;
    color: #DEAF81;
    text-transform: uppercase;
}

/* RESPONSIVE MÓVIL */
@media (max-width: 992px) {
    .traj-contenedor-interactivo { flex-direction: column; }
    
    .traj-lista-lateral {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 10px;
    }

    .traj-item { min-width: 220px; }

    .btn-ver-catalogo {
        justify-content: center;
        background: #FFF;
        padding: 15px;
        border: 1px solid #DEAF81;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-91d09d2 *//* SECCIÓN DE FONDO NEGRO */
.cierre-seccion {
    background-color: #010101; /* Negro Mate */
    padding: 100px 20px;
    text-align: center;
}

.cierre-contenedor {
    max-width: 800px;
    margin: 0 auto;
}

.cierre-titulo {
    font-family: 'Cinzel', serif;
    color: #F9F0E7; /* Crema */
    font-size: 34px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.cierre-descripcion {
    font-family: 'Montserrat', sans-serif;
    color: #DEAF81; /* Beige */
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 45px;
}

/* BOTONES */
.cierre-acciones {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.btn-cierre-principal {
    background-color: #F6A24E; /* Naranja */
    color: #010101;
    padding: 18px 35px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
    font-size: 14px;
}

.btn-cierre-principal:hover {
    background-color: #DEAF81; /* Cambia a Beige */
    transform: translateY(-3px);
}

.btn-cierre-secundario {
    border: 2px solid #F9F0E7; /* Borde Crema */
    color: #F9F0E7;
    padding: 16px 35px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
    font-size: 14px;
}
/* RESPONSIVE */
@media (max-width: 768px) {
    .cierre-titulo { font-size: 26px; }
    .cierre-acciones { flex-direction: column; }
    .btn-cierre-principal, .btn-cierre-secundario { width: 100%; box-sizing: border-box; }
}/* End custom CSS */