:root{--primary-color:#fcb900;--secondary-color:#30273a;--accent-color:#e6c36a;--success-color:#28a745;--danger-color:#dc3545;--info-color:#17a2b8;--warning-color:#ffc107;--dark-bg:rgba(32, 28, 48, 0.95);--card-bg:rgba(61, 54, 68, 0.9);--transition-speed:0.3s}*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(135deg,#1a1625 0%,#2d2438 100%);color:#fff;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;overflow-x:hidden}.container,.container-fluid{max-width:100%!important}.modal-share-section{display:flex;justify-content:center;align-items:center;gap:10px;padding:15px 20px;background:rgb(0 0 0 / .3);border-bottom:2px solid rgb(252 185 0 / .2);flex-wrap:wrap}.btn-share{width:45px;height:45px;border-radius:50%;border:2px solid #fff0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-speed) ease;font-size:1.3rem;position:relative;overflow:hidden}.btn-share::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);transition:width 0.3s,height 0.3s}.btn-share:hover::before{width:100px;height:100px}.btn-share i{position:relative;z-index:1}.btn-share:nth-child(1){background:#25D366;color:#fff;border-color:#25D366}.btn-share:nth-child(1)::before{background:rgb(255 255 255 / .2)}.btn-share:nth-child(1):hover{transform:translateY(-3px) scale(1.1);box-shadow:0 5px 20px rgb(37 211 102 / .5)}.btn-share:nth-child(2){background:#1877F2;color:#fff;border-color:#1877F2}.btn-share:nth-child(2)::before{background:rgb(255 255 255 / .2)}.btn-share:nth-child(2):hover{transform:translateY(-3px) scale(1.1);box-shadow:0 5px 20px rgb(24 119 242 / .5)}.btn-share:nth-child(3){background:#1DA1F2;color:#fff;border-color:#1DA1F2}.btn-share:nth-child(3)::before{background:rgb(255 255 255 / .2)}.btn-share:nth-child(3):hover{transform:translateY(-3px) scale(1.1);box-shadow:0 5px 20px rgb(29 161 242 / .5)}.btn-share:nth-child(4){background:#0A66C2;color:#fff;border-color:#0A66C2}.btn-share:nth-child(4)::before{background:rgb(255 255 255 / .2)}.btn-share:nth-child(4):hover{transform:translateY(-3px) scale(1.1);box-shadow:0 5px 20px rgb(10 102 194 / .5)}.btn-share:nth-child(5){background:var(--primary-color);color:#000;border-color:var(--primary-color)}.btn-share:nth-child(5)::before{background:rgb(0 0 0 / .2)}.btn-share:nth-child(5):hover{transform:translateY(-3px) scale(1.1);box-shadow:0 5px 20px rgb(252 185 0 / .5)}.modal-share-section .btn-share{animation:bounceIn 0.5s ease}.modal-share-section .btn-share:nth-child(1){animation-delay:0.1s}.modal-share-section .btn-share:nth-child(2){animation-delay:0.15s}.modal-share-section .btn-share:nth-child(3){animation-delay:0.2s}.modal-share-section .btn-share:nth-child(4){animation-delay:0.25s}.modal-share-section .btn-share:nth-child(5){animation-delay:0.3s}@media (max-width:576px){.modal-share-section{padding:12px 15px;gap:8px}.btn-share{width:40px;height:40px;font-size:1.1rem}}.venues-list-section{margin:40px 20px;padding:30px 20px;background:var(--dark-bg);border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .4)}.venues-list-section .section-title{font-size:1.8rem;font-weight:700;margin-bottom:30px;color:var(--primary-color);text-align:center}.venue-card-compact{background:var(--card-bg);border-radius:15px;overflow:hidden;border:2px solid #fff0;transition:all var(--transition-speed) ease;box-shadow:0 4px 15px rgb(0 0 0 / .3);height:100%;display:flex;flex-direction:column}.venue-card-compact:hover{border-color:var(--primary-color);transform:translateY(-5px);box-shadow:0 10px 30px rgb(252 185 0 / .4)}.venue-card-header{position:relative;height:160px;overflow:hidden;cursor:pointer}.venue-card-image{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.venue-card-compact:hover .venue-card-image{transform:scale(1.1)}.venue-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity var(--transition-speed) ease}.venue-card-header:hover .venue-card-overlay{opacity:1}.venue-card-overlay i{font-size:2.5rem;color:var(--primary-color)}.venue-card-overlay span{font-size:1rem;font-weight:600;color:#fff}.venue-card-body{padding:15px;flex:1;display:flex;flex-direction:column}.venue-card-title{font-size:1.1rem;font-weight:700;color:var(--primary-color);margin-bottom:10px;cursor:pointer;transition:color var(--transition-speed) ease}.venue-card-title:hover{color:var(--accent-color)}.venue-card-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:.85rem}.venue-card-events-count,.venue-card-category{display:flex;align-items:center;gap:5px;padding:4px 10px;background:rgb(252 185 0 / .2);border-radius:12px;color:var(--primary-color);font-weight:600}.venue-card-category{background:rgb(255 255 255 / .1);color:#fff}.venue-card-address{font-style:normal;font-size:.85rem;margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;opacity:.8;line-height:1.4}.venue-card-address i{color:var(--primary-color);margin-top:2px;flex-shrink:0}.venue-card-events{margin-top:auto;padding-top:12px;border-top:1px solid rgb(255 255 255 / .1)}.event-compact-item{display:flex;gap:10px;padding:8px;background:rgb(0 0 0 / .2);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all var(--transition-speed) ease;border-left:3px solid var(--primary-color)}.event-compact-item:hover{background:rgb(252 185 0 / .2);transform:translateX(3px)}.event-compact-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary-color);border-radius:8px;flex-shrink:0}.event-compact-icon i{font-size:1rem;color:#000}.event-compact-info{flex:1;min-width:0}.event-compact-info h5{font-size:.9rem;font-weight:600;color:#fff;margin:0 0 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-compact-info time{font-size:.75rem;color:var(--primary-color);display:flex;align-items:center;gap:4px}.event-compact-info time i{font-size:.7rem}.event-compact-more{text-align:center;padding:10px;background:rgb(252 185 0 / .1);border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--primary-color);transition:all var(--transition-speed) ease;display:flex;align-items:center;justify-content:center;gap:6px}.event-compact-more:hover{background:rgb(252 185 0 / .3);transform:scale(1.02)}.venue-card-footer{display:flex;gap:8px;padding:12px;background:rgb(0 0 0 / .2);border-top:1px solid rgb(255 255 255 / .1)}.btn-compact{flex:1;padding:10px 15px;border:2px solid;border-radius:10px;font-weight:600;font-size:.9rem;transition:all var(--transition-speed) ease;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none}.btn-compact-details{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-color:var(--primary-color);color:#000}.btn-compact-details:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgb(252 185 0 / .4)}.btn-compact-waze{background:#3cf;border-color:#3cf;color:#000}.btn-compact-waze:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgb(51 204 255 / .4);color:#000}@media (max-width:768px){.venue-card-header{height:140px}.venue-card-title{font-size:1rem}.event-compact-info h5{font-size:.85rem}.btn-compact{font-size:.85rem;padding:8px 12px}}@media (max-width:576px){.venues-list-section{margin:20px 10px;padding:20px 15px}.venue-card-header{height:180px}.venue-card-footer{flex-direction:column}.btn-compact{width:100%}}.venue-card-compact{animation:fadeInUp 0.6s ease-out}.venue-card-compact:nth-child(1){animation-delay:0.05s}.venue-card-compact:nth-child(2){animation-delay:0.1s}.venue-card-compact:nth-child(3){animation-delay:0.15s}.venue-card-compact:nth-child(4){animation-delay:0.2s}.venue-card-compact:nth-child(5){animation-delay:0.25s}.venue-card-compact:nth-child(6){animation-delay:0.3s}.venue-card-compact.highlight{animation:highlightPulse 1s ease}@keyframes highlightPulse{0%,100%{border-color:#fff0}50%{border-color:var(--primary-color);box-shadow:0 0 30px rgb(252 185 0 / .8);transform:scale(1.05)}}#modalDetailsVenue .modal-content{max-height:90vh}#modalDetailsVenue .modal-body{max-height:70vh;overflow-y:auto}.transport-section{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}.transport-section h5{margin-bottom:20px;color:var(--primary-color);font-size:1.4rem}.transport-buttons{display:flex;gap:15px;flex-wrap:wrap}.transport-btn{flex:1;min-width:180px;padding:15px 25px;border-radius:15px;border:2px solid;font-weight:700;font-size:1rem;transition:all var(--transition-speed) ease;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px rgb(0 0 0 / .3)}.waze-btn{background:#3cf;border-color:#3cf;color:#000}.public-btn{background:var(--success-color);border-color:var(--success-color);color:#fff}.gps-btn{background:#4285f4;border-color:#4285f4;color:#fff}.transport-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgb(0 0 0 / .5)}.ticket-section{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}.btn-ticket{width:100%;padding:15px 30px;font-size:1.2rem;font-weight:700;border-radius:15px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;color:#000;transition:all var(--transition-speed) ease;box-shadow:0 5px 20px rgb(252 185 0 / .4);display:flex;align-items:center;justify-content:center;gap:10px}.btn-ticket:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgb(252 185 0 / .6);color:#000}.ticket-info{margin-top:20px;font-size:1rem;line-height:1.8}.ticket-info div{padding:10px;background:rgb(255 255 255 / .05);border-radius:10px;margin-bottom:10px;border-left:4px solid var(--primary-color)}.contact-section{margin:30px 0}.contact-toggle{width:100%;background:var(--primary-color);color:#000;border:none;padding:15px 30px;border-radius:50px;font-weight:700;font-size:1.1rem;transition:all var(--transition-speed) ease;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;box-shadow:0 5px 20px rgb(252 185 0 / .4)}.contact-toggle:hover{transform:scale(1.02);box-shadow:0 8px 30px rgb(252 185 0 / .6)}.contact-toggle i:last-child{transition:transform var(--transition-speed) ease}.contact-form-container{max-height:0;overflow:hidden;transition:max-height 0.5s ease;margin-top:20px}.contact-form-container.show{max-height:1000px}#contactForm{padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}#contactForm .btn-primary{background:linear-gradient(135deg,var(--info-color),#138496)!important;border:none!important;padding:12px 30px!important;font-weight:700!important;border-radius:15px!important;transition:all var(--transition-speed) ease!important}#contactForm .btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 8px 25px rgb(23 162 184 / .5)!important}.toast-container{position:fixed;top:100px;right:20px;z-index:9999}.venue-article:focus-visible,.event-item-seo:focus-visible,.filter-btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}.venue-info h3,.event-item-content h5,.venue-events-list h4{text-shadow:1px 1px 2px rgb(0 0 0 / .5)}.venue-article,.event-item-seo,.filter-btn{will-change:transform}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}@media (max-width:480px){.gamification-bar{font-size:12px;padding:8px 12px}.points-icon{width:28px;height:28px}.hero-title{font-size:1.5rem}.event-counter{font-size:2rem}.filter-btn{font-size:.9rem;padding:10px 18px}.transport-btn{font-size:.9rem;padding:12px 20px}}.venue-article::before,.event-item-seo::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .1),transparent);transition:left 0.5s ease;pointer-events:none}.venue-article:hover::before,.event-item-seo:hover::before{left:100%}@keyframes newEventPulse{0%,100%{box-shadow:0 0 0 0 rgb(252 185 0 / .7)}50%{box-shadow:0 0 0 10px #fff0}}.venue-article.new-venue{animation:newEventPulse 2s infinite}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}100%{opacity:1;transform:scale(1)}}.animate-in{animation:fadeInUp 0.6s ease-out}.gamification-bar{position:fixed;top:20px;right:20px;z-index:1050;background:var(--dark-bg);padding:15px 25px;border-radius:50px;box-shadow:0 8px 32px rgb(252 185 0 / .4);backdrop-filter:blur(10px);border:2px solid var(--primary-color);display:flex;align-items:center;gap:20px;transition:all var(--transition-speed) ease}.gamification-bar:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgb(252 185 0 / .6)}.points-display,.level-badge,.streak-badge{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px}.points-icon{width:35px;height:35px;background:linear-gradient(135deg,#ffd700 0%,#ffed4e 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite;box-shadow:0 4px 15px rgb(255 215 0 / .5)}.level-badge{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:8px 18px;border-radius:25px;font-size:14px;box-shadow:0 4px 15px rgb(102 126 234 / .4)}.streak-badge{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);padding:8px 18px;border-radius:25px;font-size:14px;box-shadow:0 4px 15px rgb(240 147 251 / .4)}.hero-section{background:linear-gradient(135deg,rgb(102 126 234 / .3) 0%,rgb(118 75 162 / .3) 100%);padding:50px 30px;border-radius:25px;margin:90px 20px 20px 20px;position:relative;overflow:hidden;border:2px solid rgb(252 185 0 / .3)}.hero-section::before{content:'';position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .1),transparent);animation:shimmer 3s infinite}.hero-title{font-size:2.5rem;font-weight:800;margin-bottom:15px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.hero-subtitle{font-size:1.3rem;opacity:.9}.event-counter{font-size:4rem;font-weight:900;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;line-height:1;animation:bounceIn 1s ease}.event-counter-text{font-size:1.2rem;margin-top:10px;opacity:.8}.weather-widget{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:30px;border-radius:25px;margin:20px;box-shadow:0 10px 40px rgb(102 126 234 / .5);border:2px solid rgb(255 255 255 / .2);transition:all var(--transition-speed) ease}.weather-widget:hover{transform:translateY(-5px);box-shadow:0 15px 50px rgb(102 126 234 / .7)}.weather-icon{font-size:5rem;animation:pulse 3s infinite}.weather-temp{font-size:3rem;font-weight:900;margin:10px 0}.weather-details{display:flex;flex-direction:column;gap:10px;font-size:1.1rem}.filter-section{background:var(--dark-bg);padding:30px;border-radius:25px;margin:20px;box-shadow:0 10px 40px rgb(0 0 0 / .4);border:2px solid rgb(252 185 0 / .2)}.search-box{position:relative}.search-box i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--primary-color);font-size:1.2rem;z-index:1}.search-box input{padding-left:45px!important}.form-control{background:rgb(255 255 255 / .1)!important;border:2px solid rgb(252 185 0 / .3)!important;border-radius:15px!important;color:#fff!important;padding:12px 20px!important;font-size:1rem!important;transition:all var(--transition-speed) ease!important}.form-control:focus{background:rgb(255 255 255 / .15)!important;border-color:var(--primary-color)!important;box-shadow:0 0 20px rgb(252 185 0 / .3)!important;color:#fff!important}.form-control::placeholder{color:rgb(255 255 255 / .5)!important}.date-input{cursor:pointer}.btn-apply-filter{background:linear-gradient(135deg,var(--success-color),#20c997)!important;border:none!important;border-radius:15px!important;padding:12px 25px!important;font-weight:bold!important;font-size:1rem!important;color:#fff!important;transition:all var(--transition-speed) ease!important;box-shadow:0 4px 15px rgb(40 167 69 / .3)!important}.btn-apply-filter:hover{transform:translateY(-2px)!important;box-shadow:0 6px 25px rgb(40 167 69 / .5)!important}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.filter-btn{padding:12px 25px;border:2px solid #fff0;border-radius:50px;background:var(--card-bg);color:#fff;transition:all var(--transition-speed) ease;cursor:pointer;position:relative;overflow:hidden;font-size:1rem;font-weight:500;display:inline-flex;align-items:center;gap:8px}.filter-btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgb(252 185 0 / .3);border-radius:50%;transform:translate(-50%,-50%);transition:width 0.5s,height 0.5s}.filter-btn:hover::before{width:300px;height:300px}.filter-btn:hover{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 5px 20px rgb(252 185 0 / .4)}.filter-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-color:var(--primary-color);color:#000;font-weight:700;box-shadow:0 5px 20px rgb(252 185 0 / .5)}.filter-btn i{font-size:1.2rem;position:relative;z-index:1}.filter-label{position:relative;z-index:1}.filter-btn-clear{background:linear-gradient(135deg,var(--danger-color),#c82333);color:#fff}.filter-btn-clear:hover{border-color:var(--danger-color)}.parking-section{margin:20px;padding:30px;background:var(--dark-bg);border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .4)}.section-title{font-size:1.8rem;font-weight:700;margin-bottom:25px;color:var(--primary-color)}.parking-card{background:var(--card-bg);padding:5px;border-radius:15px;cursor:pointer;transition:all var(--transition-speed) ease;border:2px solid #fff0;height:100%}.parking-card:hover{border-color:var(--primary-color);transform:translateY(-5px) scale(1.03);box-shadow:0 8px 25px rgb(252 185 0 / .4)}.parking-title{font-size:1rem;font-weight:600;margin-bottom:15px;color:var(--primary-color)}.parking-progress{height:25px;border-radius:12px;overflow:hidden;background:rgb(0 0 0 / .3);margin-bottom:10px}.parking-progress .progress-bar{font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:width 0.5s ease}.map-section{margin:20px}#map{height:70vh;border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .5);border:3px solid var(--primary-color);z-index:1}.leaflet-container{border-radius:25px}.events-section{margin:20px}.event-card{background:var(--card-bg);border-radius:20px;overflow:hidden;transition:all 0.4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;position:relative;height:100%;border:2px solid #fff0;box-shadow:0 5px 20px rgb(0 0 0 / .3)}.event-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px rgb(252 185 0 / .5);border-color:var(--primary-color)}.event-card-header{position:relative;overflow:hidden}.event-card-img{height:220px;object-fit:cover;width:100%;transition:transform 0.4s ease}.event-card:hover .event-card-img{transform:scale(1.1)}.event-card-body-main{padding:20px;min-height:120px}.event-card-title{font-size:1.1rem;font-weight:700;margin-bottom:10px;color:var(--primary-color)}.event-card-address{font-size:.9rem;opacity:.8;display:block}.share-btn{position:absolute;top:15px;right:15px;background:rgb(0 0 0 / .7);border:none;color:var(--primary-color);padding:12px;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);transition:all var(--transition-speed) ease;z-index:10;cursor:pointer;font-size:1.2rem}.share-btn:hover{background:var(--primary-color);color:#000;transform:rotate(360deg) scale(1.2);box-shadow:0 5px 20px rgb(252 185 0 / .6)}.share-menu{position:absolute;top:70px;right:15px;background:var(--dark-bg);border:2px solid var(--primary-color);border-radius:15px;padding:15px;display:none;flex-direction:column;gap:10px;z-index:100;box-shadow:0 10px 30px rgb(0 0 0 / .6);min-width:200px}.share-menu.show{display:flex;animation:bounceIn 0.3s ease}.share-option{padding:12px 20px;border-radius:10px;background:var(--card-bg);border:none;color:#fff;cursor:pointer;transition:all var(--transition-speed) ease;display:flex;align-items:center;gap:10px;font-size:1rem;white-space:nowrap}.share-option:hover{background:var(--primary-color);color:#000;transform:translateX(5px);box-shadow:0 4px 15px rgb(252 185 0 / .4)}.share-option i{font-size:1.3rem}.event-list{list-style:none;padding:0;margin:0}.event-item{background:rgb(0 0 0 / .3);padding:15px;margin:0;border-radius:0;border-left:4px solid var(--primary-color);transition:all var(--transition-speed) ease;cursor:pointer;border-bottom:1px solid rgb(255 255 255 / .1)}.event-item:last-child{border-bottom:none;border-radius:0 0 18px 18px}.event-item:hover{background:rgb(252 185 0 / .2);transform:translateX(5px);border-left-width:6px}.event-item-title{font-size:1rem;font-weight:600;margin-bottom:5px;color:#fff}.event-item-date{font-size:.85rem;opacity:.8}.modal-content{background:var(--dark-bg)!important;border:2px solid var(--primary-color)!important;border-radius:20px!important;backdrop-filter:blur(20px);color:#fff!important}.modal-header{border-bottom:2px solid var(--primary-color)!important;padding:25px!important}.modal-title{font-size:1.8rem;font-weight:700;color:var(--primary-color)}.modal-body{padding:30px!important;max-height:70vh;overflow-y:auto}.modal-footer{border-top:2px solid var(--primary-color)!important;padding:20px!important}.btn-close-white{filter:brightness(0) invert(1);opacity:.8}.btn-close-white:hover{opacity:1}.event-detail-img{width:100%;max-height:400px;object-fit:cover;border-radius:15px;margin-bottom:25px;box-shadow:0 10px 30px rgb(0 0 0 / .5)}.video-container{margin:25px 0}.video-container video{border-radius:15px;box-shadow:0 10px 30px rgb(0 0 0 / .5)}.event-description{font-size:1.1rem;line-height:1.8;margin-bottom:30px;text-align:justify}.transport-section{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}.transport-section h5{margin-bottom:20px;color:var(--primary-color)}.transport-buttons{display:flex;gap:15px;flex-wrap:wrap}.transport-btn{flex:1;min-width:180px;padding:15px 25px;border-radius:15px;border:2px solid;font-weight:700;font-size:1rem;transition:all var(--transition-speed) ease;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px rgb(0 0 0 / .3)}.waze-btn{background:#3cf;border-color:#3cf;color:#000}.public-btn{background:var(--success-color);border-color:var(--success-color);color:#fff}.gps-btn{background:#4285f4;border-color:#4285f4;color:#fff}.transport-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgb(0 0 0 / .5)}.ticket-section{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}.btn-ticket{width:100%;padding:15px 30px;font-size:1.2rem;font-weight:700;border-radius:15px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;color:#000;transition:all var(--transition-speed) ease;box-shadow:0 5px 20px rgb(252 185 0 / .4);display:flex;align-items:center;justify-content:center;gap:10px}.btn-ticket:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgb(252 185 0 / .6);color:#000}.ticket-info{margin-top:20px;font-size:1rem;line-height:1.8}.ticket-info div{padding:10px;background:rgb(255 255 255 / .05);border-radius:10px;margin-bottom:10px;border-left:4px solid var(--primary-color)}.contact-section{margin:30px 0}.contact-toggle{width:100%;background:var(--primary-color);color:#000;border:none;padding:15px 30px;border-radius:50px;font-weight:700;font-size:1.1rem;transition:all var(--transition-speed) ease;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;box-shadow:0 5px 20px rgb(252 185 0 / .4)}.contact-toggle:hover{transform:scale(1.02);box-shadow:0 8px 30px rgb(252 185 0 / .6)}.contact-toggle i:last-child{transition:transform var(--transition-speed) ease}.contact-form-container{max-height:0;overflow:hidden;transition:max-height 0.5s ease;margin-top:20px}.contact-form-container.show{max-height:1000px}#contactForm{padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}#contactForm .form-control{margin-bottom:0!important}#contactForm .btn-primary{background:linear-gradient(135deg,var(--info-color),#138496)!important;border:none!important;padding:12px 30px!important;font-weight:700!important;border-radius:15px!important;transition:all var(--transition-speed) ease!important}#contactForm .btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 8px 25px rgb(23 162 184 / .5)!important}.parking-status-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.parking-status-badges .badge{padding:10px 20px;font-size:1rem;border-radius:25px}.parking-trend{display:flex;align-items:center;gap:15px;font-size:1.2rem;margin-bottom:20px;padding:15px;background:rgb(0 0 0 / .2);border-radius:10px}.parking-trend i{font-size:1.5rem}.parking-progress-big{height:35px;border-radius:17px;margin-bottom:25px}.parking-progress-big .progress-bar{font-size:1.1rem;font-weight:700}.parking-stats{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.stat-item{display:flex;justify-content:space-between;padding:15px;background:rgb(0 0 0 / .2);border-radius:10px;border-left:4px solid var(--primary-color)}.stat-label{font-weight:600}.stat-value{font-weight:700;color:var(--primary-color);font-size:1.2rem}.btn-waze{background:#33ccff!important;border:none!important;color:#000!important;padding:15px 30px!important;font-weight:700!important;font-size:1.1rem!important;border-radius:15px!important;transition:all var(--transition-speed) ease!important}.btn-waze:hover{transform:translateY(-3px)!important;box-shadow:0 8px 25px rgb(51 204 255 / .5)!important}@media (max-width:768px){.gamification-bar{top:10px;right:10px;padding:10px 15px;font-size:14px;flex-wrap:wrap;gap:10px}.hero-section{margin-top:120px;padding:30px 20px}.hero-title{font-size:1.8rem}.event-counter{font-size:2.5rem}.weather-icon{font-size:3rem}.weather-temp{font-size:2rem}.filter-buttons{justify-content:center}.filter-btn{flex:0 1 auto}.transport-btn{min-width:100%}#map{height:50vh}.modal-body{padding:20px!important}}@media (max-width:576px){.gamification-bar{position:relative;top:0;right:0;margin:10px;justify-content:center}.hero-section{margin-top:10px}}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--secondary-color)}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.ui-datepicker{background:var(--dark-bg)!important;border:2px solid var(--primary-color)!important;border-radius:15px!important;padding:15px!important;box-shadow:0 10px 30px rgb(0 0 0 / .5)!important}.ui-datepicker-header{background:var(--primary-color)!important;color:#000!important;border:none!important;border-radius:10px!important;padding:10px!important}.ui-datepicker-title{color:#000!important;font-weight:700!important}.ui-datepicker td span,.ui-datepicker td a{color:#fff!important;text-align:center!important;background:rgb(255 255 255 / .1)!important;border-radius:8px!important;transition:all var(--transition-speed) ease!important}.ui-datepicker td a:hover{background:var(--primary-color)!important;color:#000!important}.ui-datepicker-today a{background:var(--info-color)!important;color:#fff!important}.ui-state-active{background:var(--primary-color)!important;color:#000!important}.btn-success{background:linear-gradient(135deg,var(--success-color),#20c997)!important;border:none!important;box-shadow:0 4px 15px rgb(40 167 69 / .3)!important}.btn-success:hover{transform:translateY(-2px)!important;box-shadow:0 6px 25px rgb(40 167 69 / .5)!important}.btn-danger{background:linear-gradient(135deg,var(--danger-color),border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite;box-shadow:0 4px 15px rgb(255 215 0 / .5)}.level-badge{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:8px 18px;border-radius:25px;font-size:14px;box-shadow:0 4px 15px rgb(102 126 234 / .4)}.streak-badge{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);padding:8px 18px;border-radius:25px;font-size:14px;box-shadow:0 4px 15px rgb(240 147 251 / .4)}.hero-section{background:linear-gradient(135deg,rgb(102 126 234 / .3) 0%,rgb(118 75 162 / .3) 100%);padding:50px 30px;border-radius:25px;margin:90px 20px 20px 20px;position:relative;overflow:hidden;border:2px solid rgb(252 185 0 / .3)}.hero-section::before{content:'';position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .1),transparent);animation:shimmer 3s infinite}.hero-title{font-size:2.5rem;font-weight:800;margin-bottom:15px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.hero-subtitle{font-size:1.3rem;opacity:.9}.event-counter{font-size:4rem;font-weight:900;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;line-height:1;animation:bounceIn 1s ease}.event-counter-text{font-size:1.2rem;margin-top:10px;opacity:.8}.weather-widget{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:30px;border-radius:25px;margin:20px;box-shadow:0 10px 40px rgb(102 126 234 / .5);border:2px solid rgb(255 255 255 / .2);transition:all var(--transition-speed) ease}.weather-widget:hover{transform:translateY(-5px);box-shadow:0 15px 50px rgb(102 126 234 / .7)}.weather-icon{font-size:5rem;animation:pulse 3s infinite}.weather-temp{font-size:3rem;font-weight:900;margin:10px 0}.weather-details{display:flex;flex-direction:column;gap:10px;font-size:1.1rem}.filter-section{background:var(--dark-bg);padding:30px;border-radius:25px;margin:20px;box-shadow:0 10px 40px rgb(0 0 0 / .4);border:2px solid rgb(252 185 0 / .2)}.search-box{position:relative}.search-box i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--primary-color);font-size:1.2rem;z-index:1}.search-box input{padding-left:45px!important}.form-control{background:rgb(255 255 255 / .1)!important;border:2px solid rgb(252 185 0 / .3)!important;border-radius:15px!important;color:#fff!important;padding:12px 20px!important;font-size:1rem!important;transition:all var(--transition-speed) ease!important}.form-control:focus{background:rgb(255 255 255 / .15)!important;border-color:var(--primary-color)!important;box-shadow:0 0 20px rgb(252 185 0 / .3)!important;color:#fff!important}.form-control::placeholder{color:rgb(255 255 255 / .5)!important}.date-input{cursor:pointer}.btn-apply-filter{background:linear-gradient(135deg,var(--success-color),#20c997)!important;border:none!important;border-radius:15px!important;padding:12px 25px!important;font-weight:bold!important;font-size:1rem!important;color:#fff!important;transition:all var(--transition-speed) ease!important;box-shadow:0 4px 15px rgb(40 167 69 / .3)!important}.btn-apply-filter:hover{transform:translateY(-2px)!important;box-shadow:0 6px 25px rgb(40 167 69 / .5)!important}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.filter-btn{padding:12px 25px;border:2px solid #fff0;border-radius:50px;background:var(--card-bg);color:#fff;transition:all var(--transition-speed) ease;cursor:pointer;position:relative;overflow:hidden;font-size:1rem;font-weight:500;display:inline-flex;align-items:center;gap:8px}.filter-btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgb(252 185 0 / .3);border-radius:50%;transform:translate(-50%,-50%);transition:width 0.5s,height 0.5s}.filter-btn:hover::before{width:300px;height:300px}.filter-btn:hover{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 5px 20px rgb(252 185 0 / .4)}.filter-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-color:var(--primary-color);color:#000;font-weight:700;box-shadow:0 5px 20px rgb(252 185 0 / .5)}.filter-btn i{font-size:1.2rem;position:relative;z-index:1}.filter-label{position:relative;z-index:1}.filter-btn-clear{background:linear-gradient(135deg,var(--danger-color),#c82333);color:#fff}.filter-btn-clear:hover{border-color:var(--danger-color)}.parking-section{margin:20px;padding:30px;background:var(--dark-bg);border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .4)}.section-title{font-size:1.8rem;font-weight:700;margin-bottom:25px;color:var(--primary-color)}.parking-card{background:var(--card-bg);padding:20px;border-radius:15px;cursor:pointer;transition:all var(--transition-speed) ease;border:2px solid #fff0;height:100%}.parking-card:hover{border-color:var(--primary-color);transform:translateY(-5px) scale(1.03);box-shadow:0 8px 25px rgb(252 185 0 / .4)}.parking-title{font-size:1rem;font-weight:600;margin-bottom:15px;color:var(--primary-color)}.parking-progress{height:25px;border-radius:12px;overflow:hidden;background:rgb(0 0 0 / .3);margin-bottom:10px}.parking-progress .progress-bar{font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:width 0.5s ease}.map-section{margin:20px}#map{height:70vh;border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .5);border:3px solid var(--primary-color);z-index:1}.leaflet-container{border-radius:25px}.events-section{margin:20px}.event-card{background:var(--card-bg);border-radius:20px;overflow:hidden;transition:all 0.4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;position:relative;height:100%;border:2px solid #fff0;box-shadow:0 5px 20px rgb(0 0 0 / .3)}.event-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px rgb(252 185 0 / .5);border-color:var(--primary-color)}.event-card-header{position:relative;overflow:hidden}.event-card-img{height:220px;object-fit:cover;width:100%;transition:transform 0.4s ease}.event-card:hover .event-card-img{transform:scale(1.1)}.event-card-body-main{padding:20px;min-height:120px}.event-card-title{font-size:1.1rem;font-weight:700;margin-bottom:10px;color:var(--primary-color)}.event-card-address{font-size:.9rem;opacity:.8;display:block}.share-btn{position:absolute;top:15px;right:15px;background:rgb(0 0 0 / .7);border:none;color:var(--primary-color);padding:12px;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);transition:all var(--transition-speed) ease;z-index:10;cursor:pointer;font-size:1.2rem}.share-btn:hover{background:var(--primary-color);color:#000;transform:rotate(360deg) scale(1.2);box-shadow:0 5px 20px rgb(252 185 0 / .6)}.share-menu{position:absolute;top:70px;right:15px;background:var(--dark-bg);border:2px solid var(--primary-color);border-radius:15px;padding:15px;display:none;flex-direction:column;gap:10px;z-index:100;box-shadow:0 10px 30px rgb(0 0 0 / .6);min-width:200px}.share-menu.show{display:flex;animation:bounceIn 0.3s ease}.share-option{padding:12px 20px;border-radius:10px;background:var(--card-bg);border:none;color:#fff;cursor:pointer;transition:all var(--transition-speed) ease;display:flex;align-items:center;gap:10px;font-size:1rem;white-space:nowrap}.share-option:hover{background:var(--primary-color);color:#000;transform:translateX(5px);box-shadow:0 4px 15px rgb(252 185 0 / .4)}.share-option i{font-size:1.3rem}.event-list{list-style:none;padding:0;margin:0}.event-item{background:rgb(0 0 0 / .3);padding:15px;margin:0;border-radius:0;border-left:4px solid var(--primary-color);transition:all var(--transition-speed) ease;cursor:pointer;border-bottom:1px solid rgb(255 255 255 / .1)}.event-item:last-child{border-bottom:none;border-radius:0 0 18px 18px}.event-item:hover{background:rgb(252 185 0 / .2);transform:translateX(5px);border-left-width:6px}.event-item-title{font-size:1rem;font-weight:600;margin-bottom:5px;color:#fff}.event-item-date{font-size:.85rem;opacity:.8}.modal-content{background:var(--dark-bg)!important;border:2px solid var(--primary-color)!important;border-radius:20px!important;backdrop-filter:blur(20px);color:#fff!important}.modal-header{border-bottom:2px solid var(--primary-color)!important;padding:25px!important}.modal-title{font-size:1.8rem;font-weight:700;color:var(--primary-color)}.modal-body{padding:30px!important;max-height:70vh;overflow-y:auto}.modal-footer{border-top:2px solid var(--primary-color)!important;padding:20px!important}.btn-close-white{filter:brightness(0) invert(1);opacity:.8}.btn-close-white:hover{opacity:1}.event-detail-img{width:100%;max-height:400px;object-fit:cover;border-radius:15px;margin-bottom:25px;box-shadow:0 10px 30px rgb(0 0 0 / .5)}.video-container{margin:25px 0}.video-container video{border-radius:15px;box-shadow:0 10px 30px rgb(0 0 0 / .5)}.event-description{font-size:1.1rem;line-height:1.8;margin-bottom:30px;text-align:justify}.transport-section{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}.transport-section h5{margin-bottom:20px;color:var(--primary-color)}.transport-buttons{display:flex;gap:15px;flex-wrap:wrap}.transport-btn{flex:1;min-width:180px;padding:15px 25px;border-radius:15px;border:2px solid;font-weight:700;font-size:1rem;transition:all var(--transition-speed) ease;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px rgb(0 0 0 / .3)}.waze-btn{background:#3cf;border-color:#3cf;color:#000}.public-btn{background:var(--success-color);border-color:var(--success-color);color:#fff}.gps-btn{background:#4285f4;border-color:#4285f4;color:#fff}.transport-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgb(0 0 0 / .5)}.ticket-section{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}.btn-ticket{width:100%;padding:15px 30px;font-size:1.2rem;font-weight:700;border-radius:15px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;color:#000;transition:all var(--transition-speed) ease;box-shadow:0 5px 20px rgb(252 185 0 / .4);display:flex;align-items:center;justify-content:center;gap:10px}.btn-ticket:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgb(252 185 0 / .6);color:#000}.ticket-info{margin-top:20px;font-size:1rem;line-height:1.8}.ticket-info div{padding:10px;background:rgb(255 255 255 / .05);border-radius:10px;margin-bottom:10px;border-left:4px solid var(--primary-color)}.contact-section{margin:30px 0}.contact-toggle{width:100%;background:var(--primary-color);color:#000;border:none;padding:15px 30px;border-radius:50px;font-weight:700;font-size:1.1rem;transition:all var(--transition-speed) ease;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;box-shadow:0 5px 20px rgb(252 185 0 / .4)}.contact-toggle:hover{transform:scale(1.02);box-shadow:0 8px 30px rgb(252 185 0 / .6)}.contact-toggle i:last-child{transition:transform var(--transition-speed) ease}.contact-form-container{max-height:0;overflow:hidden;transition:max-height 0.5s ease;margin-top:20px}.contact-form-container.show{max-height:1000px}#contactForm{padding:25px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}#contactForm .form-control{margin-bottom:0!important}#contactForm .btn-primary{background:linear-gradient(135deg,var(--info-color),#138496)!important;border:none!important;padding:12px 30px!important;font-weight:700!important;border-radius:15px!important;transition:all var(--transition-speed) ease!important}#contactForm .btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 8px 25px rgb(23 162 184 / .5)!important}.parking-status-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.parking-status-badges .badge{padding:10px 20px;font-size:1rem;border-radius:25px}.parking-trend{display:flex;align-items:center;gap:15px;font-size:1.2rem;margin-bottom:20px;padding:15px;background:rgb(0 0 0 / .2);border-radius:10px}.parking-trend i{font-size:1.5rem}.parking-progress-big{height:35px;border-radius:17px;margin-bottom:25px}.parking-progress-big .progress-bar{font-size:1.1rem;font-weight:700}.parking-stats{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.stat-item{display:flex;justify-content:space-between;padding:15px;background:rgb(0 0 0 / .2);border-radius:10px;border-left:4px solid var(--primary-color)}.stat-label{font-weight:600}.stat-value{font-weight:700;color:var(--primary-color);font-size:1.2rem}.btn-waze{background:#33ccff!important;border:none!important;color:#000!important;padding:15px 30px!important;font-weight:700!important;font-size:1.1rem!important;border-radius:15px!important;transition:all var(--transition-speed) ease!important}.btn-waze:hover{transform:translateY(-3px)!important;box-shadow:0 8px 25px rgb(51 204 255 / .5)!important}@media (max-width:768px){.gamification-bar{top:10px;right:10px;padding:10px 15px;font-size:14px;flex-wrap:wrap;gap:10px}.hero-section{margin-top:120px;padding:30px 20px}.hero-title{font-size:1.8rem}.event-counter{font-size:2.5rem}.weather-icon{font-size:3rem}.weather-temp{font-size:2rem}.filter-buttons{justify-content:center}.filter-btn{flex:0 1 auto}.transport-btn{min-width:100%}#map{height:50vh}.modal-body{padding:20px!important}}@media (max-width:576px){.gamification-bar{position:relative;top:0;right:0;margin:10px;justify-content:center}.hero-section{margin-top:10px}}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--secondary-color)}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.ui-datepicker{background:var(--dark-bg)!important;border:2px solid var(--primary-color)!important;border-radius:15px!important;padding:15px!important;box-shadow:0 10px 30px rgb(0 0 0 / .5)!important}.ui-datepicker-header{background:var(--primary-color)!important;color:#000!important;border:none!important;border-radius:10px!important;padding:10px!important}.ui-datepicker-title{color:#000!important;font-weight:700!important}.ui-datepicker td span,.ui-datepicker td a{color:#fff!important;text-align:center!important;background:rgb(255 255 255 / .1)!important;border-radius:8px!important;transition:all var(--transition-speed) ease!important}.ui-datepicker td a:hover{background:var(--primary-color)!important;color:#000!important}.ui-datepicker-today a{background:var(--info-color)!important;color:#fff!important}.ui-state-active{background:var(--primary-color)!important;color:#000!important}.btn-success{background:linear-gradient(135deg,var(--success-color),#20c997)!important;border:none!important;box-shadow:0 4px 15px rgb(40 167 69 / .3)!important}.btn-success:hover{transform:translateY(-2px)!important;box-shadow:0 6px 25px rgb(40 167 69 / .5)!important}.btn-danger{background:linear-gradient(135deg,var(--danger-color),#c82333)!important;border:none!important;box-shadow:0 4px 15px rgb(220 53 69 / .3)!important}.btn-danger:hover{transform:translateY(-2px)!important;box-shadow:0 6px 25px rgb(220 53 69 / .5)!important}.btn-info{background:linear-gradient(135deg,var(--info-color),#138496)!important;border:none!important;box-shadow:0 4px 15px rgb(23 162 184 / .3)!important}.btn-info:hover{transform:translateY(-2px)!important;box-shadow:0 6px 25px rgb(23 162 184 / .5)!important}.badge{font-weight:600!important;padding:8px 15px!important;border-radius:20px!important}.bg-success{background-color:var(--success-color)!important}.bg-danger{background-color:var(--danger-color)!important}.bg-warning{background-color:var(--warning-color)!important;color:#000!important}.toast{backdrop-filter:blur(10px);border-radius:15px!important;box-shadow:0 8px 25px rgb(0 0 0 / .5)!important;animation:bounceIn 0.5s ease}.toast-body{padding:15px 20px!important;font-size:1rem;font-weight:600}.new-badge{position:absolute;top:-10px;left:-10px;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;padding:5px 15px;border-radius:20px;font-size:.75rem;font-weight:700;z-index:5;animation:pulse 2s infinite;box-shadow:0 4px 15px rgb(240 147 251 / .5)}.glow-effect{position:relative}.glow-effect::after{content:'';position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgb(252 185 0 / .3) 0%,transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity 0.3s ease;pointer-events:none}.glow-effect:hover::after{opacity:1}@keyframes progressAnimation{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.progress-bar{background-size:200% 200%;animation:progressAnimation 3s ease infinite}.leaflet-popup-content-wrapper{background:var(--dark-bg)!important;color:#fff!important;border-radius:15px!important;padding:15px!important;box-shadow:0 10px 30px rgb(0 0 0 / .5)!important}.leaflet-popup-tip{background:var(--dark-bg)!important}.leaflet-popup-content{margin:10px!important;font-size:1rem!important}.leaflet-container a.leaflet-popup-close-button{color:var(--primary-color)!important;font-size:24px!important;padding:8px!important}.leaflet-container a.leaflet-popup-close-button:hover{color:#fff!important}.contact-info{margin-top:20px;padding:20px;background:rgb(0 0 0 / .2);border-radius:15px;border:2px solid rgb(252 185 0 / .3)}.contact-info h6{color:var(--primary-color);margin-bottom:15px;font-size:1.2rem;font-weight:700}.contact-info div{padding:8px 0;display:flex;align-items:center;gap:10px}.contact-info i{color:var(--primary-color);width:20px}.spinner-border{animation:spinner-border 0.75s linear infinite}@keyframes spinner-border{to{transform:rotate(360deg)}}.alert{border-radius:15px!important;border:none!important;padding:20px!important;font-weight:600!important;box-shadow:0 5px 20px rgb(0 0 0 / .3)!important}.alert-success{background:linear-gradient(135deg,var(--success-color),#20c997)!important;color:#fff!important}.alert-danger{background:linear-gradient(135deg,var(--danger-color),#c82333)!important;color:#fff!important}.alert-info{background:linear-gradient(135deg,var(--info-color),#138496)!important;color:#fff!important}.hover-lift{transition:all var(--transition-speed) ease}.hover-lift:hover{transform:translateY(-5px)}.hover-glow{transition:all var(--transition-speed) ease}.hover-glow:hover{box-shadow:0 0 30px rgb(252 185 0 / .6)}button:focus,a:focus,input:focus,textarea:focus{outline:3px solid rgb(252 185 0 / .5)!important;outline-offset:2px!important}.animate-in:nth-child(1){animation-delay:0.1s}.animate-in:nth-child(2){animation-delay:0.2s}.animate-in:nth-child(3){animation-delay:0.3s}.animate-in:nth-child(4){animation-delay:0.4s}.animate-in:nth-child(5){animation-delay:0.5s}.animate-in:nth-child(6){animation-delay:0.6s}.modal-backdrop{backdrop-filter:blur(10px);background-color:rgb(0 0 0 / .7)!important}::selection{background-color:var(--primary-color);color:#000}::-moz-selection{background-color:var(--primary-color);color:#000}@media (hover:none) and (pointer:coarse){.event-card:hover,.filter-btn:hover,.parking-card:hover{transform:none}.event-card:active,.filter-btn:active,.parking-card:active{transform:scale(.98)}}@media print{.gamification-bar,.filter-section,.share-btn,.share-menu,#map{display:none!important}body{background:#fff;color:#000}.event-card,.modal-content{border:1px solid #ccc;page-break-inside:avoid}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus-visible:focus{outline:3px solid var(--primary-color);outline-offset:3px}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg)}}.confetti{position:fixed;width:10px;height:10px;background:var(--primary-color);animation:confetti-fall 3s linear infinite;z-index:9999;pointer-events:none}.text-primary-custom{color:var(--primary-color)!important}.text-accent{color:var(--accent-color)!important}.bg-dark-custom{background-color:var(--dark-bg)!important}.bg-card-custom{background-color:var(--card-bg)!important}.border-primary-custom{border-color:var(--primary-color)!important}.shadow-primary{box-shadow:0 10px 40px rgb(252 185 0 / .4)!important}.rounded-custom{border-radius:20px!important}@keyframes levelUp{0%{transform:scale(1)}50%{transform:scale(1.5) rotate(10deg)}100%{transform:scale(1) rotate(0deg)}}.level-up-effect{animation:levelUp 0.5s ease}.achievement-badge{position:fixed;bottom:20px;right:20px;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);padding:20px 30px;border-radius:15px;box-shadow:0 10px 40px rgb(240 147 251 / .6);animation:bounceIn 0.5s ease;z-index:9999;display:flex;align-items:center;gap:15px;font-weight:700;font-size:1.1rem}.achievement-badge i{font-size:2rem}.gradient-text{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}@keyframes sparkle{0%,100%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.sparkle{position:absolute;width:5px;height:5px;background:var(--primary-color);border-radius:50%;animation:sparkle 1s ease-in-out infinite;pointer-events:none}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .8);display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(5px)}.loading-spinner{width:60px;height:60px;border:5px solid rgb(252 185 0 / .3);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.celebration-mode{animation:celebration 2s ease}@keyframes celebration{0%,100%{transform:scale(1)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1.1) rotate(5deg)}75%{transform:scale(1.1) rotate(-5deg)}}html{scroll-behavior:smooth}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0 1000px var(--card-bg) inset!important;transition:background-color 5000s ease-in-out 0s}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,.btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*{-webkit-tap-highlight-color:#fff0}:root{--primary-color:#fcb900;--secondary-color:#30273a;--accent-color:#e6c36a;--success-color:#28a745;--danger-color:#dc3545;--info-color:#17a2b8;--warning-color:#ffc107;--dark-bg:rgba(32, 28, 48, 0.95);--card-bg:rgba(61, 54, 68, 0.9);--transition-speed:0.3s}.search-weather-section{margin:20px;padding:30px;background:var(--dark-bg);border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .4)}.weather-search-box{position:relative;display:flex;align-items:center;gap:10px;background:rgb(255 255 255 / .1);border:2px solid rgb(252 185 0 / .3);border-radius:50px;padding:5px 5px 5px 20px;transition:all var(--transition-speed) ease}.weather-search-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 20px rgb(252 185 0 / .3)}.weather-search-box i.fa-search{color:var(--primary-color);font-size:1.2rem}.weather-search-box input{flex:1;background:transparent!important;border:none!important;color:#fff!important;padding:12px 15px!important;font-size:1.1rem!important}.weather-search-box input:focus{outline:none!important;box-shadow:none!important}.btn-search{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-speed) ease;color:#000;font-size:1.2rem}.btn-search:hover{transform:scale(1.1) rotate(15deg);box-shadow:0 5px 20px rgb(252 185 0 / .5)}.search-suggestions{margin-top:15px;background:var(--card-bg);border-radius:15px;max-height:300px;overflow-y:auto;display:none}.search-suggestions.show{display:block}.suggestion-item{padding:15px 20px;cursor:pointer;transition:background var(--transition-speed) ease;border-bottom:1px solid rgb(255 255 255 / .1)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:rgb(252 185 0 / .2)}#weatherMap{height:60vh;border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .5);border:3px solid var(--primary-color);z-index:1}.weather-marker{background:var(--dark-bg);border:3px solid var(--primary-color);border-radius:15px;padding:8px 12px;text-align:center;box-shadow:0 5px 20px rgb(0 0 0 / .5);cursor:pointer;transition:all var(--transition-speed) ease}.weather-marker:hover{transform:scale(1.1);box-shadow:0 8px 30px rgb(252 185 0 / .6)}.marker-temp{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:5px}.marker-temp::after{content:'°'}.weather-marker i{font-size:1.5rem}.search-marker{text-align:center;animation:bounceIn 0.5s ease}.search-marker i{font-size:2.5rem;color:#dc3545;filter:drop-shadow(0 3px 8px rgb(220 53 69 / .6))}.marker-label{background:var(--dark-bg);color:#fff;padding:5px 10px;border-radius:10px;margin-top:5px;font-weight:600;font-size:.9rem;border:2px solid #dc3545}.cities-weather-section{margin:40px 20px;padding:30px 20px;background:var(--dark-bg);border-radius:25px;box-shadow:0 10px 40px rgb(0 0 0 / .4)}.city-weather-card{background:var(--card-bg);border-radius:20px;padding:25px;border:2px solid #fff0;transition:all 0.4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;height:100%;display:flex;flex-direction:column;opacity:.6}.city-weather-card.loaded{opacity:1}.city-weather-card:hover{border-color:var(--primary-color);transform:translateY(-5px);box-shadow:0 15px 40px rgb(252 185 0 / .4)}.city-weather-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgb(252 185 0 / .2)}.city-weather-header h3{font-size:1.3rem;font-weight:700;color:var(--primary-color);margin:0}.city-population{font-size:.85rem;color:rgb(255 255 255 / .7);display:flex;align-items:center;gap:5px}.city-weather-icon{text-align:center;margin:20px 0}.city-weather-icon i{font-size:4rem;transition:transform var(--transition-speed) ease}.city-weather-card:hover .city-weather-icon i{transform:scale(1.1)}.city-weather-temp{text-align:center;font-size:3rem;font-weight:900;color:#fff;margin-bottom:10px}.city-weather-condition{text-align:center;font-size:1.1rem;color:var(--accent-color);margin-bottom:20px;min-height:30px}.city-weather-details{display:flex;justify-content:space-around;padding:15px 0;background:rgb(0 0 0 / .2);border-radius:15px;margin-bottom:20px}.detail-item{display:flex;flex-direction:column;align-items:center;gap:5px}.detail-item i{font-size:1.5rem;color:var(--primary-color)}.detail-item span{font-size:1.1rem;font-weight:600}.btn-view-forecast{width:100%;padding:12px 20px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:15px;color:#000;font-weight:700;font-size:1rem;cursor:pointer;transition:all var(--transition-speed) ease;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:auto}.btn-view-forecast:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgb(252 185 0 / .5)}.current-weather-summary{display:flex;align-items:center;gap:30px;padding:30px;background:linear-gradient(135deg,rgb(102 126 234 / .3),rgb(118 75 162 / .3));border-radius:20px;margin-bottom:30px;border:2px solid rgb(252 185 0 / .3)}.current-weather-icon{flex-shrink:0}.current-weather-info{flex:1}.current-temp{font-size:4rem;font-weight:900;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;line-height:1;margin-bottom:10px}.current-condition{font-size:1.5rem;color:var(--accent-color);margin-bottom:20px}.current-details{display:flex;gap:20px;flex-wrap:wrap}.current-details span{display:flex;align-items:center;gap:8px;padding:8px 15px;background:rgb(0 0 0 / .2);border-radius:10px;font-size:1rem}.current-details i{color:var(--primary-color)}.chart-container{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:20px;border:2px solid rgb(252 185 0 / .2)}.chart-container h4{color:var(--primary-color);margin-bottom:20px;font-size:1.3rem;display:flex;align-items:center;gap:10px}.chart-container canvas{height:300px!important}.forecast-table-container{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:20px;border:2px solid rgb(252 185 0 / .2)}.forecast-table-container h4{color:var(--primary-color);margin-bottom:20px;font-size:1.3rem;display:flex;align-items:center;gap:10px}.forecast-table{width:100%;border-collapse:separate;border-spacing:0 10px}.forecast-table thead th{background:var(--card-bg);color:var(--primary-color);padding:15px;text-align:center;font-weight:700;font-size:1rem;border:none}.forecast-table thead th:first-child{border-radius:10px 0 0 10px}.forecast-table thead th:last-child{border-radius:0 10px 10px 0}.forecast-table tbody tr{background:rgb(255 255 255 / .05);transition:all var(--transition-speed) ease}.forecast-table tbody tr:hover{background:rgb(252 185 0 / .1);transform:scale(1.02)}.forecast-table tbody td{padding:15px;text-align:center;border:none;font-size:.95rem}.forecast-table tbody td:first-child{border-radius:10px 0 0 10px;text-align:left;padding-left:20px}.forecast-table tbody td:last-child{border-radius:0 10px 10px 0}.humidity-bar{width:100px;height:8px;background:rgb(255 255 255 / .1);border-radius:10px;overflow:hidden;margin:0 auto}.humidity-fill{height:100%;background:linear-gradient(90deg,#4682B4,#1E90FF);border-radius:10px;transition:width 0.5s ease}.hourly-forecast-container{margin:30px 0;padding:25px;background:rgb(0 0 0 / .2);border-radius:20px;border:2px solid rgb(252 185 0 / .2)}.hourly-forecast-container h4{color:var(--primary-color);margin-bottom:20px;font-size:1.3rem;display:flex;align-items:center;gap:10px}.hourly-forecast-scroll{display:flex;gap:15px;overflow-x:auto;padding:10px 0;scrollbar-width:thin;scrollbar-color:var(--primary-color) var(--secondary-color)}.hourly-forecast-scroll::-webkit-scrollbar{height:8px}.hourly-forecast-scroll::-webkit-scrollbar-track{background:var(--secondary-color);border-radius:10px}.hourly-forecast-scroll::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px}.hourly-card{min-width:80px;background:var(--card-bg);padding:15px;border-radius:15px;text-align:center;border:2px solid #fff0;transition:all var(--transition-speed) ease;cursor:pointer}.hourly-card:hover{border-color:var(--primary-color);transform:translateY(-5px);box-shadow:0 8px 20px rgb(252 185 0 / .4)}.hourly-time{font-size:.9rem;font-weight:600;color:var(--accent-color);margin-bottom:10px}.hourly-card i{font-size:2rem;margin:10px 0}.hourly-temp{font-size:1.3rem;font-weight:700;color:#fff;margin:10px 0}.hourly-rain{font-size:.85rem;color:#4682B4;display:flex;align-items:center;justify-content:center;gap:5px}.hourly-rain::before{content:'💧'}.current-date{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-bottom:10px;text-transform:capitalize}.current-time{font-size:2.5rem;font-weight:900;color:#fff;font-family:'Courier New',monospace}#modalCityForecast .modal-dialog{max-width:1200px}#modalCityForecast .modal-header{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#000;border-bottom:none}#modalCityForecast .modal-title{color:#000;font-size:1.8rem;font-weight:700}#modalCityForecast .modal-subtitle{color:rgb(0 0 0 / .7);font-size:.9rem;margin:5px 0 0 0}#modalCityForecast .btn-close-white{filter:brightness(0)}.forecast-meta{flex:1;text-align:left;color:rgb(255 255 255 / .7)}@media (max-width:992px){.current-weather-summary{flex-direction:column;text-align:center}.current-temp{font-size:3rem}.forecast-table{font-size:.85rem}.forecast-table tbody td{padding:10px 5px}.hourly-card{min-width:70px;padding:12px}}@media (max-width:768px){#weatherMap{height:50vh}.city-weather-card{margin-bottom:20px}.current-temp{font-size:2.5rem}.chart-container canvas{height:250px!important}.forecast-table thead th{font-size:.8rem;padding:10px 5px}.forecast-table tbody td{font-size:.75rem;padding:8px 3px}.humidity-bar{width:60px}}@media (max-width:576px){.weather-search-box{flex-wrap:wrap;border-radius:20px;padding:10px}.btn-search{width:100%;border-radius:15px;height:45px}.current-weather-summary{padding:20px}.current-temp{font-size:2rem}.current-condition{font-size:1.2rem}.city-weather-temp{font-size:2.5rem}.city-weather-icon i{font-size:3rem}.table-responsive{overflow-x:auto}.forecast-table{min-width:600px}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}100%{opacity:1;transform:scale(1)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.animate-in{animation:fadeInUp 0.6s ease-out}.city-weather-card{animation:fadeInUp 0.6s ease-out}.city-weather-card:nth-child(1){animation-delay:0.05s}.city-weather-card:nth-child(2){animation-delay:0.1s}.city-weather-card:nth-child(3){animation-delay:0.15s}.city-weather-card:nth-child(4){animation-delay:0.2s}.city-weather-card:nth-child(5){animation-delay:0.25s}.city-weather-card:nth-child(6){animation-delay:0.3s}.city-weather-card:not(.loaded){pointer-events:none}.city-weather-card:not(.loaded) .city-weather-icon{animation:pulse 1.5s infinite}.weather-sunny{color:gold}.weather-cloudy{color:gray}.weather-rainy{color:#4682B4}.weather-snowy{color:#B0E0E6}.weather-stormy{color:#9370DB}.weather-foggy{color:#A9A9A9}.bg-gradient-sunny{background:linear-gradient(135deg,#FFD700,#FFA500)}.bg-gradient-cloudy{background:linear-gradient(135deg,#808080,#696969)}.bg-gradient-rainy{background:linear-gradient(135deg,#4682B4,#1E90FF)}.bg-gradient-night{background:linear-gradient(135deg,#2C3E50,#34495E)}.leaflet-container{border-radius:25px}.leaflet-popup-content-wrapper{background:var(--dark-bg)!important;color:#fff!important;border-radius:15px!important;padding:15px!important;box-shadow:0 10px 30px rgb(0 0 0 / .5)!important;border:2px solid var(--primary-color)}.leaflet-popup-tip{background:var(--dark-bg)!important}.leaflet-popup-content{margin:10px!important;font-size:1rem!important}.leaflet-container a.leaflet-popup-close-button{color:var(--primary-color)!important;font-size:24px!important;padding:8px!important}.leaflet-container a.leaflet-popup-close-button:hover{color:#fff!important}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--secondary-color);border-radius:6px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.glow-effect{position:relative}.glow-effect::after{content:'';position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgb(252 185 0 / .3) 0%,transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity 0.3s ease;pointer-events:none}.glow-effect:hover::after{opacity:1}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.weather-icon-animated{animation:float 3s ease-in-out infinite}.fa-sun{animation:rotate 20s linear infinite}.fa-bolt{animation:shake 0.5s ease-in-out infinite}.gradient-text{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.text-primary-custom{color:var(--primary-color)!important}.text-accent{color:var(--accent-color)!important}.bg-dark-custom{background-color:var(--dark-bg)!important}.bg-card-custom{background-color:var(--card-bg)!important}.border-primary-custom{border-color:var(--primary-color)!important}.shadow-primary{box-shadow:0 10px 40px rgb(252 185 0 / .4)!important}.rounded-custom{border-radius:20px!important}.weather-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.badge-hot{background:linear-gradient(135deg,#FF6B6B,#FF8E53);color:#fff}.badge-cold{background:linear-gradient(135deg,#4FACFE,#00F2FE);color:#000}.badge-moderate{background:linear-gradient(135deg,#43E97B,#38F9D7);color:#000}.rating-stars{display:inline-flex;gap:3px;font-size:1rem}.rating-stars i{color:gold}.rating-stars i.empty{color:rgb(255 255 255 / .2)}.weather-progress{height:10px;background:rgb(255 255 255 / .1);border-radius:10px;overflow:hidden}.weather-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:10px;transition:width 0.5s ease}button:focus,a:focus,input:focus,.city-weather-card:focus{outline:3px solid rgb(252 185 0 / .5)!important;outline-offset:2px!important}::selection{background-color:var(--primary-color);color:#000}::-moz-selection{background-color:var(--primary-color);color:#000}@media (hover:none) and (pointer:coarse){.city-weather-card:hover,.hourly-card:hover,.btn-view-forecast:hover{transform:none}.city-weather-card:active,.hourly-card:active,.btn-view-forecast:active{transform:scale(.98)}}@media print{.gamification-bar,.search-weather-section,#weatherMap,.btn-view-forecast{display:none!important}body{background:#fff;color:#000}.city-weather-card,.modal-content{border:1px solid #ccc;page-break-inside:avoid}.chart-container{page-break-inside:avoid}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}.condition-clear-day{background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%)}.condition-clear-night{background:linear-gradient(135deg,#2C3E50 0%,#34495E 100%)}.condition-rain{background:linear-gradient(135deg,#4682B4 0%,#1E90FF 100%)}.condition-snow{background:linear-gradient(135deg,#B0E0E6 0%,#87CEEB 100%)}.condition-cloudy{background:linear-gradient(135deg,#808080 0%,#696969 100%)}.condition-storm{background:linear-gradient(135deg,#9370DB 0%,#8B008B 100%)}.shimmer{position:relative;overflow:hidden}.shimmer::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .1),transparent);animation:shimmer 2s infinite}@keyframes shimmer{to{left:100%}}.hover-lift{transition:all var(--transition-speed) ease}.hover-lift:hover{transform:translateY(-5px)}.hover-glow{transition:all var(--transition-speed) ease}.hover-glow:hover{box-shadow:0 0 30px rgb(252 185 0 / .6)}[data-tooltip]{position:relative;cursor:help}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-10px);background:var(--dark-bg);color:#fff;padding:8px 12px;border-radius:8px;font-size:.85rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all 0.3s ease;border:2px solid var(--primary-color);z-index:1000}[data-tooltip]:hover::after{opacity:1;transform:translateX(-50%) translateY(-5px)}@keyframes successPulse{0%,100%{box-shadow:0 0 0 0 rgb(40 167 69 / .7)}50%{box-shadow:0 0 0 15px #fff0}}.success-animation{animation:successPulse 1s ease-out}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,.btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*{-webkit-tap-highlight-color:#fff0}.skeleton{background:linear-gradient(90deg,rgb(255 255 255 / .1) 25%,rgb(255 255 255 / .2) 50%,rgb(255 255 255 / .1) 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}