/* ── Footer: contraste WCAG AA (mínimo 4.5:1 sobre #f8f8f8) ──────────────── */
footer.footer,
footer.footer p,
footer.footer li,
footer.footer a {
    color: #595959;
}

footer.footer a:hover {
    color: #222;
}

/* Mejora de contraste para texto general y bloques secundarios (WCAG AA). */
:root,
[data-bs-theme="light"] {
    --bs-body-color: #595959;
    --bs-body-color-rgb: 89, 89, 89;
    --bs-secondary-color: rgba(89, 89, 89, 0.9);
    --bs-secondary-color-rgb: 89, 89, 89;
    --bs-secondary-text: #4a4a4a;
    --bs-link-color: #1f3f5b;
    --bs-link-hover-color: #0b4f8a;
}

body,
p,
.text-secondary {
    color: var(--bs-body-color);
}

.bg-body-secondary,
.bg-body-secondary p,
.bg-body-secondary li {
    color: #3f3f3f;
}

.bg-body-secondary a:not(.btn) {
    color: #0b4f8a;
    text-decoration: underline;
}

@media (max-width: 1199.98px) {
    .hero .hero-content,
    .hero .hero-content * {
        color: #fff !important;
    }

    .hero .bg-overlay::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1;
    }
}

/* Las reglas anti-CLS del hero y de los carruseles de producto viven ahora
   inline en <head> (templates/includes/head.html.twig), no aquí: verificado
   con Chrome real que, al ser custom.css una petición de red aparte de
   theme.css, podía llegar justo después de que el motor ya hubiera calculado
   un primer layout sin esta regla aplicada — la ventana exacta donde se
   colaba el salto de layout más grande de la home. Poniéndolas inline se
   elimina esa ventana de carrera por completo. */
