/**
 * Backend — Accesibilidad móvil
 * Tipografía grande y contraste alto en pantallas pequeñas.
 * Cargar DESPUÉS de style.css y CSS de módulos.
 */

/* —— Menú admin: letras grandes SIEMPRE —— */
#col1,
#col1 #botonera,
nav#botonera {
  font-size: 20px !important;
}

nav#botonera.navbar-collapse,
nav#botonera ul.nav,
nav#botonera .botonera-nav {
  font-size: 20px !important;
}

nav#botonera ul li a,
nav#botonera .nav > li > a,
nav#botonera .botonera-nav > li > a,
nav#botonera .botonera-accordion__toggle,
nav#botonera .botonera-submenu li a,
#col1 nav#botonera a {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  padding: 14px 12px !important;
  min-height: 48px;
  display: block !important;
}

nav#botonera .botonera-submenu li a {
  font-size: 18px !important;
  padding-left: 22px !important;
}

nav#botonera ul li a span.glyphicon,
nav#botonera .nav > li > a .glyphicon {
  font-size: 18px !important;
  float: right;
  margin-top: 3px;
}

.botonera-ver-sitio .btn {
  font-size: 18px !important;
  font-weight: 800 !important;
  min-height: 48px !important;
  width: 100%;
  padding: 12px 14px !important;
}

#botoneraMovil .navbar-toggle {
  min-width: 52px;
  min-height: 48px;
  padding: 12px 14px;
  margin: 8px;
}

