/* Adaptación común para las pantallas operativas.
   Se carga después de los temas para no alterar el escritorio y actúa sólo
   cuando el espacio ya no permite mantener los filtros en una sola fila. */

@media (max-width: 767.98px) {
    html,
    body,
    .main-content {
        overflow-x: hidden;
    }

    /* La mayoría de listados históricos comparten esta cabecera basada en
       tabla. En móvil se convierte visualmente en bloques apilados, sin tocar
       sus modelos, formularios ni nombres de campos. */
    .search_header_frame > table,
    .search_header_frame > table > tbody,
    .search_header_frame > table > tbody > tr {
        display: block;
        width: 100% !important;
    }

    .search_header_frame > table > tbody > tr > td {
        display: block;
        width: 100% !important;
        max-width: 100%;
        padding: .3rem !important;
        text-align: left !important;
        white-space: normal;
    }

    .search_header_frame > table > tbody > tr > td h1 {
        margin: .35rem 0 .7rem;
        font-size: clamp(1.7rem, 8vw, 2.25rem);
    }

    .search_header_frame input:not([type="checkbox"]):not([type="radio"]),
    .search_header_frame select,
    .search_header_frame .btn {
        width: 100% !important;
        min-height: 44px;
    }

    .search_header_frame .btn {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    /* Las tablas de datos conservan las columnas y, si son anchas, desplazan
       su propio contenedor en lugar de ampliar toda la página. */
    .single_frame,
    .data_frame,
    .table-responsive {
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .single_frame > table,
    .data_frame > table {
        margin-bottom: 0;
    }

    /* Las acciones en fila de fichas se distribuyen en una columna cuando no
       queda ancho suficiente; las reglas específicas de escritorio prevalecen
       fuera de este punto de corte. */
    .ficha-acciones,
    .crear-trabajo-acciones,
    .zona-asignacion-acciones,
    .actuacion-acciones,
    .reclamaciones-filtros-btns {
        align-items: stretch;
        flex-direction: column;
    }

    .ficha-acciones .btn,
    .crear-trabajo-acciones .btn,
    .zona-asignacion-acciones .btn,
    .actuacion-acciones .btn,
    .reclamaciones-filtros-btns .btn {
        width: 100%;
        min-width: 0;
    }
}
