/*!
 * Estilos del footer: grid de widgets, columnas, barra inferior y créditos.
 *
 * @package AlexiaSoft
 * @since   1.0.0
 */
#ast-footer {
    background: var(--color-footer-bg);
    color: var(--color-footer-text);
    padding: 60px var(--container-padding) 36px;
}

.ast-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    margin-bottom: 32px;
}

/* Columna marca */
.ast-footer-brand p {
    font-size: .9rem;
    line-height: 1.7;
    margin: 16px 0 24px;
    color: rgba(255,255,255,.55);
}

.ast-footer-social { display: flex; gap: 10px; }

.ast-social-btn {
    width: 38px; height: 38px;
    background: rgba(255,255,255,.08);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.65);
    font-size: .9rem;
    transition: background var(--transition), color var(--transition);
}

.ast-social-btn:hover { background: var(--color-primary); color: #fff; }

/* Columnas de links */
.ast-footer-col h4 {
    font-size: .8rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 18px;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.ast-footer-col ul { list-style: none; margin: 0; padding: 0; }

.ast-footer-col li { margin-bottom: 10px; }

.ast-footer-col a {
    font-size: .88rem;
    color: rgba(255,255,255,.55);
    transition: color var(--transition);
}

.ast-footer-col a:hover { color: #fff; }

/* Barra inferior */
.ast-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
    font-size: .82rem;
    color: rgba(255,255,255,.4);
}

.ast-footer-credits a { color: rgba(255,255,255,.4); }
.ast-footer-credits a:hover { color: #fff; }

.ast-footer-bottom-links { display: flex; gap: 20px; }
.ast-footer-bottom-links a { color: rgba(255,255,255,.4); transition: color var(--transition); }
.ast-footer-bottom-links a:hover { color: #fff; }

/* Logo en footer */
.ast-footer-brand .ast-brand-logo {
    width: 40px; height: 40px;
    background: var(--color-primary);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 900; font-size: 18px;
    margin-bottom: 12px;
}

@media (max-width: 1024px) {
    .ast-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media (max-width: 640px) {
    .ast-footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .ast-footer-bottom { flex-direction: column; text-align: center; }
}
