:root{--primary-color:#2563eb;--secondary-color:#7c3aed;--accent-color:#f59e0b;--text-color:#1f2937;--text-light:#6b7280;--border-color:#e5e7eb;--bg-light:#f9fafb;--success-color:#10b981;--danger-color:#ef4444;--star-color:#fbbf24;--shadow:0 1px 3px rgba(0,0,0,0.1);--shadow-md:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px rgba(0,0,0,0.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:var(--text-color);background:#fff}.container{max-width:1200px;margin:0 auto;padding:0 20px}header{background:#fff;border-bottom:1px solid var(--border-color);padding:1rem 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}header .container{display:flex;justify-content:space-between;align-items:center}.logo{flex-shrink:0}.logo a{display:block;line-height:0}.site-logo{height:100px;width:auto;max-width:400px;object-fit:contain;transition:opacity 0.3s}.site-logo:hover{opacity:0.8}.main-nav{display:flex;align-items:center;gap:2rem}.main-nav a{color:var(--text-color);text-decoration:none;font-weight:500;transition:color 0.3s;white-space:nowrap}.main-nav a:hover{color:var(--primary-color)}.main-nav .business-login-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white !important;padding:0.6rem 1.2rem;border-radius:8px;font-weight:600;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(102,126,234,0.3);position:relative}.main-nav .business-login-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,0.4);color:white !important}.main-nav .business-login-btn i{margin-right:0.4rem}.main-nav .business-login-btn::after{content:attr(title);position:absolute;bottom:-45px;left:50%;transform:translateX(-50%) scale(0.8);background:rgba(0,0,0,0.9);color:white;padding:8px 12px;border-radius:6px;font-size:0.85rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all 0.3s ease;z-index:1000;font-weight:400}.main-nav .business-login-btn:hover::after{opacity:1;transform:translateX(-50%) scale(1)}.mobile-menu-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--text-color);cursor:pointer;padding:0.5rem}.mobile-menu-toggle:hover{color:var(--primary-color)}.hero{background-image:url('/assets/images/thingstodowithkidsnearme-banner.webp');background-position:center center;background-repeat:no-repeat;background-size:cover;color:white;padding:4rem 0;text-align:center;position:relative;min-height:500px;overflow:hidden}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:1}.hero .container{position:relative;z-index:2}.hero h2{font-size:2.5rem;margin-bottom:1rem;text-shadow:3px 3px 8px rgba(0,0,0,0.8),1px 1px 4px rgba(0,0,0,0.9)}.hero p{font-size:1.25rem;margin-bottom:2rem;opacity:1;text-shadow:2px 2px 6px rgba(0,0,0,0.8),1px 1px 3px rgba(0,0,0,0.9)}.search-box{max-width:900px;margin:0 auto 2rem;background:white;padding:2rem;border-radius:12px;box-shadow:var(--shadow-lg)}.search-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.search-inputs .btn-primary{grid-column:1 / -1;margin-top:0.5rem;max-width:300px;justify-self:center}.search-field{position:relative;display:flex;align-items:center}.search-field i{position:absolute;left:1rem;color:var(--text-light)}.search-field input{width:100%;padding:0.875rem 1rem 0.875rem 2.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color 0.3s}.search-field input:focus{outline:none;border-color:var(--primary-color)}.detect-btn{position:absolute;right:0.5rem;background:var(--primary-color);border:none;padding:0.65rem 0.75rem;border-radius:8px;cursor:pointer;color:white;transition:all 0.3s ease;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.detect-btn:hover{background:#1d4ed8;transform:scale(1.05);box-shadow:0 4px 8px rgba(0,0,0,0.15)}.detect-btn:active{transform:scale(0.98)}.detect-btn i{font-size:1.1rem;position:static;left:auto}.detect-btn.detecting{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.8;transform:scale(1.05)}}.detect-btn::after{content:attr(title);position:absolute;bottom:calc(100% + 8px);right:0;background:rgba(0,0,0,0.8);color:white;padding:0.5rem 0.75rem;border-radius:6px;font-size:0.875rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease;z-index:10}.detect-btn::before{content:'';position:absolute;bottom:calc(100% + 2px);right:12px;border:6px solid transparent;border-top-color:rgba(0,0,0,0.8);opacity:0;transition:opacity 0.3s ease}.detect-btn:hover::after,.detect-btn:hover::before{opacity:1}.location-field input{padding-right:3.5rem}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s;text-decoration:none}.btn-primary{background:var(--primary-color);color:white}.btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:white;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--bg-light)}.quick-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.stat{text-align:center}.stat strong{display:block;font-size:2rem;font-weight:bold;text-shadow:2px 2px 6px rgba(0,0,0,0.8),1px 1px 3px rgba(0,0,0,0.9)}.stat span{opacity:1;text-shadow:2px 2px 5px rgba(0,0,0,0.8),1px 1px 2px rgba(0,0,0,0.9)}.categories-section,.states-section{padding:4rem 0}.categories-section h2,.states-section h2{text-align:center;font-size:2rem;margin-bottom:2rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.category-card{background:white;padding:2rem;border-radius:12px;border:2px solid var(--border-color);text-align:center;text-decoration:none;color:var(--text-color);transition:all 0.3s}.category-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.category-card i{font-size:3rem;color:var(--primary-color);margin-bottom:1rem}.category-card h3{font-size:1.25rem;margin-bottom:0.5rem}.category-card p{color:var(--text-light);font-size:0.875rem}.states-section{background:var(--bg-light)}.states-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width:1024px){.states-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.states-grid{grid-template-columns:repeat(2,1fr)}.mobile-menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;background:white;border-top:1px solid var(--border-color);box-shadow:var(--shadow-lg);display:none;flex-direction:column;align-items:stretch;gap:0;padding:0;z-index:1000}.main-nav a{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.main-nav a:last-child{border-bottom:none}.main-nav .business-login-btn{border-radius:0;margin:0;text-align:left}.main-nav .business-login-btn:hover{transform:none}.main-nav .business-login-btn::after{display:none}.main-nav.active{display:flex}.site-logo{height:70px}.search-inputs{grid-template-columns:1fr}.quick-stats{gap:2rem}.stat strong{font-size:1.5rem}.detect-btn{padding:0.75rem}.detect-btn i{font-size:1.2rem}.hero{background-position:center center;background-size:cover;min-height:400px}.hero h2{font-size:2rem}.hero p{font-size:1.1rem}}@media (max-width:480px){.states-grid{grid-template-columns:1fr}.site-logo{height:50px}.search-box{padding:1.5rem}.quick-stats{flex-wrap:wrap;gap:1.5rem}.stat{flex:0 0 calc(50% - 0.75rem);min-width:120px}.stat strong{font-size:1.5rem}.stat span{font-size:0.875rem}.categories-grid{grid-template-columns:1fr}.hero{min-height:350px;padding:3rem 0}.hero h2{font-size:1.75rem}.hero p{font-size:1rem}}.state-card{background:white;padding:1.5rem;border-radius:8px;text-decoration:none;color:var(--text-color);border:1px solid var(--border-color);transition:all 0.3s}.state-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.state-card h3{font-size:1.125rem;margin-bottom:0.5rem}.state-card span{color:var(--text-light);font-size:0.875rem}.breadcrumbs{padding:1rem 0;font-size:0.875rem;color:var(--text-light)}.breadcrumbs a{color:var(--primary-color);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .separator{margin:0 0.5rem}.listings-section{padding:2rem 0 4rem}.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.listing-card{background:white;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);transition:all 0.3s}.listing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.listing-image{position:relative;display:block;height:200px;overflow:hidden}.listing-image img{width:100%;height:100%;object-fit:cover}.no-image{width:100%;height:100%;background:var(--bg-light);display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:3rem}.rating-badge{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,0.95);padding:0.5rem 0.75rem;border-radius:20px;font-weight:bold;display:flex;align-items:center;gap:0.25rem}.rating-badge i{color:var(--star-color)}.listing-content{padding:1.5rem}.listing-content h3{font-size:1.25rem;margin-bottom:0.5rem}.listing-content h3 a{color:var(--text-color);text-decoration:none}.listing-content h3 a:hover{color:var(--primary-color)}.category-tag{display:inline-block;background:var(--bg-light);padding:0.25rem 0.75rem;border-radius:20px;font-size:0.75rem;color:var(--text-light);margin-bottom:0.75rem}.description{color:var(--text-light);font-size:0.875rem;margin-bottom:1rem;line-height:1.5}.listing-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:0.875rem}.reviews i{color:var(--star-color)}.address{color:var(--text-light);font-size:0.875rem;margin-bottom:1rem;display:flex;align-items:start;gap:0.5rem}.address i{margin-top:0.25rem}.map-section{padding:2rem 0;background:var(--bg-light)}#map,#detailMap{height:400px;width:100%;border-radius:8px;box-shadow:var(--shadow)}.custom-marker{background:transparent;border:none}.leaflet-popup-content-wrapper{border-radius:8px;box-shadow:var(--shadow-lg)}.leaflet-popup-content{margin:12px 16px;font-family:inherit}.leaflet-popup-tip{background:white}.leaflet-tooltip.custom-tooltip{background:rgba(37,99,235,0.95);color:white;border:none;border-radius:6px;padding:6px 12px;font-weight:500;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,0.2)}.leaflet-tooltip.custom-tooltip::before{border-top-color:rgba(37,99,235,0.95)}.filters-section{background:var(--bg-light);padding:2rem 0}.filters h3{margin-bottom:1rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:0.75rem}.filter-btn{padding:0.75rem 1.25rem;border:2px solid var(--border-color);border-radius:8px;background:white;text-decoration:none;color:var(--text-color);font-weight:500;transition:all 0.3s;display:inline-flex;align-items:center;gap:0.5rem}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);color:white;border-color:var(--primary-color)}.pagination{display:flex;justify-content:center;align-items:center;gap:0.5rem;margin-top:2rem;flex-wrap:wrap}.page-link{padding:0.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;text-decoration:none;color:var(--text-color);transition:all 0.3s;min-width:44px;text-align:center}.page-link:hover{background:var(--bg-light);border-color:var(--primary-color)}.page-link.active{background:var(--primary-color);color:white;border-color:var(--primary-color)}.page-ellipsis{padding:0.75rem 0.5rem;color:var(--text-light)}footer{background:var(--text-color);color:white;padding:3rem 0 1rem;margin-top:4rem}footer a{color:white;text-decoration:none}footer a:hover{text-decoration:underline}.back-to-top{position:fixed;bottom:2rem;right:2rem;background:var(--primary-color);color:white;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all 0.3s;z-index:99}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:#1d4ed8;transform:translateY(-4px)}.image-gallery{background:#000;padding:0;margin:2rem 0}.gallery-carousel{position:relative;max-width:1400px;margin:0 auto;height:500px;overflow:hidden}.carousel-container{position:relative;width:100%;height:100%}.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 0.6s ease-in-out}.carousel-slide.active{opacity:1}.carousel-slide img{width:100%;height:100%;object-fit:cover}.carousel-controls{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 1rem;z-index:10}.carousel-btn{background:rgba(255,255,255,0.9);border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s;box-shadow:0 2px 10px rgba(0,0,0,0.2)}.carousel-btn:hover{background:white;transform:scale(1.1)}.carousel-btn i{font-size:1.25rem;color:var(--text-color)}.carousel-indicators{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10}.carousel-indicator{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.5);border:2px solid rgba(255,255,255,0.8);cursor:pointer;transition:all 0.3s}.carousel-indicator.active{background:white;transform:scale(1.2)}.carousel-counter{position:absolute;top:20px;right:20px;background:rgba(0,0,0,0.7);color:white;padding:8px 16px;border-radius:20px;font-size:0.875rem;z-index:10}.activity-content{display:grid;grid-template-columns:1fr 350px;gap:3rem;margin-top:2rem}.main-content{min-width:0}.content-section{margin-bottom:3rem}.content-section h2{font-size:1.75rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.5rem}.about-grid{display:grid;gap:1.5rem}.about-category{background:var(--bg-light);padding:1.5rem;border-radius:8px}.about-category strong{display:block;margin-bottom:0.75rem;font-size:1.125rem;color:var(--primary-color)}.about-category ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.5rem}.about-category li{padding:0.25rem 0;display:flex;align-items:center;gap:0.5rem}.about-category li:before{content:"✓";color:var(--success-color);font-weight:bold}.review-summary{background:var(--bg-light);padding:1.5rem;border-radius:8px}.keyword-tags{display:flex;flex-wrap:wrap;gap:0.75rem}.keyword-tag{display:inline-flex;flex-direction:column;align-items:center;background:white;padding:0.75rem 1.25rem;border-radius:8px;border:2px solid var(--border-color);transition:all 0.3s}.keyword-tag:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.keyword-tag strong{color:var(--text-color);font-size:1rem;margin-bottom:0.25rem;text-transform:capitalize}.keyword-count{color:var(--text-light);font-size:0.875rem}.reviews-summary-text{line-height:1.8;color:var(--text-color)}.reviews-summary-text h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:0.75rem;color:var(--text-color)}.reviews-summary-text h4{font-size:1.125rem;margin-top:1.25rem;margin-bottom:0.5rem;color:var(--text-color)}.reviews-summary-text p{margin-bottom:1rem}.reviews-summary-text ul,.reviews-summary-text ol{margin-bottom:1rem;padding-left:2rem}.reviews-summary-text li{margin-bottom:0.5rem}.reviews-summary-text strong{color:var(--primary-color)}.hours-table{background:var(--bg-light);border-radius:8px;overflow:hidden}.hours-row{display:flex;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.hours-row:last-child{border-bottom:none}.hours-row .day{font-weight:600}.hours-row .time{color:var(--text-light)}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-card{background:var(--bg-light);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.reviewer-info strong{display:block;margin-bottom:0.5rem}.rating-small{display:flex;gap:0.25rem}.rating-small i{font-size:0.875rem;color:var(--star-color)}.rating-small i:not(.filled){color:var(--border-color)}.review-time{font-size:0.875rem;color:var(--text-light)}.review-text{line-height:1.6;color:var(--text-color)}.sidebar{position:sticky;top:80px;height:fit-content}.sidebar-section{background:white;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.sidebar-section h3{font-size:1.125rem;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem}.address-text{margin-top:1rem;color:var(--text-light);display:flex;align-items:start;gap:0.5rem;line-height:1.5}.quick-info ul{list-style:none}.quick-info li{padding:0.75rem 0;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:0.75rem}.quick-info li:last-child{border-bottom:none}.quick-info i{color:var(--primary-color);width:20px}.quick-info a{color:var(--text-color);text-decoration:none}.quick-info a:hover{color:var(--primary-color)}.share-buttons{display:flex;gap:0.75rem}.share-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:0.75rem;border-radius:8px;color:white;text-decoration:none;transition:all 0.3s}.share-btn.facebook{background:#1877f2}.share-btn.x-twitter{background:#000000}.x-logo{font-size:1.25rem;font-weight:bold;font-family:Arial,sans-serif}.share-btn.email{background:var(--text-light)}.share-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width:1024px){.activity-content{grid-template-columns:1fr}.sidebar{position:static}.gallery-carousel{height:400px}}@media (max-width:768px){.gallery-carousel{height:300px}.carousel-controls{padding:0 0.5rem}.carousel-btn{width:40px;height:40px}.carousel-btn i{font-size:1rem}.about-category ul{grid-template-columns:1fr}}