/* OPTIMIZACIÓN DE CSS - ARQUITECTURA SENIOR 
   Cambios principales:
   1. Creación de variables para colores corporativos (#ea7600, #ef7b00, #00a1e4).
   2. Eliminación de bloques duplicados en la sección de 'custom-modal'.
   3. Consolidación de shorthand properties para margin, padding y transiciones.
   4. Agrupación de selectores con estilos idénticos.
*/

:root {
    --color-primary: #ea7600;
    --color-primary-alt: #ef7b00;
    --color-blue: #00a1e4;
    --color-text-dark: #333;
    --color-white: #fff;
    --color-gray-light: #ddd;
}

/* Base & Layout */
body {
    overflow-x: hidden;
}
.nav-link.active[aria-selected="true"]{
    color: var(--color-primary);
}
.color-primary{
    color: var(--color-primary);
}
body.modal-open-custom {
    overflow: hidden;
}

.tab-content > .tab-pane {
    display: none;
}

.tab-content > .active {
    display: block !important;
}

span.custom-modal-close {
    visibility: hidden;
}

.fade {
    opacity: 0;
    transition: opacity 0.15s linear;
}

.fade.show {
    opacity: 1;
}

.justify-content-center {
    justify-content: center !important;
}

.p-30 {
    padding: 30px;
}
.decolamProducts img.img-fluid {
    max-width: 100%;
}
/* Componentes Específicos */
#taxonomy-carousel .owl-item picture img {
    height: 400px; /* Simplificado con height en lugar de min/max si son iguales */
    background-size: cover;
    object-fit: cover;
}

.submenu-fixed.sticky a:focus {
    color: #696158;
}

.description.margin-tb-medium,
.productos.disenos.margin-tb-medium {
    margin-top: .5em;
}

.description.margin-tb-medium {
    margin-bottom: .5em;
}

#tax-hilam.container-overlay.productos-marca .logo-position.p-center {
    bottom: 22%;
}

.cajacolecciones {
    margin-top: -50px;
    position: relative;
    z-index: 1;
}

.descargables-renova .tabs.tabs-atributos a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

/* Navegación y Tabs */
.disenos .nav-tabs.lots > li {
    margin: 5px 30px;
}

.disenos .nav-tabs.lots > li > a {
    padding: 0;
    font-size: .75em;
}

.disenos .nav.lots > li > a > img {
    max-width: 125px;
}

.disenos.collections-in .lots img.img-responsive {
    margin: 10px;
}

.productos .nav-tabs > li > a.highlight,
.productos .nav-tabs > li.active > a.highlight {
    color: var(--color-primary) !important;
    font-weight: bold;
    font-size: 13px;
}

.icono-arauco-online {
    position: absolute;
    height: 25px;
    width: 25px;
    z-index: 10;
    right: 30px;
    top: 6px;
    padding-right: 3px;
    background-color: var(--color-primary-alt);
    color: var(--color-white);
}

.disenos .tab-content .item h4 {
    color: #000;
}

.disenos.collections-in .nav-tabs > li.active > a, 
.disenos.collections-in .nav-tabs > li.active > a:focus, 
.disenos.collections-in .nav-tabs > li.active > a:hover, 
.disenos.collections-in .nav-vertical > li > a:hover,
.descargables-renova .nav-tabs > li.active > a, 
.descargables-renova .nav-tabs > li.active > a:focus, 
.descargables-renova .nav-tabs > li.active > a:hover, 
.descargables-renova .nav-vertical > li > a:hover {
    color: var(--color-primary);
}

.disenos .tab-content .img-subcontainer img {
    min-height: 210px;
}

#att-info-tecnica img.img-rounded {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    display: block;
}

div#att-carousel {
    width: 70%;
    margin: 2.5% auto;
}

.text a.title {
    text-decoration: none !important;
    margin-top: 10px;
}

/* MODAL PERSONALIZADO (Consolidado) */
.custom-modal-overlay {
    display: none;
    position: fixed;
    z-index: 99999;
    inset: 0; /* Shorthand para top, left, width, height */
    background-color: rgba(0,0,0,0.8);
    overflow-y: auto;
}

.custom-modal-content {
    background-color: var(--color-white);
    margin: 5% auto;
    padding: 30px;
    border-radius: 0;
    width: 80%;
    max-width: 850px;
    position: relative;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.custom-modal-close {
    position: absolute;
    right: 20px;
    top: 10px;
    color: var(--color-text-dark);
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
}

.custom-modal-close:hover {
    color: var(--color-primary);
}

.modal-flex-container {
    display: flex;
    gap: 30px;
    align-items: stretch;
}

.modal-gallery-column { width: 45%; }
.modal-info-column { 
    width: 55%; 
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.modal-text-content { flex-grow: 1; }

.img-main {
    width: 100%;
    height: auto;
    border: 2px solid var(--color-primary);
    margin-bottom: 10px;
    display: block;
}

.thumbnail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 10px;
}

.thumb-item {
    cursor: pointer;
    border: 1px solid var(--color-gray-light);
    transition: border 0.3s;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ccc;
}

.thumb-item:hover {
    border-color: var(--color-primary);
}

.thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal-title {
    font-size: 24px;
    color: var(--color-text-dark);
    margin-bottom: 15px;
}

.modal-description {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.modal-downloads { margin-bottom: 30px; }

.download-link {
    display: block;
    color: var(--color-primary) !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 8px;
}

.btn-close-custom {
    background-color: var(--color-primary-alt);
    color: var(--color-white);
    border: none;
    padding: 10px 30px;
    border-radius: 5px;
    float: right;
    cursor: pointer;
    font-weight: bold;
}

.modal-footer-action { margin-top: 20px; }

/* Marketplace e Instagram */
#sb_instagram #sbi_mod_link, 
#sb_instagram #sbi_mod_error {
    display: none !important;
    opacity: 0 !important;
    color: var(--color-white);
    background: var(--color-white);
}

#dondeComprarMarket .modal-content {
    width: 100% !important;
}

