body,html{margin:0;padding:0;font-family:var(--font-montserrat),sans-serif;color:#f0f0f0;overflow-x:hidden}html{min-height:100%;background-color:#0c0a15}body{position:relative;background-color:transparent;padding-bottom:40px}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;background:linear-gradient(170deg,#23a6d5,#e73c7e);animation:none}@media (min-width:768px){body:before{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradientAnimation 15s ease infinite;will-change:background-position}}@keyframes gradientAnimation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}html::-webkit-scrollbar{display:none}.app-container{max-width:1200px;margin:0 auto;padding:20px;position:relative;z-index:2;display:flex;flex-direction:column;min-height:100vh}.main-content{flex-grow:1}a{color:#fff;text-decoration:none}.ad-card-container,.auth-panel,.calendar-placeholder,.event-card-link,.event-detail-page,.filters-panel{background:rgba(0,0,0,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px 0 rgba(0,0,0,.3)}select option{color:#213547;background:#fff}.success-message{color:#a5d6a7;background-color:rgba(46,125,50,.3);padding:10px;border-radius:6px}.error-message,.success-message{text-align:center;margin-bottom:15px}.error-message{color:#ff8a80}.error-message.small,.success-message.small{margin-top:15px;margin-bottom:0;font-size:.9rem}.back-link{background:none;border:none;padding:0;font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;color:rgba(255,255,255,.8);transition:color .2s}.back-link:hover{color:#fff}.scroll-to-top{position:fixed;bottom:30px;right:30px;background:rgba(231,60,126,.5);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:50px;height:50px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:1.5rem;z-index:1000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,.2);transition:all .3s ease}.scroll-to-top:hover{background:#e73c7e;transform:scale(1.1);box-shadow:0 6px 25px rgba(231,60,126,.4)}.site-footer-main{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:rgba(0,0,0,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:8px 20px;font-size:.8rem;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);text-align:center}.site-footer-main p{margin:0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px}.footer-divider{margin:0 8px;opacity:.5}.site-footer-main a{color:rgba(255,255,255,.8);text-decoration:underline;transition:color .2s}.site-footer-main a:hover{color:#fff}@media (max-width:640px){.footer-contact,.footer-copyright,.footer-divider{display:none}}.cookie-consent-banner{position:fixed;bottom:20px;left:20px;right:20px;width:auto;max-width:800px;margin:0 auto;background:rgba(20,20,30,.6);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:15px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:2000;box-shadow:0 8px 32px 0 rgba(0,0,0,.3);box-sizing:border-box}.cookie-consent-banner p{margin:0;font-size:.9rem;color:rgba(255,255,255,.8)}.cookie-consent-banner a{color:#fff;text-decoration:underline;font-weight:500}.cookie-consent-banner button{background-color:#d62c6c;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background-color .2s}.cookie-consent-banner button:hover{background-color:#c02760}@media (max-width:640px){.cookie-consent-banner{flex-direction:column;text-align:center;gap:15px;left:10px;right:10px}}.grecaptcha-badge{visibility:hidden}.recaptcha-notice{text-align:center;font-size:.75rem;color:rgba(255,255,255,.5);margin-top:25px}.recaptcha-notice a{color:rgba(255,255,255,.6)}.presence-marker-icon{border-radius:50%;border:2px solid rgba(255,255,255,.8);box-shadow:0 0 10px rgba(0,0,0,.5);transition:transform .2s ease-in-out}.leaflet-marker-icon:hover .presence-marker-icon{transform:scale(1.2)}.rbc-calendar{color:#fff}.rbc-btn-group{display:inline-flex}.rbc-btn-group button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;transition:background-color .2s;padding:8px 16px;border-radius:8px}.rbc-btn-group button:focus,.rbc-btn-group button:hover{background-color:rgba(255,255,255,.2);outline:none;box-shadow:none}.rbc-btn-group button.rbc-active{background-color:#e73c7e;border-color:#e73c7e;box-shadow:0 4px 15px rgba(231,60,126,.4)}.rbc-month-view,.rbc-time-view{border:1px solid rgba(255,255,255,.15);border-radius:8px;overflow:hidden}.rbc-header{border:none;padding:12px 0;font-weight:500;text-align:center;color:rgba(255,255,255,.8)}.rbc-month-view .rbc-header{border-bottom:1px solid rgba(255,255,255,.15)}.rbc-day-bg{border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.rbc-day-bg.rbc-off-range-bg{background:rgba(0,0,0,.25)!important}.rbc-off-range .rbc-date-cell{color:rgba(255,255,255,.3)}.rbc-day-bg.rbc-today{background-color:rgba(255,255,255,.15)!important}.rbc-day-cell.rbc-today .rbc-button-link{color:#fff!important}.rbc-day-slot,.rbc-time-content,.rbc-time-gutter,.rbc-time-header-content,.rbc-time-view{background-color:transparent!important}.rbc-time-content{border-top:1px solid rgba(255,255,255,.15)}.rbc-time-header-content>.rbc-row:first-child{border-bottom:1px solid rgba(255,255,255,.15)}.rbc-time-content>*+*>*{border-left:1px solid rgba(255,255,255,.15)}.rbc-day-slot .rbc-time-slot{border-top:1px solid rgba(255,255,255,.08)}.rbc-current-time-indicator{background-color:#e73c7e}.rbc-time-view .rbc-header.rbc-today{background-color:rgba(255,255,255,.15)}.rbc-day-slot.rbc-today{background-color:rgba(255,255,255,.08)!important}.rbc-day-slot .rbc-event,.rbc-event{border:none!important;padding:0!important;border-radius:6px}.rbc-day-slot .rbc-event,.rbc-event,.rbc-event.rbc-selected{background-color:transparent!important}.rbc-time-content::-webkit-scrollbar{width:10px}.rbc-time-content::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}.rbc-time-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:5px}.rbc-time-content::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.grid-skeleton-card{width:100%;height:450px;background:rgba(255,255,255,.05);border-radius:16px;animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}