.ec-wrap{height:100%;position:relative}.ec-card{height:100%;color:inherit;background:#141118;border:1px solid #715aff2e;border-radius:14px;flex-direction:column;text-decoration:none;transition:transform .22s,box-shadow .3s,border-color .25s;display:flex;overflow:hidden;box-shadow:0 4px 18px #00000073}.ec-card:hover,.ec-card:focus-visible{border-color:#715aff99;outline:none;transform:translateY(-4px);box-shadow:0 12px 36px #0009,0 0 36px #715aff52}.ec-media{aspect-ratio:16/10;background:linear-gradient(135deg,#715aff47,#00b4d833);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ec-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block;position:absolute;inset:0}.ec-card:hover .ec-img{transform:scale(1.05)}.ec-media-out .ec-img{filter:grayscale(.55)brightness(.7)}.ec-noimg{opacity:.45;font-size:2rem}.ec-tag{z-index:2;-webkit-backdrop-filter:blur(6px);color:#67e8f9;text-transform:uppercase;letter-spacing:.04em;background:#0a0a0c9e;border:1px solid #22d3ee66;border-radius:9999px;padding:3px 10px;font-size:.66rem;font-weight:700;position:absolute;top:10px;left:10px}.ec-badge{z-index:2;text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;padding:3px 10px;font-size:.66rem;font-weight:800;position:absolute;bottom:10px;left:10px}.ec-badge-out{color:#fff;background:#ef4444}.ec-badge-low{color:#1a1206;background:#f59e0bf5}.ec-body{flex-direction:column;flex:1;gap:3px;padding:12px 14px 14px;display:flex}.ec-date{color:#22d3ee;letter-spacing:.01em;margin:0;font-size:.78rem;font-weight:700}.ec-time{color:#ffffff8c;font-weight:600}.ec-name{color:#fff;letter-spacing:-.01em;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:1rem;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.ec-venue{color:#fff9;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.ec-artist{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:.76rem;font-weight:600;overflow:hidden}.ec-artist-name{color:#c084fc;font-weight:800}.ec-price{color:#c084fc;margin:auto 0 0;padding-top:8px;font-size:.9rem;font-weight:800}.ec-price-out{color:#f87171}.ec-share{z-index:3;-webkit-backdrop-filter:blur(6px);color:#00b4d8;cursor:pointer;opacity:0;background:#0a0a0cb3;border:1px solid #00b4d866;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:opacity .2s,background .2s;display:flex;position:absolute;top:10px;right:10px}.ec-wrap:hover .ec-share,.ec-share:focus-visible{opacity:1}.ec-share:hover{background:#00b4d840}@media (hover:none){.ec-share{opacity:1}}
.genre-row{width:100%;margin-bottom:3rem}.genre-row-header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 2px;display:flex}.genre-row-title{letter-spacing:-.02em;text-transform:uppercase;background:linear-gradient(90deg,#fff,#ffffffb8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem;font-weight:900}.genre-row-seeall{color:#00b4d8;flex-shrink:0;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s}.genre-row-seeall:hover{color:#5fd3ef}.genre-row-viewport{align-items:stretch;gap:8px;display:flex}.genre-row-btn{color:#a682ff;cursor:pointer;background:#715aff14;border:1px solid #715aff59;border-radius:14px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:44px;transition:all .2s;display:flex}.genre-row-btn:hover{background:#715aff38;border-color:#715affa6;box-shadow:0 0 16px #715aff47}.genre-row-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;gap:12px;min-width:0;padding-bottom:8px;display:flex;overflow-x:auto}.genre-row-track::-webkit-scrollbar{display:none}.genre-row-card{scroll-snap-align:start;flex-shrink:0;width:clamp(220px,22vw,300px)}.ec-calendar-rows .genre-row-card{width:clamp(160px,18vw,210px)}.ec-calendar-rows .genre-row-title{font-size:1.1rem}@media (max-width:767px){.genre-row-title{font-size:1.15rem}.genre-row-card{scroll-snap-align:center;width:85vw}.genre-row-btn{display:none}.genre-row-viewport{gap:0}.ec-calendar-rows .genre-row-card{width:clamp(150px,42vw,200px)}}
