.route-block{padding:5rem 0}.route-block .route-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}@media screen and (max-width: 768px){.route-block .route-container{grid-template-columns:1fr;gap:3rem;padding:0 1.5rem}}@media screen and (max-width: 576px){.route-block .route-container{gap:2rem;padding:0 1rem}}.route-content{display:flex;flex-direction:column;justify-content:center}.route-content .route-title{font-size:3.5rem;font-weight:700;color:#00943a;line-height:1.1;margin-bottom:2rem}@media screen and (max-width: 768px){.route-content .route-title{font-size:3rem;margin-bottom:1.5rem;text-align:center}}@media screen and (max-width: 576px){.route-content .route-title{font-size:2.5rem;margin-bottom:1rem}}.route-content .route-description{margin-bottom:2.5rem}.route-content .route-description p{font-size:1.125rem;line-height:1.7;color:#1b3e41;margin:0}@media screen and (max-width: 576px){.route-content .route-description p{font-size:1rem;line-height:1.6}}@media screen and (max-width: 768px){.route-content .route-description{text-align:center}}.route-content .route-stats{display:flex;flex-direction:column;gap:1rem}@media screen and (max-width: 768px){.route-content .route-stats{justify-content:center;text-align:center}}.route-content .route-stats .route-stat-item{display:flex;align-items:center;gap:.5rem;font-size:1rem}@media screen and (max-width: 768px){.route-content .route-stats .route-stat-item{justify-content:center}}.route-content .route-stats .route-stat-item .stat-label{font-weight:600;color:#1b3e41}.route-content .route-stats .route-stat-item .stat-value{color:#00943a;font-weight:700}.route-map{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.15);aspect-ratio:4/3}.route-map .route-image-wrapper{position:relative;width:100%;height:100%;background:#2c3e3a}.route-map .route-image-wrapper .route-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.route-map .route-image-wrapper .route-waypoints-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.route-map .route-image-wrapper .route-waypoints-overlay .route-waypoint{position:absolute;width:30px;height:30px;background:#e74c3c;border:3px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;transition:all .3s ease;transform:translate(-50%, -50%)}.route-map .route-image-wrapper .route-waypoints-overlay .route-waypoint:hover{transform:translate(-50%, -50%) scale(1.2);box-shadow:0 4px 15px rgba(231,76,60,.4)}.route-map .route-image-wrapper .route-waypoints-overlay .route-waypoint .waypoint-number{color:#fff;font-size:.875rem;font-weight:700;line-height:1}@media screen and (max-width: 576px){.route-map .route-image-wrapper .route-waypoints-overlay .route-waypoint{width:25px;height:25px}.route-map .route-image-wrapper .route-waypoints-overlay .route-waypoint .waypoint-number{font-size:.75rem}}.route-map .route-interactive-map{width:100%;height:100%;background:#2c3e3a;position:relative}.route-map .route-interactive-map .map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:#fff;font-size:1rem;text-align:center}.route-map .route-interactive-map .leaflet-container,.route-map .route-interactive-map .gm-style{width:100% !important;height:100% !important;border-radius:12px}.route-waypoint-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:2rem}.route-waypoint-modal.is-active{display:flex}.route-waypoint-modal .waypoint-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);cursor:pointer}.route-waypoint-modal .waypoint-modal-content{position:relative;width:100%;max-width:500px;background:#fff;border-radius:12px;padding:2rem;z-index:1;box-shadow:0 20px 40px rgba(0,0,0,.3)}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-close{position:absolute;top:1rem;right:1rem;width:35px;height:35px;background:rgba(0,0,0,0);border:none;color:#1b3e41;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-close:hover{background:rgba(0,0,0,.1)}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-close svg{width:20px;height:20px}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-body h3{color:#00943a;margin-bottom:1rem;font-size:1.5rem}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-body p{color:#1b3e41;line-height:1.6;margin-bottom:1rem}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-body p:last-child{margin-bottom:0}@media screen and (max-width: 576px){.route-waypoint-modal{padding:1rem}.route-waypoint-modal .waypoint-modal-content{padding:1.5rem}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-close{top:.75rem;right:.75rem;width:30px;height:30px}.route-waypoint-modal .waypoint-modal-content .waypoint-modal-close svg{width:18px;height:18px}}@media screen and (max-width: 768px){.route-block{padding:4rem 0}.route-block .route-container .route-content{order:1}.route-block .route-container .route-map{order:2}}@media screen and (max-width: 576px){.route-block{padding:3rem 0}}.route-image-wrapper.loading::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(44,62,58,.8);display:flex;align-items:center;justify-content:center}.route-block{opacity:0;transform:translateY(30px);animation:routeFadeIn .8s ease-out forwards}@keyframes routeFadeIn{to{opacity:1;transform:translateY(0)}}.route-waypoint:focus{outline:3px solid rgba(231,76,60,.5);outline-offset:2px}