/* ==========================================================
   CERCA FEATURE — AHORA V4.0.0 CONSOLIDADO
   Fuente canónica:
   src/features/ahora/ahora.css

   Consolida:
   - ahora-v2.css
   - cerca-ahora-v3.css
   - cerca-ahora-v3-2.css
   ========================================================== */


/* ==========================================================
   BLOQUE 1 — BASE AHORA V2
   ========================================================== */

/* ==========================================================
   CERCA AHORA V2
   Mismo ADN visual de HOME V2
   ========================================================== */

#view-alertas .weather-banner,
#view-alertas #ajDashboard,
#view-alertas .home-tab-switcher,
#view-alertas #tabNoticiasSection,
#view-alertas #tabReportesSection {
    display: none !important;
}

#cercaAhoraV2 {
    padding: 8px 0 105px;
}


/* HERO */
.cerca-now2-hero {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(56,189,248,.18);
    background:
        radial-gradient(circle at 100% 0%,rgba(14,165,233,.20),transparent 43%),
        linear-gradient(145deg,rgba(15,23,42,.98),rgba(8,15,30,.98));
    box-shadow: 0 18px 45px rgba(0,0,0,.22);
}

.cerca-now2-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}

.cerca-now2-kicker {
    color:#7dd3fc;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.10em;
}

.cerca-now2-live {
    display:flex;
    align-items:center;
    gap:6px;
    color:#94a3b8;
    font-size:.61rem;
    font-weight:900;
}

.cerca-now2-live i {
    width:7px;
    height:7px;
    display:block;
    border-radius:50%;
    background:#10b981;
    box-shadow:0 0 0 4px rgba(16,185,129,.12);
}

.cerca-now2-hero h2 {
    color:var(--text-primary);
    margin:11px 0 3px;
    font-size:1.42rem;
    letter-spacing:-.025em;
}

.cerca-now2-hero > p {
    margin:0;
    color:#94a3b8;
    font-size:.76rem;
}


/* RESUMEN */
.cerca-now2-summary {
    margin-top:15px;
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}

.cerca-now2-summary span {
    padding:6px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(148,163,184,.11);
    color:#94a3b8;
    font-size:.64rem;
    font-weight:800;
}

.cerca-now2-summary strong {
    color:var(--text-primary);
}


/* FILTROS */
.cerca-now2-filters {
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:15px 2px 9px;
    scrollbar-width:none;
}

.cerca-now2-filters::-webkit-scrollbar {
    display:none;
}

.cerca-now2-filter {
    flex:0 0 auto;
    min-height:36px;
    border-radius:999px;
    border:1px solid rgba(148,163,184,.14);
    background:rgba(15,23,42,.72);
    color:#94a3b8;
    padding:0 13px;
    display:flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    font-size:.69rem;
    font-weight:800;
}

.cerca-now2-filter .material-icons-round {
    font-size:16px;
}

.cerca-now2-filter.active {
    color:#fff;
    border-color:rgba(56,189,248,.42);
    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,.85),
            rgba(14,165,233,.82)
        );
    box-shadow:0 6px 20px rgba(14,165,233,.14);
}


/* TITULO FEED */
.cerca-now2-section {
    margin:11px 2px 10px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}

.cerca-now2-section small {
    display:block;
    color:#64748b;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.08em;
}

.cerca-now2-section h3 {
    color:var(--text-primary);
    margin:3px 0 0;
    font-size:.98rem;
}

.cerca-now2-section > span {
    color:#64748b;
    font-size:.66rem;
}


/* FEED */
.cerca-now2-feed {
    display:flex;
    flex-direction:column;
    gap:10px;
}


/* TARJETA */
.cerca-now2-card {
    position:relative;
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(148,163,184,.12);
    background:
        linear-gradient(
            145deg,
            rgba(20,30,49,.91),
            rgba(10,18,32,.95)
        );
    box-shadow:0 8px 28px rgba(0,0,0,.13);
}

.cerca-now2-card::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:#38bdf8;
}


/* COLORES CATEGORÍA */
.cerca-now2-card[data-cat="emergencia"]::before,
.cerca-now2-card[data-cat="sos"]::before {
    background:#ef4444;
}

.cerca-now2-card[data-cat="accidente"]::before {
    background:#f97316;
}

