
/* Botón flotante */
.btn-float {
    position: fixed;
    bottom: 50px;
    right: 25px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    background: #2563eb;
    color: white;
    font-size: 28px;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,.3);
    z-index: 1000;
    transition: transform .15s ease;
}

    .btn-float:hover {
        transform: scale(1.1);
    }


/* Botón flotante totalmente redondo */
.btn-donar {
    position: fixed;
    bottom: 50px;
    right: 100px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    background: #2563eb; /* Azul intenso */
    color: white;
    font-size: 28px;
    text-align: center;
    line-height: 56px; /* Centra el emoji/texto verticalmente */
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
    z-index: 1000;
    transition: transform 0.15s ease, background 0.3s ease;
    padding: 0; /* Importante para que no crezca */
    animation: pulse 1s infinite;
}

    /* Efecto hover */
    .btn-donar:hover {
        transform: scale(1.1);
        background: #1e40af; /* Azul más oscuro */
    }


@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0,112,186, 0.7);
    }

    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(0,112,186, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0,112,186, 0);
    }
}




.modal-custom {
    background: #fff;
    width: 400px;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,.3);
    animation: fadeIn .2s ease-out;
    font-family: Arial, sans-serif;
}

    .modal-custom h3 {
        margin-top: 0;
        margin-bottom: 15px;
    }

    .modal-custom label {
        font-weight: bold;
        display: block;
        margin-top: 10px;
    }

    .modal-custom input,
    .modal-custom textarea,
    .modal-custom select {
        width: 100%;
        padding: 8px;
        margin-top: 4px;
        border-radius: 6px;
        border: 1px solid #ccc;
    }

    .modal-custom textarea {
        resize: vertical;
    }

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 15px;
}

.btn {
    padding: 8px 14px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
}

.btn-primary {
    background: #2563eb;
    color: #fff;
}

.btn-secondary {
    background: #e5e7eb;
}

.terms {
    font-size: 12px;
    color: #555;
    margin-top: 10px;
}

    .terms input {
        vertical-align: middle;
    }

@keyframes fadeIn {
    from {
        transform: scale(.9);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}



/* Footer fijo tipo app */
#footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    z-index: 9999;
    background: linear-gradient(90deg, #fbcfe8, #f9a8d4, #f472b6);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 -4px 12px rgba(0,0,0,.35);
}

/* Contenido inline */
.footer-bar {
    display: flex;
    gap: 12px;
    align-items: center;
}

    .footer-bar a {
        color: #fff;
        text-decoration: underline;
        cursor: pointer;
    }

        .footer-bar a:hover {
            opacity: .8;
        }

.footer-sep {
    opacity: .6;
}



.footer-bar > span {
    color: #6c757d;
}


.footer-legal > span {
    color: #6c757d;
}
  

/* ============================= */
/* SweetAlert2 - Z-index global  */
/* ============================= */

/* Contenedor principal del SweetAlert */
.swal2-container {
    z-index: 5000 !important; /* Siempre encima de cualquier modal */
    pointer-events: auto !important; /* Asegura que se pueda interactuar */
}

/* Popup interno */
.swal2-popup {
    z-index: 5001 !important; /* Encima del overlay */
}

/* Botones de SweetAlert */
.swal2-confirm,
.swal2-cancel {
    z-index: 5002 !important; /* Asegura que los botones sean clicables */
}

/* Loading o alertas especiales */
.swal2-toast {
    z-index: 5005 !important;
}

/* Ajuste de altura para modales flex/transform */
.swal2-popup {
    height: auto !important;
    max-height: 90vh; /* Evita que se corte en pantallas pequeñas */
}




.modal-backdrop-custom {
    display: none; /* oculto por defecto */
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    justify-content: center;
    align-items: center;
    z-index: 10000; /* menor que Swal */
}

.modal-custom-centered {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    max-width: auto;
    width: auto;
    max-height: 80vh;
    overflow-y: auto;
}









    .modal-custom-centered h3 {
        margin-top: 0;
        font-size: 1.5rem;
    }

    .modal-custom-centered label {
        display: block;
        margin: 10px 0 4px;
        font-weight: 500;
    }

    .modal-custom-centered input,
    .modal-custom-centered textarea,
    .modal-custom-centered select {
        width: 100%;
        padding: 8px;
        border-radius: 5px;
        border: 1px solid #ccc;
        box-sizing: border-box;
        margin-bottom: 10px;
    }

.modal-footer {
    text-align: right;
    margin-top: 15px;
}

    .modal-footer button {
        margin-left: 10px;
    }




/* Contenedor del checkbox */
.custom-checkbox {
    display: flex;
    align-items: flex-start;
    margin: 10px 0;
    font-size: 0.95rem;
}

    /* Ocultamos el checkbox real */
    .custom-checkbox input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        cursor: pointer;
    }

    /* Estilo del “check” personalizado */
    .custom-checkbox label {
        position: relative;
        padding-left: 30px; /* espacio para el check */
        cursor: pointer;
        user-select: none;
    }

        /* Caja del check */
        .custom-checkbox label::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 20px;
            height: 20px;
            border: 2px solid #0070BA;
            border-radius: 5px;
            background-color: white;
            transition: 0.2s;
        }

    /* Marca cuando está seleccionado */
    .custom-checkbox input:checked + label::after {
        content: "✔";
        position: absolute;
        left: 2px;
        top: -2px;
        font-size: 18px;
        color: #0070BA;
    }



/*#logoFlotante {
    position: fixed;*/ /* Siempre flotando */
    /*top: 15px;*/ /* Distancia desde el top */
    /*right: 15px;*/ /* Distancia desde la derecha */
    /*width: 50px;*/ /* Tamaño del logo */
    /*height: 50px;*/ /* Mantener proporción */
    /*border-radius: 10px;*/ /* Bordes redondeados */
    /*box-shadow: 0 4px 12px rgba(0,0,0,0.3);*/ /* Sombra ligera */
    /*z-index: 5000;*/ /* Muy arriba, sobre modales normales */
    /*cursor: pointer;*/ /* Cambio de cursor al pasar */
    /*transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    #logoFlotante:hover {
        transform: scale(1.1);
        box-shadow: 0 6px 18px rgba(0,0,0,0.4);
    }*/






/* Fondo del modal */
.modal-backdrop-privacidad {
    display: none; /* oculto por defecto */
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    background: rgba(0,0,0,0.6);
    z-index: 4000; /* más alto que la mayoría de modales */

    display: flex; /* centrado con flex */
    align-items: center; /* vertical */
    justify-content: center; /* horizontal */
    padding: 20px; /* para que no quede pegado a los bordes */
    overflow: auto; /* permite scroll si contenido es alto */
}

/* Contenido del modal */
.modal-privacidad {
    background: #fff;
    max-width: 80vh;
    width: 100%;
    height: 85VH;
    max-height: 85vh; /* nunca demasiado alto */
    border-radius: 12px;
    padding: 20px;
    overflow-y: auto; /* scroll interno si necesario */
    position: relative;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}

    /* Botón de cerrar */
    .modal-privacidad .close-btn {
        position: absolute;
        top: 10px;
        right: 10px;
        background: transparent;
        border: none;
        font-size: 22px;
        cursor: pointer;
        color: #333;
    }



    .swal2-container {
    z-index: 999999 !important;
}







#footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(90deg, #fbcfe8, #f9a8d4, #f472b6);
    border-top: 1px solid #ddd;
    padding: 8px 10px;
    z-index: 500;
    text-align: center;
    font-size: 13px;
}

.footer-bar {
    font-weight: 600;
    margin-bottom: 4px;
}

.footer-legal {
    font-size: 12px;
    line-height: 1.4;
}

    .footer-legal a {
        font-weight: 600;
        margin-left: 6px;
        text-decoration: none;
        cursor: pointer;
    }

/* En móvil */
@media (max-width: 600px) {

    #footer {
        font-size: 12px;
        padding: 8px;
    }

    .footer-legal {
        font-size: 11.5px;
    }
}





#logoFlotante {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1001;
    box-shadow: 0 4px 12px rgba(0,0,0,.3);
    background: #fff;
}


#menuMapa {
    display: none;
    margin-top: 30px;
    margin-right: 65px !important;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0,0,0,.35);
    overflow: hidden;
    cursor: pointer;
}


#logoWrapper {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1001;
}

#badgeTema {
    position: absolute;
    bottom: -20px;
    right: -2px;
    background: #1e1e1e;
    color: #fff;
    font-size: 14px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer; /* 👈 ahora sí es botón */
    box-shadow: 0 2px 6px rgba(0,0,0,.4);
}

.waze-soft .leaflet-tile {
    filter: brightness(110%) contrast(105%) saturate(130%) hue-rotate(190deg) !important;
}





.mensaje-mapa {
    position: fixed;
    bottom: 48px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    border-radius: 40px;
    background: rgba(20, 30, 60, 0.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;
    z-index: 9999;
}

    .mensaje-mapa.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }

    .mensaje-mapa.valido {
        background: rgba(0, 150, 90, 0.8);
    }

    .mensaje-mapa.error {
        background: rgba(180, 30, 40, 0.85);
    }






/* LAYOUT BASE */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%; /* antes: 100vw */
    max-width: 100%;
    overflow-x: clip; /* corta cualquier desborde lateral */
    font-family: 'Segoe UI', sans-serif;
}

.contenedor {
    display: flex;
    height: 100vh;
    width: 100%; /* antes: 100vw */
}

/* 🟢🟢🟢 SIDEBAR - SIN POSITION, SIN Z-INDEX 🟢🟢🟢 */
#sidebarNotas {
    width: 300px;
    height: 93vh !important;
    background: linear-gradient(180deg, #f8faff 0%, #eef2f7 100%);
    border-right: 2px solid #d0d9e4;
    box-shadow: 3px 0 20px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex-shrink: 0;
    visibility: visible !important;
    transition: width 0.3s ease;
    /* 🟢 BORRADO: position: fixed; */
    /* 🟢 BORRADO: z-index: 9999 !important; */
}



/* HEADER */
.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background: #3498db;
    color: white;
    cursor: pointer;
    user-select: none;
}

/* LISTA DE NOTAS */
#listaNotas {
    list-style: none;
    padding: 15px;
    margin: 0;
    flex: 1; /* 🟢 OCUPA TODO EL ESPACIO QUE SOBRA */
    overflow-y: auto; /* Scroll solo en la lista */
    min-height: 0; /* Importante para flex */
}



    #listaNotas li {
        padding: 12px;
        border-radius: 10px;
        margin-bottom: 10px;
        background: rgba(255,255,255,0.8);
        cursor: pointer;
    }

/* 🟢🟢🟢 MAPA - OCUPA EL RESTO DEL ESPACIO 🟢🟢🟢 */
#map {
    flex: 1 1 auto;
    min-height: 300px; /* previene altura 0 en móviles pequeños */
}


/* COLAPSADO */
#sidebarNotas.collapsed {
    width: 40px;
}
#sidebarNotas:not(.collapsed) {
    width: 300px !important;
}


    #sidebarNotas.collapsed .titulo-texto,
    #sidebarNotas.collapsed #listaNotas,
    #sidebarNotas.collapsed #RefrescadorMapaLista{
        display: none; /* 🟢 CAMBIADO: block → none */
    }


    #sidebarNotas.collapsed .sidebar-header {
        justify-content: center;
    }




/* Lista de notas - AHORA CON FONDOS CLAROS */
#listaNotas {
    list-style: none;
    padding: 0;
    margin: 0;
}

    #listaNotas li {
        position: relative;
        padding: 12px 15px;
        border-radius: 12px;
        margin-bottom: 12px;
        cursor: pointer;
        transition: all 0.3s ease;
        border-left: 6px solid transparent;
        font-size: 14px;
        color: #2c3e50; /* Texto oscuro */
        background: rgba(255, 255, 255, 0.7); /* Fondo blanco semitransparente */
        box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    }

        /* Colores más suaves para los bordes izquierdos */
        #listaNotas li:nth-child(1) {
            border-left-color: #2ecc71; /* Verde más claro */
            background: rgba(46, 204, 113, 0.08);
        }

        #listaNotas li:nth-child(2) {
            border-left-color: #e67e22; /* Naranja */
            background: rgba(230, 126, 34, 0.08);
        }

        #listaNotas li:nth-child(3) {
            border-left-color: #3498db; /* Azul */
            background: rgba(52, 152, 219, 0.08);
        }

        #listaNotas li:nth-child(4) {
            border-left-color: #f39c12; /* Amarillo/naranja */
            background: rgba(243, 156, 18, 0.08);
        }

        #listaNotas li:nth-child(5) {
            border-left-color: #9b59b6; /* Púrpura */
            background: rgba(155, 89, 182, 0.08);
        }

        #listaNotas li:nth-child(6) {
            border-left-color: #1abc9c; /* Turquesa */
            background: rgba(26, 188, 156, 0.08);
        }

        #listaNotas li:nth-child(7) {
            border-left-color: #e74c3c; /* Rojo */
            background: rgba(231, 76, 60, 0.08);
        }

        #listaNotas li:nth-child(8) {
            border-left-color: #34495e; /* Azul grisáceo */
            background: rgba(52, 73, 94, 0.08);
        }

        #listaNotas li:nth-child(9) {
            border-left-color: #16a085; /* Verde azulado */
            background: rgba(22, 160, 133, 0.08);
        }

        #listaNotas li:nth-child(10) {
            border-left-color: #c0392b; /* Rojo oscuro */
            background: rgba(192, 57, 43, 0.08);
        }

        /* Hover efecto - más visible en fondo claro */
        #listaNotas li:hover {
            transform: translateX(5px);
            background: rgba(52, 152, 219, 0.15);
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
        }

    /* Títulos y fechas en texto oscuro */
    #listaNotas .tituloNota {
        font-weight: 600;
        font-size: 16px;
        margin-bottom: 4px;
        color: #1e3c5c;
    }

    #listaNotas .fechaCiudad {
        font-size: 12px;
        opacity: 0.7;
        color: #5d6d7e;
    }

/* Botón refrescar mapa - mantiene el verde pero más vibrante */
#sidebarNotas button {
    width: 100%;
    padding: 12px 0;
    border: none;
    border-radius: 12px;
    background: #2ecc71;
    color: white;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(46, 204, 113, 0.2);
}

    #sidebarNotas button:hover {
        background: #27ae60;
        transform: scale(1.02);
        box-shadow: 0 6px 15px rgba(46, 204, 113, 0.3);
    }

/* LOADER - adaptado para fondo claro */
.loader-container {
    padding: 30px 20px;
    text-align: center;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 12px;
}

.spinner {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 4px solid rgba(52, 152, 219, 0.2);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

.loader-text {
    color: #5d6d7e;
    font-size: 14px;
    margin: 0;
}

/* Mensaje de error */
.error-message {
    color: #e74c3c;
    padding: 20px;
    text-align: center;
    background: rgba(231, 76, 60, 0.1);
    border-radius: 12px;
}

/* Sin notas */
.empty-message {
    color: #7f8c8d;
    padding: 20px;
    text-align: center;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 12px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}



/* ===== ORIENTACIÓN HORIZONTAL EN MÓVIL ===== */
@media screen and (max-width: 768px) and (orientation: landscape) {
  /*  #sidebarNotas {
        max-height: 30vh;
    }
*/
    #map {
        height: 70vh !important;
        flex: 1 1 auto;
        min-height: 300px; /* nunca demasiado pequeño */
    }

/*    #listaNotas {
        max-height: calc(30vh - 60px);
    }*/
}







/* 🟢 ANIMACIÓN DEL SPINNER 🟢 */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* 🟢 ESTILOS DEL LOADER 🟢 */
.loader-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
}

.loader-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(52,152,219,0.2);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.loader-text {
    margin-top: 15px;
    color: #666;
    font-size: 14px;
}

/* 🟢 MODO OSCURO 🟢 */
#sidebarNotas.modo-oscuro .loader-text {
    color: #ddd;
}

#sidebarNotas.modo-oscuro .loader-spinner {
    border: 4px solid rgba(255,255,255,0.2);
    border-top: 4px solid #fff;
}





/* EN TU CSS */
#sidebarNotas.modo-oscuro {
    /*background: linear-gradient(180deg, #4a5c6e 0%, #3a4c5e 100%) !important;*/
    background: #314158;
    border-right: 2px solid #5a6c7e !important;
    color: white !important;
}

#sidebarNotas.modo-claro {
    background: linear-gradient(180deg, #f8faff 0%, #eef2f7 100%) !important;
    border-right: 2px solid #d0d9e4 !important;
    color: #2c3e50 !important;
}

#sidebarNotas.modo-oscuro .sidebar-header {
    background: #2c3e50 !important;
}

#sidebarNotas.modo-claro .sidebar-header {
    background: #3498db !important;
}


.leaflet-marker-icon,
.leaflet-marker-shadow {
    z-index: 1100 !important; /* sobre tus botones flotantes */
}

.leaflet-popup {
    z-index: 1200 !important;
}






.mini-spinner {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(52,152,219,0.2);
    border-top: 2px solid #3498db;
    border-radius: 50%;
    animation: spinMini 0.8s linear infinite;
    margin-right: 6px;
    vertical-align: middle;
}

@keyframes spinMini {
    to {
        transform: rotate(360deg);
    }
}







/* Lista de notas */
#listaNotas {
    list-style: none;
    padding: 0;
    margin: 0;
}

    /* Cada nota */
    #listaNotas li {
        padding: 10px 12px;
        margin-bottom: 8px;
        border-radius: 8px;
        cursor: pointer;
        transition: background 0.2s, color 0.2s;
        display: flex;
        flex-direction: column;
        box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    }

        /* Título de la nota */
        #listaNotas li .tituloNota {
            font-weight: 600;
            font-size: 14px;
            margin-bottom: 4px;
            color: #FFA500;
        }

        /* Fecha y estado */
        #listaNotas li .fechaCiudad {
            font-size: 12px;
            display: flex;
            align-items: center;
            gap: 5px;
        }

/* Spinner mini */
.mini-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid #ccc;
    border-top: 2px solid #666;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    display: inline-block;
    vertical-align: middle;
}

/* Animación del spinner */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* 🔹 Modo claro */
#sidebarNotas.modo-claro #listaNotas li {
    background-color: #F3F2F2;
    color: #222;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

    #sidebarNotas.modo-claro #listaNotas li:hover {
        background-color: #e6f0ff;
    }

    #sidebarNotas.modo-claro #listaNotas li .fechaCiudad {
        color: #555;
    }

#sidebarNotas.modo-claro .mini-spinner {
    border: 2px solid #ccc;
    border-top: 2px solid #666;
}

/* 🔹 Modo oscuro */
#sidebarNotas.modo-oscuro #listaNotas li {
    background-color: #1f1f1f;
    color: #fff;
    box-shadow: 0 1px 3px rgba(255,255,255,0.05);
}

    #sidebarNotas.modo-oscuro #listaNotas li:hover {
        background-color: #333;
    }

    #sidebarNotas.modo-oscuro #listaNotas li .fechaCiudad {
        color: #aaa;
    }

#sidebarNotas.modo-oscuro .mini-spinner {
    border: 2px solid #555;
    border-top: 2px solid #ddd;
}


/*modales oscuros*/
/* =========================
   🌌 MODO OSCURO MODALES
========================= */

/* OVERLAY (fondo oscuro) */
#modalNota.modo-oscuro,
#modalDetalleNota.modo-oscuro,
#modalDonar.modo-oscuro,
#contenedor-checkout-embed.modo-oscuro{
    background: rgba(10, 20, 35, 0.85) !important;
}


    #donationModal.modo-oscuro div {
        background: rgba(10, 20, 35, 0.85) !important;
    }

    /* CONTENEDOR PRINCIPAL */
    #modalNota.modo-oscuro .modal-custom-centered,
    #modalDetalleNota.modo-oscuro .modal-custom-centered,
    #donationModal.modo-oscuro .modal-custom-centered,
    #modalContenido.modo-oscuro .modal-custom-centered,
    #modalContenido.modo-oscuro > div{
        background: #0F1C2E !important;
        color: #D6E2F0 !important;
        border: 1px solid #1B2A3A !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.6) !important;
    }

    /* TITULOS */
    #modalNota.modo-oscuro h3,
    #modalDetalleNota.modo-oscuro h3,
    #modalDetalleNota.modo-oscuro h4,
    #donationModal.modo-oscuro h3,
    #donationModal.modo-oscuro h4,
    #donationModal.modo-oscuro h2,
    #donationModal.modo-oscuro #closeModal,
    #modalContenido.modo-oscuro h2,
    #modalContenido.modo-oscuro h3,
    #modalContenido.modo-oscuro h4,
    #modalContenido.modo-oscuro .close-btn {
        color: #E3F2FD;
    }

    /* TEXTO GENERAL */
#modalNota.modo-oscuro p,
#modalDetalleNota.modo-oscuro p,
#donationModal.modo-oscuro p,
#modalContenido.modo-oscuro p
#modalDonar.modo-oscuro p,
#contenedor-checkout-embed.modo-oscuro p{
    color: #AFC4D9 !important;
}

    /* LABELS */
#modalNota.modo-oscuro label, #donationModal.modo-oscuro label, #modalContenido.modo-oscuro label,
#modalDonar.modo-oscuro label,
#contenedor-checkout-embed.modo-oscuro label {
    color: #AFC4D9;
}

    /* INPUTS, TEXTAREA, SELECT */
#modalNota.modo-oscuro input,
#modalNota.modo-oscuro textarea,
#modalNota.modo-oscuro select,
#modalDetalleNota.modo-oscuro textarea,
#modalDetalleNota.modo-oscuro input,
#donationModal.modo-oscuro input,
#donationModal.modo-oscuro textarea,
#donationModal.modo-oscuro select,
#modalContenido.modo-oscuro input,
#modalContenido.modo-oscuro textarea,
#modalContenido.modo-oscuro select
#modalDonar.modo-oscuro select,
#modalDonar.modo-oscuro textarea,
#contenedor-checkout-embed.modo-oscuro select
#contenedor-checkout-embed.modo-oscuro textarea
{
    background: #1B2A3A;
    color: #D6E2F0;
    border: 1px solid #2C445C;
    border-radius: 6px;
}

        /* PLACEHOLDER */
    #modalNota.modo-oscuro input::placeholder,
    #modalNota.modo-oscuro textarea::placeholder,
    #modalDetalleNota.modo-oscuro textarea::placeholder,
    #donationModal.modo-oscuro textarea::placeholder,
    #modalContenido.modo-oscuro textarea::placeholder
    #modalDonar.modo-oscuro textarea::placeholder,
    #contenedor-checkout-embed.modo-oscuro textarea::placeholder {
        color: #8FA3B8;
    }

        /* SELECT OPTIONS */
    #modalNota.modo-oscuro select option, #donationModal.modo-oscuro select option, #modalContenido.modo-oscuro select option,
    #modalDonar.modo-oscuro select option,
    #contenedor-checkout-embed.modo-oscuro select option {
        background: #0F1C2E;
        color: #D6E2F0;
    }

    /* HR */
#modalDetalleNota.modo-oscuro hr, #donationModal.modo-oscuro hr, #modalContenido.modo-oscuro hr,
#modalDonar.modo-oscuro hr,
#contenedor-checkout-embed.modo-oscuro hr{
    border-color: #2C445C;
}

    /* SCROLL COMENTARIOS */
#modalDetalleNota.modo-oscuro #listaComentarios,
#donationModal.modo-oscuro #listaComentarios,
 {
    background: #0F1C2E;
}

    /* TEXTO ESTADO */
    #modalDetalleNota.modo-oscuro #EstadoNota,
    #donationModal.modo-oscuro #EstadoNota {
        color: #7F8FA6;
    }

    /* CHECKBOX */
    #modalNota.modo-oscuro .custom-checkbox label,
    #donationModal.modo-oscuro .custom-checkbox label,
    
    {
        color: #AFC4D9;
    }

    /* LINKS */
#modalNota.modo-oscuro a,
#donationModal.modo-oscuro a,
#modalContenido.modo-oscuro li,
#modalContenido.modo-oscuro ul li
#modalContenido.modo-oscuro a,
#modalDonar.modo-oscuro a,
#contenedor-checkout-embed.modo-oscuro ul li {
    color: #4FC3F7;
}

    /* BOTONES */
    #modalNota.modo-oscuro .btn-primary,
    #modalDetalleNota.modo-oscuro .btn-primary,
    #donationModal.modo-oscuro .btn-primary, #modalContenido.modo-oscuro  .btn-primary{
        background: #2979FF;
        border: none;
        color: white;
    }

#modalNota.modo-oscuro .btn-dark,
#modalDetalleNota.modo-oscuro .btn-dark,
#donationModal.modo-oscuro .btn-dark, #modalContenido.modo-oscuro .btn-dark,
#modalDonar.modo-oscuro .btn-dark,
#contenedor-checkout-embed.modo-oscuro  .btn-dark{
    background: #1B2A3A;
    color: #D6E2F0;
    border: 1px solid #2C445C;
}

    /* HOVER BOTONES */
#modalNota.modo-oscuro .btn-primary:hover,
#modalDetalleNota.modo-oscuro .btn-primary:hover,
#donationModal.modo-oscuro .btn-primary:hover, #modalContenido.modo-oscuro .btn-primary:hover
#modalDonar.modo-oscuro .btn-primary:hover,
#contenedor-checkout-embed.modo-oscuro .btn-primary:hover {
    background: #1E5EDB;
}

#modalNota.modo-oscuro .btn-dark:hover,
#modalDetalleNota.modo-oscuro .btn-dark:hover,
#donationModal.modo-oscuro .btn-dark:hover,
#modalContenido.modo-oscuro .btn-dark:hover,
#modalDonar.modo-oscuro .btn-dark:hover,
#contenedor-checkout-embed.modo-oscuro .btn-dark:hover {
    background: #2C445C;
}

    /* =========================
   ✨ EFECTO PRO (opcional)
========================= */

#modalNota.modo-oscuro .modal-custom-centered,
#modalDetalleNota.modo-oscuro .modal-custom-centered,
#donationModal.modo-oscuro .modal-custom-centered, #modalContenido.modo-oscuro .modal-custom-centered,
#modalDonar.modo-oscuro .modal-custom-centered,
#contenedor-checkout-embed.modo-oscuro .modal-custom-centered {
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}


    #modalDetalleNota.modo-oscuro #descNota,
    #donationModal.modo-oscuro #descNota {
        color: whitesmoke !important;
    }


/* Filtro para oscurecer el iframe de Stripe si es necesario */
.modo-oscuro #contenedor-checkout-embed iframe {
    filter: brightness(0.9) contrast(1.1);
}




/* MODO OSCURO SWEETALERT */
.swal-modo-oscuro {
    background: #0F1C2E !important;
    color: #D6E2F0 !important;
    border: 1px solid #1B2A3A;
}

    .swal-modo-oscuro .swal2-title {
        color: #E3F2FD;
    }

    .swal-modo-oscuro .swal2-html-container {
        color: #AFC4D9;
    }

    .swal-modo-oscuro .swal2-confirm {
        background: #2979FF !important;
    }

    .swal-modo-oscuro .swal2-cancel {
        background: #1B2A3A !important;
        color: #D6E2F0 !important;
    }




/* CONTENEDOR */
.mensaje-donacion {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-30px) scale(0.95);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 40px;
    background: rgba(20, 30, 60, 0.65);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 8px 25px rgba(0,0,0,0.35), 0 0 12px rgba(41,121,255,0.4); /* glow azul */

    opacity: 0;
    pointer-events: none;
    transition: all 0.4s ease;
    z-index: 99999;
    cursor:pointer !important;
}

    /* ICONO */
    .mensaje-donacion .icono {
        font-size: 18px;
        animation: latido 1.5s infinite;
    }

    /* TEXTO */
    .mensaje-donacion .texto b {
        color: #4FC3F7;
        font-weight: 600;
    }

    /* MOSTRAR */
    .mensaje-donacion.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }

    /* HOVER (clicable) */
    .mensaje-donacion.clickable {
        pointer-events: auto;
        cursor: pointer;
    }

        .mensaje-donacion.clickable:hover {
            transform: translateX(-50%) scale(1.05);
            box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 18px rgba(41,121,255,0.7);
        }

/* ANIMACIÓN LATIDO */
@keyframes latido {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }
}


/* CONTENEDOR CORAZÓN */
.mensaje-donacion-heart {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) scale(0.9);
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.4s ease;
    z-index: 99999;
    cursor: pointer !important;
}

/* ❤️ CORAZÓN */
.heart {
    position: absolute;
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #ff4d6d, #ff1e56);
    transform: rotate(-45deg);
    box-shadow: 0 8px 20px rgba(0,0,0,0.4), 0 0 15px rgba(255,50,80,0.6);
}

    /* círculos superiores */
    .heart::before,
    .heart::after {
        content: "";
        position: absolute;
        width: 70px;
        height: 70px;
        background: linear-gradient(135deg, #ff4d6d, #ff1e56);
        border-radius: 50%;
    }

    /* izquierda */
    .heart::before {
        top: -35px;
        left: 0;
    }

    /* derecha */
    .heart::after {
        left: 35px;
        top: 0;
    }

/* TEXTO CENTRADO */
.mensaje-donacion-heart .texto {
    position: relative;
    color: white;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    vertical-align: central !important;
    bottom: 15px !important;
    z-index: 1;
}

/* MOSTRAR */
.mensaje-donacion-heart.show {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

/* LATIDO */
.mensaje-donacion-heart {
    animation: latidoHeart 1.4s infinite;
}

@keyframes latidoHeart {
    0%,100% {
        transform: translateX(-50%) scale(1);
    }

    50% {
        transform: translateX(-50%) scale(1.1);
    }
}



#mensajeDonacion.modo-oscuro .texto{
    color: palegoldenrod !important;
}


#mensajeDonacion.modo-oscuro .heart {
    background: linear-gradient(135deg, #0a0f1a, #1c2b3f, #0a0f1a);
    box-shadow: 0 8px 20px rgba(0,0,0,0.7), 0 0 15px rgba(41,121,255,0.5);
}

#mensajeDonacion.modo-oscuro .heart::before,
#mensajeDonacion.modo-oscuro .heart::after {
    background: linear-gradient(135deg, #0a0f1a, #1c2b3f, #0a0f1a);
}


.btn-donar-round {
    bottom: 50px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, #0070BA, #00A8FF);
    color: white;
    font-size: 15px;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3), 0 0 12px rgba(0,112,186,0.5);
    transition: all 0.25s ease;
}

    /* HOVER */
    .btn-donar-round:hover {
        transform: scale(1.1);
        box-shadow: 0 12px 30px rgba(0,0,0,0.4), 0 0 20px rgba(0,112,186,0.8);
    }

    /* CLICK */
    .btn-donar-round:active {
        transform: scale(0.95);
    }




#footer.modo-oscuro {
    background: linear-gradient(135deg, #0a0f1a, #1c2b3f, #0a0f1a);
}





/* =========================
   🌙 MODAL DONAR - MODO OSCURO PREMIUM
========================= */

/* Contenedor principal del modal */
#modalDonar.modo-oscuro .modal-content {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
    border: none !important;
    border-radius: 24px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
    overflow: hidden !important;
}

    /* Header del modal */
    #modalDonar.modo-oscuro .modal-content > div:first-child {
        background: linear-gradient(135deg, #667eea, #764ba2) !important;
        border-bottom: none !important;
    }

        #modalDonar.modo-oscuro .modal-content > div:first-child h4,
        #modalDonar.modo-oscuro .modal-content > div:first-child p {
            color: white !important;
        }

/* Body del modal */
#modalDonar.modo-oscuro .modal-body {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
    padding: 24px !important;
}

/* Footer del modal */
#modalDonar.modo-oscuro .modal-footer {
    background: transparent !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Botones de monto */
#modalDonar.modo-oscuro .btn-monto-rm {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
    border: 1px solid rgba(102, 126, 234, 0.3) !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

    #modalDonar.modo-oscuro .btn-monto-rm:hover {
        background: rgba(102, 126, 234, 0.2) !important;
        border-color: #667eea !important;
        transform: translateY(-2px) !important;
    }

    #modalDonar.modo-oscuro .btn-monto-rm.activo {
        background: linear-gradient(135deg, #667eea, #764ba2) !important;
        color: white !important;
        border-color: transparent !important;
        box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4) !important;
    }

/* Input de monto */
#modalDonar.modo-oscuro #monto-input {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
    border: 1px solid rgba(102, 126, 234, 0.3) !important;
    border-radius: 12px !important;
    padding: 12px 12px 12px 30px !important;
    transition: all 0.3s ease !important;
}

    #modalDonar.modo-oscuro #monto-input:focus {
        border-color: #667eea !important;
        background: rgba(255, 255, 255, 0.12) !important;
        box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2) !important;
        outline: none !important;
    }

    #modalDonar.modo-oscuro #monto-input::placeholder {
        color: rgba(255, 255, 255, 0.4) !important;
    }

/* Botón donar */
#modalDonar.modo-oscuro #btn-donar {
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    color: white !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4) !important;
}

    #modalDonar.modo-oscuro #btn-donar:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5) !important;
    }

    #modalDonar.modo-oscuro #btn-donar:disabled {
        opacity: 0.6 !important;
        transform: none !important;
    }

/* Mensaje de error */
#modalDonar.modo-oscuro #error-msg {
    color: #fc8181 !important;
    font-size: 0.85rem !important;
    margin-top: 8px !important;
}

/* Textos generales */
#modalDonar.modo-oscuro p,
#modalDonar.modo-oscuro label {
    color: #cbd5e1 !important;
}

#modalDonar.modo-oscuro .text-muted {
    color: #94a3b8 !important;
}

/* Contenedor checkout embebido */
#contenedor-checkout-embed.modo-oscuro {
    background: rgba(0, 0, 0, 0.2) !important;
    border-radius: 16px !important;
    padding: 4px !important;
}

