/* Santa Fe Te Expone — implementación de la maqueta aprobada, fase 1.
   Capa aditiva: no sustituye las reglas funcionales de las entregas anteriores. */
:root{color-scheme:dark}
.v19-approved{--atlas-bg:#0b0d19;--atlas-panel:#121426;--atlas-line:#342b51;--atlas-muted:#aab0c6;--atlas-violet:#bb41f6;--atlas-pink:#f006bd;--atlas-gold:#f7d78f;--atlas-green:#3de3be}
.v19-approved .nav{background:#080b17f5;border-bottom:1px solid #3e2656}
.v19-approved .nav-in{max-width:1720px}
.v19-approved .brand-mark{background:linear-gradient(135deg,#9e13e6,#ff00c8);box-shadow:0 0 24px #dd14ec5c;border-radius:11px}
.v19-approved .brand-name strong{background:linear-gradient(90deg,#ae73fa,#f000c4);color:transparent;background-clip:text}
.v19-approved .v18-nav-publish,.v19-approved .btn-primary{background:linear-gradient(105deg,#ff00c2,#8b26d8);box-shadow:0 10px 35px #d800e226;border:1px solid #dd79ea;font-weight:800}
.v19-approved .hero{background:radial-gradient(ellipse at 75% 0%,#67204a80,transparent 42%),linear-gradient(120deg,#11132a,#0a0b16 64%,#1a0f29);border-bottom:1px solid #473154}
.v19-approved .hero:before{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#0b0d17);pointer-events:none}
.v19-approved .hero h1{font-family:Georgia,serif;font-size:clamp(34px,4vw,62px);font-weight:700;letter-spacing:-2.2px}
.v19-approved .hero h1 span{background:linear-gradient(90deg,#ffa7f6,#a14dff);background-clip:text;color:transparent}
.v19-approved .section h2{letter-spacing:-.7px}
.v19-approved .v19-atlas-section{position:relative;margin:42px max(-28px,calc((100vw - 1720px)/-2));padding:28px clamp(10px,2vw,24px) 12px;background:#080b16;color:#eef0fc;border:1px solid #312347;border-radius:24px;box-shadow:0 30px 100px #0006}
.v19-approved .atlas-page-head{max-width:1600px;margin:0 auto 20px;padding:4px 10px}
.v19-approved .atlas-page-head h2{color:#fbf7ff;font:700 clamp(25px,2.9vw,38px)/1.2 Georgia,serif;margin:5px 0}
.v19-approved .atlas-page-head p{color:#b9b5c9;margin-top:6px;font-size:13px}
.v19-atlas{display:grid;grid-template-columns:minmax(245px,280px) minmax(400px,1fr) minmax(270px,315px);gap:12px;align-items:stretch;min-height:735px}
.v19-atlas *{box-sizing:border-box}
.v19-atlas .atlas-side{background:linear-gradient(165deg,#131429,#0c1020);border:1px solid #312b4e;border-radius:19px;padding:18px;min-width:0}
.v19-atlas .atlas-side-heading>span,.v19-atlas .atlas-result-heading>div>span{display:block;font-size:10px;font-weight:900;letter-spacing:.16em;color:#d64cff;margin-bottom:7px}
.v19-atlas .atlas-side-heading h3{font:700 29px/1.2 Georgia,serif;color:#fff;margin:0}
.v19-atlas .atlas-side-heading p{font-size:11px;line-height:1.6;color:#9da5b9;margin:7px 0 14px}
.v19-atlas .atlas-control{display:block;margin:0 0 13px}
.v19-atlas .atlas-control>span{display:block;font-size:12px;color:#e5e0f6;font-weight:750;margin:0 0 6px}
.v19-atlas .atlas-control select,.v19-atlas .atlas-control input{width:100%;padding:12px 10px;border:1px solid #493768;background:#0b1020;border-radius:10px;color:#f8f1ff;font:500 12px/1.3 system-ui,sans-serif;outline-offset:3px}
.v19-atlas .atlas-control input::placeholder{color:#9194ad}
.v19-atlas .atlas-control select:focus-visible,.v19-atlas .atlas-control input:focus-visible{outline:3px solid #b842f9}
.v19-atlas .atlas-filter-heading{color:#dcd3ec;font-size:12px;font-weight:800;margin:20px 0 9px}
.v19-atlas .atlas-chip-group{display:flex;gap:6px;flex-wrap:wrap}
.v19-atlas .atlas-chip-group button{color:#d8cdef;font-size:10px;background:#14152c;border:1px solid #493e62;border-radius:16px;padding:9px 11px;cursor:pointer}
.v19-atlas .atlas-chip-group button[aria-pressed=true]{background:linear-gradient(110deg,#b012d4,#6625dc);border-color:#b344ff;color:white}
.v19-atlas .atlas-filter-footer{margin-top:20px;background:#22163a;border:1px solid #532975;border-radius:12px;padding:12px 10px;display:flex;align-items:center;gap:10px}
.v19-atlas .atlas-filter-footer>strong{color:white;font-size:33px;line-height:1;font-variant-numeric:tabular-nums}
.v19-atlas .atlas-filter-footer>div{flex:1;min-width:0}
.v19-atlas .atlas-filter-footer b,.v19-atlas .atlas-filter-footer small{display:block}
.v19-atlas .atlas-filter-footer b{font-size:11px;color:#e9ddf1}
.v19-atlas .atlas-filter-footer small{font-size:10px;color:#b9abd0;margin-top:3px}
.v19-atlas .atlas-filter-footer button{font-size:19px;background:#2e2350;border:1px solid #7146a7;color:#fff;border-radius:9px;width:31px;height:31px;cursor:pointer}
.v19-atlas .atlas-precision-note{color:#a6adc0;font-size:10px;line-height:1.7;margin:15px 0 0}
.v19-atlas .atlas-center{min-width:0;display:flex;flex-direction:column;gap:9px;border-radius:17px;overflow:hidden;background:#111a23;border:1px solid #372e53;padding:9px}
.v19-atlas .atlas-map-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-height:55px}
.v19-atlas .atlas-map-title{display:flex;gap:9px;align-items:center;color:#f5f3ff;background:#1c1a35ed;border:1px solid #45305f;padding:8px 13px;border-radius:13px}
.v19-atlas .atlas-map-title>span{font-size:27px;color:#db67ff}
.v19-atlas .atlas-map-title b,.v19-atlas .atlas-map-title small{display:block}
.v19-atlas .atlas-map-title b{font-size:12px}
.v19-atlas .atlas-map-title small{font-size:10px;color:#c2b5d9}
.v19-atlas .atlas-zoom-presets{display:flex;padding:4px;border:1px solid #4b4167;border-radius:14px;background:#121528;flex-wrap:wrap;gap:3px}
.v19-atlas .atlas-zoom-presets button{cursor:pointer;border:0;border-radius:10px;background:transparent;color:#c9c7df;padding:9px 10px;font-size:11px;font-weight:850}
.v19-atlas .atlas-zoom-presets button.active{background:linear-gradient(130deg,#a318e0,#7b19ec);color:white}
.v19-atlas .atlas-map-options{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.v19-atlas .atlas-map-legend{background:#14182bdc;color:#dccfed;border:1px solid #4e3e65;border-radius:11px;padding:9px 10px;display:flex;gap:12px;flex-wrap:wrap;font-size:10px}
.v19-atlas .atlas-map-legend span:first-child{color:#d13af3}
.v19-atlas .atlas-map-buttons{display:flex;gap:5px;flex-wrap:wrap}
.v19-atlas .atlas-map-buttons button{cursor:pointer;background:#151a31;border:1px solid #524363;color:#e5e0ed;font-size:10px;border-radius:9px;padding:9px 7px;white-space:nowrap}
.v19-atlas .atlas-map-buttons button.active{background:#3b1f59;border-color:#a357db}
.v19-atlas .atlas-map-shell{flex:1;min-height:480px;border-radius:13px;border:1px solid #564765;isolation:isolate}
.v19-atlas .atlas-map-shell #leafletMap{height:100%;min-height:490px;background:#bfdcda}
.v19-atlas .leaflet-control-zoom{border:1px solid #493c5c;box-shadow:0 8px 25px #080a183b;margin-top:24px}
.v19-atlas .leaflet-control-zoom a{background:#111628;color:#fff;border-bottom-color:#3c3755}
.v19-atlas .leaflet-control-zoom a:hover{background:#6524ad;color:white}
.v19-atlas .map-floating{background:#131729e8;border:1px solid #433c5c;box-shadow:0 20px 50px #09091b8f;color:#e5daf0}
.v19-atlas .map-floating .legend-row{flex-wrap:wrap}
.v19-atlas .map-floating .map-status{color:#c7b2d5;font-size:10px}
.v19-atlas .atlas-map-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:7px 9px;color:#e4d8ef}
.v19-atlas .atlas-map-footer>div{display:grid;gap:3px}
.v19-atlas .atlas-map-footer span,.v19-atlas .atlas-map-footer strong{font-size:11px}
.v19-atlas .atlas-map-footer small{font-size:10px;color:#9ba6b9}
.v19-atlas .atlas-intelligence{display:flex;flex-direction:column;gap:15px}
.v19-atlas .atlas-intelligence .atlas-side-heading h3{font-size:27px}
.v19-atlas .atlas-river-metric{background:#191830;border:1px solid #42365f;border-radius:12px;padding:13px;margin-bottom:9px}
.v19-atlas .atlas-river-metric>div{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap}
.v19-atlas .atlas-river-metric strong{font-size:11px;color:#fff}
.v19-atlas .atlas-source-pill{font-size:9px;border-radius:99px;padding:4px 7px;background:#463120;color:#f7d59d}
.v19-atlas .atlas-river-metric>b{display:block;margin-top:9px;font-size:26px;color:#f4dcff}
.v19-atlas .atlas-river-metric>small{display:block;font-size:10px;color:#b2aac6;line-height:1.5;margin:5px 0 10px}
.v19-atlas .atlas-river-metric>a{color:#d765ff;font-size:10px;text-decoration:none;font-weight:750}
.v19-atlas .atlas-hydric-warning{color:#a6afc3;font-size:10px;line-height:1.5}
.v19-atlas .atlas-result-block{border-top:1px solid #372d51;padding-top:13px;min-height:250px;display:flex;flex-direction:column;flex:1}
.v19-atlas .atlas-result-heading{display:flex;align-items:start;justify-content:space-between;gap:8px}
.v19-atlas .atlas-result-heading h3{margin:0;font-size:13px;color:#f5effa}
.v19-atlas #atlasResultTitle{font-size:10px;color:#c1b1d5;white-space:nowrap}
.v19-atlas .atlas-results{overflow-y:auto;max-height:330px;margin:11px -5px 10px;padding:0 5px}
.v19-atlas .atlas-result{display:flex;width:100%;gap:8px;text-align:left;align-items:flex-start;padding:10px 7px;border-radius:10px;background:#111628;border:1px solid #332e4a;margin-bottom:7px;cursor:pointer;color:#edf0fa}
.v19-atlas .atlas-result:hover{border-color:#a041df;background:#1c1c36}
.v19-atlas .atlas-result-pin{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;flex:0 0 28px;background:#3e145f;color:#f4b5ff;font-size:19px}
.v19-atlas .atlas-result-pin.no-geo{background:#2a2d3e;color:#c3b8cb}
.v19-atlas .atlas-result-copy{display:block;min-width:0;flex:1}
.v19-atlas .atlas-result-copy strong{display:block;font-size:11px;line-height:1.3;color:#f7f3ff}
.v19-atlas .atlas-result-copy small,.v19-atlas .atlas-result-status{display:block;margin-top:4px;font-size:10px;color:#aaa5c8;line-height:1.4}
.v19-atlas .atlas-result-status{color:#ca91ef}
.v19-atlas .atlas-result-arrow{font-size:24px;color:#c354e9}
.v19-atlas .atlas-empty{padding:17px 8px;color:#bcb5cd;font-size:12px;line-height:1.6}
.v19-atlas .atlas-view-all{font-size:11px;background:#222038;border:1px solid #54416d;color:#dfa8ff;border-radius:10px;padding:9px;cursor:pointer;margin-top:auto}
.v19-approved .atlas-bottom-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#121326;border:1px solid #312d4c;border-radius:13px;margin-top:9px}
.v19-approved .atlas-bottom-status>div{padding:13px 16px;display:grid;gap:3px}
.v19-approved .atlas-bottom-status>div+div{border-left:1px solid #443859}
.v19-approved .atlas-bottom-status b{font-size:12px;color:#dd93ff}
.v19-approved .atlas-bottom-status small{color:#b1a9c2;font-size:10px;line-height:1.5}
.v19-approved .sfte-thread{margin:25px 0 20px;padding:17px;border:1px solid #48345d;border-radius:15px;background:#171427}
.v19-approved .sfte-thread-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}
.v19-approved .sfte-thread-heading h3{margin:0;color:#f8ebff}
.v19-approved .sfte-thread-heading h3 span{color:#c281f2}
.v19-approved .sfte-thread-list{margin:15px 0}
.v19-approved .sfte-thread-comment{display:flex;gap:11px;border:1px solid #3a3050;background:#111323;border-radius:12px;padding:12px;margin:9px 0;color:#e5d7f3}
.v19-approved .sfte-comment-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(130deg,#5a1fe0,#dd43ce);font-weight:900;color:white}
.v19-approved .sfte-thread-body{min-width:0;flex:1}
.v19-approved .sfte-comment-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;color:#f4eafe}
.v19-approved .sfte-comment-meta time{color:#a9a2bd;font-weight:500}
.v19-approved .sfte-thread-body>p{color:#ded3e9;font-size:12px;line-height:1.6;margin:7px 0}
.v19-approved .sfte-reply{background:transparent;border:0;color:#c78ffc;padding:3px 0;cursor:pointer;font-size:11px}
.v19-approved .sfte-thread-children{padding-left:18px;margin-top:11px;border-left:2px solid #6a3fa3}
.v19-approved .sfte-no-comments,.v19-approved .sfte-thread-policy{font-size:11px;color:#afa5be;line-height:1.5}
.v19-approved .sfte-thread-form{display:grid;gap:10px;padding:15px;background:#21192c;border-radius:12px}
.v19-approved .sfte-thread-form h4{margin:0;color:#fff}
.v19-approved .sfte-thread-form label{display:grid;gap:5px;color:#eaddf1;font-size:12px}
.v19-approved .sfte-thread-form input,.v19-approved .sfte-thread-form textarea{background:#0e1020;border:1px solid #56416e;border-radius:10px;padding:10px;color:white;width:100%}
.v19-approved .sfte-thread-actions{display:flex;gap:10px;justify-content:flex-end}
.v19-approved .sfte-thread-error{color:#fecaca;font-size:12px}
@media (max-width:1420px){.v19-atlas{grid-template-columns:minmax(230px,270px) minmax(400px,1fr)}.v19-atlas .atlas-intelligence{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.v19-atlas .atlas-river-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start}.v19-atlas .atlas-river-block .atlas-side-heading,.v19-atlas .atlas-hydric-warning{grid-column:1/-1}.v19-atlas .atlas-river-metric{margin-bottom:0}.v19-atlas .atlas-results{max-height:270px}}
@media (max-width:850px){.v19-approved .v19-atlas-section{margin:30px -8px;padding:14px 9px}.v19-atlas{grid-template-columns:1fr;min-height:0}.v19-atlas .atlas-filters{order:2}.v19-atlas .atlas-center{order:1;min-height:550px}.v19-atlas .atlas-intelligence{order:3;grid-column:auto;grid-template-columns:1fr 1fr}.v19-atlas .atlas-control{display:inline-block;width:calc(50% - 7px);margin:0 5px 12px 0;vertical-align:top}.v19-atlas .atlas-map-shell #leafletMap{height:460px;min-height:460px}.v19-atlas .atlas-map-shell{min-height:460px;flex:unset}.v19-atlas .atlas-side-heading p{max-width:550px}}
@media (max-width:600px){.v19-atlas .atlas-intelligence{grid-template-columns:1fr}.v19-atlas .atlas-control{width:100%;display:block}.v19-atlas .atlas-river-block{grid-template-columns:1fr}.v19-atlas .atlas-map-options{flex-direction:column;align-items:stretch}.v19-atlas .atlas-map-title{width:100%}.v19-atlas .atlas-map-top{display:block}.v19-atlas .atlas-zoom-presets{margin-top:7px}.v19-atlas .atlas-zoom-presets button{flex:1;padding:9px 5px}.v19-atlas .atlas-map-buttons button{flex:1}.v19-atlas .atlas-map-shell #leafletMap{height:400px;min-height:400px}.v19-atlas .atlas-map-shell{min-height:400px}.v19-approved .atlas-bottom-status{grid-template-columns:1fr}.v19-approved .atlas-bottom-status>div+div{border-left:0;border-top:1px solid #443859}.v19-atlas .atlas-map-footer{display:block}.v19-atlas .atlas-map-footer>div+div{margin-top:8px}}
@media (prefers-reduced-motion:reduce){.v19-approved *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Estado vacío de la cartografía: no fabricamos ubicaciones para completar el plano. */
.v19-approved .atlas-map-shell{position:relative}
.v19-approved .atlas-map-empty:not([hidden]){position:absolute;z-index:480;left:50%;bottom:74px;transform:translateX(-50%);width:min(85%,420px);border:1px solid #765b9d;border-radius:13px;background:#111325f0;color:#f1e9ff;box-shadow:0 8px 32px #0008;padding:12px 16px;text-align:center;font-size:12px;line-height:1.45;pointer-events:none}
.v19-approved .atlas-map-empty[hidden]{display:none}
.v19-approved .fallback-zoom{position:absolute;right:14px;top:210px;z-index:5;display:grid;gap:3px}
.v19-approved .fallback-zoom button{width:36px;height:36px;background:#18162c;color:#fff;font-size:23px;font-weight:800;border:1px solid #84519c;border-radius:7px;cursor:pointer}
.v19-approved .fallback-zoom button:disabled{opacity:.4;cursor:not-allowed}
.v19-approved .fallback-intro{position:relative;z-index:2}
@media(max-width:600px){.v19-approved .atlas-map-empty:not([hidden]){bottom:90px;font-size:11px}.v19-approved .fallback-zoom{top:142px;right:5px}}

/* Maqueta aprobada: el explorador ocupa realmente el ancho de la ventana,
   sin comprimir el callejero a 400 px dentro de un contenedor de portada. */
.v19-approved .v19-atlas-section{left:50%;transform:translateX(-50%);width:min(1690px,calc(100vw - 32px));margin:42px 0;padding:28px clamp(12px,2vw,26px) 14px;scroll-margin-top:140px}
.v19-approved .hero{background:linear-gradient(90deg,#0a0c1eea 0%,#0a0c20a1 40%,#0c09219c 100%),url('../images/portada-escena-ilustrativa.webp') center 53% / cover no-repeat;border-bottom:1px solid #473154}
.v19-approved .hero:after{content:'ESCENA ILUSTRATIVA';position:absolute;right:18px;bottom:8px;color:#ded4e6b8;font-size:9px;letter-spacing:.08em;pointer-events:none}
.v19-approved .atlas-page-head{max-width:unset}
@media(max-width:850px){.v19-approved .v19-atlas-section{left:50%;width:calc(100vw - 18px);margin:28px 0;padding:14px 9px}.v19-approved .hero{background-position:center}}
@media(max-width:600px){.v19-approved .hero:after{font-size:7px;bottom:4px}}
