.event-modal-overlay{--modal-bg:#121212;--modal-surface:rgba(30,30,30,0.6);--modal-border:rgba(255,255,255,0.08);--accent-gold:#FFD700;--text-primary:#FFFFFF;--text-secondary:rgba(255,255,255,0.6);--glass-blur:blur(24px);--transition-spring:cubic-bezier(0.175,0.885,0.32,1.275);position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:hidden}.event-modal-container{width:100%;max-width:1100px;height:90vh;max-height:800px;background:var(--modal-bg);border-radius:24px;border:1px solid var(--modal-border);box-shadow:0 25px 50px -12px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.05);display:flex;overflow:hidden;position:relative;transform:translateZ(0)}.event-modal-close{position:absolute;top:1.5rem;right:1.5rem;z-index:50;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}.event-modal-close:hover{background:rgba(255,255,255,.9);color:black;transform:rotate(90deg) scale(1.1)}.event-modal-image-col{flex:5.5 1;position:relative;height:100%;overflow:hidden;background:#000}.event-modal-image{width:100%;height:105%;object-fit:cover;opacity:.9;transition:transform .5s ease-out}.event-modal-image-col:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 40%,rgba(0,0,0,.4));pointer-events:none}.event-modal-content-col{flex:4.5 1;background:linear-gradient(145deg,rgba(20,20,20,1),rgba(10,10,10,1));display:flex;flex-direction:column;position:relative;height:100%;overflow:hidden}.event-modal-scroll{padding:2.5rem;overflow-y:auto;flex:1 1;height:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.event-modal-scroll::-webkit-scrollbar{width:6px}.event-modal-scroll::-webkit-scrollbar-track{background:transparent}.event-modal-scroll::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.2);border-radius:10px}.modal-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:rgba(255,215,0,.1);color:var(--accent-gold);border:1px solid rgba(255,215,0,.2);border-radius:100px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;box-shadow:0 0 15px rgba(255,215,0,.05)}.modal-title-lg{font-size:2.5rem;font-weight:800;line-height:1.1;margin-bottom:.5rem;background:linear-gradient(90deg,#ffffff,#e0e0e0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.modal-subtitle-lg{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem;font-weight:400;line-height:1.5}.modal-info-grid{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--modal-border)}.info-item{display:flex;gap:1rem;align-items:flex-start}.info-icon-box{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:var(--text-primary);border:1px solid rgba(255,255,255,.05);flex-shrink:0}.info-text h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.25rem}.info-text p{font-weight:500;line-height:1.4}.info-text p,.modal-description-box h3{font-size:1rem;color:var(--text-primary)}.modal-description-box h3{font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.modal-description-box p{color:rgba(255,255,255,.75);line-height:1.7;font-size:.95rem}.modal-actions-footer{padding:1.5rem 2rem 2rem;border-top:1px solid var(--modal-border);background:linear-gradient(0deg,rgba(20,20,20,1),rgba(20,20,20,.95));display:flex;gap:1rem;flex-wrap:wrap;z-index:10;flex-shrink:0}.btn-premium{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;border-radius:12px;font-weight:600;font-size:1rem;transition:all .3s var(--transition-spring);cursor:pointer;min-width:160px}.btn-gold{background:var(--accent-gold);color:#000;border:none;box-shadow:0 4px 15px rgba(255,215,0,.2)}.btn-gold:hover{transform:translateY(-2px);background:#FFED4D;box-shadow:0 8px 25px rgba(255,215,0,.4)}.btn-glass{background:rgba(255,255,255,.05);color:white;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-glass:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}@media (max-width:768px){.event-modal-overlay{padding:0;align-items:flex-end}.event-modal-container{height:100vh;max-height:100vh;max-width:100vw;border-radius:0;flex-direction:column;border:none}.event-modal-image-col{flex:none;height:40vh;width:100%;-webkit-mask-image:linear-gradient(180deg,black 80%,transparent);mask-image:linear-gradient(180deg,black 80%,transparent)}.event-modal-content-col{flex:1 1;margin-top:-40px;border-radius:24px 24px 0 0;background:#121212;box-shadow:0 -10px 40px rgba(0,0,0,.5);border-top:1px solid rgba(255,255,255,.1);z-index:10;height:auto}.event-modal-scroll{padding:1.5rem 1.5rem 6rem}.event-modal-close{top:1rem;right:1rem;width:40px;height:40px}.modal-title-lg{font-size:1.75rem}.btn-premium{width:100%;padding:.875rem}.modal-actions-footer{flex-direction:column}}.event-list-section{padding-top:4rem;padding-bottom:3rem;position:relative;z-index:20;margin-top:0}.event-list-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 15% 30%,rgba(237,28,36,.08) 0,transparent 70%),radial-gradient(ellipse 50% 60% at 85% 60%,rgba(255,195,0,.06) 0,transparent 70%),radial-gradient(ellipse 80% 40% at 50% 80%,rgba(255,140,0,.04) 0,transparent 60%);filter:blur(80px)}.filter-scroll-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;margin-bottom:1rem;position:relative;z-index:10;scrollbar-width:none;-ms-overflow-style:none}.filter-scroll-container::-webkit-scrollbar{display:none}.filter-bar{display:flex;gap:.75rem;margin-bottom:0;border-bottom:none;padding:.5rem 1.5rem;min-width:min-content}.filter-pill{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.6rem 1.25rem;border-radius:50px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;overflow:hidden}.filter-pill:hover{background:rgba(255,255,255,.1);color:var(--color-white);border-color:rgba(255,255,255,.25)}.filter-pill.active{background:var(--color-accent-1);color:#000;border-color:var(--color-accent-1);box-shadow:0 4px 12px rgba(255,215,0,.2)}.sub-filter-scroll-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;margin-bottom:1.5rem;scrollbar-width:none;-ms-overflow-style:none}.sub-filter-scroll-container::-webkit-scrollbar{display:none}.sub-filter-track{display:flex;gap:.6rem;min-width:min-content;padding:0 2px}.sub-filter-chip{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.6);padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.sub-filter-chip:hover{background:rgba(255,255,255,.08);color:var(--color-white);border-color:rgba(255,255,255,.2)}.sub-filter-chip.active{background:rgba(255,255,255,.15);border-color:var(--color-accent-1);color:var(--color-accent-1)}.events-grid{display:flex;flex-direction:column;gap:.5rem}.event-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;background:rgba(255,255,255,.02);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--color-white);position:relative;overflow:hidden;min-height:72px}.event-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,215,0,.2);box-shadow:0 0 20px rgba(255,195,0,.03);transform:none}.event-main-link{display:grid;grid-template-columns:56px 1fr;align-items:center;grid-gap:1rem;gap:1rem;flex:1 1;text-decoration:none;color:inherit;z-index:1;min-width:0}.event-date-box{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;padding:.35rem;width:56px;height:56px;background:rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.05);line-height:1;transition:all .2s ease;flex-shrink:0}.event-item:hover .event-date-box{background:rgba(255,215,0,.08);border-color:rgba(255,215,0,.15)}.date-day{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-white);margin-bottom:1px}.event-item:hover .date-day{color:var(--color-accent-1)}.date-month{font-size:.65rem;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.5);letter-spacing:1px}.event-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;text-transform:none;margin-bottom:.25rem;line-height:1.3;letter-spacing:-.01em;transition:color .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-main-link:hover .event-title{color:var(--color-accent-1)}.event-description-desktop{display:none}.event-meta-row{flex-wrap:wrap;gap:.75rem;margin-bottom:0}.event-meta-row,.meta-badge{display:flex;align-items:center}.meta-badge{gap:.35rem;padding:0;border-radius:0;font-size:.8rem;font-weight:500;text-transform:none;letter-spacing:0;transition:all .2s ease;border:none;background:transparent}.location-badge{color:rgba(255,255,255,.55)}.location-badge svg{width:13px;height:13px}.event-item:hover .location-badge{color:rgba(255,255,255,.75)}.genre-badge{color:rgba(255,255,255,.45);padding-left:.75rem;border-left:1px solid rgba(255,255,255,.15)}.event-item:hover .genre-badge{color:rgba(255,255,255,.65)}.event-content{min-width:0;flex:1 1}.event-description-wrapper{display:none}.event-actions{display:flex;align-items:center;gap:.5rem}.event-action-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;background:transparent;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:.8rem}.event-action-btn svg{width:16px;height:16px}.event-action-btn:hover:not(.disabled){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);color:var(--color-white)}.event-action-btn.disabled{opacity:.35;cursor:not-allowed;pointer-events:auto}.action-label{font-size:.8rem;font-weight:500;letter-spacing:0}.event-arrow-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.15);background:transparent;transition:all .2s ease;margin-left:0}.event-arrow-btn svg{width:18px;height:18px}.event-item:hover .event-arrow-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:var(--color-white)}.load-more-container{margin-top:4rem;margin-bottom:5rem;display:flex;justify-content:center}.load-more-btn{color:var(--color-white);font-size:.85rem;text-transform:uppercase;font-weight:600;letter-spacing:1px;padding:.75rem 2rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.15);border-radius:6px;transition:all .2s ease}.load-more-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}.event-flyer-thumb{width:56px;height:56px;border-radius:4px;overflow:hidden;position:relative;z-index:2;cursor:pointer;flex-shrink:0;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.3)}.event-flyer-thumb:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.5)}.event-flyer-thumb img{width:100%;height:100%;object-fit:cover}@media (min-width:901px){.event-item{padding:1.25rem 1.5rem;gap:1.75rem;min-height:180px}.event-flyer-thumb{width:160px!important;height:160px!important;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.5)}.event-flyer-thumb:hover{transform:scale(1.04);box-shadow:0 8px 30px rgba(0,0,0,.7)}.event-main-link{grid-template-columns:80px 1fr;gap:1.5rem}.event-date-box{width:80px;height:80px;padding:.6rem;border-radius:10px}.date-day{font-size:2rem;margin-bottom:3px}.date-month{font-size:.75rem}.event-content{display:flex;flex-direction:column;gap:.65rem}.event-title-section{display:flex;flex-direction:column;gap:.3rem}.event-title{font-size:1.4rem;font-weight:700;margin-bottom:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.event-subtitle-desktop{display:block;font-size:.9rem;color:rgba(255,255,255,.65);line-height:1.4;font-weight:500;margin:0}.event-item:hover .event-subtitle-desktop{color:rgba(255,255,255,.8)}.event-description-wrapper{display:block;margin-top:.25rem}.event-description-desktop{display:block;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.55);margin:0}.event-item:hover .event-description-desktop{color:rgba(255,255,255,.7)}.event-meta-row{gap:.85rem}.meta-badge{font-size:.85rem;gap:.4rem}.location-badge{color:rgba(255,255,255,.6)}.location-badge svg{width:14px;height:14px}.event-item:hover .location-badge{color:rgba(255,255,255,.8)}.city-badge{color:rgba(255,255,255,.55);padding-left:.75rem;border-left:1px solid rgba(255,255,255,.15);font-weight:600}.event-item:hover .city-badge{color:rgba(255,255,255,.75)}.time-badge{color:rgba(255,255,255,.55);padding-left:.75rem;border-left:1px solid rgba(255,255,255,.15)}.time-badge svg{width:14px;height:14px}.event-item:hover .time-badge{color:rgba(255,255,255,.75)}.event-actions{gap:.6rem}.event-action-btn{padding:.6rem 1rem;font-size:.85rem}.event-action-btn svg{width:18px;height:18px}.event-arrow-btn{width:40px;height:40px}.event-arrow-btn svg{width:20px;height:20px}}@media (max-width:900px){.event-item{padding:.65rem .85rem;gap:.75rem}.event-main-link{gap:.85rem}.event-actions{gap:.4rem}.event-action-btn{padding:.4rem .6rem;font-size:.75rem}.action-label{display:none}}@media (max-width:600px){.event-list-section{padding-top:2rem;padding-bottom:2rem}.genre-dropdown{width:100%;min-width:unset}.events-grid{gap:.35rem}.event-item{padding:.5rem .75rem;position:relative;border-radius:6px;overflow:hidden;min-height:64px}.event-item,.event-main-link{flex-direction:row;align-items:center;gap:.75rem}.event-main-link{display:flex;width:100%;flex:1 1;grid-template-columns:none;padding-right:45px;min-width:0}.event-flyer-thumb{width:48px;height:48px;border-radius:4px;flex-shrink:0;margin-right:0;box-shadow:0 2px 6px rgba(0,0,0,.3)}.event-flyer-thumb:hover{transform:none}.event-date-box{height:48px;width:44px;min-width:44px;padding:0;justify-content:center;background:rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.05);border-radius:4px}.date-day{font-size:1.15rem;line-height:1;color:var(--color-white)}.date-month{font-size:.6rem;color:rgba(255,255,255,.5);margin-top:1px}.event-content{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1 1}.event-title{font-size:.95rem;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-meta-row{gap:.5rem;margin-bottom:0}.meta-badge{padding:0;font-size:.7rem;color:rgba(255,255,255,.45)}.meta-badge svg{width:11px;height:11px}.genre-badge{color:rgba(255,255,255,.4);padding-left:.5rem;border-left:1px solid rgba(255,255,255,.1)}.city-badge,.event-actions .event-action-btn,.event-description-desktop,.event-subtitle-desktop,.time-badge{display:none}.event-actions{position:absolute;right:0;top:0;bottom:0;width:60px;margin:0;display:flex;align-items:center;justify-content:flex-end;padding:0 .75rem 0 0;background:linear-gradient(90deg,transparent 0,rgba(0,0,0,.95) 60%);z-index:10}.event-arrow-btn{width:32px;height:32px;background:transparent;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.15);margin:0;border-radius:50%}.event-arrow-btn svg{width:16px;height:16px}.event-item:active .event-arrow-btn{transform:scale(.95);background:rgba(255,255,255,.08)}}