/* Efecto de brillo en hover para el modal */
#modalDonar.modo-oscuro .modal-content:hover {
    box-shadow: 0 25px 50px -12px rgba(102, 126, 234, 0.3) !important;
}
/* Notas públicas: lectura editorial bajo el mapa */
.notas-publicas {
    width: 100%;
    padding: clamp(3rem, 7vw, 5.5rem) 1.25rem 7rem;
    border-top: 1px solid #e1e8f0;
    background: linear-gradient(155deg, #f8fbff 0%, #eef4fa 100%);
}

.notas-publicas__inner {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.notas-publicas__header {
    max-width: 680px;
    margin: 0 auto 2.25rem;
    text-align: center;
}

.notas-publicas__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .75rem;
    color: #2875a8;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.notas-publicas__eyebrow::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #48a7d8;
    content: "";
}

.notas-publicas__header h1 {
    margin: 0;
    color: #172b3d;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 750;
    letter-spacing: -.035em;
}

.notas-publicas__header > p {
    margin: .75rem auto 0;
    color: #647789;
    font-size: 1rem;
    line-height: 1.7;
}

.notas-publicas__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.nota-resumen {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1.25rem 1.3rem 1.15rem;
    border: 1px solid #e3eaf1;
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 24px rgba(34, 67, 94, .055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.nota-resumen:hover {
    transform: translateY(-3px);
    border-color: #c8dceb;
    box-shadow: 0 14px 30px rgba(34, 67, 94, .1);
}

.nota-resumen__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    color: #748697;
    font-size: .74rem;
}

.nota-resumen__meta > span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #2875a8;
    font-weight: 650;
}

.nota-resumen__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #52a8d5;
}

.nota-resumen h2 {
    margin: 1rem 0 .55rem;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.4;
}

.nota-resumen h2 a {
    color: #20384d;
    text-decoration: none;
}

.nota-resumen h2 a:hover {
    color: #2476a9;
}

