/* Footer Styles */
.footer-custom {
    padding: 80px 0 0px;
    margin-top: 80px;
}

/* Footer Top Styles */
.footer-top {
    padding-bottom: 40px;
}

.footer-heading {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #5E6A39;
    margin-bottom: 20px;
}

.footer-address {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%; /* Aumentado para mejor legibilidad */
    letter-spacing: 0.07em;
    color: #5E6A39;
}

.footer-phone {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 100%;
    letter-spacing: 0.07em;
    color: #5E6A39;
    margin-bottom: 15px;
    text-decoration: none;
    display: inline-block;
    transition: color 0.3s ease;
}

.footer-phone:hover {
    color: #AE531A;
    text-decoration: none;
}

.footer-email {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0.07em;
    color: #AE531A;
    text-decoration: none;
    position: relative;
}

/* Underline para las dos primeras letras del email */
.footer-email::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 18px; /* Ancho aproximado para dos letras */
    height: 1px;
    background-color: #AE531A;
    transition: all 0.3s ease;
}

.footer-email:hover {
    color: #5E6A39;
}

/* Al hacer hover, el underline cambia a 5 letras y adopta el color del hover */
.footer-email:hover::after {
    width: 45px; /* Ancho aproximado para cinco letras */
    background-color: #5E6A39;
}

/* Alinear contacto en la parte inferior */
#footer-contact, #footer-social {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

/* Social Circle */
.social-circle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #AE531A;
    color: #FAF2E5;
    transition: all 0.3s ease;
}

.social-circle:hover {
    background-color: #5E6A39;
}

.social-circle i {
    font-size: 20px;
}

/* Separator */
.footer-separator {
    height: 1px;
    background-color: #AE531A;
    width: 100%;
}

/* Footer Bottom */
.footer-copyright {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0.07em;
    color: #5E6A39;
    margin-bottom: 0;
}

.footer-links {
    display: inline-block;
}

.legal-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.07em;
    color: #5E6A39;
    text-decoration: none;
}

.legal-link:hover {
    color: #AE531A;
}

/* Responsive Styles */
@media (max-width: 992px) {
    .footer-custom {
        padding: 60px 0 30px;
    }
    
    .footer-top {
        padding-bottom: 30px;
    }
    
    .footer-bottom .col-lg-4 {
        text-align: center !important;
        margin-bottom: 20px;
    }
    
    .social-circle {
        margin-top: 20px;
    }
}

/* ===================================
    Tablet Specific Layout (769px - 992px)
====================================== */
@media (min-width: 769px) and (max-width: 992px) {
    /* Footer bottom en dos filas para tablet */
    .footer-bottom {
        margin-top: 30px; /* Espacio adicional entre footer-separator y footer-bottom */
    }
    
    .footer-bottom .row {
        display: flex; /* Usar flexbox para mejor control */
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
    
    /* Primera fila: Copyright a la izquierda */
    .footer-bottom .col-lg-4:nth-child(1) {
        width: auto;
        text-align: left !important;
        margin-bottom: 15px;
        flex: 0 0 auto;
    }
    
    /* Primera fila: Enlaces legales a la derecha */
    .footer-bottom .col-lg-4:nth-child(2) {
        width: auto;
        text-align: right !important;
        margin-bottom: 15px;
        flex: 0 0 auto;
    }
    
    /* Segunda fila: Imágenes alineadas a la derecha */
    .footer-bottom .col-lg-4:last-child {
        width: 100%;
        text-align: right !important;
        margin-bottom: 0;
        margin-top: 15px;
        flex: 0 0 100%;
    }
    
    /* Asegurar que las imágenes estén en línea */
    .footer-logo,
    .footer-logo-2 {
        display: inline-block;
        margin-left: 10px;
    }
}

/* Media query para pantallas intermedias: mantener enlaces en una línea */
@media (min-width: 993px) and (max-width: 1445px) {
    .footer-links {
        display: inline-block;
        text-align: center;
        white-space: nowrap;
    }
    
    .legal-link {
        font-size: 13px;
        margin-right: 6px;
    }
    
    .footer-links a:nth-child(1),
    .footer-links a:nth-child(2) {
        margin-bottom: 0;
    }
}

@media (max-width: 768px) {
    /* Footer mobile adjustments - todo alineado a la izquierda */
    .footer-bottom .col-lg-4 {
        text-align: left !important;
        margin-bottom: 15px;
    }
    
    .footer-phone {
        font-size: 22px;
    }
    
    /* Textos legales en la misma línea con fuente reducida */
    .footer-links {
        display: inline-block;
        text-align: left;
    }
    
    .legal-link {
        font-size: 12px; /* Fuente reducida para móvil */
        margin-right: 8px; /* Espaciado entre enlaces */
    }
    
    .footer-links a:nth-child(1),
    .footer-links a:nth-child(2) {
        margin-bottom: 0; /* Eliminar margin-bottom para que estén en línea */
    }
    
    .footer-separator {
        margin-bottom: 30px;
    }
    
    /* Logos del kit digital alineados a la izquierda */
    .footer-bottom .col-lg-4:last-child {
        text-align: left !important;
    }
    
    .footer-logo, .footer-logo-2 {
        margin-bottom: 10px;
    }
}