/*
================================================================
  1. Breakpoint para Tablets Grandes y Desktops Pequeños
   (max-width: 1230px)
================================================================
*/
@media (max-width: 1230px) {
    /* --- Ajustes para Vistas de Grilla --- */
    .grilla-none .contenido-div,
    .vista-grilla .contenido-div,
    .vista-programas .contenido-div {
        max-width: 50%;
    }

    .vista-grilla .grupito {
        width: 300px;
        max-width: 350px;
    }
}

/*================================================================
  2. Breakpoint para Tablets
   (max-width: 992px)
================================================================*/
@media (max-width: 991px) { /* Usamos 991px para no solapar con Bootstrap */
    
    /* --- Filtros --- */
    .filtros.col-xs-12 {
        display: flex;
        justify-content: center;
        margin: auto;
    }

    .filtros .contenedor-filtro {
        margin-left: 20px;
        margin-right: 20px;
    }

    .filtros .form-control {
        width: 98%;
    }
    
    /* --- Valoración --- */
    .componente-valoracion {
        justify-content: flex-start;
        padding: 20px 40px; /* Reducimos el padding lateral */
    }
    
    /* --- Iframe Vertical --- */
    .responsive-iframe-container-vertical {
        width: 90%; /* Aumentamos el ancho */
        padding-bottom: 135%; /* Ajustamos la altura proporcionalmente */
    }
    .panelDiligenciar {
        padding: 20px 40px !important;
        margin: 15px auto !important;
    }

    .wizard-steps .step_click {
        min-width: auto !important;
        /*padding: 15px 5px;*/
    }

    .form-control {
        padding: 6px 12px !important;
    }
}