.nota-resumen__texto {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 1rem;
    color: #627486;
    font-size: .9rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.nota-resumen__enlace {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: auto;
    padding-top: .2rem;
    color: #2679ac;
    font-size: .87rem;
    font-weight: 700;
    text-decoration: none;
}

.nota-resumen__enlace span {
    transition: transform .18s ease;
}

.nota-resumen__enlace:hover span {
    transform: translateX(3px);
}

.notas-publicas__vacio {
    padding: 2rem;
    border: 1px dashed #cbd8e4;
    border-radius: 16px;
    color: #647789;
    text-align: center;
}

.notas-publicas__vacio > span {
    font-size: 1.6rem;
}

.notas-publicas__vacio p {
    margin: .6rem 0 0;
}

.notas-publicas__aviso {
    margin: 1.5rem auto 0;
    color: #748697;
    font-size: .78rem;
    line-height: 1.55;
    text-align: center;
}

@media (max-width: 900px) {
    .notas-publicas__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .notas-publicas {
        padding: 2.75rem 1rem 6rem;
    }

    .notas-publicas__header {
        margin-bottom: 1.5rem;
        text-align: left;
    }

    .notas-publicas__grid {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .nota-resumen {
        padding: 1.1rem;
        border-radius: 13px;
    }
}
.notas-publicas__header {
    position: relative;
    padding: 1.75rem 1rem 2rem;
}

.notas-publicas__header h1 {
    font-size: clamp(2rem, 5vw, 3rem);
}

.nota-resumen--destacada {
    position: relative;
    grid-column: span 2;
    min-height: 235px;
    justify-content: center;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border-color: #174865;
    background: linear-gradient(125deg, #153a55 0%, #1e6482 72%, #26809a 100%);
    box-shadow: 0 16px 34px rgba(21, 58, 85, .2);
}

.nota-resumen--destacada::after {
    position: absolute;
    top: -95px;
    right: -45px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(255,255,255,.035), 0 0 0 58px rgba(255,255,255,.025);
    content: "";
    pointer-events: none;
}

.nota-resumen--destacada .nota-resumen__meta,
.nota-resumen--destacada .nota-resumen__meta > span,
.nota-resumen--destacada h2 a,
.nota-resumen--destacada .nota-resumen__texto {
    color: #fff;
}

.nota-resumen--destacada .nota-resumen__meta {
    color: rgba(255,255,255,.72);
}

.nota-resumen--destacada .nota-resumen__dot {
    background: #8ee3dc;
}

.nota-resumen__badge {
    position: absolute;
    top: 1.15rem;
    right: 1.2rem;
    z-index: 1;
    padding: .35rem .65rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #fff !important;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.nota-resumen--destacada h2 {
    max-width: 740px;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.nota-resumen--destacada .nota-resumen__texto {
    max-width: 760px;
    -webkit-line-clamp: 3;
}

.nota-resumen--destacada .nota-resumen__enlace {
    color: #a8e8e1;
}

.nota-resumen--destacada:hover {
    border-color: #2e7d9d;
    box-shadow: 0 20px 40px rgba(21, 58, 85, .24);
}

@media (max-width: 600px) {
    .nota-resumen--destacada {
        grid-column: span 1;
        min-height: auto;
        padding: 1.3rem;
    }

    .nota-resumen__badge {
        position: static;
        align-self: flex-start;
        margin-bottom: .8rem;
    }
}
/* Inicio editorial y mapa bajo demanda */
html { scroll-behavior: smooth; }
body:not(.mapa-activo) { overflow-x: hidden; }
body:not(.mapa-activo) .btn-float, body:not(.mapa-activo) .btn-donar, body:not(.mapa-activo) #logoWrapper, body:not(.mapa-activo) #mensajeDonacion { display: none !important; }
.inicio-hero { position:relative; isolation:isolate; overflow:hidden; padding:clamp(3.5rem,8vw,6.5rem) max(1.25rem,calc((100vw - 1120px)/2)); background:radial-gradient(ellipse at 84% 22%,rgba(113,218,206,.28),transparent 30%),linear-gradient(120deg,#102f46,#145878 58%,#147f8b); color:white; }
.inicio-hero::before { position:absolute; z-index:-1; top:-180px; right:7%; width:420px; height:420px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 95px rgba(255,255,255,.025); content:""; }
.inicio-hero__contenido { position:relative; max-width:760px; }
.inicio-hero__eyebrow,.mapa-workspace__eyebrow { display:inline-block; margin-bottom:.8rem; color:#a9e9df; font-size:.75rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.inicio-hero h1,.inicio-hero h2 { max-width:700px; margin:0; color:#fff; font-size:clamp(2.35rem,5.8vw,4.2rem); font-weight:800; letter-spacing:-.045em; line-height:1.04; }
.inicio-hero__contenido>p:not(.inicio-hero__nota) { max-width:650px; margin:1.15rem 0 1.6rem; color:rgba(255,255,255,.86); font-size:clamp(1rem,1.7vw,1.12rem); line-height:1.75; }
.inicio-hero__acciones { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.inicio-hero__boton { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1.1rem; border:1px solid transparent; border-radius:12px; cursor:pointer; font:inherit; font-weight:750; text-decoration:none; transition:transform .18s,background .18s; }
.inicio-hero__boton:hover { transform:translateY(-2px); }
.inicio-hero__boton--principal { background:#e9bd65; color:#183649; box-shadow:0 8px 22px rgba(5,22,33,.2); }
.inicio-hero__boton--principal:hover { background:#f2cd80; }
.inicio-hero__boton--secundario { border-color:rgba(255,255,255,.36); background:rgba(255,255,255,.08); color:white; }
.inicio-hero__mapa-link { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1.1rem; border:1px solid rgba(255,255,255,.36); border-radius:12px; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; font:inherit; font-weight:750; text-decoration:none; transition:transform .18s,background .18s,border-color .18s; }
.inicio-hero__mapa-link:hover,.inicio-hero__mapa-link:focus-visible { transform:translateY(-2px); border-color:rgba(255,255,255,.65); background:rgba(255,255,255,.16); color:#fff; outline:3px solid rgba(255,255,255,.14); outline-offset:2px; }
.inicio-hero__nota { max-width:650px; margin:1.35rem 0 0; color:rgba(255,255,255,.67); font-size:.78rem; line-height:1.6; }
.notas-publicas { scroll-margin-top:1rem; border-top:0; }
.notas-publicas__header h1,.notas-publicas__header h2 { margin:0; color:#172b3d; font-size:clamp(2rem,5vw,3rem); font-weight:800; letter-spacing:-.04em; }
.mapa-workspace { padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,2.5rem); background:#edf3f6; scroll-margin-top:1rem; }
.mapa-workspace[hidden] { display:none !important; }
.mapa-workspace__encabezado { display:flex; width:min(100%,1400px); align-items:center; justify-content:space-between; gap:1rem; margin:0 auto 1.15rem; }
.mapa-workspace__eyebrow { margin-bottom:.35rem; color:#267c8c; }
.mapa-workspace__encabezado h2 { margin:0; color:#18364b; font-size:clamp(1.55rem,3vw,2rem); font-weight:800; }
.mapa-workspace__encabezado p { max-width:760px; margin:.4rem 0 0; color:#5e7282; line-height:1.6; }
.mapa-workspace__volver { flex:0 0 auto; padding:.7rem .9rem; border:1px solid #cad8e1; border-radius:10px; background:white; color:#28475d; cursor:pointer; font:inherit; font-weight:700; }
.mapa-workspace .contenedor { display:flex; width:min(100%,1400px); height:min(72vh,760px); min-height:500px; margin:0 auto; overflow:hidden; border:1px solid #d3e0e7; border-radius:18px; background:white; box-shadow:0 18px 46px rgba(31,70,94,.14); }
.mapa-workspace #map { flex:1 1 auto; min-width:0; min-height:100%; }
.mapa-workspace #sidebarNotas { height:100% !important; flex:0 0 300px; }
.mapa-cargando { padding:1rem; color:#607789; list-style:none; }
body.mapa-activo .btn-float { display:block; }
body.mapa-activo .btn-donar { display:inline-block; }
body.mapa-activo #logoWrapper, body.mapa-activo #mensajeDonacion { display:flex; }
@media(max-width:700px) {
 .inicio-hero { padding:3.25rem 1.25rem 3rem; }
 .inicio-hero__acciones { align-items:stretch; }
 .inicio-hero__boton { width:100%; }
 .inicio-hero__mapa-link { width:100%; align-self:stretch; }
 .mapa-workspace { padding:1.5rem .75rem 2rem; }
 .mapa-workspace__encabezado { align-items:flex-start; flex-direction:column; }
 .mapa-workspace .contenedor { position:relative; height:68vh; min-height:440px; border-radius:12px; }
 .mapa-workspace #sidebarNotas { flex-basis:42px; width:42px; overflow:hidden; }
 .mapa-workspace #sidebarNotas .titulo-texto,.mapa-workspace #sidebarNotas ul { display:none; }
 .mapa-workspace #sidebarNotas .sidebar-header { min-width:42px; justify-content:center; padding:.7rem 0; }
 .mapa-workspace #sidebarNotas.mobile-expand { position:absolute; z-index:1000; width:min(280px,78vw); flex-basis:min(280px,78vw); box-shadow:8px 0 28px rgba(20,52,73,.18); }
 .mapa-workspace #sidebarNotas.mobile-expand .titulo-texto,.mapa-workspace #sidebarNotas.mobile-expand ul { display:block; }
 .mapa-workspace #sidebarNotas.mobile-expand .sidebar-header { justify-content:space-between; padding:.7rem 1rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .inicio-hero__boton { transition:none; } }

/* Detalles y vistas inmersivas a pantalla completa */
.nota-publica-page { min-height:100svh; padding:clamp(1rem,3vw,2.5rem) clamp(1rem,5vw,4rem) 90px; background:radial-gradient(ellipse at 85% 10%,rgba(116,209,199,.18),transparent 30%),linear-gradient(145deg,#eff5f7,#eaf0f6 52%,#f8fafc); }
.nota-detalle { width:min(100%,1440px); min-height:calc(100svh - 130px); margin:0 auto; overflow:hidden; border:1px solid #dce6eb; border-radius:26px; background:#fff; box-shadow:0 24px 70px rgba(23,55,75,.12); }
.nota-detalle__nav { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem clamp(1rem,4vw,3rem); border-bottom:1px solid #edf1f4; }
.nota-detalle__nav>a { color:#286d85; font-weight:700; text-decoration:none; }
.nota-detalle__nav>a:hover { color:#143c54; }
.nota-detalle__marca { color:#687d89; font-size:.72rem; letter-spacing:.12em; }
.nota-detalle__marca b { color:#1a526c; }
.nota-detalle__cuerpo { width:min(100%,960px); margin:0 auto; padding:clamp(2rem,6vw,5rem) clamp(1.25rem,6vw,5.5rem); }
.nota-detalle__header { position:relative; padding:0 0 2rem; border-bottom:1px solid #e8eef1; }
.nota-detalle__icono { display:grid; width:58px; height:58px; place-items:center; margin-bottom:1.5rem; border:1px solid #d9efeb; border-radius:18px; background:#ecf8f5; font-size:1.65rem; }
.nota-detalle__eyebrow { margin:0 0 .55rem; color:#268079; font-size:.74rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nota-detalle__header h1 { margin:0; color:#173a50; font-size:clamp(2rem,5vw,3.8rem); font-weight:800; letter-spacing:-.045em; line-height:1.08; overflow-wrap:anywhere; }
.nota-detalle__fecha { margin:.95rem 0 0; color:#718391; font-size:.9rem; }
.nota-detalle__texto { padding:clamp(1.5rem,4vw,3rem) 0; color:#344e5e; font-size:clamp(1.08rem,2vw,1.28rem); line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.nota-detalle__aviso { display:flex; align-items:flex-start; gap:.85rem; padding:1.1rem 1.2rem; border:1px solid #dfe9ee; border-radius:14px; background:#f5f9fa; }
.nota-detalle__aviso>span { font-size:1.1rem; }
.nota-detalle__aviso p { margin:0; color:#607482; font-size:.86rem; line-height:1.7; }
.nota-detalle__acciones { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; padding-top:1.5rem; }
.nota-detalle__boton { display:inline-flex; min-height:48px; align-items:center; gap:.6rem; padding:.8rem 1.1rem; border-radius:11px; background:#174f6c; color:#fff; font-weight:750; text-decoration:none; }
.nota-detalle__boton:hover { background:#103d55; color:#fff; }
.nota-detalle__mapa { color:#286d85; font-weight:700; text-decoration:none; }
.nota-detalle__mapa:hover { text-decoration:underline; }

.notas-publicas { min-height:100svh; display:flex; align-items:stretch; padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3.5rem) 5rem; }
.notas-publicas__inner { display:flex; width:min(100%,1680px); min-height:calc(100svh - 9rem); flex:1; flex-direction:column; margin:0 auto; }
.notas-publicas__header { width:min(100%,900px); margin:0 auto clamp(1.5rem,4vw,3rem); }
.notas-publicas__grid { width:100%; grid-auto-rows:minmax(220px,auto); }

.mapa-workspace { display:flex; width:100%; height:100svh; min-height:100svh; flex-direction:column; padding:0; }
.mapa-workspace__encabezado { width:100%; min-height:122px; flex:0 0 auto; padding:1.25rem clamp(1rem,4vw,3rem); }
.mapa-workspace .contenedor { width:100%; max-width:none; height:auto; min-height:0; flex:1 1 auto; border-right:0; border-bottom:0; border-left:0; border-radius:0; }
.mapa-workspace #sidebarNotas { height:100% !important; }
body.mapa-activo #footer { display:none; }

.modal-nota-detalle { padding:clamp(.5rem,3vw,2rem); backdrop-filter:blur(7px); background:rgba(8,29,43,.72); }
.modal-nota-detalle__panel { position:relative; display:flex; width:min(100%,1180px); max-width:none; max-height:min(92svh,1000px); flex-direction:column; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.65); border-radius:24px; background:#f8fafb; box-shadow:0 32px 100px rgba(5,22,33,.38); }
.modal-nota-detalle__header { position:relative; display:flex; min-height:220px; align-items:center; gap:1.25rem; overflow:hidden; padding:clamp(1.4rem,4vw,3.25rem); background:radial-gradient(circle at 90% 20%,rgba(126,220,204,.22),transparent 30%),linear-gradient(125deg,#143c55,#1a6880 74%,#258491); color:#fff; }
.modal-nota-detalle__header::after { position:absolute; top:-170px; right:8%; width:390px; height:390px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.025); content:""; pointer-events:none; }
.modal-nota-detalle__icono { z-index:1; display:grid; width:64px; height:64px; flex:0 0 64px; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:20px; background:rgba(255,255,255,.12); font-size:1.8rem; }
.modal-nota-detalle__encabezado-texto { z-index:1; min-width:0; padding-right:2rem; }
.modal-nota-detalle__eyebrow { margin:0 0 .45rem; color:#a9e9df; font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.modal-nota-detalle__tipo { display:table; margin:0 0 .5rem; padding:.28rem .65rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(255,255,255,.11); color:#fff; font-size:.76rem; }
.modal-nota-detalle__header h2 { margin:0; color:#fff; font-size:clamp(1.5rem,4vw,2.65rem); font-weight:800; letter-spacing:-.035em; line-height:1.12; overflow-wrap:anywhere; }
.modal-nota-detalle__ubicacion { margin:.75rem 0 0; color:rgba(255,255,255,.8); font-size:.9rem; }
.modal-nota-detalle__cerrar { position:absolute; z-index:2; top:1rem; right:1rem; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(255,255,255,.13); color:#fff; cursor:pointer; font-size:1.8rem; line-height:1; }
.modal-nota-detalle__cerrar:hover { background:rgba(255,255,255,.25); }
.modal-nota-detalle__contenido { display:grid; min-height:0; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:clamp(1.25rem,3vw,2.5rem); overflow-y:auto; padding:clamp(1.25rem,3vw,2.5rem); }
.modal-nota-detalle__descripcion h3,.modal-nota-detalle__seccion-titulo h3 { margin:0; color:#18394e; font-size:1.2rem; font-weight:800; }
.modal-nota-detalle__descripcion>p { margin:1rem 0 0; color:#435c6d; font-size:1.04rem; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.modal-nota-detalle__comentarios { min-width:0; padding:1.2rem; border:1px solid #e3eaee; border-radius:18px; background:#fff; }
.modal-nota-detalle__seccion-titulo { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.modal-nota-detalle__lista { max-height:28vh; min-height:70px; overflow-y:auto; margin-bottom:1rem; }
.modal-nota-detalle__lista>div { padding:.8rem 0 !important; border-bottom:1px solid #edf1f3 !important; }
.modal-nota-detalle__comentarios textarea { width:100%; resize:vertical; padding:.8rem .9rem; border:1px solid #d8e2e8; border-radius:11px; background:#fbfdfe; color:#263f50; }
.modal-nota-detalle__comentarios textarea:focus { border-color:#36869a; outline:3px solid rgba(54,134,154,.13); }
.modal-nota-detalle__footer { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; padding:.85rem 0 0; }
.modal-nota-detalle__footer #DivReportarNota { margin-right:auto; }
body.modal-nota-abierta { overflow:hidden; }

@media(max-width:700px) {
    .nota-publica-page { min-height:100svh; padding:.5rem .5rem 76px; }
    .nota-detalle { min-height:calc(100svh - 90px); border-radius:18px; }
    .nota-detalle__nav { min-height:54px; }
    .nota-detalle__marca { font-size:.62rem; }
    .nota-detalle__cuerpo { padding:2rem 1.25rem; }
    .nota-detalle__icono { width:48px; height:48px; border-radius:15px; }
    .nota-detalle__acciones { align-items:stretch; flex-direction:column; }
    .nota-detalle__boton { justify-content:center; }
    .notas-publicas { min-height:100svh; padding:2.5rem 1rem 5rem; }
    .notas-publicas__inner { min-height:calc(100svh - 7rem); }
    .mapa-workspace__encabezado { min-height:145px; justify-content:center; gap:.5rem; padding:1rem; }
    .mapa-workspace__encabezado p { font-size:.87rem; line-height:1.4; }
    .mapa-workspace .contenedor { height:auto; min-height:0; }
    .mapa-workspace #sidebarNotas { height:100% !important; }
    .modal-nota-detalle { align-items:stretch; justify-content:stretch; padding:0; }
    .modal-nota-detalle__panel { width:100%; max-height:100svh; height:100svh; border:0; border-radius:0; }
    .modal-nota-detalle__header { min-height:190px; flex:0 0 auto; align-items:flex-end; gap:.8rem; padding:1.2rem 1rem 1.25rem; }
    .modal-nota-detalle__icono { width:46px; height:46px; flex-basis:46px; border-radius:14px; font-size:1.3rem; }
    .modal-nota-detalle__encabezado-texto { padding:0 1.8rem 0 0; }
    .modal-nota-detalle__encabezado-texto>.modal-nota-detalle__eyebrow { margin-bottom:.5rem; }
    .modal-nota-detalle__header h2 { font-size:1.5rem; }
    .modal-nota-detalle__cerrar { top:.65rem; right:.65rem; width:38px; height:38px; }
    .modal-nota-detalle__contenido { display:flex; flex-direction:column; gap:1.2rem; padding:1rem; }
    .modal-nota-detalle__descripcion>p { margin-top:.65rem; font-size:.96rem; line-height:1.65; }
    .modal-nota-detalle__comentarios { padding:.9rem; }
    .modal-nota-detalle__lista { max-height:24vh; }
    .mapa-workspace__volver { min-height:42px; }
}
@media(max-width:700px) { .modal-nota-detalle .modal-nota-detalle__panel { width:100vw !important; height:100svh !important; max-height:100svh; } }

/* Listado por estados: navegación directa, ubicación y tarjetas completas clicables. */
.notas-filtros { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1rem; margin:0 0 clamp(1.5rem,4vw,2.5rem); padding:.9rem 1rem; border:1px solid #dce8ec; border-radius:15px; background:rgba(255,255,255,.78); box-shadow:0 5px 18px rgba(23,65,82,.045); }
.notas-filtros label { color:#345567; font-size:.9rem; font-weight:750; }
.notas-filtros label span { margin-right:.35rem; color:#278f8d; font-size:1.1rem; }
.notas-filtros select { min-width:min(100%,250px); padding:.68rem 2.3rem .68rem .8rem; border:1px solid #cedde3; border-radius:10px; background:#fff; color:#28495b; font:inherit; font-size:.9rem; }
.notas-filtros select:focus { border-color:#3a9293; outline:3px solid rgba(58,146,147,.15); }
.notas-filtros__resumen { margin-left:auto; color:#748793; font-size:.82rem; }
.grupo-estado { margin:0 0 clamp(2rem,5vw,3.5rem); scroll-margin-top:1rem; }
.grupo-estado[hidden] { display:none !important; }
.grupo-estado__cabecera { display:flex; align-items:center; gap:.85rem; margin-bottom:1rem; padding:.5rem 0; }
.grupo-estado__icono { display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center; border:1px solid #cfe7e1; border-radius:15px; background:linear-gradient(145deg,#e6f6f1,#edf5fb); font-size:1.35rem; }
.grupo-estado__nombre>span { color:#718792; font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.grupo-estado__nombre h3 { margin:.08rem 0 0; color:#1b455c; font-size:clamp(1.25rem,2.4vw,1.75rem); font-weight:800; letter-spacing:-.025em; }
.grupo-estado__cantidad { margin-left:auto; padding:.4rem .75rem; border:1px solid #dbe9e8; border-radius:999px; background:#f5fbf9; color:#39736f; font-size:.78rem; font-weight:700; white-space:nowrap; }
.grupo-estado .notas-publicas__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.nota-resumen { position:relative; overflow:hidden; }
.nota-resumen__contenido { display:flex; min-height:100%; flex-direction:column; color:inherit; text-decoration:none; }
.nota-resumen__contenido:focus-visible { border-radius:12px; outline:3px solid #e6b75f; outline-offset:4px; }
.nota-resumen__meta>span { max-width:68%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nota-resumen__contenido h4 { margin:1rem 0 .55rem; color:#20384d; font-size:1.1rem; font-weight:780; line-height:1.4; }
.nota-resumen__contenido:hover h4 { color:#1e7f83; }
.nota-resumen__enlace { display:inline-flex; align-items:center; gap:.45rem; margin-top:auto; padding-top:1rem; color:#207c80; }
.nota-resumen__enlace>span { display:inline-block; transition:transform .18s ease; }
.nota-resumen__contenido:hover .nota-resumen__enlace>span { transform:translateX(4px); }
.nota-resumen--destacada .nota-resumen__contenido h4 { color:#fff; font-size:clamp(1.35rem,2.6vw,1.85rem); }
.nota-resumen--destacada .nota-resumen__contenido:hover h4 { color:#d7f4ef; }
.nota-resumen--destacada .nota-resumen__enlace { color:#a8e8e1; }
.notas-publicas__vacio { display:grid; justify-items:center; gap:.75rem; margin:auto 0; padding:clamp(2rem,7vw,5rem); border:1px dashed #bdd3d9; border-radius:22px; background:rgba(255,255,255,.7); }
.notas-publicas__vacio h3 { margin:0; color:#21485c; }
.notas-publicas__vacio p { margin:0; color:#607986; }
.notas-publicas__vacio button { margin-top:.5rem; padding:.8rem 1.1rem; border:0; border-radius:11px; background:#197d80; color:white; cursor:pointer; font-weight:750; }
.notas-publicas__aviso { margin-top:auto; padding-top:1.5rem; }
@media(max-width:900px) { .grupo-estado .notas-publicas__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .notas-filtros { align-items:stretch; flex-direction:column; }
 .notas-filtros select { width:100%; }
 .notas-filtros__resumen { margin-left:0; }
 .grupo-estado .notas-publicas__grid { grid-template-columns:1fr; gap:.85rem; }
 .grupo-estado__cabecera { gap:.65rem; }
 .grupo-estado__icono { width:42px; height:42px; flex-basis:42px; border-radius:13px; }
 .grupo-estado__cantidad { padding:.32rem .55rem; font-size:.7rem; }
 .nota-resumen__contenido { min-height:180px; }
}
.nota-resumen__contenido { position:static; }
.nota-resumen__contenido::after { position:absolute; z-index:0; inset:0; content:""; }
.nota-resumen__contenido>* { position:relative; z-index:1; }
.nota-resumen__contenido:focus-visible { outline:3px solid #e6b75f; outline-offset:4px; }
.nota-resumen { cursor:pointer; }
.nota-resumen__titulo-enlace { color:inherit; text-decoration:none; }
.nota-resumen__titulo-enlace:hover,.nota-resumen__titulo-enlace:focus-visible { color:#0866ff; text-decoration:underline; text-underline-offset:3px; }
html.tema-oscuro .nota-resumen__titulo-enlace:hover,html.tema-oscuro .nota-resumen__titulo-enlace:focus-visible { color:#91baff; }
.nota-feed__interacciones { cursor:default; }
.nota-feed__interacciones button { cursor:pointer; }
.nota-feed__interacciones a { cursor:pointer; }
.nota-feed__interacciones textarea { cursor:text; }

/* Botón global de tema y paletas coordinadas */
.tema-toggle { position:fixed; z-index:1001; top:14px; right:16px; display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:.48rem; padding:.48rem .82rem; border:1px solid #cddfe3; border-radius:999px; background:rgba(255,255,255,.94); color:#23596a; box-shadow:0 5px 18px rgba(27,69,83,.15); cursor:pointer; font:inherit; font-size:.82rem; font-weight:750; backdrop-filter:blur(12px); transition:transform .18s,background .18s,box-shadow .18s; }
.tema-toggle:hover { transform:translateY(-1px); background:#fff; box-shadow:0 8px 22px rgba(27,69,83,.2); }
.tema-toggle>span:first-child { font-size:1rem; }
.mapa-activo #logoWrapper { right:auto; left:14px; }

/* Más carácter en la paleta clara */
.notas-filtros { border-color:#b9ddf4; background:linear-gradient(118deg,#f2faff 0%,#eef8ff 48%,#f1f0ff 100%); box-shadow:0 10px 28px rgba(41,119,190,.10); }
.notas-filtros label { color:#155b91; }
.notas-filtros label span { color:#078f9b; }
.grupo-estado__icono { background:linear-gradient(145deg,#dff5ef,#e6f1fc 65%,#fff1e8); }
.grupo-estado__cantidad { border-color:#cfe7e0; background:linear-gradient(120deg,#effaf6,#f3f7ff); color:#34736d; }
.grupo-estado .notas-publicas__grid .nota-resumen:not(.nota-resumen--destacada) { border-color:#d8e7e7; background:linear-gradient(145deg,#fff 0%,#f7fcfb 100%); }
.grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n+2):not(.nota-resumen--destacada) { border-color:#d7e2f2; background:linear-gradient(145deg,#fff 0%,#f4f7ff 100%); }
.grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n):not(.nota-resumen--destacada) { border-color:#f0dfd2; background:linear-gradient(145deg,#fff 0%,#fff8f1 100%); }
.nota-resumen:not(.nota-resumen--destacada) { border-top:3px solid #65bba7; }
.grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n+2):not(.nota-resumen--destacada) { border-top-color:#779bd1; }
.grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n):not(.nota-resumen--destacada) { border-top-color:#e4a477; }
.nota-detalle { border-color:#d9e8e8; box-shadow:0 28px 80px rgba(30,84,93,.15); }
.nota-detalle__icono { border-color:#ccebe2; background:linear-gradient(145deg,#dff6ee,#e9f0ff 72%,#fff0e5); box-shadow:0 10px 22px rgba(45,137,123,.12); }
.nota-detalle__header h1 { background:linear-gradient(100deg,#174c68 0%,#218283 65%,#bd7446 115%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nota-detalle__texto { border-left:4px solid #59ad9e; border-radius:0 16px 16px 0; background:linear-gradient(135deg,#f0faf6,#f5f7ff 70%,#fff8f1); padding:clamp(1.25rem,3vw,2.25rem); }
.nota-detalle__aviso { border-color:#eadfbd; background:linear-gradient(115deg,#fffaf0,#f8fbf8); }
.nota-detalle__boton { background:linear-gradient(115deg,#176879,#258d82); box-shadow:0 8px 20px rgba(29,117,120,.22); }
.nota-detalle__boton:hover { background:linear-gradient(115deg,#12556a,#1d786f); }

/* Tema oscuro, con lectura cómoda en el feed y los detalles */
html.tema-oscuro, html.tema-oscuro body { background:#101a22; color:#e4edf2; color-scheme:dark; }
html.tema-oscuro .tema-toggle { border-color:#46616f; background:rgba(27,45,56,.96); color:#e6f5f3; box-shadow:0 5px 20px rgba(0,0,0,.3); }
html.tema-oscuro .tema-toggle:hover { background:#29414e; }
html.tema-oscuro .inicio-hero { background:radial-gradient(ellipse at 84% 22%,rgba(50,138,130,.25),transparent 32%),linear-gradient(120deg,#0d202b,#12394c 58%,#145256); }
html.tema-oscuro .notas-publicas { border-color:#273e4c; background:linear-gradient(155deg,#13232d,#162b36 55%,#1b2d38); }
html.tema-oscuro .notas-publicas__header h1,html.tema-oscuro .notas-publicas__header h2, html.tema-oscuro .grupo-estado__nombre h3 { color:#e6f0f4; }
html.tema-oscuro .notas-publicas__header>p, html.tema-oscuro .notas-publicas__aviso { color:#a8bdc8; }
html.tema-oscuro .notas-publicas__eyebrow { color:#7fd2c2; }
html.tema-oscuro .notas-filtros { border-color:#315c70; background:linear-gradient(118deg,#172f3d,#183744 52%,#292d48); box-shadow:0 10px 28px rgba(0,0,0,.22); }
html.tema-oscuro .notas-filtros label, html.tema-oscuro .notas-filtros__resumen { color:#c0d0d8; }
html.tema-oscuro .notas-filtros select { border-color:#49616d; background:#182a34; color:#e2edf1; }
html.tema-oscuro .grupo-estado__icono { border-color:#3a5d63; background:linear-gradient(145deg,#24463f,#263e55 70%,#4b3a32); }
html.tema-oscuro .grupo-estado__nombre>span { color:#a4bbc4; }
html.tema-oscuro .grupo-estado__cantidad { border-color:#395955; background:#203c3a; color:#a8e2d1; }
html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:not(.nota-resumen--destacada), html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n+2):not(.nota-resumen--destacada), html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n):not(.nota-resumen--destacada) { border-color:#354d57; background:linear-gradient(145deg,#1c3039,#213943); box-shadow:0 10px 26px rgba(0,0,0,.16); }
html.tema-oscuro .nota-resumen:not(.nota-resumen--destacada), html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n+2):not(.nota-resumen--destacada), html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n):not(.nota-resumen--destacada) { border-top-color:#5bb7a5; }
html.tema-oscuro .nota-resumen__meta, html.tema-oscuro .nota-resumen__meta>span { color:#a9c7c9; }
html.tema-oscuro .nota-resumen__contenido h4 { color:#eff6f8; }
html.tema-oscuro .nota-resumen__contenido:hover h4 { color:#92e0d3; }
html.tema-oscuro .nota-resumen__texto { color:#bdcbd1; }
html.tema-oscuro .nota-resumen__enlace { color:#86d8c8; }
html.tema-oscuro .nota-resumen--destacada { border-color:#2d7480; background:linear-gradient(125deg,#123848,#155769 72%,#196d72); }
html.tema-oscuro .nota-detalle-page, html.tema-oscuro .nota-publica-page { background:radial-gradient(ellipse at 85% 10%,rgba(53,137,131,.17),transparent 32%),linear-gradient(145deg,#111f28,#172a34 60%,#1a2834); }
html.tema-oscuro .nota-detalle { border-color:#344d58; background:#192c36; box-shadow:0 28px 80px rgba(0,0,0,.3); }
html.tema-oscuro .nota-detalle__nav { border-color:#344953; }
html.tema-oscuro .nota-detalle__nav>a, html.tema-oscuro .nota-detalle__mapa { color:#8bd7ce; }
html.tema-oscuro .nota-detalle__marca { color:#9fb3bd; }
html.tema-oscuro .nota-detalle__marca b { color:#d6e7ec; }
html.tema-oscuro .nota-detalle__header { border-color:#3a505a; }
html.tema-oscuro .nota-detalle__header h1 { background:linear-gradient(100deg,#d5f2ec,#90d8d1 60%,#f2bd92); -webkit-background-clip:text; background-clip:text; color:transparent; }
html.tema-oscuro .nota-detalle__fecha { color:#a5b8c1; }
html.tema-oscuro .nota-detalle__texto { border-color:#5ab4a6; background:linear-gradient(135deg,#203b3a,#243744 70%,#3c3330); color:#e0ebee; }
html.tema-oscuro .nota-detalle__aviso { border-color:#5d5640; background:linear-gradient(115deg,#383524,#263938); }
html.tema-oscuro .nota-detalle__aviso p { color:#d5d1c0; }
html.tema-oscuro .nota-detalle__boton { background:linear-gradient(115deg,#176879,#258d82); color:#fff; }
html.tema-oscuro .mapa-workspace { background:#14232c; }
html.tema-oscuro .mapa-workspace__encabezado h2 { color:#e2edf2; }
html.tema-oscuro .mapa-workspace__encabezado p { color:#afc0c8; }
html.tema-oscuro .mapa-workspace__volver { border-color:#415a66; background:#213641; color:#e3edf1; }
html.tema-oscuro #footer { background:linear-gradient(90deg,#233642,#293a4a,#344253); color:#d4e2e7; }
html.tema-oscuro #footer .footer-bar>span, html.tema-oscuro .footer-legal>span { color:#cfdae0; }
@media(max-width:700px) { .tema-toggle { top:10px; right:10px; min-height:38px; padding:.4rem .7rem; } .mapa-activo #logoWrapper { top:10px; left:10px; } }

/* El tema oscuro reutiliza OSM; no necesita clave de terceros. */
#map.tema-mapa-oscuro .leaflet-tile { filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.94) saturate(.72); }
/* Publicaciones con patrones familiares de una red social, con identidad propia. */
.notas-filtros { width:min(100%,1120px); margin:0 auto 2rem; padding:1rem 1.2rem; border:1px solid #e2eaf0; border-radius:18px; background:linear-gradient(120deg,#f7fbff,#fff 55%,#f3f8ff); box-shadow:0 8px 24px rgba(36,73,105,.06); }
.grupo-estado { width:min(100%,1120px); margin:0 auto 2.5rem; }
.grupo-estado__cabecera { display:flex; align-items:center; gap:.8rem; margin-bottom:1rem; }
.grupo-estado__icono { display:grid; width:42px; height:42px; place-items:center; border-radius:14px; background:#e8f2ff; }
.grupo-estado__nombre h3 { color:#183b5b; }
.grupo-estado__cantidad { margin-left:auto; padding:.35rem .7rem; border-radius:999px; background:#edf4fb; color:#536d83; font-size:.82rem; font-weight:700; }
.grupo-estado .notas-publicas__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.nota-resumen { border:1px solid #e3e9ef; border-top:1px solid #e3e9ef; border-radius:18px; background:#fff; box-shadow:0 4px 16px rgba(37,68,98,.06); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.nota-resumen:hover { transform:translateY(-3px); border-color:#c7d8e9; box-shadow:0 14px 32px rgba(37,68,98,.12); }
.nota-resumen__contenido { padding:1.15rem 1.25rem; }
.nota-resumen__autor,.nota-detalle__autor { display:flex; align-items:center; gap:.7rem; margin-bottom:1rem; color:#22394d; }
.nota-resumen__avatar,.nota-detalle__avatar { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border:2px solid #fff; border-radius:50%; background:linear-gradient(145deg,#dceeff,#e5f8f3); color:#27658d; font-size:.78rem; font-weight:850; box-shadow:0 1px 5px rgba(25,63,95,.16); }
.nota-resumen__autor>span:nth-child(2),.nota-detalle__autor>span:nth-child(2) { display:grid; gap:.12rem; }
.nota-resumen__autor strong,.nota-detalle__autor strong { font-size:.85rem; }
.nota-resumen__autor small,.nota-detalle__autor small { color:#76899a; font-size:.75rem; }
.nota-resumen__menu { margin-left:auto; color:#8292a0; font-weight:800; letter-spacing:.1em; }
.nota-resumen__meta { padding-top:.8rem; border-top:1px solid #edf1f5; }
.nota-resumen__contenido h4 { margin:.75rem 0 .45rem; }
.nota-resumen__texto { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.nota-resumen__enlace { width:100%; justify-content:center; margin-top:1rem; padding:.7rem; border:1px solid #e4edf5; border-radius:10px; background:#f7faff; }
.nota-resumen--destacada { border:1px solid #b8d3ea; border-top:1px solid #b8d3ea; background:linear-gradient(145deg,#f2f8ff,#fff 72%); }
.nota-resumen--destacada .nota-resumen__contenido h4 { color:#20384d; font-size:1.25rem; }
.nota-resumen--destacada .nota-resumen__meta,.nota-resumen--destacada .nota-resumen__meta>span,.nota-resumen--destacada .nota-resumen__texto { color:#405970; }
.nota-detalle__autor { margin-top:1.3rem; }
.nota-detalle__autor .nota-detalle__avatar { width:48px; height:48px; flex-basis:48px; }
html.tema-oscuro .notas-filtros { border-color:#344c5c; background:linear-gradient(120deg,#1a2c3b,#202f40 55%,#1c3440); }
html.tema-oscuro .grupo-estado__icono { background:#243e54; }
html.tema-oscuro .grupo-estado__cantidad { background:#243a4b; color:#c5d5e0; }
html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:not(.nota-resumen--destacada),html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n+2):not(.nota-resumen--destacada),html.tema-oscuro .grupo-estado .notas-publicas__grid .nota-resumen:nth-child(3n):not(.nota-resumen--destacada) { border-color:#354d5c; border-top-color:#5bb7a5; background:linear-gradient(145deg,#1b2e3c,#203644); }
html.tema-oscuro .nota-resumen__autor,html.tema-oscuro .nota-detalle__autor { color:#e2edf4; }
html.tema-oscuro .nota-resumen__avatar,html.tema-oscuro .nota-detalle__avatar { border-color:#304a59; background:linear-gradient(145deg,#274a62,#27564f); color:#a9e8da; }
html.tema-oscuro .nota-resumen__autor small,html.tema-oscuro .nota-detalle__autor small { color:#a8bbc7; }
html.tema-oscuro .nota-resumen__meta { border-color:#354b58; }
html.tema-oscuro .nota-resumen__enlace { border-color:#3a5664; background:#243c49; }
html.tema-oscuro .nota-resumen--destacada { border-color:#397185; background:linear-gradient(145deg,#1c3b4d,#203b45); }
html.tema-oscuro .nota-resumen--destacada .nota-resumen__contenido h4 { color:#eff6f8; }
html.tema-oscuro .nota-resumen--destacada .nota-resumen__meta,html.tema-oscuro .nota-resumen--destacada .nota-resumen__meta>span,html.tema-oscuro .nota-resumen--destacada .nota-resumen__texto { color:#bdcbd1; }
@media(max-width:760px) { .grupo-estado .notas-publicas__grid { grid-template-columns:1fr; } .nota-resumen__contenido { padding:1rem; } }
/* Paleta azul social: inspirada en códigos familiares, propia de Rumores México. */
:root { --rm-azul:#0866ff; --rm-azul-hover:#0757d5; --rm-azul-claro:#e7f3ff; --rm-azul-tinta:#183b5b; }
.notas-publicas__header h1,.notas-publicas__header h2,.grupo-estado__nombre h3 { color:var(--rm-azul-tinta); }
.grupo-estado__icono { border:1px solid #d4e6ff; background:linear-gradient(145deg,#e7f3ff,#f2f7ff); color:#0866ff; }
.grupo-estado__cantidad { border:1px solid #d7e6fb; background:#edf4ff; color:#42658b; }
.nota-resumen { border-color:#dce5ef; box-shadow:0 4px 16px rgba(24,59,91,.07); }
.nota-resumen:hover { border-color:#a9caff; box-shadow:0 14px 32px rgba(8,102,255,.13); }
.nota-resumen__avatar,.nota-detalle__avatar { border-color:#fff; background:linear-gradient(145deg,#dcecff,#e8f2ff); color:#0866ff; }
.nota-resumen__contenido:hover h4 { color:#0866ff; }
.nota-resumen__enlace { border-color:#d8e7fa; background:#f1f6ff; color:#0866ff; }
.nota-resumen__enlace:hover { border-color:#b7d2ff; background:#e7f0ff; }
.nota-resumen--destacada { border-color:#b8d2f3; background:linear-gradient(145deg,#eaf3ff,#fff 76%); }
.nota-resumen--destacada .nota-resumen__contenido h4 { color:#173e66; }
.nota-resumen--destacada .nota-resumen__enlace { color:#0757d5; }
.inicio-hero__boton--principal { background:#0866ff; color:#fff; box-shadow:0 8px 22px rgba(8,102,255,.27); }
.inicio-hero__boton--principal:hover { background:#0757d5; }
.nota-detalle__header { border-color:#dce9f8; }
.nota-detalle__icono { border-color:#cfe2ff; background:#e7f3ff; color:#0866ff; }
.nota-detalle__eyebrow { color:#0866ff; }
.nota-detalle__boton { background:linear-gradient(120deg,#0866ff,#1877f2); box-shadow:0 8px 20px rgba(8,102,255,.2); }
.nota-detalle__boton:hover { background:linear-gradient(120deg,#0757d5,#0866ff); }
.nota-detalle__mapa { color:#0866ff; }
html.tema-oscuro .notas-publicas__header h1,html.tema-oscuro .notas-publicas__header h2,html.tema-oscuro .grupo-estado__nombre h3 { color:#dceaff; }
html.tema-oscuro .grupo-estado__icono { border-color:#345a86; background:linear-gradient(145deg,#203c5e,#263a58); color:#82b1ff; }
html.tema-oscuro .grupo-estado__cantidad { border-color:#385273; background:#213954; color:#c3d8fa; }
html.tema-oscuro .nota-resumen__avatar,html.tema-oscuro .nota-detalle__avatar { border-color:#344b62; background:linear-gradient(145deg,#284c76,#263b62); color:#91baff; }
html.tema-oscuro .nota-resumen__contenido:hover h4,html.tema-oscuro .nota-resumen__enlace,html.tema-oscuro .nota-detalle__mapa { color:#91baff; }
html.tema-oscuro .nota-resumen__enlace { border-color:#385579; background:#213a57; }
html.tema-oscuro .nota-resumen--destacada { border-color:#416b9c; background:linear-gradient(145deg,#213d5f,#203745); }
html.tema-oscuro .nota-resumen--destacada .nota-resumen__contenido h4 { color:#e4efff; }
html.tema-oscuro .nota-resumen--destacada .nota-resumen__enlace { color:#a8caff; }
html.tema-oscuro .nota-detalle__icono { border-color:#385d89; background:#233f61; }
html.tema-oscuro .nota-detalle__eyebrow { color:#91baff; }
html.tema-oscuro .nota-detalle__boton { background:linear-gradient(120deg,#1768df,#287cf2); }
/* Interacciones del detalle público: reacciones, comentarios, reportes y vistas. */
.nota-interacciones,.nota-conversacion { margin-top:1.5rem; padding:clamp(1rem,3vw,1.5rem); border:1px solid #dce7f3; border-radius:18px; background:linear-gradient(145deg,#f5f9ff,#fff 62%,#f4f8ff); box-shadow:0 8px 24px rgba(24,59,91,.06); }
.nota-interacciones__resumen { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#526b82; font-size:.88rem; }
.nota-interacciones__acciones { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #e4ebf4; }
.nota-reaccion { display:flex; min-height:46px; align-items:center; justify-content:center; gap:.45rem; padding:.6rem .75rem; border:1px solid transparent; border-radius:11px; background:transparent; color:#405b74; cursor:pointer; font:inherit; font-weight:700; transition:background .18s,border-color .18s,transform .18s; }
.nota-reaccion:hover { transform:translateY(-1px); border-color:#d1e2f7; background:#eaf3ff; color:#0866ff; }
.nota-reaccion>span:first-child { font-size:1.1rem; }
.nota-reaccion b { color:#73869a; font-size:.78rem; }
.nota-reaccion.seleccionada { border-color:#b8d3f7; background:#e7f3ff; color:#0866ff; }
.nota-conversacion>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid #e3ebf4; }
.nota-conversacion h2 { margin:0; color:#183b5b; font-size:1.35rem; }
.nota-reportar { padding:.55rem .8rem; border:1px solid #f0d8d8; border-radius:10px; background:#fff7f7; color:#a34343; cursor:pointer; font:inherit; font-size:.82rem; font-weight:700; }
.nota-reportar:hover { border-color:#e9bcbc; background:#ffeded; }
.nota-comentarios__lista { display:grid; gap:.8rem; max-height:480px; overflow:auto; padding:1rem 0; }
.nota-comentario { display:flex; align-items:flex-start; gap:.7rem; }
.nota-comentario__avatar { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:50%; background:#e7f3ff; color:#0866ff; font-size:.7rem; font-weight:850; }
.nota-comentario>div { min-width:0; flex:1; padding:.75rem .9rem; border:1px solid #e5ebf2; border-radius:5px 15px 15px 15px; background:#f4f7fa; }
.nota-comentario strong { color:#263f56; font-size:.84rem; }
.nota-comentario p { margin:.3rem 0; color:#40576c; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.nota-comentario time { color:#8292a0; font-size:.72rem; }
.nota-comentarios__vacio { margin:0; padding:1rem; border-radius:12px; background:#f2f6fb; color:#718395; text-align:center; }
.nota-comentarios__form { display:grid; gap:.55rem; padding-top:1rem; border-top:1px solid #e3ebf4; }
.nota-comentarios__form label { color:#304c65; font-size:.88rem; font-weight:750; }
.nota-comentarios__form textarea { width:100%; resize:vertical; padding:.85rem 1rem; border:1px solid #ccd9e6; border-radius:12px; background:#fff; color:#263f56; font:inherit; line-height:1.6; }
.nota-comentarios__form textarea:focus { border-color:#5795ef; outline:3px solid rgba(8,102,255,.12); }
.nota-comentarios__form>div { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.nota-comentarios__form small { color:#7b8b99; }
.nota-comentarios__form button { min-height:42px; padding:.6rem 1rem; border:0; border-radius:10px; background:#0866ff; color:#fff; cursor:pointer; font:inherit; font-weight:750; }
.nota-comentarios__form button:hover { background:#0757d5; }
.nota-comentarios__form button:disabled,.nota-reaccion-opcion:disabled { cursor:wait; opacity:.6; }
.nota-interacciones__mensaje { min-height:1.3em; margin:.7rem 0 0; color:#386b9d; font-size:.85rem; }
html.tema-oscuro .nota-interacciones,html.tema-oscuro .nota-conversacion { border-color:#344d60; background:linear-gradient(145deg,#1b3040,#203240 62%,#1c3040); }
html.tema-oscuro .nota-interacciones__resumen,html.tema-oscuro .nota-reaccion { color:#bfd0dd; }
html.tema-oscuro .nota-interacciones__acciones,html.tema-oscuro .nota-conversacion>header,html.tema-oscuro .nota-comentarios__form { border-color:#354d5e; }
html.tema-oscuro .nota-reaccion:hover,html.tema-oscuro .nota-reaccion.seleccionada { border-color:#3c6694; background:#233f60; color:#a9caff; }
html.tema-oscuro .nota-reaccion b { color:#afc2d1; }
html.tema-oscuro .nota-conversacion h2,html.tema-oscuro .nota-comentarios__form label { color:#e0ebf6; }
html.tema-oscuro .nota-reportar { border-color:#69474c; background:#3a2c33; color:#f2b6b6; }
html.tema-oscuro .nota-comentario>div { border-color:#354d5e; background:#243745; }
html.tema-oscuro .nota-comentario strong { color:#e0ebf6; }
html.tema-oscuro .nota-comentario p { color:#cad8e2; }
html.tema-oscuro .nota-comentarios__vacio { background:#243745; color:#b5c6d2; }
html.tema-oscuro .nota-comentarios__form textarea { border-color:#496274; background:#172b38; color:#e3edf2; }
html.tema-oscuro .nota-comentarios__form small,html.tema-oscuro .nota-comentario time { color:#a7bbc8; }
html.tema-oscuro .nota-interacciones__mensaje { color:#a8caff; }
@media(max-width:640px) { .nota-interacciones__acciones { grid-template-columns:repeat(2,minmax(0,1fr)); } .nota-interacciones__resumen,.nota-conversacion>header { align-items:flex-start; } .nota-conversacion>header { flex-direction:column; } .nota-reportar { align-self:flex-end; } }
/* Selector flotante para escoger una sola reacción por publicación. */
.nota-interacciones__acciones { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.nota-reaccion-picker { position:relative; z-index:5; }
.nota-reaccion-trigger { display:inline-flex; min-height:44px; align-items:center; gap:.5rem; padding:.55rem .85rem; border:1px solid #d6e3f1; border-radius:12px; background:#fff; color:#435d76; cursor:pointer; font:inherit; font-weight:750; }
.nota-reaccion-trigger:hover,.nota-reaccion-trigger:focus-visible,.nota-reaccion-trigger.seleccionado { border-color:#b6d2f7; background:#eaf3ff; color:#0866ff; outline:none; }
.nota-reaccion-trigger>span:first-child { font-size:1.15rem; }
.nota-reaccion-caret { margin-left:.2rem; color:#8193a4; }
.nota-reaccion-picker__opciones { position:absolute; bottom:calc(100% + .65rem); left:0; display:flex; gap:.25rem; padding:.45rem; border:1px solid #dce6f0; border-radius:999px; background:#fff; box-shadow:0 14px 38px rgba(18,48,78,.2); visibility:hidden; opacity:0; pointer-events:none; transform:translateY(8px) scale(.96); transform-origin:bottom left; transition:opacity .16s ease,transform .16s ease; }
.nota-reaccion-picker.abierto .nota-reaccion-picker__opciones { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
.nota-reaccion-opcion { position:relative; display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center; border:0; border-radius:50%; background:transparent; cursor:pointer; font-size:1.55rem; transition:transform .14s ease,background .14s ease; }
.nota-reaccion-opcion:hover,.nota-reaccion-opcion:focus-visible { z-index:1; outline:0; background:#edf5ff; transform:translateY(-9px) scale(1.2); }
.nota-reaccion-opcion.seleccionada { background:#e7f3ff; box-shadow:inset 0 0 0 2px #86b6ff; }
.nota-reaccion-opcion small { position:absolute; bottom:calc(100% + .35rem); left:50%; padding:.3rem .45rem; border-radius:6px; background:#1e2935; color:#fff; font-size:.68rem; font-weight:700; opacity:0; pointer-events:none; transform:translateX(-50%) translateY(3px); white-space:nowrap; }
.nota-reaccion-opcion:hover small,.nota-reaccion-opcion:focus-visible small { opacity:1; transform:translateX(-50%) translateY(0); }
.nota-reacciones__totales { display:flex; flex-wrap:wrap; gap:.55rem; color:#687e92; font-size:.85rem; }
.nota-reacciones__totales span { display:inline-flex; align-items:center; gap:.2rem; }
.nota-reacciones__totales b { font-size:.78rem; font-weight:650; }
html.tema-oscuro .nota-reaccion-trigger { border-color:#405a70; background:#203747; color:#d0dce6; }
html.tema-oscuro .nota-reaccion-trigger:hover,html.tema-oscuro .nota-reaccion-trigger:focus-visible,html.tema-oscuro .nota-reaccion-trigger.seleccionado { border-color:#456f9e; background:#253f5d; color:#a9caff; }
html.tema-oscuro .nota-reaccion-picker__opciones { border-color:#425b70; background:#203342; box-shadow:0 14px 38px rgba(0,0,0,.42); }
html.tema-oscuro .nota-reaccion-opcion:hover,html.tema-oscuro .nota-reaccion-opcion:focus-visible,html.tema-oscuro .nota-reaccion-opcion.seleccionada { background:#2a4868; }
html.tema-oscuro .nota-reacciones__totales { color:#b3c5d2; }
@media(max-width:640px) { .nota-interacciones__acciones { align-items:flex-start; flex-direction:column; } .nota-reaccion-picker__opciones { left:50%; transform:translate(-50%,8px) scale(.96); } .nota-reaccion-picker.abierto .nota-reaccion-picker__opciones { transform:translate(-50%,0) scale(1); } }
/* Mapa sin panel duplicado: toda el área queda dedicada a explorar puntos. */
.mapa-workspace #sidebarNotas { display:none !important; }
.mapa-workspace .contenedor { display:block; position:relative; }
.mapa-workspace #map { width:100%; height:100%; }
.nota-detalle { border-top:5px solid #0866ff; }
.nota-detalle__nav { background:linear-gradient(100deg,#f0f6ff,#fff 70%,#eff8ff); }
.nota-interacciones { border-color:#cbdff8; background:linear-gradient(145deg,#edf5ff,#fff 58%,#eff7ff); }
.nota-conversacion { border-color:#d5e4f4; background:linear-gradient(145deg,#fff,#f7faff); }
.nota-conversacion>header { border-bottom-color:#dce8f5; }
html.tema-oscuro .nota-detalle { border-top-color:#4086f5; }
html.tema-oscuro .nota-detalle__nav { background:linear-gradient(100deg,#1d3550,#1b2d3b 70%,#203844); }
html.tema-oscuro .nota-interacciones { border-color:#355c85; background:linear-gradient(145deg,#1d3651,#203240 58%,#20394a); }
html.tema-oscuro .nota-conversacion { border-color:#344f68; background:linear-gradient(145deg,#203342,#1c2e3c); }.nota-detalle__compartir { padding:.65rem .85rem; border:1px solid #cbdcf0; border-radius:10px; background:#f5f9ff; color:#0866ff; cursor:pointer; font:inherit; font-weight:700; }
.nota-detalle__compartir:hover { border-color:#a9c9f5; background:#e7f1ff; }
html.tema-oscuro .nota-detalle__compartir { border-color:#3f5e7d; background:#22394f; color:#a9caff; }
.nota-privacidad-hint { display:block; margin-top:-.35rem; color:#687c8f; font-size:.78rem; line-height:1.5; }
html.tema-oscuro .nota-privacidad-hint { color:#a9bbc7; }

/* Navegación contextual: aparece cuando el encabezado principal sale de pantalla. */
.menu-comunidad[hidden] { display:none !important; }
.menu-comunidad { position:fixed; z-index:1003; top:12px; left:50%; display:flex; width:min(980px,calc(100% - 32px)); min-height:62px; align-items:center; justify-content:space-between; gap:1rem; padding:.55rem .7rem .55rem 1rem; border:1px solid rgba(207,222,240,.88); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 12px 36px rgba(25,63,102,.16),0 2px 8px rgba(25,63,102,.06); backdrop-filter:blur(18px); transform:translateX(-50%); animation:menuComunidadEntra .2s ease-out both; }
@keyframes menuComunidadEntra { from { opacity:0; transform:translate(-50%,-8px); } to { opacity:1; transform:translate(-50%,0); } }
.menu-comunidad__marca,.menu-comunidad__enlaces,.menu-comunidad__enlace,.menu-comunidad__publicar,.menu-comunidad__tema { display:inline-flex; align-items:center; }
.menu-comunidad__marca { gap:.65rem; color:#27455f; text-decoration:none; white-space:nowrap; }
.menu-comunidad__logo { display:grid; width:38px; height:38px; place-items:center; border-radius:13px; background:linear-gradient(145deg,#0866ff,#5895ff); box-shadow:0 5px 12px rgba(8,102,255,.23); color:#fff; font-size:.78rem; font-weight:900; letter-spacing:-.04em; }
.menu-comunidad__nombre { font-size:.95rem; font-weight:600; letter-spacing:-.02em; }
.menu-comunidad__nombre b { color:#0866ff; font-weight:850; }
.menu-comunidad__enlaces { gap:.25rem; }
.menu-comunidad__enlace,.menu-comunidad__tema { min-height:42px; justify-content:center; gap:.45rem; padding:.55rem .75rem; border:1px solid transparent; border-radius:12px; background:transparent; color:#526a80; cursor:pointer; font:inherit; font-size:.85rem; font-weight:720; text-decoration:none; transition:background .16s,color .16s,border-color .16s; }
.menu-comunidad__enlace>span:first-child { color:#5285c0; font-size:1rem; }
.menu-comunidad__enlace:hover,.menu-comunidad__enlace:focus-visible,.menu-comunidad__tema:hover,.menu-comunidad__tema:focus-visible { border-color:#d8e7f8; background:#f0f6ff; color:#0866ff; outline:0; }
.menu-comunidad__publicar { min-height:42px; justify-content:center; gap:.35rem; padding:.55rem .9rem; border:0; border-radius:12px; background:linear-gradient(115deg,#0866ff,#287af4); box-shadow:0 5px 12px rgba(8,102,255,.19); color:#fff; cursor:pointer; font:inherit; font-size:.85rem; font-weight:780; transition:transform .16s,box-shadow .16s; }
.menu-comunidad__publicar:hover { box-shadow:0 8px 17px rgba(8,102,255,.25); transform:translateY(-1px); }
.menu-comunidad__tema { flex:0 0 auto; }
html.menu-comunidad-activo #themeToggle { display:none !important; }

body.mapa-activo #themeToggle { display:inline-flex !important; }
html.tema-oscuro .menu-comunidad { border-color:rgba(65,90,111,.9); background:rgba(25,43,57,.95); box-shadow:0 12px 36px rgba(0,0,0,.35); }
html.tema-oscuro .menu-comunidad__marca { color:#e0eaf2; }
html.tema-oscuro .menu-comunidad__nombre b { color:#8cbaff; }
html.tema-oscuro .menu-comunidad__enlace,html.tema-oscuro .menu-comunidad__tema { color:#bdcbd7; }
html.tema-oscuro .menu-comunidad__enlace>span:first-child { color:#8cbaff; }
html.tema-oscuro .menu-comunidad__enlace:hover,html.tema-oscuro .menu-comunidad__enlace:focus-visible,html.tema-oscuro .menu-comunidad__tema:hover,html.tema-oscuro .menu-comunidad__tema:focus-visible { border-color:#3a5871; background:#263f55; color:#a9caff; }
@media(max-width:640px) {
    .menu-comunidad { top:8px; width:calc(100% - 16px); min-height:54px; gap:.25rem; padding:.4rem .45rem .4rem .55rem; border-radius:15px; }
    .menu-comunidad__logo { width:34px; height:34px; border-radius:11px; }
    .menu-comunidad__nombre { display:none; }
    .menu-comunidad__enlaces { flex:1; justify-content:flex-end; gap:.08rem; }
    .menu-comunidad__enlace,.menu-comunidad__tema { min-width:39px; min-height:40px; gap:.25rem; padding:.45rem .48rem; font-size:.75rem; }
    .menu-comunidad__enlace>span:first-child { font-size:1.05rem; }
    .menu-comunidad__publicar { min-height:40px; gap:.18rem; padding:.45rem .58rem; font-size:.76rem; white-space:nowrap; }
    .menu-comunidad__tema { font-size:0; }
    .menu-comunidad__tema>span:first-child { font-size:1.1rem; }
}

/* Enlaces t.me: tarjeta externa breve, segura y legible dentro de notas y comentarios. */
.nota-enlace-inline { color:#0866ff; text-decoration:underline; text-decoration-color:rgba(8,102,255,.38); text-underline-offset:2px; overflow-wrap:anywhere; }
.nota-enlace-inline:hover,.nota-enlace-inline:focus-visible { color:#0757d5; text-decoration-color:currentColor; outline:2px solid rgba(8,102,255,.16); outline-offset:2px; }
.telegram-enlace-card {
    display:flex;
    width:min(100%,420px);
    min-height:62px;
    align-items:center;
    gap:.75rem;
    margin:.75rem 0;
    padding:.68rem .8rem;
    border:1px solid #c9e0f4;
    border-radius:14px;
    background:linear-gradient(120deg,#f1f8ff,#fff 68%,#edfaff);
    color:#245b89;
    text-decoration:none !important;
    box-shadow:0 5px 16px rgba(29,105,166,.09);
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.telegram-enlace-card:hover,.telegram-enlace-card:focus-visible {
    transform:translateY(-1px);
    border-color:#7eb8e4;
    color:#174d79;
    box-shadow:0 9px 22px rgba(29,105,166,.16);
    outline:3px solid rgba(43,139,205,.15);
    outline-offset:2px;
}
.telegram-enlace-card__icono { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:13px; background:linear-gradient(145deg,#39a9e9,#1684ca); color:#fff; font-size:1.25rem; box-shadow:0 5px 12px rgba(22,132,202,.22); }
.telegram-enlace-card__texto { display:grid; min-width:0; gap:.15rem; }
.telegram-enlace-card__texto strong { color:#214e75; font-size:.88rem; font-weight:800; }
.telegram-enlace-card__texto small { color:#6a8195; font-size:.74rem; line-height:1.35; }
.telegram-enlace-card__flecha { margin-left:auto; color:#248ac7; font-size:1.25rem; font-weight:800; }
.nota-resumen__texto.tiene-enlace-telegram { display:block; -webkit-line-clamp:unset; }
html.tema-oscuro .nota-enlace-inline { color:#8dbbff; text-decoration-color:rgba(141,187,255,.5); }
html.tema-oscuro .nota-enlace-inline:hover,html.tema-oscuro .nota-enlace-inline:focus-visible { color:#b9d4ff; }
html.tema-oscuro .telegram-enlace-card { border-color:#385a73; background:linear-gradient(120deg,#203a50,#1d3447 68%,#1d3b45); color:#c4e5fa; box-shadow:0 7px 18px rgba(0,0,0,.2); }
html.tema-oscuro .telegram-enlace-card:hover,html.tema-oscuro .telegram-enlace-card:focus-visible { border-color:#5c9ac4; color:#e7f6ff; box-shadow:0 10px 24px rgba(0,0,0,.3); }
html.tema-oscuro .telegram-enlace-card__icono { background:linear-gradient(145deg,#2686bb,#17669b); }
html.tema-oscuro .telegram-enlace-card__texto strong { color:#d9efff; }
html.tema-oscuro .telegram-enlace-card__texto small { color:#a7c2d4; }
html.tema-oscuro .telegram-enlace-card__flecha { color:#83c8f1; }
@media(max-width:640px) {
    .telegram-enlace-card { width:100%; min-height:58px; gap:.6rem; padding:.6rem; border-radius:12px; }
    .telegram-enlace-card__icono { width:36px; height:36px; flex-basis:36px; border-radius:11px; }
    .telegram-enlace-card__texto strong { font-size:.83rem; }
    .telegram-enlace-card__texto small { font-size:.7rem; }
}

/* Descubrimiento de publicaciones: tonos por tipo, popularidad y metadatos legibles. */
.nota-resumen { border-top:3px solid #4f9ed8; }
.nota-resumen__badges { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; min-height:1.65rem; margin-bottom:.45rem; }
.nota-resumen__tipo-badge { display:inline-flex; align-items:center; width:fit-content; max-width:100%; padding:.3rem .62rem; overflow:hidden; border:1px solid #c9def0; border-radius:999px; background:#eaf4fd; color:#286895; font-size:.7rem; font-weight:850; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.nota-resumen__meta { align-items:center; flex-wrap:wrap; padding-top:.72rem; }
.nota-resumen__meta .nota-resumen__ubicacion { max-width:min(72%, 340px); padding:.27rem .5rem; border:1px solid #d8e8f4; border-radius:999px; background:#f1f8fd; color:#315d7c; }
.nota-resumen__meta time { display:inline-flex; align-items:center; gap:.25rem; color:#667d91; font-size:.72rem; font-weight:750; white-space:nowrap; }
.nota-resumen__meta time span { color:#3b89b7; font-size:.9rem; }
.nota-resumen[data-tipo-nombre*="Alerta"],.nota-popular-card[data-tipo-nombre*="Alerta"] { border-top-color:#dc674d; }
.nota-resumen[data-tipo-nombre*="Incidente"],.nota-popular-card[data-tipo-nombre*="Incidente"] { border-top-color:#d84f57; }
.nota-resumen[data-tipo-nombre*="Anuncio"],.nota-popular-card[data-tipo-nombre*="Anuncio"] { border-top-color:#129c91; }
.nota-resumen[data-tipo-nombre*="Discusión"],.nota-resumen[data-tipo-nombre*="Discusion"],.nota-popular-card[data-tipo-nombre*="Discusión"],.nota-popular-card[data-tipo-nombre*="Discusion"] { border-top-color:#8b69c8; }
.nota-resumen[data-tipo-nombre*="Recomendación"],.nota-resumen[data-tipo-nombre*="Recomendacion"],.nota-popular-card[data-tipo-nombre*="Recomendación"],.nota-popular-card[data-tipo-nombre*="Recomendacion"] { border-top-color:#3b9a68; }
.nota-resumen[data-tipo-nombre*="Novio"],.nota-resumen[data-tipo-nombre*="Casado"],.nota-popular-card[data-tipo-nombre*="Novio"],.nota-popular-card[data-tipo-nombre*="Casado"] { border-top-color:#dc6f98; }
.nota-resumen[data-tipo-nombre*="Cucaracho"],.nota-popular-card[data-tipo-nombre*="Cucaracho"] { border-top-color:#a87842; }
.nota-resumen[data-tipo-nombre*="Ovnis"],.nota-resumen[data-tipo-nombre*="UFO"],.nota-resumen[data-tipo-nombre*="Extraterrestres"],.nota-resumen[data-tipo-nombre*="Paranormal"],.nota-resumen[data-tipo-nombre*="Inexplicable"],.nota-popular-card[data-tipo-nombre*="Ovnis"],.nota-popular-card[data-tipo-nombre*="UFO"],.nota-popular-card[data-tipo-nombre*="Extraterrestres"],.nota-popular-card[data-tipo-nombre*="Paranormal"],.nota-popular-card[data-tipo-nombre*="Inexplicable"] { border-top-color:#8065cb; }
.nota-resumen[data-tipo-nombre*="Alerta"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Alerta"] .nota-resumen__tipo-badge { border-color:#f0c8b9; background:#fff0e9; color:#a7472d; }
.nota-resumen[data-tipo-nombre*="Incidente"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Incidente"] .nota-resumen__tipo-badge { border-color:#f0c3c5; background:#fff0f0; color:#a93742; }
.nota-resumen[data-tipo-nombre*="Anuncio"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Anuncio"] .nota-resumen__tipo-badge { border-color:#b9e4df; background:#e9f8f5; color:#16766f; }
.nota-resumen[data-tipo-nombre*="Discusión"] .nota-resumen__tipo-badge,.nota-resumen[data-tipo-nombre*="Discusion"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Discusión"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Discusion"] .nota-resumen__tipo-badge { border-color:#d8caee; background:#f2edfb; color:#6545a4; }
.nota-resumen[data-tipo-nombre*="Recomendación"] .nota-resumen__tipo-badge,.nota-resumen[data-tipo-nombre*="Recomendacion"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Recomendación"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Recomendacion"] .nota-resumen__tipo-badge { border-color:#c0e3cb; background:#edf8f0; color:#28744b; }
.nota-resumen[data-tipo-nombre*="Novio"] .nota-resumen__tipo-badge,.nota-resumen[data-tipo-nombre*="Casado"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Novio"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Casado"] .nota-resumen__tipo-badge { border-color:#f0c4d4; background:#fff0f5; color:#a74468; }
.nota-resumen[data-tipo-nombre*="Cucaracho"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Cucaracho"] .nota-resumen__tipo-badge { border-color:#e3d0b6; background:#f8f1e7; color:#79552e; }
.nota-resumen[data-tipo-nombre*="Ovnis"] .nota-resumen__tipo-badge,.nota-resumen[data-tipo-nombre*="UFO"] .nota-resumen__tipo-badge,.nota-resumen[data-tipo-nombre*="Extraterrestres"] .nota-resumen__tipo-badge,.nota-resumen[data-tipo-nombre*="Paranormal"] .nota-resumen__tipo-badge,.nota-resumen[data-tipo-nombre*="Inexplicable"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Ovnis"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="UFO"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Extraterrestres"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Paranormal"] .nota-resumen__tipo-badge,.nota-popular-card[data-tipo-nombre*="Inexplicable"] .nota-resumen__tipo-badge { border-color:#d3c7f0; background:#f1edfc; color:#6249a0; }
.notas-mas-leidas { margin:1.1rem 0 1.5rem; padding:clamp(1rem,2.5vw,1.4rem); border:1px solid #d4e4f2; border-radius:22px; background:radial-gradient(circle at 100% 0%,rgba(89,170,220,.12),transparent 32%),linear-gradient(135deg,#f3f9ff,#fff 72%,#f5f9ff); box-shadow:0 10px 26px rgba(27,73,112,.07); }
.notas-mas-leidas__cabecera { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.notas-mas-leidas__eyebrow { color:#277ba6; font-size:.67rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.notas-mas-leidas__cabecera h3 { margin:.18rem 0; color:#193f60; font-size:clamp(1.15rem,2.4vw,1.45rem); font-weight:850; }
.notas-mas-leidas__cabecera p { margin:0; color:#62778a; font-size:.85rem; }
.notas-mas-leidas__icono { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border:1px solid #bfddf2; border-radius:14px; background:#e8f4fd; color:#247bad; font-size:1.3rem; font-weight:850; }
.notas-mas-leidas__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.nota-popular-card { position:relative; display:flex; min-width:0; flex-direction:column; gap:.55rem; padding:1rem; overflow:hidden; border:1px solid #d6e4ef; border-top:3px solid #418fc0; border-radius:16px; background:linear-gradient(145deg,#fff,#f5f9fd); color:#203d56; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.nota-popular-card:hover,.nota-popular-card:focus-visible { transform:translateY(-2px); border-color:#a9c9e0; box-shadow:0 10px 24px rgba(27,73,112,.12); color:#173f60; }
.nota-popular-card__ranking { position:absolute; top:.65rem; right:.8rem; color:#93a9bb; font-size:.78rem; font-weight:900; }
.nota-popular-card .nota-resumen__tipo-badge { margin-right:2.2rem; }
.nota-popular-card>strong { display:-webkit-box; overflow:hidden; color:#1d3b54; font-size:1rem; font-weight:850; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.nota-popular-card__ubicacion { overflow:hidden; color:#4b6b84; font-size:.77rem; text-overflow:ellipsis; white-space:nowrap; }
.nota-popular-card__pie { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding-top:.5rem; border-top:1px solid #e7eef4; color:#718397; font-size:.72rem; font-weight:750; }
.nota-popular-card__pie>span:first-child { color:#286c9d; }
html.tema-oscuro .nota-resumen__tipo-badge { border-color:#3d5d76; background:#233e53; color:#bfdcf2; }
html.tema-oscuro .nota-resumen__meta .nota-resumen__ubicacion { border-color:#3d5c71; background:#20394c; color:#c4dced; }
html.tema-oscuro .nota-resumen__meta time { color:#b1c3d2; }
html.tema-oscuro .notas-mas-leidas { border-color:#344e64; background:radial-gradient(circle at 100% 0%,rgba(66,137,177,.13),transparent 32%),linear-gradient(135deg,#1a2f43,#192b3a 72%,#1e3042); box-shadow:0 10px 26px rgba(0,0,0,.18); }
html.tema-oscuro .notas-mas-leidas__eyebrow { color:#84cbea; }
html.tema-oscuro .notas-mas-leidas__cabecera h3 { color:#e1effd; }
html.tema-oscuro .notas-mas-leidas__cabecera p { color:#b6c8d9; }
html.tema-oscuro .notas-mas-leidas__icono { border-color:#3c617d; background:#233e54; color:#9ed3f0; }
html.tema-oscuro .nota-popular-card { border-color:#354e63; border-top-color:#579bc3; background:linear-gradient(145deg,#203548,#1b2d3d); color:#e0ebf5; }
html.tema-oscuro .nota-popular-card:hover,html.tema-oscuro .nota-popular-card:focus-visible { border-color:#54748d; color:#fff; }
html.tema-oscuro .nota-popular-card>strong { color:#e2effc; }
html.tema-oscuro .nota-popular-card__ubicacion { color:#bbcedc; }
html.tema-oscuro .nota-popular-card__pie { border-color:#354b5d; color:#aebfd0; }
html.tema-oscuro .nota-popular-card__pie>span:first-child { color:#a8d3f1; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Alerta"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Alerta"] .nota-resumen__tipo-badge { background:#4a302d; color:#ffc1ad; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Incidente"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Incidente"] .nota-resumen__tipo-badge { background:#492e35; color:#ffb9c0; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Anuncio"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Anuncio"] .nota-resumen__tipo-badge { background:#20443f; color:#a9e7dc; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Discusión"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-resumen[data-tipo-nombre*="Discusion"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Discusión"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Discusion"] .nota-resumen__tipo-badge { background:#382f51; color:#d1c1ff; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Recomendación"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-resumen[data-tipo-nombre*="Recomendacion"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Recomendación"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Recomendacion"] .nota-resumen__tipo-badge { background:#244333; color:#b4e6c3; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Novio"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-resumen[data-tipo-nombre*="Casado"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Novio"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Casado"] .nota-resumen__tipo-badge { background:#482e3b; color:#ffc0d6; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Cucaracho"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Cucaracho"] .nota-resumen__tipo-badge { background:#443a2c; color:#ebd0a6; }
html.tema-oscuro .nota-resumen[data-tipo-nombre*="Ovnis"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-resumen[data-tipo-nombre*="UFO"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-resumen[data-tipo-nombre*="Extraterrestres"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-resumen[data-tipo-nombre*="Paranormal"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-resumen[data-tipo-nombre*="Inexplicable"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Ovnis"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="UFO"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Extraterrestres"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Paranormal"] .nota-resumen__tipo-badge,html.tema-oscuro .nota-popular-card[data-tipo-nombre*="Inexplicable"] .nota-resumen__tipo-badge { background:#352f52; color:#d2c2ff; }
@media(max-width:760px) { .notas-mas-leidas__grid { grid-template-columns:1fr; } }
@media(min-width:761px) and (max-width:1050px) { .notas-mas-leidas__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .nota-resumen__meta .nota-resumen__ubicacion { max-width:100%; } .nota-resumen__meta time { margin-left:auto; } }
@media(max-width:380px) {
    .menu-comunidad { gap:.1rem; }
    .menu-comunidad__enlace,.menu-comunidad__tema { min-width:34px; padding-inline:.34rem; }
    .menu-comunidad__publicar { padding-inline:.45rem; }
    .menu-comunidad__publicar>span:last-child { font-size:.71rem; }
}
@media(prefers-reduced-motion:reduce) { .menu-comunidad { animation:none; } }
/* La misma barra sustituye el encabezado del mapa y ocupa todo el borde superior. */
.menu-comunidad { top:0; left:0; width:100%; min-height:68px; padding:.65rem clamp(1rem,3vw,2.5rem); border-top:0; border-right:0; border-left:0; border-radius:0; transform:none; animation:menuComunidadEntraCompleta .2s ease-out both; }
@keyframes menuComunidadEntraCompleta { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
body.mapa-activo .menu-comunidad { display:flex !important; }
body.mapa-activo #themeToggle { display:none !important; }
html.menu-comunidad-activo #themeToggle { display:none !important; }
@media(max-width:640px) {
    .menu-comunidad { top:0; width:100%; min-height:56px; padding:.4rem .5rem; border-radius:0; }
}
/* Tema claro con tonos suaves azul perla para bajar el contraste blanco. */
.menu-comunidad { background:linear-gradient(100deg,rgba(235,243,252,.98),rgba(244,248,253,.97) 54%,rgba(232,241,251,.98)); }
html:not(.tema-oscuro) .notas-publicas { background:linear-gradient(145deg,#edf3fa,#f3f7fc 50%,#eaf1f9); }
html:not(.tema-oscuro) .nota-resumen:not(.nota-resumen--destacada) { border-color:#d8e4f1; background:linear-gradient(145deg,#f8fbff,#edf4fb); }
html:not(.tema-oscuro) .nota-detalle-page,html:not(.tema-oscuro) .nota-publica-page { background:radial-gradient(ellipse at 80% 0%,rgba(191,216,247,.4),transparent 36%),linear-gradient(145deg,#eaf1f9,#f1f5fa 55%,#e9f0f8); }
html:not(.tema-oscuro) .nota-detalle { border-color:#d5e1ee; background:#f8fafd; }
html:not(.tema-oscuro) .nota-detalle__nav { border-bottom-color:#dce6f1; background:linear-gradient(100deg,#edf4fc,#f7f9fc 70%,#e9f2fb); }
html:not(.tema-oscuro) .nota-detalle__texto { color:#344e66; }
html:not(.tema-oscuro) .nota-interacciones,html:not(.tema-oscuro) .nota-conversacion { border-color:#d5e1ef; background:linear-gradient(145deg,#eef4fb,#f7f9fc 65%,#eaf2fa); }
html:not(.tema-oscuro) .nota-comentario>div { border-color:#dce6f0; background:#f4f7fb; }
html:not(.tema-oscuro) .nota-comentarios__form textarea { border-color:#cfdeed; background:#f9fbfe; }
html.tema-oscuro .menu-comunidad { background:rgba(25,43,57,.96); }@media(max-width:640px) {
    .menu-comunidad__enlace>span:last-child { display:none; }
    .menu-comunidad__enlace { width:40px; padding-inline:0; }
}
@media(max-width:380px) {
    .menu-comunidad__enlace { width:36px; min-width:36px; }
}
/* Acciones del menú con jerarquía clara: publicar principal y donar discreto. */
.menu-comunidad__publicar { min-height:44px; gap:.55rem; padding:.4rem 1rem .4rem .45rem; border:1px solid #1764d9; border-radius:999px; background:#1764d9; box-shadow:0 4px 12px rgba(23,100,217,.17); color:#fff; letter-spacing:.005em; }
.menu-comunidad__publicar:hover,.menu-comunidad__publicar:focus-visible { background:#0f55c2; box-shadow:0 6px 16px rgba(23,100,217,.23); color:#fff; outline:3px solid rgba(23,100,217,.18); outline-offset:2px; transform:translateY(-1px); }
.menu-comunidad__publicar-icono { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:rgba(255,255,255,.17); font-size:1.25rem; line-height:1; }
.menu-comunidad__donar { display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:.42rem; padding:.5rem .82rem; border:1px solid #ead8cc; border-radius:999px; background:#f5ece6; color:#8a533b; font:inherit; font-size:.84rem; font-weight:750; text-decoration:none; transition:background .16s,border-color .16s,transform .16s; }
.menu-comunidad__donar:hover,.menu-comunidad__donar:focus-visible { border-color:#dfbca8; background:#f0dfd4; color:#74432f; outline:0; transform:translateY(-1px); }
html.tema-oscuro .menu-comunidad__publicar { border-color:#377ce0; background:#2869c4; }
html.tema-oscuro .menu-comunidad__publicar:hover,html.tema-oscuro .menu-comunidad__publicar:focus-visible { background:#347bd9; }
html.tema-oscuro .menu-comunidad__donar { border-color:#725341; background:#40342f; color:#edc3a5; }
html.tema-oscuro .menu-comunidad__donar:hover,html.tema-oscuro .menu-comunidad__donar:focus-visible { border-color:#936a52; background:#504038; color:#f4d0b7; }
@media(max-width:640px) {
    .menu-comunidad__publicar { min-height:40px; gap:.32rem; padding:.3rem .68rem .3rem .35rem; font-size:.75rem; }
    .menu-comunidad__publicar-icono { width:26px; height:26px; }
    .menu-comunidad__donar { min-height:40px; width:40px; padding:0; font-size:0; }
    .menu-comunidad__donar>span:first-child { font-size:1rem; }
}
@media(max-width:380px) {
    .menu-comunidad__publicar { gap:.25rem; padding-right:.5rem; }
    .menu-comunidad__publicar>span:last-child { font-size:.69rem; }
    .menu-comunidad__donar { width:36px; min-width:36px; }
}
/* Detalle del marcador equilibrado para pantallas de tablet y laptop compacta. */
@media(min-width:701px) and (max-width:1280px) {
    #modalDetalleNota.modal-nota-detalle { align-items:center; padding:clamp(12px,2vw,24px); }
    #modalDetalleNota .modal-nota-detalle__panel { width:min(1120px,calc(100vw - 48px)) !important; max-width:1120px; height:auto !important; max-height:calc(100dvh - 40px); border-radius:22px; }
    #modalDetalleNota .modal-nota-detalle__header { min-height:clamp(142px,20vh,178px); gap:1rem; padding:1.5rem clamp(1.5rem,3vw,2.5rem); }
    #modalDetalleNota .modal-nota-detalle__header::after { top:-205px; right:5%; width:320px; height:320px; }
    #modalDetalleNota .modal-nota-detalle__icono { width:54px; height:54px; flex-basis:54px; border-radius:17px; font-size:1.5rem; }
    #modalDetalleNota .modal-nota-detalle__header h2 { max-width:780px; font-size:clamp(1.55rem,2.6vw,2.2rem); }
    #modalDetalleNota .modal-nota-detalle__contenido { grid-template-columns:minmax(0,1.05fr) minmax(290px,.95fr); gap:1.1rem; padding:1.2rem; }
    #modalDetalleNota .modal-nota-detalle__descripcion { align-self:stretch; padding:1.25rem; border:1px solid #e1e9f1; border-radius:17px; background:linear-gradient(145deg,#f4f8fc,#edf3f9); }
    #modalDetalleNota .modal-nota-detalle__descripcion>p { margin-top:.8rem; font-size:.98rem; line-height:1.7; }
    #modalDetalleNota .modal-nota-detalle__comentarios { padding:1rem; border-radius:17px; }
    #modalDetalleNota .modal-nota-detalle__lista { max-height:21vh; min-height:48px; margin-bottom:.65rem; }
    #modalDetalleNota .modal-nota-detalle__comentarios textarea { min-height:72px; }
    #modalDetalleNota .modal-nota-detalle__footer { gap:.45rem; padding-top:.65rem; }
    #modalDetalleNota .modal-nota-detalle__footer .btn { padding:.48rem .75rem; font-size:.86rem; }
}
@media(min-width:701px) and (max-width:820px) {
    #modalDetalleNota .modal-nota-detalle__contenido { grid-template-columns:minmax(0,1fr); gap:.85rem; }
    #modalDetalleNota .modal-nota-detalle__descripcion { padding:1rem 1.1rem; }
    #modalDetalleNota .modal-nota-detalle__lista { max-height:17vh; }
}
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__descripcion { border-color:#354d60; background:linear-gradient(145deg,#203542,#1b2e3b); }

/* Publicar nota usa un verde petróleo más sobrio que el azul anterior. */
.menu-comunidad__publicar { border-color:#3d756e; background:#3d756e; box-shadow:0 4px 12px rgba(49,105,98,.17); }
.menu-comunidad__publicar:hover,.menu-comunidad__publicar:focus-visible { border-color:#315f59; background:#315f59; box-shadow:0 6px 16px rgba(49,105,98,.22); }
.menu-comunidad__publicar-icono { background:rgba(255,255,255,.17); }
html.tema-oscuro .menu-comunidad__publicar { border-color:#4a8a80; background:#3d776f; }
html.tema-oscuro .menu-comunidad__publicar:hover,html.tema-oscuro .menu-comunidad__publicar:focus-visible { border-color:#5b9a90; background:#4a887f; }
/* Contraste constante para la nota destacada clara: el hover mantiene legible la descripción. */
html:not(.tema-oscuro) .nota-resumen--destacada:hover .nota-resumen__texto,
html:not(.tema-oscuro) .nota-resumen--destacada .nota-resumen__contenido:hover .nota-resumen__texto { color:#344d63 !important; -webkit-text-fill-color:#344d63; opacity:1; }
html:not(.tema-oscuro) .nota-resumen--destacada .nota-resumen__contenido:hover h4 { color:#193f5f; -webkit-text-fill-color:#193f5f; }
html.tema-oscuro .nota-resumen--destacada .nota-resumen__contenido:hover .nota-resumen__texto { color:#d2e0e4; -webkit-text-fill-color:#d2e0e4; opacity:1; }

/* Publicar con un acento coral cálido para separarlo del resto de los enlaces. */
.menu-comunidad__publicar { border-color:#bb684f; background:linear-gradient(135deg,#c8785c,#aa5945); box-shadow:0 5px 14px rgba(153,78,59,.2); color:#fff; }
.menu-comunidad__publicar:hover,.menu-comunidad__publicar:focus-visible { border-color:#984d3d; background:linear-gradient(135deg,#b6674f,#944b3b); box-shadow:0 8px 18px rgba(153,78,59,.25); color:#fff; }
html.tema-oscuro .menu-comunidad__publicar { border-color:#bc7259; background:linear-gradient(135deg,#a85d48,#884b3d); }
html.tema-oscuro .menu-comunidad__publicar:hover,html.tema-oscuro .menu-comunidad__publicar:focus-visible { background:linear-gradient(135deg,#bd7055,#9a5241); }
.inicio-hero__boton--principal { background:linear-gradient(135deg,#c8785c,#aa5945); box-shadow:0 8px 20px rgba(153,78,59,.2); }
.inicio-hero__boton--principal:hover { background:linear-gradient(135deg,#b6674f,#944b3b); }
/* Detalle de nota en mapa: jerarquía y contraste refinados para tema oscuro. */
#modalDetalleNota.modo-oscuro { background:rgba(4,12,20,.84) !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__panel { border:1px solid #395467 !important; border-radius:24px; background:#142633 !important; color:#e5edf2 !important; box-shadow:0 30px 90px rgba(0,0,0,.58) !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__header { min-height:190px; background:radial-gradient(circle at 88% 16%,rgba(119,202,184,.2),transparent 30%),linear-gradient(125deg,#102c3d,#174b56 66%,#23675f); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__header::after { border-color:rgba(191,232,220,.16); box-shadow:0 0 0 38px rgba(191,232,220,.04),0 0 0 78px rgba(191,232,220,.025); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__icono { border-color:rgba(191,232,220,.25); background:rgba(167,222,208,.12); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__eyebrow { color:#98d8c9 !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__tipo { border-color:#496e77; background:#24434d; color:#d6e8e8; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__header h2 { color:#f0f6f5; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__ubicacion { color:#bfd1d5 !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__cerrar { border-color:#58727c; background:rgba(14,35,45,.58); color:#edf5f4; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__cerrar:hover { background:#31525b; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__contenido { gap:clamp(1rem,2.2vw,1.7rem); background:#142633; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__descripcion { padding:clamp(1.1rem,2.5vw,1.6rem); border:1px solid #354e5c; border-radius:18px; background:linear-gradient(145deg,#1b303d,#1a2c38); box-shadow:inset 0 1px rgba(255,255,255,.025); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__descripcion h3,
#modalDetalleNota.modo-oscuro .modal-nota-detalle__seccion-titulo h3 { color:#e7f0f2 !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__descripcion>p,
#modalDetalleNota.modo-oscuro #descNota { color:#c6d5db !important; line-height:1.78; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__comentarios { border-color:#354e5c; background:linear-gradient(145deg,#1b303d,#192d39); box-shadow:inset 0 1px rgba(255,255,255,.025); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__seccion-titulo { border-bottom:1px solid #354b58; }
#modalDetalleNota.modo-oscuro #IdReportes { color:#f1b9a8 !important; }
#modalDetalleNota.modo-oscuro #listaReportes { color:#d5e1e5; }
#modalDetalleNota.modo-oscuro #listaReportes>div { border-color:#794e4e !important; background:#392d34 !important; }
#modalDetalleNota.modo-oscuro #listaReportes>div div { color:#f0c4bd !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__lista { border-color:#354b58; scrollbar-color:#526c78 #1b303d; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__lista>div { border-bottom-color:#354b58 !important; color:#d0dde1 !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__lista>div div { color:#cfdae0 !important; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__comentarios textarea { border-color:#49616c; background:#142631; color:#e6eff2; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__comentarios textarea::placeholder { color:#93aab4; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__comentarios textarea:focus { border-color:#71b7a8; outline-color:rgba(113,183,168,.2); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__footer { border-top:1px solid #354b58; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__footer .btn-primary { border:0; background:linear-gradient(135deg,#367f76,#286960); color:#fff; box-shadow:0 5px 14px rgba(18,90,80,.25); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__footer .btn-primary:hover { background:linear-gradient(135deg,#429487,#31796f); }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__footer .btn-light { border:1px solid #425c68; background:#243b47; color:#d6e2e6; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__footer .btn-light:hover { background:#304c58; }
@media(min-width:701px) and (max-width:1280px) {
    #modalDetalleNota.modo-oscuro .modal-nota-detalle__header { min-height:158px; }
    #modalDetalleNota.modo-oscuro .modal-nota-detalle__contenido { background:#142633; }
}
@media(max-width:700px) {
    #modalDetalleNota.modo-oscuro .modal-nota-detalle__header { min-height:176px; }
    #modalDetalleNota.modo-oscuro .modal-nota-detalle__contenido { background:#142633; }
    #modalDetalleNota.modo-oscuro .modal-nota-detalle__descripcion,
    #modalDetalleNota.modo-oscuro .modal-nota-detalle__comentarios { padding:1rem; }
}

/* Acciones del menú: morado ciruela para publicar y dorado suave para donar. */
html body .menu-comunidad a.menu-comunidad__publicar { border:1px solid #674b70 !important; background:linear-gradient(135deg,#765b7e,#594261) !important; box-shadow:0 5px 14px rgba(74,50,81,.2),inset 0 1px rgba(255,255,255,.18) !important; color:#fff !important; }
html body .menu-comunidad a.menu-comunidad__publicar:hover,
html body .menu-comunidad a.menu-comunidad__publicar:focus-visible { border-color:#4d3855 !important; background:linear-gradient(135deg,#65496e,#4a3453) !important; box-shadow:0 8px 18px rgba(74,50,81,.27),inset 0 1px rgba(255,255,255,.2) !important; color:#fff !important; transform:translateY(-1px); }
.menu-comunidad__publicar-icono { border:1px solid rgba(255,255,255,.2); background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.1)); color:#fff; }
html body .menu-comunidad a.menu-comunidad__donar { border:1px solid #ddc68f; background:linear-gradient(135deg,#f0dfb4,#e6cf9a); box-shadow:0 4px 12px rgba(116,87,35,.11),inset 0 1px rgba(255,255,255,.7); color:#59461f; }
html body .menu-comunidad a.menu-comunidad__donar:hover,
html body .menu-comunidad a.menu-comunidad__donar:focus-visible { border-color:#c9ad6e; background:linear-gradient(135deg,#e8d29d,#d8bd80); box-shadow:0 6px 15px rgba(116,87,35,.16),inset 0 1px rgba(255,255,255,.6); color:#493817; transform:translateY(-1px); }
.menu-comunidad__donar>span:first-child { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:rgba(121,87,32,.11); color:#9e5748; font-size:.82rem; }
html.tema-oscuro body .menu-comunidad a.menu-comunidad__publicar { border-color:#90729b !important; background:linear-gradient(135deg,#765b7e,#594261) !important; }
html.tema-oscuro body .menu-comunidad a.menu-comunidad__publicar:hover { background:linear-gradient(135deg,#896b92,#654c70) !important; }
html.tema-oscuro body .menu-comunidad a.menu-comunidad__donar { border-color:#806f4d; background:linear-gradient(135deg,#514832,#403a2a); color:#f1dfac; }
html.tema-oscuro body .menu-comunidad a.menu-comunidad__donar:hover { border-color:#a08b5c; background:linear-gradient(135deg,#665a3b,#50462f); color:#fff0bf; }
html.tema-oscuro .menu-comunidad__donar>span:first-child { background:rgba(255,222,147,.11); color:#f0bf8b; }
/* Aviso de privacidad compartido y compatible con tema claro/oscuro */
.modal-backdrop-privacidad[hidden] { display: none !important; }
.modal-backdrop-privacidad:not([hidden]) { display: flex; }
.modal-backdrop-privacidad { position: fixed; inset: 0; z-index: 10050; align-items: center; justify-content: center; padding: clamp(10px, 3vw, 32px); background: rgba(12, 22, 40, .68); backdrop-filter: blur(7px); overflow: auto; }
.modal-privacidad { position: relative; width: min(960px, 100%); height: min(88dvh, 900px); max-height: 88dvh; overflow-y: auto; padding: clamp(18px, 4vw, 42px); border-radius: 22px; background: #fff; color: #233047; box-shadow: 0 24px 80px rgba(10, 30, 60, .3); }
.modal-privacidad > .close-btn { position: sticky; z-index: 2; top: 0; float: right; display: grid; place-items: center; width: 42px; height: 42px; margin: -8px -8px 0 12px; border: 1px solid #dce5f1; border-radius: 50%; background: #f2f6fc; color: #334155; font-size: 28px; line-height: 1; }
.aviso-privacidad { --aviso-texto: #273449; --aviso-muted: #59677b; --aviso-superficie: #f4f7fc; --aviso-borde: #dce5f1; --aviso-acento: #2864dc; color: var(--aviso-texto); font-size: 15px; line-height: 1.7; }
.aviso-privacidad__hero { padding: 12px 0 22px; border-bottom: 1px solid var(--aviso-borde); }
.aviso-privacidad__hero h2 { margin: 5px 0 10px; color: var(--aviso-texto); font-size: clamp(1.7rem, 4vw, 2.35rem); font-weight: 800; letter-spacing: -.035em; }
.aviso-privacidad__hero p { max-width: 760px; margin: 0 0 8px; color: var(--aviso-muted); }
.aviso-privacidad__eyebrow { color: var(--aviso-acento); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.aviso-privacidad__actualizacion { font-size: .82rem; }
.aviso-privacidad__pendiente { margin: 20px 0; padding: 16px 18px; border: 1px solid #f0c36a; border-radius: 14px; background: #fff8e9; color: #624711; }
.aviso-privacidad__pendiente p { margin: 5px 0 0; }
.aviso-privacidad__indice { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 26px; }
.aviso-privacidad__indice a { padding: 7px 11px; border: 1px solid var(--aviso-borde); border-radius: 999px; background: var(--aviso-superficie); color: var(--aviso-acento); font-size: .82rem; font-weight: 700; text-decoration: none; }
.aviso-privacidad__seccion { padding: 18px 0; border-bottom: 1px solid var(--aviso-borde); scroll-margin-top: 18px; }
.aviso-privacidad__seccion h3 { margin: 0 0 12px; color: var(--aviso-texto); font-size: 1.18rem; font-weight: 800; }
.aviso-privacidad__seccion p { margin: 0 0 12px; color: var(--aviso-texto); }
.aviso-privacidad__seccion li { margin: 0 0 9px; padding-left: 3px; color: var(--aviso-texto); }
.aviso-privacidad__seccion a, .aviso-privacidad__footer a { color: var(--aviso-acento); font-weight: 650; overflow-wrap: anywhere; }
.aviso-privacidad__datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 16px 0; }
.aviso-privacidad__datos div { padding: 12px 14px; border: 1px solid var(--aviso-borde); border-radius: 12px; background: var(--aviso-superficie); }
.aviso-privacidad__datos dt { color: var(--aviso-muted); font-size: .8rem; font-weight: 700; }
.aviso-privacidad__datos dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.aviso-privacidad__enlaces { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-left: 20px; }
.aviso-privacidad__footer { display: grid; gap: 4px; padding-top: 22px; color: var(--aviso-muted); }
.footer-legal__link { border: 0; padding: 0; background: transparent; color: #2563eb; font: inherit; text-decoration: underline; cursor: pointer; }
.tema-oscuro .modal-privacidad { background: #111b2b; color: #e7edf7; }
.tema-oscuro .modal-privacidad > .close-btn { border-color: #34445c; background: #1d2a3d; color: #f1f5f9; }
.tema-oscuro .aviso-privacidad { --aviso-texto: #e7edf7; --aviso-muted: #a9b6c9; --aviso-superficie: #1b293d; --aviso-borde: #33445c; --aviso-acento: #8db7ff; }
.tema-oscuro .aviso-privacidad__pendiente { border-color: #806321; background: #342b19; color: #ffe5a6; }
.tema-oscuro .footer-legal__link { color: #9cc1ff; }
@media (max-width: 600px) { .modal-backdrop-privacidad { padding: 0; align-items: stretch; } .modal-privacidad { width: 100%; height: 100dvh; max-height: 100dvh; padding: 18px 16px 28px; border-radius: 0; } .modal-privacidad > .close-btn { position: sticky; margin-right: 0; } }
.consentimiento-analitica { position: fixed; z-index: 10000; inset: auto 18px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1080px; margin: auto; padding: 18px 20px; border: 1px solid #d9e4f3; border-radius: 18px; background: #fff; color: #233047; box-shadow: 0 12px 40px rgba(15, 35, 65, .22); }
.consentimiento-analitica[hidden] { display: none !important; }
.consentimiento-analitica p { margin: 4px 0 0; color: #5a687c; font-size: .9rem; }
.consentimiento-analitica__acciones { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }
.consentimiento-analitica button, .aviso-privacidad__preferencias { min-height: 40px; padding: 8px 13px; border: 1px solid #cbd8ea; border-radius: 10px; background: #f4f7fc; color: #2454b8; font-weight: 700; cursor: pointer; }
.consentimiento-analitica__acciones [data-analitica="aceptar"] { border-color: #235ac4; background: #2864dc; color: #fff; }
.consentimiento-analitica__aviso { margin-top: 6px; border: 0 !important; padding: 0 !important; background: transparent !important; color: #2454b8 !important; text-decoration: underline; }
.tema-oscuro .consentimiento-analitica { border-color: #34445c; background: #111b2b; color: #e7edf7; }
.tema-oscuro .consentimiento-analitica p { color: #a9b6c9; }
.tema-oscuro .consentimiento-analitica button, .tema-oscuro .aviso-privacidad__preferencias { border-color: #425572; background: #1b293d; color: #b7d0ff; }
.tema-oscuro .consentimiento-analitica__acciones [data-analitica="aceptar"] { border-color: #477be4; background: #315fbd; color: #fff; }
.tema-oscuro .consentimiento-analitica__aviso { background: transparent !important; color: #b7d0ff !important; }
@media (max-width: 700px) { .consentimiento-analitica { inset: auto 10px 10px; flex-direction: column; align-items: stretch; padding: 16px; } .consentimiento-analitica__acciones { display: grid; grid-template-columns: 1fr 1fr; } }/* Historias más allá del rumor */
.inicio-misterios{display:flex;align-items:center;gap:17px;max-width:1180px;margin:0 auto 36px;padding:18px 22px;border:1px solid #d5e3f1;border-radius:17px;background:linear-gradient(110deg,#edf5fd,#f8faff);color:#28435f;box-shadow:0 8px 24px #224c7712}.inicio-misterios__icono{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:14px;background:#d9eafa;color:#3677b9;font-size:1.35rem}.inicio-misterios__eyebrow{color:#3675b2;font-size:.7rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.inicio-misterios p{margin:3px 0 0;color:#4b6179;line-height:1.5}.inicio-misterios button{flex:0 0 auto;padding:10px 14px;border:0;border-radius:11px;background:#386f9f;color:white;font-weight:750}.nota-misterio-invitacion{display:flex;gap:12px;margin:12px 0 4px;padding:14px;border:1px solid #d6e5f3;border-radius:13px;background:#eef6fd;color:#38536e}.nota-misterio-invitacion p{margin:0;font-size:.88rem;line-height:1.55}.nota-misterio-invitacion strong{display:block;color:#244d76}
.editorial-destacada{display:grid;grid-template-columns:1.04fr .96fr;max-width:1240px;margin:44px auto 56px;overflow:hidden;border:1px solid #dbe4ed;border-radius:26px;background:#fff;box-shadow:0 18px 46px #1e37551f}.editorial-destacada__imagen{position:relative;min-height:320px;background:#17283e}.editorial-destacada__imagen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.editorial-destacada__sello{position:absolute;left:20px;bottom:18px;padding:8px 13px;border:1px solid #ffffff59;border-radius:999px;background:#0d1e30bf;color:#fff;font-size:.76rem;font-weight:750}.editorial-destacada__texto{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(25px,4vw,50px)}.editorial-destacada__eyebrow{color:#4379bb;font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.editorial-destacada__texto h2{margin:12px 0;color:#1d3049;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:850;letter-spacing:-.045em;line-height:1.08}.editorial-destacada__texto p{max-width:490px;color:#5b6b7f;font-size:1.02rem;line-height:1.7}.editorial-destacada__enlace{display:inline-flex;gap:12px;margin:10px 0 12px;padding:12px 17px;border-radius:12px;background:#2864a8;color:#fff!important;font-weight:750;text-decoration:none}.editorial-destacada__texto small{color:#7c8999;font-size:.77rem}
.expediente{--b:#e0e8f0;min-height:100vh;padding-bottom:50px;background:#f5f7fa;color:#22334a}.expediente__hero{position:relative;display:flex;min-height:min(680px,77vh);align-items:flex-end;overflow:hidden;background:#162942;color:#fff}.expediente__hero-imagen,.expediente__hero-capa{position:absolute;inset:0;width:100%;height:100%}.expediente__hero-imagen{object-fit:cover}.expediente__hero-capa{background:linear-gradient(90deg,#0b192beb,#0b192a88 57%,#0b192a14),linear-gradient(0deg,#091625c7,transparent 48%)}.expediente__hero-contenido{position:relative;z-index:1;width:min(1180px,100%);margin:auto;padding:100px 30px 78px}.expediente__regreso{display:inline-block;margin-bottom:44px;color:#e3efff;text-decoration:none}.expediente__serie{display:block;color:#b8d5fb;font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.expediente__hero h1{max-width:850px;margin:13px 0 15px;color:#fff;font-size:clamp(2.7rem,6.5vw,5.35rem);font-weight:850;letter-spacing:-.055em;line-height:.99}.expediente__bajada{max-width:740px;color:#e1eaf4;font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.65}.expediente__datos{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.expediente__datos span{padding:8px 12px;border:1px solid #ffffff3b;border-radius:999px;background:#ffffff1a;font-size:.78rem}.expediente__nota-imagen{position:absolute;right:16px;bottom:14px;z-index:1;color:white;font-size:.72rem;text-shadow:0 1px 5px #000}.expediente__cuerpo{width:min(1180px,100%);margin:auto;padding:36px 28px}.expediente__aviso{display:flex;gap:13px;margin:0 auto 35px;padding:17px 20px;border:1px solid #d5e5f5;border-radius:15px;background:#eaf3fc;color:#38516c}.expediente__aviso p{margin:0;line-height:1.6}.expediente__rejilla{display:grid;grid-template-columns:minmax(0,760px) minmax(230px,310px);justify-content:space-between;gap:50px}.expediente__articulo{font-size:1.05rem;line-height:1.83}.expediente__articulo p{margin:0 0 21px;color:#43546a}.expediente__articulo h2{margin:42px 0 14px;color:#1e3552;font-size:clamp(1.5rem,3vw,2rem);font-weight:820;letter-spacing:-.03em}.expediente__entradilla{font-size:1.2rem!important;color:#30435b!important}.expediente__figura{margin:32px 0;overflow:hidden;border:1px solid var(--b);border-radius:19px;background:#e8eff5}.expediente__figura img{display:block;width:100%;height:auto}.expediente__figura figcaption{padding:12px 16px;color:#64748a;font-size:.79rem}.expediente__tarjetas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 30px}.expediente__tarjetas section,.expediente__fuentes a,.expediente__lateral-card{padding:18px;border:1px solid var(--b);border-radius:16px;background:white}.expediente__tarjetas h3{color:#263d59;font-size:1rem;font-weight:800}.expediente__tarjetas p{margin:0;color:#64748a;font-size:.88rem;line-height:1.6}.expediente__fuentes{display:grid;gap:10px;margin:20px 0}.expediente__fuentes a{display:flex;justify-content:space-between;gap:15px;color:#2b4c70;text-decoration:none}.expediente__fuentes small{display:block;margin-top:4px;color:#718095;font-size:.79rem;font-weight:450}.expediente__lateral-card{position:sticky;top:90px;height:max-content}.expediente__lateral-card--azul{position:static;background:#eaf2fb}.expediente__lateral-card a{color:#205c9d;font-weight:750}.expediente__pie{display:flex;justify-content:space-between;margin-top:42px;padding-top:18px;border-top:1px solid var(--b);color:#738196;font-size:.8rem}
html.tema-oscuro .inicio-misterios,html.tema-oscuro .nota-misterio-invitacion{border-color:#354b64;background:#1b2c40;color:#d5e3f3}html.tema-oscuro .inicio-misterios p,html.tema-oscuro .nota-misterio-invitacion p{color:#bbcadc}html.tema-oscuro .nota-misterio-invitacion strong{color:#c5ddf7}html.tema-oscuro .editorial-destacada{border-color:#34475e;background:#162235}html.tema-oscuro .editorial-destacada__texto h2{color:#eef5ff}html.tema-oscuro .editorial-destacada__texto p{color:#bac8da}html.tema-oscuro .expediente{--b:#35465d;background:#101a29;color:#e9f0fa}html.tema-oscuro .expediente__aviso{border-color:#35516d;background:#1a2d43;color:#c5d7ec}html.tema-oscuro .expediente__articulo p{color:#bdc9d9}html.tema-oscuro .expediente__articulo h2{color:#e2edfc}html.tema-oscuro .expediente__entradilla{color:#d3deec!important}html.tema-oscuro .expediente__tarjetas section,html.tema-oscuro .expediente__fuentes a,html.tema-oscuro .expediente__lateral-card{border-color:#35465d;background:#19283b;color:#a9d0ff}html.tema-oscuro .expediente__tarjetas p,html.tema-oscuro .expediente__fuentes small{color:#a9b8cb}
@media(max-width:850px){.inicio-misterios{margin:0 16px 30px}.editorial-destacada{grid-template-columns:1fr;margin:30px 16px 42px}.editorial-destacada__imagen{min-height:290px}.expediente__rejilla{grid-template-columns:1fr;gap:15px}.expediente__lateral{display:grid;grid-template-columns:repeat(2,1fr)}.expediente__lateral-card{position:static}.expediente__tarjetas{grid-template-columns:1fr}}
@media(max-width:560px){.inicio-misterios{align-items:flex-start;flex-wrap:wrap;padding:15px}.inicio-misterios>div{flex:1}.inicio-misterios button{margin-left:60px}.editorial-destacada{border-radius:19px}.editorial-destacada__imagen{min-height:230px}.editorial-destacada__texto{padding:24px}.expediente__hero{min-height:76svh}.expediente__hero-contenido{padding:75px 20px 65px}.expediente__regreso{margin-bottom:34px}.expediente__datos span{font-size:.71rem}.expediente__cuerpo{padding:24px 17px}.expediente__lateral{grid-template-columns:1fr}.expediente__pie{flex-direction:column}.expediente__nota-imagen{font-size:.62rem}}/* Fotografías reales del Ajusco con atribución CC0 */
.expediente__paisajes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0 34px}.expediente__paisajes figure{overflow:hidden;margin:0;border:1px solid var(--b);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(20,45,75,.08)}.expediente__paisajes figure>a{display:block;overflow:hidden;background:#dce5ec}.expediente__paisajes img{display:block;width:100%;height:clamp(180px,24vw,290px);object-fit:cover;transition:transform .35s}.expediente__paisajes figure:hover img{transform:scale(1.025)}.expediente__paisajes figcaption{padding:12px 14px;color:#617187;font-size:.75rem;line-height:1.55}.expediente__paisajes figcaption a{color:#2868a7;font-weight:700}html.tema-oscuro .expediente__paisajes figure{border-color:#35465d;background:#19283b}html.tema-oscuro .expediente__paisajes figcaption{color:#b3c1d2}html.tema-oscuro .expediente__paisajes figcaption a{color:#a9d0ff}
@media(max-width:600px){.expediente__paisajes{grid-template-columns:1fr}.expediente__paisajes img{height:230px}}

/* Apoyo voluntario: mensaje estático, discreto y sin cubrir el mapa. */
.donar-invitacion { align-items:center; gap:clamp(14px,2vw,24px); border-color:#c9e4de; background:radial-gradient(circle at 90% 0%,rgba(118,213,193,.18),transparent 34%),linear-gradient(115deg,#f4fbf8,#f5f8ff 70%,#fff8ee); }
.donar-invitacion__icono { border:1px solid #c4e8dc; background:linear-gradient(145deg,#e2f8ee,#e5efff); color:#168878; }
.donar-invitacion__texto { min-width:0; }
.donar-invitacion__texto .donar-invitacion__eyebrow { display:block; color:#32877b; font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.donar-invitacion__texto h2 { margin:.25rem 0 .35rem; color:#1c3e52; font-size:clamp(1.08rem,2.2vw,1.42rem); font-weight:850; letter-spacing:-.025em; line-height:1.25; }
.donar-invitacion__texto p { max-width:720px; margin:0; color:#566f7a; font-size:.86rem; line-height:1.6; }
.donar-invitacion__texto small { display:block; margin-top:.55rem; color:#6d817f; font-size:.73rem; font-weight:700; }
.donar-invitacion__acciones { display:grid; min-width:220px; justify-items:stretch; gap:.55rem; }
.donar-invitacion__boton { white-space:nowrap; }
.donar-invitacion__sugerencia { color:#286c83; font-size:.75rem; font-weight:750; text-align:center; text-decoration:underline; text-decoration-color:rgba(40,108,131,.35); text-underline-offset:3px; }
.donar-invitacion__sugerencia:hover,.donar-invitacion__sugerencia:focus-visible { color:#15536a; text-decoration-color:currentColor; }
html.tema-oscuro .donar-invitacion { border-color:#31534f; background:radial-gradient(circle at 90% 0%,rgba(63,150,132,.14),transparent 34%),linear-gradient(115deg,#192e30,#1a2833 70%,#302b29); }
html.tema-oscuro .donar-invitacion__icono { border-color:#416960; background:linear-gradient(145deg,#25483e,#293e50); color:#a5e4d4; }
html.tema-oscuro .donar-invitacion__texto .donar-invitacion__eyebrow { color:#8dd5c4; }
html.tema-oscuro .donar-invitacion__texto h2 { color:#e0f1ed; }
html.tema-oscuro .donar-invitacion__texto p,html.tema-oscuro .donar-invitacion__texto small { color:#afc4c0; }
html.tema-oscuro .donar-invitacion__sugerencia { color:#9bd3dd; }
@media(max-width:640px) { .donar-invitacion__acciones { width:100%; min-width:0; } .donar-invitacion__sugerencia { padding:.25rem; } }
/* El menú superior mantiene el acceso a donar; los flotantes no tapan el mapa. */
body.mapa-activo .btn-donar,body.mapa-activo #mensajeDonacion { display:none!important; animation:none!important; }
/* Pulido de footer, apoyo y expediente editorial */
#footer{position:relative!important;inset:auto!important;display:flex!important;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;width:100%;height:auto!important;min-height:58px;padding:13px clamp(18px,4vw,48px)!important;border-top:1px solid #e1e8ef;background:#f8fafc!important;color:#708094!important;box-shadow:none!important;text-align:left!important;font-size:.82rem!important;z-index:1!important}#footer .footer-bar,#footer .footer-legal{display:flex;align-items:center;gap:10px;margin:0;color:inherit;font-size:inherit;line-height:1.4}#footer .footer-bar{font-weight:650}#footer .footer-legal{justify-content:flex-end}#footer .footer-legal b{color:#40566d;font-weight:750}#footer .footer-legal__link{margin:0!important;padding:0 0 1px!important;border:0!important;border-bottom:1px solid #95a7ba!important;border-radius:0!important;background:transparent!important;color:#315f8c!important;font:inherit!important;font-weight:700!important;text-decoration:none!important;box-shadow:none!important}#footer .footer-legal__link:hover{border-color:#1e70ae!important;color:#1e70ae!important}html.tema-oscuro #footer{border-color:#293a4d;background:#111c2b!important;color:#a8b6c9!important}html.tema-oscuro #footer .footer-legal b{color:#e2eaf4}html.tema-oscuro #footer .footer-legal__link{border-color:#7389a4!important;color:#a8c9ee!important}
.donar-invitacion{display:flex;align-items:center;gap:16px;width:min(1120px,calc(100% - 32px));margin:26px auto 38px;padding:19px 22px;border:1px solid #cfe2df;border-radius:18px;background:linear-gradient(110deg,#f0f8f7,#f8fbfa);box-shadow:0 9px 28px rgba(22,83,77,.08)}.donar-invitacion__icono{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border-radius:15px;background:#d9efeb;color:#117d71;font-size:1.25rem}.donar-invitacion__texto{flex:1}.donar-invitacion__texto>span{color:#234c4a;font-size:.97rem;font-weight:800}.donar-invitacion__texto p{margin:3px 0 0;color:#5e7775;font-size:.88rem;line-height:1.5}.donar-invitacion__boton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid #087b70;border-radius:12px;background:linear-gradient(135deg,#128b7d,#08756c);color:#fff;font:inherit;font-size:.86rem;font-weight:750;box-shadow:0 5px 13px rgba(8,117,108,.17);transition:transform .18s,box-shadow .18s,background .18s}.donar-invitacion__boton:hover,.donar-invitacion__boton:focus-visible{transform:translateY(-1px);background:linear-gradient(135deg,#0b786d,#06665e);box-shadow:0 8px 17px rgba(8,117,108,.23);outline:3px solid rgba(18,139,125,.15);outline-offset:2px}
html body .menu-comunidad a.menu-comunidad__donar{border:1px solid #0b7d70;background:linear-gradient(135deg,#138b7e,#087368);box-shadow:0 4px 12px rgba(8,117,108,.18);color:#fff}html body .menu-comunidad a.menu-comunidad__donar:hover,html body .menu-comunidad a.menu-comunidad__donar:focus-visible{border-color:#06645b;background:linear-gradient(135deg,#0d796e,#075f57);color:#fff;box-shadow:0 7px 17px rgba(8,117,108,.25)}.menu-comunidad__donar>span:first-child{background:rgba(255,255,255,.17);color:#fff}html.tema-oscuro body .menu-comunidad a.menu-comunidad__donar{border-color:#278f82;background:linear-gradient(135deg,#146e67,#105650);color:#edfffb}html.tema-oscuro body .menu-comunidad a.menu-comunidad__donar:hover{background:linear-gradient(135deg,#1b8278,#14675f)}
.btn-float{display:grid!important;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.48);background:rgba(30,54,75,.78);font-size:24px;line-height:1;backdrop-filter:blur(10px);box-shadow:0 5px 16px rgba(20,42,63,.22);opacity:.88}.btn-float:hover,.btn-float:focus-visible{opacity:1;background:#1e4867;transform:translateY(-2px)}body.mapa-activo .btn-donar{display:none!important}
#modalDonar .modal-content>div:first-child{background:linear-gradient(125deg,#128b7d,#08675f)!important}#modalDonar .modal-content>div:first-child p{max-width:480px;line-height:1.55}#modalDonar .btn-monto-rm{border-color:#168579;color:#11786e}#modalDonar .btn-monto-rm:hover,#modalDonar .btn-monto-rm.activo{background:linear-gradient(135deg,#128b7d,#08675f);border-color:#08675f;color:#fff}#modalDonar #btn-donar{background:linear-gradient(135deg,#128b7d,#08675f)!important;box-shadow:0 5px 16px rgba(8,117,108,.25)!important}#modalDonar #btn-donar:hover{background:linear-gradient(135deg,#0c7d71,#075d55)!important;box-shadow:0 8px 20px rgba(8,117,108,.3)!important}#modalDonar.modo-oscuro .modal-content>div:first-child,#modalDonar.modo-oscuro .btn-monto-rm.activo,#modalDonar.modo-oscuro #btn-donar{background:linear-gradient(135deg,#146e67,#105650)!important}.modal-donar__montos{flex-wrap:wrap}
.expediente__cuerpo{width:min(1260px,100%);padding-top:clamp(28px,5vw,56px)}.expediente__rejilla{grid-template-columns:minmax(0,790px) minmax(230px,290px);gap:clamp(24px,4vw,58px)}.expediente__articulo{padding:clamp(22px,4vw,54px);border:1px solid #e2e8ef;border-radius:24px;background:#fff;box-shadow:0 14px 42px rgba(24,47,74,.065);font-size:1.04rem;line-height:1.86}.expediente__articulo p{color:#46566a;line-height:1.86}.expediente__articulo h2{margin-top:48px;padding-bottom:13px;border-bottom:1px solid #e8edf2;color:#1e3552;font-size:clamp(1.42rem,2.8vw,1.9rem);line-height:1.22}.expediente__articulo h2:first-of-type{margin-top:34px}.expediente__entradilla{padding-left:18px;border-left:3px solid #48a094;font-size:1.16rem!important;line-height:1.78!important}.expediente__fuentes a{border-radius:14px;box-shadow:0 3px 12px rgba(30,60,91,.035)}.expediente__cierre{border-left-color:#168579}.expediente__nota-imagen{padding:5px 9px;border-radius:8px;background:rgba(10,24,38,.55)}
html.tema-oscuro .donar-invitacion{border-color:#31534f;background:linear-gradient(110deg,#192e30,#1a2833)}html.tema-oscuro .donar-invitacion__texto>span{color:#e0f1ed}html.tema-oscuro .donar-invitacion__texto p{color:#afc4c0}html.tema-oscuro .donar-invitacion__icono{background:#21433e;color:#a7e4d8}html.tema-oscuro .expediente__articulo{border-color:#35465d;background:#162336;box-shadow:0 14px 42px rgba(0,0,0,.18)}html.tema-oscuro .expediente__articulo p{color:#c0ccdc}html.tema-oscuro .expediente__articulo h2{border-color:#34465c;color:#e2edfc}html.tema-oscuro .expediente__entradilla{border-color:#58b3a7;color:#d6e3ef!important}html.tema-oscuro .expediente__fuentes a{box-shadow:none}
@media(max-width:640px){#footer{align-items:flex-start;flex-direction:column;gap:5px;padding:13px 17px!important}#footer .footer-legal{flex-wrap:wrap;justify-content:flex-start}.donar-invitacion{align-items:flex-start;flex-wrap:wrap;padding:16px}.donar-invitacion__texto{min-width:calc(100% - 64px)}.donar-invitacion__boton{width:100%}.expediente__rejilla{grid-template-columns:minmax(0,1fr)}.expediente__articulo{padding:22px 18px;border-radius:18px}.expediente__articulo h2{margin-top:36px}}

/* Reproductor oficial de video en el expediente de Carlos Díaz */
.expediente__video{margin:2.5rem 0;padding:clamp(1.1rem,3vw,2rem);border:1px solid rgba(34,105,160,.15);border-radius:1.25rem;background:linear-gradient(145deg,#f2f8ff,#fff 72%);box-shadow:0 14px 38px rgba(24,72,115,.08)}
.expediente__video h2{margin-top:0}
.expediente__video>p{color:#43566b;line-height:1.7}
.expediente__video-marco{aspect-ratio:16/9;overflow:hidden;border-radius:1rem;background:#101820;box-shadow:0 12px 30px rgba(13,35,56,.2)}
.expediente__video-marco iframe{display:block;width:100%;height:100%;border:0}
.expediente__video-fuente{margin:.8rem 0 0;font-size:.9rem}
html.tema-oscuro .expediente__video{border-color:rgba(132,186,237,.2);background:linear-gradient(145deg,#17283a,#111c29);box-shadow:0 14px 38px rgba(0,0,0,.22)}
html.tema-oscuro .expediente__video>p{color:#c6d4e2}
@media(max-width:600px){.expediente__video{margin:1.6rem -0.25rem;padding:1rem;border-radius:1rem}.expediente__video-marco{border-radius:.75rem}}

/* Publicar una nota: panel contenido al viewport, incluidos móviles */
#modalNota.modal-backdrop-custom {
    box-sizing: border-box;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    overflow-y: auto;
    overscroll-behavior: contain;
}
#modalNota .modal-nota-form {
    box-sizing: border-box;
    width: min(100%, 620px) !important;
    max-width: 620px;
    max-height: min(88vh, 820px);
    max-height: min(88dvh, 820px);
    margin: auto;
    padding: clamp(18px, 4vw, 30px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e2eaf0;
    border-radius: 22px;
    background: #fff;
    color: #263b4c;
    box-shadow: 0 24px 70px rgba(12, 34, 52, .25);
}
#modalNota .modal-nota-form h3 {
    margin: 0 0 20px;
    color: #315f59;
    font-size: clamp(1.2rem, 4.4vw, 1.55rem);
    line-height: 1.25;
}
#modalNota .modal-nota-form label {
    margin: 14px 0 6px;
    color: #31485b;
    font-weight: 700;
}
#modalNota .modal-nota-form input,
#modalNota .modal-nota-form textarea,
#modalNota .modal-nota-form select {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #cbd8e2;
    border-radius: 12px;
    background: #fbfdff;
    color: #223748;
    font: inherit;
    font-size: 16px;
    line-height: 1.45;
    box-shadow: none;
}
#modalNota .modal-nota-form textarea { min-height: 112px; resize: vertical; }
#modalNota .modal-nota-form input:focus,
#modalNota .modal-nota-form textarea:focus,
#modalNota .modal-nota-form select:focus {
    border-color: #4d8b82;
    outline: 3px solid rgba(77, 139, 130, .16);
}
#modalNota .nota-privacidad-hint {
    display: block;
    margin: -4px 0 12px;
    color: #687c8d;
    font-size: .82rem;
    line-height: 1.45;
}
#modalNota .nota-misterio-invitacion { align-items: flex-start; padding: 12px; font-size: .9rem; }
#modalNota .terms { margin-top: 14px; }
#modalNota .custom-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid #e0e8ee;
    border-radius: 12px;
    background: #f7fafc;
}
#modalNota .custom-checkbox input {
    flex: 0 0 20px;
    width: 20px;
    min-height: 20px;
    height: 20px;
    margin: 2px 0 0;
    padding: 0;
}
#modalNota .custom-checkbox label { margin: 0; font-size: .86rem; font-weight: 500; line-height: 1.5; }
#modalNota .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
    padding: 0;
}
#modalNota .modal-footer button {
    min-height: 46px;
    margin: 0;
    padding: 10px 18px;
    border-radius: 12px;
    font: inherit;
    font-weight: 750;
}
#modalNota .modal-footer .btn-primary {
    border: 1px solid #315f59;
    background: #3d756e;
    box-shadow: 0 5px 13px rgba(49, 95, 89, .18);
}
#modalNota .modal-footer .btn-primary:disabled { opacity: .8; cursor: wait; }
#modalNota .btn-primary.esta-guardando::before {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 8px;
    border: 2px solid rgba(255,255,255,.5);
    border-top-color: #fff;
    border-radius: 50%;
    content: "";
    vertical-align: -3px;
    animation: rm-spin .75s linear infinite;
}
#modalNota.modo-oscuro .modal-nota-form { border-color: #354a61; background: #162336; color: #dce7f2; }
#modalNota.modo-oscuro .modal-nota-form h3,
#modalNota.modo-oscuro .modal-nota-form label { color: #e2edf7; }
#modalNota.modo-oscuro .modal-nota-form input,
#modalNota.modo-oscuro .modal-nota-form textarea,
#modalNota.modo-oscuro .modal-nota-form select {
    border-color: #40566f;
    background: #1c2d42;
    color: #e1ebf5;
}
#modalNota.modo-oscuro .custom-checkbox { border-color: #354a61; background: #1b2b3f; }
#modalNota.modo-oscuro .custom-checkbox label,
#modalNota.modo-oscuro .nota-privacidad-hint { color: #bccbd9; }

/* El mapa informa la carga sin bloquear el paneo ni cubrir la pantalla. */
.mapa-workspace .contenedor { position: relative; }
.estado-carga-mapa {
    position: absolute;
    z-index: 1200;
    top: max(12px, env(safe-area-inset-top));
    left: 50%;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    max-width: calc(100% - 24px);
    padding: 9px 13px;
    transform: translateX(-50%);
    border: 1px solid rgba(49, 95, 89, .18);
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    color: #365d59;
    box-shadow: 0 5px 18px rgba(27, 54, 69, .16);
    font-size: .82rem;
    font-weight: 700;
    pointer-events: none;
    backdrop-filter: blur(8px);
}
.estado-carga-mapa[hidden] { display: none !important; }
.estado-carga-mapa__spinner,
.simple-spinner {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(61,117,110,.2);
    border-top-color: #3d756e;
    border-radius: 50%;
    animation: rm-spin .75s linear infinite;
}
html.tema-oscuro .estado-carga-mapa { border-color: #3d5a66; background: rgba(24,42,53,.96); color: #d7e9e7; }
html.tema-oscuro .estado-carga-mapa__spinner { border-color: #405861; border-top-color: #8bc9bd; }

/* Preloader de detalle: claro, pequeño y legible en móvil. */
.simple-preloader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
    background: var(--preloader-background, rgba(247,250,252,.92));
    color: #284457;
    font-family: inherit;
    text-align: center;
    backdrop-filter: blur(3px);
}
.simple-preloader .simple-spinner { width: 42px; height: 42px; border-width: 3px; }
.simple-preloader .simple-text {
    max-width: min(82vw, 320px);
    color: var(--preloader-accent, #397d78);
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.45;
}
html.tema-oscuro .simple-preloader { background: rgba(12,22,34,.88); color: #e0eaf4; }

/* SweetAlert2 cómodo en pantallas táctiles y viewports bajos. */
.swal2-container {
    box-sizing: border-box;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
}
.swal2-popup {
    box-sizing: border-box;
    width: min(32rem, calc(100vw - 24px)) !important;
    max-width: 100%;
    max-height: 88vh !important;
    max-height: 88dvh !important;
    margin: 0 !important;
    padding: clamp(18px, 4vw, 28px);
    overflow-y: auto;
    border-radius: 20px !important;
}
.swal2-title {
    max-width: 100%;
    padding: 0;
    font-size: clamp(1.12rem, 4.6vw, 1.5rem) !important;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.swal2-html-container { max-width: 100%; font-size: clamp(.92rem, 3.6vw, 1rem); line-height: 1.55; overflow-wrap: anywhere; }
.swal2-input,
.swal2-select,
.swal2-textarea {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-height: 46px;
    margin: 12px 0 0 !important;
    border-radius: 11px !important;
    font-size: 16px !important;
}
.swal2-actions { flex-wrap: wrap; gap: 9px; width: 100%; margin: 18px 0 0; }
.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel {
    min-width: 108px;
    min-height: 44px;
    margin: 0 !important;
    border-radius: 12px !important;
    font-size: .92rem !important;
    font-weight: 700;
}
.swal2-loader { width: 2.3em; height: 2.3em; border-width: .25em; }
.swal-modo-oscuro.swal2-popup { background: #172638 !important; color: #e0eaf5 !important; }
.swal-modo-oscuro .swal2-title,
.swal-modo-oscuro .swal2-html-container { color: #d2deeb !important; }

@media (max-width: 600px) {
    #modalNota.modal-backdrop-custom {
        align-items: flex-start;
        padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    }
    #modalNota .modal-nota-form {
        width: 100% !important;
        max-width: none;
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        margin: auto 0;
        padding: 18px 16px;
        border-radius: 18px;
    }
    #modalNota .modal-footer { display: grid; grid-template-columns: 1fr 1fr; }
    #modalNota .modal-footer button { width: 100%; padding-inline: 10px; }
    .estado-carga-mapa { top: max(10px, env(safe-area-inset-top)); gap: 7px; padding: 8px 11px; font-size: .78rem; }
    .estado-carga-mapa__spinner { width: 17px; height: 17px; }
    .swal2-popup {
        width: min(100%, 420px) !important;
        max-height: calc(100vh - 24px) !important;
        max-height: calc(100dvh - 24px) !important;
        padding: 20px 18px !important;
        border-radius: 18px !important;
    }
    .swal2-container { align-items: center !important; }
    .swal2-actions { flex-direction: column-reverse; }
    .swal2-styled.swal2-confirm,
    .swal2-styled.swal2-cancel { width: 100%; }
}
@keyframes rm-spin { to { transform: rotate(360deg); } }
/* Reacciones y vistas dentro del detalle del mapa. */
#modalDetalleNota .modal-nota-detalle__interacciones { grid-column:1/-1; margin:0; padding:1rem 1.15rem; }
#modalDetalleNota .modal-nota-detalle__interacciones .nota-interacciones__acciones { flex-wrap:wrap; }
#modalDetalleNota.modo-oscuro .modal-nota-detalle__interacciones { border-color:#354e5c; background:linear-gradient(145deg,#1b303d,#192d39); }
#modalDetalleNota.modo-oscuro .nota-interacciones__resumen { color:#c6d5db; }
#modalDetalleNota.modo-oscuro .nota-interacciones__acciones { border-color:#354b58; }
#modalDetalleNota.modo-oscuro .nota-reaccion-trigger { border-color:#405a70; background:#203747; color:#d0dce6; }
#modalDetalleNota.modo-oscuro .nota-reaccion-trigger.seleccionado,
#modalDetalleNota.modo-oscuro .nota-reaccion-trigger:hover { border-color:#456f9e; background:#253f5d; color:#a9caff; }
#modalDetalleNota.modo-oscuro .nota-reaccion-picker__opciones { border-color:#425b70; background:#203342; }
#modalDetalleNota.modo-oscuro .nota-reaccion-opcion:hover,
#modalDetalleNota.modo-oscuro .nota-reaccion-opcion.seleccionada { background:#2a4868; }
#modalDetalleNota.modo-oscuro .nota-reacciones__totales { color:#b3c5d2; }
@media(max-width:640px) {
    #modalDetalleNota .nota-reaccion-picker__opciones { left:0; right:auto; max-width:calc(100vw - 3rem); flex-wrap:wrap; border-radius:18px; transform:translateY(8px) scale(.96); transform-origin:bottom left; }
    #modalDetalleNota .nota-reaccion-picker.abierto .nota-reaccion-picker__opciones { transform:translateY(0) scale(1); }
    #modalDetalleNota .nota-reaccion-opcion { width:40px; height:40px; flex-basis:40px; font-size:1.35rem; }
    #modalDetalleNota .modal-nota-detalle__interacciones { padding:.9rem; }
}
/* Evita que el corazón de donación tape el encabezado del detalle del mapa. */
body.modal-nota-abierta #mensajeDonacion { display:none !important; }

/* Guía breve para descubrir las opciones del menú en móvil. */
@keyframes menuOpcionPulso { 0%,100% { transform:scale(1); } 18%,48% { transform:scale(1.12); } }
@keyframes menuOpcionEtiqueta { 0%,8%,82%,100% { opacity:0; transform:translate(-50%,-4px); } 18%,68% { opacity:1; transform:translate(-50%,0); } }
@media(max-width:640px) {
    .menu-comunidad__enlace { position:relative; isolation:isolate; }
    .menu-comunidad__enlace::after { position:absolute; top:calc(100% + 9px); left:50%; z-index:1100; padding:.38rem .62rem; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:#243b52; box-shadow:0 6px 18px rgba(15,35,55,.24); color:#fff; content:attr(title); font-size:.72rem; font-weight:750; line-height:1.2; opacity:0; pointer-events:none; white-space:nowrap; transform:translate(-50%,-4px); }
    .menu-comunidad__enlace:nth-child(1) { animation:menuOpcionPulso .9s ease-in-out .35s 1 both; }
    .menu-comunidad__enlace:nth-child(1)::after { animation:menuOpcionEtiqueta 1.25s ease .25s 1 both; }
    .menu-comunidad__enlace:nth-child(2) { animation:menuOpcionPulso .9s ease-in-out 1.55s 1 both; }
    .menu-comunidad__enlace:nth-child(2)::after { animation:menuOpcionEtiqueta 1.25s ease 1.45s 1 both; }
    .menu-comunidad__enlace:nth-child(3) { animation:menuOpcionPulso .9s ease-in-out 2.75s 1 both; }
    .menu-comunidad__enlace:nth-child(3)::after { animation:menuOpcionEtiqueta 1.25s ease 2.65s 1 both; }
    .menu-comunidad__enlace:nth-child(4) { animation:menuOpcionPulso .9s ease-in-out 3.95s 1 both; }
    .menu-comunidad__enlace:nth-child(4)::after { animation:menuOpcionEtiqueta 1.25s ease 3.85s 1 both; }
    .menu-comunidad__enlace:focus-visible::after { animation:none; opacity:1; transform:translate(-50%,0); }
}
@media(prefers-reduced-motion:reduce) {
    .menu-comunidad__enlace { animation:none !important; }
    .menu-comunidad__enlace::after { animation:none !important; }
    .menu-comunidad__enlace:focus-visible::after { opacity:1; transform:translate(-50%,0); }
}
.nota-detalle__ubicacion { display:inline-flex; align-items:center; gap:.65rem; margin:1rem 0 0; padding:.6rem .8rem; border:1px solid #d8e8ef; border-radius:12px; background:linear-gradient(120deg,#f1f8fb,#f7fafd); color:#31586c; }
.nota-detalle__ubicacion>span:first-child { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; background:#e2f1f1; font-size:1rem; }
.nota-detalle__ubicacion>span:last-child { display:grid; gap:.08rem; }
.nota-detalle__ubicacion small { color:#718796; font-size:.68rem; font-weight:700; letter-spacing:.045em; text-transform:uppercase; }
.nota-detalle__ubicacion strong { color:#244a60; font-size:.9rem; font-weight:750; }
html.tema-oscuro .nota-detalle__ubicacion { border-color:#3c5964; background:linear-gradient(120deg,#203944,#22333f); color:#d6e8eb; }
html.tema-oscuro .nota-detalle__ubicacion>span:first-child { background:#294851; }
html.tema-oscuro .nota-detalle__ubicacion small { color:#a4bac3; }
html.tema-oscuro .nota-detalle__ubicacion strong { color:#d7eceb; }
@media(max-width:640px) {
    .nota-publica-page .nota-reaccion-picker__opciones { left:0; right:auto; width:max-content; max-width:calc(100vw - 3rem); flex-wrap:wrap; border-radius:18px; transform:translateY(8px) scale(.96); transform-origin:bottom left; }
    .nota-publica-page .nota-reaccion-picker.abierto .nota-reaccion-picker__opciones { transform:translateY(0) scale(1); }
    .nota-publica-page .nota-reaccion-opcion { width:40px; height:40px; flex-basis:40px; font-size:1.35rem; }
}
#modalDetalleNota .nota-reaccion-picker__opciones.mapa-popup-flotante { position:fixed; z-index:10020; right:auto; bottom:auto; margin:0; visibility:hidden; opacity:0; pointer-events:none; transform:translateY(8px) scale(.96); transform-origin:bottom left; }
#modalDetalleNota .nota-reaccion-picker__opciones.mapa-popup-flotante.abierto { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
#modalDetalleNota .nota-reaccion-picker__opciones.mapa-popup-flotante.mapa-popup-abajo { transform-origin:top left; }
@media(max-width:640px) {
    #modalDetalleNota .nota-reaccion-picker__opciones.mapa-popup-flotante { width:max-content; max-width:calc(100vw - 1rem); flex-wrap:wrap; border-radius:18px; }
    #modalDetalleNota .nota-reaccion-picker__opciones.mapa-popup-flotante .nota-reaccion-opcion { width:40px; height:40px; flex-basis:40px; font-size:1.35rem; }
}

/* Aprovecha mejor la altura en tablet y laptop compacta al abrir un marcador. */
@media(min-width:701px) and (max-height:820px) {
    #modalDetalleNota .modal-nota-detalle__panel { max-height:calc(100dvh - 28px); }
    #modalDetalleNota .modal-nota-detalle__header { min-height:138px; padding:1.15rem clamp(1.25rem,3vw,2.25rem); }
    #modalDetalleNota .modal-nota-detalle__header h2 { font-size:clamp(1.4rem,2.4vw,2rem); }
    #modalDetalleNota .modal-nota-detalle__contenido { gap:1rem; padding:1rem; }
    #modalDetalleNota .modal-nota-detalle__descripcion { padding:1.1rem; }
    #modalDetalleNota .modal-nota-detalle__lista { max-height:16vh; min-height:42px; }
}


/* Equilibra el detalle del marcador en escritorio: contenido en dos columnas e interacciones al pie. */
@media(min-width:821px) {
    #modalDetalleNota .modal-nota-detalle__contenido {
        grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
        grid-template-areas:"descripcion comentarios" "interacciones interacciones";
        align-content:start;
        gap:1rem;
        padding:clamp(1.25rem,2.2vw,2rem);
    }
    #modalDetalleNota .modal-nota-detalle__descripcion { grid-area:descripcion; align-self:stretch; }
    #modalDetalleNota .modal-nota-detalle__comentarios { grid-area:comentarios; align-self:start; }
    #modalDetalleNota .modal-nota-detalle__interacciones { grid-area:interacciones; }
}
@media(max-width:820px) {
    #modalDetalleNota .modal-nota-detalle__contenido { grid-template-columns:minmax(0,1fr); grid-template-areas:none; }
    #modalDetalleNota .modal-nota-detalle__descripcion,
    #modalDetalleNota .modal-nota-detalle__comentarios,
    #modalDetalleNota .modal-nota-detalle__interacciones { grid-area:auto; }
}

/* Contraste unificado del detalle del mapa cuando el tema global es oscuro. */
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__panel { border-color:#395467; background:#142633; color:#e5edf2; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__contenido { background:#142633; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__descripcion { border-color:#354e5c; background:linear-gradient(145deg,#1b303d,#192d39); }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__descripcion h3,
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__seccion-titulo h3 { color:#e7f0f2 !important; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__descripcion>p,
html.tema-oscuro #modalDetalleNota #descNota { color:#d0dde3 !important; line-height:1.75; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__comentarios { border-color:#354e5c; background:linear-gradient(145deg,#1b303d,#192d39); color:#d0dde3; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__lista>div { border-bottom-color:#354b58 !important; color:#d0dde3 !important; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__lista>div div { color:#d0dde3 !important; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__lista time { color:#a9bdc7 !important; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__comentarios textarea { border-color:#49616c; background:#142631; color:#e6eff2; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__comentarios textarea::placeholder { color:#a2b4bd; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__seccion-titulo { border-bottom-color:#354b58; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__footer { border-top-color:#354b58; }



/* Ajustes transversales para que el contenido fluya en móvil, tablet y escritorio. */
main[role="main"], main[role="main"] > main,
.inicio-hero, .notas-publicas, .mapa-workspace, .nota-publica-page,
.notas-publicas__inner, .grupo-estado, .nota-resumen__contenido,
.editorial-destacada, .expediente__cuerpo, .nota-detalle {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
main[role="main"] { width: 100%; }
img, video, iframe { max-width: 100%; }
.nota-resumen__contenido h4,
.nota-resumen__texto,
.nota-detalle__header h1,
.expediente__articulo,
.expediente__fuentes a { overflow-wrap: anywhere; }

@media (max-width: 760px) {
    .notas-publicas__grid,
    .grupo-estado .notas-publicas__grid { grid-template-columns: minmax(0, 1fr); }
    .grupo-estado__cabecera { flex-wrap: wrap; }
    .grupo-estado__cantidad { margin-left: auto; }
    .notas-filtros { align-items: stretch; }
    .notas-filtros select { flex: 1 1 220px; max-width: 100%; }
    .notas-filtros__resumen { flex: 1 1 100%; margin-left: 0; }
    .editorial-destacada { grid-template-columns: minmax(0, 1fr); }
    .editorial-destacada__imagen { min-height: clamp(190px, 55vw, 320px); }
    .donar-invitacion { flex-wrap: wrap; }
    .donar-invitacion__texto { min-width: 0; }
    .expediente__rejilla { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 390px) {
    .menu-comunidad { gap: .15rem; padding-inline: .35rem; }
    .menu-comunidad__marca { flex: 0 0 auto; }
    .menu-comunidad__logo { width: 31px; height: 31px; }
    .menu-comunidad__enlaces { min-width: 0; gap: 0; }
    .menu-comunidad__enlace, .menu-comunidad__tema { min-width: 31px; width: 31px; padding-inline: 0; }
    .menu-comunidad__publicar { min-width: 36px; width: 36px; justify-content: center; padding: .25rem; }
    .menu-comunidad__publicar > span:last-child { display: none; }
}
/* Centrado y límites consistentes para diálogos, alertas y filtros en todos los viewports. */
.modal-custom-centered {
    box-sizing: border-box;
    width: min(620px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
    margin-inline: auto;
}
.modal-backdrop-custom {
    box-sizing: border-box;
    inset: 0;
    width: 100vw;
    min-height: 100dvh;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    align-items: center;
    justify-content: center;
}
#modalNota .modal-nota-form {
    width: min(620px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px);
    margin: auto;
}
#modalDetalleNota.modal-nota-detalle {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    width: 100vw;
    height: 100dvh;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
}
#modalDetalleNota .modal-nota-detalle__panel {
    box-sizing: border-box;
    width: min(1180px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px);
    max-height: calc(100dvh - 32px);
    margin: auto;
}
.swal2-container {
    position: fixed !important;
    inset: 0 !important;
    box-sizing: border-box;
    width: 100vw;
    height: 100dvh;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
}
.swal2-popup {
    box-sizing: border-box;
    justify-self: center;
    align-self: center;
    width: min(440px, calc(100vw - 32px)) !important;
    max-width: 100%;
    max-height: calc(100dvh - 24px) !important;
    margin: 0 auto !important;
    overflow-x: hidden;
    overflow-y: auto;
}
.notas-filtros select#filtroEstadoNotas {
    box-sizing: border-box;
    flex: 0 1 360px;
    width: min(100%, 360px);
    min-width: 0;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    padding: .35rem 2.6rem .35rem .9rem;
    border: 1px solid #8ec4ee;
    border-radius: 13px;
    appearance: none;
    background-color: #f4faff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%231d74bd' d='m3 5 5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    color: #174d77;
    font: inherit;
    font-size: .9rem;
    font-weight: 650;
    line-height: 1.2;
    box-shadow: 0 4px 13px rgba(32, 112, 177, .12), inset 0 1px 0 rgba(255,255,255,.9);
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.notas-filtros select#filtroEstadoNotas:focus-visible {
    border-color: #1976c9;
    background-color: #fff;
    outline: 3px solid rgba(25, 118, 201, .2);
    outline-offset: 2px;
}
.notas-filtros select#filtroEstadoNotas option { background: #fff; color: #28445e; }
html.tema-oscuro .notas-filtros select#filtroEstadoNotas {
    border-color: #4a91b5;
    background-color: #183442;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%237de2dc' d='m3 5 5 5 5-5z'/%3E%3C/svg%3E");
    color: #e4f5ff;
    box-shadow: 0 4px 15px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.06);
}
html.tema-oscuro .notas-filtros select#filtroEstadoNotas:focus-visible { border-color:#73d8d3; outline-color:rgba(79,205,197,.23); }
html.tema-oscuro .notas-filtros select#filtroEstadoNotas option { background: #183442; color: #e4f5ff; }

@media (max-width: 600px) {
    #modalNota .modal-nota-form { width: 100% !important; max-width: 100%; }
    #modalDetalleNota.modal-nota-detalle { padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); }
    #modalDetalleNota .modal-nota-detalle__panel { width: 100% !important; max-width: 100%; max-height: 100%; border-radius: 16px; }
    .notas-filtros select#filtroEstadoNotas { flex: 0 0 40px; width: 100%; max-width: 100%; height: 40px; min-height: 40px; max-height: 40px; }
    .swal2-popup { width: min(440px, calc(100vw - 32px)) !important; max-height: calc(100dvh - 24px) !important; padding: 20px 18px !important; }
    .swal2-actions { width: 100%; }
}

/* Recomendaciones privadas basadas en las lecturas de este navegador. */
.recorrido-personal {
    position: relative;
    overflow: hidden;
    width: min(100%, 1120px);
    margin: -0.5rem auto 2rem;
    padding: clamp(1rem, 2.6vw, 1.5rem);
    border: 1px solid #b9d8f1;
    border-radius: 22px;
    background: radial-gradient(circle at 92% 0%, rgba(112, 190, 255, .22), transparent 32%), linear-gradient(125deg, #f8fcff 0%, #eff8ff 52%, #f3f0ff 100%);
    box-shadow: 0 14px 34px rgba(37, 102, 164, .11);
}
.recorrido-personal::before { position:absolute; inset:0 auto 0 0; width:5px; background:linear-gradient(180deg,#2584db,#28b3a5 58%,#8d77db); content:""; }
.recorrido-personal__cabecera { position:relative; display:flex; align-items:flex-start; gap:1rem; }
.recorrido-personal__icono { display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center; border:1px solid #c3e0f8; border-radius:16px; background:linear-gradient(145deg,#dff2ff,#e9e8ff); color:#2677bd; font-size:1.55rem; box-shadow:0 6px 16px rgba(50,117,178,.12); }
.recorrido-personal__eyebrow { color:#2375af; font-size:.68rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.recorrido-personal__cabecera h3 { margin:.15rem 0 .35rem; color:#1d3c58; font-size:clamp(1.15rem,2.7vw,1.45rem); font-weight:850; letter-spacing:-.025em; }
.recorrido-personal__cabecera p { max-width:720px; margin:0; color:#58728a; font-size:.9rem; line-height:1.6; }
.recorrido-personal__acciones { position:relative; display:flex; align-items:center; flex-wrap:wrap; gap:.65rem .9rem; margin:1rem 0 0 64px; }
.recorrido-personal__activar { display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:.45rem; padding:.65rem 1rem; border:1px solid #176bb4; border-radius:12px; background:linear-gradient(120deg,#247bd0,#2967bc 58%,#4e61b4); color:#fff; cursor:pointer; font:inherit; font-size:.84rem; font-weight:800; box-shadow:0 6px 15px rgba(40,105,184,.2); transition:transform .18s,box-shadow .18s,filter .18s; }
.recorrido-personal__activar:hover { transform:translateY(-1px); filter:saturate(1.12); box-shadow:0 9px 20px rgba(40,105,184,.27); }
.recorrido-personal__activar.activo { border-color:#14867d; background:linear-gradient(120deg,#178f83,#197b8b); }
.recorrido-personal__estado { color:#56738a; font-size:.77rem; font-weight:650; }
.recorrido-personal__borrar { min-height:36px; padding:.4rem .7rem; border:1px solid #cbd8e5; border-radius:10px; background:rgba(255,255,255,.72); color:#546b7e; cursor:pointer; font:inherit; font-size:.76rem; font-weight:750; }
.recorrido-personal__borrar:hover { border-color:#d58b8b; background:#fff4f3; color:#a53c48; }
.recorrido-personal__sugerencias { position:relative; margin:1.15rem 0 0 64px; }
.recorrido-personal__sugerencias[hidden] { display:none !important; }
.recorrido-personal__resultado-titulo { margin-bottom:.65rem; color:#264c69; font-size:.83rem; font-weight:850; }
.recorrido-personal__rejilla { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.recorrido-personal__nota { position:relative; display:flex; min-width:0; min-height:116px; flex-direction:column; gap:.35rem; overflow:hidden; padding:.85rem 2.1rem .85rem .9rem; border:1px solid #cfe1f0; border-radius:14px; background:rgba(255,255,255,.83); color:inherit; text-decoration:none; box-shadow:0 5px 15px rgba(31,80,122,.055); transition:transform .18s,border-color .18s,box-shadow .18s; }
.recorrido-personal__nota:hover { transform:translateY(-2px); border-color:#7bb6e3; box-shadow:0 9px 21px rgba(31,80,122,.12); }
.recorrido-personal__nota-tipo { align-self:flex-start; max-width:100%; overflow:hidden; padding:.22rem .48rem; border-radius:999px; background:#e4f3ff; color:#236b9e; font-size:.64rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.recorrido-personal__nota-nueva { display:inline-block; margin-left:.25rem; padding:.12rem .36rem; border-radius:999px; background:#dff6ea; color:#18764d; font-size:.58rem; font-weight:900; letter-spacing:.03em; text-transform:uppercase; vertical-align:1px; }
.recorrido-personal__nota strong { display:-webkit-box; overflow:hidden; color:#26435c; font-size:.88rem; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.recorrido-personal__nota small { margin-top:auto; overflow:hidden; color:#6b8092; font-size:.71rem; text-overflow:ellipsis; white-space:nowrap; }
.recorrido-personal__nota-flecha { position:absolute; top:50%; right:.8rem; color:#2782bd; font-size:1.15rem; font-weight:800; transform:translateY(-50%); }
.recorrido-personal__vacio { margin:0; padding:.85rem 1rem; border:1px dashed #b8d3e7; border-radius:12px; background:rgba(255,255,255,.55); color:#5c7488; font-size:.82rem; line-height:1.55; }
html.tema-oscuro .recorrido-personal { border-color:#34586d; background:radial-gradient(circle at 92% 0%,rgba(54,134,177,.18),transparent 32%),linear-gradient(125deg,#172d3a,#1a3441 52%,#282d45); box-shadow:0 14px 34px rgba(0,0,0,.2); }
html.tema-oscuro .recorrido-personal__icono { border-color:#3c657b; background:linear-gradient(145deg,#21465a,#343b61); color:#86d6ea; }
html.tema-oscuro .recorrido-personal__eyebrow { color:#8ed9dc; }
html.tema-oscuro .recorrido-personal__cabecera h3, html.tema-oscuro .recorrido-personal__resultado-titulo { color:#e5f0f8; }
html.tema-oscuro .recorrido-personal__cabecera p, html.tema-oscuro .recorrido-personal__estado { color:#aec1cf; }
html.tema-oscuro .recorrido-personal__borrar { border-color:#466071; background:#213744; color:#c3d3df; }
html.tema-oscuro .recorrido-personal__nota { border-color:#365566; background:linear-gradient(145deg,#203744,#263747); }
html.tema-oscuro .recorrido-personal__nota:hover { border-color:#5799b7; }
html.tema-oscuro .recorrido-personal__nota-tipo { background:#234859; color:#a9e2ed; }
html.tema-oscuro .recorrido-personal__nota-nueva { background:#214b3e; color:#9ce5bd; }
html.tema-oscuro .recorrido-personal__nota strong { color:#e1edf4; }
html.tema-oscuro .recorrido-personal__nota small, html.tema-oscuro .recorrido-personal__vacio { color:#aec0cc; }
html.tema-oscuro .recorrido-personal__vacio { border-color:#456377; background:rgba(20,37,48,.5); }
@media(max-width:700px) {
    .recorrido-personal { border-radius:18px; }
    .recorrido-personal__acciones, .recorrido-personal__sugerencias { margin-left:0; }
    .recorrido-personal__rejilla { grid-template-columns:minmax(0,1fr); }
    .recorrido-personal__nota { min-height:96px; }
    .recorrido-personal__estado { flex:1 1 100%; }
}
/* Controles del mapa siempre disponibles aunque la lista lateral esté oculta. */
body.mapa-activo #menuComunidad {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 1003 !important;
}
.mapa-refrescar {
    position: absolute;
    z-index: 1300;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(20px, env(safe-area-inset-bottom));
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 50%;
    background: rgba(39, 67, 88, .88);
    color: #fff;
    box-shadow: 0 6px 18px rgba(15, 35, 55, .28);
    backdrop-filter: blur(10px);
    cursor: pointer;
    font: inherit;
    font-size: 1.8rem;
    line-height: 1;
    transition: transform .16s, background .16s, box-shadow .16s;
}
.mapa-refrescar:hover, .mapa-refrescar:focus-visible {
    transform: rotate(35deg);
    background: #176b75;
    outline: 3px solid rgba(255,255,255,.45);
    outline-offset: 2px;
}
html.tema-oscuro .mapa-refrescar { border-color: #647c8b; background: rgba(28, 48, 63, .94); color: #e8f3f7; }
.mapa-cerrar-vista {
    position:absolute;
    z-index:1300;
    top:max(14px,env(safe-area-inset-top));
    right:max(16px,env(safe-area-inset-right));
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid rgba(255,255,255,.8);
    border-radius:50%;
    background:rgba(31,57,76,.9);
    color:#fff;
    box-shadow:0 5px 16px rgba(15,35,55,.25);
    cursor:pointer;
    font:inherit;
}
.mapa-cerrar-vista span { margin-top:-3px; font-size:2rem; line-height:1; }
.mapa-cerrar-vista:hover,.mapa-cerrar-vista:focus-visible { background:#1768c5; outline:3px solid rgba(255,255,255,.65); outline-offset:2px; }
body.mapa-activo #mapaWorkspace {
    position:fixed !important;
    z-index:1001;
    inset:106px 0 0;
    display:flex;
    width:100vw;
    height:auto;
    min-height:0;
    flex-direction:column;
    padding:0;
    overflow:hidden;
    background:#edf3f6;
    scroll-margin:0;
}
body.mapa-activo #mapaWorkspace .contenedor {
    width:100%;
    max-width:none;
    height:auto;
    min-height:0;
    flex:1 1 auto;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
}
body.mapa-activo #mapaWorkspace .mapa-estado-rapido { top:62px; }
body.mapa-activo #mapaWorkspace[hidden] { display:none !important; }
@media(max-width:640px) {
    body.mapa-activo #mapaWorkspace { inset:92px 0 0; }
    body.mapa-activo #mapaWorkspace .mapa-estado-rapido { top:56px; }
    .mapa-cerrar-vista { top:10px; right:max(12px,env(safe-area-inset-right)); width:40px; height:40px; }
}
@media (max-width: 600px) {
    .mapa-refrescar { right: max(12px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 44px; height: 44px; }
}

/* Mensaje de apoyo bajo el menú, solo visible mientras la navegación está abierta. */
.mensaje-apoyo-menu[hidden] { display:none !important; }
.mensaje-apoyo-menu { position:fixed; z-index:1002; inset:68px 0 auto; display:flex; height:38px; align-items:center; gap:.65rem; overflow:hidden; padding:0 clamp(.7rem,3vw,2rem); border-bottom:1px solid #2a6879; background:linear-gradient(100deg,#173852 0%,#174b6c 55%,#176677 100%); box-shadow:0 7px 20px rgba(20,49,73,.2); color:#f3f8fc; }
.mensaje-apoyo-menu__icono { flex:0 0 auto; color:#ffb1a4; font-size:.9rem; }
.mensaje-apoyo-menu__ventana { min-width:0; flex:1; overflow:hidden; mask-image:linear-gradient(90deg,#000 0%,#000 98%,transparent 100%); }
.mensaje-apoyo-menu__pista { display:flex; width:max-content; animation:mensajeApoyoCorre 44s linear infinite; will-change:transform; }
.mensaje-apoyo-menu:hover .mensaje-apoyo-menu__pista,.mensaje-apoyo-menu:focus-within .mensaje-apoyo-menu__pista { animation-play-state:paused; }
.mensaje-apoyo-menu__pista span { flex:0 0 auto; padding-right:3rem; color:#f2f7fb; font-size:.76rem; font-weight:700; letter-spacing:.01em; white-space:nowrap; }
@keyframes mensajeApoyoCorre { to { transform:translateX(-50%); } }
.mensaje-apoyo-menu__boton { display:inline-flex; min-height:28px; flex:0 0 auto; align-items:center; justify-content:center; padding:.28rem .78rem; border:1px solid #f2c36c; border-radius:999px; background:linear-gradient(120deg,#ffdc91,#f2c36c); color:#493714; font-size:.72rem; font-weight:850; text-decoration:none; box-shadow:0 3px 10px rgba(8,22,37,.2); }
.mensaje-apoyo-menu__boton:hover,.mensaje-apoyo-menu__boton:focus-visible { border-color:#ffe2a5; background:linear-gradient(120deg,#ffe6ad,#f7d486); color:#38280c; outline:2px solid rgba(255,225,160,.45); outline-offset:2px; }
.mensaje-apoyo-menu__sugerencias { flex:0 0 auto; color:#d6edf3; font-size:.72rem; font-weight:750; text-decoration:underline; text-underline-offset:2px; }
html.tema-oscuro .mensaje-apoyo-menu { border-color:#2a6879; background:linear-gradient(100deg,#122b3e 0%,#153d59 55%,#155361 100%); color:#edf5fa; box-shadow:0 7px 20px rgba(0,0,0,.3); }
html.tema-oscuro .mensaje-apoyo-menu__pista span { color:#edf5fa; }
html.tema-oscuro .mensaje-apoyo-menu__sugerencias { color:#d2edf4; }
@media(max-width:640px) {
    .mensaje-apoyo-menu { top:56px; height:36px; gap:.45rem; padding-inline:.55rem; }
    .mensaje-apoyo-menu__pista span { font-size:.7rem; padding-right:2rem; }
    .mensaje-apoyo-menu__boton { min-height:27px; padding:.25rem .58rem; font-size:.68rem; }
    .mensaje-apoyo-menu__sugerencias { display:none; }
}
@media(prefers-reduced-motion:reduce) {
    .mensaje-apoyo-menu__pista { width:100%; justify-content:center; animation:none; will-change:auto; }
    .mensaje-apoyo-menu__pista span { overflow:hidden; padding:0; text-align:center; text-overflow:ellipsis; }
    .mensaje-apoyo-menu__pista span+span { display:none; }
}

/* Llamado a apoyar: contraste claro, acento cálido y lectura accesible. */
.mensaje-apoyo-menu { border-bottom:1px solid rgba(255,255,255,.28); background:linear-gradient(100deg,#075aa6 0%,#087e91 62%,#116f85 100%); box-shadow:0 7px 20px rgba(7,57,94,.24); }
.mensaje-apoyo-menu__icono { color:#ffd166; filter:drop-shadow(0 1px 3px rgba(0,0,0,.25)); }
.mensaje-apoyo-menu__pista span { color:#fff; text-shadow:0 1px 1px rgba(0,35,67,.2); }
.mensaje-apoyo-menu__boton { border-color:#ffcf72; background:linear-gradient(120deg,#ffe08e,#ffb454); color:#42300e; box-shadow:0 3px 12px rgba(4,35,57,.3); }
.mensaje-apoyo-menu__boton:hover,.mensaje-apoyo-menu__boton:focus-visible { border-color:#fff0bc; background:linear-gradient(120deg,#ffebad,#ffc56e); color:#352409; }
.mensaje-apoyo-menu__sugerencias { color:#f2fbff; }
.mensaje-apoyo-menu__sugerencias { padding:0; border:0; background:transparent; cursor:pointer; font:inherit; font-size:.72rem; font-weight:750; text-decoration:underline; text-underline-offset:2px; }
html.tema-oscuro .mensaje-apoyo-menu { border-color:#347b91; background:linear-gradient(100deg,#123b61 0%,#14556a 62%,#14515b 100%); }

.donar-invitacion { border:1px solid #b5d9f2; background:radial-gradient(circle at 4% 5%,rgba(255,190,91,.22),transparent 25%),linear-gradient(115deg,#eaf5ff 0%,#f4f9ff 58%,#fff5e8 100%); box-shadow:0 14px 34px rgba(16,84,137,.13); }
.donar-invitacion__icono { border-color:#ffd48b; background:linear-gradient(145deg,#fff0c7,#ffe0c1); color:#d64a52; box-shadow:0 5px 14px rgba(198,99,62,.12); }
.donar-invitacion__texto .donar-invitacion__eyebrow { color:#087d91; }
.donar-invitacion__texto h2 { color:#123e64; }
.donar-invitacion__texto p { color:#405d77; }
.donar-invitacion__texto small { color:#64788b; }
.donar-invitacion__boton { border:1px solid #e89939!important; background:linear-gradient(120deg,#ffcf68,#ff9f43)!important; color:#3f2a0b!important; box-shadow:0 7px 17px rgba(203,119,34,.25)!important; font-weight:850!important; }
.donar-invitacion__boton:hover,.donar-invitacion__boton:focus-visible { border-color:#cf7625!important; background:linear-gradient(120deg,#ffda83,#ffb45d)!important; color:#382406!important; transform:translateY(-1px); }
.donar-invitacion__sugerencia { color:#08758c; }
.donar-invitacion__sugerencia { padding:0; border:0; background:transparent; cursor:pointer; font:inherit; font-size:.75rem; font-weight:750; text-align:center; text-decoration:underline; text-decoration-color:rgba(8,117,140,.4); text-underline-offset:3px; }
.sugerencia-modal { overflow:hidden; border:1px solid #c9dced; border-radius:20px; box-shadow:0 22px 65px rgba(9,38,66,.24); }
.sugerencia-modal .modal-header { align-items:flex-start; border:0; background:linear-gradient(120deg,#e9f5ff,#f3fbff 65%,#fff5e8); }
.sugerencia-modal__eyebrow { display:block; margin-bottom:.25rem; color:#087e91; font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.sugerencia-modal .modal-title { color:#123e64; font-size:1.3rem; font-weight:850; }
.sugerencia-modal .modal-body p { color:#526a7f; }
.sugerencia-modal .form-label { color:#294c68; font-weight:750; }
.sugerencia-modal textarea { min-height:140px; border-color:#cbd9e6; border-radius:12px; }
.sugerencia-modal textarea:focus { border-color:#2b8bc0; box-shadow:0 0 0 .2rem rgba(43,139,192,.16); }
.sugerencia-modal__enviar { border:1px solid #e89939; background:linear-gradient(120deg,#ffcf68,#ff9f43); color:#3f2a0b; font-weight:850; }
.sugerencia-modal__enviar:hover,.sugerencia-modal__enviar:focus-visible { border-color:#cf7625; background:linear-gradient(120deg,#ffda83,#ffb45d); color:#382406; }
.sugerencia-modal__enviar:disabled { opacity:.65; }
.sugerencia-modal__estado { min-height:1.4em; margin-top:.55rem; color:#087d65; font-size:.88rem; font-weight:750; }
.sugerencia-modal__estado.error { color:#b42335; }
.sugerencia-modal__trampa { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
html.tema-oscuro .sugerencia-modal { border-color:#344b62; background:#1b2a3c; color:#dce8f4; }
html.tema-oscuro .sugerencia-modal .modal-header { background:linear-gradient(120deg,#1d3a54,#1b3448 65%,#3b3029); }
html.tema-oscuro .sugerencia-modal .modal-title { color:#e8f3ff; }
html.tema-oscuro .sugerencia-modal .modal-body p { color:#bdcada; }
html.tema-oscuro .sugerencia-modal .form-label { color:#d9e7f4; }
html.tema-oscuro .sugerencia-modal textarea { border-color:#42566d; background:#142234; color:#e2ecf6; }
html.tema-oscuro .sugerencia-modal .btn-close { filter:invert(1) grayscale(1); }
html.tema-oscuro .donar-invitacion__sugerencia { color:#83d7e6; }
html.tema-oscuro .donar-invitacion { border-color:#315b75; background:radial-gradient(circle at 4% 5%,rgba(255,174,76,.12),transparent 25%),linear-gradient(115deg,#172f48 0%,#1b3044 58%,#3a302b 100%); box-shadow:0 14px 34px rgba(0,0,0,.22); }
html.tema-oscuro .donar-invitacion__icono { border-color:#795b3d; background:linear-gradient(145deg,#493e31,#47333a); color:#ffb6a0; }
html.tema-oscuro .donar-invitacion__texto .donar-invitacion__eyebrow { color:#7ed4df; }
html.tema-oscuro .donar-invitacion__texto h2 { color:#e8f3ff; }
html.tema-oscuro .donar-invitacion__texto p { color:#c0d1e0; }
html.tema-oscuro .donar-invitacion__texto small { color:#aebfd0; }
html.tema-oscuro .donar-invitacion__sugerencia { color:#83d7e6; }

/* Lectura clara y cómoda para el detalle completo de cada publicación. */
.nota-publica-page { min-height:100svh; padding:clamp(7.4rem,12vh,8.5rem) clamp(1rem,4vw,3rem) 4rem; background:radial-gradient(ellipse at 86% 0%,rgba(140,195,240,.22),transparent 31%),linear-gradient(145deg,#eaf1f8,#f5f8fc 55%,#e9f0f8); }
.nota-detalle { width:min(100%,1100px); min-height:0; border:1px solid #d7e2ee; border-radius:28px; background:linear-gradient(180deg,#fff 0%,#fbfdff 100%); box-shadow:0 24px 70px rgba(28,61,92,.13); }
.nota-detalle__cuerpo { width:min(100%,930px); padding:clamp(1.25rem,5vw,3.5rem); }
.nota-detalle__header { padding:clamp(1.2rem,3.5vw,2.4rem); border:1px solid #d6e5f2; border-radius:22px; background:radial-gradient(circle at 92% 4%,rgba(84,169,228,.12),transparent 30%),linear-gradient(135deg,#f1f7fd,#f9fbff 62%,#edf7f6); }
.nota-detalle__icono { width:50px; height:50px; margin-bottom:1rem; border-color:#c7def4; border-radius:15px; background:linear-gradient(145deg,#dceeff,#e3f6f1); color:#2774b7; font-size:1.35rem; }
.nota-detalle__eyebrow { color:#397ba8; font-size:.68rem; letter-spacing:.13em; }
.nota-detalle__tipo { display:inline-flex; align-items:center; margin:0 0 .65rem; padding:.3rem .65rem; border:1px solid #c9def0; border-radius:999px; background:#eaf4fd; color:#286895; font-size:.74rem; font-weight:800; }
.nota-detalle__header h1 { margin:.15rem 0 0; background:none; color:#173c5b; -webkit-text-fill-color:#173c5b; font-size:clamp(1.85rem,4.4vw,3.25rem); letter-spacing:-.04em; line-height:1.1; }
.nota-detalle__autor { margin:.9rem 0 0; }
.nota-detalle__fecha { margin:.85rem 0 0; color:#667c90; font-size:.82rem; }
.nota-detalle__ubicacion { max-width:100%; border-color:#d0e2f2; background:linear-gradient(120deg,#eaf5ff,#eff9f6); }
.nota-detalle__texto { margin-top:1.25rem; padding:clamp(1.2rem,3.5vw,2.1rem); border:1px solid #e0e9f1; border-left:4px solid #4b91c8; border-radius:18px; background:linear-gradient(145deg,#fff,#f7faff); color:#344d64; font-size:clamp(1rem,1.6vw,1.12rem); line-height:1.85; }
.nota-interacciones,.nota-conversacion { margin-top:1.15rem; border-color:#d8e4f0; border-radius:20px; background:linear-gradient(145deg,#f5f9ff,#fff 64%,#f2f7fd); box-shadow:0 9px 26px rgba(36,74,111,.055); }
.nota-interacciones__resumen { padding:.2rem .1rem .8rem; border-bottom:1px solid #e0e9f2; color:#536c83; font-size:.84rem; }
.nota-interacciones__resumen #notaVistas { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .65rem; border:1px solid #d2e3f3; border-radius:999px; background:#edf6ff; color:#286a9e; font-size:.75rem; font-weight:800; white-space:nowrap; }
.nota-interacciones__acciones { align-items:center; flex-wrap:wrap; }
.nota-reaccion-trigger { border-color:#c8dbef; background:linear-gradient(120deg,#fff,#eef6ff); color:#255780; box-shadow:0 3px 10px rgba(35,83,125,.07); }
.nota-reacciones__totales { gap:.6rem .8rem; color:#5c7185; }
.nota-conversacion>header { align-items:center; }
.nota-conversacion h2 { color:#193f60; font-size:1.3rem; font-weight:850; }
.nota-comentarios__lista { max-height:560px; }
.nota-comentario>div { border-color:#dce7f1; border-radius:6px 16px 16px 16px; background:linear-gradient(140deg,#f3f7fc,#f8fbff); }
.nota-comentario__form { gap:.65rem; }
.nota-comentarios__form textarea { min-height:104px; border-color:#ccdbea; border-radius:14px; background:#fff; }
.nota-detalle__aviso { margin-top:1.15rem; border-color:#e4dfc6; background:linear-gradient(115deg,#fffbee,#f6faf8); }
.nota-detalle__acciones { gap:.7rem; }
.nota-detalle__boton { border-radius:12px; background:linear-gradient(120deg,#1768b5,#2584a4); box-shadow:0 7px 18px rgba(32,104,158,.2); }
.nota-detalle__mapa,.nota-detalle__compartir { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:.65rem .9rem; border:1px solid #d3e1ee; border-radius:11px; background:#f6faff; color:#286b9c; font:inherit; font-weight:750; text-decoration:none; cursor:pointer; }
.nota-detalle__mapa:hover,.nota-detalle__compartir:hover { border-color:#9ec5e3; background:#eaf4fd; color:#155985; }
html.tema-oscuro .nota-publica-page { background:radial-gradient(ellipse at 86% 0%,rgba(51,119,145,.18),transparent 31%),linear-gradient(145deg,#101d27,#172a35 56%,#132430); }
html.tema-oscuro .nota-detalle { border-color:#344d5d; background:linear-gradient(180deg,#192c39,#172935); box-shadow:0 24px 70px rgba(0,0,0,.27); }
html.tema-oscuro .nota-detalle__header { border-color:#385367; background:radial-gradient(circle at 92% 4%,rgba(68,149,174,.14),transparent 30%),linear-gradient(135deg,#213b4b,#1c3344 62%,#1b3b40); }
html.tema-oscuro .nota-detalle__icono { border-color:#42627b; background:linear-gradient(145deg,#2a4a62,#254c4b); color:#add8ff; }
html.tema-oscuro .nota-detalle__tipo { border-color:#416278; background:#233e50; color:#bfdef3; }
html.tema-oscuro .nota-detalle__header h1 { color:#edf6ff; -webkit-text-fill-color:#edf6ff; }
html.tema-oscuro .nota-detalle__fecha { color:#adc0cf; }
html.tema-oscuro .nota-detalle__ubicacion { border-color:#3d5c6d; background:linear-gradient(120deg,#213d4d,#203b3e); }
html.tema-oscuro .nota-detalle__ubicacion strong { color:#d9eaf2; }
html.tema-oscuro .nota-detalle__texto { border-color:#354d5d; border-left-color:#63a9d3; background:linear-gradient(145deg,#1d3341,#1c303b); color:#d9e5ed; }
html.tema-oscuro .nota-interacciones,html.tema-oscuro .nota-conversacion { border-color:#344e60; background:linear-gradient(145deg,#1b3040,#20313e 64%,#1b3040); }
html.tema-oscuro .nota-interacciones__resumen { border-color:#344d5d; color:#bdcdd9; }
html.tema-oscuro .nota-interacciones__resumen #notaVistas { border-color:#3d5d73; background:#223c50; color:#b9dafa; }
html.tema-oscuro .nota-reaccion-trigger { border-color:#466178; background:linear-gradient(120deg,#253c4d,#22384b); color:#d8e8f4; }
html.tema-oscuro .nota-conversacion h2 { color:#e1eef7; }
html.tema-oscuro .nota-comentario>div { border-color:#354e5e; background:linear-gradient(140deg,#223744,#253a48); }
html.tema-oscuro .nota-comentarios__form textarea { border-color:#496274; background:#172b38; color:#e3edf2; }
html.tema-oscuro .nota-detalle__aviso { border-color:#615b43; background:linear-gradient(115deg,#332f24,#223b39); }
html.tema-oscuro .nota-detalle__mapa,html.tema-oscuro .nota-detalle__compartir { border-color:#405b70; background:#23394b; color:#afd2fa; }
.nota-detalle__volver { display:inline-flex; align-items:center; gap:.45rem; min-height:38px; margin:0 0 1.25rem; padding:.45rem .85rem; border:1px solid #c5daeb; border-radius:999px; background:rgba(255,255,255,.8); color:#286b9c; font-size:.84rem; font-weight:800; text-decoration:none; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.nota-detalle__volver:hover,.nota-detalle__volver:focus-visible { border-color:#77acd0; background:#e8f4fd; color:#174f78; transform:translateX(-2px); }
.nota-detalle__volver span { font-size:1.1rem; line-height:1; }
.nota-resumen[id] { scroll-margin-top:130px; }
html.tema-oscuro .nota-detalle__volver { border-color:#456278; background:rgba(27,51,68,.85); color:#c0e1fa; }
html.tema-oscuro .nota-detalle__volver:hover,html.tema-oscuro .nota-detalle__volver:focus-visible { border-color:#6896b3; background:#29495e; color:#e0f1ff; }
@media(max-width:700px) {
    .nota-resumen[id] { scroll-margin-top:108px; }
    .nota-publica-page { padding:6.25rem .65rem 2rem; }
    .nota-detalle { border-radius:19px; }
    .nota-detalle__cuerpo { padding:1rem; }
    .nota-detalle__header { padding:1.2rem; border-radius:16px; }
    .nota-detalle__header h1 { font-size:clamp(1.8rem,8vw,2.4rem); }
    .nota-detalle__texto { margin-top:.85rem; padding:1.05rem; border-radius:15px; font-size:1rem; line-height:1.75; }
    .nota-interacciones,.nota-conversacion { margin-top:.85rem; padding:1rem; border-radius:16px; }
    .nota-interacciones__resumen { align-items:center; font-size:.78rem; }
    .nota-interacciones__acciones { flex-direction:column; align-items:stretch; }
    .nota-reacciones__totales { gap:.45rem .65rem; }
    .nota-conversacion>header { flex-direction:row; align-items:center; }
    .nota-reportar { align-self:auto; }
    .nota-detalle__acciones { align-items:stretch; flex-direction:column; }
    .nota-detalle__acciones>* { width:100%; }
}

/* Los dos detalles comparten acento por tipo y una jerarquía visual coherente. */
.nota-publica-page,#modalDetalleNota { --nota-tipo-acento:#347eb6; }
.nota-publica-page[data-tipo-nombre*="Alerta"],#modalDetalleNota[data-tipo-nombre*="Alerta"] { --nota-tipo-acento:#c9533f; }
.nota-publica-page[data-tipo-nombre*="Incidente"],#modalDetalleNota[data-tipo-nombre*="Incidente"] { --nota-tipo-acento:#c84751; }
.nota-publica-page[data-tipo-nombre*="Anuncio"],#modalDetalleNota[data-tipo-nombre*="Anuncio"] { --nota-tipo-acento:#168a7e; }
.nota-publica-page[data-tipo-nombre*="Discusión"],.nota-publica-page[data-tipo-nombre*="Discusion"],#modalDetalleNota[data-tipo-nombre*="Discusión"],#modalDetalleNota[data-tipo-nombre*="Discusion"] { --nota-tipo-acento:#7754b5; }
.nota-publica-page[data-tipo-nombre*="Recomendación"],.nota-publica-page[data-tipo-nombre*="Recomendacion"],#modalDetalleNota[data-tipo-nombre*="Recomendación"],#modalDetalleNota[data-tipo-nombre*="Recomendacion"] { --nota-tipo-acento:#328451; }
.nota-publica-page[data-tipo-nombre*="Novio"],.nota-publica-page[data-tipo-nombre*="Casado"],#modalDetalleNota[data-tipo-nombre*="Novio"],#modalDetalleNota[data-tipo-nombre*="Casado"] { --nota-tipo-acento:#bf557d; }
.nota-publica-page[data-tipo-nombre*="Cucaracho"],#modalDetalleNota[data-tipo-nombre*="Cucaracho"] { --nota-tipo-acento:#91653b; }
.nota-publica-page[data-tipo-nombre*="Ovnis"],.nota-publica-page[data-tipo-nombre*="UFO"],.nota-publica-page[data-tipo-nombre*="Extraterrestres"],.nota-publica-page[data-tipo-nombre*="Paranormal"],.nota-publica-page[data-tipo-nombre*="Inexplicable"],#modalDetalleNota[data-tipo-nombre*="Ovnis"],#modalDetalleNota[data-tipo-nombre*="UFO"],#modalDetalleNota[data-tipo-nombre*="Extraterrestres"],#modalDetalleNota[data-tipo-nombre*="Paranormal"],#modalDetalleNota[data-tipo-nombre*="Inexplicable"] { --nota-tipo-acento:#745ac0; }
html.tema-oscuro .nota-publica-page,html.tema-oscuro #modalDetalleNota { --nota-tipo-acento:#9bcdf0; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Alerta"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Alerta"] { --nota-tipo-acento:#ffad97; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Incidente"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Incidente"] { --nota-tipo-acento:#ffabb4; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Anuncio"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Anuncio"] { --nota-tipo-acento:#8cddce; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Discusión"],html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Discusion"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Discusión"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Discusion"] { --nota-tipo-acento:#c5b1ff; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Recomendación"],html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Recomendacion"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Recomendación"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Recomendacion"] { --nota-tipo-acento:#a5e3b8; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Novio"],html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Casado"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Novio"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Casado"] { --nota-tipo-acento:#ffb2d0; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Cucaracho"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Cucaracho"] { --nota-tipo-acento:#e6c594; }
html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Ovnis"],html.tema-oscuro .nota-publica-page[data-tipo-nombre*="UFO"],html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Extraterrestres"],html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Paranormal"],html.tema-oscuro .nota-publica-page[data-tipo-nombre*="Inexplicable"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Ovnis"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="UFO"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Extraterrestres"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Paranormal"],html.tema-oscuro #modalDetalleNota[data-tipo-nombre*="Inexplicable"] { --nota-tipo-acento:#c1b3ff; }

.nota-publica-page .nota-detalle__header { border-top:5px solid var(--nota-tipo-acento); }
.nota-publica-page .nota-detalle__icono { border-color:var(--nota-tipo-acento); color:var(--nota-tipo-acento); }
.nota-publica-page .nota-detalle__tipo { border-color:var(--nota-tipo-acento); background:rgba(255,255,255,.55); color:var(--nota-tipo-acento); font-weight:800; }
#modalDetalleNota .modal-nota-detalle__header { border-top:5px solid var(--nota-tipo-acento); }
#modalDetalleNota .modal-nota-detalle__icono { border-color:var(--nota-tipo-acento); color:var(--nota-tipo-acento); }
#modalDetalleNota .modal-nota-detalle__tipo { border-color:var(--nota-tipo-acento); color:var(--nota-tipo-acento); font-weight:800; }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__header { background:radial-gradient(circle at 92% 4%,rgba(84,169,228,.12),transparent 30%),linear-gradient(135deg,#f1f7fd,#f9fbff 62%,#edf7f6); color:#173c5b; }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__header h2 { color:#173c5b; }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__eyebrow { color:#397ba8; }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__icono { border-color:var(--nota-tipo-acento); background:linear-gradient(145deg,#eaf4fd,#e7f6f1); }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__tipo { background:rgba(255,255,255,.62); }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__ubicacion { color:#526d83; }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__ubicacion small { color:#71869a; }
html:not(.tema-oscuro) #modalDetalleNota .modal-nota-detalle__ubicacion strong { color:#244a60; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__header { background:radial-gradient(circle at 88% 16%,rgba(119,169,202,.15),transparent 30%),linear-gradient(125deg,#20394d,#1d3e53 66%,#233f4b); }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__eyebrow { color:#b2d6f0; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__tipo { background:rgba(16,34,49,.34); }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__header h2 { color:#edf6ff; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__icono { background:linear-gradient(145deg,#2a4359,#274b4e); }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__ubicacion { color:#c2d3e0; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__ubicacion small { color:#a9bdcc; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__ubicacion strong { color:#e0ebf4; }
html.tema-oscuro .nota-publica-page .nota-detalle__tipo { background:#233e50; }

/* En móvil, iconos del menú más grandes y con áreas táctiles amplias. */
@media(max-width:640px) {
    .menu-comunidad__enlace,.menu-comunidad__tema { min-width:40px; width:40px; min-height:44px; height:44px; flex:0 0 40px; padding:0; }
    .menu-comunidad__enlace>span:first-child { display:grid; width:100%; height:100%; place-items:center; font-size:1.35rem; line-height:1; }
    .menu-comunidad__tema>span:first-child { font-size:1.25rem; }
    .menu-comunidad__publicar { min-height:44px; }
    .menu-comunidad__publicar-icono { width:30px; height:30px; font-size:1.35rem; }
}
@media(max-width:390px) {
    .menu-comunidad__enlace,.menu-comunidad__tema { min-width:36px; width:36px; height:40px; min-height:40px; flex-basis:36px; }
    .menu-comunidad__enlace>span:first-child { font-size:1.2rem; }
    .menu-comunidad__publicar { min-height:40px; }
}

/* El listado utiliza el ancho de la pantalla sin estirar demasiado cada tarjeta. */
.notas-publicas { padding:clamp(2rem,4vw,3.5rem) clamp(1rem,2.2vw,2.5rem) 5rem; }
.notas-publicas__inner { width:100%; max-width:1920px; }
.notas-publicas__header { width:100%; max-width:none; margin:0 0 clamp(1.25rem,2.5vw,2rem); text-align:left; }
.grupo-estado { width:100%; }
.grupo-estado .notas-publicas__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.85rem,1.25vw,1.35rem); }
.nota-resumen__contenido { padding:clamp(1rem,1.35vw,1.4rem); }

/* Más espacio para leer el detalle, con un límite amplio para conservar legibilidad. */
.nota-publica-page { padding-inline:clamp(1rem,2vw,2.5rem); }
.nota-detalle { width:min(100%,1680px); }
.nota-detalle__cuerpo { width:100%; max-width:none; padding:clamp(1.25rem,3vw,3.25rem); }
.nota-detalle__header,.nota-detalle__texto,.nota-interacciones,.nota-conversacion,.nota-detalle__aviso,.nota-detalle__acciones { width:min(100%,1520px); margin-inline:auto; }
.nota-detalle__texto { margin-top:1.25rem; }
.nota-interacciones,.nota-conversacion,.nota-detalle__aviso { margin-top:1.1rem; }
.nota-detalle__acciones { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; padding-top:1.35rem; }
.nota-detalle__acciones>* { min-width:0; min-height:62px; display:flex; align-items:center; justify-content:flex-start; gap:.8rem; padding:.8rem 1rem; border:1px solid #d6e3f0; border-radius:16px; background:linear-gradient(145deg,#fff,#f3f8fd); color:#284b67; font:inherit; font-size:.95rem; font-weight:800; text-align:left; text-decoration:none; box-shadow:0 5px 16px rgba(26,70,108,.07); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; cursor:pointer; }
.nota-detalle__acciones>*:hover,.nota-detalle__acciones>*:focus-visible { transform:translateY(-2px); border-color:#a9c9e4; background:linear-gradient(145deg,#fff,#eaf4fd); box-shadow:0 10px 24px rgba(26,85,135,.14); color:#174e77; outline:0; }
.nota-detalle__boton { border-color:#1768c5!important; background:linear-gradient(125deg,#1768c5,#2a88d5)!important; color:#fff!important; box-shadow:0 8px 20px rgba(23,104,197,.24)!important; }
.nota-detalle__boton:hover,.nota-detalle__boton:focus-visible { border-color:#1055a6!important; background:linear-gradient(125deg,#1055a6,#1768c5)!important; color:#fff!important; box-shadow:0 11px 25px rgba(23,104,197,.3)!important; }
.nota-detalle__acciones .nota-detalle__mapa { border-color:#b7e0d8; background:linear-gradient(145deg,#f2fbf8,#e8f7f3); color:#16766e; }
.nota-detalle__acciones .nota-detalle__mapa:hover,.nota-detalle__acciones .nota-detalle__mapa:focus-visible { border-color:#79c5b7; background:#ddf3ed; color:#105e58; }
.nota-detalle__acciones .nota-detalle__compartir { border-color:#d6c9ee; background:linear-gradient(145deg,#faf8ff,#f0ebfb); color:#64499b; }
.nota-detalle__acciones .nota-detalle__compartir:hover,.nota-detalle__acciones .nota-detalle__compartir:focus-visible { border-color:#b8a4df; background:#e9e1f8; color:#50387f; }
.nota-detalle__accion-icono { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border:1px solid rgba(40,92,133,.12); border-radius:12px; background:rgba(255,255,255,.65); font-size:1.25rem; }
.nota-detalle__boton .nota-detalle__accion-icono { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.15); }
.nota-detalle__accion-flecha { margin-left:auto; font-size:1.25rem; transition:transform .18s ease; }
.nota-detalle__boton:hover .nota-detalle__accion-flecha { transform:translateX(4px); }
.nota-detalle__volver { min-height:44px; padding:.55rem .95rem; border-color:#bdd4e8; background:linear-gradient(145deg,#fff,#edf5fc); box-shadow:0 4px 12px rgba(30,80,120,.07); }
.nota-reportar { min-height:42px; padding:.58rem .9rem; border:1px solid #efc4c4; border-radius:12px; background:linear-gradient(145deg,#fff8f8,#fff0f0); color:#a73c4b; font-weight:800; box-shadow:0 3px 10px rgba(163,60,75,.07); transition:transform .16s ease,background .16s ease,border-color .16s ease; }
.nota-reportar:hover,.nota-reportar:focus-visible { transform:translateY(-1px); border-color:#df9e9e; background:#ffe8e8; color:#8f2637; outline:0; }
.nota-comentarios__form button { min-height:46px; padding:.7rem 1.2rem; border-radius:12px; background:linear-gradient(125deg,#1768c5,#2a88d5); box-shadow:0 5px 13px rgba(23,104,197,.2); transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
.nota-comentarios__form button:hover,.nota-comentarios__form button:focus-visible { transform:translateY(-1px); background:linear-gradient(125deg,#1055a6,#1768c5); box-shadow:0 8px 18px rgba(23,104,197,.26); outline:0; }
.nota-detalle__acciones a:focus-visible,.nota-detalle__acciones button:focus-visible,.nota-detalle__volver:focus-visible { outline:3px solid rgba(43,126,190,.25); outline-offset:3px; }

/* El modal del mapa y el detalle de página comparten acciones de alto contraste. */
.modal-nota-detalle__panel { width:min(100%,1480px); }
#modalDetalleNota .modal-nota-detalle__footer .btn { min-height:44px; padding:.62rem 1rem; border:1px solid transparent; border-radius:12px; font-weight:800; transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
#modalDetalleNota .modal-nota-detalle__footer .btn:hover,#modalDetalleNota .modal-nota-detalle__footer .btn:focus-visible { transform:translateY(-1px); box-shadow:0 6px 15px rgba(20,58,87,.16); }
#modalDetalleNota .modal-nota-detalle__footer .btn-primary { border-color:#1768c5; background:linear-gradient(125deg,#1768c5,#2a88d5); box-shadow:0 5px 13px rgba(23,104,197,.2); }
#modalDetalleNota .modal-nota-detalle__footer .btn-primary:hover,#modalDetalleNota .modal-nota-detalle__footer .btn-primary:focus-visible { border-color:#1055a6; background:linear-gradient(125deg,#1055a6,#1768c5); }
#modalDetalleNota .modal-nota-detalle__footer .btn-danger { border-color:#e6aeb2; background:linear-gradient(125deg,#c94350,#df5b63); box-shadow:0 5px 13px rgba(190,58,72,.16); }
#modalDetalleNota .modal-nota-detalle__footer .btn-danger:hover,#modalDetalleNota .modal-nota-detalle__footer .btn-danger:focus-visible { border-color:#bc3543; background:linear-gradient(125deg,#ad2f3e,#ca4450); }
html.tema-oscuro .nota-detalle__acciones>* { border-color:#3c566d; background:linear-gradient(145deg,#21384b,#1b3042); color:#d2e7f8; box-shadow:0 6px 18px rgba(0,0,0,.18); }
html.tema-oscuro .nota-detalle__acciones>*:hover,html.tema-oscuro .nota-detalle__acciones>*:focus-visible { border-color:#5b7c99; background:linear-gradient(145deg,#294961,#203b50); color:#f1f8ff; }
html.tema-oscuro .nota-detalle__boton { border-color:#347bd1!important; background:linear-gradient(125deg,#2369b9,#2d82cd)!important; color:#fff!important; }
html.tema-oscuro .nota-detalle__acciones .nota-detalle__mapa { border-color:#3c766d; background:linear-gradient(145deg,#23443f,#1d3938); color:#b4e8dc; }
html.tema-oscuro .nota-detalle__acciones .nota-detalle__compartir { border-color:#5b4c7f; background:linear-gradient(145deg,#352f4d,#2a2c43); color:#d5c7ff; }
html.tema-oscuro .nota-detalle__accion-icono { border-color:rgba(206,227,244,.16); background:rgba(16,30,43,.42); }
html.tema-oscuro .nota-detalle__boton .nota-detalle__accion-icono { background:rgba(255,255,255,.13); }
html.tema-oscuro .nota-detalle__volver { border-color:#456278; background:linear-gradient(145deg,#263f53,#203649); }
html.tema-oscuro .nota-reportar { border-color:#704d56; background:linear-gradient(145deg,#422f39,#392b35); color:#ffc0c2; }
html.tema-oscuro .nota-reportar:hover,html.tema-oscuro .nota-reportar:focus-visible { border-color:#9a6872; background:#503640; color:#ffe0e0; }
html.tema-oscuro .nota-comentarios__form button { background:linear-gradient(125deg,#2369b9,#2d82cd); }

@media(max-width:760px) {
    .notas-publicas { padding:2rem .85rem 4rem; }
    .nota-detalle__cuerpo { padding:1rem; }
    .nota-detalle__acciones { grid-template-columns:minmax(0,1fr); gap:.65rem; }
    .nota-detalle__acciones>* { width:100%; min-height:56px; }
}

/* Llamado visual suave para invitar a publicar, sin mover el resto del menú. */
@property --publicar-led-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}
html body .menu-comunidad a.menu-comunidad__publicar {
    position:relative;
    isolation:isolate;
    z-index:1;
    overflow:visible;
    background:linear-gradient(115deg,#123b75 0%,#145fc4 27%,#087fbd 52%,#2446a8 76%,#102b5c 100%) !important;
    background-size:220% 100% !important;
    animation:publicarFondoMulticolor 9s ease-in-out infinite;
    box-shadow:0 7px 22px rgba(16,91,184,.36),inset 0 1px rgba(255,255,255,.25) !important;
}
html body .menu-comunidad a.menu-comunidad__publicar::before {
    position:absolute;
    z-index:0;
    inset:2px;
    --publicar-led-angle:0deg;
    padding:2px;
    border-radius:inherit;
    background:repeating-conic-gradient(from var(--publicar-led-angle),
        #e8fbff 0deg 4deg,transparent 4deg 7.5deg,
        #49dcff 7.5deg 11.5deg,transparent 11.5deg 15deg,
        #438bff 15deg 19deg,transparent 19deg 22.5deg,
        #9beaff 22.5deg 26.5deg,transparent 26.5deg 30deg);
    filter:drop-shadow(0 0 3px rgba(70,190,255,.95)) drop-shadow(0 0 6px rgba(40,113,255,.4));
    content:"";
    pointer-events:none;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:publicarContornoGira 8s linear infinite;
}
html body .menu-comunidad a.menu-comunidad__publicar>span:last-child {
    color:#f4fbff !important;
    text-shadow:0 0 7px rgba(108,207,255,.78),0 1px 2px rgba(5,24,55,.9);
}
html body .menu-comunidad a.menu-comunidad__publicar .menu-comunidad__publicar-icono {
    color:#bcecff;
    text-shadow:0 0 9px rgba(91,202,255,.95);
}
html body .menu-comunidad a.menu-comunidad__publicar::after {
    position:absolute;
    z-index:-2;
    inset:-3px;
    border:2px solid rgba(255,205,126,.7);
    border-radius:inherit;
    content:"";
    pointer-events:none;
    display:none;
}
html body .menu-comunidad a.menu-comunidad__publicar>span {
    position:relative;
    z-index:1;
}
@keyframes publicarFondoMulticolor { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes publicarContornoGira { to { --publicar-led-angle:360deg; } }
@keyframes publicarContornoPulsa { to { opacity:0; } }
html body .menu-comunidad a.menu-comunidad__publicar:hover,
html body .menu-comunidad a.menu-comunidad__publicar:focus-visible {
    background:linear-gradient(115deg,#1e56a0 0%,#187de2 27%,#0e9bd2 52%,#3b60d2 76%,#17417d 100%) !important;
    background-size:220% 100% !important;
    box-shadow:0 9px 27px rgba(16,91,184,.46),inset 0 1px rgba(255,255,255,.3) !important;
}
html body .menu-comunidad a.menu-comunidad__publicar:focus-visible { outline:3px solid #7ee5ff; outline-offset:5px; }
@media(prefers-reduced-motion:reduce) {
    html body .menu-comunidad a.menu-comunidad__publicar::before,
    html body .menu-comunidad a.menu-comunidad__publicar::after { animation:none; }
    html body .menu-comunidad a.menu-comunidad__publicar { animation:none; }
}

/* Encuadre rápido por entidad sobre el mapa. */
.mapa-workspace .contenedor { position:relative; }
.mapa-estado-rapido {
    position:absolute;
    z-index:650;
    top:clamp(7.25rem,12vh,8.5rem);
    right:clamp(.75rem,2vw,1.5rem);
    display:grid;
    width:min(270px,calc(100% - 2rem));
    gap:.35rem;
    padding:.8rem .9rem .72rem;
    border:1px solid rgba(196,218,234,.9);
    border-radius:16px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 32px rgba(25,57,78,.2);
    backdrop-filter:blur(12px);
}
.mapa-estado-rapido label { display:flex; align-items:center; gap:.4rem; margin:0; color:#294e68; font-size:.83rem; font-weight:800; }
.mapa-estado-rapido label span { font-size:1rem; }
.mapa-estado-rapido select { width:100%; min-height:42px; padding:.55rem 2.25rem .55rem .7rem; border:1px solid #c9d8e4; border-radius:10px; background-color:#fff; color:#263f54; font:inherit; font-size:.9rem; font-weight:650; }
.mapa-estado-rapido select:focus-visible { border-color:#4186d8; outline:3px solid rgba(65,134,216,.2); }
.mapa-estado-rapido small { color:#637989; font-size:.72rem; line-height:1.35; }
html.tema-oscuro .mapa-estado-rapido { border-color:#456074; background:rgba(24,43,56,.96); }
html.tema-oscuro .mapa-estado-rapido label { color:#e2edf4; }
html.tema-oscuro .mapa-estado-rapido select { border-color:#526a7b; background:#203847; color:#f0f6fa; }
html.tema-oscuro .mapa-estado-rapido small { color:#b0c2ce; }
@media(max-width:640px) {
    .mapa-estado-rapido { top:7.25rem; right:.65rem; width:min(245px,calc(100% - 1.25rem)); padding:.62rem .72rem; border-radius:13px; }
    .mapa-estado-rapido label { font-size:.76rem; }
    .mapa-estado-rapido select { min-height:40px; font-size:.85rem; }
    .mapa-estado-rapido small { font-size:.68rem; }
}
@media(max-width:420px) {
    .nota-detalle__acciones>* { min-height:52px; padding:.65rem .8rem; font-size:.88rem; }
    .nota-detalle__accion-icono { width:34px; height:34px; flex-basis:34px; }
}

/* En tema claro, perfila las tarjetas para separarlas mejor del fondo del listado. */
html:not(.tema-oscuro) .notas-publicas .nota-resumen {
    outline:1px solid #a9bfd5;
    box-shadow:0 0 0 1px rgba(255,255,255,.8) inset,0 8px 22px rgba(30,68,102,.11);
}
html:not(.tema-oscuro) .notas-publicas .nota-resumen:hover {
    outline-color:#5b91bf;
    box-shadow:0 0 0 1px rgba(255,255,255,.9) inset,0 13px 28px rgba(30,83,128,.17);
}
html:not(.tema-oscuro) .notas-publicas .nota-resumen--destacada { outline-color:#4f9bbb; }
html:not(.tema-oscuro) .notas-publicas .nota-resumen--destacada:hover { outline-color:#72c4d7; }

/* En móvil, una nota por fila para que cada tarjeta conserve espacio legible. */
@media(max-width:760px) {
    .notas-publicas__grid,
    .grupo-estado .notas-publicas__grid { grid-template-columns:minmax(0,1fr) !important; gap:.9rem; }
    .grupo-estado .nota-resumen--destacada { grid-column:1 / -1; }
    .grupo-estado .nota-resumen { width:100%; min-width:0; }
}

/* En escritorio, el feed se lee en una sola columna centrada; las historias de arriba siguen horizontales. */
@media(min-width:761px) {
    .inicio-comunidad__inner { max-width:980px; }
    .notas-publicas__inner { max-width:980px; }
    .notas-publicas__header { max-width:860px; margin-inline:auto; }
    .notas-filtros { width:min(100%,860px); margin-inline:auto; }
    .grupo-estado__cabecera { width:min(100%,820px); margin-inline:auto; }
    .grupo-estado .notas-publicas__grid {
        grid-template-columns:minmax(0,min(820px,100%));
        justify-content:center;
        gap:1.1rem;
    }
    .grupo-estado .nota-resumen { width:100%; min-width:0; }
}

/* Barra de interacciones tipo feed para las tarjetas del listado. */
.nota-resumen:not(.nota-resumen--destacada) { overflow:visible; }
.nota-resumen.nota-resumen--picker-abierto { z-index:100; overflow:visible !important; transform:none !important; }
.nota-resumen.nota-resumen--destacada.nota-resumen--picker-abierto::after { display:none; }
.nota-feed__interacciones { position:relative; z-index:2; padding:0 1.15rem 1rem; }
.nota-feed__resumen { display:flex; min-height:38px; align-items:center; justify-content:space-between; gap:.75rem; border-bottom:1px solid #e6edf4; color:#6c7f90; font-size:.78rem; }
.nota-feed__reacciones-resumen { display:inline-flex; align-items:center; gap:.32rem; color:#536d85; }
.nota-feed__reacciones-resumen>span:first-child { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#eaf3ff; }
.nota-feed__resumen-derecha { display:flex; align-items:center; gap:.6rem; }
.nota-feed__resumen-derecha a { color:#64798c; text-decoration:none; }
.nota-feed__resumen-derecha a:hover { color:#0866ff; text-decoration:underline; }
.nota-feed__acciones { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; padding-top:.45rem; }
.nota-feed__accion { display:flex; min-width:0; min-height:42px; align-items:center; justify-content:center; gap:.42rem; padding:.45rem .35rem; border:0; border-radius:9px; background:transparent; color:#60768b; font:inherit; font-size:.82rem; font-weight:750; text-decoration:none; cursor:pointer; transition:background .16s ease,color .16s ease; }
.nota-feed__accion:hover,.nota-feed__accion:focus-visible { background:#edf4fc; color:#0866ff; outline:0; }
.nota-feed__accion.seleccionado { color:#0866ff; }
.nota-feed__accion-icono { font-size:1.08rem; line-height:1; }
.nota-feed__accion-icono svg { display:block; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nota-feed__reaccion-picker { min-width:0; }
.nota-feed__reacciones { position:fixed; z-index:10050; display:flex; max-width:calc(100vw - 1rem); flex-wrap:wrap; gap:.28rem; padding:.42rem; border:1px solid #dce6f0; border-radius:999px; background:rgba(255,255,255,.98); box-shadow:0 12px 32px rgba(18,48,78,.22); }
.nota-feed__reacciones[hidden] { display:none; }
.nota-feed__reacciones button { display:grid; width:39px; height:39px; flex:0 0 39px; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; font-size:1.3rem; cursor:pointer; transition:transform .15s ease,background .15s ease; }
.nota-feed__reacciones button:hover,.nota-feed__reacciones button:focus-visible { transform:translateY(-4px) scale(1.12); background:#edf4fc; outline:0; }
.nota-feed__reacciones button.seleccionada { background:#dcecff; box-shadow:inset 0 0 0 2px #7eb3f5; }
.nota-feed__estado { min-height:0; margin:0; color:#4d718f; font-size:.75rem; }
.nota-feed__estado:empty { display:none; }
.notas-feed-carga { display:grid; justify-items:center; gap:.5rem; width:min(100%,1120px); margin:1.25rem auto 2rem; padding:1.1rem; text-align:center; }
.notas-feed-carga>button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:.55rem; padding:.65rem 1.2rem; border:1px solid #b9d2ed; border-radius:999px; background:linear-gradient(135deg,#fff,#edf5ff); color:#2863a1; box-shadow:0 5px 16px rgba(32,88,145,.1); font:inherit; font-weight:800; cursor:pointer; transition:transform .16s ease,background .16s ease,box-shadow .16s ease; }
.notas-feed-carga>button:hover,.notas-feed-carga>button:focus-visible { transform:translateY(-1px); background:linear-gradient(135deg,#eaf4ff,#e5efff); box-shadow:0 8px 20px rgba(32,88,145,.16); outline:3px solid rgba(49,125,205,.18); outline-offset:2px; }
.notas-feed-carga>button:disabled { cursor:wait; opacity:.72; transform:none; }
.notas-feed-carga>button[hidden] { display:none; }
.notas-feed-carga>button>span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#dcecff; font-size:1.1rem; line-height:1; }
.notas-feed-carga>p { min-height:1em; margin:0; color:#607b91; font-size:.78rem; }
.notas-feed-carga__sentinela { display:block; width:1px; height:1px; }
#nota-comentarios { scroll-margin-top:100px; }
html.tema-oscuro .nota-feed__resumen { border-color:#354b5c; color:#adbfcb; }
html.tema-oscuro .nota-feed__reacciones-resumen { color:#c2d3df; }
html.tema-oscuro .nota-feed__reacciones-resumen>span:first-child { background:#263d56; }
html.tema-oscuro .nota-feed__resumen-derecha a { color:#b5c8d6; }
html.tema-oscuro .nota-feed__resumen-derecha a:hover { color:#8dbbff; }
html.tema-oscuro .nota-feed__accion { color:#b6c7d3; }
html.tema-oscuro .nota-feed__accion:hover,html.tema-oscuro .nota-feed__accion:focus-visible { background:#263b4d; color:#9ac3ff; }
html.tema-oscuro .nota-feed__accion.seleccionado { color:#9ac3ff; }
html.tema-oscuro .nota-feed__reacciones { border-color:#40586c; background:rgba(29,45,59,.98); }
html.tema-oscuro .nota-feed__reacciones button:hover,html.tema-oscuro .nota-feed__reacciones button:focus-visible { background:#30495d; }
html.tema-oscuro .nota-feed__reacciones button.seleccionada { background:#2a4664; box-shadow:inset 0 0 0 2px #6ba6ed; }
html.tema-oscuro .nota-feed__estado { color:#b3c9dc; }
html.tema-oscuro .nota-feed__comentarios-count { color:#b5c8d6; }
html.tema-oscuro .notas-feed-carga>button { border-color:#3d607d; background:linear-gradient(135deg,#223a50,#1d3349); color:#b9d6f4; box-shadow:0 6px 18px rgba(0,0,0,.2); }
html.tema-oscuro .notas-feed-carga>button:hover,html.tema-oscuro .notas-feed-carga>button:focus-visible { background:linear-gradient(135deg,#294866,#223d57); }
html.tema-oscuro .notas-feed-carga>button>span { background:#294763; }
html.tema-oscuro .notas-feed-carga>p { color:#aec4d6; }
@media(max-width:640px) {
    .nota-feed__interacciones { padding:0 .9rem .8rem; }
    .nota-feed__resumen { font-size:.72rem; }
    .nota-feed__acciones { gap:.15rem; }
    .nota-feed__accion { min-height:40px; gap:.3rem; padding:.35rem .2rem; font-size:.75rem; }
    .nota-feed__accion-icono { font-size:1rem; }
    .nota-feed__accion-icono svg { width:18px; height:18px; }
    .nota-feed__reacciones { width:max-content; border-radius:17px; }
    .notas-feed-carga { margin:1rem auto 1.5rem; padding:.8rem .25rem; }
}

.nota-feed__comentarios-count { padding:0; border:0; background:transparent; color:#64798c; font:inherit; cursor:pointer; }
.nota-feed__comentarios-count:hover,.nota-feed__comentarios-count:focus-visible { color:#0866ff; text-decoration:underline; outline:0; }
.nota-feed__comentarios { margin-top:.6rem; padding-top:.85rem; border-top:1px solid #e6edf4; }
.nota-feed__comentarios[hidden] { display:none; }
.nota-feed__comentarios-lista { display:grid; max-height:260px; gap:.65rem; overflow-y:auto; padding:.1rem .1rem .45rem; }
.nota-feed__comentario { display:flex; align-items:flex-start; gap:.55rem; }
.nota-feed__comentario-avatar { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border:1px solid #d5e5f5; border-radius:50%; background:linear-gradient(145deg,#e6f2ff,#f2f7ff); color:#0866ff; font-size:.62rem; font-weight:850; }
.nota-feed__comentario-cuerpo { min-width:0; padding:.55rem .72rem; border-radius:4px 14px 14px; background:#f1f4f8; }
.nota-feed__comentario-cuerpo strong { display:block; margin-bottom:.15rem; color:#354e64; font-size:.72rem; }
.nota-feed__comentario-cuerpo p { margin:0; color:#4f6376; font-size:.81rem; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; }
.nota-feed__comentario-cuerpo time { display:block; margin-top:.22rem; color:#8494a2; font-size:.67rem; }
.nota-feed__comentarios-vacio,.nota-feed__comentarios-cargando { margin:.35rem 0; color:#75889a; font-size:.78rem; }
.nota-feed__ver-comentarios { display:inline-flex; align-items:center; gap:.35rem; margin:.15rem 0 .7rem 2.4rem; color:#2471b8; font-size:.77rem; font-weight:750; text-decoration:none; }
.nota-feed__ver-comentarios:hover { color:#0757d5; text-decoration:underline; }
.nota-feed__comentario-form { display:grid; gap:.5rem; }
.nota-feed__comentario-form textarea { width:100%; min-height:54px; resize:vertical; padding:.68rem .82rem; border:1px solid #d6e1eb; border-radius:14px; background:#f8fafc; color:#354e64; font:inherit; font-size:.82rem; }
.nota-feed__comentario-form textarea:focus { border-color:#87b7e5; outline:3px solid rgba(8,102,255,.11); }
.nota-feed__comentario-form>div { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.nota-feed__comentario-form small { color:#8797a6; font-size:.68rem; }
.nota-feed__comentario-form button { min-height:34px; padding:.4rem .9rem; border:0; border-radius:9px; background:#0866ff; color:#fff; font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }
.nota-feed__comentario-form button:hover { background:#0757d5; }
.nota-feed__comentario-form button:disabled { opacity:.65; cursor:wait; }
.nota-feed__comentario-form>p { margin:0; color:#4d718f; font-size:.74rem; }
html.tema-oscuro .nota-feed__comentarios-count { color:#b5c8d6; }
html.tema-oscuro .nota-feed__comentarios { border-color:#354b5c; }
html.tema-oscuro .nota-feed__comentario-avatar { border-color:#405b74; background:#263d56; color:#a9caff; }
html.tema-oscuro .nota-feed__comentario-cuerpo { background:#263846; }
html.tema-oscuro .nota-feed__comentario-cuerpo strong { color:#d0dfeb; }
html.tema-oscuro .nota-feed__comentario-cuerpo p { color:#c1d0dc; }
html.tema-oscuro .nota-feed__comentario-cuerpo time,html.tema-oscuro .nota-feed__comentarios-vacio,html.tema-oscuro .nota-feed__comentarios-cargando { color:#95aab9; }
html.tema-oscuro .nota-feed__ver-comentarios { color:#91bfff; }
html.tema-oscuro .nota-feed__comentario-form textarea { border-color:#40586a; background:#1d303d; color:#dce8f1; }
html.tema-oscuro .nota-feed__comentario-form small { color:#9aafbd; }
html.tema-oscuro .nota-feed__comentario-form>p { color:#a8c1d5; }
@media(max-width:640px) {
    .nota-feed__comentarios { padding-top:.7rem; }
    .nota-feed__comentario-cuerpo p { font-size:.78rem; }
    .nota-feed__comentario-form>div { align-items:flex-start; }
}

/* Vista previa ligera para enlaces externos: identifica el sitio sin cargar contenido remoto. */
.nota-enlace-card { display:flex; width:min(100%,440px); min-height:62px; align-items:center; gap:.72rem; margin:.72rem 0; padding:.68rem .8rem; border:1px solid #d4e1ee; border-radius:14px; background:linear-gradient(120deg,#f5f9fd,#edf4fb); color:#29445d; text-decoration:none; box-shadow:0 4px 12px rgba(40,73,108,.07); transition:transform .16s,border-color .16s,box-shadow .16s; }
.nota-enlace-card:hover,.nota-enlace-card:focus-visible { border-color:#8cb8e6; color:#1e4770; text-decoration:none; box-shadow:0 8px 18px rgba(40,73,108,.13); transform:translateY(-1px); outline:0; }
.nota-enlace-card__icono { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:12px; background:linear-gradient(145deg,#dcecff,#c9def7); color:#2765a7; font-size:1.12rem; font-weight:900; box-shadow:inset 0 1px rgba(255,255,255,.75); }
.nota-enlace-card__texto { display:grid; min-width:0; gap:.15rem; }
.nota-enlace-card__texto strong { color:#244765; font-size:.86rem; font-weight:800; }
.nota-enlace-card__texto small { overflow:hidden; color:#71869a; font-size:.73rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.nota-enlace-card__flecha { margin-left:auto; color:#4c7fac; font-size:1.2rem; font-weight:800; }
.nota-enlace-card--youtube .nota-enlace-card__icono { background:#fee6e5; color:#d62f2f; }
.nota-enlace-card--facebook .nota-enlace-card__icono { background:#e4efff; color:#0866ff; font-family:Arial,sans-serif; font-size:1.5rem; }
.nota-enlace-card--instagram .nota-enlace-card__icono { background:linear-gradient(145deg,#ffe2ee,#e8ddff); color:#b53588; font-size:1.55rem; }
.nota-enlace-card--tiktok .nota-enlace-card__icono,.nota-enlace-card--x .nota-enlace-card__icono { background:#e5e8ec; color:#1b2026; }
.nota-enlace-card--whatsapp .nota-enlace-card__icono { background:#def5e8; color:#198754; }
html.tema-oscuro .nota-enlace-card { border-color:#3c566c; background:linear-gradient(120deg,#22394c,#1c3142); color:#d6e4ef; box-shadow:0 5px 15px rgba(0,0,0,.18); }
html.tema-oscuro .nota-enlace-card:hover,html.tema-oscuro .nota-enlace-card:focus-visible { border-color:#6293bd; color:#eff7ff; box-shadow:0 8px 20px rgba(0,0,0,.28); }
html.tema-oscuro .nota-enlace-card__texto strong { color:#deebf6; }
html.tema-oscuro .nota-enlace-card__texto small { color:#a6bbcc; }
html.tema-oscuro .nota-enlace-card__flecha { color:#91bce2; }
html.tema-oscuro .nota-enlace-card--youtube .nota-enlace-card__icono { background:#512d33; color:#ffaaa5; }
html.tema-oscuro .nota-enlace-card--facebook .nota-enlace-card__icono { background:#263e60; color:#8eb8ff; }
html.tema-oscuro .nota-enlace-card--instagram .nota-enlace-card__icono { background:#4c3150; color:#f0a5d6; }
html.tema-oscuro .nota-enlace-card--tiktok .nota-enlace-card__icono,html.tema-oscuro .nota-enlace-card--x .nota-enlace-card__icono { background:#35404a; color:#e2e8ee; }
html.tema-oscuro .nota-enlace-card--whatsapp .nota-enlace-card__icono { background:#24483b; color:#9fe1b8; }
@media(max-width:640px) { .nota-enlace-card { width:100%; min-height:58px; gap:.6rem; padding:.6rem; border-radius:12px; } .nota-enlace-card__icono { width:36px; height:36px; flex-basis:36px; border-radius:11px; } .nota-enlace-card__texto strong { font-size:.82rem; } .nota-enlace-card__texto small { font-size:.7rem; } }

/* Iconografía lineal y consistente en la navegación, inspirada en barras sociales familiares. */
.menu-comunidad__enlace>svg { display:block; width:21px; height:21px; flex:0 0 21px; fill:none; stroke:#5285c0; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; transition:color .16s,stroke .16s,transform .16s; }
.menu-comunidad__enlace:hover>svg,.menu-comunidad__enlace:focus-visible>svg { stroke:#0866ff; transform:translateY(-1px); }
.menu-comunidad__publicar-icono svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; }
.menu-comunidad__donar>svg { display:block; width:25px; height:25px; flex:0 0 25px; padding:5px; border-radius:50%; background:rgba(255,255,255,.17); fill:currentColor; stroke:currentColor; stroke-width:1.3; stroke-linejoin:round; }
.menu-comunidad__tema>span:first-child { display:grid; width:23px; height:23px; place-items:center; }
.menu-comunidad__tema svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
html.tema-oscuro .menu-comunidad__enlace>svg { stroke:#8cbaff; }
@media(max-width:640px) {
    .menu-comunidad__enlace>svg { width:23px; height:23px; flex-basis:23px; }
    .menu-comunidad__tema>span:first-child { width:25px; height:25px; }
    .menu-comunidad__tema svg { width:21px; height:21px; }
}

/* Inicio social: acceso rápido para publicar y carrusel táctil de notas recientes. */
.inicio-comunidad { padding:calc(106px + clamp(1rem,2vw,1.5rem)) clamp(1rem,2.2vw,2.5rem) 0; background:linear-gradient(145deg,#edf3fa,#f3f7fc 52%,#eaf1f9); }
.inicio-comunidad__inner { width:100%; max-width:1920px; margin-inline:auto; }
.inicio-composer { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:.6rem .8rem; padding:1rem clamp(.9rem,1.8vw,1.35rem); border:1px solid #d7e3f0; border-radius:18px; background:linear-gradient(120deg,#fff,#f9fbfe); box-shadow:0 5px 18px rgba(31,66,102,.07); }
.inicio-composer__avatar { display:grid; width:42px; height:42px; grid-row:span 2; place-items:center; border:2px solid #fff; border-radius:50%; background:linear-gradient(145deg,#0866ff,#5895ff); box-shadow:0 2px 8px rgba(8,102,255,.23); color:#fff; font-size:.72rem; font-weight:900; }
.inicio-composer__campo { display:flex; width:100%; min-height:46px; align-items:center; justify-content:space-between; gap:.75rem; padding:.45rem .55rem .45rem 1rem; border:1px solid #d7e1eb; border-radius:999px; background:#f2f5f8; color:#62778a; font:inherit; font-size:.94rem; text-align:left; cursor:pointer; transition:border-color .18s,background .18s,box-shadow .18s; }
.inicio-composer__campo:hover,.inicio-composer__campo:focus-visible { border-color:#8db9e7; background:#fff; box-shadow:0 0 0 3px rgba(8,102,255,.1); color:#34536d; outline:0; }
.inicio-composer__mas { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:50%; background:linear-gradient(145deg,#e3f5eb,#d5eee1); color:#23845d; }
.inicio-composer__mas svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; }
.inicio-composer__ayuda { grid-column:2; margin-left:1rem; color:#8494a3; font-size:.7rem; line-height:1.2; }
.notas-historias { margin-top:1.2rem; padding:.1rem 0 1.35rem; }
.notas-historias__cabecera { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:0 0 .7rem; }
.notas-historias__eyebrow { color:#168b8e; font-size:.65rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.notas-historias__cabecera h2 { margin:.1rem 0 0; color:#1b3955; font-size:1.12rem; font-weight:850; letter-spacing:-.02em; }
.notas-historias__desliza { display:inline-flex; align-items:center; gap:.3rem; color:#8293a4; font-size:.68rem; font-weight:650; white-space:nowrap; }
.notas-historias__carrusel { display:flex; gap:.75rem; overflow-x:auto; overscroll-behavior-inline:contain; padding:.2rem .1rem .65rem; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b7c9da transparent; }
.nota-historia-card { display:flex; width:clamp(145px,17vw,190px); min-width:clamp(145px,17vw,190px); min-height:206px; flex-direction:column; overflow:hidden; scroll-snap-align:start; border:1px solid #d4e0ec; border-radius:17px; background:linear-gradient(145deg,#fff,#f6f9fd); color:#203b54; text-decoration:none; box-shadow:0 5px 14px rgba(31,66,102,.08); transition:transform .18s,border-color .18s,box-shadow .18s; }
.nota-historia-card:hover,.nota-historia-card:focus-visible { border-color:#8cb8df; color:#173e60; box-shadow:0 10px 22px rgba(31,66,102,.15); transform:translateY(-2px); outline:0; }
.nota-historia-card__portada { position:relative; display:flex; min-height:108px; align-items:flex-start; justify-content:space-between; overflow:hidden; padding:.65rem; background:radial-gradient(circle at 86% 12%,rgba(255,255,255,.48),transparent 30%),linear-gradient(145deg,#146c93,#258c9b 58%,#60b6a4); }
.nota-historia-card__portada::after { position:absolute; right:-20px; bottom:-50px; width:130px; height:130px; border:1px solid rgba(255,255,255,.22); border-radius:50%; box-shadow:0 0 0 18px rgba(255,255,255,.06),0 0 0 38px rgba(255,255,255,.04); content:""; }
.nota-historia-card__tipo { position:relative; z-index:1; max-width:calc(100% - 36px); overflow:hidden; padding:.28rem .48rem; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:rgba(11,43,67,.2); color:#fff; font-size:.62rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; backdrop-filter:blur(8px); }
.nota-historia-card__marca { position:relative; z-index:1; display:grid; width:29px; height:29px; flex:0 0 29px; place-items:center; border:2px solid #fff; border-radius:50%; background:linear-gradient(145deg,#0866ff,#69a3ff); box-shadow:0 2px 7px rgba(0,0,0,.18); color:#fff; font-size:.53rem; font-weight:900; }
.nota-historia-card__destello { position:absolute; right:1rem; bottom:.35rem; color:rgba(255,255,255,.8); font-size:2.4rem; line-height:1; text-shadow:0 2px 8px rgba(15,56,78,.2); }
.nota-historia-card__contenido { display:flex; min-height:96px; flex:1; flex-direction:column; gap:.38rem; padding:.68rem .72rem .72rem; }
.nota-historia-card__contenido strong { display:-webkit-box; overflow:hidden; color:#203b54; font-size:.79rem; font-weight:850; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.nota-historia-card__ubicacion { display:flex; align-items:center; gap:.2rem; overflow:hidden; color:#61788e; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
.nota-historia-card__vistas { color:#3c77a5; font-size:.64rem; font-weight:800; }
.nota-historia-card__contenido time { margin-top:auto; color:#8b9baa; font-size:.62rem; font-weight:700; }
.nota-historia-card[data-tipo-nombre*="Alerta"] .nota-historia-card__portada { background:radial-gradient(circle at 86% 12%,rgba(255,255,255,.4),transparent 30%),linear-gradient(145deg,#ab4c46,#dc7458 60%,#e7a35d); }
.nota-historia-card[data-tipo-nombre*="Incidente"] .nota-historia-card__portada { background:radial-gradient(circle at 86% 12%,rgba(255,255,255,.4),transparent 30%),linear-gradient(145deg,#913a50,#c65361 60%,#e38972); }
.nota-historia-card[data-tipo-nombre*="Discusión" i] .nota-historia-card__portada { background:radial-gradient(circle at 86% 12%,rgba(255,255,255,.4),transparent 30%),linear-gradient(145deg,#594c9a,#7f69bb 60%,#ae8cc8); }
.nota-historia-card[data-tipo-nombre*="Recomendación" i] .nota-historia-card__portada { background:radial-gradient(circle at 86% 12%,rgba(255,255,255,.4),transparent 30%),linear-gradient(145deg,#287453,#3b9a68 60%,#87b976); }
.nota-historia-card[data-tipo-nombre*="Ovnis"],.nota-historia-card[data-tipo-nombre*="UFO"],.nota-historia-card[data-tipo-nombre*="Paranormal"],.nota-historia-card[data-tipo-nombre*="Inexplicable"],.nota-historia-card[data-tipo-nombre*="Extraterrestres"] { border-color:#d5c9f1; }
.nota-historia-card[data-tipo-nombre*="Ovnis"] .nota-historia-card__portada,.nota-historia-card[data-tipo-nombre*="UFO"] .nota-historia-card__portada,.nota-historia-card[data-tipo-nombre*="Paranormal"] .nota-historia-card__portada,.nota-historia-card[data-tipo-nombre*="Inexplicable"] .nota-historia-card__portada,.nota-historia-card[data-tipo-nombre*="Extraterrestres"] .nota-historia-card__portada { background:radial-gradient(circle at 86% 12%,rgba(255,255,255,.4),transparent 30%),linear-gradient(145deg,#53458d,#7967b2 60%,#ac91c7); }
html.tema-oscuro .inicio-comunidad { background:linear-gradient(145deg,#122739,#172d40 56%,#172b3e); }
html.tema-oscuro .inicio-composer { border-color:#354e62; background:linear-gradient(120deg,#1d3345,#20394c); box-shadow:0 6px 20px rgba(0,0,0,.2); }
html.tema-oscuro .inicio-composer__campo { border-color:#40596e; background:#172c3e; color:#b6c8d7; }
html.tema-oscuro .inicio-composer__campo:hover,html.tema-oscuro .inicio-composer__campo:focus-visible { border-color:#6c9fce; background:#20394e; color:#e0edf8; }
html.tema-oscuro .inicio-composer__ayuda,html.tema-oscuro .notas-historias__desliza { color:#9bb0c1; }
html.tema-oscuro .notas-historias__cabecera h2 { color:#e3effa; }
html.tema-oscuro .nota-historia-card { border-color:#354e62; background:linear-gradient(145deg,#1d3345,#1b2e3e); }
html.tema-oscuro .nota-historia-card:hover,html.tema-oscuro .nota-historia-card:focus-visible { border-color:#5c7f9b; }
html.tema-oscuro .nota-historia-card__contenido strong { color:#e0ebf4; }
html.tema-oscuro .nota-historia-card__ubicacion { color:#a8bdce; }
html.tema-oscuro .nota-historia-card__vistas { color:#9dcaf0; }
html.tema-oscuro .nota-historia-card__contenido time { color:#8fa7b9; }
@media(max-width:640px) {
    .inicio-comunidad { padding:calc(92px + .65rem) .85rem 0; }
    .inicio-composer { grid-template-columns:38px minmax(0,1fr); gap:.45rem .55rem; padding:.7rem; border-radius:15px; }
    .inicio-composer__avatar { width:36px; height:36px; font-size:.64rem; }
    .inicio-composer__campo { min-height:42px; padding-left:.82rem; font-size:.82rem; }
    .inicio-composer__mas { width:30px; height:30px; flex-basis:30px; }
    .inicio-composer__ayuda { margin-left:.8rem; font-size:.65rem; }
    .notas-historias { margin-top:1rem; padding-bottom:1.05rem; }
    .notas-historias__cabecera h2 { font-size:1rem; }
    .notas-historias__desliza { font-size:.61rem; }
    .nota-historia-card { width:142px; min-width:142px; min-height:190px; border-radius:15px; }
    .nota-historia-card__portada { min-height:98px; }
    .nota-historia-card__contenido { min-height:90px; padding:.58rem; }
}
@media(prefers-reduced-motion:reduce) { .nota-historia-card,.inicio-composer__campo { transition:none; } }

/* Miniatura geográfica dentro de cada publicación; las teselas se cargan al acercarse al viewport. */
.nota-resumen__mapa { position:relative; margin:.85rem 0 .2rem; overflow:hidden; border:1px solid #c9d9e8; border-radius:16px; background:#dce9e8; box-shadow:0 5px 15px rgba(25,57,84,.1); }
.nota-resumen__mapa-vista { position:relative; display:block; height:clamp(148px,18vw,205px); overflow:hidden; background:linear-gradient(145deg,#d8e9e5,#d7e5ef 58%,#c9e2e7); color:#173b55; text-decoration:none; isolation:isolate; }
.nota-resumen__mapa-vista:focus-visible { outline:3px solid #1877f2; outline-offset:-3px; }
.nota-resumen__mapa-tiles { position:absolute; inset:0; overflow:hidden; background-color:#d8e9e5; background-image:linear-gradient(35deg,transparent 46%,rgba(255,255,255,.5) 47%,rgba(255,255,255,.5) 48%,transparent 49%),linear-gradient(145deg,transparent 53%,rgba(255,255,255,.35) 54%,rgba(255,255,255,.35) 55%,transparent 56%); }
.nota-resumen__mapa-tile { position:absolute; display:block; width:256px !important; max-width:none !important; height:256px !important; margin:0 !important; border:0 !important; border-radius:0 !important; object-fit:none; user-select:none; pointer-events:none; }
.nota-resumen__mapa-pin { position:absolute; z-index:2; display:block; transform:translate(-50%,-100%); filter:drop-shadow(0 3px 3px rgba(12,33,48,.4)); font-size:31px; line-height:1; pointer-events:none; }
.nota-resumen__mapa-abrir { position:absolute; z-index:3; left:.75rem; bottom:.7rem; display:inline-flex; align-items:center; gap:.35rem; padding:.52rem .75rem; border:1px solid rgba(255,255,255,.75); border-radius:999px; background:rgba(17,45,66,.88); box-shadow:0 3px 10px rgba(15,35,50,.22); color:#fff; font-size:.76rem; font-weight:800; backdrop-filter:blur(8px); }
.nota-resumen__mapa-abrir span:first-child { font-size:1rem; }
.nota-resumen__mapa-credito { position:absolute; z-index:4; right:.35rem; bottom:.22rem; padding:.12rem .3rem; border-radius:4px; background:rgba(255,255,255,.88); color:#344d5f; font-size:.58rem; line-height:1.25; text-decoration:none; }
.nota-resumen__mapa-credito:hover { color:#075eb5; text-decoration:underline; }
html.tema-oscuro .nota-resumen__mapa { border-color:#3a596c; background:#203a49; box-shadow:0 6px 18px rgba(0,0,0,.22); }
html.tema-oscuro .nota-resumen__mapa-vista,html.tema-oscuro .nota-resumen__mapa-tiles { background-color:#294651; }
html.tema-oscuro .nota-resumen__mapa-abrir { border-color:rgba(176,215,241,.45); background:rgba(12,35,52,.92); color:#eaf6ff; }
@media(max-width:640px) {
    .nota-resumen__mapa { margin:.7rem 0 .12rem; border-radius:14px; }
    .nota-resumen__mapa-vista { height:clamp(132px,39vw,176px); }
    .nota-resumen__mapa-abrir { left:.55rem; bottom:.55rem; padding:.44rem .62rem; font-size:.7rem; }
    .nota-resumen__mapa-credito { font-size:.52rem; }
}

/* El detalle abierto desde un marcador comparte la barra de acciones del feed. */
#modalDetalleNota .modal-nota-detalle__mapa { margin-top:1.15rem; }
#modalDetalleNota .modal-nota-detalle__mapa-vista { height:clamp(180px,24vw,280px); cursor:default; }
#modalDetalleNota .modal-nota-detalle__descripcion,#modalDetalleNota .modal-nota-detalle__comentarios { grid-column:1/-1; }
#modalDetalleNota .modal-nota-detalle__interacciones { grid-column:1/-1; margin:0; padding:1rem 1.15rem .8rem; border:1px solid #dce7f3; border-radius:16px; background:linear-gradient(145deg,#f5f9ff,#fff 62%,#f4f8ff); box-shadow:0 5px 17px rgba(24,59,91,.055); }
#modalDetalleNota .modal-nota-detalle__interacciones .nota-feed__resumen { min-height:38px; }
#modalDetalleNota .modal-nota-detalle__interacciones .nota-reacciones__totales { gap:.65rem; margin:.55rem 0 .25rem; font-size:.78rem; }
#modalDetalleNota .modal-nota-detalle__acciones-feed { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; padding-top:.45rem; border-top:1px solid #e6edf4; }
#modalDetalleNota .modal-nota-detalle__acciones-feed .nota-reaccion-picker { min-width:0; }
#modalDetalleNota .modal-nota-detalle__acciones-feed .nota-feed__accion { width:100%; }
#modalDetalleNota .modal-nota-detalle__acciones-feed .nota-reaccion-trigger { justify-content:center; border:0; background:transparent; font-size:.82rem; }
#modalDetalleNota .modal-nota-detalle__acciones-feed .nota-reaccion-trigger:hover,#modalDetalleNota .modal-nota-detalle__acciones-feed .nota-reaccion-trigger.seleccionado { border:0; background:#edf4fc; color:#0866ff; }
#modalDetalleNota .modal-nota-detalle__acciones-feed .nota-reaccion-trigger .nota-reaccion-caret { display:none; }
#modalDetalleNota .modal-nota-detalle__comentarios { min-width:0; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__interacciones { border-color:#354e5c; background:linear-gradient(145deg,#1b303d,#192d39); }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__acciones-feed { border-top-color:#354b58; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__acciones-feed .nota-reaccion-trigger:hover,html.tema-oscuro #modalDetalleNota .modal-nota-detalle__acciones-feed .nota-reaccion-trigger.seleccionado { background:#263f56; color:#8dbbff; }
@media(max-width:640px) {
    #modalDetalleNota .modal-nota-detalle__mapa-vista { height:clamp(150px,48vw,210px); }
    #modalDetalleNota .modal-nota-detalle__interacciones { padding:.7rem .65rem .55rem; }
    #modalDetalleNota .modal-nota-detalle__interacciones .nota-reacciones__totales { justify-content:space-between; gap:.25rem; font-size:.7rem; }
    #modalDetalleNota .modal-nota-detalle__acciones-feed { gap:.15rem; }
    #modalDetalleNota .modal-nota-detalle__acciones-feed .nota-feed__accion { min-height:40px; gap:.28rem; padding:.35rem .15rem; font-size:.72rem; }
    #modalDetalleNota .modal-nota-detalle__acciones-feed .nota-feed__accion-icono svg { width:17px; height:17px; }
}

/* En el detalle del mapa, los comentarios se despliegan debajo de las acciones igual que en el feed. */
#modalDetalleNota .modal-nota-detalle__contenido { grid-template-columns:minmax(0,1fr) !important; grid-template-areas:none !important; }
#modalDetalleNota .modal-nota-detalle__descripcion,#modalDetalleNota .modal-nota-detalle__interacciones { grid-area:auto !important; grid-column:1/-1 !important; }
#modalDetalleNota .modal-nota-detalle__comentarios { grid-area:auto !important; grid-column:1/-1 !important; margin-top:.65rem; padding:.9rem .25rem .2rem; border:0; border-top:1px solid #e6edf4; border-radius:0; background:transparent; box-shadow:none; }
#modalDetalleNota .modal-nota-detalle__comentarios[hidden] { display:none !important; }
#modalDetalleNota .modal-nota-detalle__comentarios .modal-nota-detalle__seccion-titulo { margin-bottom:.6rem; }
#modalDetalleNota .modal-nota-detalle__comentarios .modal-nota-detalle__seccion-titulo h3 { font-size:1rem; }
#modalDetalleNota .modal-nota-detalle__comentarios .nota-feed__comentarios-lista { max-height:280px; }
#modalDetalleNota .modal-nota-detalle__comentarios .nota-feed__comentario-form { gap:.45rem; }
#modalDetalleNota .modal-nota-detalle__comentarios .nota-feed__comentario-form textarea { min-height:58px; }
#modalDetalleNota .modal-nota-detalle__comentario-acciones { align-items:center; justify-content:flex-end; padding-top:.7rem; border-top:0; }
#modalDetalleNota .modal-nota-detalle__comentario-acciones #DivReportarNota { margin-right:auto; }
html.tema-oscuro #modalDetalleNota .modal-nota-detalle__comentarios { border-top-color:#354b5c; background:transparent; }
@media(max-width:640px) {
    #modalDetalleNota .modal-nota-detalle__comentarios { padding:.75rem .1rem .1rem; }
    #modalDetalleNota .modal-nota-detalle__comentarios .nota-feed__comentarios-lista { max-height:32vh; }
    #modalDetalleNota .modal-nota-detalle__comentario-acciones { flex-wrap:wrap; gap:.45rem; }
}

/* La cascada responsive termina aquí: feed vertical, tarjetas compactas y reacciones junto al texto. */
@media(min-width:761px) {
    .notas-publicas .notas-publicas__inner .grupo-estado .notas-publicas__grid {
        display:grid;
        grid-template-columns:minmax(0,min(1120px,100%)) !important;
        grid-auto-flow:row;
        grid-auto-rows:auto;
        align-items:start;
        justify-content:center;
    }
    .notas-publicas .notas-publicas__inner .grupo-estado .nota-resumen {
        grid-column:1 !important;
        width:100%;
        max-width:1120px;
        min-width:0;
        height:auto;
        min-height:0;
        align-self:start;
    }
    .grupo-estado .notas-publicas__grid {
        grid-template-columns:minmax(0,min(1120px,100%)) !important;
        grid-auto-rows:auto;
        align-content:start;
        align-items:start;
        justify-content:center;
    }
    .grupo-estado .nota-resumen {
        align-self:start;
        height:auto;
        min-height:0;
    }
    .grupo-estado .nota-resumen__contenido { min-height:0; }
    .grupo-estado .nota-feed__interacciones { flex:0 0 auto; margin-top:0; }
    .inicio-comunidad__inner,.notas-publicas__inner { max-width:1120px; }
    .grupo-estado__cabecera { width:min(100%,1120px); }
    .notas-historias { width:min(100%,1120px); margin-inline:auto; }
}

/* Publicar nota con botón azul directo y limpio, inspirado en Facebook. */
html body .menu-comunidad a.menu-comunidad__publicar {
    min-height:44px;
    gap:.55rem;
    padding:.4rem 1rem .4rem .45rem;
    border:1px solid #1877f2 !important;
    border-radius:10px;
    background:#1877f2 !important;
    background-size:auto !important;
    box-shadow:0 2px 6px rgba(24,119,242,.2) !important;
    color:#fff !important;
    text-decoration:none !important;
    animation:none !important;
    transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
html body .menu-comunidad a.menu-comunidad__publicar::before,
html body .menu-comunidad a.menu-comunidad__publicar::after { display:none !important; content:none !important; animation:none !important; }
html body .menu-comunidad a.menu-comunidad__publicar>span:last-child { color:#fff !important; font-weight:750; text-shadow:none !important; }
html body .menu-comunidad a.menu-comunidad__publicar .menu-comunidad__publicar-icono { display:grid; width:30px; height:30px; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.19); color:#fff; text-shadow:none; }
html body .menu-comunidad a.menu-comunidad__publicar:hover,
html body .menu-comunidad a.menu-comunidad__publicar:focus-visible { border-color:#166fe5 !important; background:#166fe5 !important; box-shadow:0 4px 10px rgba(24,119,242,.28) !important; color:#fff !important; transform:translateY(-1px); }
html body .menu-comunidad a.menu-comunidad__publicar:focus-visible { outline:3px solid rgba(24,119,242,.28); outline-offset:2px; }
@media(max-width:640px) {
    html body .menu-comunidad a.menu-comunidad__publicar { min-height:42px; gap:.3rem; padding:.3rem .68rem .3rem .35rem; }
    html body .menu-comunidad a.menu-comunidad__publicar .menu-comunidad__publicar-icono { width:27px; height:27px; }
}

/* Contraste permanente para cerrar el detalle del marcador en encabezados claros y oscuros. */
#modalDetalleNota .modal-nota-detalle__cerrar {
    z-index:5;
    border:1px solid #a9bfd1;
    background:#f7fbff;
    box-shadow:0 3px 12px rgba(17,48,72,.2);
    color:#173e59;
    font-size:1.65rem;
    font-weight:800;
    opacity:1;
}
#modalDetalleNota .modal-nota-detalle__cerrar:hover,
#modalDetalleNota .modal-nota-detalle__cerrar:focus-visible {
    border-color:#1768c5;
    background:#1768c5;
    box-shadow:0 4px 14px rgba(23,104,197,.3);
    color:#fff;
    outline:3px solid rgba(23,104,197,.22);
    outline-offset:2px;
}