.cerca-now2-card[data-cat="seguridad"]::before {
    background:#a855f7;
}

.cerca-now2-card[data-cat="inundacion"]::before,
.cerca-now2-card[data-cat="servicios"]::before {
    background:#0ea5e9;
}

.cerca-now2-card[data-cat="trafico"]::before,
.cerca-now2-card[data-cat="vialidad"]::before,
.cerca-now2-card[data-cat="movilidad"]::before {
    background:#f59e0b;
}


/* IMAGEN */
.cerca-now2-image {
    width:100%;
    height:170px;
    display:block;
    object-fit:cover;
}


/* CONTENIDO */
.cerca-now2-body {
    padding:13px 14px 14px;
}

.cerca-now2-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
}

.cerca-now2-source {
    display:flex;
    align-items:center;
    gap:5px;
    color:#38bdf8;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.05em;
}

.cerca-now2-source.community {
    color:#a78bfa;
}

.cerca-now2-source .material-icons-round {
    font-size:15px;
}

.cerca-now2-time {
    color:#64748b;
    font-size:.62rem;
    white-space:nowrap;
}

.cerca-now2-category {
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-bottom:7px;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    color:#cbd5e1;
    font-size:.58rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.cerca-now2-category .material-icons-round {
    font-size:13px;
}

.cerca-now2-card h3 {
    color:var(--text-primary);
    font-size:.94rem;
    line-height:1.3;
    margin:0;
}

.cerca-now2-description {
    color:#94a3b8;
    font-size:.73rem;
    line-height:1.45;
    margin:7px 0 0;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}


/* UBICACIÓN / GEOMETRÍA */
.cerca-now2-location {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    margin-top:10px;
}

.cerca-now2-location span {
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#94a3b8;
    font-size:.62rem;
}

.cerca-now2-location .material-icons-round {
    color:#38bdf8;
    font-size:14px;
}


/* FOOTER */
.cerca-now2-footer {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(148,163,184,.09);
}

.cerca-now2-detail,
.cerca-now2-map {
    min-height:36px;
    border:0;
    border-radius:10px;
    padding:0 11px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    cursor:pointer;
    font-size:.67rem;
    font-weight:850;
}

.cerca-now2-detail {
    color:#fff;
    background:linear-gradient(135deg,#2563eb,#0ea5e9);
}

.cerca-now2-map {
    color:#cbd5e1;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(148,163,184,.12);
}

.cerca-now2-detail .material-icons-round,
.cerca-now2-map .material-icons-round {
    font-size:16px;
}


/* VACÍO */
.cerca-now2-empty {
    padding:30px 16px;
    text-align:center;
    border-radius:18px;
    border:1px solid rgba(148,163,184,.10);
    background:rgba(15,23,42,.55);
    color:#64748b;
}

.cerca-now2-empty .material-icons-round {
    font-size:30px;
    color:#38bdf8;
    display:block;
    margin-bottom:7px;
}

.cerca-now2-empty strong {
    display:block;
    color:var(--text-primary);
    font-size:.83rem;
}

.cerca-now2-empty span:last-child {
    display:block;
    margin-top:4px;
    font-size:.68rem;
}
/* ==========================================================
   CERCA AHORA V2 — RIESGO PREMIUM COMUNIDAD
   ========================================================== */

.cerca-now2-risk-line {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 12px;
    padding: 9px 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(148,163,184,.09);
}

.cerca-now2-risk-main {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.cerca-now2-risk-main i {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #60a5fa;
    box-shadow: 0 0 0 4px rgba(96,165,250,.08);
}

.cerca-now2-risk-main span {
    color: #64748b;
    font-size: .61rem;
    white-space: nowrap;
}

.cerca-now2-risk-main strong {
    color: #cbd5e1;
    margin-left: 3px;
    font-size: .64rem;
}


/* SCORE */
.cerca-now2-risk-score {
    color: #64748b;
    font-size: .61rem;
    font-weight: 800;
    white-space: nowrap;
}


/* CONFIRMACIONES */
.cerca-now2-confirmations {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
    color: #64748b;
    font-size: .59rem;
    font-weight: 700;
    white-space: nowrap;
}

.cerca-now2-confirmations .material-icons-round {
    font-size: 14px;
}

.cerca-now2-confirmations.verified {
    color: #34d399;
}


/* SOLO EL PUNTO CAMBIA SEGÚN RIESGO */

.cerca-now2-risk-line.medium
.cerca-now2-risk-main i {
    background: #fbbf24;
    box-shadow: 0 0 0 4px rgba(251,191,36,.08);
}

.cerca-now2-risk-line.high
.cerca-now2-risk-main i {
    background: #fb7185;
    box-shadow: 0 0 0 4px rgba(251,113,133,.08);
}

.cerca-now2-risk-line.critical
.cerca-now2-risk-main i {
    background: #ef4444;
    box-shadow: 0 0 0 4px rgba(239,68,68,.10);
}


/* MÓVIL */
@media (max-width: 420px) {

    .cerca-now2-risk-line {
        gap: 7px;
    }

    .cerca-now2-confirmations {
        font-size: .56rem;
    }
}


/* ==========================================================
   BLOQUE 2 — PRESENTACIÓN V3.1
   ========================================================== */

/* ==========================================================
   CERCA AHORA V3 — CAPA VISUAL
   Se monta sobre las clases existentes de AHORA V2.
   ========================================================== */

#cercaAhoraV2 {
    --now3-cyan: #22d3ee;
    --now3-blue: #3b82f6;
    --now3-green: #22c55e;
    --now3-yellow: #f59e0b;
    --now3-red: #ef4444;
    --now3-purple: #a855f7;
    --now3-card: rgba(11, 18, 32, .92);
    --now3-line: rgba(148, 163, 184, .14);
}

#cercaAhoraV2 .cerca-now3-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(34, 211, 238, .16);
    background:
        radial-gradient(circle at 90% 0%, rgba(34,211,238,.12), transparent 38%),
        radial-gradient(circle at 0% 100%, rgba(59,130,246,.10), transparent 42%),
        linear-gradient(155deg, rgba(15,23,42,.96), rgba(7,12,23,.92));
}

#cercaAhoraV2 .cerca-now3-hero::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -85px;
    bottom: -105px;
    border: 1px solid rgba(34,211,238,.16);
    border-radius: 50%;
    box-shadow:
        0 0 0 24px rgba(34,211,238,.025),
        0 0 0 50px rgba(34,211,238,.018);
    pointer-events: none;
}