@media (max-width: 991px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    font-size: 18px !important;
    line-height: 1.45 !important;
    color: #0f172a !important;
  }

  /* Menú aún más grande en móvil/tablet */
  nav#botonera ul li a,
  nav#botonera .nav > li > a,
  nav#botonera .botonera-nav > li > a,
  nav#botonera .botonera-accordion__toggle,
  nav#botonera .botonera-submenu li a,
  #col1 nav#botonera a {
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    padding: 16px 14px !important;
    min-height: 54px;
  }

  nav#botonera .botonera-submenu li a {
    font-size: 20px !important;
  }

  nav#botonera ul li a span.glyphicon,
  nav#botonera .nav > li > a .glyphicon {
    font-size: 20px !important;
  }

  .botonera-ver-sitio .btn {
    font-size: 20px !important;
    min-height: 52px !important;
  }

  /* Título de sección (activo del menú: #337ab7 / blanco) */
  .admin-page-title {
    padding: 18px 8px 12px !important;
  }

  .admin-page-title__text,
  #colMain .admin-page-title__text {
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    background: #337ab7 !important;
    padding: 14px 16px !important;
    border-radius: 8px !important;
  }

  /* Padding contenido: letras no se cortan */
  #colMain {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  #colMain .backend-panel {
    padding: 12px 10px 48px !important;
  }

  #colMain > .row,
  #colMain .backend-panel > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #paginaConfiguraciones,
  #paginaModulos,
  #configuraciones {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  /* Ver Sitio dentro del menú colapsable */
  nav#botonera .botonera-ver-sitio {
    display: block !important;
    padding: 16px 12px 24px !important;
  }

  nav#botonera .botonera-ver-sitio .btn {
    font-size: 20px !important;
    font-weight: 800 !important;
    min-height: 52px !important;
    width: 100% !important;
  }

  /* Contenedor principal */
  #colMain,
  #colMain .backend-panel,
  .backend-panel,
  #paginaConfiguraciones,
  #paginaModulos,
  #configuraciones,
  #articulos,
  #galeria,
  #videos,
  #slide,
  #usuarios,
  #mensajes,
  #suscriptores,
  #perfiles,
  #elementos,
  .mobibc-modulos-admin,
  .mp-admin {
    font-size: 18px !important;
    color: #0f172a !important;
    overflow-x: hidden;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Títulos */
  #colMain h1:not(.admin-page-title__text),
  #colMain h2,
  #colMain h3,
  .backend-panel h1:not(.admin-page-title__text),
  .backend-panel h2,
  .backend-panel h3,
  .mobibc-modulos-admin__hero h1 {
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    color: #0f172a !important;
  }

  #colMain .admin-page-title__text,
  .admin-page-title__text {
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    background: #337ab7 !important;
  }

  #colMain h4,
  #colMain h5,
  .backend-panel h4 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
  }

  /* Párrafos, ayudas, mensajes */
  #colMain p,
  #colMain .help-block,
  #colMain .text-muted,
  .backend-panel p,
  .alert {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .alert {
    padding: 14px 16px !important;
    font-weight: 600 !important;
  }

  .alert-info { color: #0c4a6e !important; }
  .alert-warning { color: #7c2d12 !important; }
  .alert-danger { color: #7f1d1d !important; }
  .alert-success { color: #14532d !important; }

  /* Etiquetas */
  #colMain label,
  .backend-panel label,
  form label,
  .form-group > label {
    display: block !important;
    width: 100%;
    margin: 12px 0 8px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #0f172a !important;
  }

  /* Campos */
  #colMain .form-control,
  #colMain input[type="text"],
  #colMain input[type="email"],
  #colMain input[type="password"],
  #colMain input[type="tel"],
  #colMain input[type="url"],
  #colMain input[type="number"],
  #colMain input[type="search"],
  #colMain input[type="date"],
  #colMain input[type="datetime-local"],
  #colMain input[type="file"],
  #colMain select,
  #colMain textarea,
  .backend-panel .form-control,
  .backend-panel input[type="text"],
  .backend-panel input[type="email"],
  .backend-panel input[type="password"],
  .backend-panel select,
  .backend-panel textarea,
  form .form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    border: 2px solid #94a3b8 !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  #colMain textarea,
  .backend-panel textarea,
  form textarea {
    min-height: 120px !important;
  }

  #colMain input[type="color"],
  .backend-panel input[type="color"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    padding: 6px !important;
    border: 2px solid #94a3b8 !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  /* Botones */
  #colMain .btn,
  #colMain button.btn,
  #colMain input[type="submit"],
  #colMain input[type="button"],
  #colMain button[type="submit"],
  .backend-panel .btn,
  .backend-panel input[type="submit"],
  form .btn,
  form input[type="submit"] {
    min-height: 52px !important;
    padding: 14px 16px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    word-wrap: break-word;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  #colMain .btn-lg,
  .backend-panel .btn-lg {
    font-size: 22px !important;
    min-height: 58px !important;
    padding: 16px 18px !important;
  }

  #colMain .btn-sm,
  #colMain .btn-xs,
  .backend-panel .btn-sm,
  .backend-panel .btn-xs {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  #colMain .btn-block,
  .backend-panel .btn-block {
    width: 100% !important;
  }

  /* Menú lateral / hamburguesa (refuerzo dentro del bloque móvil) */
  #botoneraMovil .navbar-toggle {
    min-width: 56px;
    min-height: 52px;
    padding: 14px 16px;
    margin: 8px;
  }

  /* Cabezote: no usar tipografías minúsculas ilegibles */
  #cabezote,
  #cabezote p,
  #cabezote #admin,
  #cabezote #admin li {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  #cabezote ul li {
    font-size: 16px !important;
  }

  #cabezote ul li span {
    font-size: 12px !important;
    min-width: 18px;
    min-height: 18px;
    line-height: 18px !important;
  }

  #time {
    font-size: 15px !important;
  }

  /* Tablas (DataTables y HTML) */
  #colMain table,
  .backend-panel table,
  table.dataTable {
    font-size: 16px !important;
  }

  #colMain table th,
  #colMain table td,
  .backend-panel table th,
  .backend-panel table td,
  table.dataTable th,
  table.dataTable td {
    font-size: 16px !important;
    padding: 12px 10px !important;
    vertical-align: middle !important;
    color: #0f172a !important;
  }

  .dataTables_wrapper .dataTables_filter input,
  .dataTables_wrapper .dataTables_length select {
    font-size: 17px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
  }

  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    font-size: 16px !important;
  }

  .pagination > li > a,
  .pagination > li > span {
    font-size: 16px !important;
    min-height: 44px;
    padding: 10px 14px !important;
  }

  /* Módulos / selectores / cards admin */
  .mobibc-tarjeta-selector label,
  .mobibc-modulos-admin__select-user label {
    font-size: 18px !important;
  }

  .mobibc-modulos-filtro,
  .mobibc-modulos-filtros .btn {
    font-size: 17px !important;
    font-weight: 700 !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
  }

  .mobibc-modulos-lista li,
  .mobibc-modulos-lista a,
  .mobibc-modulos-lista button {
    font-size: 17px !important;
  }

  /* Marketplace admin */
  .mp-admin,
  .mp-admin label,
  .mp-admin .form-control,
  .mp-admin input,
  .mp-admin textarea,
  .mp-admin select,
  .mp-admin button,
  .mp-admin .btn {
    font-size: 17px !important;
  }

  .mp-admin__tabs button {
    font-size: 16px !important;
    font-weight: 700 !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
  }

  /* Galería / videos / artículo módulos */
  .galeria-img-item .btn,
  .videos-modo-btn,
  .mobibc-art-addbtn,
  .mobibc-art-filebtn,
  .carrusel-thumb-actions .btn {
    font-size: 17px !important;
    font-weight: 700 !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    white-space: normal !important;
  }

  /* SweetAlert más legible */
  .sweet-alert h2 {
    font-size: 24px !important;
  }

  .sweet-alert p {
    font-size: 18px !important;
  }

  .sweet-alert button {
    font-size: 18px !important;
    min-height: 48px !important;
    padding: 12px 18px !important;
  }

  /* Login / ingreso (si usa mismo template) */
  #ingreso,
  .login,
  form[name="formIngreso"] label,
  form[name="formIngreso"] .form-control,
  form[name="formIngreso"] .btn {
    font-size: 18px !important;
  }

  #backIngreso,
  #formIngreso,
  #tituloFormIngreso {
    color: #0f172a !important;
  }

  #tituloFormIngreso {
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
  }

  #formIngreso .formIngreso,
  #formIngreso input.form-control {
    font-size: 18px !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
    margin-bottom: 14px !important;
  }

  #formIngreso input[type="submit"],
  #formIngreso .btn {
    font-size: 20px !important;
    font-weight: 800 !important;
    min-height: 56px !important;
  }

  /* Evitar desbordes */
  img,
  video,
  iframe,
  .table-responsive {
    max-width: 100%;
  }

  .row {
    margin-left: -10px;
    margin-right: -10px;
  }

  [class*="col-"] {
    box-sizing: border-box;
  }
}

