/* Regla única para teléfonos: sin variantes por tamaño de móvil. */
@media (max-width:767px){
  .hero-actions{gap:12px!important;}
  .hero-actions .btn{
    min-height:48px!important;
    font-size:12px!important;
    padding-inline:18px!important;
  }

  /* Ecosistema: un perfil completo debajo del otro. */
  .responsive-ecosystem{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    max-width:none!important;
    margin-inline:0!important;
  }
  .responsive-ecosystem .ecosystem-panel,
  .responsive-ecosystem .ecosystem-panel:first-child,
  .responsive-ecosystem .ecosystem-panel:last-child{
    min-height:420px!important;
    border-radius:20px!important;
  }
  .responsive-ecosystem .panel-content{padding:174px 24px 26px!important;}
  .responsive-ecosystem .onesta-medallion{
    width:64px!important;height:64px!important;
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
  }

  /* Control de principio a fin: las cinco etapas en una sola columna. */
  .responsive-timeline{
    display:flex!important;
    flex-direction:column!important;
    gap:20px!important;
    margin-top:26px!important;
  }
  .responsive-timeline:before{display:none!important;}
  .responsive-timeline .timeline-step,
  .responsive-timeline .timeline-step:nth-child(4),
  .responsive-timeline .timeline-step:nth-child(5){
    display:block!important;
    width:100%!important;
    grid-column:auto!important;
    padding:30px 20px 20px!important;
    background:#fff!important;
    border-radius:16px!important;
    box-shadow:0 8px 22px rgba(17,35,90,.07)!important;
    text-align:center!important;
  }
  .responsive-timeline .timeline-step:not(:last-child)::after{content:none!important;}
  .responsive-timeline .timeline-step span{position:absolute!important;left:50%!important;top:-20px!important;transform:translateX(-50%)!important;}
  .responsive-timeline .timeline-step p{min-height:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;}

  /* Footer: logo, descripción y cada bloque uno debajo de otro y centrados. */
  .site-footer .container{width:min(calc(100% - 48px),420px)!important;}
  .footer-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    text-align:center!important;
  }
  .footer-brand,
  .footer-grid>div,
  .footer-grid>div:last-child,
  .footer-contact{
    grid-column:auto!important;
    text-align:center!important;
  }
  .footer-brand img{margin:0 auto!important;}
  .footer-brand p{margin:14px auto 0!important;text-align:center!important;}
  .site-footer .footer-grid>div:nth-child(3){display:block!important;}
  .site-footer h4{font-size:13px!important;margin-bottom:12px!important;}
  .site-footer a{font-size:12px!important;margin:10px 0!important;}
  .footer-icon-link{justify-content:center!important;align-items:center!important;}
}
