.ja-maps-app{--mag:#e4005a;--orange:#ff7a00;--green:#2f8a57;--ink:#33373a;--muted:#74787b;--paper:#f7f3ed;--line:#ece7e1;--live:#d90b46}.ja-maps-app *{box-sizing:border-box}.ja-maps-app,.ja-maps-app{height:100%}.ja-maps-app{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}.ja-maps-app button,.ja-maps-app select,.ja-maps-app input{font:inherit}.ja-maps-app .hidden{display:none!important}.ja-maps-app .topbar{height:82px;padding:13px 18px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px}.ja-maps-app .topbar img{width:205px}.ja-maps-app .threadline{height:2px;flex:1;max-width:420px;background:linear-gradient(90deg,var(--orange),var(--mag),var(--green),transparent)}.ja-maps-app .meta{margin-left:auto;text-align:right;font-size:12px;color:var(--muted)}.ja-maps-app .toolbar{background:#fff;display:flex;gap:8px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.ja-maps-app .toolbar select,.ja-maps-app .toolbar input,.ja-maps-app .toolbar button,.ja-maps-app .editLink{border:1px solid #ddd;background:#fff;border-radius:11px;padding:9px 11px;color:var(--ink);text-decoration:none}.ja-maps-app .toolbar select{min-width:300px}.ja-maps-app .toolbar input{flex:1;min-width:180px}.ja-maps-app .toolbar button{font-weight:800}.ja-maps-app .toolbar button.active{background:var(--mag);color:#fff;border-color:var(--mag)}.ja-maps-app .editLink{font-weight:800;color:var(--mag)}.ja-maps-app .demoFlag{font-size:11px;font-weight:900;color:var(--mag);background:#fff1f6;border-radius:999px;padding:7px 10px}.ja-maps-app .shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;padding:14px;height:calc(100vh - 140px);max-width:1680px;margin:auto}.ja-maps-app .viewer{position:relative;background:#ece7e1;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px #0001;min-height:560px}.ja-maps-app .viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.ja-maps-app .viewport.dragging{cursor:grabbing}.ja-maps-app .stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.ja-maps-app .stage img{position:absolute;inset:0;display:block;user-select:none;pointer-events:none}.ja-maps-app .hotspotLayer{position:absolute;inset:0;overflow:visible}.ja-maps-app .hotspot{fill:var(--mag);fill-opacity:.03;stroke:transparent;stroke-width:4;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .15s,stroke .15s,filter .15s}.ja-maps-app .hotspot:hover{fill-opacity:.17;stroke:var(--mag);filter:drop-shadow(0 0 8px #e4005a66)}.ja-maps-app .hotspot.selected{fill-opacity:.27;stroke:var(--mag);stroke-width:6;filter:drop-shadow(0 0 13px #e4005a99);animation:pulse 1.3s ease-out 2}@keyframes pulse{50%{fill-opacity:.4;filter:drop-shadow(0 0 20px #e4005acc)}}.ja-maps-app .maptitle{position:absolute;left:14px;top:14px;z-index:8;background:#fffefc;padding:10px 13px;border-radius:12px;box-shadow:0 4px 16px #0002;font-weight:900}.ja-maps-app .maptitle small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.ja-maps-app .zoom{position:absolute;right:14px;bottom:14px;z-index:12;display:flex;gap:6px;background:#fff;padding:6px;border-radius:13px;box-shadow:0 4px 16px #0002}.ja-maps-app .zoom button{width:40px;height:40px;border:1px solid #ddd;border-radius:10px;background:#fff;font-size:18px}.ja-maps-app .selectionToast{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:18;background:#25292c;color:#fff;border-radius:14px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr;gap:0 8px;box-shadow:0 8px 30px #0004}.ja-maps-app .selectionToast span{grid-row:1/3;color:#ff7a00;font-size:20px}.ja-maps-app .selectionToast b{font-size:13px}.ja-maps-app .selectionToast small{font-size:10px;opacity:.75}.ja-maps-app .drawer{position:absolute;right:18px;top:72px;z-index:15;width:min(390px,calc(100% - 36px));background:#fff;border:2px solid var(--mag);border-radius:18px;padding:18px;box-shadow:0 18px 60px #0004;animation:slide .2s ease-out}@keyframes slide{from{transform:translateX(20px);opacity:0}}.ja-maps-app .drawerClose{position:absolute;right:10px;top:10px;border:0;background:#f5f2ef;width:34px;height:34px;border-radius:50%;font-size:20px}.ja-maps-app .eyebrow{color:var(--orange);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.ja-maps-app .drawer h2{font-size:26px;margin:4px 36px 4px 0}.ja-maps-app .drawer p{margin:0 0 12px;color:var(--muted);font-size:13px}.ja-maps-app .liveBox{border:1px solid var(--line);border-radius:14px;padding:12px}.ja-maps-app .liveHead{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:900;letter-spacing:.08em}.ja-maps-app .liveDot{width:8px;height:8px;border-radius:50%;background:#aaa}.ja-maps-app .islive .liveDot{background:var(--live);box-shadow:0 0 0 5px #e4005a15}.ja-maps-app .islive .liveHead{color:var(--live)}.ja-maps-app .sessionTitle{font-weight:900;margin:7px 0 2px}.ja-maps-app .sessionMeta,.ja-maps-app .nextLabel{font-size:12px;color:var(--muted)}.ja-maps-app .nextLabel{font-size:10px;font-weight:900;text-transform:uppercase;margin-top:10px}.ja-maps-app .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.ja-maps-app .actions a,.ja-maps-app .actions button{border:1px solid #ddd;border-radius:11px;padding:11px;text-align:center;text-decoration:none;background:#fff;font-weight:900;font-size:12px;color:var(--ink)}.ja-maps-app .actions .primary{background:var(--mag);color:#fff;border-color:var(--mag)}.ja-maps-app .actions .stream{background:var(--ink);color:#fff;border-color:var(--ink)}.ja-maps-app .actions .wide{grid-column:1/-1}.ja-maps-app .mapBtn{background:#fff7e8!important;border-color:#ffbf65!important}.ja-maps-app .panel{background:#fff;border-radius:18px;box-shadow:0 10px 35px #0001;overflow:auto}.ja-maps-app .panelHead{padding:18px;border-bottom:1px solid var(--line)}.ja-maps-app .panelHead h2{margin:5px 0;font-size:22px}.ja-maps-app .hint{font-size:12px;color:var(--muted);margin:0}.ja-maps-app .locationList{padding:10px}.ja-maps-app .locCard{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 12px;margin:6px 0;cursor:pointer}.ja-maps-app .locCard:hover,.ja-maps-app .locCard.active{border-color:var(--mag);box-shadow:0 5px 18px #e4005a15}.ja-maps-app .locCard .type{font-size:10px;text-transform:uppercase;font-weight:900;color:var(--mag);display:block}.ja-maps-app .locCard b{display:block;margin-top:3px}.ja-maps-app .locCard small{display:block;color:var(--muted);margin-top:3px}.ja-maps-app .modalBack{position:fixed;inset:0;background:#1119;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.ja-maps-app .modal{width:min(720px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:20px}.ja-maps-app .modalHead{display:flex;gap:10px;padding:18px;border-bottom:1px solid var(--line)}.ja-maps-app .modalHead h3{margin:3px 0;font-size:25px}.ja-maps-app .pill{font-size:10px;text-transform:uppercase;font-weight:900;border-radius:999px;padding:6px 8px;background:#fff1f6;color:var(--mag)}.ja-maps-app .close{margin-left:auto;width:38px;height:38px;border-radius:50%;border:1px solid #ddd;background:#fff}.ja-maps-app .modalBody{padding:14px 18px 20px}.ja-maps-app .agendaItem{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.ja-maps-app .agendaTime{font-weight:900;color:var(--mag)}.ja-maps-app .agendaItem b,.ja-maps-app .agendaItem span{display:block}.ja-maps-app .agendaItem span{color:var(--muted);font-size:12px;margin-top:3px}.ja-maps-app .demoNote{background:#fff7e8;border:1px solid #ffe0aa;border-radius:12px;padding:10px 12px;font-size:12px;margin-bottom:10px}.ja-maps-app .noAgenda{color:var(--muted);font-size:12px;padding:8px 0}@media (max-width:960px){.ja-maps-app .shell{grid-template-columns:1fr;height:auto}.ja-maps-app .viewer{height:68vh}.ja-maps-app .panel{max-height:none}.ja-maps-app .drawer{left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:55%;overflow:auto}.ja-maps-app .meta,.ja-maps-app .threadline{display:none}.ja-maps-app .toolbar select{min-width:0;flex:1}.ja-maps-app .selectionToast{max-width:86%;width:max-content}.ja-maps-app .topbar img{width:180px}}

/* V5 · Header Academy con degradado (pensado para logo blanco) */
.ja-maps-app .topbar{background:linear-gradient(105deg,#e4005a 0%,#b01664 48%,#ff7a00 100%);border-bottom:0;color:#fff;box-shadow:0 5px 22px #6b18351f}
.ja-maps-app .topbar img{filter:none}
.ja-maps-app .topbar .threadline{height:1px;background:linear-gradient(90deg,#ffffffa8,#ffffff28,transparent)}
.ja-maps-app .topbar .meta{color:#fff;opacity:.96}
.ja-maps-app .topbar .meta b{color:#fff}

/* V5.1 · Ficha informativa de espacios */
.ja-maps-app .actions{grid-template-columns:1fr 1fr}
.ja-maps-app .actions #infoBtn{grid-column:1/-1}
.ja-maps-app .modalTabs{display:flex;gap:6px;padding:10px 18px 0;border-bottom:1px solid var(--line)}
.ja-maps-app .modalTabs button{border:0;background:transparent;padding:10px 12px;font-weight:900;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer}
.ja-maps-app .modalTabs button.active{color:var(--mag);border-bottom-color:var(--mag)}
.ja-maps-app .infoBody{padding-top:18px}.ja-maps-app .infoIntro{max-width:650px}.ja-maps-app .infoIntro p{margin:0 0 10px;color:var(--ink);line-height:1.5}.ja-maps-app .infoIntro .infoSummary{font-size:18px;font-weight:800;line-height:1.3}.ja-maps-app .infoGallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.ja-maps-app .infoGallery figure{margin:0;border-radius:14px;overflow:hidden;background:#f3f0ec;border:1px solid var(--line)}.ja-maps-app .infoGallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.ja-maps-app .infoGallery figcaption{padding:8px 10px;font-size:11px;color:var(--muted)}.ja-maps-app .galleryEmpty{margin-top:18px;border:1px dashed #d8d1ca;border-radius:14px;padding:18px;background:#faf8f5;color:var(--muted);display:flex;flex-direction:column;gap:5px}.ja-maps-app .galleryEmpty b{color:var(--ink)}.ja-maps-app .galleryEmpty code{font-size:11px;color:var(--mag)}
@media (max-width:620px){.ja-maps-app .infoGallery{grid-template-columns:1fr}}

/* V5.2 · Refinamiento UX de acciones y transición entre mapas */
.ja-maps-app button,.ja-maps-app a,.ja-maps-app .hotspot,.ja-maps-app .locCard,.ja-maps-app .modalTabs button,.ja-maps-app .infoGallery img{cursor:pointer}
.ja-maps-app .actions button,.ja-maps-app .actions a,.ja-maps-app .zoom button,.ja-maps-app .toolbar button,.ja-maps-app .editLink,.ja-maps-app .close,.ja-maps-app .drawerClose,.ja-maps-app .locCard{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,opacity .16s ease}
.ja-maps-app .actions button:hover,.ja-maps-app .actions a:hover,.ja-maps-app .zoom button:hover,.ja-maps-app .toolbar button:hover,.ja-maps-app .editLink:hover,.ja-maps-app .close:hover,.ja-maps-app .drawerClose:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000012}
.ja-maps-app .actions button:active,.ja-maps-app .actions a:active,.ja-maps-app .zoom button:active,.ja-maps-app .locCard:active{transform:translateY(0) scale(.985)}
.ja-maps-app .mapBtn{display:flex!important;align-items:center;gap:10px;text-align:left;padding:11px 12px!important;color:#7b4b00!important;background:#fff8ec!important}
.ja-maps-app .mapBtn.hidden{display:none!important}
.ja-maps-app .exploreIcon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#ffebc6;color:var(--orange);font-size:23px;font-weight:900}
.ja-maps-app .exploreCopy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ja-maps-app .exploreCopy b{font-size:12px;color:var(--ink)}.ja-maps-app .exploreCopy small{font-size:10px;color:#8a765c;font-weight:600}.ja-maps-app .exploreArrow{font-size:18px;color:var(--orange);font-weight:900}
.ja-maps-app .agendaAcademyLink{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#fff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.ja-maps-app .agendaAcademyLink:hover{transform:translateY(-1px);border-color:var(--mag);box-shadow:0 8px 22px #e4005a12}.ja-maps-app .agendaAcademyLink>span{color:var(--mag);font-size:18px}.ja-maps-app .agendaAcademyLink b{font-size:12px}.ja-maps-app .agendaAcademyLink small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.ja-maps-app .agendaAcademyLink strong{color:var(--mag);font-size:18px}
.ja-maps-app .stage{transition:opacity .24s ease,filter .24s ease}.ja-maps-app .stage.mapFadeOut{opacity:0;filter:blur(2px)}.ja-maps-app .stage.mapFadeIn{animation:mapReveal .46s ease both}@keyframes mapReveal{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
.ja-maps-app .viewer.mapChanging .hotspotLayer{pointer-events:none}.ja-maps-app .viewer.mapChanging .drawer{pointer-events:none;opacity:.7}
@media (prefers-reduced-motion:reduce){.ja-maps-app .stage,.ja-maps-app .actions button,.ja-maps-app .actions a,.ja-maps-app .zoom button,.ja-maps-app .locCard{transition:none!important}.ja-maps-app .stage.mapFadeIn{animation:none!important}}


/* V5.3 · Buscador global */
.ja-maps-app .searchWrap{position:relative;flex:1;min-width:260px;z-index:60}
.ja-maps-app .toolbar .searchWrap input{width:100%;min-width:0;padding-right:42px}
.ja-maps-app .searchClear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0!important;border-radius:50%!important;padding:0!important;background:#f4f0ed!important;color:var(--ink);font-size:19px;line-height:1;cursor:pointer}
.ja-maps-app .searchClear:hover{background:#ece5e1!important;transform:translateY(-50%)!important;box-shadow:none!important}
.ja-maps-app .searchResults{position:absolute;left:0;right:0;top:calc(100% + 7px);max-height:min(64vh,580px);overflow:auto;background:#fff;border:1px solid #ddd;border-radius:15px;box-shadow:0 18px 48px #28141d33;padding:7px;z-index:80}
.ja-maps-app .searchGroupLabel{padding:8px 9px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--orange)}
.ja-maps-app .searchResult{width:100%;border:0;background:#fff;text-align:left;border-radius:11px;padding:9px 10px;display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;color:var(--ink);cursor:pointer}
.ja-maps-app .searchResult:hover,.ja-maps-app .searchResult:focus-visible{background:#fff3f7;outline:none}
.ja-maps-app .searchResultIcon{width:32px;height:32px;border-radius:9px;background:#fff1f6;color:var(--mag);display:grid;place-items:center;font-weight:900;font-size:14px}
.ja-maps-app .searchResult.agendaResult .searchResultIcon{background:#fff7e8;color:#bf6200}
.ja-maps-app .searchResultCopy{min-width:0}
.ja-maps-app .searchResultCopy b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ja-maps-app .searchResultCopy small{display:block;color:var(--muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ja-maps-app .searchResultMeta{font-size:10px;color:var(--muted);text-align:right;white-space:nowrap}
.ja-maps-app .searchEmpty{padding:18px 12px;text-align:center;color:var(--muted);font-size:12px}
.ja-maps-app .searchHint{padding:8px 10px 10px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);margin-top:5px}
.ja-maps-app .searchMark{color:var(--mag)}
@media (max-width:960px){.ja-maps-app .searchWrap{order:10;flex-basis:100%;min-width:100%}.ja-maps-app .searchResults{max-height:52vh}}

/* WordPress native integration: no iframe, no duplicate Academy header. */
.ja-maps-app.ja-maps-native{--ja-map-page-gutter:0;width:100%;max-width:none;margin:0;background:transparent;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.ja-maps-app.ja-maps-native .shell{height:min(790px,calc(100vh - 210px));min-height:650px;padding:0;margin:0;max-width:none}
.ja-maps-app.ja-maps-native .toolbar{padding:10px 0 12px;background:transparent;border:0}
.ja-maps-app.ja-maps-native .viewer,.ja-maps-app.ja-maps-native .panel{border:1px solid var(--line)}
.ja-maps-app.ja-maps-native .modalBack{z-index:100000}
@media(max-width:960px){.ja-maps-app.ja-maps-native .shell{height:auto;min-height:0}.ja-maps-app.ja-maps-native .viewer{height:68vh;min-height:520px}}

/* v0.3.0 · Navegación A–T orientada a escenarios */
.ja-maps-app .scenarioNavWrap{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:55}
.ja-maps-app .dayNav{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ja-maps-app .navLabel{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-right:3px}
.ja-maps-app .dayNav button,.ja-maps-app .scenarioChip{border:1px solid #ddd;background:#fff;color:var(--ink);font-weight:900;border-radius:10px;min-height:36px;padding:0 12px;cursor:pointer}
.ja-maps-app .dayNav button.active,.ja-maps-app .scenarioChip.active{background:var(--mag);border-color:var(--mag);color:#fff;box-shadow:0 7px 18px #e4005a24}
.ja-maps-app .scenarioNav{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.ja-maps-app .scenarioChips{display:flex;gap:5px;min-width:0;overflow-x:auto;padding:2px 2px 5px;scrollbar-width:thin}.ja-maps-app .scenarioChip{min-width:38px;padding:0 9px}.ja-maps-app .scenarioChip.all{min-width:auto}.ja-maps-app .scenarioChip.no-program:not(.active){opacity:.52;border-style:dashed}
.ja-maps-app .mapSelectField{display:flex;align-items:center;gap:8px;flex:0 1 350px;min-width:250px}.ja-maps-app .mapSelectField>span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.ja-maps-app .mapSelectField select{min-width:0!important;width:100%}
.ja-maps-app .scenarioSheetToggle{display:none!important}
.ja-maps-app .scenarioPanelClose{display:none;position:absolute;right:12px;top:12px;z-index:4;border:0;background:#f4f0ed;width:36px;height:36px;border-radius:50%;font-size:21px;color:var(--ink)}
.ja-maps-app .scenarioList{padding:10px 10px 14px}.ja-maps-app .scenarioGroup{margin:0 0 13px}.ja-maps-app .scenarioGroup h3{margin:8px 7px 5px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.ja-maps-app .scenarioRow{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px;margin:5px 0;color:var(--ink);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.ja-maps-app .scenarioRow:hover{border-color:#e4005a66;box-shadow:0 6px 16px #e4005a12;transform:translateY(-1px)}.ja-maps-app .scenarioRow.active{border-color:var(--mag);background:#fff5f8;box-shadow:0 6px 18px #e4005a18}.ja-maps-app .scenarioRow.no-program{opacity:.58}.ja-maps-app .scenarioCode{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff1f6;color:var(--mag);font-weight:1000;font-size:15px}.ja-maps-app .scenarioRow.active .scenarioCode{background:var(--mag);color:#fff}.ja-maps-app .scenarioCopy{min-width:0}.ja-maps-app .scenarioCopy b{display:block;font-size:12px;line-height:1.25}.ja-maps-app .scenarioCopy small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.25}.ja-maps-app .scenarioMeta{font-size:9px;font-weight:800;color:var(--muted);white-space:nowrap}
.ja-maps-app .placesExplore{border-top:1px solid var(--line);margin-top:2px}.ja-maps-app .placesExplore summary{cursor:pointer;list-style:none;padding:13px 16px;font-size:11px;font-weight:900;color:var(--ink);background:#faf8f5}.ja-maps-app .placesExplore summary::-webkit-details-marker{display:none}.ja-maps-app .placesExplore summary::after{content:'+';float:right;color:var(--mag);font-size:16px}.ja-maps-app .placesExplore[open] summary::after{content:'−'}
.ja-maps-app .detailSite{font-size:11px;font-weight:800;color:var(--muted);margin:-1px 0 10px}.ja-maps-app .detailProgram{display:grid;gap:3px;margin:0 0 12px;padding:10px 12px;border-left:4px solid var(--orange);background:#fff8ed;border-radius:8px}.ja-maps-app .detailProgram small{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#a95c08}.ja-maps-app .detailProgram strong{font-size:13px;line-height:1.3;color:var(--ink)}
.ja-maps-app .scenarioMarker{cursor:pointer;filter:drop-shadow(0 4px 7px #0004)}.ja-maps-app .scenarioMarker rect{fill:#fff;stroke:var(--mag);stroke-width:4;vector-effect:non-scaling-stroke}.ja-maps-app .scenarioMarker text{fill:var(--mag);font-size:25px;font-weight:1000;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.ja-maps-app .scenarioMarker:hover rect,.ja-maps-app .scenarioMarker.active rect{fill:var(--mag)}.ja-maps-app .scenarioMarker:hover text,.ja-maps-app .scenarioMarker.active text{fill:#fff}.ja-maps-app .scenarioMarker.groupMarker rect{fill:#25292ce8;stroke:#fff;stroke-width:3}.ja-maps-app .scenarioMarker.groupMarker text{fill:#fff;font-size:22px}
.ja-maps-app .searchResult.scenarioResult .searchResultIcon{background:var(--mag);color:#fff}

@media(max-width:1100px){.ja-maps-app .scenarioNavWrap{align-items:flex-start;flex-direction:column;gap:8px}.ja-maps-app .scenarioNav{width:100%}.ja-maps-app .scenarioChips{flex:1}.ja-maps-app.ja-maps-native .shell{height:min(760px,calc(100vh - 245px))}}
@media(max-width:960px){
  .ja-maps-app .scenarioNavWrap{padding:9px 10px}.ja-maps-app .navLabel{display:none}.ja-maps-app .scenarioNav{display:block}.ja-maps-app .scenarioChips{display:flex}.ja-maps-app .scenarioChip{min-width:36px;min-height:34px}.ja-maps-app .scenarioChip.all{display:none}
  .ja-maps-app .mapSelectField{flex:1 1 100%;min-width:0}.ja-maps-app .mapSelectField>span{display:none}.ja-maps-app .scenarioSheetToggle{display:inline-flex!important;align-items:center;justify-content:center;border-color:var(--mag)!important;color:var(--mag)!important;background:#fff5f8!important}
  .ja-maps-app .scenarioPanel{position:fixed!important;left:10px;right:10px;bottom:10px;top:auto;z-index:100002;max-height:72vh!important;border:1px solid #ddd!important;border-radius:18px!important;box-shadow:0 18px 70px #0006!important;transform:translateY(calc(100% + 24px));transition:transform .25s ease;overflow:auto!important}.ja-maps-app .scenarioPanel.mobile-open{transform:translateY(0)}.ja-maps-app .scenarioPanelClose{display:block}.ja-maps-app .scenarioPanel .panelHead{padding-right:58px}.ja-maps-app .scenarioList{padding-bottom:24px}
  .ja-maps-app .scenarioRow{grid-template-columns:40px minmax(0,1fr)}.ja-maps-app .scenarioMeta{grid-column:2;white-space:normal;margin-top:-4px}
  .ja-maps-app .drawer{z-index:70}.ja-maps-app .maptitle{max-width:70%;font-size:12px}.ja-maps-app .maptitle small{font-size:9px}
}
.ja-maps-app.ja-maps-native .shell{grid-template-columns:minmax(0,1fr) 380px}
@media(max-width:960px){.ja-maps-app.ja-maps-native .shell{grid-template-columns:1fr}}

/* JA Maps 0.4.1 — fullscreen del plano y respiración visual. */
.ja-maps-app .zoom .fullscreenBtn{font-size:17px;font-weight:900}
.ja-maps-app .viewer:fullscreen,.ja-maps-app .viewer:-webkit-full-screen{width:100vw!important;height:100vh!important;min-height:100vh!important;border-radius:0!important;border:0!important;background:#ece7e1}
.ja-maps-app .viewer:fullscreen .viewport,.ja-maps-app .viewer:-webkit-full-screen .viewport{inset:0}
.ja-maps-app .viewer.ja-map-fullscreen-fallback{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;z-index:1000000!important;border-radius:0!important;border:0!important;background:#ece7e1}
body.ja-map-fullscreen-lock{overflow:hidden!important}
@media(max-width:760px){.ja-maps-app .zoom{right:10px;bottom:10px}.ja-maps-app .zoom button{width:38px;height:38px}}


/* JA Maps 0.4.2 — navegación A–T redonda, scroll limpio y Modo Exploración fullscreen. */
.ja-maps-app .dayNav button,.ja-maps-app .scenarioChip{border-radius:999px}
.ja-maps-app .scenarioChip:not(.all){width:38px;min-width:38px;height:38px;min-height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px}
.ja-maps-app .scenarioChip.all{border-radius:999px;padding-inline:16px}
.ja-maps-app .scenarioChips{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.ja-maps-app .scenarioChips::-webkit-scrollbar{display:none;width:0!important;height:0!important;background:transparent}
.ja-maps-app .scenarioChip{scroll-snap-align:center}

/* Fullscreen ahora incluye navegación, buscador, escenarios y visor: Modo Exploración. */
.ja-maps-app:fullscreen,.ja-maps-app:-webkit-full-screen,.ja-maps-app.ja-map-fullscreen-fallback{width:100vw!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--paper)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;z-index:1000000!important}
.ja-maps-app.ja-map-fullscreen-fallback{position:fixed!important;inset:0!important}
.ja-maps-app:fullscreen .topbar,.ja-maps-app:-webkit-full-screen .topbar,.ja-maps-app.ja-map-fullscreen-fallback .topbar{display:none!important}
.ja-maps-app:fullscreen .scenarioNavWrap,.ja-maps-app:-webkit-full-screen .scenarioNavWrap,.ja-maps-app.ja-map-fullscreen-fallback .scenarioNavWrap{flex:0 0 auto;box-shadow:0 2px 14px #0000000b}
.ja-maps-app:fullscreen .toolbar,.ja-maps-app:-webkit-full-screen .toolbar,.ja-maps-app.ja-map-fullscreen-fallback .toolbar{flex:0 0 auto;padding:9px 14px 10px;background:#fff;border-bottom:1px solid var(--line)}
.ja-maps-app:fullscreen .shell,.ja-maps-app:-webkit-full-screen .shell,.ja-maps-app.ja-map-fullscreen-fallback .shell{flex:1 1 auto!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:12px!important;grid-template-columns:minmax(0,1fr) minmax(320px,380px)!important;gap:12px!important}
.ja-maps-app:fullscreen .viewer,.ja-maps-app:-webkit-full-screen .viewer,.ja-maps-app.ja-map-fullscreen-fallback .viewer{height:100%!important;min-height:0!important;border-radius:16px!important}
.ja-maps-app:fullscreen .scenarioPanel,.ja-maps-app:-webkit-full-screen .scenarioPanel,.ja-maps-app.ja-map-fullscreen-fallback .scenarioPanel{display:block;height:100%!important;min-height:0!important;max-height:none!important}
.ja-maps-app:fullscreen .zoom,.ja-maps-app:-webkit-full-screen .zoom,.ja-maps-app.ja-map-fullscreen-fallback .zoom{right:16px;bottom:16px}
.ja-maps-app:fullscreen .fullscreenBtn,.ja-maps-app:-webkit-full-screen .fullscreenBtn,.ja-maps-app.ja-map-fullscreen-fallback .fullscreenBtn{background:var(--ink);border-color:var(--ink);color:#fff}
body.ja-map-fullscreen-lock{overflow:hidden!important}

@media(max-width:960px){
  .ja-maps-app .scenarioNav{position:relative;overflow:hidden}
  .ja-maps-app .scenarioChips{padding:2px 28px 3px 1px;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%)}
  .ja-maps-app .scenarioChip:not(.all){width:40px;min-width:40px;height:40px;min-height:40px;flex-basis:40px}
  .ja-maps-app:fullscreen .scenarioNavWrap,.ja-maps-app:-webkit-full-screen .scenarioNavWrap,.ja-maps-app.ja-map-fullscreen-fallback .scenarioNavWrap{padding:8px 10px;gap:7px;background:#fff}
  .ja-maps-app:fullscreen .toolbar,.ja-maps-app:-webkit-full-screen .toolbar,.ja-maps-app.ja-map-fullscreen-fallback .toolbar{display:grid;grid-template-columns:1fr auto;gap:7px;padding:8px 10px;background:#fff}
  .ja-maps-app:fullscreen .mapSelectField,.ja-maps-app:-webkit-full-screen .mapSelectField,.ja-maps-app.ja-map-fullscreen-fallback .mapSelectField{grid-column:1/-1}
  .ja-maps-app:fullscreen .searchWrap,.ja-maps-app:-webkit-full-screen .searchWrap,.ja-maps-app.ja-map-fullscreen-fallback .searchWrap{min-width:0}
  .ja-maps-app:fullscreen .editLink,.ja-maps-app:-webkit-full-screen .editLink,.ja-maps-app.ja-map-fullscreen-fallback .editLink,.ja-maps-app:fullscreen .demoFlag,.ja-maps-app:-webkit-full-screen .demoFlag,.ja-maps-app.ja-map-fullscreen-fallback .demoFlag{display:none!important}
  .ja-maps-app:fullscreen .shell,.ja-maps-app:-webkit-full-screen .shell,.ja-maps-app.ja-map-fullscreen-fallback .shell{display:block!important;flex:1 1 auto!important;min-height:0!important;padding:8px!important;overflow:hidden!important}
  .ja-maps-app:fullscreen .viewer,.ja-maps-app:-webkit-full-screen .viewer,.ja-maps-app.ja-map-fullscreen-fallback .viewer{height:100%!important;min-height:0!important;border-radius:14px!important}
  /* El panel de escenarios se conserva como bottom-sheet, abierto desde “Escenarios A–T”. */
  .ja-maps-app:fullscreen .scenarioPanel,.ja-maps-app:-webkit-full-screen .scenarioPanel,.ja-maps-app.ja-map-fullscreen-fallback .scenarioPanel{position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;height:auto!important;max-height:70dvh!important;display:block!important;z-index:100002!important}
  .ja-maps-app:fullscreen .drawer,.ja-maps-app:-webkit-full-screen .drawer,.ja-maps-app.ja-map-fullscreen-fallback .drawer{left:10px;right:10px;bottom:10px;max-height:min(52dvh,470px)}
}

/* JA Maps 0.4.3 — fullscreen realmente adaptable al alto disponible. */
.ja-maps-app:fullscreen::backdrop,
.ja-maps-app:-webkit-full-screen::backdrop{background:var(--paper,#f7f3ed)!important}
.ja-maps-app:fullscreen,
.ja-maps-app:-webkit-full-screen,
.ja-maps-app.ja-map-fullscreen-fallback{
  --ja-map-fs-height:100dvh;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  min-width:100vw!important;
  height:var(--ja-map-fs-height)!important;
  min-height:var(--ja-map-fs-height)!important;
  max-height:var(--ja-map-fs-height)!important;
  background:var(--paper,#f7f3ed)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.ja-maps-app:fullscreen .scenarioNavWrap,
.ja-maps-app:-webkit-full-screen .scenarioNavWrap,
.ja-maps-app.ja-map-fullscreen-fallback .scenarioNavWrap,
.ja-maps-app:fullscreen .toolbar,
.ja-maps-app:-webkit-full-screen .toolbar,
.ja-maps-app.ja-map-fullscreen-fallback .toolbar{flex:0 0 auto!important}
.ja-maps-app:fullscreen .shell,
.ja-maps-app:-webkit-full-screen .shell,
.ja-maps-app.ja-map-fullscreen-fallback .shell{
  flex:1 1 0!important;
  height:0!important;
  min-height:0!important;
  max-height:none!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.ja-maps-app:fullscreen .viewer,
.ja-maps-app:-webkit-full-screen .viewer,
.ja-maps-app.ja-map-fullscreen-fallback .viewer,
.ja-maps-app:fullscreen .scenarioPanel,
.ja-maps-app:-webkit-full-screen .scenarioPanel,
.ja-maps-app.ja-map-fullscreen-fallback .scenarioPanel{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}
.ja-maps-app:fullscreen .scenarioPanel,
.ja-maps-app:-webkit-full-screen .scenarioPanel,
.ja-maps-app.ja-map-fullscreen-fallback .scenarioPanel{overflow:auto!important}

@media(max-width:960px){
  .ja-maps-app:fullscreen .shell,
  .ja-maps-app:-webkit-full-screen .shell,
  .ja-maps-app.ja-map-fullscreen-fallback .shell{
    flex:1 1 0!important;
    height:0!important;
    min-height:0!important;
  }
  .ja-maps-app:fullscreen .viewer,
  .ja-maps-app:-webkit-full-screen .viewer,
  .ja-maps-app.ja-map-fullscreen-fallback .viewer{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* JA Maps 0.4.4 — Modo Exploración sin letterboxing negro.
 * El módulo ocupa el viewport mediante overlay fixed; si el navegador acepta
 * Fullscreen API, entra el documento completo, no el módulo anidado. */
html.ja-map-fullscreen-html,
html.ja-map-fullscreen-html body{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--paper,#f7f3ed)!important;
}
html:fullscreen,
html:-webkit-full-screen,
html:fullscreen body,
html:-webkit-full-screen body{
  background:var(--paper,#f7f3ed)!important;
}
html:fullscreen::backdrop,
html:-webkit-full-screen::backdrop{
  background:var(--paper,#f7f3ed)!important;
}
.ja-maps-app.ja-map-fullscreen-fallback{
  --ja-map-fs-height:100dvh;
  position:fixed!important;
  inset:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--paper,#f7f3ed)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  z-index:2147483000!important;
}
.ja-maps-app.ja-map-fullscreen-fallback .scenarioNavWrap,
.ja-maps-app.ja-map-fullscreen-fallback .toolbar{
  flex:0 0 auto!important;
}
.ja-maps-app.ja-map-fullscreen-fallback .shell{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,380px)!important;
  gap:12px!important;
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:12px!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.ja-maps-app.ja-map-fullscreen-fallback .viewer,
.ja-maps-app.ja-map-fullscreen-fallback .scenarioPanel{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
}
.ja-maps-app.ja-map-fullscreen-fallback .scenarioPanel{overflow:auto!important}
@media(max-width:960px){
  .ja-maps-app.ja-map-fullscreen-fallback .shell{
    display:block!important;
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    padding:8px!important;
  }
  .ja-maps-app.ja-map-fullscreen-fallback .viewer{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
}