/* Móvil estrecho: aún más claro */
@media (max-width: 575px) {
  .admin-page-title {
    padding: 14px 4px 10px !important;
  }

  .admin-page-title__text {
    font-size: 28px !important;
    color: #ffffff !important;
    background: #337ab7 !important;
  }

  #colMain {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #colMain .backend-panel {
    padding: 10px 6px 40px !important;
  }

  body,
  #colMain,
  .backend-panel {
    font-size: 17px !important;
  }

  #colMain h1,
  #colMain h2,
  #colMain h3 {
    font-size: 22px !important;
  }

  #colMain label,
  .backend-panel label,
  form label {
    font-size: 17px !important;
  }

  #colMain .form-control,
  #colMain input[type="text"],
  #colMain textarea,
  #colMain select,
  .backend-panel .form-control {
    font-size: 17px !important;
    min-height: 50px !important;
  }

  #colMain .btn,
  #colMain input[type="submit"],
  .backend-panel .btn {
    font-size: 18px !important;
    width: 100%;
    max-width: 100%;
  }

  nav#botonera ul li a,
  nav#botonera .botonera-nav > li > a,
  #col1 nav#botonera a {
    font-size: 24px !important;
    padding: 18px 14px !important;
    min-height: 56px;
  }

  nav#botonera .botonera-submenu li a {
    font-size: 22px !important;
  }
}