#cercaAhoraV2 .cerca-now3-radar {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    margin-right: 8px;
    border-radius: 10px;
    color: var(--now3-cyan);
    background: rgba(34,211,238,.10);
    border: 1px solid rgba(34,211,238,.14);
}

#cercaAhoraV2 .cerca-now3-radar .material-icons-round {
    font-size: 17px;
}

/* CARD */
#cercaAhoraV2 .cerca-now2-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--now3-line);
    background:
        linear-gradient(180deg, rgba(15,23,42,.95), rgba(8,14,26,.95));
    box-shadow: 0 12px 36px rgba(0,0,0,.16);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

#cercaAhoraV2 .cerca-now2-card:active {
    transform: scale(.994);
}

#cercaAhoraV2 .cerca-now2-card.cerca-now3-featured {
    border-color: rgba(34,211,238,.24);
    box-shadow:
        0 15px 42px rgba(0,0,0,.20),
        0 0 0 1px rgba(34,211,238,.025) inset;
}

/* VISUAL ILUSTRATIVO */
#cercaAhoraV2 .cerca-now3-visual,
#cercaAhoraV2 .cerca-now3-media {
    position: relative;
    width: 100%;
    height: 112px;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 24%, rgba(255,255,255,.09), transparent 22%),
        linear-gradient(135deg, rgba(30,41,59,.95), rgba(15,23,42,.96));
}

#cercaAhoraV2 .cerca-now3-featured .cerca-now3-visual,
#cercaAhoraV2 .cerca-now3-featured .cerca-now3-media {
    height: 145px;
}

#cercaAhoraV2 .cerca-now3-grid {
    position: absolute;
    inset: 0;
    opacity: .24;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: linear-gradient(to right, #000, transparent 95%);
}

#cercaAhoraV2 .cerca-now3-visual::before {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -88px;
    top: -92px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.09);
    box-shadow:
        0 0 0 28px rgba(255,255,255,.02),
        0 0 0 55px rgba(255,255,255,.014);
}

