.route-page-wrap{position:relative;max-width:1240px;margin:0 auto;padding:44px 30px 64px}.route-intro-card{background:linear-gradient(135deg,rgba(255,255,255,0.96),rgba(247,249,242,0.92));border:1px solid rgba(149,193,33,0.15);border-radius:24px;box-shadow:0 14px 36px rgba(22,28,14,0.08);padding:24px 26px;margin-bottom:24px}.route-intro-card h2{font-size:1.55rem;line-height:1.2;color:#20261a;margin:0 0 10px}.route-intro-card p{font-size:1rem;line-height:1.7;color:#4f5d48;margin:0;max-width:820px}.route-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.route-meta span{display:inline-flex;align-items:center;gap:8px;background:rgba(149,193,33,0.1);border:1px solid rgba(149,193,33,0.16);border-radius:999px;color:#587714;font-size:0.9rem;font-weight:600;padding:9px 14px}.route-card{background:rgba(255,255,255,0.98);border:1px solid rgba(149,193,33,0.12);border-radius:30px;box-shadow:0 22px 56px rgba(22,28,14,0.1);overflow:hidden}.route-layout{display:grid;grid-template-columns:1.18fr 0.82fr}.route-map-wrap{position:relative;min-height:620px;background:linear-gradient(180deg,#f7f9f2 0%,#ffffff 100%)}#route-map{position:absolute;inset:0;width:100%;height:100%}#route-status-banner{position:absolute;left:50%;bottom:24px;transform:translateX(-50%) translateY(6px);background:rgba(26,33,23,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;white-space:nowrap;padding:11px 24px;border-radius:999px;font-size:0.88rem;font-weight:600;letter-spacing:0.01em;box-shadow:0 10px 28px rgba(0,0,0,0.25);opacity:0;transition:opacity 0.45s ease,transform 0.45s ease;z-index:1000;pointer-events:none}#route-status-banner.show{opacity:1;transform:translateX(-50%) translateY(0)}.route-side{padding:28px 24px;border-left:1px solid rgba(149,193,33,0.12);background:linear-gradient(180deg,#ffffff 0%,#f7f9f2 100%);display:flex;flex-direction:column;gap:14px}.route-info-box{background:#fff;border:1px solid rgba(149,193,33,0.1);border-radius:18px;padding:18px 18px 16px;box-shadow:0 6px 22px rgba(22,28,14,0.05);transition:transform 0.2s ease,box-shadow 0.2s ease}.route-info-box:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,28,14,0.08)}.route-info-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.route-info-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.route-logo-icon{width:20px;height:20px;object-fit:contain;display:block}.route-info-icon.green{background:rgba(149,193,33,0.13)}.route-info-icon.blue{background:rgba(45,106,224,0.12)}.route-info-icon.amber{background:rgba(234,170,40,0.12)}.route-info-icon.rose{background:rgba(220,60,80,0.1)}.route-info-label{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:#677260}.route-info-box p{font-size:0.94rem;line-height:1.65;color:#374233;margin:0}.route-info-box a{color:var(--gruen-text);text-decoration:none;font-weight:600}.route-info-box a:hover{text-decoration:underline}.route-steps{margin:0;padding-left:0;list-style:none;counter-reset:route-step}.route-steps li{counter-increment:route-step;position:relative;padding-left:32px;font-size:0.92rem;line-height:1.6;color:#374233}.route-steps li + li{margin-top:10px}.route-steps li::before{content:counter(route-step);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:rgba(149,193,33,0.12);color:var(--gruen-text);font-size:0.72rem;font-weight:700}.route-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}.route-mobile-play{display:none}.route-btn{appearance:none;border:none;border-radius:14px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:0.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease}.route-btn:hover{transform:translateY(-2px)}.route-btn--play{background:linear-gradient(135deg,var(--gruen-cta),#b4dd47);color:#fff;box-shadow:0 8px 24px rgba(149,193,33,0.28)}.route-btn--nav{background:linear-gradient(135deg,var(--gruen-cta),#b4dd47);color:#fff;box-shadow:0 8px 24px rgba(149,193,33,0.28)}.route-btn--outline{background:#fff;color:#1a2117;border:1.5px solid rgba(149,193,33,0.24)}.route-btn--outline:hover{border-color:#95c121;box-shadow:0 8px 20px rgba(22,28,14,0.08)}.route-label{background:rgba(255,255,255,0.97);border:1px solid rgba(149,193,33,0.18);color:#1a2117;border-radius:10px;padding:5px 10px;font-size:0.78rem;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,0.1);white-space:nowrap}.route-label--logo{display:inline-flex;align-items:center;gap:6px}.route-label-logo{width:16px;height:16px;object-fit:contain;display:block}.route-photo-marker{width:48px;height:48px;border-radius:14px;border:3px solid #fff;object-fit:cover;background:#e8ece2;box-shadow:0 4px 16px rgba(0,0,0,0.22);cursor:pointer;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s ease}.route-photo-marker:hover{transform:scale(1.14);box-shadow:0 8px 22px rgba(0,0,0,0.26)}.route-photo-marker-wrap{position:relative}.route-photo-badge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:#95c121;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,0.15)}.route-badge-logo{width:14px;height:14px;object-fit:contain;display:block}.route-photo-popup-img{width:100%;height:160px;object-fit:cover;display:block;background:#e8ece2;border-radius:10px;margin-bottom:10px;cursor:zoom-in}.route-photo-popup-step{display:inline-block;background:rgba(149,193,33,0.12);color:var(--gruen-text);font-size:0.72rem;font-weight:700;padding:2px 8px;border-radius:6px;margin-bottom:8px}.route-photo-popup-title{font-size:0.94rem;font-weight:700;margin-bottom:4px;color:#1a2117}.route-photo-popup-desc{font-size:0.84rem;line-height:1.5;color:#5a6654;margin:0}.route-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(10,14,8,0.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;opacity:0;pointer-events:none;transition:opacity 0.35s ease;cursor:zoom-out}.route-lightbox.active{opacity:1;pointer-events:auto}.route-lightbox-img{max-width:90vw;max-height:75vh;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,0.4);transform:scale(0.92);transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);object-fit:contain}.route-lightbox.active .route-lightbox-img{transform:scale(1)}.route-lightbox-caption{background:rgba(255,255,255,0.95);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:10px 20px;border-radius:12px;font-size:0.88rem;font-weight:600;color:#1a2117;box-shadow:0 4px 16px rgba(0,0,0,0.15)}.route-lightbox-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,0.15);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer}.route-lightbox-close:hover{background:rgba(255,255,255,0.25)}.leaflet-popup-content-wrapper{border-radius:14px !important;box-shadow:0 8px 28px rgba(0,0,0,0.14) !important}.leaflet-popup-content{margin:12px 16px !important;font-size:0.88rem !important;line-height:1.5 !important}.leaflet-popup-tip{box-shadow:none !important}@keyframes route-pulse-ring{0%{transform:scale(0.85);opacity:0.8}70%{transform:scale(1.7);opacity:0}100%{transform:scale(1.7);opacity:0}}@keyframes route-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes route-arrive-bounce{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(0.95)}100%{transform:scale(1)}}@media (max-width:1024px){.route-layout{grid-template-columns:1fr}.route-side{border-left:0;border-top:1px solid rgba(149,193,33,0.12)}.route-map-wrap{min-height:460px}}@media (max-width:768px){.route-page-wrap{padding:28px 16px 48px}.route-intro-card{padding:20px 18px;border-radius:20px}.route-intro-card h2{font-size:1.3rem}.route-map-wrap{min-height:360px}.route-mobile-play{display:block;padding:14px 16px 0;background:linear-gradient(180deg,#ffffff 0%,#f7f9f2 100%);border-top:1px solid rgba(149,193,33,0.12)}.route-mobile-play .route-btn{width:100%}.route-side{padding:22px 16px}.route-actions{flex-direction:column}.route-actions .route-btn--play{display:none}.route-btn{width:100%}}@media (max-width:991px){.leaflet-touch .leaflet-bar a,.leaflet-bar a{width:44px;height:44px;line-height:44px;font-size:22px}}