/* === NITVIBES Mobile Align Patch === */
@media (max-width: 768px){
  :root{ --nv-side: 14px; }

  /* Cortamos cualquier overflow horizontal y centramos layout */
  html, body{
    max-width:100% !important;
    overflow-x:hidden !important;
    margin:0 auto !important;
    padding:0 !important;
  }

  /* Contenedores comunes a muchos themes */
  #page, .site, .site-content, .content-area, .container, .wrap, .entry-content{
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:var(--nv-side) !important;
    padding-right:var(--nv-side) !important;
    box-sizing:border-box !important;
  }

  /* Cabecera: simetría de padding */
  header, .site-header, #masthead, .main-header, .nv-header{
    padding-left:var(--nv-side) !important;
    padding-right:var(--nv-side) !important;
    box-sizing:border-box !important;
  }

  /* Tarjetas y bloques propios de NITVIBES */
  .nv-card, .nvr-card, .nv-prof-card, .nv-dash-card{
    margin-left:auto !important;
    margin-right:auto !important;
    max-width:100% !important;
    width:auto !important;
  }

  /* Formularios (registro/login/perfil) */
  form, .nv-form, .register-form, .login-form{
    padding-left:6px !important;
    padding-right:6px !important;
    box-sizing:border-box !important;
  }

  /* Botón hamburguesa: márgenes simétricos respecto a --nv-side */
  .nv-mm-toggle{
    right:calc(var(--nv-side) + 4px) !important;
    top:16px !important;
  }
  .nv-mm-toggle span,
  .nv-mm-toggle::before,
  .nv-mm-toggle::after{
    width:26px !important;
    height:3px !important;
  }

  /* Evitar que algún wrapper con transform desplace el eje */
  [style*="translateX"], [style*="transform: translate"], .translate-x, .has-transform{
    transform: none !important;
  }
}
