/* Mejoras discretas, sin alterar el diseño original de escritorio */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
a:focus-visible, button:focus-visible { outline: 3px solid #245e91; outline-offset: 3px; }
@media (max-width: 900px) {
  header, #wrapper, footer .foot { max-width: 100%; box-sizing: border-box; }
  header { height: auto !important; min-height: 100px; padding: 12px 20px; display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
  #header-logo { position: static !important; float: none !important; }
  #header-logo img { max-width: min(230px, 65vw); height: auto; }
  #main-nav { position: static !important; float: none !important; display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 0; margin: 0; }
  #main-nav li { float: none !important; margin: 0 !important; }
  #social-nav { position: static !important; margin-left: auto; }
  #banner-top { height: auto !important; }
  #banner-top-content { width: 100% !important; height: auto !important; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 24px; box-sizing: border-box; }
  #banner-top-content > div { position: static !important; float: none !important; width: auto !important; height: auto !important; min-width: 0; }
  #banner-top-content p { max-width: 100%; }
  #slider-home { width: min(100%, 814px) !important; margin: 0 auto; overflow: hidden; }
  footer .foot { padding: 24px; }
}
@media (max-width: 600px) {
  #banner-top-content { grid-template-columns: 1fr; }
  #slider-home { display: none !important; }
  .mobile-slides { display: block !important; padding: 22px 20px 36px; }
  .mobile-slide { border-bottom: 1px solid #dce7ed; padding: 22px 0; }
  .mobile-slide h2 { color: #3b8ab5; font-size: 29px; margin: 0 0 10px; }
  .mobile-slide p { line-height: 1.55; }
  .mobile-slide li { margin: 7px 0; }
  #foot-nav { display: flex; flex-wrap: wrap; gap: 12px; }
}
.mobile-slides { display: none; }

/* Correcciones de fidelidad: títulos interiores */
#page_title {
  font-family: nexa_boldregular, 'Arial Narrow', Arial, sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  text-transform: uppercase;
}
#page_title::after {
  content: "";
  position: absolute;
  width: 81px;
  height: 81px;
  background: url('./back-check.png') no-repeat center / 80px 80px;
  z-index: -1;
  top: -35px;
  left: -69px;
}
/* Restituir la familia original también en títulos destacados */
.title, .title-feature h3 { font-family: nexa_boldregular, 'Arial Narrow', Arial, sans-serif; }
h1.somos, h1.denomination { font-family: nexa_lightregular, 'Arial Narrow', Arial, sans-serif; }

/* Legibilidad de páginas legales sin alterar la identidad original */
.legal-content { text-align:left; line-height:1.7; overflow-wrap:anywhere; }
.legal-content h2 { font-size:1.2rem; margin:1.8rem 0 .6rem; }
.legal-content h3 { font-size:1.05rem; margin:1.2rem 0 .5rem; }
.legal-content p { margin:.65rem 0 1rem; }
.legal-table { border-collapse:collapse; width:100%; font-size:.88rem; }
.legal-table td,.legal-table th { padding:.6rem; border:1px solid #ddd; text-align:left; }
@media(max-width:650px){.legal-content{padding:0 12px}.legal-table{display:block;overflow-x:auto}}
