/**
 * Layout compacto en móvil para páginas de módulos.
 * Reduce padding lateral/vertical y evita desbordamiento horizontal.
 * El scroll vertical del documento se mantiene normal.
 */
@media (max-width: 767.98px) {
  html,
  body {
    overflow-x: hidden;
    max-width: 100%;
  }

  /* Contenedor principal: menos espacio bajo el header y al pie del contenido */
  .page-container .main-content {
    padding-top: 70px !important;
    padding-bottom: 6px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .main-content > .container-fluid,
  .main-content > .container-fluid.px-0,
  .main-content > .container-fluid.px-0.px-sm-3 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .main-content .row {
    margin-left: -6px;
    margin-right: -6px;
  }

  .main-content .row > [class*="col"],
  .main-content .row > .col {
    padding-left: 6px;
    padding-right: 6px;
    min-width: 0;
    max-width: 100%;
  }

  .main-content .card {
    margin-bottom: 8px !important;
  }

  .main-content .card-block {
    padding: 8px 10px !important;
  }

  .main-content .card[style*="padding"] {
    padding: 8px 10px !important;
  }

  .main-content [class*="pdd-horizon-"] {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .main-content [class*="pdd-vertical-"] {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .main-content [class*="pdd-top-"],
  .main-content [class*="pdd-btm-"] {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .main-content .mrg-btm-20,
  .main-content .row.mrg-btm-20 {
    margin-bottom: 10px !important;
  }

  .main-content .mrg-btm-30 {
    margin-bottom: 12px !important;
  }

  .main-content .flechas {
    margin-bottom: 6px !important;
  }

  .main-content .card .card-horizon .background-holder {
    min-height: 200px !important;
  }

  .main-content .widget-feed {
    margin-top: 4px !important;
  }

  .main-content .widget-feed .feed-subtitle {
    margin-bottom: 6px !important;
  }

  .main-content .card .card-horizon > .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .main-content .card-horizon,
  .main-content .card-horizon .container-fluid,
  .main-content .card-horizon .image-container {
    max-width: 100%;
  }

  .main-content img,
  .main-content video,
  .main-content iframe,
  .main-content .img-fluid {
    max-width: 100% !important;
    height: auto !important;
  }

  .main-content .alert[style*="fit-content"] {
    width: 100% !important;
    max-width: 100%;
  }

  .main-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .main-content .flechas {
    margin-left: 0;
    margin-right: 0;
  }

  .flecha-izquierda {
    left: 0;
  }

  .flecha-derecha {
    right: 0;
  }

  .main-content #questions > .question,
  .main-content #questions > .question.mx-1 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
    flex: 0 0 100%;
  }

  .main-content .nav-pills,
  .main-content .btn-group {
    flex-wrap: wrap;
  }

  .main-content .widget-feed > .row {
    margin-left: 0;
    margin-right: 0;
  }

  .main-content .widget-feed > .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
  }
}
