/* ==========================================================================
   css/footer-enhanced.css - Compact, Perfectly Balanced Left-Aligned B2B Footer
   Continuidad estética: Glassmorphic Dark Blue + Luxury Gold Trim + Microtrama
   ========================================================================== */

/* Reseteo y Contenedor Principal */
.site-footer {
    position: relative !important;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(3, 7, 18, 0.99) 100%) !important;
    border-top: 1.5px solid rgba(255, 215, 0, 0.35) !important;
    box-shadow: 0 -4px 25px rgba(0, 0, 0, 0.85), 0 -1px 12px rgba(255, 215, 0, 0.1) !important;
    padding: 32px 0 18px !important;
    color: #cbd5e1 !important;
    overflow: hidden !important;
    z-index: 10 !important;
    text-align: left !important;
}

/* Micro-trama digital de gabinete idéntica al header */
.site-footer::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 3px,
        rgba(255, 255, 255, 0.012) 3px,
        rgba(255, 255, 255, 0.012) 6px
    ) !important;
    pointer-events: none !important;
}

.site-footer .container {
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    position: relative !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
}

/* Grid de 3 Columnas Proporcionadas con Alineación Superior Común */
.site-footer .footer-content {
    display: grid !important;
    grid-template-columns: 1.35fr 1fr 1fr !important;
    gap: 32px !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    align-items: flex-start !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: left !important;
}

.site-footer .footer-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 1. Columna de Marca */
.site-footer .footer-about {
    padding-right: 12px !important;
}

.site-footer .footer-logo {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    display: inline-block !important;
}

.site-footer .footer-logo-img {
    max-width: 140px !important;
    height: auto !important;
    display: block !important;
    filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.6)) !important;
    transition: transform 0.25s ease !important;
}

.site-footer .footer-logo:hover .footer-logo-img {
    transform: translateY(-2px) !important;
}

.site-footer .footer-description {
    font-size: 0.84rem !important;
    line-height: 1.55 !important;
    color: #94a3b8 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: 270px !important;
}

/* 2. & 3. Títulos de Columna Homologados y a la Izquierda */
.site-footer .footer-column-title {
    font-family: 'Syne', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.86rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.2 !important;
    display: block !important;
}

/* Lista de Navegación Compacta */
.site-footer .footer-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
}

.site-footer .footer-menu li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
}

.site-footer .footer-menu li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #94a3b8 !important;
    text-decoration: none !important;
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    transition: color 0.18s ease, transform 0.18s ease !important;
    padding: 1px 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.site-footer .footer-menu li a:hover {
    color: #ffffff !important;
    transform: translateX(3px) !important;
}

.site-footer .footer-menu li a i {
    font-size: 0.62rem !important;
    color: #fbbf24 !important;
    opacity: 0.75 !important;
    transition: opacity 0.18s !important;
}

.site-footer .footer-menu li a:hover i {
    opacity: 1 !important;
}

/* 3. Columna de Contacto Directo */
.site-footer .footer-contact-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
}

.site-footer .contact-detail-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #94a3b8 !important;
    font-size: 0.84rem !important;
    text-decoration: none !important;
    transition: color 0.18s ease !important;
    line-height: 1.4 !important;
    padding: 1px 0 !important;
    text-align: left !important;
}

.site-footer .contact-detail-item:hover {
    color: #ffffff !important;
}

.site-footer .contact-detail-item i {
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 215, 0, 0.08) !important;
    border: 1px solid rgba(255, 215, 0, 0.2) !important;
    border-radius: 5px !important;
    color: #fbbf24 !important;
    font-size: 0.68rem !important;
    flex-shrink: 0 !important;
}

/* Micro-Cápsulas de Redes Sociales */
.site-footer .footer-social-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: flex-start !important;
}

