:root{--primary:#f05438;--primary-lighter:#ff7a62;--secondary:#2a3541;--light:#f8f9fa;--dark:#212529;--gray:#6c757d;--light-gray:#e9ecef}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--light);color:#212529;color:var(--dark);font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}.container{width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer}ul{list-style:none}img{height:auto;max-width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hidden{opacity:0;transform:translateY(20px)}.App{flex-direction:column;min-height:100vh}.App,main{display:flex}main{flex:1 1;flex-direction:column;min-height:0}.desktop-header{background-color:#fff;box-shadow:0 2px 10px #0000000d;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:100}.mobile-bottom-nav,.mobile-header{display:none}.header-content{justify-content:space-between;padding:15px 0}.header-content,.logo,.logo a{align-items:center;display:flex}.logo a{text-decoration:none}.nav-links{display:flex;gap:30px;list-style:none}.nav-links a{color:var(--dark);font-size:14px;font-weight:500;position:relative;text-decoration:none;transition:color .3s}.nav-links a.active,.nav-links a:hover{color:var(--primary)}.nav-links a.active:after{background-color:var(--primary);bottom:-5px;content:"";height:2px;left:0;position:absolute;width:100%}.login-btn{background-color:#fff;border:1px solid var(--primary);border-radius:4px;color:var(--primary);cursor:pointer;font-size:14px;font-weight:600;margin-right:10px;padding:8px 16px;transition:all .3s}.login-btn:hover{background-color:#f054381a}.signup-btn{background-color:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s}.signup-btn:hover{background-color:#e14a30}.user-menu{gap:16px}.user-info,.user-menu{align-items:center;display:flex}.user-info{gap:10px}.user-avatar{border:2px solid #e0e0e0;border-radius:50%;height:32px;object-fit:cover;width:32px}.user-name{color:var(--dark);font-size:14px;font-weight:600}.signout-btn{background-color:initial;border:1px solid #e0e0e0;border-radius:4px;color:var(--gray);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s}.signout-btn:hover{background-color:#f5f5f5;border-color:#d0d0d0;color:var(--dark)}.progress-container{background-color:initial;height:4px;left:0;position:fixed;top:0;width:100%;z-index:1000}.progress-bar{background-color:var(--primary);height:100%;width:0}.cursor-follower{background-color:#f054384d;border-radius:50%;height:40px;opacity:0;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:opacity .3s,width .3s,height .3s,background-color .3s;width:40px;z-index:9999}.hero{align-items:center;background-image:linear-gradient(#00000080,#00000080),url(https://images.unsplash.com/photo-1554118811-1e0d58224f24?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80);background-position:50%;background-size:cover;color:#fff;display:flex;height:500px;overflow:hidden;padding:100px 0 70px;position:relative}.hero-content{margin:0 auto;max-width:800px;padding:0 20px;text-align:center}.hero h1{color:#fff;font-size:52px;font-weight:800;line-height:1.2;margin-bottom:24px}.hero h1,.hero p{opacity:0;text-align:center;transform:translateY(20px)}.hero p{color:#fffffff2;font-size:20px;line-height:1.6;margin-bottom:36px;margin-left:auto;margin-right:auto;max-width:600px}.highlight-word{-webkit-text-fill-color:#0000;animation:gradientShift 3s ease-in-out infinite;background:linear-gradient(45deg,#f05438,#ff6b6b,#ff8e8e);background-clip:text;-webkit-background-clip:text;background-size:200% 200%;color:#ff6b6b;display:inline-block;filter:drop-shadow(0 2px 4px rgba(240,84,56,.3));font-weight:900;position:relative}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.hero-btn{background-color:var(--primary);border:none;border-radius:30px;box-shadow:0 4px 15px #f054384d;color:#fff;cursor:pointer;display:block;font-size:18px;font-weight:600;margin:0 auto;opacity:0;padding:16px 40px;transform:translateY(20px);transition:all .3s}.hero-btn:hover{background-color:#e14a30;box-shadow:0 10px 20px #f054384d;transform:translateY(-3px)}@media (max-width:768px){.desktop-header{display:none}.mobile-header{background-color:#fff;box-shadow:0 2px 10px #0000001a;display:block;padding:12px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.mobile-header-content{justify-content:space-between;padding:0 20px}.mobile-auth,.mobile-header-content,.mobile-logo a{align-items:center;display:flex}.mobile-signin-btn{background:#f05438;border:none;border-radius:20px;box-shadow:0 2px 8px #f0543833;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.mobile-signin-btn:hover{background:#e04427;box-shadow:0 4px 12px #f054384d;transform:translateY(-1px)}.mobile-user-menu{align-items:center;display:flex}.mobile-user-avatar{border:2px solid #f05438;border-radius:50%;cursor:pointer;height:32px;transition:all .2s ease;width:32px}.mobile-user-avatar:hover{box-shadow:0 2px 8px #f054384d;transform:scale(1.1)}.mobile-bottom-nav{background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -4px 20px #0000001a;display:flex;left:0;padding:8px 0 calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1000}.nav-item{align-items:center;border-radius:8px;color:#6b7280;display:flex;flex:1 1;flex-direction:column;margin:0 4px;padding:8px 4px;text-decoration:none;transition:all .2s ease}.nav-item.active,.nav-item:hover{background-color:#f054380d;color:#f05438}.nav-icon{font-size:20px;margin-bottom:4px;transition:transform .2s ease}.nav-item:hover .nav-icon{transform:scale(1.1)}.nav-label{font-size:10px;font-weight:500;line-height:1.2;text-align:center}main{padding-bottom:80px}.hero{height:400px;padding:60px 0 40px}.hero h1{font-size:36px;line-height:1.3;margin-bottom:16px}.hero p{font-size:16px;margin-bottom:24px;padding:0 10px}.hero-btn{font-size:16px;padding:14px 32px}.container{padding:0 16px}.highlight-word{font-size:.95em}}@media (max-width:480px){.hero h1{font-size:32px}.hero p{font-size:15px}.nav-label{font-size:9px}.nav-icon{font-size:18px}.container{padding:0 12px}}.search-form{background-color:#fff;border-radius:10px;box-shadow:0 10px 30px #0000001a;margin-bottom:60px;margin-top:-40px;opacity:0;padding:20px;position:relative;transform:translateY(20px);z-index:5}.search-tabs{display:flex;gap:20px;margin-bottom:20px}.search-tab{align-items:center;border-radius:5px;color:var(--gray);cursor:pointer;display:flex;gap:8px;padding:10px 15px;transition:all .3s}.search-tab svg{height:24px;width:24px}.search-tab.active{background-color:#f054381a;color:var(--primary)}.search-fields{display:flex;gap:15px}.search-field{flex:1 1}.search-field input,.search-field select{border:1px solid var(--light-gray);border-radius:5px;font-size:14px;outline:none;padding:12px 15px;transition:border-color .3s;width:100%}.search-field input:focus,.search-field select:focus{border-color:var(--primary)}.search-btn{align-items:center;background-color:var(--primary);border:none;border-radius:5px;cursor:pointer;display:flex;height:100%;justify-content:center;transition:background-color .3s;width:50px}.search-btn:hover{background-color:#e14a30}.search-btn svg{height:24px;width:24px}.popular-category{padding:60px 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{font-size:28px;font-weight:700;opacity:0;transform:translateY(20px)}.nav-arrows{display:flex;gap:10px}.nav-arrows button{align-items:center;background-color:#fff;border:1px solid var(--light-gray);border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s;width:40px}.nav-arrows button:hover{background-color:var(--light-gray)}.category-description{color:var(--gray);margin-bottom:30px;max-width:800px;opacity:0;transform:translateY(20px)}.cafe-cards{display:flex;gap:20px;overflow-x:auto;padding:10px 0;scroll-behavior:smooth;scrollbar-width:none}.cafe-cards::-webkit-scrollbar{display:none}.popular-category .cafe-card{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000000d;min-width:280px;opacity:0;overflow:hidden;transform:translateY(20px) scale(.95);transition:all .3s}.popular-category .cafe-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-10px)}.cafe-img{background-position:50%;background-size:cover;height:180px;width:100%}.cafe-details{padding:20px}.cafe-type{background-color:#f054381a;border-radius:30px;color:var(--primary);display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;padding:5px 14px;text-transform:uppercase}.cafe-name{color:var(--dark);font-size:20px;line-height:1.2;margin-bottom:10px}.cafe-info{color:var(--gray);font-size:14px;font-weight:400;line-height:1.5}.perfect-experience{background-color:var(--light);padding:80px 0}.experience-content{align-items:center;display:flex;gap:50px}.experience-text{flex:1 1}.experience-text h2{font-size:32px;font-weight:700;margin-bottom:20px;opacity:0;transform:translateY(20px)}.experience-text p{color:var(--gray);margin-bottom:30px;opacity:0;transform:translateY(20px)}.feature-list{list-style:none;margin-bottom:30px;margin-left:0;padding:0}.feature-item{align-items:flex-start;gap:12px;list-style:none;margin-bottom:18px;opacity:0;padding:0;transform:translateY(20px)}.feature-icon{align-items:center;background-color:#f0543826;border-radius:50%;color:var(--primary);display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;width:28px}.feature-icon svg{height:18px;width:18px}.feature-text{color:var(--dark);flex:1 1;font-size:16px;font-weight:500;line-height:1.6}.experience-btn{background-color:var(--primary);border-radius:30px;color:#fff;display:inline-block;font-weight:600;opacity:0;padding:12px 30px;text-decoration:none;transform:translateY(20px);transition:all .3s}.experience-btn:hover{background-color:#e14a30;box-shadow:0 10px 20px #f054384d;transform:translateY(-3px)}.cafinder-logo{display:flex;flex:1 1;justify-content:center;opacity:0;transform:translateX(50px)}.cafinder-logo svg{max-width:400px;width:100%}.testimonials{background-color:#fff;padding:80px 0}.testimonials-heading{margin-bottom:50px;text-align:center}.testimonials-heading h2{font-size:32px;font-weight:700;margin-bottom:15px;opacity:0;transform:translateY(20px)}.testimonials-heading p{color:var(--gray);margin:0 auto;max-width:600px;opacity:0;transform:translateY(20px)}.testimonials-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.testimonial-card{background-color:var(--light);border-radius:10px;box-shadow:0 5px 15px #0000000d;opacity:0;padding:30px;transform:translateY(20px);transition:all .3s}.testimonial-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-10px)}.testimonial-text{color:var(--dark);font-style:italic;margin-bottom:20px;position:relative}.testimonial-text:before{color:#f054381a;content:'"';font-family:serif;font-size:60px;left:-10px;position:absolute;top:-20px}.author-img{border-radius:50%;height:50px;margin-right:15px;overflow:hidden;width:50px}.author-img img{height:100%;object-fit:cover;width:100%}.author-info h4{font-size:16px;font-weight:600;margin-bottom:5px}.author-info p{color:var(--gray);font-size:14px}.stats{background-color:#fff;padding:60px 0}.stats-container{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}.stat-item{flex:1 1;min-width:200px;opacity:0;text-align:center;transform:translateY(20px)}.stat-icon{align-items:center;border-radius:50%;display:flex;height:60px;justify-content:center;margin:0 auto 15px;width:60px}.stat-icon.red{background-color:#f054381a}.stat-icon.yellow{background-color:#ffc1071a}.stat-icon.blue{background-color:#0d6efd1a}.stat-icon.green{background-color:#1987541a}.stat-number{font-size:36px;font-weight:700;margin-bottom:5px}.stat-text{color:var(--gray);font-size:14px}footer{background-color:var(--secondary);color:#fff;padding:60px 0 30px}.footer-content{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:50px}.footer-col{flex:1 1;min-width:200px}.footer-logo{align-items:center;display:flex;margin-bottom:20px}.footer-desc{color:#ffffffb3;font-size:14px;margin-bottom:20px}.footer-heading{font-size:18px;font-weight:600;margin-bottom:20px}.footer-links{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{color:#ffffffb3;text-decoration:none;transition:color .3s}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff1a;color:#ffffff80;font-size:14px;padding-top:30px;text-align:center}.newsletter-form{display:flex;margin-top:20px}.newsletter-form input{border:none;border-radius:4px 0 0 4px;flex:1 1;font-size:14px;padding:10px 15px}.newsletter-form button{background-color:var(--primary);border:none;border-radius:0 4px 4px 0;color:#fff;cursor:pointer;padding:10px 15px}@media (max-width:991px){.hero h1{font-size:40px}.experience-content{flex-direction:column}.cafinder-logo{margin-top:30px}.testimonials-grid{grid-template-columns:1fr;margin:0 auto;max-width:500px}}@media (max-width:767px){.header-content{flex-direction:column;gap:20px}.nav-links{flex-wrap:wrap}.auth-btns,.nav-links{justify-content:center;width:100%}.auth-btns{display:flex}.hero h1{font-size:32px}.search-fields{flex-direction:column}.search-btn{height:45px;width:100%}.stats-container{align-items:center;flex-direction:column}.stat-item{width:100%}}.not-found-page{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:80px 20px;text-align:center}.not-found-page h1{color:#f05438;font-size:72px;font-weight:800;line-height:1;margin:0}.not-found-page h2{font-size:24px;font-weight:700;margin:16px 0 8px}.not-found-page p{color:#6c757d;margin:0 0 24px}.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.not-found-link{background:#f05438;border-radius:8px;color:#fff;font-weight:600;padding:10px 24px;text-decoration:none;transition:opacity .2s ease}.not-found-link:hover{opacity:.9}.footer-contact-link{color:#f05438;font-weight:600;text-decoration:none;word-break:break-all}.footer-contact-link:hover{text-decoration:underline}.auth-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:480px;position:relative;width:90%}.auth-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;left:16px;position:absolute;top:16px;transition:all .2s ease;width:32px}.auth-modal-close:hover{background:#f5f5f5;color:#333}.auth-modal-content{padding:60px 40px 40px;text-align:center}.auth-modal-logo{margin-bottom:24px}.modal-logo-img{height:60px;width:auto}.auth-modal-title{color:#1a1a1a;font-size:28px;font-weight:700;line-height:1.2;margin:0 0 16px}.auth-modal-description{color:#666;font-size:16px;line-height:1.5;margin:0 auto 32px;max-width:360px}.google-signin-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;color:#333;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;margin-bottom:24px;padding:14px 20px;transition:all .2s ease;width:100%}.google-signin-btn:hover{background:#fafafa;border-color:#d0d0d0;box-shadow:0 2px 8px #0000001a}.google-signin-btn:active{transform:translateY(1px)}.google-icon{height:20px;width:20px}.auth-modal-social{gap:16px;margin-bottom:24px}.auth-modal-social,.social-icon{display:flex;justify-content:center}.social-icon{align-items:center;border:1px solid #e0e0e0;border-radius:8px;height:44px;text-decoration:none;transition:all .2s ease;width:44px}.social-icon:hover{background:#fafafa;border-color:#d0d0d0;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.auth-modal-disclaimer{color:#888;font-size:13px;line-height:1.4;margin:0}@media (max-width:768px){.auth-modal{margin:20px;width:95%}.auth-modal-content{padding:40px 24px 24px}.auth-modal-title{font-size:24px}.auth-modal-description{font-size:15px}.google-signin-btn{font-size:15px;padding:12px 16px}.social-icon{height:40px;width:40px}}.auth-modal-cta{align-items:center;background:#f05438;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:600;gap:10px;justify-content:center;margin-top:12px;padding:14px 20px;text-decoration:none;transition:opacity .2s ease;width:100%}.auth-modal-cta:hover{opacity:.9}.floating-favorites-container{bottom:30px;position:fixed;right:30px;z-index:999}.floating-favorites-btn{align-items:center;background:linear-gradient(135deg,#ff6b6b,#f06595);border:none;border-radius:50%;box-shadow:0 4px 20px #f0659566;cursor:pointer;display:flex;height:60px;justify-content:center;overflow:visible;position:relative;transition:all .3s ease;width:60px}.floating-favorites-btn:hover{box-shadow:0 6px 30px #f0659580;transform:translateY(-3px) scale(1.05)}.floating-favorites-btn:active{transform:translateY(-1px) scale(.98)}.floating-favorites-btn.animating{animation:favoritesBounce .6s ease}@keyframes favoritesBounce{0%,to{transform:scale(1)}25%{transform:scale(.9)}50%{transform:scale(1.15)}75%{transform:scale(.95)}}.favorites-icon{color:#fff;transition:transform .3s ease}.floating-favorites-btn:hover .favorites-icon{transform:rotate(-15deg) scale(1.1)}.favorites-count{align-items:center;animation:countPop .3s ease;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000026;color:#ff6b6b;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 6px;position:absolute;right:-5px;top:-5px}@keyframes countPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.pulse-ring{animation:pulse 2s infinite;border:2px solid #ff6b6b4d;border-radius:50%;height:60px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:60px}.pulse-ring.delay{animation-delay:1s}@keyframes pulse{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.favorites-tooltip{animation:tooltipIn .2s ease;background:#000c;border-radius:6px;bottom:70px;color:#fff;font-size:14px;padding:8px 12px;position:absolute;right:0;white-space:nowrap}@keyframes tooltipIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.favorites-tooltip:after{background:#000c;bottom:-5px;content:"";height:10px;position:absolute;right:20px;transform:rotate(45deg);width:10px}.floating-hearts{pointer-events:none;position:fixed;z-index:1000}.heart-float{animation:floatUp 3s ease-out forwards;opacity:0;position:absolute}@keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(0)}15%{opacity:1;transform:translateY(-20px) scale(1)}to{opacity:0;transform:translateY(-150px) scale(.3) rotate(15deg)}}@media (max-width:768px){.floating-favorites-container{bottom:90px;right:20px}.floating-favorites-btn{height:56px;width:56px}}.dashboard-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.dashboard-modal{animation:dashboardSlideIn .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}@keyframes dashboardSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dashboard-close{align-items:center;background:#0000001a;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s ease;width:36px;z-index:10}.dashboard-close:hover{background:#0003}.dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:24px;padding:40px}.dashboard-avatar{border:4px solid #ffffff4d;border-radius:50%;height:80px;width:80px}.dashboard-user-info h2{font-size:28px;margin:0 0 8px}.user-tagline{font-size:16px;margin:0;opacity:.9}.dashboard-stats{grid-gap:20px;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);padding:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px;text-align:center}.stat-icon{font-size:32px;margin-bottom:8px}.stat-value{color:#1a1a1a;font-size:32px;font-weight:700;margin:8px 0}.stat-label{color:#666;font-size:14px}.dashboard-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;padding:0 30px}.tab-btn{background:none;border:none;color:#666;cursor:pointer;font-size:16px;font-weight:600;padding:16px 24px;position:relative;transition:all .2s ease}.tab-btn:hover{color:#333}.tab-btn.active{color:#667eea}.tab-btn.active:after{background:#667eea;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.dashboard-content{flex:1 1;overflow-y:auto;padding:30px}.favorites-controls{margin-bottom:20px}.sort-select{border-radius:8px;padding:8px 16px}.favorites-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.favorite-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;overflow:hidden;transition:all .2s ease}.favorite-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.favorite-image{background-position:50%;background-size:cover;height:160px;position:relative}.remove-btn{background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:32px;opacity:0;position:absolute;right:10px;top:10px;transition:opacity .2s ease;width:32px}.favorite-card:hover .remove-btn{opacity:1}.favorite-info{padding:16px}.favorite-info h4{color:#1a1a1a;font-size:18px;margin:0 0 8px}.favorite-category{color:#667eea;font-size:14px;font-weight:600;margin:0 0 8px}.favorite-date{color:#999;font-size:12px;margin:0}.achievements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.achievement-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;position:relative;text-align:center;transition:all .2s ease}.achievement-card.unlocked{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.achievement-card.locked{opacity:.6}.achievement-icon{font-size:48px;margin-bottom:12px}.achievement-card h4{font-size:16px;margin:0 0 8px}.achievement-card p{font-size:14px;margin:0;opacity:.9}.lock-overlay{font-size:32px;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%)}.insight-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:24px}.insight-card h3{color:#1a1a1a;font-size:20px;margin:0 0 20px}.category-bar{margin-bottom:16px}.category-label{color:#666;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.progress-bar{background:#f0f0f0;border-radius:4px}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.most-visited h4{color:#1a1a1a;font-size:18px;margin:0 0 8px}.fun-fact,.most-visited p{color:#666;margin:0}.fun-fact{font-size:16px;line-height:1.6}.empty-state{color:#999;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-hint{font-size:14px;margin-top:8px}@media (max-width:768px){.dashboard-modal{border-radius:0;height:100%;max-height:100%;max-width:100%;width:100%}.dashboard-header{flex-direction:column;padding:60px 20px 30px;text-align:center}.dashboard-stats{gap:10px;grid-template-columns:repeat(3,1fr);padding:20px}.stat-card{padding:15px 10px}.stat-value{font-size:24px}.dashboard-content{padding:20px}.favorites-grid{grid-template-columns:1fr}.achievements-grid{grid-template-columns:repeat(2,1fr)}}.needs-finder{background:#fafbfc;overflow:hidden;padding:80px 0;position:relative}.needs-header{margin-bottom:60px;text-align:center}.header-badge{align-items:center;background:#fff;border:1px solid #f054381a;border-radius:30px;box-shadow:0 4px 15px #00000014;display:inline-flex;gap:8px;margin-bottom:24px;padding:10px 20px}.needs-title{color:#1f2937;font-size:42px;font-weight:800;line-height:1.2;margin-bottom:20px}.title-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f05438,#ff6b6b);background-clip:text;-webkit-background-clip:text}.needs-subtitle{color:#6b7280;font-size:18px;line-height:1.6;margin:0 auto;max-width:600px}.needs-grid-container{display:flex;flex-direction:column;gap:32px;margin-bottom:40px;overflow:hidden;position:relative;width:100%}.needs-row{display:flex;gap:24px;width:200%}.row-1{animation:slideLeftToRight 30s linear infinite}.row-2{animation:slideRightToLeft 30s linear infinite}.needs-grid-container:hover .row-1,.needs-grid-container:hover .row-2{animation-play-state:paused}@keyframes slideLeftToRight{0%{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes slideRightToLeft{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.need-card{aspect-ratio:1;border-radius:16px;color:#fff;cursor:pointer;display:block;flex-shrink:0;height:280px;overflow:hidden;padding:32px;position:relative;text-decoration:none;transform:translateY(0);transition:all .4s cubic-bezier(.4,0,.2,1);width:280px}.need-card:before{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000004d;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s;z-index:1}.need-card:hover{box-shadow:0 20px 50px #0003;min-height:280px;transform:translateY(-8px)}.need-card:hover:before{opacity:1}.need-content{display:flex;flex-direction:column;height:100%;position:relative;z-index:2}.need-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.need-icon{display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:40px}.need-count{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;font-size:13px;font-weight:600;padding:6px 12px}.need-label{color:#fff;font-size:24px;font-weight:700;margin-bottom:8px}.need-description{font-size:15px;line-height:1.5;margin-bottom:8px;opacity:.9;transition:all .3s ease}.need-card:hover .need-description{font-size:14px;opacity:.7}.need-details{border-top:1px solid #fff3;margin-top:auto;opacity:0;padding-top:16px;transform:translateY(20px);transition:all .3s ease}.need-details.show{opacity:1;transform:translateY(0)}.benefits-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.benefit-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:12px;font-size:11px;font-weight:500;padding:4px 10px}.sample-cafes{font-size:12px;opacity:.9}.sample-label{font-weight:600;margin-right:4px}.card-decoration{inset:0;overflow:hidden;pointer-events:none;position:absolute}.deco-circle{background:#ffffff1a}.deco-circle.circle-1{height:150px;right:-75px;top:-75px;width:150px}.deco-circle.circle-2{bottom:-50px;height:100px;left:-50px;width:100px}.finder-cta{text-align:center}.cta-text{color:#6b7280;font-size:18px;margin-bottom:24px}.cta-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.cta-btn{align-items:center;border-radius:50px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:10px;padding:16px 28px;text-decoration:none;transition:all .3s ease}.cta-btn.secondary{background:#fff;border:2px solid #e5e7eb;box-shadow:0 4px 12px #0000000f;color:#1f2937}.cta-btn.secondary:hover{border-color:#f05438;box-shadow:0 6px 18px #0000001a;color:#f05438;transform:translateY(-2px)}.cta-btn.primary{background:linear-gradient(135deg,#f05438,#e04427);border:none;box-shadow:0 8px 20px #f054384d;color:#fff}.cta-btn.primary:hover{box-shadow:0 12px 30px #f0543866;transform:translateY(-2px)}@media (max-width:1024px){.needs-row{gap:20px}.need-card{height:240px;padding:28px;width:240px}}@media (max-width:768px){.needs-finder{padding:60px 0}.needs-title{font-size:32px}.needs-subtitle{font-size:16px}.needs-grid-container{gap:24px}.needs-row{gap:16px}.need-card{height:200px;padding:24px;width:200px}.need-icon{font-size:32px}.need-label{font-size:20px}.cta-buttons{flex-direction:column;width:100%}.cta-btn{justify-content:center;width:100%}}.creative-map-cta{background:linear-gradient(135deg,#fff5f3,#fef3f5);overflow:hidden;padding:80px 0;position:relative}.creative-bg{inset:0;position:absolute;z-index:0}.creative-bg:before{animation:float 8s ease-in-out infinite;background:radial-gradient(circle,#f054380f 0,#0000 70%);height:300px;right:-10%;top:-20%;width:300px}.creative-bg:after,.creative-bg:before{border-radius:50%;content:"";position:absolute}.creative-bg:after{animation:float 6s ease-in-out infinite reverse;background:radial-gradient(circle,#3b82f60a 0,#0000 70%);bottom:-20%;height:200px;left:-5%;width:200px}.creative-container{margin:0 auto;max-width:1200px;padding:0 20px;position:relative;z-index:1}.creative-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr}.creative-text-section{padding:20px 0}.creative-badge{align-items:center;background:#fff;border:1px solid #f054381a;border-radius:30px;box-shadow:0 4px 15px #00000014;display:inline-flex;gap:8px;margin-bottom:24px;padding:10px 20px;position:relative}.badge-glow{background:linear-gradient(45deg,#f054380d,#3b82f60d);border-radius:30px;inset:0;position:absolute}.badge-icon{z-index:1}.badge-text{color:#1f2937;z-index:1}.badge-pulse{display:none}.creative-title{color:#1f2937;font-size:42px;font-weight:800;line-height:1.2;margin-bottom:20px}.title-line{display:block;margin-bottom:4px}.creative-description{color:#6b7280;font-size:18px;line-height:1.6;margin-bottom:40px;max-width:480px}.feature-showcase{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:40px}.feature-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 12px #0000000f;cursor:pointer;display:flex;gap:12px;padding:16px;position:relative;transition:all .3s ease}.feature-card:before{background:linear-gradient(135deg,var(--accent-color),#0000);border-radius:16px;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.feature-card.active{border-color:var(--accent-color);box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.feature-card.active:before{opacity:.08}.feature-icon-wrapper{align-items:center;background:#f9fafb;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;position:relative;width:48px;z-index:1}.feature-icon{font-size:24px}.feature-content{flex:1 1;min-width:0;position:relative;z-index:1}.feature-content h4{color:#1f2937;font-size:14px;font-weight:700;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-content p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:12px;line-height:1.4;margin:0;overflow:hidden}.feature-glow{display:none}.cta-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px}.creative-btn{align-items:center;border:none;border-radius:50px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:10px;padding:16px 28px;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.primary-creative{background:linear-gradient(135deg,#f05438,#e04427);box-shadow:0 8px 20px #f054384d;color:#fff}.primary-creative:hover{box-shadow:0 12px 30px #f0543866;transform:translateY(-2px)}.secondary-creative{background:#fff;border:2px solid #e5e7eb;box-shadow:0 4px 12px #0000000f;color:#1f2937}.secondary-creative:hover{border-color:#f05438;box-shadow:0 6px 18px #0000001a;color:#f05438;transform:translateY(-1px)}.btn-glow,.btn-trail{display:none}.creative-visual-section{align-items:center;display:flex;justify-content:center;padding:20px 0;position:relative}.interactive-visual{max-width:100%;position:relative}.visual-map-container{position:relative}.map-screen{background:#fff;border:1px solid #f054381a;border-radius:20px;box-shadow:0 15px 40px #0000001a;margin:0 auto;max-width:400px;padding:24px}.mini-map{border-radius:12px;display:block;height:240px;max-width:320px;overflow:hidden;width:100%}.floating-stats{inset:0;pointer-events:none;position:absolute}.ui-bubble{align-items:center;background:#fff;border:1px solid #f054381a;border-radius:20px;box-shadow:0 6px 20px #0000001a;display:flex;font-size:11px;font-weight:600;gap:6px;padding:8px 12px;position:absolute;white-space:nowrap}.top-left{left:-20px;top:10px}.top-right{right:-25px;top:40px}.bottom-left{bottom:40px;left:-15px}.bottom-right{bottom:10px;right:-25px}.bubble-icon{font-size:14px}.bubble-text{color:#1f2937}.visual-decorations{inset:0;pointer-events:none;position:absolute;z-index:-1}.deco-circle{background:linear-gradient(135deg,#f054380d,#3b82f60d);border-radius:50%;position:absolute}.circle-1{height:80px;right:-40px;top:-40px;width:80px}.circle-2{bottom:-30px;height:60px;left:-30px;width:60px}.circle-3{height:40px;left:-20px;top:50%;transform:translateY(-50%);width:40px}@media (max-width:1024px){.creative-content{gap:40px;grid-template-columns:1fr;text-align:center}.creative-visual-section{order:-1}.creative-title{font-size:36px}.creative-description{max-width:100%}.feature-showcase{margin-left:auto;margin-right:auto;max-width:500px}}@media (max-width:768px){.creative-map-cta{padding:60px 0}.creative-title{font-size:32px}.creative-description{font-size:16px}.feature-showcase{grid-template-columns:1fr;max-width:320px}.cta-actions{align-items:stretch;flex-direction:column;margin-left:auto;margin-right:auto;max-width:320px}.creative-btn{justify-content:center;width:100%}.map-screen{max-width:320px;padding:20px}.mini-map{height:200px;max-width:280px}.ui-bubble{display:none}}.surabaya-discovery{background:#fff;padding:80px 0}.discovery-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px}.discovery-text{padding:20px 0}.section-badge{align-items:center;background:#fff5f3;border:1px solid #f054381a;border-radius:20px;display:inline-flex;gap:8px;margin-bottom:24px;padding:8px 16px}.badge-text{color:#f05438}.discovery-title{color:#1f2937;font-size:42px;font-weight:800;line-height:1.2;margin-bottom:20px}.title-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f05438,#ff6b6b);background-clip:text;-webkit-background-clip:text}.discovery-description{color:#6b7280;font-size:18px;line-height:1.6;margin-bottom:40px;max-width:480px}.regions-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}.region-card{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0000000f;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;position:relative;width:140px}.region-card:before{background:linear-gradient(135deg,#f05438,#0000);border-radius:16px;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.region-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.region-card:hover:before{opacity:.05}.region-card.active{background:#f05438;box-shadow:0 8px 25px #f0543840;transform:translateY(-2px)}.region-card.active:before{opacity:0}.region-header{align-items:center;display:flex;flex-direction:column;gap:6px}.region-dot{background:#cbd5e1;border-radius:50%;height:10px;width:10px}.region-card:hover .region-dot{background:#f05438}.region-card.active .region-dot{background:#fff}.region-name{color:#374151;font-size:14px;margin:0}.region-card:hover .region-name{color:#f05438}.region-card.active .region-name{color:#fff}.region-cafe{color:#9ca3af;font-size:11px;font-weight:500;line-height:1.2;margin:0}.region-card:hover .region-cafe{color:#f05438}.region-card.active .region-cafe{color:#fff}.region-desc{color:#6b7280;font-size:13px;line-height:1.3;margin-bottom:0;margin-left:20px}.region-details{margin-left:20px;margin-top:10px}.popular-cafes{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.popular-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cafe-tag{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:11px;font-weight:500;padding:2px 8px}.discovery-cta{margin-top:20px}.explore-all-btn{align-items:center;background:linear-gradient(135deg,#f05438,#e04427);border-radius:50px;box-shadow:0 8px 20px #f054384d;color:#fff;display:inline-flex;font-size:15px;font-weight:600;gap:12px;padding:16px 28px;text-decoration:none;transition:all .3s ease}.explore-all-btn:hover{box-shadow:0 12px 30px #f0543866;transform:translateY(-2px)}.btn-text{font-weight:600}.explore-all-btn:hover .btn-arrow{transform:translateX(4px)}.discovery-visual{align-items:center;display:flex;justify-content:center;padding:20px 0}.surabaya-map-container{max-width:400px;position:relative;width:100%}.map-frame{background:#fff;border:1px solid #f054381a;border-radius:20px;box-shadow:0 15px 40px #0000001a;padding:24px}.surabaya-map{border-radius:12px;height:auto;overflow:hidden;width:100%}.region-path{stroke:#fff;stroke-width:2;cursor:pointer;opacity:.9;transition:all .3s ease}.region-path:hover{stroke-width:3;opacity:1}.region-label{fill:#6b7280;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.cafe-indicators circle{animation:pulse-cafe 2s ease-in-out infinite}@keyframes pulse-cafe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.map-info{margin-top:20px;text-align:center}.selected-region h4{color:#1f2937;font-size:18px;font-weight:700;margin-bottom:4px}.selected-region p{color:#6b7280;font-size:14px;margin:0}@media (max-width:1024px){.discovery-content{gap:40px;grid-template-columns:1fr;text-align:center}.discovery-visual{order:-1}.discovery-title{font-size:36px}.discovery-description{margin-left:auto;margin-right:auto;max-width:100%}.regions-list{margin-left:auto;margin-right:auto;max-width:500px}}@media (max-width:768px){.surabaya-discovery{padding:60px 0}.discovery-title{font-size:32px}.discovery-description{font-size:16px}.regions-list{max-width:100%}.region-header{flex-wrap:wrap;gap:8px}.region-name{font-size:15px}.region-count{font-size:13px}.map-frame{padding:20px}.surabaya-map-container{max-width:320px}.explore-all-btn{justify-content:center;width:100%}}.smart-finder-cta{overflow:hidden;padding:60px 0;position:relative}.gradient-bg{background:linear-gradient(135deg,#f05438,#ff6b6b 50%,#f05438);background-size:200% 200%;inset:0;opacity:.95;position:absolute}.compact-finder-content{color:#fff;margin:0 auto;max-width:800px;position:relative;text-align:center;z-index:1}.compact-header{margin-bottom:40px}.ai-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:30px;display:inline-flex;gap:10px;margin-bottom:24px;padding:10px 24px}.badge-icon{font-size:20px}.badge-text{letter-spacing:1px}.compact-title{font-size:38px;font-weight:800;line-height:1.2;margin-bottom:16px}.highlight{color:#ffeb3b;text-shadow:0 2px 8px #ffeb3b4d}.compact-subtitle{font-size:18px;line-height:1.5;margin:0 auto;max-width:500px;opacity:.9}.key-features{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;margin-bottom:40px}.key-feature{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:25px;display:flex;gap:8px;padding:12px 20px;transition:all .3s ease}.key-feature:hover{background:#ffffff40;transform:translateY(-2px)}.feature-icon{font-size:18px}.feature-text{font-size:14px;font-weight:600;white-space:nowrap}.compact-cta{text-align:center}.primary-cta-btn{align-items:center;background:#fff;border-radius:50px;box-shadow:0 10px 30px #0003;color:#f05438;display:inline-flex;font-size:16px;font-weight:700;gap:12px;padding:18px 36px;text-decoration:none;transition:all .3s}.primary-cta-btn:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-3px)}.btn-icon{font-size:18px}.btn-text{font-weight:700}.btn-arrow{font-size:18px;transition:transform .3s ease}.primary-cta-btn:hover .btn-arrow{transform:translateX(4px)}@media (max-width:768px){.smart-finder-cta{padding:50px 0}.compact-title{font-size:28px}.compact-subtitle{font-size:16px}.key-features{align-items:center;flex-direction:column;gap:16px}.key-feature{padding:10px 16px}.primary-cta-btn{justify-content:center;max-width:300px;width:100%}}@media (max-width:1024px){.map-cta-content{gap:40px;grid-template-columns:1fr}.map-illustration-wrapper{margin:0 auto;max-width:600px;order:-1}.map-content{gap:30px;grid-template-columns:1fr}.map-sidebar{margin:0 auto;max-width:600px}}@media (max-width:768px){.section-title{font-size:28px}.section-subtitle{font-size:16px}.filter-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.trending-header{align-items:flex-start;flex-direction:column}.trending-grid{grid-template-columns:1fr;padding:0 16px}.trending-card{margin:0 auto;max-width:320px}.map-content{grid-template-columns:1fr}.map-visual{min-height:300px;padding:20px}.surabaya-map{max-width:300px}.map-sidebar{order:-1}.collections-content{gap:40px}.collections-content,.collections-grid{grid-template-columns:1fr}.collection-preview{min-height:300px}.cta-title{font-size:32px}.finder-stats{gap:30px}.features-grid{grid-template-columns:1fr}}.featured-reviewers{background:linear-gradient(135deg,#fafbfc,#f8fafc);overflow:hidden;padding:80px 0}.reviewers-heading{margin-bottom:60px;text-align:center}.reviewers-heading h2{align-items:center;color:#1f2937;display:flex;font-size:42px;font-weight:800;gap:12px;justify-content:center;margin-bottom:20px;opacity:0;transform:translateY(30px)}.rank-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:48px}.reviewers-heading p{color:#6b7280;font-size:18px;line-height:1.6;margin:0 auto;max-width:600px;opacity:0;transform:translateY(30px)}.reviewers-slider{margin-bottom:50px;overflow-x:auto;overflow-y:hidden;padding-bottom:20px;position:relative;width:100%}.reviewers-slider::-webkit-scrollbar{height:8px}.reviewers-slider::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.reviewers-slider::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.reviewers-slider::-webkit-scrollbar-thumb:hover{background:#9ca3af}.reviewers-track{display:flex;gap:20px;padding:0 20px}.reviewer-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 16px #0000000f;flex-shrink:0;min-width:180px;opacity:0;padding:20px;position:relative;text-align:center;transform:translateY(30px);transition:all .3s ease;width:180px}.reviewer-card:hover{border-color:#f05438;box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.reviewer-image{display:inline-block;margin-bottom:16px;position:relative}.reviewer-image img{border:3px solid #f05438;border-radius:50%;box-shadow:0 4px 12px #00000014;height:80px;object-fit:cover;transition:transform .3s ease;width:80px}.reviewer-card:hover .reviewer-image img{transform:scale(1.05)}.reviewer-info{text-align:center}.reviewer-name{color:#1f2937;line-height:1.2;margin-bottom:8px}.review-stats{align-items:center;display:flex;flex-direction:column;gap:2px}.review-count{color:#f05438;display:block;font-size:24px;font-weight:700;line-height:1}.review-label{color:#6b7280;font-size:12px;font-weight:500}@media (max-width:768px){.featured-reviewers{padding:60px 0}.reviewers-heading h2{flex-direction:column;font-size:32px;gap:8px}.rank-icon{font-size:40px}.reviewers-heading p{font-size:16px;padding:0 16px}.reviewers-track{gap:16px;padding:0 16px}.reviewer-card{min-width:140px;padding:16px;width:140px}.reviewer-image img{height:70px;width:70px}.reviewer-name{font-size:14px}.review-count{font-size:20px}.review-label{font-size:11px}.needs-finder{padding:60px 0}.needs-header{margin-bottom:40px;padding:0 16px}.needs-title{font-size:28px;margin-bottom:16px}.needs-subtitle{font-size:16px;padding:0 8px}.needs-grid-container{margin-bottom:30px}.need-card{height:160px;min-width:220px;padding:16px}.need-header{margin-bottom:8px}.need-icon{font-size:24px}.need-count{font-size:10px}.need-label{font-size:14px;margin-bottom:6px}.need-description{font-size:12px}.finder-cta{padding:0 16px}.cta-text{font-size:16px;margin-bottom:20px}.cta-buttons{flex-direction:column;gap:12px}.cta-btn{font-size:14px;justify-content:center;padding:12px 24px;width:100%}.creative-map-cta{padding:60px 0}.creative-container{padding:0 16px}.creative-content{flex-direction:column;gap:40px}.creative-text-section{order:2}.creative-visual-section{order:1}.creative-title{font-size:24px;margin-bottom:16px}.creative-description{font-size:16px;margin-bottom:24px}.feature-showcase{margin-bottom:24px}.feature-card{margin-bottom:12px;padding:12px}.feature-card h4{font-size:14px}.feature-card p{font-size:12px}.creative-btn{font-size:14px;justify-content:center;padding:14px 28px;width:100%}.interactive-visual{margin:0 auto;max-width:100%}.mini-map{height:auto;width:100%}.ui-bubble{font-size:10px;padding:6px 10px}.smart-finder-cta{padding:60px 0}.compact-finder-content{padding:0 16px}.compact-title{font-size:24px;margin-bottom:16px}.compact-subtitle{font-size:16px;margin-bottom:24px}.key-features{gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}.key-feature{padding:12px}.feature-icon{font-size:16px}.feature-text{font-size:12px}.primary-cta-btn{font-size:16px;justify-content:center;padding:16px 32px;width:100%}.surabaya-discovery{padding:60px 0}.discovery-content{flex-direction:column;gap:40px}.discovery-text{order:2;padding:0 16px}.discovery-visual{order:1}.discovery-title{font-size:24px;margin-bottom:16px}.discovery-description{font-size:16px;margin-bottom:24px}.region-card{margin-bottom:8px;padding:12px}.region-name{font-size:14px}.region-count{font-size:10px}.region-desc{font-size:12px}.explore-all-btn{font-size:14px;justify-content:center;padding:14px 28px;width:100%}.surabaya-map-container{margin:0 auto;max-width:100%}.region-label{font-size:10px}.testimonial-section{padding:60px 0}.testimonial-content blockquote{font-size:16px;margin-bottom:24px;padding:0 16px}.author-info strong{font-size:16px}.author-info span{font-size:14px}}@media (max-width:480px){.needs-title{font-size:24px}.compact-title,.creative-title,.discovery-title{font-size:20px}.need-card{height:140px;min-width:200px;padding:12px}.need-label{font-size:13px}.need-description{font-size:11px}.key-features{gap:8px;grid-template-columns:1fr}.feature-card{padding:10px}.ui-bubble{font-size:9px;padding:4px 8px}.region-card{padding:10px}}.favorite-btn{align-items:center;background:#ffffffe6;border:2px solid #ff6b6b;border-radius:50%;color:#ff6b6b;cursor:pointer;display:inline-flex;justify-content:center;overflow:visible;position:relative;transition:all .3s ease}.favorite-btn.small{height:32px;min-width:32px;width:32px}.favorite-btn.small svg{height:16px;width:16px}.favorite-btn.medium{height:40px;min-width:40px;width:40px}.favorite-btn.medium svg{height:20px;width:20px}.favorite-btn.large{height:48px;min-width:48px;width:48px}.favorite-btn.large svg{height:24px;width:24px}.favorite-btn:hover{background:#ff6b6b;box-shadow:0 4px 12px #ff6b6b4d;color:#fff;transform:scale(1.1)}.favorite-btn.is-favorite{background:#ff6b6b;border-color:#ff6b6b;color:#fff}.favorite-btn.is-favorite:hover{background:#ff5252;border-color:#ff5252}.favorite-btn.animating svg{animation:heartPulse .6s ease}@keyframes heartPulse{0%{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(.9)}45%{transform:scale(1.15)}60%{transform:scale(.95)}to{transform:scale(1)}}.favorite-btn.with-label{border-radius:24px;gap:8px;padding:8px 16px;width:auto}.favorite-label{font-size:14px;font-weight:600;white-space:nowrap}.heart-burst{animation:heartBurst 1s ease-out forwards;font-size:20px;pointer-events:none;position:fixed;z-index:9999}@keyframes heartBurst{0%{opacity:1;transform:translate(-50%,-50%) scale(0) rotate(0deg)}to{opacity:0;transform:translate(calc(-50% + var(--random-x)),calc(-50% + var(--random-y))) scale(1.5) rotate(1turn)}}.achievement-notification{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 10px 30px #667eea66;color:#fff;display:flex;gap:16px;left:50%;padding:16px 24px;position:fixed;top:20px;transform:translateX(-50%) translateY(-100px);transition:transform .3s ease;z-index:1001}.achievement-notification.show{transform:translateX(-50%) translateY(0)}.achievement-icon{animation:achievementBounce .6s ease;font-size:36px}@keyframes achievementBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.achievement-content{text-align:left}.achievement-title{font-size:12px;margin-bottom:4px;opacity:.9;text-transform:uppercase}.achievement-name{font-size:18px;font-weight:700}.catalog-hero{background-image:linear-gradient(#0009,#0009),url(https://images.unsplash.com/photo-1501339847302-ac426a4a7cbb?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80);background-position:50%;background-size:cover;color:#fff;padding:80px 0 100px;position:relative;text-align:center}.catalog-hero h1{font-size:42px;font-weight:800;margin-bottom:15px}.catalog-hero p{font-size:18px;margin:0 auto 40px;max-width:600px;opacity:.9}.search-container{margin:0 auto;max-width:600px}.search-input-wrapper{align-items:center;background-color:#fff;border-radius:50px;box-shadow:0 5px 20px #0003;display:flex;padding:5px 20px;position:relative}.search-input-wrapper svg{margin-right:10px}.search-input-wrapper input{border:none;font-size:16px;outline:none;padding:12px 0;width:100%}.clear-search-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;padding:5px}.region-navigation{margin:-40px 0 40px;position:relative;z-index:10}.region-nav-inner{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;display:flex;overflow:hidden;position:relative}.region-nav-item{align-items:center;color:var(--gray);cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:20px 15px;position:relative;transition:all .3s}.region-nav-item.active{color:var(--primary)}.region-nav-item:hover{background-color:#00000005}.region-icon{align-items:center;background-color:#0000000d;border-radius:50%;display:flex;height:48px;justify-content:center;margin-bottom:8px;transition:all .3s;width:48px}.region-nav-item.active .region-icon{background-color:#f054381a}.region-nav-item span{font-size:14px;font-weight:600}.active-region-indicator{background-color:var(--primary);border-radius:3px 3px 0 0;bottom:0;height:3px;position:absolute}.cafe-list-container{padding:20px 0 60px}.cafe-list-heading{color:var(--dark);font-size:24px;font-weight:700;margin-bottom:30px}.cafe-cards-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.no-cafes-message{align-items:center;color:var(--gray);display:flex;flex-direction:column;justify-content:center;padding:60px 0;text-align:center}.no-cafes-message p{font-size:18px;margin-top:20px}.loading-container{align-items:center;color:var(--gray);display:flex;flex-direction:column;justify-content:center;padding:60px 0;text-align:center}.loading-container p{font-size:18px;margin-top:20px}.loader{border:5px solid #f054384d;border-top:5px solid var(--primary);height:48px;width:48px}.cafe-catalog-card{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000000d;overflow:hidden;transition:all .3s}.cafe-catalog-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-10px)}.cafe-catalog-img{background-position:50%;background-size:cover;height:200px}.cafe-price-tag{background-color:var(--primary);border-radius:5px;color:#fff;left:15px;top:15px}.cafe-price-tag,.cafe-rating{font-size:14px;font-weight:600;padding:5px 10px;position:absolute}.cafe-rating{align-items:center;background-color:#fff;border-radius:30px;bottom:15px;color:var(--dark);display:flex;gap:5px;right:15px}.cafe-catalog-img .favorite-btn{position:absolute;right:15px;top:15px;z-index:2}.cafe-rating .review-count{color:#666;font-size:12px;font-weight:400;margin-left:2px}.cafe-catalog-details{padding:20px}.cafe-catalog-name{color:var(--dark);font-size:20px;font-weight:700;margin-bottom:10px}.cafe-catalog-location{align-items:flex-start;color:var(--gray);display:flex;font-size:14px;gap:5px;margin-bottom:15px}.cafe-catalog-location svg{margin-top:2px}.cafe-catalog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.cafe-tag{background-color:#f054381a;border-radius:30px;color:var(--primary);font-size:12px;font-weight:600;padding:4px 12px}.cafe-catalog-desc{color:var(--gray);font-size:14px;line-height:1.6;margin-bottom:20px}.view-cafe-btn{background-color:var(--primary);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:all .3s;width:100%}.view-cafe-btn:hover{background-color:#e14a30}@media (max-width:991px){.catalog-hero{padding:60px 0 80px}.catalog-hero h1{font-size:36px}.region-nav-item{padding:15px 10px}.region-icon{height:40px;width:40px}.cafe-cards-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.catalog-page{padding-bottom:80px}.catalog-hero{background-attachment:scroll;padding:40px 0 60px}.catalog-hero h1{font-size:28px;line-height:1.3;margin-bottom:12px}.catalog-hero p{font-size:16px;line-height:1.5;margin-bottom:32px;padding:0 16px}.search-container{padding:0 16px}.search-input-wrapper{border-radius:25px;padding:4px 16px}.search-input-wrapper svg{margin-right:8px}.search-input-wrapper input{font-size:15px;padding:10px 0}.clear-search-btn{padding:4px}.region-navigation{-ms-overflow-style:none;margin:-30px 16px 24px;overflow-x:auto;scrollbar-width:none}.region-navigation::-webkit-scrollbar{display:none}.region-nav-inner{min-width:600px;padding:4px}.region-nav-item{min-width:80px;padding:12px 8px}.region-nav-item span{font-size:12px;line-height:1.2;text-align:center}.region-icon{height:36px;margin-bottom:6px;width:36px}.container{padding:0 16px}.cafe-list-container{padding:16px 0 40px}.cafe-list-heading{font-size:20px;margin-bottom:20px}.cafe-cards-grid{gap:20px;grid-template-columns:1fr}.cafe-catalog-card{border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.cafe-catalog-card:hover{transform:translateY(-4px)}.cafe-catalog-img{height:160px}.cafe-price-tag{left:12px}.cafe-price-tag,.cafe-rating{font-size:12px;padding:4px 8px;top:12px}.cafe-rating{right:12px}.cafe-rating .review-count{font-size:10px}.cafe-catalog-details{padding:16px}.cafe-catalog-name{font-size:18px;line-height:1.3;margin-bottom:8px}.cafe-catalog-location{font-size:13px;margin-bottom:12px}.cafe-catalog-tags{gap:6px;margin-bottom:12px}.cafe-tag{font-size:11px;padding:3px 10px}.cafe-catalog-desc{font-size:13px;line-height:1.5;margin-bottom:16px}.view-cafe-btn{border-radius:8px;font-size:14px;font-weight:600;padding:10px 12px}.load-more-container{margin:32px 0 16px}.load-more-btn{border-radius:25px;font-size:14px;max-width:280px;padding:12px 28px;width:100%}.results-info{margin:16px 0;text-align:center}.results-info p{color:#6b7280;font-size:14px}.loading-container{padding:40px 0}.loading-container p{font-size:16px;margin-top:16px}.loader{border-width:4px;height:40px;width:40px}.no-cafes-message{padding:40px 16px}.no-cafes-message p{font-size:16px;margin-top:16px}}@media (max-width:480px){.catalog-hero{padding:32px 0 48px}.catalog-hero h1{font-size:24px;margin-bottom:10px}.catalog-hero p{font-size:15px;margin-bottom:28px;padding:0 12px}.search-container{padding:0 12px}.search-input-wrapper{padding:3px 12px}.search-input-wrapper input{font-size:14px;padding:8px 0}.region-navigation{margin:-24px 12px 20px}.region-nav-item{min-width:70px;padding:10px 6px}.region-nav-item span{font-size:11px}.region-icon{height:32px;margin-bottom:5px;width:32px}.container{padding:0 12px}.cafe-list-heading{font-size:18px;margin-bottom:16px}.cafe-cards-grid{gap:16px}.cafe-catalog-img{height:140px}.cafe-catalog-details{padding:14px}.cafe-catalog-name{font-size:16px;margin-bottom:6px}.cafe-catalog-location{font-size:12px;margin-bottom:10px}.cafe-catalog-tags{gap:4px;margin-bottom:10px}.cafe-tag{font-size:10px;padding:2px 8px}.cafe-catalog-desc{font-size:12px;margin-bottom:14px}.view-cafe-btn{font-size:13px;padding:9px 10px}.load-more-btn{font-size:13px;padding:10px 24px}.results-info p{font-size:13px}}.load-more-container{display:flex;justify-content:center;margin:40px 0 20px}.load-more-btn{align-items:center;background:#fff;border:2px solid var(--primary);border-radius:30px;color:var(--primary);cursor:pointer;display:flex;font-weight:600;gap:10px;justify-content:center;min-width:200px;padding:12px 30px;transition:all .3s}.load-more-btn:hover:not(:disabled){background:var(--primary);color:#fff}.load-more-btn:disabled{cursor:not-allowed;opacity:.7}.small-loader{animation:spin 1s linear infinite;border:3px solid #f054384d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.cafe-catalog-img{overflow:hidden;position:relative}.cafe-catalog-img-el{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.simple-cafe-page{background-color:#fff;padding:20px 0 60px}.breadcrumb{color:#666;font-size:14px;margin-bottom:20px;padding:15px 0}.breadcrumb a{color:#666;text-decoration:none;transition:color .3s}.breadcrumb a:hover{color:#f05438}.breadcrumb span{margin:0 8px}.cafe-content-wrapper{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 350px;margin-bottom:40px}.cafe-main-image{border-radius:12px;height:350px;overflow:hidden;position:relative}.cafe-main-image img{display:block;height:100%;object-fit:cover;width:100%}.view-all-photos-btn{align-items:center;background:#ffffffe6;border:none;border-radius:8px;bottom:20px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 15px;position:absolute;right:20px;transition:all .3s}.view-all-photos-btn:hover{background:#fff;transform:translateY(-2px)}.cafe-details-panel{background-color:#fff;border-radius:12px;box-shadow:0 4px 10px #0000000d;padding:20px}.cafe-header-simple h1{color:#333;font-size:28px;font-weight:700;margin-bottom:12px}.cafe-rating-simple{align-items:center;display:flex;gap:8px;margin-bottom:20px}.stars-container{display:flex;gap:2px}.star{color:#e0e0e0;font-size:16px}.star.filled{color:#ffc107}.star.half-filled{color:#e0e0e0;position:relative}.star.half-filled:before{color:#ffc107;content:"★";overflow:hidden;position:absolute;width:50%}.rating-value{color:#333;font-size:16px;font-weight:700}.cafe-hours,.reviews-count{color:#666;font-size:14px}.cafe-hours{align-items:flex-start;display:flex;gap:10px;line-height:1.5;margin-bottom:20px}.cafe-hours svg{flex-shrink:0;margin-top:3px}.hours-info{flex-grow:1}.toggle-hours{background:none;border:none;color:#f05438;cursor:pointer;font-size:13px;font-weight:500;margin-left:10px;padding:0}.toggle-hours:hover{text-decoration:underline}.all-hours{display:flex;flex-direction:column;gap:8px;margin-top:12px}.hours-row{color:#333;display:flex;font-size:13px;justify-content:space-between}.day{font-weight:500}.time{color:#666}.cafe-phone{align-items:flex-start;color:#666;display:flex;font-size:14px;gap:10px;line-height:1.5;margin-bottom:30px}.cafe-phone svg{flex-shrink:0;margin-top:3px}.cafe-phone a{color:#666;text-decoration:none;transition:color .3s}.cafe-phone a:hover{color:#f05438}.cafe-address{align-items:flex-start;color:#666;display:flex;font-size:14px;gap:10px;line-height:1.5;margin-bottom:30px}.cafe-address svg{flex-shrink:0;margin-top:3px}.action-buttons-simple{display:flex;gap:10px}.directions-btn{align-items:center;background-color:#f05438;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 15px;text-decoration:none;transition:all .3s}.directions-btn:hover{background-color:#d84b30;transform:translateY(-2px)}.menu-btn{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#333;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 15px;transition:all .3s}.menu-btn:hover{background-color:#f9f9f9;transform:translateY(-2px)}.review-btn{align-items:center;background-color:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 15px;transition:all .3s}.review-btn:hover{background-color:#5a6fd8;transform:translateY(-2px)}.cafe-content-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr;margin-bottom:40px}.content-main{display:flex;flex-direction:column;gap:30px}.about-cafe-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:25px}.section-title{color:#333;font-size:20px;margin-bottom:15px;position:relative}.section-title:after{background-color:#f05438;border-radius:3px;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:50px}.about-text{color:#666;line-height:1.6;margin-bottom:20px}.show-more-btn{align-items:center;background:none;border:none;color:#f05438;cursor:pointer;display:flex;font-size:14px;font-weight:600;padding:0}.show-more-btn:hover{text-decoration:underline}.facilities-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:25px}.facilities-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:20px}.facility-item{gap:12px}.facility-icon,.facility-item{align-items:center;display:flex}.facility-icon{background-color:#f054381a;border-radius:8px;color:#f05438;height:40px;justify-content:center;transition:all .3s ease;width:40px}.facility-item:hover .facility-icon{background-color:#f0543826;transform:scale(1.05)}.facility-icon svg{height:20px;width:20px}.facility-name{color:#333;font-size:14px}.map-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:25px}.map-placeholder{align-items:center;background-color:#f9f9f9;border:1px dashed #ddd;border-radius:8px;color:#666;display:flex;height:300px;justify-content:center;margin-top:20px}.map-container{background-color:#f0f0f0;border-radius:8px;height:300px;margin-top:20px;overflow:hidden}.map-address{color:#666;font-size:14px;margin-top:10px}.map-content{align-items:center;display:flex;flex-direction:column;gap:15px;justify-content:center}.coordinates{color:#999;display:block;font-size:13px;margin-top:5px}.rsvp-card{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;height:-webkit-fit-content;height:fit-content;padding:25px;position:-webkit-sticky;position:sticky;top:20px}.rsvp-title{color:#333;font-size:20px;font-weight:700;margin-bottom:15px;text-align:center}.rsvp-rating{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:20px}.rsvp-field{margin-bottom:15px}.rsvp-label{color:#666;display:block;font-size:14px;margin-bottom:5px}.rsvp-input{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;color:#333;font-size:15px;padding:10px 15px}.rsvp-price{align-items:center;border-top:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;margin-top:20px;padding-top:15px}.price-label{color:#333;font-size:15px;font-weight:600}.price-value{color:#f05438;font-size:18px;font-weight:700}.rsvp-button{background-color:#f05438;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:10px;padding:12px;transition:all .3s;width:100%}.rsvp-button:hover{background-color:#e23e21;transform:translateY(-2px)}.rsvp-notes{color:#999;font-size:12px;text-align:center}.reviews-section{border-bottom:1px solid #e0e0e0;padding:40px 0}.reviews-container{display:flex;flex-direction:column;gap:25px;margin-top:30px}.reviews-container.tripadvisor-style .review-card{display:none}.more-reviews-container{display:flex;justify-content:center;margin:30px 0}.more-reviews-btn{background-color:#fff;border:1px solid #ddd;border-radius:20px;box-shadow:0 2px 5px #0000000d;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:10px 25px;transition:all .3s}.more-reviews-btn:hover{background-color:#f9f9f9;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.no-reviews-section{border-bottom:1px solid #e0e0e0;color:#666;padding:40px 0;text-align:center}.no-reviews-section h3{font-size:18px;font-weight:500}@media (max-width:992px){.cafe-content-section{grid-template-columns:1fr}.facilities-grid{grid-template-columns:repeat(2,1fr)}.rsvp-card{margin-bottom:30px;order:-1;position:static}.review-header{flex-direction:column;gap:15px}.review-rating{align-items:flex-start}}@media (max-width:576px){.facilities-grid{grid-template-columns:1fr}}.similar-cafes-section{padding:40px 0}.similar-cafes-section h2{color:#333;font-size:24px;font-weight:700;margin-bottom:20px}.similar-cafes-placeholder{background-color:#fff5f3;border-radius:12px;color:#666;padding:60px 0;text-align:center}@media (max-width:992px){.cafe-content-wrapper{grid-template-columns:1fr}.cafe-main-image{height:300px}}@media (max-width:768px){.cafe-main-image{height:250px}}@media (max-width:576px){.cafe-main-image{height:200px}.cafe-header-simple h1{font-size:24px}}.action-buttons-simple{flex-wrap:wrap}.review-btn{flex:1 1 100%}.review-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.review-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.review-modal-close{align-items:center;background:#f5f5f5;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s ease;width:36px;z-index:10}.review-modal-close:hover{background:#e0e0e0}.review-modal-close:disabled{cursor:not-allowed;opacity:.5}.review-modal-header{border-bottom:1px solid #f0f0f0;padding:30px 30px 20px}.review-modal-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0 0 8px}.cafe-location{color:#666;font-size:14px;margin:0}.review-form{padding:30px}.rating-section{margin-bottom:30px}.rating-section label{color:#333;display:block;font-weight:600;margin-bottom:12px}.star-rating{align-items:center;display:flex;gap:8px}.star{background:none;border:none;color:#ddd;cursor:pointer;font-size:32px;padding:0;transition:all .2s ease}.star:hover{transform:scale(1.1)}.star.active,.star:hover{color:#ffc107}.star:disabled{cursor:not-allowed}.rating-text{color:#666;font-size:16px;font-weight:600;margin-left:12px}.comment-section{margin-bottom:20px}.comment-section label{color:#333;display:block;font-weight:600;margin-bottom:12px}.comment-section textarea{border:2px solid #e0e0e0;border-radius:12px;font-family:inherit;font-size:15px;padding:14px;resize:vertical;transition:border-color .2s ease;width:100%}.comment-section textarea:focus{border-color:#f05438;outline:none}.comment-section textarea:disabled{background:#f5f5f5;cursor:not-allowed}.char-count{color:#999;font-size:12px;margin-top:6px;text-align:right}.error-message{background:#fee;border-radius:8px;color:#c33;font-size:14px;margin-bottom:20px;padding:12px}.review-actions{justify-content:flex-end}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.cancel-btn{background:#f5f5f5;color:#666}.cancel-btn:hover{background:#e0e0e0}.submit-btn{background:#f05438;color:#fff}.submit-btn:hover{background:#e14a30;box-shadow:0 4px 12px #f054384d;transform:translateY(-1px)}.cancel-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.review-author-preview{align-items:center;bottom:20px;color:#666;display:flex;font-size:14px;gap:10px;left:30px;position:absolute}.review-author-preview img{border:2px solid #f0f0f0;border-radius:50%;height:32px;width:32px}@media (max-width:768px){.review-modal{margin:20px}.review-form,.review-modal-header{padding:20px}.star{font-size:28px}.review-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.reviews-container{background:#f8f9fa;border-radius:16px;margin-top:40px;padding:30px}.reviews-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.reviews-header h3{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.reviews-summary{align-items:center;display:flex;gap:20px}.average-rating{text-align:center}.rating-number{color:#1a1a1a;display:block;font-size:36px;font-weight:700}.rating-stars{color:#ffc107;font-size:20px;letter-spacing:2px}.total-reviews{color:#666;font-size:16px;margin:0}.reviews-loading{color:#666;padding:60px 0;text-align:center}.loader{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#f05438;height:40px;margin:0 auto 16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.no-reviews{color:#666;padding:60px 20px;text-align:center}.no-reviews p{font-size:16px;margin:0 0 8px}.no-reviews .hint{color:#999;font-size:14px}.reviews-list{display:flex;flex-direction:column;gap:20px}.review-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px;transition:all .2s ease}.review-card:hover{box-shadow:0 4px 16px #00000014}.review-header{margin-bottom:16px}.reviewer-info{align-items:flex-start;display:flex;gap:12px}.reviewer-avatar{border:2px solid #f0f0f0;border-radius:50%;height:48px;object-fit:cover;width:48px}.reviewer-name{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 4px}.review-meta{align-items:center;display:flex;font-size:14px;gap:12px}.review-rating{color:#ffc107;letter-spacing:1px}.review-date{color:#999}.review-comment{color:#333;font-size:15px;line-height:1.6;margin:0 0 16px;white-space:pre-wrap}.review-images{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.review-images img{border-radius:8px;cursor:pointer;height:120px;object-fit:cover;transition:transform .2s ease;width:120px}.review-images img:hover{transform:scale(1.05)}.review-actions{display:flex;gap:12px}.helpful-btn{align-items:center;background:#f0f0f0;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 16px;transition:all .2s ease}.helpful-btn:hover{background:#e0e0e0;color:#333}@media (max-width:768px){.reviews-container{margin-top:30px;padding:20px}.reviews-header{align-items:flex-start;flex-direction:column}.reviews-summary{justify-content:space-between;width:100%}.review-card{padding:16px}.reviewer-avatar{height:40px;width:40px}.review-images img{height:80px;width:80px}}.mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.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:translateX(-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:translateX(-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' 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' 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' 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")}}.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 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 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 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 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' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 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 cx='10' cy='10' r='2'/%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 cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%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 cx='10' cy='10' r='2'/%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 cx='10' cy='10' r='2'/%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%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%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 cx='10' cy='10' r='2'/%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 cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%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 cx='10' cy='10' r='2'/%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 cx='10' cy='10' r='2'/%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%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%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'%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 cx='10' cy='10' r='2'/%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 cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}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='a' 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 0 1 3.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='b' 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 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.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 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .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 0 1-.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='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%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='a' 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 0 1 3.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='b' 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 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.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 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .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 0 1-.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='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%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='a' 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 0 1 3.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='b' 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 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.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 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .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 0 1-.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='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%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}.cafe-map-container{height:calc(100vh - 80px);width:100%}.cafe-map-container,.cafe-sidebar{display:flex;overflow:hidden;position:relative}.cafe-sidebar{background:#fff;box-shadow:2px 0 4px #0000001a;flex-direction:column;height:100%;min-width:380px;width:380px;z-index:10}.sidebar-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:12px 14px}.search-input{background:#fff;border:1px solid #ddd;border-radius:20px;box-sizing:border-box;font-size:14px;margin-bottom:8px;outline:none;padding:8px 14px;width:100%}.search-input:focus{border-color:#f05438}.filter-controls{display:flex;gap:8px}.region-select{flex:1 1;min-width:0}.region-select,.sort-select{background:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;font-size:14px;padding:8px 12px}.cafe-list{background:#fff;flex:1 1;min-height:0;overflow-y:auto;scrollbar-color:#ddd #f5f5f5;scrollbar-width:thin}.cafe-list::-webkit-scrollbar{width:8px}.cafe-list::-webkit-scrollbar-track{background:#f5f5f5}.cafe-list::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.cafe-list::-webkit-scrollbar-thumb:hover{background:#ccc}.cafe-map-container .cafe-card{background:#fff;border-bottom:1px solid #e0e0e0;border-radius:0;box-shadow:none;cursor:pointer;flex-shrink:0;min-width:auto;opacity:1;position:relative;transform:none;transition:all .2s}.cafe-map-container .cafe-card:hover{background-color:#f9f9f9;box-shadow:none;transform:none}.cafe-map-container .cafe-card.selected{background-color:#fff5f3;border-left:4px solid #f05438}.cafe-content{align-items:flex-start;display:flex;gap:10px;padding:10px 12px}.cafe-number{color:#666;font-size:12px;font-weight:500;min-width:18px;padding-top:2px}.cafe-image{background:#f0f0f0;border-radius:6px;flex-shrink:0;height:72px;overflow:hidden;position:relative;width:72px}.image-placeholder{background:#f5f5f5}.image-placeholder svg{height:32px;width:32px}.cafe-info{flex:1 1;overflow:hidden}.cafe-info h3{color:#1f2937;font-size:15px;font-weight:600;line-height:1.3;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rating-row{gap:6px;margin-bottom:3px}.rating,.rating-row{align-items:center;display:flex}.rating{gap:2px}.stars{color:#f05438;font-size:13px}.rating-value{color:#1f2937;font-size:13px;font-weight:600}.cafe-meta,.reviews{color:#6b7280;font-size:12px}.cafe-meta{align-items:center;display:flex;gap:4px;margin-bottom:6px;overflow:hidden;white-space:nowrap}.cafe-meta .dot{font-size:8px}.cafe-actions{display:flex;flex-wrap:nowrap;gap:6px;margin-top:6px}.cafe-actions .action-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#374151;cursor:pointer;display:inline-flex;flex:1 1;font-size:12px;font-weight:500;gap:4px;justify-content:center;min-height:30px;padding:6px 10px;text-decoration:none;transition:all .2s;white-space:nowrap}.cafe-actions .action-btn:hover{border-color:#f05438;color:#f05438}.cafe-actions .directions-btn svg{height:12px;width:12px}.cafe-actions .details-btn{background:#f05438;border-color:#f05438;color:#fff;font-weight:500}.cafe-actions .action-btn:hover{box-shadow:0 1px 4px #0000001a;transform:translateY(-.5px)}.cafe-actions .details-btn:hover{background:#e04427;border-color:#e04427}.separator{color:#ccc}.open-status{align-items:center;color:#4caf50;display:flex;font-size:13px;gap:4px;margin-bottom:8px}.status-dot{font-size:8px}.menu-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 16px;transition:all .2s}.menu-btn:hover{background:#f5f5f5}.pagination{background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;margin-top:auto;padding:16px}.results-info{color:#666;font-size:13px}.page-controls{gap:8px}.page-btn,.page-controls{align-items:center;display:flex}.page-btn{border:1px solid #ddd;border-radius:4px;height:32px;justify-content:center;transition:all .2s;width:32px}.page-btn:hover:not(:disabled){background:#f5f5f5}.page-btn.active{background:#333;border-color:#333;color:#fff}.page-dots{color:#666;padding:0 8px}.map-wrapper{flex:1 1;height:100%;overflow:hidden;position:relative}.mobile-view-toggle{display:none}.mapboxgl-map{height:100%;width:100%}.mapboxgl-popup{max-width:400px;z-index:1000}.mapboxgl-popup-content{border-radius:12px;box-shadow:0 4px 16px #00000026;max-width:400px;min-width:350px;padding:0}.mapboxgl-popup-close-button{color:#666;font-size:18px;padding:8px}.mapboxgl-popup-close-button:hover{background:#f5f5f5;color:#333}.mapboxgl-popup-tip{border-top-color:#fff}.cafe-popup .popup-content{max-width:400px;min-width:350px;padding:18px}.popup-content h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 8px}.popup-rating{align-items:center;display:flex;gap:8px;margin-bottom:8px}.popup-rating .stars{color:#f05438;font-size:14px}.popup-address,.popup-rating .reviews{color:#6b7280;font-size:13px}.popup-address{line-height:1.4;margin-bottom:6px}.popup-meta{color:#9ca3af;display:flex;font-size:12px;gap:4px;margin-bottom:12px}.popup-meta .dot{font-size:8px}.popup-actions{border-top:1px solid #e5e7eb;display:flex;gap:8px;padding-top:12px}.popup-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:13px;gap:4px;justify-content:center;padding:8px 12px;transition:all .2s}.popup-btn.directions{background:#fff;border:1px solid #e5e7eb;color:#4b5563}.popup-btn.directions:hover{border-color:#f05438;color:#f05438}.popup-btn.details{background:#f05438;color:#fff}.popup-btn.details:hover{background:#e04427}.loading{color:#666;font-size:18px;padding:20px}.mapboxgl-ctrl-group{border-radius:8px;box-shadow:0 2px 8px #0000001a}.mapboxgl-ctrl-compass,.mapboxgl-ctrl-fullscreen,.mapboxgl-ctrl-zoom-in,.mapboxgl-ctrl-zoom-out{background-color:#fff;border:none;color:#333}.mapboxgl-ctrl-compass:hover,.mapboxgl-ctrl-fullscreen:hover,.mapboxgl-ctrl-zoom-in:hover,.mapboxgl-ctrl-zoom-out:hover{background-color:#f5f5f5}.mapboxgl-ctrl-attrib{background-color:#fffc;font-size:11px}.mapboxgl-ctrl-logo{margin:8px}@media (max-width:768px){.cafe-map-container{flex-direction:column;height:calc(100vh - 60px);overflow:hidden;position:relative}.mobile-view-toggle{background:#fff;border:1px solid #e5e7eb;border-radius:25px;bottom:80px;box-shadow:0 4px 20px #00000026;display:flex;left:50%;overflow:hidden;position:fixed;transform:translateX(-50%);z-index:100}.mobile-view-toggle button{background:#fff;border:none;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;position:relative;transition:all .3s ease}.mobile-view-toggle button.active{background:#f05438;color:#fff}.mobile-view-toggle button:first-child{border-right:1px solid #e5e7eb}.cafe-sidebar{bottom:0;display:none;height:100%;left:0;min-width:0;min-width:auto;position:absolute;right:0;top:0;width:100%;z-index:10}.cafe-sidebar.show-list{display:flex}.map-wrapper{bottom:0;display:block;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}.map-wrapper.show-map{display:block;z-index:5}.cafe-map-container .map-wrapper.show-map{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.sidebar-header{padding:10px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.search-input{font-size:13px;margin-bottom:6px;padding:7px 12px}.region-select,.sort-select{font-size:13px;padding:6px 10px}.cafe-list{padding-bottom:20px}.cafe-content{padding:9px 10px}.cafe-number{font-size:11px;min-width:16px}.cafe-image{height:62px;width:62px}.cafe-info h3{font-size:14px;margin-bottom:2px}.rating-value{font-size:13px}.cafe-meta,.reviews{font-size:12px}.cafe-meta{margin-bottom:8px}.cafe-actions{gap:6px;margin-top:8px}.cafe-actions .action-btn{font-size:12px;min-height:30px;padding:6px 9px}.pagination{flex-wrap:wrap;gap:8px;padding:12px}.results-info{font-size:12px;margin-bottom:8px;text-align:center;width:100%}.page-controls{justify-content:center;width:100%}.page-btn{font-size:13px;height:28px;width:28px}.mapboxgl-ctrl-group{margin:10px}.mapboxgl-ctrl-top-right{right:10px;top:10px}.cafe-popup .popup-content,.mapboxgl-popup-content{max-width:320px;min-width:280px}.cafe-popup .popup-content{padding:14px}.popup-content h3{font-size:15px;margin-bottom:6px}.popup-rating{margin-bottom:6px}.popup-rating .stars{font-size:13px}.popup-address{font-size:12px;margin-bottom:4px}.popup-meta{font-size:11px;margin-bottom:10px}.popup-actions{padding-top:10px}.popup-btn{font-size:12px;padding:6px 10px}}@media (max-width:480px){.cafe-map-container{height:calc(100vh - 60px)}.mobile-view-toggle{bottom:70px}.mobile-view-toggle button{font-size:13px;padding:10px 20px}.sidebar-header{padding:10px}.cafe-content{padding:8px}.cafe-image{height:58px;width:58px}.cafe-info h3{font-size:14px}.cafe-actions .action-btn{font-size:11px;padding:6px 10px}.mapboxgl-popup-content{max-width:280px;min-width:260px}}.cafe-map-page{display:flex;flex:1 1;height:100%;min-height:0;overflow:hidden;position:relative;width:100%}@media (max-width:768px){.cafe-map-page{height:calc(100vh - 60px);position:relative;width:100%}}.tentang-kami-page{background-color:#fff;min-height:100vh}.about-hero{background:linear-gradient(135deg,#f05438,#ff6b47);color:#fff;overflow:hidden;padding:120px 0 80px;position:relative;text-align:center}.about-hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' patternUnits='userSpaceOnUse' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='1' fill='rgba(255,255,255,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.about-hero .container{position:relative;z-index:2}.about-hero h1{font-size:3.5rem;font-weight:800;letter-spacing:2px;margin-bottom:2rem}.about-hero p{font-size:1.2rem;line-height:1.8;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:800px;opacity:.95}.team-section{background-color:#f8f9fa;padding:100px 0}.team-section h2{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.team-description{color:#6b7280;font-size:1.1rem;margin-bottom:4rem;max-width:600px;text-align:center}.team-description,.team-grid{margin-left:auto;margin-right:auto}.team-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:3rem;max-width:1000px}.team-card{border-radius:12px;box-shadow:0 10px 30px #00000026;cursor:pointer;display:flex;flex-direction:column;height:420px;justify-content:space-between;overflow:hidden;padding:20px;position:relative;text-decoration:none;transition:all .3s ease}.team-card:hover{box-shadow:0 20px 40px #00000040;transform:translateY(-8px)}.team-image{height:300px;margin-top:auto;overflow:hidden;position:relative}.team-image,.team-image img{border-radius:8px;width:100%}.team-image img{height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}.team-card:hover .team-image img{transform:scale(1.02)}.placeholder-avatar{align-items:center;background:#ffffff1a;border-radius:8px;color:#fff;display:flex;font-size:2.5rem;font-weight:700;height:100%;justify-content:center;text-shadow:0 2px 4px #0000004d;width:100%}.team-name-vertical{color:#fffc;font-size:.75rem;font-weight:700;left:15px;letter-spacing:1px;text-orientation:mixed;writing-mode:vertical-rl}.team-name-vertical,.team-role-badge{position:absolute;text-transform:uppercase;top:20px}.team-role-badge{background:#fffffff2;border-radius:20px;box-shadow:0 2px 8px #0000001a;color:#333;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;right:20px}.values-section{background-color:#fff;padding:100px 0}.values-section h2{color:#1f2937;font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem;text-align:center}.values-description{color:#6b7280;font-size:1.1rem;margin-bottom:4rem;margin-left:auto;margin-right:auto;max-width:700px;text-align:center}.values-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.value-card{background:#f8f9fa;border:2px solid #0000;border-radius:15px;padding:30px 20px;text-align:center;transition:all .3s ease}.value-card:hover{background:#fff;border-color:#f05438;box-shadow:0 15px 30px #f054381a;transform:translateY(-5px)}.value-icon{display:block;font-size:3rem;margin-bottom:1.5rem}.value-card h3{color:#1f2937;font-size:1.2rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}.value-card p{color:#6b7280;font-size:1rem;line-height:1.6}.stats-section{background:linear-gradient(135deg,#1f2937,#374151);color:#fff;padding:80px 0}.stats-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));text-align:center}.stat-item{padding:20px;transition:all .3s ease}.stat-item:hover{transform:scale(1.05)}.stat-number{display:block;font-size:3.5rem;font-weight:800;margin-bottom:.5rem}.stat-label{color:#d1d5db;font-size:1.1rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.founder-section{background-color:#f8f9fa;padding:100px 0}.founder-content{margin:0 auto;max-width:800px}.founder-text h2{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:2rem}.founder-text p{color:#4b5563;font-size:1.1rem;font-style:italic;line-height:1.8;margin-bottom:1.5rem}.founder-signature{align-items:center;border-top:2px solid #e5e7eb;display:flex;gap:20px;margin-top:3rem;padding-top:2rem}.signature-badge{background:#f05438;border-radius:25px;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:1px;padding:10px 20px;text-transform:uppercase}.founder-name strong{color:#1f2937;display:block;font-size:1.2rem;margin-bottom:5px}.founder-name span{color:#6b7280;font-size:.9rem}.testimonial-section{background:linear-gradient(135deg,#f05438,#ff6b47);color:#fff;padding:100px 0;text-align:center}.testimonial-content{margin:0 auto;max-width:800px}.testimonial-content blockquote{font-size:1.3rem;font-style:italic;line-height:1.8;margin-bottom:3rem;padding:0 40px;position:relative}.testimonial-content blockquote:before{color:#ffffff4d;content:'"';font-family:serif;font-size:6rem;left:0;position:absolute;top:-20px}.testimonial-author{align-items:center;display:flex;gap:20px;justify-content:center}.author-info strong{display:block;font-size:1.2rem;margin-bottom:5px}.author-info span{color:#fffc;font-size:.9rem}@media (max-width:768px){.tentang-kami-page{padding-bottom:80px}.container{padding:0 16px}.about-hero{background-attachment:scroll;padding:60px 0 50px}.about-hero h1{font-size:2.2rem;letter-spacing:1px;line-height:1.2;margin-bottom:1.5rem}.about-hero p{font-size:1rem;line-height:1.6;margin-bottom:1rem;padding:0 8px}.mission-section{padding:60px 0}.mission-content{text-align:center}.mission-content h2{font-size:1.8rem;line-height:1.3;margin-bottom:1.5rem}.mission-content p{font-size:1rem;line-height:1.6;padding:0 8px}.team-section{padding:60px 0}.team-section h2{font-size:1.8rem;margin-bottom:1.5rem;text-align:center}.team-description{font-size:1rem;margin-bottom:2rem;padding:0 8px;text-align:center}.team-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:600px}.team-card{border-radius:16px;height:380px;margin:0 auto;max-width:300px;padding:16px}.team-image{border-radius:12px;height:280px}.team-name-vertical{font-size:.7rem;left:12px;letter-spacing:1px;top:16px}.team-role-badge{border-radius:12px;font-size:.7rem;padding:5px 12px;right:16px;top:16px}.team-card:hover{transform:translateY(-8px)}.values-section{padding:60px 0}.values-section h2{font-size:1.8rem;margin-bottom:1.5rem;text-align:center}.values-description{font-size:1rem;margin-bottom:2rem;padding:0 8px;text-align:center}.values-grid{gap:24px;grid-template-columns:1fr;margin:0 auto;max-width:400px}.value-card{border-radius:12px;padding:24px 20px}.value-icon{font-size:2.5rem;margin-bottom:1rem}.value-card h3{font-size:1.1rem;margin-bottom:.8rem}.value-card p{font-size:.9rem;line-height:1.5}.stats-section{padding:60px 0}.stats-grid{gap:24px;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:400px}.stat-item{padding:16px}.stat-number{font-size:2.5rem;margin-bottom:.3rem}.stat-label{font-size:.9rem}.founder-section{padding:60px 0}.founder-content{max-width:100%}.founder-text h2{font-size:1.8rem}.founder-text h2,.founder-text p{margin-bottom:1.5rem;text-align:center}.founder-text p{font-size:1rem;line-height:1.6;padding:0 8px}.founder-signature{flex-direction:column;gap:16px;margin-top:2rem;text-align:center}.founder-image{height:80px;margin:0 auto;width:80px}.founder-details h4{font-size:1.1rem;margin-bottom:.3rem}.founder-details p{font-size:.9rem;margin:0}.testimonial-section{padding:60px 0}.testimonial-content{max-width:100%;text-align:center}.testimonial-content h2{font-size:1.8rem;margin-bottom:1.5rem}.testimonial-content blockquote{font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;padding:0 16px}.testimonial-content blockquote:before{font-size:4rem;left:-10px;top:-15px}.testimonial-author{flex-direction:column;gap:12px}.author-info strong{font-size:1rem;margin-bottom:.2rem}.author-info span{font-size:.9rem}}@media (max-width:480px){.tentang-kami-page{padding-bottom:70px}.container{padding:0 12px}.about-hero{padding:50px 0 40px}.about-hero h1{font-size:1.8rem;letter-spacing:.5px;margin-bottom:1.2rem}.about-hero p{font-size:.9rem;margin-bottom:.8rem;padding:0 4px}.founder-section,.mission-section,.stats-section,.team-section,.testimonial-section,.values-section{padding:50px 0}.founder-text h2,.mission-content h2,.team-section h2,.testimonial-content h2,.values-section h2{font-size:1.5rem;margin-bottom:1.2rem}.founder-text p,.mission-content p,.team-description,.values-description{font-size:.9rem;padding:0 4px}.team-grid{gap:16px;grid-template-columns:1fr;max-width:280px}.team-card{height:360px;max-width:100%;padding:12px}.team-image{height:260px}.team-name-vertical{font-size:.65rem;left:8px;top:12px}.team-role-badge{font-size:.65rem;padding:4px 10px;right:12px;top:12px}.values-grid{gap:20px;max-width:320px}.value-card{padding:20px 16px}.value-icon{font-size:2rem;margin-bottom:.8rem}.value-card h3{font-size:1rem;margin-bottom:.6rem}.value-card p{font-size:.8rem}.stats-grid{gap:20px;grid-template-columns:1fr;max-width:200px}.stat-item{padding:12px}.stat-number{font-size:2rem;margin-bottom:.2rem}.stat-label{font-size:.8rem}.founder-content{padding:0 4px}.founder-image{height:70px;width:70px}.founder-details h4{font-size:1rem}.founder-details p{font-size:.8rem}.testimonial-content blockquote{font-size:1rem;line-height:1.5;padding:0 12px}.testimonial-content blockquote:before{font-size:3rem;left:-5px;top:-10px}.testimonial-author{gap:10px}.author-info strong{font-size:.9rem}.author-info span{font-size:.8rem}}.smart-finder-page{background:linear-gradient(135deg,#f5f5f5,#fff);min-height:100vh;overflow:hidden;position:relative}.start-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.start-content{max-width:900px;text-align:center;width:100%}.start-logo{display:inline-block;margin-bottom:2rem}.start-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f05438,#ff6b47);-webkit-background-clip:text;color:#1f2937;font-size:3rem;font-weight:800;margin-bottom:1rem}.start-description{color:#6b7280;font-size:1.2rem;line-height:1.6;margin-bottom:3rem}.start-features{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:3rem}.feature-item{flex-direction:column;gap:.5rem}.feature-icon{display:block;font-size:2rem}.start-button{align-items:center;background:linear-gradient(135deg,#f05438,#ff6b47);border:none;border-radius:50px;box-shadow:0 4px 15px #f054384d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:10px;padding:16px 40px;transition:all .3s ease}.start-button:hover{box-shadow:0 6px 20px #f0543866;transform:translateY(-2px)}.explanation-steps{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:20px;margin:3rem 0;padding:2rem}.steps-title{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:2rem}.step-carousel{height:200px;overflow:hidden;position:relative}.step-item{left:0;opacity:0;padding:1rem;position:absolute;right:0;text-align:center;top:0;transform:translateY(20px);transition:all .5s ease}.step-item.active{opacity:1;transform:translateY(0)}.step-icon{display:block;font-size:3rem;margin-bottom:1rem}.step-title{color:#1f2937;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.step-description{color:#6b7280;font-size:1rem;line-height:1.6}.step-indicators{display:flex;gap:8px;justify-content:center;margin-top:1rem}.indicator{background:#e5e7eb;border-radius:50%;cursor:pointer;height:10px;transition:all .3s ease;width:10px}.indicator.active{background:#f05438;transform:scale(1.2)}.personality-showcase{margin:3rem 0}.personality-title{color:#1f2937;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.personality-subtitle{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:2rem}.personality-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.personality-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;overflow:hidden;padding:1.5rem;position:relative;text-align:center;transition:all .3s ease}.personality-card:before{background:var(--accent-color);content:"";height:4px;left:0;position:absolute;right:0;top:0}.personality-card:hover{border-color:var(--accent-color);box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.personality-icon-wrapper{align-items:center;background:var(--accent-color);border-radius:12px;display:flex;height:60px;justify-content:center;margin:0 auto 1rem;position:relative;width:60px}.personality-emoji{filter:grayscale(0);font-size:2rem;z-index:1}.personality-card .personality-type{color:#1f2937;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.personality-card .personality-desc{color:#6b7280;font-size:.9rem;line-height:1.5}.start-disclaimer{color:#6b7280;font-size:.9rem;font-style:italic;margin-top:1rem}.question-screen{display:flex;flex-direction:column;min-height:100vh;padding:20px}.question-header{justify-content:space-between;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:800px;width:100%}.back-button,.question-header{align-items:center;display:flex}.back-button{background:#fff;border:2px solid #e5e7eb;border-radius:50%;cursor:pointer;height:48px;justify-content:center;transition:all .3s ease;width:48px}.back-button:hover:not(:disabled){border-color:#f05438;color:#f05438}.back-button:disabled{cursor:not-allowed;opacity:.3}.progress-indicator{flex:1 1;margin:0 20px;max-width:300px}.progress-text{color:#6b7280;display:block;font-size:.9rem;margin-bottom:8px;text-align:center}.progress-bar{background:#e5e7eb;border-radius:50px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#f05438,#ff6b47);height:100%;transition:width .5s ease}.question-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:800px;width:100%}.question-text{color:#1f2937;font-size:2rem;font-weight:700;line-height:1.3;margin-bottom:3rem;text-align:center}.options-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));width:100%}.option-card{background:#fff;border:3px solid #e5e7eb;border-radius:20px;cursor:pointer;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .3s ease}.option-card:hover{border-color:#f05438;box-shadow:0 10px 30px #0000001a;transform:translateY(-5px)}.option-card.selected{background:linear-gradient(135deg,#fff5f3,#ffe8e3);border-color:#f05438}.option-icon{display:block;font-size:3rem;margin-bottom:1rem}.option-label{color:#1f2937;font-size:1.1rem;font-weight:600}.selected-indicator{background:#f05438;border-radius:50%;color:#fff;height:30px;position:absolute;right:10px;top:10px;width:30px}.analysis-screen,.selected-indicator{align-items:center;display:flex;justify-content:center}.analysis-screen{min-height:100vh;padding:20px}.analysis-content{max-width:600px;text-align:center;width:100%}.brain-icon{display:inline-block;margin-bottom:2rem}.analysis-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:1rem}.loading-dots{color:#f05438;font-size:3rem;margin:2rem 0}.loading-dot{display:inline-block;margin:0 .2rem}.analysis-subtitle{color:#6b7280;font-size:1rem}.personality-result-card{background:#fff;border:2px solid var(--personality-color);border-radius:20px;box-shadow:0 10px 30px #0000001a;margin:2rem 0;padding:2rem;text-align:left}.personality-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem}.personality-icon-large{align-items:center;background:var(--personality-color);border-radius:20px;color:#fff;display:flex;font-size:4rem;height:80px;justify-content:center;text-shadow:0 2px 4px #0003;width:80px}.personality-info{flex:1 1}.personality-type-name{color:var(--personality-color);font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.personality-description{color:#6b7280;font-size:1rem;margin:0}.personality-traits{margin-bottom:2rem}.traits-title{color:#1f2937;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.traits-list{grid-gap:.75rem;display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.trait-item{background:#f9fafb;border-left:4px solid var(--personality-color);border-radius:10px;color:#4b5563;font-size:.95rem;padding:.75rem 1rem;position:relative}.trait-item:before{align-items:center;background:var(--personality-color);border-radius:50%;color:#fff;content:"✓";display:flex;font-size:.8rem;font-weight:700;height:20px;justify-content:center;left:-12px;position:absolute;top:50%;transform:translateY(-50%);width:20px}.analysis-text{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.analysis-text p{color:#4b5563;font-size:.95rem;line-height:1.6;margin:0}.next-steps{background:#f9fafb;border:2px solid var(--personality-color);border-radius:16px;color:#1f2937;margin:2rem 0;padding:1.5rem;text-align:center}.next-title{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.next-description{color:#6b7280;line-height:1.5;margin:0}.personality-text{font-size:1.2rem;font-weight:500;line-height:1.8}.next-message{color:#6b7280;font-size:1rem;margin-top:2rem}.continue-button{align-items:center;background:linear-gradient(135deg,#f05438,#ff6b47);border:none;border-radius:50px;box-shadow:0 4px 15px #f054384d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:10px;margin-top:2rem;padding:16px 40px;transition:all .3s ease}.continue-button:hover{box-shadow:0 6px 20px #f0543866;transform:translateY(-2px)}.click-hint{color:#6b7280;cursor:pointer;font-size:.9rem;margin-top:1.5rem;opacity:.7}.recommendation-screen{display:flex;flex-direction:column;min-height:100vh;padding:20px;position:relative}.card-stack-container{align-items:center;display:flex;height:calc(100vh - 100px);justify-content:center;perspective:1000px;position:relative;width:100%}.stacked-card{backface-visibility:hidden;-webkit-backface-visibility:hidden;height:100%;max-width:500px;pointer-events:none;position:absolute;transform-style:preserve-3d;transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease-out;width:100%;will-change:transform,opacity}.stacked-card.active{pointer-events:auto}.swipe-indicator{transition:opacity .1s ease-out;will-change:opacity}.recommendation-card-active{transform:none!important}.recommendation-card{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);will-change:transform}.recommendation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:500px;width:100%}.counter{color:#6b7280;font-size:1rem;font-weight:600}.match-badge{background:#10b981;border-radius:50px;color:#fff;font-size:.9rem;font-weight:600;padding:6px 16px}.recommendation-card{background:#fff;border-radius:20px;box-shadow:0 20px 50px #00000026;cursor:grab;height:calc(100vh - 120px);margin:0 auto;max-height:700px;max-width:500px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.recommendation-card.bumble-style,.recommendation-card.bumble-style-full{border-radius:24px;box-shadow:0 25px 60px #0003;display:flex;flex-direction:column;max-height:750px}.recommendation-card.bumble-style-full{overflow:hidden;position:relative}.full-scroll-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.image-gallery-section{height:70vh;min-height:500px;position:relative}.main-image{background-position:50%;background-size:cover;height:100%;position:relative;width:100%}.image-placeholder{align-items:center;background:linear-gradient(135deg,#1f2937,#374151);color:#9ca3af;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;width:100%}.image-placeholder span{font-size:.9rem;letter-spacing:.02em}.image-nav-area{bottom:0;cursor:pointer;position:absolute;top:0;transition:background-color .2s ease;width:50%;z-index:5}.image-nav-area.left{left:0}.image-nav-area.right{right:0}.image-nav-area:hover{background:#0000000d}.image-nav-area:active{background:#0000001a}.image-indicators{display:flex;gap:6px;left:50%;position:absolute;top:20px;transform:translateX(-50%);z-index:6}.image-dot{background:#fff6;border-radius:50%;cursor:pointer;height:8px;transition:all .3s ease;width:8px}.image-dot.active{background:#ffffffe6;transform:scale(1.2)}.content-details-section{background:#fff;padding-top:0}.scroll-indicator-mini{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:center;padding:8px 0;position:-webkit-sticky;position:sticky;top:0;z-index:3}.scroll-bar-mini{background:#e0e0e0;border-radius:2px;height:4px;width:40px}.detailed-content-full{padding:0 20px 20px}.bottom-spacer-full{height:24px}.card-actions-bumble-fixed{align-items:center;background:#fff;border-top:1px solid #f0f0f0;display:flex;flex-shrink:0;gap:50px;justify-content:center;padding:12px 0 16px;z-index:10}.card-actions-bumble-fixed .action-btn-bumble{pointer-events:auto}.view-detail-block{text-align:center}.view-detail-btn{align-items:center;background:linear-gradient(135deg,#1f2937,#374151);border:none;border-radius:50px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.view-detail-btn:hover{box-shadow:0 6px 18px #1f29374d;transform:translateY(-2px)}.card-image-main{background-position:50%;background-size:cover;border-radius:24px 24px 0 0;height:75%;position:relative}.image-overlay{background:linear-gradient(0deg,#000c,#0006,#0000);height:150px;pointer-events:none}.cafe-info-overlay,.image-overlay{bottom:0;left:0;position:absolute;right:0}.cafe-info-overlay{color:#fff;padding:20px;z-index:2}.cafe-name-large{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:8px;text-shadow:0 2px 8px #0000004d}.cafe-location-main{align-items:center;display:flex;font-size:1rem;gap:6px;margin-bottom:12px;opacity:.9;text-shadow:0 1px 4px #0000004d}.quick-tags{display:flex;gap:8px;margin-bottom:8px}.quick-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff1a;border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 10px}.rating-display{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:4px}.rating-display .star{font-size:1rem}.rating-display .review-count{font-weight:400;opacity:.8}.card-details-section{background:#fff;border-radius:0 0 24px 24px;height:25%;overflow-y:auto;position:relative}.scroll-indicator{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:8px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.scroll-bar{background:#e0e0e0;border-radius:2px;height:4px;width:40px}.scroll-text{color:#888;font-size:.7rem;font-weight:500}.recommendation-card.scrolled .scroll-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.detailed-content{padding:0 20px 20px}.detail-block{margin-bottom:20px}.detail-block h4{color:#1f2937;font-size:1rem;font-weight:600;margin-bottom:8px}.detail-block p{color:#6b7280;font-size:.9rem;line-height:1.5;margin:0}.features-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.feature-item{align-items:center;color:#4b5563;display:flex;font-size:.85rem;gap:6px}.feature-item .feature-icon{font-size:1rem}.match-reasons-list{display:flex;flex-direction:column;gap:6px}.match-reason-item{align-items:flex-start;color:#4b5563;display:flex;font-size:.85rem;gap:8px;line-height:1.4}.check-icon{color:#10b981;font-weight:700;margin-top:2px}.opening-hours{display:flex;flex-direction:column;gap:8px}.hours-item{background:#f054380d;border-left:3px solid #f05438;border-radius:6px;color:#374151;font-size:14px;padding:8px 12px}.about-details{margin-top:12px}.about-detail{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:12px}.all-tags{display:flex;flex-wrap:wrap;gap:6px}.detail-tag{background:#f3f4f6;border-radius:8px;color:#6b7280;font-size:.75rem;font-weight:500;padding:4px 8px}.bottom-spacer{height:80px}.card-actions-bumble{bottom:20px;display:flex;gap:50px;left:50%;position:absolute;transform:translateX(-50%);z-index:10}.action-btn-bumble{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:50%;box-shadow:0 8px 20px #00000026;cursor:pointer;display:flex;height:56px;justify-content:center;transition:all .3s ease;width:56px}.action-btn-bumble.skip{background:#ef4444e6;color:#fff}.action-btn-bumble.skip:hover{background:#ef4444;box-shadow:0 12px 25px #ef44444d;transform:scale(1.1)}.action-btn-bumble.save{background:#10b981e6;color:#fff}.action-btn-bumble.save:hover{background:#10b981;box-shadow:0 12px 25px #10b9814d;transform:scale(1.1)}.recommendation-card:active{cursor:grabbing}.card-image{background-position:50%;background-size:cover;height:40%;position:relative}.card-gradient{background:linear-gradient(0deg,#000c,#0000);bottom:0;height:100px;left:0;position:absolute;right:0}.swipe-indicator{border-radius:50px;font-size:1.2rem;font-weight:700;opacity:0;padding:10px 20px;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.swipe-indicator.left{background:#ef4444;color:#fff;left:20px}.swipe-indicator.right{background:#10b981;color:#fff;right:20px}.recommendation-card.swiping-left .swipe-indicator.left,.recommendation-card.swiping-right .swipe-indicator.right{opacity:1}.card-content{height:60%;overflow-y:auto;padding:20px;position:relative}.cafe-name{color:#1f2937;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.cafe-location{color:#6b7280;font-size:1rem;margin-bottom:1rem}.cafe-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.5rem}.tag{background:#f3f4f6;border-radius:50px;color:#4b5563;font-size:.85rem;font-weight:500;padding:6px 14px}.cafe-features{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.feature{align-items:center;display:flex;gap:8px}.feature-icon{font-size:1.2rem}.feature-text{color:#4b5563;font-size:.9rem}.cafe-description{color:#6b7280;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.match-reasons{background:#f3f4f6;border-radius:12px;margin-bottom:60px;padding:15px}.match-reasons h4{color:#1f2937;font-size:.9rem;font-weight:600;margin-bottom:10px}.match-reasons ul{list-style:none;margin:0;padding:0}.match-reasons li{color:#4b5563;font-size:.85rem;margin-bottom:6px;padding-left:20px;position:relative}.match-reasons li:before{color:#10b981;content:"✓";font-weight:700;left:0;position:absolute}.card-actions{background:#fff;border-radius:50px;bottom:20px;box-shadow:0 10px 30px #0000001a;display:flex;gap:40px;left:50%;padding:10px 20px;position:absolute;transform:translateX(-50%)}.action-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:60px;justify-content:center;transition:all .3s ease;width:60px}.action-btn.skip{background:#f3f4f6;color:#6b7280}.action-btn.skip:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.action-btn.details{background:#f3f4f6;color:#6b7280}.action-btn.details:hover{background:#3b82f6;color:#fff;transform:scale(1.1)}.action-btn.save{background:#f3f4f6;color:#6b7280}.action-btn.save:hover{background:#10b981;color:#fff;transform:scale(1.1)}.end-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.end-content{max-width:400px;text-align:center;width:100%}.end-content h2{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.end-content p{color:#6b7280;font-size:1.2rem;margin-bottom:2rem}.session-favorites{margin-bottom:1.5rem}.session-favorites-title{color:#374151;font-size:1rem;font-weight:600;margin-bottom:.75rem}.session-favorites-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.session-cafe-chip{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:50px;cursor:pointer;display:flex;gap:8px;max-width:100%;padding:6px 14px 6px 6px;transition:border-color .2s ease,box-shadow .2s ease}.session-cafe-chip:hover{border-color:#f05438;box-shadow:0 4px 12px #f0543826}.session-cafe-chip img{object-fit:cover}.session-cafe-chip img,.session-cafe-initial{border-radius:50%;flex-shrink:0;height:36px;width:36px}.session-cafe-initial{align-items:center;background:#f3f4f6;color:#6b7280;display:flex;font-weight:600;justify-content:center}.session-cafe-name{color:#1f2937;font-size:.85rem;font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-favorites-more{color:#9ca3af;font-size:.85rem;margin-bottom:0;margin-top:.5rem}.restart-btn,.view-favorites-btn{border:none;border-radius:50px;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding:16px 32px;transition:all .3s ease;width:100%}.view-favorites-btn{background:linear-gradient(135deg,#f05438,#ff6b47);box-shadow:0 4px 15px #f054384d;color:#fff}.view-favorites-btn:hover{box-shadow:0 6px 20px #f0543866;transform:translateY(-2px)}.restart-btn{background:#fff;border:2px solid #e5e7eb;color:#6b7280}.restart-btn:hover{border-color:#f05438;color:#f05438}@media (max-width:768px){.smart-finder-page{min-height:calc(100vh - 60px);padding-bottom:80px}.start-screen{min-height:calc(100vh - 60px);padding:16px}.start-content{max-width:100%;padding:0 4px}.start-title{font-size:2.2rem;line-height:1.2;margin-bottom:1rem}.start-description{font-size:1rem;line-height:1.5;margin-bottom:2rem;padding:0 8px}.start-features{gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.feature-item{gap:.3rem}.feature-icon{font-size:1.5rem}.feature-text{text-align:center}.start-button{font-size:1rem;justify-content:center;max-width:280px;padding:14px 32px;width:100%}.explanation-steps{border-radius:16px;margin:2rem 0;padding:1.5rem}.steps-title{font-size:1.3rem;margin-bottom:1.5rem}.step-carousel{height:160px}.step-item{padding:.5rem}.step-icon{font-size:2.5rem;margin-bottom:.8rem}.step-title{font-size:1.1rem;margin-bottom:.3rem}.step-description{font-size:.9rem}.personality-showcase{margin:2rem 0}.personality-title{font-size:1.5rem;margin-bottom:.5rem}.personality-subtitle{font-size:.9rem;margin-bottom:1.5rem;padding:0 8px}.personality-grid{gap:1rem;grid-template-columns:1fr;margin-bottom:1.5rem}.personality-card{border-radius:12px;padding:1.2rem}.personality-icon-wrapper{height:50px;margin-bottom:.8rem;width:50px}.personality-emoji{font-size:1.5rem}.personality-type{font-size:1rem;margin-bottom:.3rem}.personality-desc{font-size:.8rem}.start-disclaimer{font-size:.8rem;margin-top:.8rem}.question-screen{min-height:calc(100vh - 60px);padding:16px}.question-header{margin-bottom:2rem;padding:0 4px}.back-button{height:40px;width:40px}.progress-indicator{margin:0 12px;max-width:200px}.progress-text{font-size:.8rem;margin-bottom:6px}.progress-bar{height:6px}.question-content{padding:0 4px}.question-text{font-size:1.4rem;line-height:1.3;margin-bottom:2rem;padding:0 8px}.options-grid{gap:1rem;grid-template-columns:1fr}.option-card{border-radius:16px;border-width:2px;padding:1.5rem 1rem}.option-icon{font-size:2.5rem;margin-bottom:.8rem}.option-label{font-size:1rem}.selected-indicator{height:24px;right:8px;top:8px;width:24px}.analysis-screen{min-height:calc(100vh - 60px);padding:16px}.analysis-content{max-width:100%;padding:0 4px}.brain-icon{margin-bottom:1.5rem}.analysis-title{font-size:1.6rem;margin-bottom:.8rem}.loading-dots{font-size:2.5rem;margin:1.5rem 0}.analysis-subtitle{font-size:.9rem}.personality-result-card{border-radius:16px;margin:1.5rem 0;padding:1.5rem}.personality-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.personality-icon-large{border-radius:16px;font-size:2.5rem;height:60px;margin:0 auto;width:60px}.personality-type-name{font-size:1.5rem;margin-bottom:.3rem}.personality-description{font-size:.9rem}.personality-traits{margin-bottom:1.5rem}.traits-title{font-size:1rem;margin-bottom:.8rem}.traits-list{gap:.5rem}.trait-item{border-radius:8px;font-size:.85rem;padding:.6rem .8rem}.analysis-text{border-radius:10px;padding:1.2rem}.analysis-text p{font-size:.85rem}.next-steps{border-radius:12px;margin:1.5rem 0;padding:1.2rem}.next-title{font-size:1.1rem;margin-bottom:.3rem}.next-description{font-size:.9rem}.personality-text{font-size:1rem;line-height:1.6}.next-message{font-size:.9rem;margin-top:1.5rem}.continue-button{font-size:1rem;margin-top:1.5rem;max-width:280px;padding:14px 32px;width:100%}.click-hint{font-size:.8rem;margin-top:1rem}.recommendation-screen{min-height:calc(100vh - 60px);padding:12px}.recommendation-header{margin-bottom:16px;padding:0 4px}.counter{font-size:.9rem}.match-badge{font-size:.8rem;padding:4px 12px}.recommendation-card{border-radius:16px;height:calc(100vh - 140px);max-height:600px}.recommendation-card.bumble-style{border-radius:20px;max-height:650px}.recommendation-card.bumble-style-full{border-radius:20px;max-height:calc(100vh - 140px)}.image-gallery-section{height:60vh;min-height:400px}.image-indicators{gap:4px;top:16px}.image-dot{height:6px;width:6px}.content-details-section{min-height:40vh}.scroll-indicator-mini{padding:6px 0}.detailed-content-full{padding:0 16px 16px}.bottom-spacer-full{height:16px}.card-actions-bumble-fixed{gap:40px;padding:10px 0 14px}.card-image-main{border-radius:20px 20px 0 0}.cafe-info-overlay{padding:16px}.cafe-name-large{font-size:1.6rem;margin-bottom:6px}.cafe-location-main{font-size:.9rem;margin-bottom:10px}.quick-tags{gap:6px;margin-bottom:6px}.quick-tag{font-size:.75rem;padding:3px 8px}.rating-display{font-size:.85rem}.card-details-section{border-radius:0 0 20px 20px}.scroll-indicator{padding:6px 16px}.scroll-text{font-size:.65rem}.detailed-content{padding:0 16px 16px}.detail-block{margin-bottom:16px}.detail-block h4{font-size:.95rem;margin-bottom:6px}.detail-block p{font-size:.85rem}.features-grid{gap:6px;grid-template-columns:1fr}.feature-item{font-size:.8rem;gap:5px}.match-reason-item{font-size:.8rem;gap:6px}.detail-tag{font-size:.7rem;padding:3px 6px}.bottom-spacer{height:70px}.card-actions-bumble{bottom:16px;gap:40px}.action-btn-bumble{height:50px;width:50px}.card-image{height:35%}.card-gradient{height:80px}.swipe-indicator{font-size:1rem;padding:8px 16px}.swipe-indicator.left{left:16px}.swipe-indicator.right{right:16px}.card-content{height:65%;padding:16px}.cafe-name{font-size:1.5rem;line-height:1.2;margin-bottom:.3rem}.cafe-location{font-size:.9rem;margin-bottom:.8rem}.cafe-tags{gap:6px;margin-bottom:1rem}.tag{font-size:.75rem;padding:4px 10px}.cafe-features{gap:8px;grid-template-columns:1fr;margin-bottom:1rem}.feature{gap:6px}.feature-icon{font-size:1rem}.feature-text{font-size:.8rem}.cafe-description{font-size:.9rem;line-height:1.5;margin-bottom:1rem}.match-reasons{border-radius:10px;margin-bottom:80px;padding:12px}.match-reasons h4{font-size:.8rem;margin-bottom:8px}.match-reasons li{font-size:.75rem;margin-bottom:4px;padding-left:16px}.card-actions{bottom:16px;gap:30px;padding:8px 16px}.action-btn{height:50px;width:50px}.heart-animation{font-size:4rem}.end-screen{min-height:calc(100vh - 60px);padding:16px}.end-content{max-width:100%;padding:0 4px}.end-content h2{font-size:2rem;margin-bottom:.8rem}.end-content p{font-size:1rem;margin-bottom:1.5rem;padding:0 8px}.restart-btn,.view-favorites-btn{font-size:1rem;margin-bottom:.8rem;padding:14px 28px}}@media (max-width:480px){.smart-finder-page{padding-bottom:70px}.start-screen{padding:12px}.start-title{font-size:1.8rem;margin-bottom:.8rem}.start-description{font-size:.9rem;margin-bottom:1.5rem;padding:0 4px}.start-features{gap:.8rem;grid-template-columns:1fr;margin-bottom:1.5rem}.feature-item{flex-direction:row;gap:.5rem;justify-content:center}.feature-icon{font-size:1.2rem}.start-button{font-size:.9rem;max-width:260px;padding:12px 28px}.explanation-steps{margin:1.5rem 0;padding:1rem}.steps-title{font-size:1.1rem}.step-carousel{height:140px}.step-icon{font-size:2rem;margin-bottom:.6rem}.step-title{font-size:1rem}.step-description{font-size:.8rem}.personality-title{font-size:1.3rem}.personality-subtitle{font-size:.8rem;margin-bottom:1rem}.personality-card{padding:1rem}.personality-icon-wrapper{height:40px;margin-bottom:.6rem;width:40px}.personality-emoji{font-size:1.2rem}.personality-type{font-size:.9rem}.personality-desc{font-size:.75rem}.question-screen{padding:12px}.question-header{margin-bottom:1.5rem;padding:0}.back-button{height:36px;width:36px}.progress-indicator{margin:0 8px;max-width:160px}.question-text{font-size:1.2rem;margin-bottom:1.5rem;padding:0 4px}.options-grid{gap:.8rem}.option-card{padding:1.2rem .8rem}.option-icon{font-size:2rem;margin-bottom:.6rem}.option-label{font-size:.9rem}.analysis-screen{padding:12px}.analysis-title{font-size:1.4rem}.loading-dots{font-size:2rem;margin:1rem 0}.personality-result-card{margin:1rem 0;padding:1.2rem}.personality-icon-large{font-size:2rem;height:50px;width:50px}.personality-type-name{font-size:1.3rem}.recommendation-screen{padding:8px}.recommendation-card{height:calc(100vh - 120px);max-height:550px}.card-content{padding:12px}.cafe-name{font-size:1.3rem}.cafe-location{font-size:.8rem}.tag{font-size:.7rem;padding:3px 8px}.feature-text{font-size:.75rem}.cafe-description{font-size:.8rem}.match-reasons{margin-bottom:70px;padding:10px}.match-reasons h4{font-size:.75rem}.match-reasons li{font-size:.7rem}.card-actions{bottom:12px;gap:20px;padding:6px 12px}.action-btn{height:44px;width:44px}.end-content h2{font-size:1.8rem}.end-content p{font-size:.9rem;padding:0 4px}.restart-btn,.view-favorites-btn{font-size:.9rem;padding:12px 24px}}.category-recommendations-page{background:linear-gradient(135deg,#f8fafc,#fff);min-height:100vh}.hero-section{background:linear-gradient(135deg,#f05438,#ff6b6b);color:#fff;overflow:hidden;padding:100px 0 80px;position:relative}.hero-section:before{animation:float 8s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);height:500px;right:-20%;top:-50%;width:500px}.hero-section:after,.hero-section:before{border-radius:50%;content:"";position:absolute}.hero-section:after{animation:float 6s ease-in-out infinite reverse;background:radial-gradient(circle,#ffffff0d 0,#0000 70%);bottom:-30%;height:300px;left:-10%;width:300px}.hero-container{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:0 20px;position:relative;z-index:1}.hero-content{text-align:left}.hero-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:30px;display:inline-flex;gap:8px;margin-bottom:32px;padding:10px 20px}.badge-icon{font-size:16px}.badge-text{font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.hero-title{font-size:48px;font-weight:800;line-height:1.2;margin-bottom:24px}.title-highlight{color:#ffeb3b;text-shadow:0 2px 8px #ffeb3b4d}.hero-description{font-size:18px;line-height:1.6;max-width:480px;opacity:.9}.hero-visual{align-items:center;display:flex;height:400px;justify-content:center;position:relative}.floating-icons{height:300px;position:relative;width:300px}.float-icon{align-items:center;animation:floatIcon 4s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;display:flex;font-size:40px;height:80px;justify-content:center;position:absolute;width:80px}.icon-1{animation-delay:0s;left:50%;top:0;transform:translateX(-50%)}.icon-2{animation-delay:.8s;right:0;top:20%}.icon-3{animation-delay:1.6s;bottom:20%;right:0}.icon-4{animation-delay:2.4s;bottom:0;left:50%;transform:translateX(-50%)}.icon-5{animation-delay:3.2s;left:0;top:20%}@keyframes floatIcon{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}.categories-section{background:#fff;padding:80px 0}.container{margin:0 auto;max-width:1200px;padding:0 20px}.section-title{color:#1f2937;font-size:36px;font-weight:700;margin-bottom:60px;text-align:center}.categories-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:40px}.category-card{border:2px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;justify-content:center;min-height:100px;overflow:hidden;padding:12px 6px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.category-card:before{background:linear-gradient(135deg,var(--category-color),#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.category-card:hover{border-color:var(--category-color);box-shadow:0 20px 40px #0000001a;transform:translateY(-8px)}.category-card:hover:before{opacity:.05}.category-card.active{background:linear-gradient(135deg,rgba(var(--category-color),.05),#0000);border-color:var(--category-color);box-shadow:0 12px 30px #0000001a;transform:translateY(-4px)}.category-card.active:before{opacity:.1}.category-icon{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:20px;margin-bottom:6px;position:relative;z-index:1}.category-label{color:#1f2937;font-size:11px;font-weight:700;line-height:1.1;margin-bottom:3px;position:relative;z-index:1}.category-description{color:#6b7280;font-size:9px;line-height:1.2;margin:0;position:relative;z-index:1}.category-overlay{background:var(--category-color);inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s}.results-section{background:#fafbfc;padding:80px 0}.results-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:60px}.results-info{flex:1 1}.results-title{align-items:center;color:#1f2937;display:flex;font-size:32px;font-weight:700;gap:16px;margin-bottom:8px}.category-icon-large{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:40px}.results-count{color:#6b7280;font-size:16px;margin:0}.results-count strong{color:#f05438;font-weight:700}.results-actions{display:flex;gap:12px}.filter-btn,.sort-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.filter-btn:hover,.sort-btn:hover{border-color:#f05438;box-shadow:0 4px 12px #0000000f;color:#f05438;transform:translateY(-2px)}.category-recommendations-page .cafes-masonry{grid-gap:20px;display:grid;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;grid-template-columns:repeat(4,1fr);margin:0 auto 60px;max-width:1200px;padding:0 20px}.category-recommendations-page .cafe-pin{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;cursor:pointer;margin-bottom:0;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.category-recommendations-page .cafe-pin:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-8px)}.category-recommendations-page .pin-image{overflow:hidden;position:relative}.category-recommendations-page .pin-image img{display:block;height:auto;transition:transform .3s ease;width:100%}.category-recommendations-page .cafe-pin:hover .pin-image img{transform:scale(1.05)}.category-recommendations-page .pin-overlay{align-items:flex-start;display:flex;justify-content:space-between;left:12px;position:absolute;right:12px;top:12px}.category-recommendations-page .pin-rating{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 10px}.category-recommendations-page .pin-category{align-items:center;border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.category-recommendations-page .pin-content{padding:16px}.category-recommendations-page .pin-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a202c;display:-webkit-box;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:6px;overflow:hidden}.category-recommendations-page .pin-location{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#718096;display:-webkit-box;font-size:12px;margin-bottom:8px;overflow:hidden}.category-recommendations-page .pin-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.category-recommendations-page .pin-tag{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;color:#4a5568;font-size:10px;font-weight:500;padding:4px 8px}.category-recommendations-page .pin-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#4a5568;display:-webkit-box;font-size:13px;line-height:1.4;margin-bottom:10px;overflow:hidden}.category-recommendations-page .pin-highlight{background:linear-gradient(135deg,#fff5eb,#fef5e7);border-left:3px solid #ed8936;border-radius:8px;color:#c05621;font-size:11px;font-style:italic;font-weight:500;margin-bottom:12px;padding:8px 12px}.category-recommendations-page .pin-actions{display:flex;gap:8px}.category-recommendations-page .pin-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 12px;text-align:center;text-decoration:none;transition:all .2s ease}.category-recommendations-page .pin-btn.visit{background:#f05438;color:#fff}.category-recommendations-page .pin-btn.visit:hover{background:#e04427;transform:translateY(-1px)}.category-recommendations-page .pin-btn.save{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.category-recommendations-page .pin-btn.save:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-1px)}.category-recommendations-page .cafe-main-info{margin-bottom:16px}.category-recommendations-page .cafe-title{color:#1a202c;font-size:24px;font-weight:800;line-height:1.2;margin-bottom:8px}.category-recommendations-page .cafe-meta{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.category-recommendations-page .cafe-location{align-items:center;color:#718096;display:flex;font-size:14px;gap:4px}.category-recommendations-page .cafe-rating{background:#f054381a;border-radius:20px;font-size:14px;gap:4px;padding:4px 10px}.category-recommendations-page .cafe-description-text{color:#4a5568;font-size:16px;font-weight:400;line-height:1.6;margin-bottom:20px}.category-recommendations-page .cafe-features{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.category-recommendations-page .feature-item{align-items:center;background:#71809614;border-radius:12px;display:flex;gap:8px;padding:8px 14px;transition:all .3s ease}.category-recommendations-page .feature-item:hover{background:#f054381a;transform:translateY(-2px)}.category-recommendations-page .feature-item.specialty{background:linear-gradient(135deg,#feca5726,#ffb74d1a);border-left:3px solid #feca57}.category-recommendations-page .feature-icon{font-size:16px}.category-recommendations-page .feature-text{color:#4a5568;font-size:13px;font-weight:500}.category-recommendations-page .cafe-actions-row{align-items:center;display:flex;gap:16px;margin-top:auto}.category-recommendations-page .action-link{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.category-recommendations-page .action-link.primary{background:linear-gradient(135deg,#f05438,#e04427);box-shadow:0 4px 15px #f054384d;color:#fff}.category-recommendations-page .action-link.primary:hover{box-shadow:0 8px 25px #f0543866;transform:translateY(-2px)}.category-recommendations-page .action-link.secondary{background:#f054381a;border:2px solid #f0543833;color:#f05438}.category-recommendations-page .action-link.secondary:hover{background:#f0543826;border-color:#f05438;transform:translateY(-2px)}.category-recommendations-page .cafe-image{background:#f5f5f5;border-radius:16px 16px 0 0;flex-shrink:0;height:160px;overflow:hidden;position:relative}.category-recommendations-page .cafe-image:before{background:linear-gradient(180deg,#0000 60%,#0000001a);content:"";inset:0;position:absolute;z-index:2}.cafe-image img{filter:brightness(1.1) contrast(1.15) saturate(1.1);height:100%;object-fit:cover;transition:all .8s cubic-bezier(.23,1,.32,1);width:100%}.cafe-card:hover .cafe-image:before{opacity:1}.cafe-card:hover .cafe-image img{filter:brightness(1.2) contrast(1.2) saturate(1.3);transform:scale(1.15) rotate(2deg)}.category-recommendations-page .cafe-rating{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #0000001a;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#f05438;display:flex;font-size:11px;font-weight:600;gap:3px;left:10px;padding:4px 8px;position:absolute;top:10px;z-index:3}.category-recommendations-page .cafe-card:hover .cafe-rating{transform:translateY(-1px)}.category-recommendations-page .star{font-size:12px}.category-recommendations-page .cafe-category-tag{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #0000001a;border-radius:50%;box-shadow:0 2px 4px #0000001a;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:10px;top:10px;width:32px;z-index:3}.category-recommendations-page .cafe-card:hover .cafe-category-tag{transform:scale(1.05)}.category-recommendations-page .cafe-content{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:14px;position:relative}.category-recommendations-page .cafe-header{border-bottom:1px solid #f0f0f0;margin-bottom:8px;padding-bottom:10px}.category-recommendations-page .cafe-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a1a1a;display:-webkit-box;font-size:14px;font-weight:600;line-height:1.3;margin-bottom:4px;overflow:hidden}.category-recommendations-page .cafe-address{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:11px;line-height:1.3;opacity:.8;overflow:hidden}.category-recommendations-page .cafe-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.category-recommendations-page .cafe-hours{background:#0596691a;color:#059669;display:inline-block;font-weight:500}.category-recommendations-page .cafe-hours,.category-recommendations-page .cafe-price{border-radius:4px;font-size:10px;padding:4px 8px;width:-webkit-fit-content;width:fit-content}.category-recommendations-page .cafe-price{background:#f054381a;color:#f05438;font-weight:600}.category-recommendations-page .cafe-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4a5568;display:-webkit-box;font-size:11px;line-height:1.4;margin:2px 0;overflow:hidden}.category-recommendations-page .cafe-specialty{background:#fffbeb;border-left:2px solid #feca57;border-radius:4px;color:#6b7280;font-size:10px;font-style:italic;line-height:1.3;padding:6px 10px}.category-recommendations-page .cafe-footer{flex-shrink:0;margin-top:auto}.category-recommendations-page .cafe-highlights{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;padding:0 14px}.category-recommendations-page .highlight-tag{background:#f0543814;border:1px solid #f0543826;border-radius:4px;color:#f05438;font-size:9px;font-weight:500;padding:3px 6px}.category-recommendations-page .cafe-actions{align-items:center;background:#fafafa;border-radius:0 0 16px 16px;border-top:1px solid #0000000f;display:flex;gap:8px;justify-content:space-between;margin:0 -1px -1px;padding:10px 14px}.category-recommendations-page .action-btn.primary{align-items:center;background:#f05438;border:none;border-radius:6px;box-shadow:0 2px 4px #f0543833;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.category-recommendations-page .action-btn.primary:hover{background:#e04427;box-shadow:0 3px 8px #f054384d;transform:translateY(-1px)}.category-recommendations-page .action-btn.secondary{align-items:center;background:#fff;border:1px solid #0000001a;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.category-recommendations-page .action-btn.secondary:hover{background:#fff5f3;border-color:#f0543833;box-shadow:0 2px 6px #f0543826;transform:translateY(-1px)}.category-recommendations-page .action-btn.secondary span{color:#6b7280;font-size:14px;line-height:1}.category-recommendations-page .action-btn.secondary:hover span{color:#f05438}.loading-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:60px}.loading-card{background:#fff;border-radius:20px;box-shadow:0 8px 25px #00000014;overflow:hidden}.loading-image{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:200% 100%;height:200px}.loading-content{padding:24px}.loading-title{height:24px;margin-bottom:12px}.loading-text,.loading-title{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:200% 100%;border-radius:4px}.loading-text{height:16px;margin-bottom:8px}.loading-text.short{width:60%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.page-btn{background:#fff;border:2px solid #e5e7eb;border-radius:50px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .3s ease}.page-btn:hover:not(:disabled){border-color:#f05438;color:#f05438;transform:translateY(-2px)}.page-btn:disabled{cursor:not-allowed;opacity:.5}.page-numbers{display:flex;gap:8px}.page-number{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:44px;justify-content:center;transition:all .3s ease;width:44px}.page-number:hover{border-color:#f05438;color:#f05438}.page-number.active{background:#f05438;border-color:#f05438;color:#fff}@media (max-width:1200px){.category-recommendations-page .cafes-masonry{grid-gap:16px;grid-template-columns:repeat(3,1fr);padding:0 16px}}@media (max-width:1024px){.hero-container{gap:40px;grid-template-columns:1fr;text-align:center}.hero-visual{height:300px;order:-1}.floating-icons{height:250px;width:250px}.float-icon{font-size:30px;height:60px;width:60px}.categories-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (max-width:768px){.hero-section{padding:80px 0 60px}.hero-title{font-size:36px}.hero-description{font-size:16px}.categories-section{padding:60px 0}.section-title{font-size:28px}.categories-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.category-card{padding:14px 10px}.category-icon{font-size:28px;margin-bottom:8px}.category-label{font-size:14px;margin-bottom:6px}.category-description{font-size:12px}.results-section{padding:60px 0}.results-header{align-items:flex-start;flex-direction:column;gap:20px}.results-title{font-size:24px}.results-actions{align-self:stretch}.filter-btn,.sort-btn{flex:1 1;justify-content:center}.category-recommendations-page .cafes-masonry{grid-gap:12px;grid-template-columns:repeat(2,1fr)}.category-recommendations-page .cafe-card{min-height:440px}.category-recommendations-page .cafe-image{height:180px}.category-recommendations-page .cafe-content{gap:10px;padding:14px}.category-recommendations-page .cafe-name{font-size:14px}.category-recommendations-page .cafe-highlights{padding:0 14px}.category-recommendations-page .cafe-actions{padding:10px 14px}.page-numbers{margin-bottom:16px;order:-1}}@media (max-width:480px){.hero-title{font-size:28px}.hero-visual{height:200px}.floating-icons{height:180px;width:180px}.float-icon{font-size:24px;height:50px;width:50px}.category-recommendations-page .cafes-masonry{grid-gap:12px;grid-template-columns:1fr}.category-recommendations-page .pin-content{padding:12px}.category-recommendations-page .cafe-card{min-height:420px}.category-recommendations-page .cafe-image{height:160px}.cafe-content{gap:12px;padding:18px}.cafe-name{font-size:17px}.cafe-description{font-size:14px}.cafe-highlights{margin-bottom:16px;padding:0 18px}.cafe-actions{padding:16px 18px}.category-recommendations-page .action-btn.primary{font-size:10px;padding:6px 10px}.category-recommendations-page .action-btn.secondary{height:26px;width:26px}.category-recommendations-page .action-btn.secondary span{font-size:12px}}.need-based-recommendations{background:#f8f9fa;min-height:100vh;padding:80px 0 50px}.recommendations-header{background:linear-gradient(135deg,#f05438,#e14a30);color:#fff;margin-bottom:50px;padding:50px 20px;text-align:center}.recommendations-header h1{font-size:3rem;font-weight:700;margin-bottom:15px}.recommendations-header p{font-size:1.2rem;margin:0 auto;max-width:600px;opacity:.9}.category-selector{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 auto 50px;max-width:1200px;padding:0 20px}.category-card{background:#fff;border:2px solid #0000;border-radius:15px;box-shadow:0 2px 10px #0000000d;cursor:pointer;padding:25px 15px;text-align:center;transition:all .3s ease}.category-card:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-5px)}.category-card.active{background:linear-gradient(135deg,#f05438,#e14a30);border-color:#f05438;color:#fff}.category-icon{font-size:2.5rem;margin-bottom:10px}.category-name{font-size:.95rem;font-weight:600}.selected-category-section{margin:0 auto;max-width:1200px;padding:0 20px}.section-header{margin-bottom:40px;text-align:center}.section-header h2{align-items:center;color:#2a3541;display:flex;font-size:2.5rem;gap:15px;justify-content:center;margin-bottom:10px}.section-icon{font-size:2.5rem}.section-header p{color:#6c757d;font-size:1.1rem}.cafes-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:50px}.cafe-recommendation-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 5px 20px #00000014;overflow:hidden;position:relative;transition:all .3s ease}.cafe-recommendation-card:hover{border-color:#f05438;box-shadow:0 15px 40px #f0543826;transform:translateY(-8px)}.cafe-header-design{background:linear-gradient(135deg,#f05438,#e14a30);height:120px;overflow:hidden;position:relative}.cafe-header-design:before{background:#ffffff1a;border-radius:50%;content:"";height:200px;position:absolute;right:-10%;top:-50%;width:200px}.cafe-header-design:after{background:#ffffff14;border-radius:50%;bottom:-30%;content:"";height:150px;left:-5%;position:absolute;width:150px}.cafe-category-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;display:flex;font-size:1.5rem;height:50px;justify-content:center;position:absolute;right:20px;top:20px;width:50px}.cafe-price-badge{background:#fff;border:2px solid #f05438;border-radius:30px;bottom:-20px;box-shadow:0 5px 15px #f0543833;color:#f05438;font-size:1rem;font-weight:700;left:25px;padding:10px 20px;position:absolute}.cafe-content{padding:35px 25px 25px}.cafe-content h3{color:#2a3541;font-size:1.5rem;margin-bottom:15px}.cafe-address,.cafe-hours{color:#6c757d;font-size:.95rem;margin-bottom:8px}.cafe-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.highlight-tag{background:#f0f4f8;border-radius:20px;color:#2a3541;font-size:.85rem;font-weight:500;padding:6px 14px}.curated-note{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000000d;margin:50px auto;max-width:800px;padding:30px 20px;text-align:center}.curated-note p{color:#6c757d;font-size:1rem;line-height:1.6}@media (max-width:768px){.recommendations-header h1{font-size:2rem}.category-selector{gap:10px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.category-card{padding:15px 10px}.category-icon{font-size:2rem}.category-name{font-size:.8rem}.cafes-grid{gap:20px;grid-template-columns:1fr}.section-header h2{font-size:2rem}}.regional-exploration{background:#f8f9fa;min-height:100vh;padding:80px 0 50px}.exploration-header{background:linear-gradient(135deg,#f05438,#e14a30);color:#fff;margin-bottom:50px;padding:50px 20px;text-align:center}.exploration-header h1{font-size:3rem;font-weight:700;margin-bottom:15px}.exploration-header p{font-size:1.2rem;margin:0 auto;max-width:600px;opacity:.9}.region-selector{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 auto 50px;max-width:1000px;padding:0 20px}.region-card{background:#fff;border:2px solid #0000;border-radius:15px;box-shadow:0 2px 10px #0000000d;cursor:pointer;padding:25px 15px;text-align:center;transition:all .3s ease}.region-card:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-5px)}.region-card.active{background:linear-gradient(135deg,#f05438,#e14a30);border-color:#f05438;color:#fff}.region-icon{font-size:2.5rem;margin-bottom:10px}.region-name{font-size:1rem;font-weight:600}.selected-region-section{margin:0 auto;max-width:1200px;padding:0 20px}.region-header{margin-bottom:40px;text-align:center}.region-header h2{align-items:center;color:#2a3541;display:flex;font-size:2.5rem;gap:15px;justify-content:center;margin-bottom:10px}.region-header p{color:#6c757d;font-size:1.1rem}.regional-cafes-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:50px}.regional-cafe-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 5px 20px #00000014;overflow:hidden;position:relative;transition:all .3s ease}.regional-cafe-card:hover{border-color:#f05438;box-shadow:0 15px 40px #f0543826;transform:translateY(-8px)}.regional-cafe-header{background:linear-gradient(135deg,#f05438,#e14a30);height:120px;overflow:hidden;position:relative}.regional-cafe-header:before{background:#ffffff1a;border-radius:50%;content:"";height:200px;position:absolute;right:-10%;top:-50%;width:200px}.regional-cafe-header:after{background:#ffffff14;border-radius:50%;bottom:-30%;content:"";height:150px;left:-5%;position:absolute;width:150px}.regional-cafe-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;display:flex;font-size:1.5rem;height:50px;justify-content:center;position:absolute;right:20px;top:20px;width:50px}.regional-cafe-price{background:#fff;border:2px solid #f05438;border-radius:30px;bottom:-20px;box-shadow:0 5px 15px #f0543833;color:#f05438;font-size:1rem;font-weight:700;left:25px;padding:10px 20px;position:absolute}.regional-cafe-content{padding:35px 25px 25px}.regional-cafe-content h3{color:#2a3541;font-size:1.5rem;margin-bottom:15px}.regional-cafe-address,.regional-cafe-hours,.regional-cafe-specialty{color:#6c757d;font-size:.95rem;margin-bottom:8px}.regional-cafe-highlights{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.regional-highlight-tag{background:#f0f4f8;border-radius:20px;color:#2a3541;font-size:.85rem;font-weight:500;padding:6px 14px}.view-location-btn{background:linear-gradient(135deg,#f05438,#e14a30);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:15px;padding:12px 24px;transition:all .3s ease;width:100%}.view-location-btn:hover{box-shadow:0 8px 25px #f054384d;transform:translateY(-2px)}.map-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.map-modal-content{background:#fff;border-radius:20px;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.map-modal-header{align-items:center;background:linear-gradient(135deg,#f05438,#e14a30);color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.map-modal-header h3{font-size:1.5rem;margin:0}.close-map-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.close-map-btn:hover{background:#ffffff4d}.map-container{flex:1 1;min-height:400px}.map-container iframe{height:400px;width:100%}.map-modal-info{background:#f8f9fa;padding:20px 25px}.map-modal-info p{color:#6c757d;margin:8px 0}.map-modal-info strong{color:#2a3541}.regional-curated-note{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000000d;margin:50px auto;max-width:800px;padding:30px 20px;text-align:center}.regional-curated-note p{color:#6c757d;font-size:1rem;line-height:1.6}@media (max-width:768px){.exploration-header h1{font-size:2rem}.region-selector{gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.region-card{padding:15px 10px}.region-icon{font-size:2rem}.region-name{font-size:.9rem}.regional-cafes-grid{gap:20px;grid-template-columns:1fr}.region-header h2{font-size:2rem}.map-modal{padding:10px}.map-modal-content{max-height:95vh}.map-container iframe{height:300px}}
/*# sourceMappingURL=main.021dd573.css.map*/