/*======================================[SECCION DE TIPOGRAFIAS]======================================*/
@font-face {
    font-family: "HelveticaRoman55";
    src: url('../assets/fonts/Main_Fonts/Helvetica\ Neue\ LT\ Std\ 55\ Roman.otf');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "HelveticaBlack95";
    src: url('../assets/fonts/Main_Fonts/Helvetica\ Neue\ LT\ Std\ 95\ Black.otf');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "HelveticaMedium65";
    src: url('../assets/fonts/Main_Fonts/Helvetica\ Neue\ LT\ Std\ 65\ Medium.otf');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "HelveticaCondensed77";
    src: url('../assets/fonts/Main_Fonts/Helvetica\ Neue\ LT\ Std\ 77\ Bold\ Condensed.otf');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "HelveticaExtraBlackCondensed107";
    src: url('../assets/fonts/Main_Fonts/Helvetica\ Neue\ LT\ Std\ 107\ Extra\ Black\ Condensed.otf');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "RubikBold";
    src: url('../assets/fonts/Main_Fonts/Rubik-Bold.ttf');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "RubikMedium";
    src: url('../assets/fonts/Main_Fonts/Rubik-Medium.ttf');
    font-weight: normal;
    font-style: normal;
}
/*====================================================================================================*/
/* ═══════════════════════════════════════
   GLOBAL HEADER - KW México
   Usar en todas las secciones del proyecto
═══════════════════════════════════════ */

/* ── Header wrapper ── */
header {
    position: sticky; /* ← cambiado de fixed a sticky */
    top: 0;
    z-index: 1000;
    width: 100%;
}

/* ── Barra principal ── */
.main-menu-sticky-header {
    background-color: black;
    width: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 100px 500px 50px;
    padding: 10px 40px 10px 40px;
    justify-content: space-between;
    align-items: center;
}

/* ── Logo / Index ── */
.main-menu-sticky-header-index-img {
    width: 100%;
    height: 50px;
    display: block;
    cursor: pointer;
    object-fit: contain;
}

/* ── Nav central ── */
.main-menu-sticky-header-navtab {
    background-color: rgba(114, 114, 114, 0.5);
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-radius: 25px;
    overflow: hidden;
    font-family: "HelveticaRoman55", sans-serif;
}

/* ── Nav: secciones de 3 items (propiedades, agentes, oficinas) ── */
.main-menu-sticky-header-navtab.navtab-sections {
    grid-template-columns: repeat(3, 1fr); /* ← variante para secciones internas */
}

.main-menu-sticky-header-navtab-item {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    padding: 14px 0px;
    font-size: 14px;
    transition: background-color 0.2s ease;
}
.main-menu-sticky-header-navtab-item:hover {
    background-color: rgba(154, 154, 154, 0.7);
}
.main-menu-sticky-header-navtab-item.active {
    background-color: rgba(206, 1, 31, 0.8); /* ← ítem activo según sección */
    font-family: "HelveticaMedium65", sans-serif;
}

/* ── Botón opciones (hamburger) ── */
.main-menu-sticky-header-options-tab {
    justify-self: end;
    background-color: rgb(206, 1, 31);
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.main-menu-sticky-header-options-tab-icon {
    width: 25px;
    height: 15px;
}

/* ── Submenú desplegable ── */
.main-menu-options-submenu {
    background-color: rgb(206, 1, 31);
    position: fixed;
    width: 300px;
    z-index: 1000;
    border-radius: 0px 0px 15px 15px;
    overflow: hidden;
    font-family: "HelveticaMedium65", sans-serif;
    padding-top: 30px;
    display: none; /* ← JS controla esto, no tocar */
}
.main-menu-options-submenu-items {
    color: white;
    padding: 30px 0px 30px 30px;
    text-align: left;
    font-size: medium;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.main-menu-options-submenu-items:hover {
    background-color: rgb(99, 10, 23);
}
.main-menu-options-submenu-items-line {
    background-color: rgba(255, 255, 255, 0.3);
    width: 80%;
    justify-self: center;
    height: 1px; /* ← más sutil */
}


.global-footer-container{
    background-color: rgb(9, 0, 1);
    box-sizing: border-box;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 30px 20px 50px 20px;
    border-top: 1px solid whitesmoke;
}
.global-footer-container-logo{
    /*background-color: yellow;*/
    width: 100px;
    height: 100%;
    object-fit: contain; 
    display: block;
}
.global-footer-container-menu{
    /*background-color: magenta;*/
    width: 300px;
    justify-self: end;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 15px;
}
.global-footer-container-menu-item{
    /*background-color: yellow;
    border: 1px solid red;*/
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: small;
    font-family: 'HelveticaBlack95', sans-serif;
    cursor: pointer;
}

.global_thrash_Relleno{
    background-color: greenyellow;
    width: 100%;
    height: auto;
}

/* ---- TABLET (≤ 1024px) ---- */
@media (max-width: 1024px) {
}

/* ---- MÓVIL (≤ 768px) ---- */
@media (max-width: 768px) {
    .main-menu-sticky-header{
        grid-template-columns: auto 400px 50px;
    }
    .main-menu-sticky-header-index-img{
        height: 40px;
    }
    .main-menu-sticky-header-options-tab{
        width: 40px;
        height: 40px;
    }
    .main-menu-sticky-header-options-tab-icon{
        width: 15px;
    }
}

/* ---- MÓVIL PEQUEÑO (≤ 480px) ---- */
@media (max-width: 480px) {
    .main-menu-sticky-header{
        padding: 10px 20px 10px 20px;
        grid-template-columns: 1fr 1fr;
        row-gap: 25px;
    }
    .main-menu-sticky-header-navtab{
        grid-row:2;
        grid-column:1/-1;
    }
    .main-menu-sticky-header-navtab-item{
        font-size: 16px;
    }
    .main-menu-sticky-header-index-img{
        width: 50%;
        height: 50px;
    }
    .main-menu-sticky-header-options-tab{
        width: 50%;
        height: 50px;
    }
    .main-menu-sticky-header-options-tab-icon{
        width: 20px;
        height: 25px;
    }
}