#cercaAhoraV2 .cerca-now3-visual--seguridad,
#cercaAhoraV2 .cerca-now3-visual--sos,
#cercaAhoraV2 .cerca-now3-visual--emergencia {
    background:
        radial-gradient(circle at 82% 20%, rgba(239,68,68,.20), transparent 30%),
        linear-gradient(135deg, #1a1520, #0b111e 72%);
}

#cercaAhoraV2 .cerca-now3-visual--accidente,
#cercaAhoraV2 .cerca-now3-visual--trafico,
#cercaAhoraV2 .cerca-now3-visual--vialidad,
#cercaAhoraV2 .cerca-now3-visual--movilidad {
    background:
        radial-gradient(circle at 82% 20%, rgba(245,158,11,.17), transparent 32%),
        linear-gradient(135deg, #171b22, #0a1220 72%);
}

#cercaAhoraV2 .cerca-now3-visual--inundacion,
#cercaAhoraV2 .cerca-now3-visual--clima,
#cercaAhoraV2 .cerca-now3-visual--fuga {
    background:
        radial-gradient(circle at 82% 20%, rgba(59,130,246,.22), transparent 32%),
        linear-gradient(135deg, #0c1a2b, #09111e 72%);
}

#cercaAhoraV2 .cerca-now3-visual--incendio {
    background:
        radial-gradient(circle at 82% 20%, rgba(249,115,22,.28), transparent 34%),
        linear-gradient(135deg, #21140f, #0c1019 72%);
}

#cercaAhoraV2 .cerca-now3-visual--arbol,
#cercaAhoraV2 .cerca-now3-visual--servicios {
    background:
        radial-gradient(circle at 82% 20%, rgba(34,197,94,.18), transparent 32%),
        linear-gradient(135deg, #0d201b, #09121b 72%);
}

#cercaAhoraV2 .cerca-now3-visual-top {
    position: absolute;
    top: 10px;
    left: 11px;
    right: 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 2;
}

#cercaAhoraV2 .cerca-now3-illustrative {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(2,6,23,.38);
    backdrop-filter: blur(8px);
    color: rgba(226,232,240,.72);
    font-size: .57rem;
    font-weight: 900;
    letter-spacing: .09em;
}

#cercaAhoraV2 .cerca-now3-zone-btn {
    appearance: none;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(2,6,23,.50);
    color: #f8fafc;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .68rem;
    font-weight: 850;
    backdrop-filter: blur(8px);
}

#cercaAhoraV2 .cerca-now3-zone-btn .material-icons-round {
    font-size: 15px;
    color: var(--now3-cyan);
}

#cercaAhoraV2 .cerca-now3-scene {
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 12px;
    display: flex;
    align-items: flex-end;
    gap: 11px;
    z-index: 2;
}

#cercaAhoraV2 .cerca-now3-scene-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(2,6,23,.46);
    backdrop-filter: blur(9px);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

#cercaAhoraV2 .cerca-now3-featured .cerca-now3-scene-icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    border-radius: 16px;
}

#cercaAhoraV2 .cerca-now3-scene-icon .material-icons-round {
    font-size: 23px;
    color: var(--now3-cyan);
}

#cercaAhoraV2 .cerca-now3-scene > div:last-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}

#cercaAhoraV2 .cerca-now3-scene small {
    color: rgba(203,213,225,.72);
    font-size: .62rem;
    font-weight: 700;
}

#cercaAhoraV2 .cerca-now3-scene strong {
    color: #fff;
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.05;
}

#cercaAhoraV2 .cerca-now3-area {
    display: block;
    max-width: min(68vw, 330px);
    margin-top: 2px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: rgba(226,232,240,.78);
    font-size: .68rem;
}

/* FOTO REAL */
#cercaAhoraV2 .cerca-now3-media {
    background: #07101d;
}

#cercaAhoraV2 .cerca-now3-media .cerca-now2-image,
#cercaAhoraV2 .cerca-now3-real-image {
    width: 100%;
    height: 100% !important;
    display: block;
    object-fit: cover;
    margin: 0 !important;
    border-radius: 0 !important;
}