/*================================================================
  3. Breakpoint para Tablets Verticales y Móviles Grandes
   (max-width: 768px)
================================================================*/
@media (max-width: 768px) {
    
    /* --- Layout General y Grids --- */
    .mision-vision-grid,
    .quick-access-grid,
    .news-carousel,
    .stats-grid,
    .site-footer .container {
        grid-template-columns: 1fr;
    }

    .grilla-none .contenido-div,
    .vista-grilla .contenido-div,
    .vista-programas .contenido-div {
        max-width: 100%;
    }
    
    .vista-grilla .grupito {
        /*width: 80%;*/
        max-width: 100%;
        /*margin: 0px auto;*/
    }

    .row {
        align-items: center;
    }

    /* --- Componentes Específicos --- */
    .block.block-text {
        padding: 15px; /* Reducir el padding */
    }

    .mapa-container {
        align-items: flex-start;
        min-height: auto;
        padding-top: 20px;
    }

    .vista-interna {
        padding: 20px;
    }
    
    .valoracion-proyecto {
        padding: 0px 35px;
    }

    .componente-valoracion {
        flex-direction: column; /* Apila los elementos */
        padding: 20px;
        align-items: center;
        gap: 15px;
    }

    /* --- Tablas --- */
    table {
        font-size: 14px; /* Reduce el tamaño de la fuente */
    }
    td, th {
        padding: 8px; /* Reduce el padding */
    }

    /* --- Navegación y Menú --- */
    .flex-nav {
        justify-content: center;
        align-items: flex-start;
        gap: 5px;
    }
    
    .meanmenu-reveal,
    .navbar-header {
        display: block; /* Muestra el botón de hamburguesa */
    }

    .navbar-collapse {
        display: none;
        position: absolute;
        top: 100%;
        left: -100%;
        padding: 10px;
        z-index: 1000;
        transition: all 0.3s ease;
        font-size: 18px;
    }
    
    
    .navbar-collapse.show {
        display: block;
        /* Muestra el menú cuando tiene la clase "show" */
    }

    /* Fondo oscuro semitransparente */
    .navbar-collapse.show::before {
        content: '';
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background-color: #2b3270f2;
        /* Fondo oscuro semitransparente */
        z-index: -1;
        /* Coloca el fondo detrás del menú */
    }

    .menu-nav {
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .menu-nav li {
        width: 100%;
    }

    .menu-nav li a {
        padding: 15px;
        color: white;
        display: block;
        border-bottom: 1px solid #fff;
        border-radius: 0px;
    }

    .dropdown-menu {
        display: none;
        /* Oculta los submenús inicialmente */
        position: static;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.1);
        padding-left: 20px;
    }

    .dropdown.open .dropdown-menu {
        display: block;
        /* Muestra el submenú cuando tiene la clase "open" */
    }

    /* Animación del ícono del menú */
    .meanmenu-reveal.collapsed .icon-bar {
        transition: all 0.3s ease;
    }

    .meanmenu-reveal.collapsed .icon-bar:nth-child(1) {
        transform: rotate(0) translate(0, 0);
    }

    .meanmenu-reveal.collapsed .icon-bar:nth-child(2) {
        opacity: 1;
    }

    .meanmenu-reveal.collapsed .icon-bar:nth-child(3) {
        transform: rotate(0) translate(0, 0);
    }

    .meanmenu-reveal:not(.collapsed) .icon-bar:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .meanmenu-reveal:not(.collapsed) .icon-bar:nth-child(2) {
        opacity: 0;
    }

    .meanmenu-reveal:not(.collapsed) .icon-bar:nth-child(3) {
        transform: rotate(-45deg) translate(4px, -4px);
    }

    /* Estilos para submenús abiertos */
    .dropdown.open>a {
        background-color: rgba(0, 0, 0, 0.1);
        /* Cambia el fondo del enlace principal */
    }

    .dropdown-menu {
        display: none;
        /* Oculta los submenús inicialmente */
        position: static;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.1);
        padding-left: 20px;
    }

    .dropdown.open .dropdown-menu {
        display: block;
        /* Muestra el submenú cuando tiene la clase "open" */
    }


    /* --- Footer --- */
    #unique-gov-footer .gov-footer-header {
        margin-left: 0;
    }
    #unique-gov-footer .gov-footer-flex {
        flex-direction: column;
        gap: 20px;
    }
    #unique-gov-footer .gov-column-1,
    #unique-gov-footer .gov-contacto {
        width: 100%;
        min-width: auto;
        padding: 0;
    }
    #unique-gov-footer .gov-footer-links ul {
        flex-direction: column;
        gap: 10px;
    }
    #unique-gov-footer .gov-footer-links ul li a {
        white-space: normal;
        text-align: center;
        display: block;
    }

    body {
        padding: 0;
    }

    .panelDiligenciar {
        max-width: 100%;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 20px 15px !important;
    }

    .titulo-vista,
    .nombre_grupo {
        font-size: 20px !important;
    }

    /* Neutralizamos los márgenes de las filas que causan desbordamiento */
    .content-box.workflow-form.row {
        margin-left: 25px;
        margin-right: 15px;
    }

    .input-group {
        width: 100% !important;
    }

    /* Las columnas (col-sm-*) ahora ocupan el 100% y se apilan */
    .divBootstrap[class*="col-sm-"] {
        width: 100% !important;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 15px;
    }

    /* Mejoramos la navegación por pasos para móviles */
    .wizard-steps {
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    .wizard-steps .wizard-step-caption {
        display: none;
    }

    .wizard-steps .step_click {
        padding: 20px;
    }

    .wizard-steps .wizard-step-number {
        margin-right: 0;
        width: 50%;
        border-radius: 8px;
    }

    .wizard-step-complete {
        width: 50%;
        border-radius: 8px;
    }

    /* Ajustamos los botones de navegación del formulario */
    .row-contenedor-enviar .text-right {
        display: flex;
        flex-direction: column-reverse;
        gap: 10px;
    }

    .row-contenedor-enviar .btn {
        width: 100%;
        text-align: center;
    }

/* Para pantallas de 992px o menos (tablets) */
    .panelDiligenciar {
        max-width: 100%;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 20px 15px !important;
    }

    .titulo-vista,
    .nombre_grupo {
        font-size: 20px !important;
    }

    /* Línea indicadora del paso activo */
    .step_click.active::after {
        background: none;
    }
}

@media (max-width: 766px) {
    .hidden-xs {
        display: inline-block !important;
    }
}

