.route-time-note{font-size:.875rem;line-height:1.6;color:var(--muted);margin:12px 0 0;max-width:60ch}
.route-preparation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0 42px;align-items:stretch}
.route-preparation>section{min-width:0;margin:0;padding:24px;border-radius:20px;background:var(--soft)}
.route-preparation>section:only-child{grid-column:1/-1}
.route-preparation h2{font-size:1.65rem}.route-preparation .section-heading{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.route-preparation .section-heading .button{font-size:.85rem;padding:10px 16px}
.route-map-preview{position:relative;min-height:260px;border-radius:16px;overflow:hidden;background:var(--soft)}
.route-map-preview .route-map-canvas{height:260px;min-height:0}.route-map-preview .map-toolbar{display:none}
.route-map-preview .embed-shell{min-height:260px;height:260px}.route-map-preview .embed-shell iframe{height:260px}
.route-map-open{position:absolute;inset:0;z-index:500;width:100%;border:0;background:transparent;cursor:zoom-in;border-radius:16px}
.route-map-open span{position:absolute;bottom:12px;right:12px;background:var(--white,#fff);color:var(--ink,#49372e);padding:10px 16px;border-radius:24px;box-shadow:0 2px 10px #0002;font:600 .875rem system-ui,sans-serif}
.route-map-open:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.route-dialog{width:min(740px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:90dvh;border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--white,#fffaf3);color:var(--ink,#49372e);overflow:auto;box-sizing:border-box;overscroll-behavior:contain}
.route-dialog::backdrop{background:#211e1cbf}.route-dialog-open{overflow:hidden}.route-dialog-close{display:block;margin:0 0 16px auto;min-height:44px}.route-dialog h2{font-size:1.7rem;margin:0 0 22px}
.route-dialog dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0}.route-dialog dt{font-weight:700;margin-bottom:6px}.route-dialog dd{margin:0;overflow-wrap:anywhere}
.route-dialog-map{width:min(1100px,calc(100vw - 32px))}.route-dialog-map .route-map-canvas{height:58dvh;min-height:240px}.route-dialog-map .embed-shell{min-height:300px}.route-dialog-map iframe{height:58dvh;width:100%}
.route-feedback{max-width:75ch;margin:28px 0;padding:22px 24px;background:var(--soft);border-radius:18px}.route-feedback p:last-child{margin-bottom:0}
.single-md_route .md-route-gallery{max-width:820px;margin-inline:auto}.single-md_route .md-gallery-main{height:clamp(220px,32vw,380px);object-fit:contain}.single-md_route .md-gallery-stage-caption{font-size:.9rem;padding:10px 16px}.single-md_route .md-gallery-photo{flex-basis:78px}.single-md_route .md-gallery-photo img{width:72px;height:58px}
.single-md_route .md-gallery-dialog{width:min(900px,94vw)}.single-md_route .md-gallery-large{height:50dvh;object-fit:contain}
@media(max-width:700px){.route-preparation{grid-template-columns:1fr;gap:18px}.route-preparation>section{padding:20px}.route-dialog{padding:18px;max-height:92dvh}.route-dialog dl{grid-template-columns:1fr}.route-dialog-map .route-map-canvas{height:55dvh;min-height:220px}.single-md_route .md-gallery-main{height:240px}.single-md_route .md-gallery-large{height:44dvh}.route-feedback{padding:18px}}
@media print{.route-preparation{display:block}.route-preparation .practical-route dl[hidden]{display:grid!important}.route-preparation button{display:none}.route-dialog{display:none}}