#cercaAhoraV2 .cerca-now3-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(2,6,23,.78), rgba(2,6,23,.03) 62%);
    pointer-events: none;
}

#cercaAhoraV2 .cerca-now3-media-overlay {
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 10px;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
}

#cercaAhoraV2 .cerca-now3-media-overlay > div {
    min-width: 0;
}

#cercaAhoraV2 .cerca-now3-media-overlay strong {
    display: block;
    max-width: min(66vw, 360px);
    margin-top: 4px;
    color: #fff;
    font-size: .72rem;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#cercaAhoraV2 .cerca-now3-real-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border-radius: 999px;
    color: #fff;
    background: rgba(2,6,23,.55);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(7px);
    font-size: .59rem;
    font-weight: 900;
    letter-spacing: .03em;
}

#cercaAhoraV2 .cerca-now3-real-badge .material-icons-round {
    font-size: 14px;
    color: var(--now3-cyan);
}

/* CONTEXTO DE ZONA */
#cercaAhoraV2 .cerca-now3-context {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: -1px 0 9px;
}

#cercaAhoraV2 .cerca-now3-context > span {
    min-width: 0;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 7px;
    border-radius: 8px;
    color: #94a3b8;
    background: rgba(148,163,184,.055);
    border: 1px solid rgba(148,163,184,.08);
    font-size: .62rem;
    font-weight: 750;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#cercaAhoraV2 .cerca-now3-context .material-icons-round {
    flex: 0 0 auto;
    font-size: 13px;
    color: #64748b;
}

#cercaAhoraV2 .cerca-now3-context .is-located {
    color: #bae6fd;
    background: rgba(14,165,233,.07);
    border-color: rgba(14,165,233,.10);
}

#cercaAhoraV2 .cerca-now3-context .is-located .material-icons-round {
    color: #38bdf8;
}

#cercaAhoraV2 .cerca-now3-context .is-verified {
    color: #bbf7d0;
    background: rgba(34,197,94,.07);
    border-color: rgba(34,197,94,.10);
}

#cercaAhoraV2 .cerca-now3-context .is-verified .material-icons-round {
    color: #4ade80;
}

/* Ajustes sobre el contenido actual */
#cercaAhoraV2 .cerca-now2-body {
    position: relative;
    z-index: 2;
}

#cercaAhoraV2 .cerca-now2-body h3 {
    line-height: 1.23;
    letter-spacing: -.012em;
}

#cercaAhoraV2 .cerca-now2-description {
    line-height: 1.48;
}

#cercaAhoraV2 .cerca-now2-category {
    box-shadow: none;
}

/* Color sutil por categoría */
#cercaAhoraV2 .cerca-now2-card[data-now3-cat="seguridad"] .cerca-now2-category,
#cercaAhoraV2 .cerca-now2-card[data-now3-cat="sos"] .cerca-now2-category,
#cercaAhoraV2 .cerca-now2-card[data-now3-cat="emergencia"] .cerca-now2-category {
    color: #fca5a5;
    border-color: rgba(239,68,68,.16);
    background: rgba(239,68,68,.07);
}

#cercaAhoraV2 .cerca-now2-card[data-now3-cat="accidente"] .cerca-now2-category,
#cercaAhoraV2 .cerca-now2-card[data-now3-cat="trafico"] .cerca-now2-category,
#cercaAhoraV2 .cerca-now2-card[data-now3-cat="vialidad"] .cerca-now2-category {
    color: #fcd34d;
    border-color: rgba(245,158,11,.15);
    background: rgba(245,158,11,.065);
}

#cercaAhoraV2 .cerca-now2-card[data-now3-cat="inundacion"] .cerca-now2-category,
#cercaAhoraV2 .cerca-now2-card[data-now3-cat="clima"] .cerca-now2-category {
    color: #93c5fd;
    border-color: rgba(59,130,246,.15);
    background: rgba(59,130,246,.065);
}

@media (min-width: 760px) {
    #cercaAhoraV2 .cerca-now3-visual,
    #cercaAhoraV2 .cerca-now3-media {
        height: 138px;
    }

    #cercaAhoraV2 .cerca-now3-featured .cerca-now3-visual,
    #cercaAhoraV2 .cerca-now3-featured .cerca-now3-media {
        height: 175px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #cercaAhoraV2 .cerca-now2-card {
        transition: none;
    }
}


