/* Únicamente sección de ubicación #ubicacion; no modifica el programa. */
/* RECORRIDO POR CALLES · Experiencia editorial, calles ficticias sin nombre.
   Se publica en todas las ediciones; los destinos son datos separados. */
.location.pde-route-experience{
 --pde-route-ink:#171319;--pde-route-blue:#1715e8;--pde-route-yellow:#fff11f;
 position:relative;isolation:isolate;overflow:hidden;
 box-sizing:border-box;
 background:#e7eafa!important;color:#171319;
 padding:0!important;margin:0;
 height:100svh;min-height:640px;max-height:none;
 border-top:8px solid #171319;border-bottom:8px solid #171319;
}
.location.pde-route-experience[hidden]{display:none!important}
.pde-route-map-layer{
 position:absolute;inset:-1px;z-index:0;pointer-events:none;overflow:hidden;
 transform-origin:64% 49%;will-change:transform,opacity
}
.pde-route-map{width:100%;height:100%;display:block;overflow:visible}
.pde-route-readability{
 position:absolute;z-index:1;inset:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(233,237,255,.97) 0%,rgba(233,237,255,.90) 18%,rgba(233,237,255,.67) 34%,rgba(233,237,255,.20) 47%,transparent 66%);
}
.pde-route-headline{
 position:absolute;z-index:3;left:clamp(20px,4.3vw,75px);top:50%;
 transform:translateY(-50%);width:min(40%,650px);pointer-events:none;
}
.pde-route-headline .section-kicker{
 display:inline-block;background:#fff11f!important;color:#f6321f!important;
 border:3px solid #171319;border-radius:999px;padding:10px 17px;
 box-shadow:4px 5px #171319;transform:rotate(-3deg);
 font-size:clamp(12px,1.2vw,16px)
}
.location.pde-route-experience .pde-route-headline h2.section-title{
 font-size:clamp(72px,7.6vw,138px);color:#f82e1b;
 line-height:.91;letter-spacing:-.04em;margin:28px 0 0;
 text-shadow:5px 5px #fff11f,9px 9px #171319;
}
.pde-route-introduction{
 position:absolute;z-index:4;left:54%;top:29%;max-width:41%;min-width:280px;
 display:none;flex-direction:column;gap:12px;align-items:flex-start;
 transform:rotate(-5deg);pointer-events:none;
 filter:drop-shadow(5px 7px 0 rgba(23,19,25,.17));
}
.pde-route-intro-star{
 display:grid;place-items:center;width:78px;height:78px;
 border:5px solid #171319;border-radius:50%;background:#fff11f;
 color:#1715e8;font:900 50px/1 'DM Sans',sans-serif;
 box-shadow:7px 8px 0 #171319;transform:rotate(10deg);
}
.pde-route-introduction strong{
 font:clamp(36px,4.7vw,78px)/.92 Anton,Impact,sans-serif;
 text-transform:uppercase;letter-spacing:-.025em;
 color:#171319;-webkit-text-stroke:.4px #171319;
 text-shadow:4px 4px 0 #fff11f;
}
.pde-route-introduction strong em{font-style:normal;color:#fb321f;text-shadow:3px 3px 0 #171319,6px 6px 0 #fff11f}
.pde-route-introduction small{
 display:inline-block;background:#1715e8;border:3px solid #171319;
 color:#fff;padding:12px 16px;border-radius:999px;
 font:900 12px/1.2 'DM Sans',sans-serif;letter-spacing:.02em;
}
.pde-route-start-pin,.pde-route-finish-pin,.pde-route-runner{
 transform-box:fill-box;transform-origin:center;
 filter:drop-shadow(7px 9px 0 rgba(23,19,25,.23))
}
.pde-route-runner{filter:drop-shadow(3px 4px 0 #171319)}
.pde-route-venue-card{
 position:absolute;z-index:5;left:64%;top:51%;width:min(30.5%,405px);
 min-width:260px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;
 padding:clamp(18px,2vw,29px);border:5px solid #171319;
 border-radius:27px 37px 24px 33px;background:#fff11f;
 box-shadow:12px 14px #1715e8;
 transform:rotate(2deg);transition:background .2s;
}
.pde-route-venue-card .pde-location-card-kicker{
 font:900 clamp(13px,1.3vw,17px)/1.2 'Permanent Marker',cursive;color:#f52d1b
}
.pde-route-venue-card strong{
 font:clamp(30px,3.4vw,58px)/.94 Anton,Impact,sans-serif;
 overflow-wrap:anywhere;word-break:normal;letter-spacing:-.025em;
}
.pde-route-venue-card>span:not(.pde-location-card-kicker){
 font:900 clamp(14px,1.4vw,18px)/1.3 'DM Sans',sans-serif;overflow-wrap:anywhere
}
.pde-route-venue-card small{
 font:750 clamp(12px,1.1vw,14px)/1.4 'DM Sans',sans-serif;color:#413d46;overflow-wrap:anywhere
}
.pde-route-venue-card .pde-location-directions{
 display:inline-flex;gap:8px;align-items:center;justify-content:center;
 margin-top:10px;padding:13px 19px;
 border:3px solid #171319;border-radius:999px;background:#1715e8;
 color:#fff!important;text-decoration:none!important;
 font:900 13px/1.15 'DM Sans',sans-serif;
 box-shadow:4px 5px 0 #171319;transition:transform .2s,background .2s;
}
.pde-route-venue-card .pde-location-directions:hover,
.pde-route-venue-card .pde-location-directions:focus-visible{
 background:#fb321f;transform:translateY(-2px);
}
.pde-location-directions[hidden],#pdeLocationAddress[hidden],#pdeLocationDistrict[hidden]{display:none!important}
.pde-route-progress-label{
 position:absolute;z-index:3;left:49%;bottom:8%;
 background:#ffdaea;border:3px solid #171319;
 border-radius:999px;padding:11px 19px;
 box-shadow:5px 6px 0 #171319;color:#171319;
 font:900 13px/1.1 'Permanent Marker',cursive;
 transform:rotate(-5deg);display:none;pointer-events:none;
}
.pde-location-map-note{
 position:absolute;z-index:5;right:21px;bottom:15px;
 color:#171319;background:rgba(255,255,239,.92);
 border-radius:999px;padding:6px 11px;
 font:800 11px/1.2 'DM Sans',sans-serif
}
.pde-route-experience.is-route-animated .pde-route-introduction,
.pde-route-experience.is-route-animated .pde-route-progress-label{display:flex}
.pde-route-experience.is-route-animated .pde-route-introduction{opacity:1}
.pde-route-experience.is-route-animated .pde-route-venue-card{opacity:0;pointer-events:none}
.pde-route-experience.is-route-animated .pde-route-finish-pin{opacity:0}
.pde-route-experience.is-route-animated .pde-route-progress-label{opacity:0}
@media(max-width:1180px) and (min-width:900px){
 .location.pde-route-experience .pde-route-headline h2.section-title{font-size:clamp(67px,8vw,99px)}
 .pde-route-introduction{left:53%;top:24%}
 .pde-route-venue-card{left:64%;min-width:238px;width:32%;padding:18px}
 .pde-route-venue-card strong{font-size:38px}
}
@media(max-width:899px){
 .location.pde-route-experience{height:auto;min-height:1010px}
 .pde-route-headline{
  top:0;left:20px;width:calc(100% - 40px);
  transform:none;padding-top:65px
 }
 .location.pde-route-experience .pde-route-headline h2.section-title{
  font-size:clamp(72px,13vw,119px);margin-top:23px;max-width:750px
 }
 .pde-route-map-layer{top:310px;bottom:0}
 .pde-route-map{object-fit:cover}
 .pde-route-readability{background:linear-gradient(180deg,#e7eafa 2%,rgba(231,234,250,.94) 18%,rgba(231,234,250,.13) 50%,transparent 78%)}
 .pde-route-introduction{left:12%;top:47%;min-width:0;max-width:80%}
 .pde-route-introduction strong{font-size:clamp(40px,8vw,72px)}
 .pde-route-intro-star{width:65px;height:65px;font-size:40px}
 .pde-route-venue-card{
  left:auto;right:5%;top:auto;bottom:100px;width:min(55%,370px);min-width:0;
  padding:17px;box-shadow:7px 9px #1715e8
 }
 .pde-route-venue-card strong{font-size:clamp(30px,5.6vw,46px)}
 .pde-route-progress-label{left:7%;bottom:10%}
}
@media(max-width:500px){
 .location.pde-route-experience{min-height:890px}
 .pde-route-headline{left:14px;width:calc(100% - 28px);padding-top:48px}
 .location.pde-route-experience .pde-route-headline h2.section-title{font-size:clamp(60px,15.5vw,84px)}
 .pde-route-map-layer{top:270px}
 .pde-route-introduction{left:8%;top:45%;max-width:85%}
 .pde-route-introduction strong{font-size:clamp(36px,10vw,55px)}
 .pde-route-introduction small{font-size:10px}
 .pde-route-venue-card{width:68%;right:4%;bottom:75px;gap:6px;padding:13px;border-width:4px}
 .pde-route-venue-card strong{font-size:clamp(29px,8vw,43px)}
 .pde-route-venue-card>span:not(.pde-location-card-kicker){font-size:12px}
 .pde-route-venue-card small{font-size:11px}
 .pde-route-venue-card .pde-location-directions{padding:10px 13px;font-size:11px}
 .pde-route-progress-label{left:6%;bottom:12%;font-size:11px;padding:8px 12px}
 .pde-location-map-note{bottom:8px;right:9px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .pde-route-experience .pde-route-introduction,.pde-route-progress-label{display:none!important}
 .pde-route-experience .pde-route-venue-card{opacity:1!important;transform:rotate(0)}
 .pde-route-venue-card .pde-location-directions{transition:none}
}


/* AISLAMIENTO REAL: el mapa utiliza su propia pista de scroll nativa.
   Ninguna sección anterior recibe spacers, transforms ni pin de GSAP. */
@media (min-width:900px) and (min-height:640px) and (prefers-reduced-motion:no-preference){
 .location.pde-route-experience{
  height:310svh;
  min-height:2200px;
  overflow:visible!important;
  position:relative;
 }
 .location.pde-route-experience .pde-route-scene{
  position:sticky;
  top:0;
  width:100%;
  height:100svh;
  min-height:640px;
  overflow:hidden;
  isolation:isolate;
  background:#e7eafa;
 }
}
@media (max-width:899px), (max-height:639px), (prefers-reduced-motion:reduce){
 .location.pde-route-experience{
  height:auto!important;
  min-height:0;
  overflow:hidden!important;
 }
 .location.pde-route-experience .pde-route-scene{
  position:relative;
  display:block;
  min-height:1010px;
  overflow:hidden;
  isolation:isolate;
 }
}
@media (max-width:500px){
 .location.pde-route-experience .pde-route-scene{min-height:890px}
}
@media (prefers-reduced-motion:reduce){
 .location.pde-route-experience .pde-route-scene{min-height:760px}
}


/* El recorrido móvil usa su propia pista vertical, igual que en escritorio:
   el escenario permanece visible mientras se dibuja la ruta y hasta que
   la tarjeta de la sede haya aparecido por completo. Sólo después sigue footer. */
@media (max-width:899px) and (min-height:520px) and (prefers-reduced-motion:no-preference){
 .location.pde-route-experience{
  height:320svh!important;
  min-height:0!important;
  overflow:visible!important;
  position:relative;
 }
 .location.pde-route-experience .pde-route-scene{
  position:sticky;
  top:0;
  height:100svh;
  min-height:0;
  max-height:100svh;
  width:100%;
  overflow:hidden;
  isolation:isolate;
  background:#e7eafa;
 }
 .location.pde-route-experience .pde-route-headline{
  top:0;
  padding-top:clamp(28px,4svh,56px);
  z-index:4;
 }
 .location.pde-route-experience .pde-route-map-layer{
  top:clamp(210px,34svh,290px);
  bottom:0;
 }
 .location.pde-route-experience .pde-route-venue-card{
  bottom:clamp(45px,8svh,100px);
  z-index:6;
 }
 .location.pde-route-experience .pde-route-introduction{
  top:44%;
 }
}
@media (max-width:500px) and (min-height:520px) and (prefers-reduced-motion:no-preference){
 .location.pde-route-experience .pde-route-venue-card{
  bottom:clamp(40px,6svh,73px);
  width:min(72%,310px);
 }
 .location.pde-route-experience .pde-route-headline h2.section-title{
  font-size:clamp(56px,14vw,78px);
 }
 .location.pde-route-experience .pde-route-map-layer{
  top:clamp(185px,31svh,255px);
 }
}