/* Estilos base para el bloque */

@media (max-width: 480px) {
    .block.block-text {
        padding: 30px;
        /* Aún menos padding en pantallas muy pequeñas */
    }
}


/* Videos Conversatorios Facebook------------------------------------------------------------------------------------------*/

/* 🔁 Responsive ajustes para pantallas pequeñas */
@media (max-width: 600px) {
    .video-conversatorio {
        padding: 10px;
        border: 4px solid #333;
        border-radius: 12px;
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.6), 0 0 10px rgba(0, 255, 200, 0.05) inset;
    }

    .video-conversatorio::before {
        top: 6px;
        left: 6px;
        right: 6px;
        bottom: 6px;
        border: 2px solid #000;
        border-radius: 8px;
    }

    .video-conversatorio::after {
        width: 40px;
        height: 10px;
        bottom: -12px;
        border-radius: 3px;
    }
}

/* Estilos para celulares (pantallas pequeñas) */
@media (max-width: 768px) {
    .filtros .contenedor-filtro {
        margin-left: 1rem;
    }
}

@media (max-width: 780px) {



    .grilla-none .grupito {
        max-width: 100%;
    }

    .img-principal-municipio img {
        width: 100%;
        max-height: 200px;
        object-fit: cover;
        border-radius: 20px 0;
    }

    .grilla-none .tipo-contenido-actualidad,
    .grilla-none .fecha-actualidad {
        width: 50%;
        /* Ocupan el 100% en pantallas pequeñas */
        text-align: start;
    }

    .menu-principal.fixed {
        padding-top: 3%;
    }

    .menu-principal.fixed .abrir-menu img {
        filter: invert(100%);
    }

    .filtros {
        border-bottom: none !important;
    }
}

@media (max-width: 550px) {
    .grilla-none .actualidad-1-titulo .valor_campo {
        padding-bottom: 15%;
    }
}


@media (max-width: 767.98px) {
    .contenedor-lateral-vista-programas .vista-programas {
        padding: 0 15px !important;
    }

    .contenedor-lateral-vista-programas .vista-programas .contenido-div {
        border-radius: 8px !important;
        margin-bottom: 15px !important;
        text-align: center !important;
    }

    /*.contenedor-lateral-vista-programas .vista-programas .portada-programas {
      max-width: 80% !important;
      margin: 0 auto 10px !important;
    }*/

    .col-xs-12.col-sm-12.col-md-4.col-lg-4.contenedor-lateral-vista-programas,
    .col-xs-12.col-sm-12.col-md-3.col-lg-3.contenedor-lateral-vista-programas {
        display: flex;
        justify-content: center;
    }

    /*.contenedor-lateral-vista-programas .vista-programas .valor_campo {
      font-size: 0.95rem !important;
      color: #333 !important;
    }*/
}

/* Ajustes responsivos  para la vista grilla*/
/* Estilos para tablets (pantallas medianas) */

/* Opcional: para pantallas muy pequeñas */
@media (max-width: 480px) {
    .componente-valoracion {
        padding: 15px 10px;
        /* Padding mínimo */
        gap: 10px;
        /* Espacio más reducido */
    }
}


/* 2. Estilos para tabletas (a partir de 768px de ancho) */
@media (min-width: 768px) {
    .padding-interior {
        padding: 20px 40px;
        /* Un padding intermedio para tabletas */
    }
}

/* 3. Estilos para escritorios (a partir de 1024px de ancho) */
@media (min-width: 1024px) {
    .padding-interior {
        padding: 20px 75px;
        /* El padding original para pantallas grandes */
    }
}

/* 4. AJUSTES PARA DISPOSITIVOS MÓVILES */
@media (max-width: 768px) {
    .vista-mapa-grilla .grupito {
        padding: 16px;
        /* Reducimos el padding en pantallas pequeñas */
    }

    .vista-mapa-grilla .georreferenciacion-para-la-transparencia\:-titulo a {
        font-size: 1.5em;
        /* Hacemos el título un poco más pequeño en móviles */
    }

    .navegacion-mapas-lateral {
        margin-top: 2px;
    }
}