/* ==========================================================
   CERCA AHORA V3.1 — MINI MAPA REAL
   ========================================================== */

#cercaAhoraV2 .cerca-now31-mini {
    position: relative;
    width: 100%;
    height: 138px;
    overflow: hidden;
    background: #07111d;
    border-bottom: 1px solid rgba(148,163,184,.10);
}

#cercaAhoraV2 .cerca-now3-featured .cerca-now31-mini {
    height: 162px;
}

#cercaAhoraV2 .cerca-now31-map {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at center, rgba(34,211,238,.08), transparent 55%),
        #0b1422;
}

#cercaAhoraV2 .cerca-now31-mini::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(to bottom, rgba(2,6,23,.58), transparent 34%),
        linear-gradient(to top, rgba(2,6,23,.80), transparent 56%);
}

#cercaAhoraV2 .cerca-now31-map-top,
#cercaAhoraV2 .cerca-now31-map-bottom {
    position:absolute;
    left:10px;
    right:10px;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    pointer-events:none;
}

#cercaAhoraV2 .cerca-now31-map-top {
    top:9px;
}

#cercaAhoraV2 .cerca-now31-map-top > span {
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:25px;
    padding:0 8px;
    border-radius:999px;
    color:#e2e8f0;
    background:rgba(2,6,23,.58);
    border:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(8px);
    font-size:.57rem;
    font-weight:900;
    letter-spacing:.07em;
}

#cercaAhoraV2 .cerca-now31-map-top > span .material-icons-round {
    font-size:14px;
    color:#22d3ee;
}

#cercaAhoraV2 .cerca-now31-map-top button {
    pointer-events:auto;
    appearance:none;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(2,6,23,.66);
    color:#fff;
    height:29px;
    padding:0 9px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:.62rem;
    font-weight:850;
    backdrop-filter:blur(8px);
}

#cercaAhoraV2 .cerca-now31-map-top button .material-icons-round {
    font-size:13px;
    color:#22d3ee;
}

#cercaAhoraV2 .cerca-now31-map-bottom {
    bottom:9px;
    justify-content:flex-start;
    align-items:flex-end;
}

#cercaAhoraV2 .cerca-now31-map-bottom > .material-icons-round {
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#22d3ee;
    background:rgba(2,6,23,.66);
    border:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(8px);
}

#cercaAhoraV2 .cerca-now31-map-bottom > div {
    min-width:0;
    display:grid;
    gap:1px;
    text-shadow:0 1px 8px rgba(0,0,0,.8);
}

#cercaAhoraV2 .cerca-now31-map-bottom strong {
    display:block;
    max-width:min(70vw,360px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#fff;
    font-size:.72rem;
    font-weight:900;
}

#cercaAhoraV2 .cerca-now31-map-bottom small {
    color:rgba(226,232,240,.72);
    font-size:.55rem;
    font-weight:650;
}

#cercaAhoraV2 .cerca-now31-mini .leaflet-control-attribution {
    font-size:7px !important;
    line-height:11px !important;
    padding:0 3px !important;
    opacity:.65;
}

#cercaAhoraV2 .cerca-now31-mini .leaflet-control-attribution a {
    font-size:7px !important;
}

#cercaAhoraV2 .cerca-now31-mini .leaflet-container {
    background:#0b1422;
    font-family:inherit;
}

#cercaAhoraV2 .cerca-now31-mini.map-unavailable .cerca-now31-map::before {
    content:"Mapa no disponible";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#64748b;
    font-size:.68rem;
    font-weight:800;
}

@media (min-width:760px) {
    #cercaAhoraV2 .cerca-now31-mini {
        height:155px;
    }

    #cercaAhoraV2 .cerca-now3-featured .cerca-now31-mini {
        height:185px;
    }
}


/* ==========================================================
   BLOQUE 3 — NUEVAS ACTUALIZACIONES V3.2
   ========================================================== */

/* ==========================================================
   CERCA AHORA V3.2 — AVISO DE NUEVAS ACTUALIZACIONES
   ========================================================== */

