@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700&display=swap";.hero-container{padding:0 1rem 1rem;height:95vh;color:#fff;display:flex;flex-direction:column}.n{display:flex;justify-content:space-between;align-items:center;padding:10px 50px;background-color:#fff;height:70px;min-height:70px;max-height:70px}.nav-container{display:flex;justify-content:space-between;align-items:center;padding:10px 50px;background-color:#fff;position:relative}.logo{color:#100a1c;font-size:24px;font-weight:700;cursor:pointer;flex:1}.desktop-nav{display:flex;justify-content:center;flex:2}.auth-buttons{display:flex;gap:15px;flex:1;justify-content:flex-end}.hamburger-btn{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:#100a1c;z-index:1001;position:absolute;left:20px}.mobile-nav{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;z-index:1000;transform:translateY(-100%);transition:transform .3s ease-in-out}.mobile-nav.open{transform:translateY(0)}.mobile-nav-links{display:flex;flex-direction:column;gap:30px;color:#100a1c;text-align:center}.mobile-nav-links a{color:#100a1c;text-decoration:none}.mobile-auth-buttons{display:flex;flex-direction:column;gap:20px}@media (max-width: 800px){.auth-buttons{display:none!important}.hero-container{padding:0;margin:0}.n{padding:10px 20px}.hero-content{border-radius:0;margin:0}}@media (max-width: 480px){.hero-container{padding:0}.hero-content{border-radius:0}}@media (max-width: 800px){.nav-container{padding:10px 20px}.hamburger-btn{display:block}.desktop-nav,.auth-buttons{display:none}}@media (min-width: 801px){.mobile-nav{display:none}}.logo{color:#100a1c;font-size:24px;font-weight:700;cursor:pointer}.logoSpan{color:#804ae0}.nav-links{display:flex;gap:30px;background-color:#f9f8fb;padding:12px 25px;border-radius:15px}.nav-links a{color:#100a1c;text-decoration:none;font-size:16px}.auth-buttons{display:flex;gap:15px}.hsignup-btn,.hsignin-btn{border-radius:20px;padding:12px 20px;font-weight:700;cursor:pointer;background-color:#631be5;color:#fff;border:none;box-shadow:0 5px 15px #0006}.hsignup-btn:hover,.hsignin-btn:hover{transform:scale(1.05);box-shadow:0 5px 15px #0000004d;transition:all .3s ease}.hero-content{background-image:linear-gradient(#0003),url(/planhattan/assets/hero-Da4Jqrz_.png);background-size:cover;background-position:center;border-radius:30px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative}.hero-content h1{position:absolute;font-size:60px;top:4rem;left:0rem;max-width:800px;text-shadow:0 5px 15px rgba(0,0,0,.5)}.booking-btn{position:absolute;top:14rem;left:19rem;padding:12px 30px;background-color:#ff5a5f;color:#fff;border:none;border-radius:5px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease}.booking-btn:hover{transform:scale(1.05);box-shadow:0 5px 15px #0000004d}.trust-section{min-height:100vh;padding:4rem 25px 2rem;text-align:center;margin:0 auto;display:flex;flex-direction:column;max-width:1400px;gap:3rem}.trust-header{width:100%;text-align:left}.trust-header h2{font-size:3.5rem;max-width:700px;margin:0;color:#333;line-height:1.2}.features-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%;align-items:start}.itinerary-card{min-height:500px;display:flex;flex-direction:column;background:#fff;border-radius:15px;box-shadow:0 8px 25px #0000001a;overflow:hidden;transform:scale(1);transition:transform .4s ease-in-out}.features-right{display:flex;flex-direction:column;gap:2rem;height:100%}.hmap-card,.feature-card{height:240px;display:flex;flex-direction:column;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.itinerary-icon{height:70%;display:flex;justify-content:center;align-items:center;overflow:hidden}.itinerary-icon img{width:100%;height:100%;object-fit:cover}.itinerary-content{height:30%;padding:1.5rem;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.itinerary-content h3{font-size:1.5rem;margin:0;line-height:1.3;color:#333}.itinerary-content p{font-size:1rem;margin:0;color:#666;line-height:1.4}.feature-icon{height:65%;display:flex;justify-content:center;align-items:center;overflow:hidden}.feature-icon img{width:100%;height:100%;object-fit:cover}.feature-content{height:35%;padding:1rem 1.5rem;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.feature-content h3{font-size:1.2rem;margin:0;line-height:1.3;color:#333}.feature-content p{font-size:.9rem;margin:0;color:#666;line-height:1.4}.highlight{color:#804ae0;font-weight:600}.itinerary-card:hover,.hmap-card:hover,.feature-card:hover{transform:scale(1.03);box-shadow:0 15px 35px #00000026;transition:1s}.itinerary-card:hover .itinerary-icon img,.hmap-card:hover .feature-icon img,.feature-card:hover .feature-icon img{transform:scale(1.05);transition:transform .5s ease}.destinations-section{height:95vh;padding:2rem 25px 0 2rem;text-align:center}.destinations-section h2{font-size:3.5rem;max-width:700px;text-align:start;color:#333;margin-left:20px;flex-shrink:0}.destinations-header .subtitle{font-size:2.5rem;color:#804ae0;font-weight:600;margin-bottom:1.5rem;margin-left:20px;flex-shrink:0;text-align:start}.destinations-header .description{font-size:1.1rem;color:#666;max-width:800px;margin-left:20px;text-align:start;margin-bottom:4rem}.destinations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.destination-card{cursor:pointer;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease;height:380px;display:flex;flex-direction:column}.destination-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000026}.destination-image{height:300px;background-size:cover;background-position:center;margin-bottom:10px}.destination-content{flex:1;display:flex;flex-direction:column;justify-content:space-between}.user-info{display:flex;align-items:center;gap:15px;height:50px;flex-shrink:0}.user-greeting{display:flex;align-items:center;gap:10px}.user-name{color:#333;font-size:30px;font-weight:700}.user-menu-container{position:relative}.user-profile-btn{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease;width:44px;height:44px;min-width:44px;min-height:44px}.user-profile-btn:hover{background-color:#f0f0f0}.user-avatar{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px #0000001a;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;position:absolute;top:0;left:0}.user-icon{font-size:18px;color:#fff}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:150px;z-index:1000;margin-top:5px}.user-dropdown-item{color:#100a1c;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f0f0f0}.user-dropdown-item.logout{color:#dc3545;font-weight:500}.user-dropdown-item.logout:hover{background-color:#fff5f5}.mobile-user-container{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:none;z-index:1002}.mobile-user-container .user-avatar{width:35px;height:35px;min-width:35px;min-height:35px;max-width:35px;max-height:35px}.mobile-user-container .user-profile-btn{width:39px;height:39px;min-width:39px;min-height:39px}.mobile-user-info{padding:20px;border-top:1px solid #eee}.mobile-user-greeting{margin-bottom:15px}.mobile-user-name{color:#333;font-size:18px;font-weight:700}.mobile-user-actions{display:flex;flex-direction:column;gap:10px}.mobile-user-actions button{background:none;border:1px solid #ddd;padding:12px;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left}.mobile-user-actions button:hover{background-color:#f8f9fa}.mobile-user-actions button:last-child{color:#dc3545;border-color:#dc3545}.mobile-user-actions button:last-child:hover{background-color:#fff5f5}@media (max-width: 768px){.user-info{display:none}.user-name{font-size:14px}.user-avatar{width:35px;height:35px}.user-icon{font-size:16px}}.error-message{color:#f44;background-color:#ffebee;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px;border:1px solid #ffcdd2}.success-message{color:#4caf50;background-color:#e8f5e8;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px;border:1px solid #c8e6c9}.signin-btn:disabled,.hsignup-btn:disabled,.hsignin-btn:disabled{opacity:.6;cursor:not-allowed}.user-dropdown.hidden{display:none}@media (max-width: 1200px){.trust-section{padding:3rem 2rem}.trust-header h2{font-size:3rem}.features-container{gap:1.5rem}}@media (max-width: 900px){.trust-section{padding:2rem 1rem;gap:2rem}.trust-header h2{font-size:2.5rem;text-align:center}.features-container{grid-template-columns:1fr;gap:2rem}.features-right{grid-template-columns:1fr 1fr;display:grid;gap:1.5rem}.itinerary-card{min-height:400px}.hmap-card,.feature-card{height:280px}}@media (max-width: 800px){.n{padding:10px 20px;position:relative}.hamburger-btn{display:block}.desktop-nav,.auth-buttons{display:none}.mobile-user-container{display:block!important}.user-info{display:none!important}}.mobile-nav .mobile-user-info{display:none}@media (max-width: 768px){.trust-section{min-height:auto;padding:2rem 1rem}.trust-header h2{font-size:2rem}.features-right{grid-template-columns:1fr;display:flex;flex-direction:column}.itinerary-card{min-height:350px}.hmap-card,.feature-card{height:250px}.itinerary-content{padding:1rem}.itinerary-content h3{font-size:1.3rem}.feature-content{padding:.8rem 1rem}.feature-content h3{font-size:1.1rem}}@media (max-width: 480px){.trust-section{padding:1.5rem .5rem}.trust-header h2{font-size:1.8rem;line-height:1.1}.features-container{gap:1.5rem}.itinerary-card{min-height:320px}.hmap-card,.feature-card{height:220px}.itinerary-content h3{font-size:1.2rem}.itinerary-content p{font-size:.9rem}.feature-content h3{font-size:1rem}.feature-content p{font-size:.8rem}}@media (min-width: 1400px){.trust-section{padding:4rem 50px}.trust-header h2{font-size:4rem}}@media (min-width: 1600px){.trust-section{padding:5rem 80px}.trust-header h2{font-size:4.5rem}}@media (max-width: 768px){.destinations-section{padding:2rem .5rem;min-height:auto}.destinations-header{padding:0 .5rem}.destinations-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;padding:0 .5rem}.destination-card{height:350px}.destination-image{height:220px}}@media (max-width: 480px){.destinations-header h2{font-size:2.5rem}.destinations-header .subtitle{font-size:2rem;margin-bottom:1rem}.destinations-header .description{font-size:1rem;margin-bottom:2rem}.destinations-grid{grid-template-columns:1fr;max-width:350px}.destination-card{height:320px}.destination-image{height:200px}}@media (max-width: 1200px){.features-container{flex-wrap:wrap;justify-content:center}.itinerary-card{width:100%;max-width:600px;min-height:350px}}@media (max-width: 768px){.home-container{padding:0!important;margin:0!important}.hero-container{padding:0!important;margin:0!important;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw!important;margin-right:-50vw!important}.hero-content{border-radius:0;margin:0}.n{padding:10px 20px;flex-direction:column;gap:15px}.nav-links{width:100%;justify-content:center;gap:15px;padding:10px}.hero-content h1{font-size:2.5rem;position:static;margin:2rem 1rem;text-align:center}.booking-btn{position:static;margin:0 auto 2rem}.trust-section{height:auto;padding:2rem 1rem}.trust-section h2{font-size:2rem;text-align:center;margin-left:0}.itinerary-card,.hmap-card,.feature-card{width:100%;max-width:400px;min-height:300px}.feature-content h3{font-size:1.1rem}}@media (max-width: 480px){.nav-links{flex-wrap:wrap}.nav-links a{font-size:14px}.auth-buttons{width:100%;justify-content:center}.trust-section h2{font-size:1.8rem}.itinerary-content h3,.feature-content h3{font-size:1rem;-webkit-line-clamp:3}}.profile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1010;padding:10px}.profile-modal{background:#fff;border-radius:12px;padding:35px;width:90%;max-width:500px;position:relative;box-shadow:0 10px 30px #0000004d;transition:all .3s ease;max-height:90vh;overflow-y:auto}.profile-modal.expanded{max-width:600px;min-height:400px}.profile-close-btn{position:absolute;top:2px;right:2px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;z-index:10}.profile-content{display:flex;gap:30px;align-items:flex-start;transition:all .3s ease}.profile-content.expanded{gap:40px;min-height:300px}.profile-left{display:flex;flex-direction:column;align-items:center;flex:1;justify-content:center;min-height:200px}.profile-avatar{width:100px;height:100px;background-color:#f0f0f0;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:15px;border:3px solid #ddd;transition:all .3s ease;position:relative;cursor:pointer;overflow:hidden}.profile-avatar.expanded{width:130px;height:130px}.profile-avatar:hover{border-color:#4a54e1}.profile-avatar img{border-radius:50%;width:100%;height:100%;object-fit:cover}.profile-user-icon{font-size:50px;color:#666;transition:all .3s ease}.profile-user-icon.expanded{font-size:65px}.profile-greeting{font-size:18px;font-weight:600;color:#333;text-align:center;transition:all .3s ease;margin-top:10px;word-break:break-word}.profile-greeting.expanded{font-size:20px}.profile-right{display:flex;flex-direction:column;gap:12px;flex:1;transition:all .3s ease}.profile-right.expanded{gap:15px;flex:1.5}.profile-btn{padding:12px 20px;border:2px solid #4a54e1;background-color:#fff;color:#4a54e1;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center}.profile-btn.expanded{padding:15px 25px;font-size:16px}.profile-btn:hover{background-color:#4a54e1;color:#fff}.profile-btn.delete{border-color:#dc3545;color:#dc3545;margin-top:15px}.profile-btn.delete.expanded{margin-top:20px}.profile-btn.delete:hover{background-color:#dc3545;color:#fff}.profile-btn:disabled{opacity:.6;cursor:not-allowed}.input-section{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:10px;border:1px solid #dee2e6;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-input{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:6px;font-size:16px;margin-bottom:15px;transition:border-color .2s;box-sizing:border-box;min-height:48px}.profile-input:focus{outline:none;border-color:#4a54e1}.profile-input:last-of-type{margin-bottom:20px}.input-buttons{display:flex;gap:10px;flex-wrap:wrap}.save-btn,.cancel-btn{padding:12px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;flex:1;min-height:48px;display:flex;align-items:center;justify-content:center}.save-btn{background-color:#28a745;color:#fff}.save-btn:hover{background-color:#218838}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed}.cancel-btn{background-color:#6c757d;color:#fff}.cancel-btn:hover{background-color:#5a6268}.profile-avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s ease}.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-avatar-btn{background:#fffc;border:none;border-radius:50%;padding:8px;cursor:pointer;font-size:16px;transition:background-color .2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.profile-avatar-btn:hover{background:#fff}.profile-avatar-btn.remove{background:#dc3545cc;color:#fff}.profile-avatar-btn.remove:hover{background:#dc3545}.change-picture-btn{background-color:#4a54e1;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;margin-top:10px;transition:background-color .3s ease;min-height:44px;display:flex;align-items:center;justify-content:center}.change-picture-btn:hover{background-color:#3a44d1}.change-picture-btn:disabled{background-color:#6c757d;cursor:not-allowed}.picture-upload-section{margin-top:15px;text-align:center;width:100%}.selected-file{font-size:12px;color:#666;margin-bottom:10px;word-break:break-all;padding:8px;background-color:#f8f9fa;border-radius:4px;border:1px solid #dee2e6}@media (max-width: 768px){.profile-modal{padding:25px;width:95%;max-height:85vh}.profile-content{gap:20px}.profile-content.expanded{gap:25px}.profile-avatar{width:90px;height:90px}.profile-avatar.expanded{width:110px;height:110px}.profile-user-icon{font-size:45px}.profile-user-icon.expanded{font-size:55px}.profile-greeting{font-size:16px}.profile-greeting.expanded{font-size:18px}.profile-btn{font-size:15px;padding:14px 18px}.input-section{padding:15px}}@media (max-width: 600px){.profile-overlay{padding:20px 5px 5px;align-items:flex-start}.profile-modal{margin:0;padding:20px;width:100%;max-width:none;min-height:auto;max-height:95vh;border-radius:12px}.profile-modal.expanded{max-width:none;min-height:auto}.profile-close-btn{top:10px;right:10px;width:36px;height:36px;font-size:20px}.profile-content{flex-direction:column;gap:20px;text-align:center}.profile-content.expanded{gap:20px;min-height:auto}.profile-left{min-height:auto;width:100%}.profile-avatar{width:80px;height:80px;margin-bottom:10px}.profile-avatar.expanded{width:90px;height:90px}.profile-user-icon{font-size:40px}.profile-user-icon.expanded{font-size:45px}.profile-greeting{font-size:16px;margin-top:5px}.profile-greeting.expanded{font-size:16px}.profile-right{align-items:stretch;width:100%;gap:15px}.profile-right.expanded{flex:1;gap:15px}.profile-btn{width:100%;padding:15px;font-size:16px;min-height:50px}.profile-btn.expanded{padding:15px;font-size:16px}.change-picture-btn{width:100%;max-width:200px;margin:10px auto 0;padding:12px 20px;font-size:15px}.picture-upload-section{margin-top:10px}.input-section{padding:15px;margin-bottom:5px}.profile-input{font-size:16px;padding:15px;margin-bottom:12px;min-height:50px}.input-buttons{gap:8px}.save-btn,.cancel-btn{padding:15px 20px;font-size:15px;min-height:50px;border-radius:8px}.selected-file{font-size:13px;padding:10px;margin-bottom:12px}.profile-avatar-overlay{opacity:.8}.profile-avatar-btn{width:32px;height:32px;font-size:14px;padding:6px}}@media (max-width: 400px){.profile-modal{padding:15px}.profile-close-btn{top:8px;right:8px;width:32px;height:32px;font-size:18px}.profile-content{gap:15px}.profile-avatar{width:70px;height:70px}.profile-avatar.expanded{width:80px;height:80px}.profile-user-icon{font-size:35px}.profile-user-icon.expanded{font-size:40px}.profile-greeting{font-size:15px}.profile-btn{padding:12px;font-size:15px}.change-picture-btn{font-size:14px;padding:10px 15px}.input-section{padding:12px}.profile-input{padding:12px;font-size:16px}.save-btn,.cancel-btn{padding:12px 15px;font-size:14px;min-height:48px}}@media (max-width: 900px) and (orientation: landscape) and (max-height: 500px){.profile-overlay{align-items:center;padding:10px}.profile-modal{max-height:90vh;width:95%;max-width:700px}.profile-content{flex-direction:row;gap:25px}.profile-left{flex:.8}.profile-right{flex:1.2}.profile-avatar{width:70px;height:70px}.profile-greeting{font-size:14px;margin-top:8px}.change-picture-btn{font-size:13px;padding:8px 12px;margin-top:8px}}.notification{position:fixed;top:16px;right:16px;z-index:1000;max-width:400px;width:calc(100% - 32px);background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:flex-start;gap:12px;padding:16px;border-left:4px solid;transform:translate(0);transition:all .3s ease-in-out}.notification.error{border-left-color:#ef4444;background:#fef2f2}.notification.success{border-left-color:#10b981;background:#f0fdf4}.notification.warning{border-left-color:#f59e0b;background:#fffbeb}.notification.info{border-left-color:#3b82f6;background:#eff6ff}.notification-icon{flex-shrink:0;margin-top:2px}.notification.error .notification-icon{color:#ef4444}.notification.success .notification-icon{color:#10b981}.notification.warning .notification-icon{color:#f59e0b}.notification.info .notification-icon{color:#3b82f6}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:14px;line-height:1.4;margin-bottom:4px}.notification.error .notification-title{color:#991b1b}.notification.success .notification-title{color:#166534}.notification.warning .notification-title{color:#92400e}.notification.info .notification-title{color:#1e40af}.notification-message{font-size:13px;line-height:1.4;word-wrap:break-word}.notification.error .notification-message{color:#7f1d1d}.notification.success .notification-message{color:#14532d}.notification.warning .notification-message{color:#78350f}.notification.info .notification-message{color:#1e3a8a}.notification-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s ease}.notification-close:hover{background:#0000001a}.notification.error .notification-close{color:#991b1b}.notification.success .notification-close{color:#166534}.notification.warning .notification-close{color:#92400e}.notification.info .notification-close{color:#1e40af}@media (max-width: 640px){.notification{top:12px;right:12px;left:12px;width:auto;max-width:none;padding:12px;gap:10px}.notification-icon svg{width:16px;height:16px}.notification-title{font-size:13px;margin-bottom:2px}.notification-message{font-size:12px}.notification-close{padding:2px}.notification-close svg{width:14px;height:14px}}@media (max-width: 480px){.notification{top:8px;right:8px;left:8px;padding:10px;gap:8px}.notification-icon svg{width:14px;height:14px}.notification-title{font-size:12px}.notification-message{font-size:11px}.notification-close svg{width:12px;height:12px}}@media (min-width: 641px) and (max-width: 1024px){.notification{max-width:350px}}@media (min-width: 1025px){.notification{max-width:400px}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification{animation:slideIn .3s ease-out}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.notification.closing{animation:slideOut .3s ease-in}.current-location-badge{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;margin-top:8px;text-align:center;box-shadow:0 2px 4px #4caf504d}.current-location-marker{cursor:pointer;transition:transform .2s ease}.current-location-marker:hover{transform:scale(1.1)}.popup-content{min-width:200px;padding:8px}.popup-content h3{margin:0 0 8px;font-size:16px;color:#333}.popup-content p{margin:4px 0;color:#666;font-size:14px}.busyness-meter{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-top:8px}.busyness-level{height:100%;transition:width .3s ease;border-radius:4px}.current-location-marker svg{animation:pulse 2s infinite}.location-dropdown{position:absolute;top:0;left:0;width:360px;max-width:90vw;background:#fff;border-radius:8px;box-shadow:0 8px 32px #00000040;z-index:1000;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.dropdown-header{display:flex;justify-content:flex-end;padding:12px 16px 0}.close-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;color:#666;transition:all .2s ease}.close-btn:hover{background:#f0f0f0;color:#333}.dropdown-content{padding:0 16px 16px}.location-main-info{margin-bottom:16px}.location-name{font-size:24px;font-weight:600;margin:0 0 8px;color:#333;line-height:1.2}.location-address{display:flex;align-items:center;gap:8px;color:#666;font-size:14px;margin-bottom:12px}.address-icon{color:#999;flex-shrink:0}.rating-section{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rating-stars{display:flex;align-items:center;gap:2px}.rating-number{font-weight:600;color:#333;margin-left:4px}.review-count{color:#666;font-size:14px}.location-status{border-top:1px solid #e5e5e5;padding-top:16px;margin-bottom:16px}.status-item{display:flex;align-items:center;gap:8px;margin-bottom:12px}.open-status{color:#22c55e;font-weight:600}.closed-status{color:#ef4444;font-weight:600}.hours-text{color:#666;font-weight:400}.busyness-section{margin-bottom:12px}.busyness-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.busyness-text{font-size:14px;font-weight:600;color:#333}.busyness-percentage{font-size:12px;color:#666}.busyness-meter{height:4px;background:#e5e5e5;border-radius:2px;overflow:hidden}.busyness-level{height:100%;border-radius:2px;transition:width .3s ease}.contact-section{border-top:1px solid #e5e5e5;padding-top:16px;margin-bottom:16px}.contact-item{display:flex;align-items:center;gap:8px;margin-bottom:8px}.contact-link{color:#1a73e8;text-decoration:none;font-size:14px}.contact-link:hover{text-decoration:underline}.route-section{border-top:1px solid #e5e5e5;padding-top:16px;margin-bottom:16px}.route-title{font-size:16px;font-weight:600;margin:0 0 12px;color:#333}.route-options{display:flex;gap:12px}.route-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5e5e5;border-radius:20px;cursor:pointer;transition:all .2s ease;min-width:80px}.route-option:hover{background:#f8f9fa}.route-option.active{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.route-details{display:flex;flex-direction:column;align-items:center;gap:2px}.route-time{font-weight:600;font-size:14px}.route-distance{font-size:12px;color:#666}.action-buttons{display:flex;gap:8px;margin-bottom:16px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn.primary{background:#1976d2;color:#fff}.action-btn.primary:hover{background:#1565c0}.action-btn.secondary{background:#f8f9fa;color:#333;border:1px solid #e5e5e5}.action-btn.secondary:hover{background:#e3f2fd}.current-location-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#e8f5e8;border-radius:20px;font-size:14px;font-weight:600;color:#2e7d32;border:1px solid #a5d6a7}.current-location-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.gps-button{position:absolute;bottom:20px;right:20px;z-index:1000;background:#fff;border-radius:50%;padding:12px;box-shadow:0 2px 10px #0003;cursor:pointer;transition:all .2s ease;border:2px solid #e0e0e0}.gps-button:hover{box-shadow:0 4px 20px #0000004d;transform:translateY(-2px)}@media (max-width: 768px){.location-dropdown{width:100%;max-width:100vw;height:100vh;border-radius:0;top:0;left:0;right:0;bottom:0;overflow-y:auto}.location-name{font-size:20px}.route-options{flex-direction:column;gap:8px}.route-option{justify-content:flex-start;min-width:auto}.action-buttons{flex-direction:column}}@media (max-width: 480px){.dropdown-content{padding:0 12px 12px}.location-name{font-size:18px}.route-section{padding-top:12px}.action-btn{padding:10px 14px;font-size:13px}}.route-info{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.location-dropdown .contact-item:hover{background:#1a73e80a;border-radius:4px;margin:0 -8px;padding:4px 8px}.route-loading{display:flex;align-items:center;justify-content:center;padding:20px;color:#666}.route-loading:after{content:"";width:20px;height:20px;border:2px solid #e5e5e5;border-top:2px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin-left:8px}.action-btn:focus,.close-btn:focus,.route-option:focus{outline:2px solid #1976d2;outline-offset:2px}@media (prefers-color-scheme: dark){.location-dropdown{background:#1f1f1f;color:#e0e0e0;border:1px solid #333}.location-name{color:#fff}.location-address{color:#ccc}.location-status,.contact-section,.route-section{border-color:#333}.action-btn.secondary{background:#333;color:#e0e0e0;border-color:#555}.action-btn.secondary:hover{background:#444}.close-btn:hover{background:#333}}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.navbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:#fff;position:relative}.navbar-logo{font-weight:700;font-size:1.5rem;cursor:pointer;order:1}.navbar-logo span{color:#5c5cff}.navbar-links{display:flex;gap:3rem;order:2;position:absolute;left:50%;transform:translate(-50%)}.navbar-link{position:relative;display:inline-block;text-decoration:none;color:#888;padding-bottom:4px;transition:color .3s ease}.navbar-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background-color:#5c5cff;transform:scaleX(0);transform-origin:left}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.navbar-link.active{color:#000;font-weight:600}.navbar-link.active:after{animation:slideIn .4s ease forwards}.navbar-user{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid transparent;transition:all .3s ease-in-out;box-shadow:none;order:3}.navbar-user:hover{border-color:#5c5cff;cursor:pointer}.navbar-user img{width:100%;height:100%;object-fit:cover}.hamburger{display:none;flex-direction:column;cursor:pointer;padding:5px;order:1}.hamburger span{width:25px;height:3px;background-color:#333;margin:3px 0;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:2px}.hamburger.active span:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#0000;z-index:1010;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.mobile-menu.active{visibility:visible;background-color:#0009}.mobile-menu-content{position:absolute;top:0;left:0;width:280px;height:100vh;background-color:#fff;padding:2rem;transform:translate(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:2px 0 20px #00000026;overflow-y:auto}.mobile-menu.active .mobile-menu-content{transform:translate(0)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}.mobile-menu-logo{font-weight:700;font-size:1.5rem;cursor:pointer}.mobile-menu-logo span{color:#5c5cff}.mobile-menu-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#888;padding:5px;transition:color .3s ease}.mobile-menu-close:hover{color:#5c5cff}.mobile-menu-links{display:flex;flex-direction:column;gap:1.5rem}.mobile-menu-link{text-decoration:none;color:#333;font-size:1.1rem;padding:.75rem 0;border-bottom:1px solid #f0f0f0;transition:all .3s ease;opacity:0;transform:translate(-20px);animation:slideInLinks .4s ease forwards}.mobile-menu-link:nth-child(1){animation-delay:.1s}.mobile-menu-link:nth-child(2){animation-delay:.2s}.mobile-menu-link:nth-child(3){animation-delay:.3s}@keyframes slideInLinks{to{opacity:1;transform:translate(0)}}.mobile-menu-link:hover{color:#5c5cff;padding-left:10px}.mobile-menu-link.active{color:#5c5cff;font-weight:600}.mobile-menu.active .mobile-menu-content{animation:slideInBounce .4s cubic-bezier(.4,0,.2,1) forwards}.navbar-user-container{position:relative;order:3}.navbar-user{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid transparent;transition:all .3s ease-in-out;box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0}.navbar-user:hover{border-color:#5c5cff}.user-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#e8e8e8;border-radius:50%}.user-icon{font-size:1.2rem;color:#666}.user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:180px;z-index:1000;margin-top:8px;overflow:hidden}.user-dropdown-header{padding:12px 16px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.user-name{font-weight:600;color:#333;font-size:.9rem}.user-dropdown-item{padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f0f0f0;color:#555;font-size:.9rem}.user-dropdown-item:hover{background-color:#f8f9fa}.user-dropdown-item:last-child{border-bottom:none}.user-dropdown-item.logout{color:#e74c3c;font-weight:500}.user-dropdown-item.logout:hover{background-color:#ffeaea}.user-dropdown-item.logout.logging-out{opacity:.6;cursor:not-allowed}.mobile-user-info{padding:1.5rem 0 1rem;border-top:1px solid #eee;display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem}.mobile-user-avatar{position:relative;width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid #e0e0e0;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center}.mobile-user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.mobile-user-icon{font-size:1.5rem;color:#666;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mobile-user-name{font-weight:600;color:#333;font-size:1rem;text-align:center}.mobile-user-actions{display:flex;gap:.75rem;width:100%;justify-content:center;flex-wrap:wrap}.mobile-user-action{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease;flex:1;min-width:80px;text-align:center}.mobile-user-action:hover{background:#f8f9fa;border-color:#5c5cff;color:#5c5cff}.mobile-user-action.logout{color:#e74c3c;border-color:#e74c3c}.mobile-user-action.logout:hover{background:#e74c3c;color:#fff}.mobile-user-action.logging-out{opacity:.6;cursor:not-allowed;pointer-events:none}.mobile-user-action.logging-out:hover{background:#fff;color:#e74c3c;border-color:#e74c3c}@keyframes slideInBounce{0%{transform:translate(-100%)}70%{transform:translate(10px)}to{transform:translate(0)}}@media (max-width: 768px){.navbar{padding:1rem 1.5rem}.navbar-links{display:none}.hamburger{display:flex}.navbar-user-container{order:3}.user-icon{font-size:1.1rem}.navbar-logo{position:absolute;left:50%;transform:translate(-50%);font-size:1.3rem;order:2}.navbar-user{width:35px;height:35px}}@media (max-width: 480px){.user-icon{font-size:1rem}.navbar{padding:.75rem 1rem}.navbar-logo{font-size:1.2rem}.navbar-user{width:32px;height:32px}.mobile-menu-content{width:260px;padding:1.5rem}.mobile-user-actions{flex-direction:column;gap:.5rem}.mobile-user-action{flex:none;width:100%}}.planner-page{height:100vh;display:flex;flex-direction:column;overflow:hidden}.planner-page>:first-child{flex-shrink:0}.planner-layout{display:flex;flex:1;min-height:0;width:100%}.planner-left-map{flex:0 0 50%;min-width:0;background-color:#eef1ff;overflow:hidden;position:relative}.planner-right{flex:0 0 50%;min-width:0;padding:1.5rem;background-color:#fff;overflow-y:auto;position:relative}.planner-right-content{max-width:900px;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column}@media (max-width: 1440px){.planner-right{padding:1.25rem}}@media (max-width: 1280px){.planner-right{padding:1rem}}@media (max-width: 1024px){.planner-layout{flex-direction:column}.planner-left-map,.planner-right{flex:0 0 50vh;width:100%}}@media (max-width: 768px){.planner-page{margin:0 -2rem}.planner-right{padding:.75rem}.planner-left-map,.planner-right{flex:0 0 auto;min-height:50vh}.planner-left-map{width:100vw;margin:0}}.btn{background-color:#631be5;color:#fff;border:none;width:30%;padding:.6rem 1.5rem;border-radius:1rem;cursor:pointer;font-size:15px;font-weight:700;box-shadow:0 5px 15px #0006}.btn:hover{transform:scale(1.05);box-shadow:0 5px 15px #0000004d;transition:all .3s ease}.map-panel{position:relative;width:100%;height:100%}.map-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffe6;padding:1rem;border-radius:.5rem;box-shadow:0 2px 10px #0000001a;z-index:1000;text-align:center;color:#666;font-size:.9rem}.popup-content{padding:12px;min-width:200px}.popup-content h3{margin-top:0;color:#333}.busyness-meter{height:8px;background:#f0f0f0;border-radius:4px;margin-top:8px;overflow:hidden}.busyness-level{height:100%;background:#5c5cff;border-radius:4px}text{font-weight:700;pointer-events:none}.search-container{max-width:900px;margin:0 auto;gap:2rem}p{margin-top:10px;color:#555}h3{margin-bottom:10px}.search-box{position:relative;margin:1rem 0}.search-box input{width:100%;padding:1rem 2.5rem 1rem 1rem;border:none;border-radius:1rem;box-shadow:0 5px 15px #0000001a;font-size:1rem}.search-icon{position:absolute;cursor:pointer;right:1rem;top:50%;transform:translateY(-50%);color:#555}.search-icon:hover{color:#631be5}.predictions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:.5rem;box-shadow:0 10px 25px #00000026;z-index:1000;max-height:300px;overflow-y:auto}.prediction-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.prediction-main{font-weight:500;color:#333;margin-bottom:.25rem}.prediction-secondary{font-size:.875rem;color:#666}.selected-place-info{background:#f8f9fa;padding:1rem;border-radius:.5rem;margin:1rem 0;border-left:4px solid #631BE5}.selected-place-info h4{margin:0 0 .5rem;color:#631be5;font-size:1.1rem}.selected-place-info p{margin:.25rem 0;font-size:.9rem}.title-time{display:flex;margin-top:20px;flex:1}.input-box input{width:80%;padding:1rem;border:none;border-radius:1rem;box-shadow:0 5px 15px #0000001a;font-size:1rem;margin-bottom:1rem}.time-slot{display:flex;gap:1rem;margin:1rem 0}.time-slot select{padding:.5rem;font-size:1rem;border:none;border-bottom:2px solid #000;background:none;outline:none}.buttons{display:flex;gap:3rem;margin-top:1.2rem}.btn{background-color:#631be5;color:#fff;border:none;width:30%;padding:.6rem 1.5rem;border-radius:1rem;cursor:pointer;font-size:15px;font-weight:700;box-shadow:0 5px 15px #0006;transition:all .3s ease}.btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 5px 15px #0000004d}.btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.search-box{display:flex;align-items:center;gap:10px;position:relative;margin-bottom:20px}.search-box input{flex:1;padding:12px 16px;border:2px solid #e1e5e9;border-radius:12px;font-size:16px;transition:border-color .3s ease}.search-box input:focus{outline:none;border-color:#4a54e1}.search-icon{cursor:pointer;color:#4a54e1;padding:8px;border-radius:8px;transition:background-color .3s ease}.search-icon:hover{background-color:#f5f5f5}.location-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background-color:#4a54e1;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.location-btn:hover:not(:disabled){background-color:#3c46d1;transform:translateY(-1px)}.location-btn:disabled{background-color:#a0a0a0;cursor:not-allowed;transform:none}.current-location-display{margin-top:10px;display:flex;align-items:center;gap:8px;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:8px;padding:10px 16px;margin-bottom:16px;font-size:14px;color:#2e7d32}.current-location-display svg{color:#4caf50}@media (max-width: 768px){.search-box{flex-direction:column;gap:12px}.location-btn{width:100%;justify-content:center}}.predictions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;max-height:300px;overflow-y:auto}.prediction-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.prediction-item:hover{background-color:#f8f9fa}.prediction-main{font-weight:500;color:#333;margin-bottom:2px}.prediction-secondary{font-size:12px;color:#666}@media (max-width: 768px){.search-container{width:95%;max-width:none;padding:.5rem;gap:1rem;margin:0 auto}.title-time{flex-direction:column;gap:1rem}.title-container,.time-container{width:100%}.input-box input{width:100%;padding:.8rem;font-size:.9rem}.search-box{flex-direction:column;gap:.8rem}.search-box input{width:100%;padding:.8rem;font-size:.9rem}.location-btn{width:100%;justify-content:center;padding:.7rem 1rem;font-size:.85rem}.buttons{flex-direction:column;gap:1rem}.btn{width:100%;padding:.7rem 1rem;font-size:.85rem}.predictions-dropdown{max-height:200px}.current-location-display{font-size:.8rem;padding:.7rem 1rem}h1{font-size:1.5rem;text-align:center}h3{font-size:1.1rem}p{font-size:.9rem;text-align:center}}@media (max-width: 480px){.search-container{width:98%;padding:.25rem}.search-box input,.input-box input{padding:.7rem;font-size:.85rem}.location-btn,.btn{padding:.6rem .8rem;font-size:.8rem}h1{font-size:1.3rem}h3{font-size:1rem}.prediction-item{padding:.5rem}.selected-place-info{padding:.75rem}.current-location-display{font-size:.75rem;padding:.6rem .8rem}}.interest-container{overflow-x:hidden;margin-top:2rem;padding:0 1rem}.title{font-size:1.8rem;font-weight:700;margin-bottom:.3rem}.subtitle{color:#555;margin-bottom:1rem;font-size:.95rem}.icon-grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.icon-card{width:70px;height:100px;padding:1.2rem;gap:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .2s ease-in-out;cursor:pointer}.icon-card:hover{transform:scale(.9)}.icon-card.selected{transform:scale(1.1)}.icon-card.selected .icon svg{color:#373dc4;background-color:#fff}.icon{box-shadow:5px 8px 8px #0000000d;transition:all .2s ease-in-out;cursor:pointer}.icon-label{font-size:.85rem;font-weight:500;color:#1a1a1a;line-height:1.2;margin-top:.4rem;text-align:center}.cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.search-label{font-size:1.2rem;flex:1}.go-btn{background-color:#631be5;color:#fff;font-weight:700;border:none;padding:.6rem 1.5rem;border-radius:999px;box-shadow:0 5px 15px #0000001a;cursor:pointer;transition:all .3s ease;text-transform:uppercase;flex-shrink:0}.go-btn:hover{transform:scale(1.02);box-shadow:0 5px 15px #0000004d}.go-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.slider-container{position:relative;overflow:visible;min-height:130px;padding:5px}.interest-panel{width:100%;transition:transform .3s ease-in-out}.interest-panel.slide-left{transform:translate(-110%)}.datetime-panel{position:absolute;top:0;left:0;width:100%;transform:translate(110%);transition:transform .3s ease-in-out}.datetime-panel.slide-in{transform:translate(0)}.datetime-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.back-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.back-btn:hover{background-color:#f0f0f0}.datetime-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#333}.datetime-input-wrapper{display:flex;flex-direction:row;align-items:center;gap:1.5rem;justify-content:center}.planning-text{display:flex;align-items:center;gap:.5rem;margin-top:12px}.time-input-group,.time-picker-section{display:flex;align-items:center;gap:.5rem}.date-picker{padding:.5rem;border:none;border-radius:4px}@media (max-width: 768px){.datetime-input-wrapper{flex-direction:column;gap:1rem}}.date-picker.error{border-color:#f44}@media (max-width: 768px){.interest-container{padding:0 .5rem;margin-top:.5rem;max-width:100%;overflow-x:hidden;min-height:auto}.slider-container{min-height:120px;margin-bottom:1rem;padding:2px;overflow:visible}.datetime-header .h3{flex-direction:row}.cta{flex-direction:column;align-items:stretch;gap:.8rem;margin-top:1rem;margin-bottom:2rem;padding:0 .5rem}.icon-grid{justify-content:center;gap:1rem}.datetime-input-wrapper{margin-left:10px;flex-direction:column;gap:1rem}.go-btn{width:100%;padding:.8rem 1.2rem;font-size:.9rem;min-height:44px;margin-bottom:1rem}}@media (max-width: 480px){.interest-container{padding:0 .25rem 2rem;margin-top:1rem}.icon-grid{flex-wrap:wrap}.slider-container{min-height:100px;margin-bottom:1rem;overflow:visible}.cta{gap:.8rem;margin-top:1rem;margin-bottom:2rem;padding-bottom:1rem}.datetime-content{padding:.25rem;gap:.8rem}.datetime-input-wrapper{max-width:260px}.date-picker{padding:.6rem;max-width:160px;font-size:.85rem}.go-btn{padding:.8rem 1rem;font-size:.85rem;min-height:44px;margin-bottom:1rem}}@media (max-width: 768px) and (max-height: 600px){.interest-container{margin-top:.25rem;padding-bottom:3rem}.slider-container{min-height:90px;overflow:visible}.datetime-content{padding:.5rem;gap:1rem}.datetime-input-wrapper{max-width:280px}.date-picker{padding:.7rem;max-width:180px}.cta{margin-bottom:2rem;padding-bottom:1rem}}.time-display{display:flex;align-items:center;gap:8px;background:#fff;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:.8rem;border-radius:12px;font-size:1rem}.time-input-group{display:flex;flex-direction:row;align-items:center;gap:2px;flex-wrap:nowrap}.time-input{width:24px;border:none;background:transparent;text-align:center;font-size:14px;padding:2px;outline:none;flex-shrink:0}.time-input:focus{background:#f0f7ff;border-radius:4px}.time-separator{font-weight:700;-webkit-user-select:none;user-select:none;flex-shrink:0}.period-toggle{background:#f5f5f5;border:none;border-radius:4px;padding:2px 8px;margin-left:4px;cursor:pointer;font-size:14px;transition:background .2s;flex-shrink:0;white-space:nowrap}.period-toggle:hover{background:#e0e0e0}.date-time-picker{display:flex;gap:12px;position:relative}.date-display,.time-display{display:flex;align-items:center;gap:8px;padding:1rem;background:#fff;border-radius:1rem;box-shadow:0 5px 15px #0000001a;cursor:pointer;font-size:14px;transition:all .2s}.date-display:hover,.time-display:hover{box-shadow:0 2px 6px #00000026}.calendar-popup{position:absolute;top:100%;left:0;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;padding:16px;width:280px;z-index:100;margin-top:8px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-header h4{font-size:16px;font-weight:600;margin:0}.calendar-header button{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px}.calendar-header button:hover{background:#f5f5f5}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:8px;font-size:12px;color:#666;font-weight:500}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:14px;cursor:pointer}.calendar-day:hover{background:#f5f5f5}.calendar-day.selected{background:#4a54e1;color:#fff;font-weight:500}.calendar-day.empty{visibility:hidden}.calendar-actions{display:flex;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid #eee}.calendar-actions button{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:14px}.calendar-actions button:last-child{background:#4a54e1;color:#fff}.time-picker-popup{position:absolute;top:100%;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;padding:16px;width:280px;z-index:100}.time-columns{display:flex;gap:8px;margin-bottom:16px;max-height:200px;overflow-y:auto}.time-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.time-option{width:100%;padding:8px;text-align:center;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.time-option:hover{background:#f5f5f5}.time-option.selected{background:#4a54e1;color:#fff;font-weight:500}.time-actions{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid #eee}.time-actions button{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:14px;transition:all .2s}.cancel-btn{background:#f5f5f5;color:#333}.cancel-btn:hover{background:#e0e0e0}.now-btn{background:#f0f7ff;color:#4a54e1}.now-btn:hover{background:#e0ecff}.save-btn{background:#4a54e1;color:#fff}.save-btn:hover{background:#3a44d1}.my-plans-container{padding:20px;max-width:1200px;margin:0 auto}.my-plans-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.my-plans-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.results-count{color:#666;font-size:14px}.plans-scroll-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.plans-table{width:100%;border-collapse:collapse;min-width:600px}.plans-table th{background-color:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #dee2e6;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.plans-table td{padding:12px;border-bottom:1px solid #dee2e6;vertical-align:middle}.plan-row{transition:all .3s ease}.plan-row:hover{background-color:#f8f9fa}.plan-row.deleting{opacity:.5;transform:scale(.98)}.place-cell{display:flex;align-items:center;gap:12px}.area-image-container{width:40px;height:40px;border-radius:6px;overflow:hidden;flex-shrink:0}.area-image{width:100%;height:100%;object-fit:cover}.prediction-bar{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize;color:var(--text-color);background-color:#0000000d}.myPlans-delete-btn{background:none;border:none;color:#dc3545;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s ease}.myPlans-delete-btn:hover{background-color:#dc35451a}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state p{margin-bottom:16px;font-size:16px}.loading-state{text-align:center;padding:60px 20px;color:#666}.signin-prompt-btn{background-color:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;margin-top:16px;transition:background-color .2s ease}.signin-prompt-btn:hover{background-color:#0056b3}.signin-prompt-btn:active{transform:translateY(1px)}.plans-cards{display:none}.plan-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a;border:1px solid #dee2e6;margin-bottom:12px;transition:all .3s ease}.plan-card:hover{box-shadow:0 4px 8px #00000026}.plan-card.deleting{opacity:.5;transform:scale(.98)}.plan-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.plan-card-place{display:flex;align-items:center;gap:10px;flex:1}.plan-card-place .area-image-container{width:36px;height:36px}.plan-card-place-name{font-weight:500;font-size:15px;color:#333;line-height:1.3}.plan-card-delete{background:none;border:none;color:#dc3545;cursor:pointer;padding:6px;border-radius:4px;margin-left:8px;transition:background-color .2s ease}.plan-card-delete:hover{background-color:#dc35451a}.plan-card-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.plan-card-detail{display:flex;flex-direction:column;gap:3px}.plan-card-detail-label{color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.plan-card-detail-value{color:#333;font-weight:400}.plan-card-prediction{grid-column:1 / -1;margin-top:4px}.plan-card-prediction .prediction-bar{display:inline-block;font-size:11px;padding:3px 6px}@media (max-width: 768px){.my-plans-container{padding:16px}.my-plans-header h2{font-size:22px}.plans-table{min-width:500px}.plans-table th,.plans-table td{padding:10px 8px}.plans-table th{font-size:11px}.place-cell{gap:8px}.area-image-container{width:36px;height:36px}}@media (max-width: 640px){.my-plans-container{padding:16px 12px 40px}.my-plans-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:20px}.my-plans-header h2{font-size:20px}.results-count{font-size:12px}.plans-scroll-container{overflow-x:visible;box-shadow:none;background:transparent;margin-bottom:20px}.plans-table{display:none}.plans-cards{display:block;padding-bottom:20px}.empty-state{padding:0 16px 40px}.empty-state p{font-size:14px}.signin-prompt-btn{padding:10px 20px;font-size:13px;width:100%;max-width:200px}.loading-state{padding:40px 16px}}@media (max-width: 480px){.empty-state{padding:0 16px 30px}.my-plans-container{padding:12px 8px 40px}.my-plans-header h2{font-size:18px}.plan-card{padding:12px;margin-bottom:12px}.plan-card-place .area-image-container{width:32px;height:32px}.plan-card-place-name{font-size:14px}.plan-card-details{gap:8px;font-size:12px}.plan-card-detail-label{font-size:9px}.plan-card-prediction .prediction-bar{width:fit-content;font-size:.8rem;padding:2px 5px}.plans-cards{padding-bottom:30px}}@media (max-width: 360px){.empty-state{padding:0 10px 20px}.my-plans-container{padding:10px 6px 40px}.my-plans-header{margin-bottom:16px}.my-plans-header h2{font-size:16px}.plan-card{padding:10px;margin-bottom:10px}.plan-card-place .area-image-container{width:28px;height:28px}.plan-card-place-name{font-size:13px}.plan-card-details{grid-template-columns:1fr;gap:6px}.plan-card-prediction{margin-top:2px}.plans-cards{padding-bottom:40px}}.recommendation-container{max-width:100%;min-height:100vh;height:auto;-webkit-overflow-scrolling:touch;overflow-y:auto;overflow-x:hidden;padding-left:1rem;padding-right:.5rem;padding-bottom:2rem;position:relative}.recommendation-container h2{font-size:2rem;font-weight:700;color:#333;margin-bottom:1rem}.recommendation-description{color:#666;font-size:1rem;margin-bottom:2rem;line-height:1.5}.inline-error{display:flex;align-items:center;gap:.5rem;color:#ff4757;font-size:.85rem;margin-top:.5rem;font-weight:500;animation:fadeIn .3s ease}.inline-error-icon{flex-shrink:0}.date-time-section{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.rec-time-input-group{display:flex;gap:.5rem}.planning-section{margin-bottom:2rem}.planning-text{display:flex;align-items:center;gap:1rem;font-size:1.1rem;color:#333;margin-bottom:1rem}.date-picker{padding:.8rem;border:2px solid #ddd;border-radius:12px;font-size:1rem;outline:none;box-shadow:0 5px 10px #0000001a;transition:all .3s ease}.date-picker:focus{border-color:#631be5;box-shadow:0 5px 15px #631be533}.date-picker.error{border-color:#ff4757;box-shadow:0 5px 15px #ff475733}.date-picker.shake{animation:shake .5s ease-in-out}.search-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-btn.disabled{opacity:.5;cursor:not-allowed}.search-note{font-size:14px;color:red;margin-top:4px;text-align:center;font-style:italic}.search-buttons{display:flex;gap:1rem}.search-btn{padding:.75rem 1.5rem;background-color:#631be5;color:#fff;border:none;border-radius:1rem;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;transform:scale(.9)}.search-btn.active{transform:scale(1.05);box-shadow:0 5px 15px #00000080;transition:all .3s ease}.time-picker-section{display:flex;align-items:center;gap:.5rem}.time-picker-section label{font-weight:500;color:#333}.time-picker:focus{border-color:#631be5;box-shadow:0 5px 15px #631be533}.time-picker.error{border-color:#ff4757;box-shadow:0 5px 15px #ff475733}.time-picker.shake{animation:shake .5s ease-in-out}.pick-section{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.time-select{padding:.5rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;outline:none;transition:all .3s ease;background-color:#fff;min-width:60px}.time-select:focus{border-color:#631be5;box-shadow:0 5px 15px #631be533}.time-select.error{border-color:#ff4757;box-shadow:0 5px 15px #ff475733}.custom-search-container{position:relative;display:flex;align-items:center;gap:1rem;flex:1;max-width:550px;animation:fadeIn .3s ease}.custom-search-input{border:2px solid #ddd;border-radius:1rem;box-shadow:0 5px 15px #0003;width:100%;padding:.75rem;font-size:1rem;outline:none;transition:border-color .3s ease}.custom-title-input{border:2px solid #ddd;border-radius:1rem;box-shadow:0 5px 15px #0003;width:30%;padding:.75rem;font-size:1rem;outline:none;transition:border-color .3s ease}.custom-search-input:focus{border-color:#631be5}.custom-title-input:focus{border-color:#631be5}.add-btn-rec{padding:.75rem 1.5rem;background-color:#631be5;color:#fff;border:none;border-radius:1rem;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s ease;align-self:flex-start}.add-btn-rec:hover{transform:scale(1.05);box-shadow:0 5px 15px #0000004d;transition:all .3s ease}.category-container{animation:fadeIn .3s ease;display:flex;align-items:center;gap:1rem;flex:1;max-width:550px}.icon-grid-rec{display:flex;flex-wrap:wrap;align-items:center;gap:1.7rem;flex:1;min-height:48px;border-radius:6px}.icon-card-rec{width:60px;height:70px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .2s ease-in-out;cursor:pointer;border:2px solid transparent;border-radius:6px}.icon-card-rec:hover{transform:scale(.95);background-color:#fff}.icon-card-rec.selected{transform:scale(1.05);background-color:#fff}.icon-card-rec.selected .icon-rec svg{color:#373dc4}.icon-rec{background:none;transition:all .2s ease-in-out;cursor:pointer;margin-bottom:.25rem}.icon-label-rec{font-size:.65rem;font-weight:500;color:#1a1a1a;line-height:1.1;text-align:center}.plans-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #f0f0f0}.plans-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.plans-title{font-size:1.5rem;font-weight:700;color:#333;margin:0}.recommendations-table-header{margin-bottom:10px}.add-my-plans-rec{background-color:#631be5;color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:20px;width:100%;box-shadow:0 5px 15px #0006;text-transform:uppercase;letter-spacing:.5px}.add-my-plans-rec:hover{transform:scale(1.02);box-shadow:0 5px 15px #0000004d;transition:all .3s ease}.table-header-row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:15px;padding:10px 15px;background-color:#f8f9fa;border-radius:8px;font-weight:600;font-size:12px;color:#6b7280;text-transform:uppercase}.recommendations-table-body{display:flex;flex-direction:column;gap:10px}.recommendation-row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:15px;padding:15px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;align-items:center}.place-cell{display:flex;align-items:center}.place-info{display:flex;align-items:center;gap:10px}.place-icon{width:24px;height:24px;background-color:#f3f4f6;border-radius:4px;display:flex;align-items:center;justify-content:center}.place-name{font-weight:500;color:#1f2937}.action-btn{padding:6px 12px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.action-btn:hover{background-color:#2563eb}.no-recommendations{text-align:center;padding:40px;color:#6b7280}.request-recommendation-btn{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:1rem;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;position:relative}.request-recommendation-btn:hover{background-color:#218838;transform:scale(1.05);box-shadow:0 5px 15px #0000004d}.request-recommendation-btn:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.recommendation-requirement{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.9rem;margin-bottom:1rem}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.plan-card{position:relative;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;border:1px solid #e0e0e0;min-height:160px;display:flex;flex-direction:column}.plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.plan-card.different-date{border-left:4px solid #ff9800;background:linear-gradient(135deg,#fff8e1,#fff)}.plan-card.time-conflict{border-left:4px solid #ff4757;background:linear-gradient(135deg,#ffebee,#fff)}.plan-warning{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#ff9800;margin-top:.5rem;font-weight:500}.plan-error{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#ff4757;margin-top:.5rem;font-weight:500}.delete-btn{position:absolute;top:.75rem;right:.75rem;background:#ff4757;color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:1}.delete-btn:hover{background:#ff3742;transform:scale(1.1)}.plan-content{display:flex;flex-direction:column;gap:.75rem}.plan-title{font-size:1.1rem;font-weight:600;color:#333;margin:0;padding-right:2rem}.plan-location{font-size:.9rem;color:#666;margin:0;padding-right:2rem}.plan-datetime{display:flex;flex-direction:column;gap:.25rem}.plan-date,.plan-time{font-size:.85rem;color:#631be5;font-weight:500}.plan-category{display:inline-block;background:#631be5;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:500;align-self:flex-start;margin-top:.5rem}.recommendations-view{animation:fadeIn .5s ease-in-out}.recommendations-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.back-btn{background:#631be5;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.back-btn:hover{background:#5016c4;transform:scale(1.1);box-shadow:0 4px 12px #631be54d}.back-btn:active{transform:scale(.95)}.recommendations-title{font-size:1.7rem;font-weight:700;color:#333;margin:0}.recommendations-content{padding:0 .5rem}.recommendations-description{color:#666;font-size:1.1rem;margin-bottom:2rem;line-height:1.6}.recommendations-placeholder{display:flex;align-items:center;justify-content:center;min-height:300px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;border:2px dashed #dee2e6}.loading-message{text-align:center;color:#666}.loading-message p{margin-top:1rem;font-size:1.1rem;font-weight:500}.loading-spinner{width:40px;height:40px;border:4px solid #e3e3e3;border-top:4px solid #631BE5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.search-predictions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 2px 10px #0000001a}.prediction-item{padding:12px;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid #eee}.prediction-item:hover{background-color:#f5f5f5}.prediction-item:last-child{border-bottom:none}.prediction-icon{color:#666;flex-shrink:0}.prediction-text{flex:1}.prediction-main{font-weight:500;color:#333}.prediction-secondary{font-size:.9em;color:#666}.search-loading{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.loading-spinner-small{width:16px;height:16px;border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.plan-coordinates{display:flex;align-items:center;gap:4px;margin-top:4px;color:#666}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@media (min-width: 1200px){.recommendation-container{padding-left:2rem;padding-right:2rem}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width: 1199px){.recommendation-container{padding-left:1rem;padding-right:1rem}.search-section{flex-direction:column;align-items:flex-start;gap:1rem}.search-buttons{width:100%;justify-content:center}.custom-search-container,.category-container{max-width:100%}.icon-grid-rec{justify-content:center}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width: 768px){.recommendation-container{padding-left:.75rem;padding-right:.75rem;padding-bottom:1rem}.recommendation-container h2{font-size:1.5rem;margin-bottom:.75rem}.recommendation-description{font-size:.9rem;margin-bottom:1.5rem}.date-time-section{flex-direction:column;gap:1rem;margin-bottom:1rem}.rec-planning-text{flex-direction:column;align-items:flex-start;gap:.5rem}.date-picker{width:100%;max-width:200px}.rec-time-input-group{width:100%}.search-section{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.search-buttons{width:100%;gap:.5rem}.search-btn{flex:1;padding:.6rem 1rem;font-size:.9rem}.pick-section{flex-direction:column;gap:1rem}.custom-search-container{flex-direction:column;gap:.75rem;max-width:100%}.custom-search-input,.custom-title-input{width:100%;max-width:none}.custom-title-input{width:100%}.icon-grid-rec{gap:1rem;justify-content:center}.icon-card-rec{width:50px;height:60px}.icon-rec svg{width:24px;height:24px}.icon-label-rec{font-size:.6rem}.add-btn-rec{width:100%;padding:.8rem 1.5rem;font-size:1rem}.plans-section{margin-top:2rem}.plans-header{flex-direction:column;gap:1rem;align-items:flex-start}.plans-title{font-size:1.3rem}.request-recommendation-btn{width:100%;padding:.8rem 1.5rem}.plans-grid{grid-template-columns:1fr;gap:1rem}.plan-card{padding:1rem;min-height:140px}.plan-title{font-size:1rem}.plan-location{font-size:.85rem}.plan-date,.plan-time{font-size:.8rem}.plan-category{font-size:.65rem}.add-my-plans-rec{padding:.8rem 1.5rem;font-size:.9rem}.recommendations-header{flex-direction:row;align-items:center;gap:.75rem;margin-bottom:1.5rem}.recommendations-title{font-size:1.3rem}.recommendations-description{font-size:.95rem;margin-bottom:1.5rem}.table-header-row{grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:8px 10px;font-size:10px}.recommendation-row{grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:12px 10px}.place-name{font-size:.85rem}.recommendation-cell{font-size:.8rem}.busyness-badge{font-size:10px!important;padding:1px 6px!important}}@media (max-width: 480px){.recommendation-container{padding-left:.5rem;padding-right:.5rem;padding-bottom:5rem}.recommendation-container h2{font-size:1.3rem;text-align:center}.recommendation-description{font-size:.85rem;text-align:center}.search-buttons{flex-direction:column;width:100%}.search-btn{transform:scale(1);width:100%;padding:.7rem 1rem}.custom-search-input{width:100%}.icon-grid-rec{gap:.75rem}.icon-card-rec{width:45px;height:55px}.icon-rec svg{width:20px;height:20px}.icon-label-rec{font-size:.55rem}.plans-header{text-align:center}.plans-title{font-size:1.2rem}.table-header-row{display:none}.recommendation-row{background-color:#e3e3e3;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.recommendation-cell{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border-bottom:1px solid #f0f0f0}.recommendation-cell:last-child{border-bottom:none}.recommendation-cell:before{content:attr(data-label);font-weight:600;color:#666;font-size:.75rem;text-transform:uppercase}.place-cell:before{content:"Place: "}.date-cell:before{content:"Date: "}.time-cell:before{content:"Time: "}.predicted-cell:before{content:"Predicted: "}.place-name{font-size:.8rem}.recommendations-title{font-size:1.1rem;line-height:1.3}.back-btn{width:35px;height:35px}.add-my-plans-rec{font-size:.85rem;padding:.7rem 1rem}}@media (max-width: 768px) and (orientation: landscape){.recommendation-container{min-height:100vh}.date-time-section{flex-direction:row;flex-wrap:wrap}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width: 768px){.search-btn:focus,.add-btn-rec:focus,.request-recommendation-btn:focus,.add-my-plans-rec:focus{outline:2px solid #631BE5;outline-offset:2px}.custom-search-input:focus,.custom-title-input:focus,.date-picker:focus,.time-select:focus{outline:2px solid #631BE5;outline-offset:1px}.icon-card-rec{min-height:60px;min-width:50px}.delete-btn{width:32px;height:32px;top:.5rem;right:.5rem}.back-btn{min-width:40px;min-height:40px}}@media print{.recommendation-container{padding:0;box-shadow:none}.search-section,.pick-section,.add-btn-rec,.request-recommendation-btn,.add-my-plans-rec,.delete-btn,.back-btn{display:none}.plans-grid{grid-template-columns:1fr}.plan-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}.loading-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-gif{width:650px;height:650px}.category-page{max-width:1200px;margin:0 auto}.header-title-container{display:flex;align-items:center;gap:12px}.back-to-discover-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;color:#333;flex-shrink:0}.back-to-discover-btn:hover{background-color:#f0f0f0}.back-to-discover-btn:active{background-color:#e0e0e0}.suggested-container{margin-bottom:2rem}.header{margin-bottom:1.5rem}.header h2{color:#333;font-size:1.5rem;margin:0;margin-bottom:1rem}.header h2 span{color:#4a54e1}.header-title-container h2{margin-bottom:0}.time-picker-wrapper{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;margin-bottom:1rem}.time-picker-wrapper span{font-size:1rem;color:#555}.time-picker-card{display:flex;align-items:center;justify-content:center}.sub-header{display:flex;align-items:center;gap:1rem}.sort-label{font-size:1rem;color:#555}.sort-types{color:#4a54e1;font-weight:500;cursor:pointer}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.place-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.checkmark-badge{position:absolute;top:.8rem;right:.8rem;background:#52c41a;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #52c41a4d;z-index:10;animation:checkmarkAppear .5s ease-in-out}@keyframes checkmarkAppear{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.category-content{flex:1;display:flex;flex-direction:column}.empty-state{flex:1;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;text-align:center;padding:40px;color:#666}.empty-state button{background-color:#631be5;color:#fff;border:none;width:30%;padding:.6rem 1.5rem;border-radius:1rem;cursor:pointer;font-size:15px;font-weight:700;box-shadow:0 5px 15px #0006}.empty-state p:first-child{font-size:1.3rem;font-weight:500}.sort-types{cursor:pointer;transition:all .2s ease}.sort-dropdown{position:relative;display:none}.sort-dropdown-button{background:#f8f9fa;border:2px solid #dee2e6;padding:10px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:#495057;min-width:200px;transition:all .2s ease}.sort-dropdown-button:hover{border-color:#4a54e1;background:#fff}.sort-dropdown-button.active{border-color:#4a54e1;background:#fff;color:#4a54e1}.sort-dropdown-content{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;margin-top:4px;overflow:hidden}.sort-dropdown-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.sort-dropdown-item:last-child{border-bottom:none}.sort-dropdown-item:hover{background:#f8f9fa}.sort-dropdown-item.active{background:#4a54e1;color:#fff}.sort-dropdown-item.active:hover{background:#3a44d1}.sort-arrow{font-size:12px;margin-left:8px}.place-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px #00000026}.image-wrapper{position:relative;height:200px;overflow:hidden}.image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.place-card:hover .image-wrapper img{transform:scale(1.05)}.busy-badge,.distance-badge,.rating-badge,.recommendation-badge{position:absolute;bottom:.8rem;left:1rem;background:#000000b3;color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.8rem}.info{padding:1.5rem}.info h4{font-size:1.2rem;margin-bottom:.5rem;color:#333}.flip-button-front{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;right:1rem;bottom:1rem;background-color:#4a54e1;border-radius:10px;box-shadow:0 4px 15px #0000001a;transition:all .2s ease}.flip-button-back{position:absolute;top:1rem;left:1rem}.location{color:#666;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.sort-types{cursor:pointer;transition:color .2s ease;margin-left:15px}.sort-types:hover{color:#2a36d1}.sort-types.active{color:#4a54e1;font-weight:600}.sort-types:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentColor;opacity:.6;transition:all .2s ease}.sort-types.active:after{opacity:1}.sort-types[aria-sort=ascending]:after{border-top:none;border-bottom:5px solid currentColor}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;transition:all .3s ease}.place-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.card-grid.sorting-active .place-card{animation:cardSorting .5s ease-in-out}@keyframes cardSorting{0%{transform:scale(1);opacity:1}50%{transform:scale(.95);opacity:.8}to{transform:scale(1);opacity:1}}.visiting-time-display{color:#3a44d1;margin-bottom:20px;padding:10px 20px;font-size:20px;font-weight:600;letter-spacing:.5px;text-shadow:0 10px 10px rgba(102,126,234,.3)}.departure-box{background:#fff;border-radius:12px;padding:10px;margin-bottom:20px;transition:all .3s ease;box-shadow:0 4px 12px #667eea26}.departure-box:hover{border-color:#667eea;box-shadow:0 4px 20px #667eea26}.departure-box h4{margin:0 0 15px;color:#495057;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.departure-select{width:100%;padding:12px 40px 12px 16px;border:2px solid #dee2e6;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#495057;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.departure-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.departure-select:hover{border-color:#adb5bd}.departure-buttons{display:flex;flex-direction:column;gap:12px}.add-to-plans-btn{background-color:#4a54e1;color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #52c41a4d}.add-to-plans-btn:hover{background:#3a44d1;transform:translateY(-2px)}.add-to-plans-btn:active{transform:translateY(0);box-shadow:0 2px 8px #52c41a4d}.back-to-time-btn{background:transparent;color:#6c757d;border:2px solid #dee2e6;padding:12px 24px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.back-to-time-btn:hover{background:#f8f9fa;border-color:#adb5bd;color:#495057;transform:translateY(-1px)}.back-to-time-btn:active{transform:translateY(0)}@media (max-width: 768px){.visiting-time-display{padding:12px 16px}.visiting-time-display h4{font-size:14px}.departure-box{padding:16px}.departure-select{padding:10px 14px;font-size:13px}.add-to-plans-btn,.back-to-time-btn{padding:12px 20px;font-size:13px}}.place-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 25px #00000026;z-index:1;transition:all .3s ease}.image-wrapper img{transition:transform .5s ease}.place-card:hover .image-wrapper img{transform:scale(1.05);transition:all .3s ease}.card-flip-container{width:100%;height:100%;perspective:1000px}.place-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;cursor:pointer}.place-card.back{background:#fff;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.time-box{width:100%;text-align:center}.time-box h4{color:#4a54e1;margin-bottom:1rem}.save-time-btn{background:#4a54e1;color:#fff;border:none;padding:8px 16px;border-radius:4px;margin-top:15px;cursor:pointer;font-size:.9rem}.time-prediction-container{height:100%;display:flex;flex-direction:column}.busyness-table{width:100%;border-collapse:collapse;margin:1rem 0;flex-grow:1}.busyness-table th,.busyness-table td{padding:.3rem .5rem;font-size:.9rem}.busyness-percentage{text-align:center;font-weight:600;color:inherit}.busyness-table th:nth-child(2),.busyness-table td:nth-child(2){width:25%}.busyness-table th:nth-child(3),.busyness-table td:nth-child(3){width:25%}.busyness-table th:first-child,.busyness-table td:first-child{width:50%}.choose-btn{font-size:.7rem;padding:.25rem .5rem;background:#4a54e1;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;display:block;margin:0 auto;width:fit-content}.choose-btn:hover{background:#3a44d1;transform:scale(.95)}.time-box{display:inline-flex;align-items:center;gap:1rem;width:100%}.time-box h4{margin-bottom:.5rem;color:#4a54e1}.save-time-btn{width:100%;padding:.5rem;margin-top:.5rem;background:#4a54e1;color:#fff;border:none;border-radius:8px;cursor:pointer;box-shadow:0 8px 25px #00000026}.save-time-btn:hover{background:#3a44d1}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem 0}.pagination-button{padding:.5rem 1rem;background:#4a54e1;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.pagination-button:disabled{background:#ccc;cursor:not-allowed}.pagination-button:hover:not(:disabled){background:#3a44d1}.page-numbers{display:flex;gap:.5rem}.page-number{padding:.5rem .8rem;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.page-number:hover{background:#e0e0e0}.page-number.active{background:#4a54e1;color:#fff}@media (min-width: 1600px){.image-wrapper{height:240px}.busy-badge{bottom:1.2rem;left:1.2rem;padding:.5rem 1.2rem;font-size:.9rem}.distance-badge{bottom:1.2rem;right:1.2rem;padding:.5rem 1.2rem;font-size:.9rem}.busy-badge span,.distance-badge span{display:inline-block;min-width:40px;text-align:center}}@media (min-width: 2500px){.image-wrapper{height:300px}.busy-badge,.distance-badge{font-size:1rem;padding:.6rem 1.5rem}}@media (max-width: 1024px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem}}@media (max-width: 768px){.card-grid{grid-template-columns:repeat(2,1fr)}.busy-badge,.distance-badge,.recommendation-badge,.rating-badge{width:fit-content;font-size:.7rem;padding:.3rem .8rem}.sub-header{flex-direction:column;align-items:flex-start;gap:1rem}.desktop-sort-types{display:none}.sort-dropdown{display:block}}@media (max-width: 480px){.card-grid{grid-template-columns:1fr}.busy-badge{left:.8rem;bottom:.8rem}.distance-badge{right:.8rem;bottom:.8rem}.category-page{padding-bottom:5rem}}.planner-page{height:calc(100vh - 30px);display:flex;flex-direction:column;overflow:hidden}.planner-layout{display:flex;flex:1;box-sizing:border-box}.navbar-logo span{color:#804ae0}.planner-left{flex:1;min-width:45%;background-image:url(/planhattan/assets/sign-in-UCN49h0-.png);background-size:cover;border-radius:20px;overflow:hidden}.planner-right{flex:1;min-width:50%;padding:1rem 1rem 1rem 2rem;background-color:#fff;overflow-y:auto;border-radius:12px}.container{width:100%;padding:2rem;border-radius:12px;text-align:center}.container h2{font-size:1.7rem;margin-bottom:1.5rem;font-weight:700}.container h2 span{color:#111}.social-buttons{display:flex;justify-content:center}.google-btn{width:40%;padding:.9rem;border:none;border-radius:25px;font-weight:600;box-shadow:0 4px 15px #804ae04d;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:.9rem;background-color:#631be5;color:#fff}.signin-btn{width:40%;padding:.9rem;background-color:#631be5;color:#fff;border:none;border-radius:25px;font-weight:700;box-shadow:0 4px 15px #804ae04d;cursor:pointer;font-size:1rem;margin-bottom:1rem}.google-btn:hover,.signin-btn:hover{background:linear-gradient(45deg,#631be5,#9d6bff);box-shadow:0 6px 20px #804ae066;transform:translateY(-2px)}.divider{margin:1.5rem 0 .5rem;border:none;height:1px;background:#eee}.or{font-size:.85rem;color:#888;margin-bottom:1rem}.input-group{text-align:left;margin-bottom:1rem}.input-group label{font-weight:600;font-size:1rem}.input-group input{width:100%;padding:.7rem;border-radius:12px;border:none;background:#eef3ff;margin-top:12px;font-size:.9rem}.remember-forgot{display:flex;justify-content:space-between;font-size:.85rem;align-items:center;margin-bottom:1.5rem}.remember-forgot a{color:#804ae0;text-decoration:none;font-weight:500}.footer{font-size:.85rem;color:#444}.footer a{color:#804ae0;text-decoration:none;font-weight:500}.icon{background:#fff;width:20px;height:20px;border-radius:50%;font-weight:700}.form-title{transition:all .3s ease;transform:translateY(0);opacity:1}.form-title.login,.form-title.signup{animation:slideIn .3s ease forwards}.name-field,.confirm-field{max-height:0;opacity:0;overflow:hidden;transition:all .3s ease}.name-field.visible,.confirm-field.visible{max-height:100px;opacity:1;margin-bottom:1rem}.remember-forgot{max-height:0;opacity:0;overflow:hidden;transition:all .3s ease}.remember-forgot.visible{max-height:50px;opacity:1;margin-bottom:1.5rem}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.password-container{display:flex;gap:1rem;transition:all .4s ease;overflow:hidden}.password-container.login{flex-direction:column}.password-container.signup{flex-direction:row}.password-container.signup .input-group{flex:1;min-width:0}.name-field,.confirm-field,.remember-forgot{max-height:0;opacity:0;overflow:hidden;transform:translateY(10px);transition:all .4s ease}.name-field.visible,.confirm-field.visible,.remember-forgot.visible{max-height:100px;opacity:1;transform:translateY(0);margin-bottom:1rem}.email-field{transition:all .4s ease}.form-title{transition:all .4s ease;transform:translateY(0)}@media (max-width: 768px){.password-container.signup{flex-direction:column}.password-container.signup .input-group{width:100%}}.password-fields{display:flex;flex-direction:column;gap:1rem;transition:all .3s ease}.password-fields.signup-mode{flex-direction:row;justify-content:space-between}.password-fields.signup-mode .input-group{width:48%}@media (max-width: 1024px){.planner-layout{flex-direction:column}.planner-left{display:none}.planner-right{min-width:100%;padding:1rem;border-radius:0}.container{padding:1.5rem}}@media (max-width: 480px){.container{padding:1rem}.google-btn,.signin-btn{width:100%}.password-container.signup{flex-direction:column}.password-container.signup .input-group{width:100%}}*{font-family:Plus Jakarta Sans,sans-serif;box-sizing:border-box;margin:0;padding:0}body{padding-left:2rem;padding-right:2rem}
