/* App-like detail miesta. Dáta, odkazy a geometria smerovníkov zostávajú v pôvodnom generátore. */
body[data-page="detail"]{background:#f7faff}
body[data-page="detail"] .detail-main{min-height:72vh}
body[data-page="detail"] .place-detail{width:min(100%,1100px);margin:0 auto;background:#fff}
.place-hero{position:relative;display:grid;width:min(100% - 32px,960px);min-height:300px;place-items:center;overflow:hidden;padding:0;margin:24px auto 0;border-radius:30px;background:#edf4ff;isolation:isolate}
.place-hero-with-image{min-height:0;aspect-ratio:5/2;background:#dff2ff}
.place-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(.9) brightness(1.06)}
.place-hero-with-image::after{position:absolute;z-index:-1;inset:0;background:rgba(255,255,255,.3);content:"";pointer-events:none}
.place-hero-copy{position:absolute;display:grid;inset:0;width:100%;height:100%;min-height:0;place-items:center;padding:0 24px}
.place-hero .detail-back{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;min-height:40px;padding:0 14px;margin:0;border-radius:12px;color:#fff;background:#0b51e6;font-size:.76rem;font-weight:800;box-shadow:0 4px 14px rgba(3,16,47,.14)}
.place-hero .detail-back:hover{background:#0844c4}
.place-hero .detail-back:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #0b51e6}
.place-hero h1{width:calc(100% - 48px);max-width:calc(100% - 48px);margin:0;color:#03102f;font-size:clamp(3.55rem,8.3vw,6rem);line-height:.94;letter-spacing:-.07em;text-align:center;text-shadow:0 1px 12px rgba(255,255,255,.72);overflow-wrap:anywhere}
.place-hero h1.place-name-md{font-size:clamp(2.85rem,6.8vw,5rem)}
.place-hero h1.place-name-lg{font-size:clamp(2.15rem,5.4vw,4rem)}
.place-hero h1.place-name-xl{font-size:clamp(1.65rem,4.15vw,3.1rem)}
body[data-page="detail"] .detail-content{position:relative;width:min(100% - 32px,960px);padding:0 0 68px;margin:0 auto}
body[data-page="detail"] .quick-facts{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr 1.25fr;margin:-24px 0 34px;overflow:hidden;border:1px solid #d9e4f3;border-radius:22px;background:#f3f7ff;box-shadow:0 10px 26px rgba(3,16,47,.07)}
body[data-page="detail"] .quick-facts>div{display:flex;min-width:0;min-height:100px;align-items:center;padding:18px 20px;border-right:1px solid #d9e4f3;gap:12px}
body[data-page="detail"] .quick-facts>div:last-child{border-right:0}
body[data-page="detail"] .quick-facts img{flex:0 0 auto;width:46px;height:46px;object-fit:contain}
body[data-page="detail"] .quick-facts>div>span,.detail-route-marker>span{display:grid;min-width:0}
body[data-page="detail"] .quick-facts small{margin:0 0 4px;color:#61738e;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body[data-page="detail"] .quick-facts strong{overflow:hidden;color:#071c4b;font-size:1.08rem;line-height:1.15;text-overflow:ellipsis}
body[data-page="detail"] .detail-route-marker{display:flex;min-width:0;align-items:center;gap:12px}
body[data-page="detail"] .detail-route-marker>img{width:46px;height:46px}
body[data-page="detail"] .detail-route-value{display:flex;overflow:visible;align-items:center;gap:7px;text-overflow:clip}
body[data-page="detail"] .detail-route-swatch{display:block;flex:0 0 auto;width:27px;height:9px;background:linear-gradient(#fff 0 28%,var(--route-color) 28% 72%,#fff 72%);box-shadow:0 0 0 1px rgba(21,31,42,.28)}
body[data-page="detail"] .detail-cycle-mark{display:grid;flex:0 0 auto;width:23px;height:23px;place-items:center;border:2px solid var(--route-color);border-radius:50%;color:var(--route-color);background:#fff;font-family:Arial,sans-serif;font-size:.8rem;font-weight:900;line-height:1}
body[data-page="detail"] .detail-route-name{min-width:0;color:#071c4b;font-size:.92rem;line-height:1.16;overflow-wrap:anywhere}
body[data-page="detail"] .detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);align-items:start;gap:28px}
body[data-page="detail"] .detail-story{min-width:0}
body[data-page="detail"] .place-generic .detail-layout{grid-template-columns:minmax(0,1fr);padding-top:30px}
body[data-page="detail"] .place-generic .detail-photo{max-width:100%}
body[data-page="detail"] .detail-photo{overflow:hidden;margin:0 0 26px;border-radius:24px;background:#eaf2ff}
body[data-page="detail"] .detail-photo img{display:block;width:100%;height:auto;max-height:500px;border-radius:0;object-fit:cover}
.place-category{margin:0 0 10px;color:#0b51e6;font-size:.68rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
body[data-page="detail"] .detail-lead{margin:0 0 14px;color:#071c4b;font-size:clamp(1.2rem,2.5vw,1.55rem);font-weight:650;line-height:1.42;letter-spacing:-.025em}
body[data-page="detail"] .detail-story>p:not(.detail-lead):not(.place-category){margin:0;color:#526783;font-size:.98rem;line-height:1.7}
body[data-page="detail"] .detail-section{padding-top:30px}
body[data-page="detail"] .detail-section h2{margin:0 0 15px;color:#071c4b;font-size:clamp(1.65rem,3.5vw,2.2rem);letter-spacing:-.04em}
body[data-page="detail"] .highlight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin:0;gap:10px;list-style:none}
body[data-page="detail"] .highlight-list li{display:flex;min-height:58px;align-items:center;padding:12px 14px;border:0;border-radius:16px;color:#334968;background:#eff5ff;font-size:.86rem;font-weight:700}
body[data-page="detail"] .highlight-list span{display:grid;flex:0 0 auto;width:27px;height:27px;place-items:center;border-radius:9px;color:#fff;background:#0b51e6;font-size:.72rem}
body[data-page="detail"] .route-card{display:grid;padding:24px;border-radius:24px;color:#dbe7fa;background:#031b54;gap:7px}
body[data-page="detail"] .route-card>img{width:66px;height:66px;margin-bottom:10px;object-fit:contain;filter:brightness(0) invert(1)}
body[data-page="detail"] .route-card>small{color:#adc3e8;font-size:.72rem}
body[data-page="detail"] .route-card h2{margin:0 0 8px;color:#fff;font-size:clamp(1.45rem,3vw,2rem);line-height:1.1;letter-spacing:-.04em}
body[data-page="detail"] .route-card>strong{color:#fff;font-size:2rem}
body[data-page="detail"] .route-card>p{margin:0;color:#b8c9e5;font-size:.68rem;line-height:1.45;text-transform:uppercase}
body[data-page="detail"] .practical-card{display:grid;grid-template-columns:auto 1fr;align-items:center;padding:24px;margin-top:30px;border:0;border-radius:24px;gap:18px;background:#eaf2ff}
body[data-page="detail"] .practical-card>img{width:64px;height:64px;object-fit:contain}
body[data-page="detail"] .practical-card h2{margin:0 0 7px;color:#071c4b;font-size:1.5rem}
body[data-page="detail"] .practical-card p{margin:0;color:#526783;line-height:1.6}
body[data-page="detail"] .detail-bottom-button{width:100%;min-height:56px;margin-top:18px;border-radius:17px;background:#0b51e6}
body[data-page="detail"] .detail-bottom-button:hover{background:#0844c4}
body[data-page="detail"] .nearby-network-panel{margin-top:20px;margin-bottom:0}
@media(max-width:760px){
  body[data-page="detail"] .place-detail{width:100%}
  .place-hero{width:100%;min-height:225px;padding:0;margin:0;border-radius:0}
  .place-hero-with-image{min-height:154px;aspect-ratio:5/2}
  .place-hero-copy{min-height:0;padding:0 10px}
  .place-hero .detail-back{top:10px;left:10px;min-height:34px;padding:0 10px;border-radius:10px;font-size:.66rem}
  .place-hero h1{width:calc(100% - 20px);max-width:calc(100% - 20px);font-size:clamp(2.7rem,13vw,4.15rem);white-space:nowrap;overflow-wrap:normal}
  .place-hero h1.place-name-md{font-size:clamp(2.15rem,10.2vw,3.2rem)}.place-hero h1.place-name-lg{font-size:clamp(1.18rem,6.75vw,2.45rem)}.place-hero h1.place-name-xl{font-size:clamp(1.23rem,5.9vw,1.85rem)}
  body[data-page="detail"] .detail-content{width:min(100% - 22px,960px);padding-bottom:48px}
  body[data-page="detail"] .quick-facts{grid-template-columns:repeat(3,minmax(0,1fr));margin:-13px 0 24px;border-radius:18px}
  body[data-page="detail"] .quick-facts>div{min-height:82px;align-items:flex-start;flex-direction:column;justify-content:center;padding:11px 9px;border-right:1px solid #d9e4f3;border-top:0;gap:5px}
  body[data-page="detail"] .quick-facts>div:nth-child(2){border-right:1px solid #d9e4f3}
  body[data-page="detail"] .quick-facts>div:last-child{grid-column:auto;border-top:0}
  body[data-page="detail"] .quick-facts img,body[data-page="detail"] .detail-route-marker>img{width:31px;height:31px}
  body[data-page="detail"] .detail-route-marker{display:flex;align-items:flex-start;flex-direction:column;gap:5px}
  body[data-page="detail"] .detail-route-value{gap:4px}
  body[data-page="detail"] .detail-route-swatch{width:20px;height:7px}
  body[data-page="detail"] .detail-cycle-mark{width:18px;height:18px;border-width:1.5px;font-size:.62rem}
  body[data-page="detail"] .detail-route-name{display:-webkit-box;overflow:hidden;font-size:clamp(.59rem,2.3vw,.76rem);line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  body[data-page="detail"] .quick-facts small{font-size:.49rem;letter-spacing:.04em}
  body[data-page="detail"] .quick-facts strong{font-size:clamp(.72rem,2.9vw,.9rem);white-space:normal}
  body[data-page="detail"] .detail-layout{grid-template-columns:1fr;gap:20px}
  body[data-page="detail"] .detail-photo{border-radius:19px}
  body[data-page="detail"] .highlight-list{grid-template-columns:1fr}
  body[data-page="detail"] .route-card{padding:21px;border-radius:20px}
  body[data-page="detail"] .route-card>img{width:54px;height:54px}
  body[data-page="detail"] .practical-card{padding:20px;border-radius:20px}
}
@media(max-width:340px){
  body[data-page="detail"] .detail-content{width:calc(100% - 16px)}
  .place-hero h1{font-size:clamp(2.35rem,12.5vw,3.2rem)}
  .place-hero h1.place-name-md{font-size:1.9rem}.place-hero h1.place-name-lg{font-size:1.34rem}.place-hero h1.place-name-xl{font-size:1.08rem}
  body[data-page="detail"] .quick-facts>div{padding:9px 6px}
  body[data-page="detail"] .quick-facts small{font-size:.43rem}
  body[data-page="detail"] .quick-facts strong{font-size:.68rem}
  body[data-page="detail"] .practical-card{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.place-hero-image{transition:none}}
.inline-pictogram{display:inline-block;width:1.45em;height:1.45em;margin:0 .22em;vertical-align:-.36em;object-fit:contain}

/* Neutral map/QR detail: route identities only, never relative direction/distance. */
body[data-page="detail"] .place-route-summary{position:relative;z-index:3;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:18px;min-height:106px;margin:-20px 0 0;padding:20px 22px;border:1px solid #d2dcee;border-radius:24px;background:#f1f5ff;box-shadow:0 10px 24px #1024560b}
.place-route-icon{grid-column:1;grid-row:1;width:40px;height:40px;object-fit:contain;justify-self:start}
.place-route-list{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;min-width:0;text-align:center}
.place-route-list.routes-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.place-route-list.routes-3{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-page="detail"] .place-route-summary .detail-route-marker{display:flex;flex-direction:row;align-items:center;justify-content:center;min-width:0;max-width:100%}
body[data-page="detail"] .place-route-summary .detail-route-copy{display:grid;gap:6px;justify-items:center;min-width:0}
body[data-page="detail"] .place-route-summary .detail-route-copy small{font-size:.65rem;line-height:1.2;font-weight:800;color:#506581;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}
body[data-page="detail"] .place-route-summary .detail-route-value{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;min-width:0}
body[data-page="detail"] .place-route-summary .detail-route-name{display:inline;max-width:100%;font-size:.9rem;line-height:1.25;-webkit-line-clamp:unset;overflow:visible;overflow-wrap:anywhere}
body[data-page="detail"] .detail-photo-after{margin:30px 0 0}
body[data-page="detail"] .detail-photo-after img{display:block;width:100%;height:auto;max-height:600px;object-fit:cover;border-radius:inherit}
@media(max-width:600px){
 body[data-page="detail"] .place-route-summary{grid-template-columns:28px minmax(0,1fr) 28px;gap:10px;padding:17px 12px;min-height:98px}
 .place-route-icon{width:28px;height:28px}
 .place-route-list{gap:8px}
 body[data-page="detail"] .place-route-summary .detail-route-name{font-size:.75rem}
 body[data-page="detail"] .place-route-summary .detail-route-copy small{font-size:.56rem;letter-spacing:.01em}
 body[data-page="detail"] .place-route-summary .detail-route-value{gap:4px}
 body[data-page="detail"] .place-route-summary .detail-route-swatch{width:20px;height:9px;flex:0 0 20px}
 body[data-page="detail"] .place-route-summary .detail-cycle-mark{width:17px;height:17px;font-size:12px;border-width:1.5px}
 body[data-page="detail"] .place-route-summary .routes-3 .detail-route-name{font-size:.68rem}
 body[data-page="detail"] .place-route-summary .routes-3 .detail-route-copy small{font-size:.5rem}
}
@media(max-width:359px){
 body[data-page="detail"] .place-route-summary{grid-template-columns:24px minmax(0,1fr) 24px;gap:6px;padding-inline:8px}
 .place-route-icon{width:24px;height:24px}
 .place-route-list{gap:6px}
 body[data-page="detail"] .place-route-summary .routes-3 .detail-route-swatch{width:16px;flex-basis:16px}
}
/* Actual borders survive overflow clipping; vector glyph has no font baseline. */
body[data-page="detail"] .detail-route-swatch{border:1px solid rgba(21,31,42,.35);box-shadow:none}
body[data-page="detail"] .detail-route-marker .detail-cycle-mark{border:0;line-height:0;padding:0}
.detail-cycle-mark svg{display:block;overflow:visible}
body[data-page="detail"] .quick-facts .detail-route-value{overflow:visible}