#cercaAhoraV2 .cerca-now32-new-banner {
    width: calc(100% - 4px);
    margin: 9px 2px 4px;
    padding: 9px 10px;
    min-height: 58px;

    appearance: none;
    border: 1px solid rgba(34, 211, 238, .24);
    border-radius: 15px;

    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;

    text-align: left;
    cursor: pointer;

    color: #e2f7ff;
    background:
        radial-gradient(circle at 10% 0%, rgba(34,211,238,.13), transparent 36%),
        linear-gradient(135deg, rgba(8,25,38,.98), rgba(8,17,30,.98));

    box-shadow:
        0 12px 30px rgba(0,0,0,.18),
        0 0 0 1px rgba(34,211,238,.025) inset;

    opacity: 0;
    transform: translateY(-7px) scale(.992);

    transition:
        opacity .20s ease,
        transform .20s ease,
        border-color .20s ease;

    position: relative;
    z-index: 4;
}

#cercaAhoraV2 .cerca-now32-new-banner[hidden] {
    display: none !important;
}

#cercaAhoraV2 .cerca-now32-new-banner.show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

#cercaAhoraV2 .cerca-now32-new-banner:active {
    transform: scale(.987);
}

#cercaAhoraV2 .cerca-now32-bell {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    position: relative;

    border-radius: 12px;

    color: #67e8f9;
    background: rgba(34,211,238,.10);
    border: 1px solid rgba(34,211,238,.16);
}

#cercaAhoraV2 .cerca-now32-bell .material-icons-round {
    font-size: 19px;
}

#cercaAhoraV2 .cerca-now32-bell i {
    width: 7px;
    height: 7px;

    position: absolute;
    top: 6px;
    right: 6px;

    border-radius: 50%;
    background: #22d3ee;

    box-shadow:
        0 0 0 3px rgba(34,211,238,.12),
        0 0 12px rgba(34,211,238,.65);

    animation: cercaNow32Pulse 1.7s ease-in-out infinite;
}

#cercaAhoraV2 .cerca-now32-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

#cercaAhoraV2 .cerca-now32-copy strong {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;

    color: #f0fbff;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.12;
}

#cercaAhoraV2 .cerca-now32-copy small {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;

    color: #8da7b8;
    font-size: .61rem;
    font-weight: 650;
}

#cercaAhoraV2 .cerca-now32-action {
    display: inline-flex;
    align-items: center;
    gap: 3px;

    padding-left: 5px;

    color: #67e8f9;
    font-size: .63rem;
    font-weight: 900;
    white-space: nowrap;
}

#cercaAhoraV2 .cerca-now32-action .material-icons-round {
    font-size: 15px;
}

@keyframes cercaNow32Pulse {
    0%, 100% {
        opacity: .72;
        transform: scale(.90);
    }

    50% {
        opacity: 1;
        transform: scale(1.15);
    }
}

@media (max-width: 370px) {
    #cercaAhoraV2 .cerca-now32-new-banner {
        grid-template-columns: 35px minmax(0,1fr) auto;
        gap: 7px;
        padding-left: 8px;
        padding-right: 8px;
    }

    #cercaAhoraV2 .cerca-now32-bell {
        width: 35px;
        height: 35px;
    }

    #cercaAhoraV2 .cerca-now32-action {
        font-size: .58rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    #cercaAhoraV2 .cerca-now32-new-banner,
    #cercaAhoraV2 .cerca-now32-bell i {
        transition: none;
        animation: none;
    }
}

