/* --- CONFIGURACIÓN GENERAL DEL FOOTER --- */
footer {
    background-color: #0069cc; /* Azul principal */
    color: white;
    width: 100%;
    position: relative;
    z-index: 10;
    font-size: 0.95rem;
    clear: both;
}

/* --- LOGO --- */
.footer-logo img {
    width: 180px;
    max-width: 100%;
    height: auto;
    display: block;
    filter: brightness(0) invert(1);
    margin-bottom: 1rem;
}

/* --- TÍTULOS --- */
footer h5 {
    font-weight: 700;
    margin-bottom: 1.2rem;
    color: #fff;
    font-size: 1.1rem;
}

/* --- TEXTOS --- */
footer p {
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.6;
}

/* --- ENLACES --- */
.footer-link {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all 0.3s ease;
    display: block;
    margin-bottom: 0.5rem;
}

.footer-link:hover {
    color: #4FD1C5;
    transform: translateX(5px);
}

/* --- INPUTS Y BOTONES --- */
.footer-input {
    border-radius: 4px;
    border: none;
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
}

.footer-input:focus {
    box-shadow: none;
    outline: 2px solid #4FD1C5;
}

.footer-btn {
    border-radius: 4px;
    font-weight: bold;
    background-color: #f8f9fa;
    color: #0069cc;
    border: none;
    transition: background-color 0.2s;
    padding: 0.4rem 1rem;
}

.footer-btn:hover {
    background-color: #e2e6ea;
    color: #0056b3;
}

/* --- REDES SOCIALES --- */
.social-icons {
    display: flex;
    gap: 15px;
    margin-top: 1rem;
}

.social-link {
    color: rgba(255, 255, 255, 0.7);
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
}

.social-link:hover {
    color: #4FD1C5;
    transform: translateY(-3px);
}

.social-link svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* --- NUEVA BARRA INFERIOR (COPYRIGHT) --- */
.footer-bottom {
    background-color: #0056b3; /* Un tono más oscuro para diferenciarla */
    font-size: 0.8rem;
}

.footer-bottom p {
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

.copyright-text span {
    font-size: 0.9rem;
    vertical-align: middle;
}

/* ── TABLET (≤ 992px) ──────────────────────────────────────── */
@media (max-width: 992px) {
    footer .container > .row { gap: 0; }
    footer h5 { font-size: 1rem; margin-bottom: 1rem; }
    .footer-logo img { width: 150px; }
}

/* ── MÓVIL GRANDE (≤ 768px) ────────────────────────────────── */
@media (max-width: 768px) {
    footer .container { padding-top: 2.5rem !important; padding-bottom: 2rem !important; }

    /* Columnas en una sola columna */
    footer .row.gy-4 > [class*="col-"] {
        width: 100%;
        text-align: center;
    }

    .footer-logo { text-align: center; }
    .footer-logo img { margin: 0 auto 1rem; width: 140px; }

    footer p { font-size: .88rem; }
    footer h5 { margin-top: 1.5rem; }

    /* Primera columna no necesita margen top */
    footer .row.gy-4 > [class*="col-"]:first-child h5 { margin-top: 0; }
    footer .row.gy-4 > [class*="col-"]:first-child footer h5 { margin-top: 0; }

    /* Links centrados */
    .footer-link { text-align: center; }
    .footer-link:hover { transform: none; }

    /* Social icons centrado */
    .social-icons { justify-content: center; }

    /* Métodos de pago */
    .footer-bottom .row { flex-direction: column; gap: .5rem; text-align: center !important; }
    .footer-bottom .col-md-6 { text-align: center !important; }
    .footer-bottom p { text-align: center !important; }
}

/* ── MÓVIL PEQUEÑO (≤ 480px) ───────────────────────────────── */
@media (max-width: 480px) {
    footer { font-size: .88rem; }
    footer h5 { font-size: .95rem; }
    .footer-logo img { width: 120px; }
    .social-icons { gap: 12px; }
    .social-link svg { width: 18px; height: 18px; }
    .footer-bottom { padding: .6rem 0; }
}