/* === OVERRIDES: se carga después de style.css === */

/* HERO */
#inicio.hero { display: flex !important; align-items: center !important; justify-content: center !important; padding-top: clamp(4.5rem, 8vw, 7rem) !important; padding-bottom: clamp(3.5rem, 6vw, 5.5rem) !important; box-sizing: border-box !important; }
#inicio .hero__content { display: grid !important; grid-template-columns: 1fr !important; gap: 2rem !important; align-items: center !important; justify-items: start !important; width: 100% !important; max-width: 1400px !important; margin-left: auto !important; margin-right: auto !important; padding-left: var(--container-padding) !important; padding-right: var(--container-padding) !important; box-sizing: border-box !important; text-align: left !important; }
@media (min-width: 1024px) { #inicio .hero__content { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important; gap: 3rem !important; } }
#inicio .hero__text-col { text-align: left !important; justify-self: start !important; }
#inicio .hero__title, #inicio .hero__text { max-width: 640px !important; margin-left: 0 !important; margin-right: auto !important; text-align: left !important; }
#inicio .hero__cta { align-self: flex-start !important; margin-left: 0 !important; }
#inicio .hero__media { display: flex !important; justify-content: flex-end !important; align-items: center !important; width: 100% !important; justify-self: stretch !important; }
#inicio .hero__image { max-width: 100% !important; height: auto !important; max-height: min(70vh, 640px) !important; object-fit: contain; display: block; }
@media (max-width: 1023px) { #inicio .hero__media { justify-content: center !important; } #inicio .hero__image { max-width: 320px !important; } }

/* FOOTER: 5 accesos en una sola línea */
.footer__contact { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 2rem 0 !important; width: 100% !important; max-width: 1400px !important; margin: 2.5rem auto !important; padding: 0 var(--container-padding) !important; list-style: none; box-sizing: border-box !important; }
.footer__contact > li { display: flex !important; justify-content: center !important; flex: none !important; }
.footer__contact-item { width: 100% !important; max-width: none !important; }
.footer__contact-data { white-space: nowrap !important; overflow-wrap: normal !important; font-size: clamp(0.7rem, 1.05vw, 0.95rem) !important; }
@media (max-width: 1099px) { .footer__contact { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .footer__contact-data { white-space: normal !important; overflow-wrap: anywhere !important; font-size: 0.9rem !important; } }
@media (max-width: 599px) { .footer__contact { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* === HERO: imagen grande === */
@media (min-width: 1024px) {
  #inicio .hero__content { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  #inicio .hero__image { width: 100% !important; max-width: 760px !important; max-height: min(85vh, 820px) !important; }
}
@media (max-width: 1023px) {
  #inicio .hero__image { max-width: 380px !important; }
}