/* @CERCA:V614:AHORA:BEGIN */
.cerca-now2-empty.is-loading{
    position:relative;
    overflow:hidden;
    border-style:solid;
    border-color:rgba(56,189,248,.14);
    background:linear-gradient(135deg,rgba(14,28,48,.78),rgba(7,16,30,.78));
}
.cerca-now2-empty.is-loading .material-icons-round{
    animation:cercaNowV614Radar 1.5s ease-in-out infinite;
}
.cerca-now2-loading-line{
    display:block;
    width:72%;
    height:3px;
    margin:14px auto 0;
    border-radius:999px;
    overflow:hidden;
    background:rgba(56,189,248,.08);
    position:relative;
}
.cerca-now2-loading-line::after{
    content:"";
    position:absolute;
    inset:0 auto 0 -45%;
    width:45%;
    border-radius:inherit;
    background:linear-gradient(90deg,transparent,#38bdf8,transparent);
    animation:cercaNowV614Line 1.25s ease-in-out infinite;
}
@keyframes cercaNowV614Line{to{left:100%}}
@keyframes cercaNowV614Radar{50%{opacity:.42;transform:scale(.93)}}
@media (prefers-reduced-motion:reduce){
    .cerca-now2-empty.is-loading .material-icons-round,
    .cerca-now2-loading-line::after{animation:none}
}
/* @CERCA:V614:AHORA:END */


/* @CERCA:V616:AHORA-SOCIAL:BEGIN */
/* CERCA_V616 · AHORA = feed social de 3 dias. */
#cercaAhoraV2 .cerca-now616-status{
    display:inline-flex;
    align-items:center;
    gap:4px;
    width:max-content;
    margin:-2px 0 8px;
    padding:3px 7px;
    border-radius:999px;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.04em;
}
#cercaAhoraV2 .cerca-now616-status .material-icons-round{font-size:13px}
#cercaAhoraV2 .cerca-now616-status.activo{
    color:#22c55e;
    background:rgba(34,197,94,.10);
    border:1px solid rgba(34,197,94,.25);
}
#cercaAhoraV2 .cerca-now616-status.finalizado{
    color:#94a3b8;
    background:rgba(148,163,184,.08);
    border:1px solid rgba(148,163,184,.18);
}
#cercaAhoraV2 .cerca-now616-status.publicado{
    color:#38bdf8;
    background:rgba(56,189,248,.09);
    border:1px solid rgba(56,189,248,.20);
}
#cercaAhoraV2 .cerca-now616-day{
    display:flex;
    align-items:center;
    gap:10px;
    margin:5px 2px 1px;
    color:var(--text-secondary);
    font-size:.64rem;
    font-weight:950;
    letter-spacing:.10em;
}
#cercaAhoraV2 .cerca-now616-day i{
    height:1px;
    flex:1;
    background:linear-gradient(90deg,rgba(148,163,184,.20),transparent);
}
#cercaAhoraV2 .cerca-now616-end{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    margin:7px 0 18px;
    padding:18px 14px;
    border:1px dashed rgba(148,163,184,.18);
    border-radius:18px;
    color:var(--text-secondary);
    text-align:center;
}
#cercaAhoraV2 .cerca-now616-end .material-icons-round{
    font-size:22px;
    color:#22c55e;
}
#cercaAhoraV2 .cerca-now616-end strong{
    color:var(--text-primary);
    font-size:.82rem;
}
#cercaAhoraV2 .cerca-now616-end span:last-child{
    font-size:.70rem;
    line-height:1.4;
}
/* @CERCA:V616:AHORA-SOCIAL:END */


/* ==========================================================
   CERCA-V628-AHORA-LAYOUT-STABLE
   V628 — El feed no se desplaza por actualizaciones automáticas.
   ========================================================== */

/*
   La fotografía reserva su tamaño antes de descargarse.
   Evita layout shift cuando termina loading="lazy".
*/
#view-ahora .cerca-now2-image,
#cercaAhoraV2 .cerca-now2-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: rgba(15, 23, 42, .08);
}

/*
   El aviso de novedades flota sobre AHORA.
   Ya no se inserta como altura nueva dentro del feed visible.
*/
#cercaNow32NewBanner.cerca-now32-new-banner {
    position: fixed !important;
    left: 50% !important;
    top: calc(env(safe-area-inset-top, 0px) + 78px) !important;
    width: min(calc(100vw - 28px), 520px) !important;
    margin: 0 !important;
    z-index: 12000 !important;
    transform: translate(-50%, -10px) !important;
    opacity: 0;
    pointer-events: none;
    box-sizing: border-box;
    transition:
        opacity .18s ease,
        transform .18s ease !important;
}

#cercaNow32NewBanner.cerca-now32-new-banner.show {
    transform: translate(-50%, 0) !important;
    opacity: 1;
    pointer-events: auto;
}

#cercaNow32NewBanner.cerca-now32-new-banner[hidden] {
    display: none !important;
}

@media (max-width: 520px) {
    #cercaNow32NewBanner.cerca-now32-new-banner {
        top: calc(env(safe-area-inset-top, 0px) + 68px) !important;
        width: calc(100vw - 20px) !important;
    }
}
