/* Ajustes finales de responsive: evita recortes y desbordes en pantallas estrechas. */
html,body{max-width:100%;}
img,video,canvas{max-width:100%;}

@media(max-width:600px){
  .section{padding-left:20px;padding-right:20px;}
  .concepts-grid,.faq-grid{grid-template-columns:minmax(0,1fr);}
  .concept-card,.faq-item,.faq-question,.faq-answer{min-width:0;max-width:100%;}
  .concept-card{padding:26px 22px;}
  .faq-question{padding:16px 15px;gap:11px;}
  .faq-answer{padding-left:15px;padding-right:15px;}
  .faq-item.open .faq-answer{padding-left:15px;padding-right:15px;padding-bottom:16px;}
  .rg-pages{max-width:100%;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;}
  .rg-pages::-webkit-scrollbar{display:none;height:0;}
  .rg-layout,.rg-document,.rg-explanations{min-width:0;max-width:100%;}
  .rg-toolbar{align-items:flex-start;}
  .report-preview{padding:18px;}
  .material-callout,.privacy-banner{padding:16px;}
  .live-panel{min-width:0;}
  .live-price{font-size:clamp(3.8rem,20vw,5rem);}
}

@media(max-width:360px){
  .section{padding-left:16px;padding-right:16px;}
  .hero{padding-left:16px;padding-right:16px;}
  .hero h1{font-size:clamp(30px,10vw,40px);}
  #inicio .hero-copy>p{font-size:15px;}
  .concept-card{padding:24px 18px;}
  .faq-question{padding:15px 12px;gap:9px;font-size:.9rem;}
  .faq-q-icon{width:26px;height:26px;}
  .faq-answer,.faq-item.open .faq-answer{padding-left:12px;padding-right:12px;}
  .report-preview-head{align-items:flex-start;flex-direction:column;}
  .official-card{padding:18px;}
}

/* Compensa la navegación sticky al entrar a subsecciones internas en tablet/mobile. */
@media(max-width:1099px){
  #semaforo-sbs,#capacidad-pago,#creditos-hipotecarios{scroll-margin-top:88px;}
}
@media(min-width:1100px){
  #semaforo-sbs,#capacidad-pago,#creditos-hipotecarios{scroll-margin-top:24px;}
}