.site-footer .social-circle-link {
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(15, 23, 42, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 50% !important;
    color: #94a3b8 !important;
    text-decoration: none !important;
    font-size: 0.78rem !important;
    transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.site-footer .social-circle-link:hover {
    color: #ffd700 !important;
    border-color: rgba(255, 215, 0, 0.5) !important;
    background: rgba(255, 215, 0, 0.12) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 3px 10px rgba(255, 215, 0, 0.25) !important;
}

/* ==========================================================================
   BARRA INFERIOR DE COPYRIGHT Y ENLACES LEGALES
   ========================================================================== */

.site-footer .footer-bottom-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-top: 14px !important;
    margin-top: 18px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.site-footer .footer-copyright-text {
    font-size: 0.78rem !important;
    color: #94a3b8 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.site-footer .footer-legal-nav {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: flex-end !important;
}

.site-footer .footer-legal-link {
    color: #94a3b8 !important;
    font-size: 0.78rem !important;
    text-decoration: none !important;
    transition: color 0.18s ease !important;
}

.site-footer .footer-legal-link:hover {
    color: #ffd700 !important;
}

.site-footer .footer-legal-separator {
    color: rgba(255, 255, 255, 0.2) !important;
    font-size: 0.7rem !important;
}

/* ==========================================================================
   DESKTOP VS MOBILE RULES
   ========================================================================== */

@media (min-width: 769px) {
    .site-footer .footer-links {
        width: 100% !important;
    }
    .site-footer .footer-contact-col {
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    .site-footer {
        padding: 24px 0 16px !important;
        background: #060911 !important;
        border-top: 1px solid rgba(255, 215, 0, 0.22) !important;
    }

    .site-footer .container {
        padding: 0 20px !important;
    }

    /* Flujo Editorial sin contenedores encajonados: Marca -> Contacto (Héroe) -> Navegación (Secundaria) */
    .site-footer .footer-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin: 0 0 12px 0 !important;
        align-items: stretch !important;
    }

    /* 1. Marca & Esencia: Ligera y sin líneas divisorias pesadas */
    .site-footer .footer-about {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        width: 100% !important;
    }

    .site-footer .footer-logo {
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        display: inline-block !important;
    }

    .site-footer .footer-logo-img {
        max-width: 95px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .site-footer .footer-description {
        max-width: 270px !important;
        font-size: 0.70rem !important;
        line-height: 1.35 !important;
        color: #64748b !important;
        text-align: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        font-weight: 400 !important;
    }

    /* 2. ACTOR PRINCIPAL: Contacto B2B Editorial (Directorio Arquitectónico sin cajas ni tarjetas) */
    .site-footer .footer-contact-col {
        order: 2 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        text-align: left !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        margin: 2px 0 0 0 !important;
    }

    .site-footer .footer-contact-col .footer-column-title {
        font-size: 0.64rem !important;
        color: #fbbf24 !important;
        letter-spacing: 2px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
        display: block !important;
    }

    /* Líneas táctiles completas con hairlines mínimas y flecha de acción (Sin píldoras ni marcos) */
    .site-footer .footer-contact-details {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    .site-footer .contact-detail-item {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 10px 2px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        transition: background-color 0.15s ease !important;
    }

    .site-footer .contact-detail-item:active {
        background: rgba(255, 215, 0, 0.04) !important;
    }

    .site-footer .contact-detail-item i {
        color: #fbbf24 !important;
        font-size: 0.78rem !important;
        width: 18px !important;
        height: auto !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-right: 8px !important;
    }

    .site-footer .contact-detail-item span {
        font-size: 0.82rem !important;
        font-weight: 600 !important;
        color: #f1f5f9 !important;
        letter-spacing: 0.2px !important;
        line-height: 1 !important;
    }

    .site-footer .contact-detail-item::after {
        content: '↗' !important;
        font-size: 0.85rem !important;
        color: rgba(255, 215, 0, 0.55) !important;
        font-weight: 400 !important;
        margin-left: auto !important;
        line-height: 1 !important;
        transition: transform 0.15s ease, color 0.15s ease !important;
    }

    .site-footer .contact-detail-item:active::after {
        color: #ffd700 !important;
        transform: translate(2px, -2px) !important;
    }

    /* Redes Sociales: Glifos vectoriales puros, sin cajas ni círculos plásticos */
    .site-footer .footer-social-group {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 22px !important;
        margin: 2px 0 0 0 !important;
        padding: 0 !important;
    }

    .site-footer .social-circle-link {
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        color: #94a3b8 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0.95rem !important;
        padding: 4px !important;
        transition: color 0.2s ease, transform 0.2s ease !important;
    }

    .site-footer .social-circle-link:active {
        color: #ffd700 !important;
        background: transparent !important;
        transform: scale(1.15) !important;
    }

    /* 3. ACTOR SECUNDARIO: Navegación Continua en Línea Tipográfica (Sin chips, sin cajas) */
    .site-footer .footer-links {
        order: 3 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0 !important;
        margin: 2px 0 0 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .site-footer .footer-links .footer-column-title {
        display: none !important; /* Elimina título redundante para ahorrar altura y ruido */
    }

    .site-footer .footer-menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 4px 6px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .site-footer .footer-menu li {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-footer .footer-menu li:not(:last-child)::after {
        content: '·' !important;
        color: rgba(255, 255, 255, 0.18) !important;
        margin-left: 6px !important;
        font-size: 0.72rem !important;
    }

    .site-footer .footer-menu li a {
        display: inline-block !important;
        padding: 2px 2px !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        font-size: 0.70rem !important;
        color: #64748b !important;
        text-decoration: none !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
        transition: color 0.15s ease !important;
    }

    .site-footer .footer-menu li a i {
        display: none !important;
    }

    .site-footer .footer-menu li a:active {
        color: #f1f5f9 !important;
        background: transparent !important;
    }

    /* 4. Bottom Bar: Micro-Línea Legal & Copyright */
    .site-footer .footer-bottom-bar {
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
        gap: 5px !important;
        padding-top: 10px !important;
        margin-top: 6px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
        width: 100% !important;
    }

    .site-footer .footer-legal-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 2px 6px !important;
    }

    .site-footer .footer-legal-link {
        font-size: 0.64rem !important;
        color: #475569 !important;
        text-decoration: none !important;
        transition: color 0.15s ease !important;
    }

    .site-footer .footer-legal-link:active {
        color: #94a3b8 !important;
    }

    .site-footer .footer-legal-separator {
        font-size: 0.50rem !important;
        color: rgba(255, 255, 255, 0.12) !important;
    }

    .site-footer .footer-copyright-text {
        font-size: 0.62rem !important;
        color: #334155 !important;
        text-align: center !important;
        margin: 0 !important;
    }
}

@media (max-width: 380px) {
    .site-footer .contact-detail-item span {
        font-size: 0.76rem !important;
    }
}