.modal-open #dondeComprarMarket.modal {
    max-width: 100%;
}

#iframe-section {
    margin: 30px 0 0 0;
    padding: 0;
}

#iframe-marketplace {
    height: 130vh;
    width: 100%;
    overflow: hidden;
}

#sticky-popup {
    position: fixed;
    display: block;
    width: 270px;
    height: 270px;
    background: var(--color-primary);
    color: var(--color-white);
    padding: 20px;
    right: 0;
    bottom: 7%;
    transition: all 0.3s ease;
    opacity: 1;
}

#sticky-popup h1 { font-size: 1.3em; }
#sticky-popup p { font-size: 1em; }
#sticky-popup a.mkp {
    display: block;
    font-size: .9em;
    margin-top: 50px;
    color: #dadada;
}

#sticky-popup .close {
    opacity: .75;
    position: absolute;
    display: block;
    top: 10px;
    right: 10px;
    color: var(--color-white);
}

.d-none {
    opacity: 0 !important;
}

.tab-content article.item.text-center img {
    height: 210px;
    width: 200px;
    object-fit: cover;
}
/*---*/
/* Contenedor padre debe ser relativo para que las flechas se peguen a él */
.descargables-renova .tab-pane {
    position: relative !important;
    padding: 0 50px !important; /* Espacio para que las flechas no tapen el contenido */
}

/* Botones de navegación */
.owl-descargables .owl-nav .owl-prev,
.owl-descargables .owl-nav .owl-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background-color: transparent !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    border: none !important;
    cursor: pointer !important;
    z-index: 999 !important;
}

/* Flecha Izquierda */
.owl-descargables .owl-nav .owl-prev {
   
    left: -30px !important;
    background-image: url('img/arrow-left.svg') !important;
}

/* Flecha Derecha */
.owl-descargables .owl-nav .owl-next {
    
    right: -30px !important;
    background-image: url('img/arrow-right.svg') !important;
}

/* Si están desactivadas, que no desaparezcan, solo que se vean tenues */
.owl-descargables .owl-nav .disabled {
    opacity: 0.2 !important;
    display: block !important;
}

/* Eliminar cualquier puntito o texto extraño que Owl ponga por defecto */
.owl-descargables .owl-nav  span {
    display: none !important;
}

.owl-nav i{
    visibility: hidden;
}
/* MEDIA QUERIES PRESERVADOS */

@media screen and (max-width: 1366px) {
    #iframe-marketplace {
        height: 150vh;
    }
}

@media screen and (max-width: 1366px) { /* Nota: El código original tenía este duplicado */
    #iframe-marketplace {
        height: 200vh;
    }
}

@media screen and (max-height: 550px) {
    #iframe-marketplace {
        height: 220vh;
    }
}

@media screen and (max-width: 992px) {
    .descargables-renova .tabs-atributos .nav-tabs > li {
        width: 30%;
    }
    .renovaProducts {
        padding: 50px 50px 20px 50px;
    }
    .disenos.collections-in .nav-tabs {
        display: block !important;
        overflow: hidden;
    }
    .renovaTabs {
        padding: 0;
    }
}

@media (max-width: 768px) {
    .modal-flex-container { flex-direction: column; }
    .modal-gallery-column, .modal-info-column { width: 100%; }
    article.item.text-center { text-align: center; }
    div#att-info-tecnica img.img-responsive.img-rounded { margin: auto; }
    ul.nav.nav-tabs.nav-tabs-2.justify-content-center { display: flex; justify-content: space-around !important; }
    .tabs.tabs-atributos a i { margin-left: 0px;}
}

@media (max-width: 576px) {
    .cajacolecciones .nav-tabs > li {
        margin-bottom: 0;
        display: block !important;
        width: auto !important;
    }
    .nav-tabs > li, .nav-tabs-2 > li {
        width: auto;
        text-align: center;
        margin-bottom: 1em;
        display: inline-block !important;
        float: none !important;
    }
}

@media screen and (max-height: 767px) {
    #sticky-popup {
        display: none;
    }
    .renovaProducts {
        padding: 50px 30px;
        color: #000;
        text-align: left;
    }
    .disenos .tab-content a img {
        min-width: inherit;
        width: 100%;
    }
    .productos-marca .nav-tabs > li.active > a {
        color: var(--color-primary) !important;
        background-color: transparent !important;
        padding: 10px;
    }
    .collections-in .nav-tabs {
        display: flex !important;
        flex-direction: row;
        overflow-x: auto;
        justify-content: flex-end;
    }
    .collections-in .nav-tabs > li > a {
        text-align: center;
        padding: 10px;
        white-space: nowrap;
    }
    .nav-tabs > li {
        margin: 0 20px;
    }
    .tabs-atributos .nav-tabs > li {
        width: 30%;
        margin: 0 5px;
    }
    .nav-tabs-2 > li > a, 
    .nav-tabs-2 > li.active > a, 
    .nav-tabs-2 > li.active > a:hover, 
    .nav-tabs-2 > li.active > a:focus {
        padding: 10px;
    }
    .nav-tabs > li > .sameHeight {
        flex-wrap: wrap;
    }
    .nav-tabs > li > .sameHeight i {
        display: none;
    }
    .tabs.tabs-atributos .nav-tabs a:hover {
        color: var(--color-primary);
    }
    
}