@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700&family=Space+Mono:wght@400;700&display=swap');

.noe-calendar {
    --neon:   #e91e8c;
    --neon2:  #00bfa5;
    --gold:   #FFD23F;
    --vip:    #ff8c00;
    --dark:   #0d0d14;
    --dark2:  #16161e;
    --dark3:  #1a1a24;
    --card:   #16161e;
    --border: rgba(31,41,55,0.5);
    --text:   #F0F0FF;
    --muted:  #9ca3af;
    background: var(--dark);
    color: var(--text);
    font-family: 'DM Sans', sans-serif;
    border-radius: 16px;
    position: relative;
}
.noe-calendar::before {
    content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
    background: radial-gradient(ellipse 70% 40% at 15% 5%,rgba(255,45,120,.08) 0%,transparent 60%),
                radial-gradient(ellipse 50% 30% at 85% 90%,rgba(0,245,212,.05) 0%,transparent 60%);
}
.noe-calendar > * { position:relative; z-index:1; }

/* Filter bar */
.noe-filter-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:20px 24px 14px; border-bottom:1px solid var(--border); }
.noe-filter-chips { display:flex; gap:6px; flex-wrap:wrap; }
.noe-chip { padding:6px 16px; border-radius:100px; background:var(--card); border:1px solid var(--border); color:var(--muted); font-size:12px; font-weight:700; cursor:pointer; transition:all .2s; text-transform:uppercase; letter-spacing:.07em; font-family:'Space Mono',monospace; }
.noe-chip:hover,.noe-chip.active { background:var(--neon); color:#fff; border-color:var(--neon); box-shadow:0 0 14px rgba(255,45,120,.4); }
.noe-search-wrap { position:relative; min-width:200px; }
.noe-search-icon { position:absolute; left:12px; top:50%; transform:translateY(-50%); font-size:13px; }
.noe-search-wrap input { background:var(--card); border:1px solid var(--border); border-radius:100px; padding:8px 16px 8px 34px; color:var(--text); font-size:13px; width:100%; outline:none; font-family:'DM Sans',sans-serif; transition:border-color .2s; }
.noe-search-wrap input:focus { border-color:var(--neon); }
.noe-search-wrap input::placeholder { color:var(--muted); }

/* Featured strip */
.noe-featured-strip { padding:20px 24px 0; }
.noe-section-label { font-family:'Space Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--neon); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.noe-section-label::after { content:''; flex:1; height:1px; background:var(--border); }
.noe-featured-scroll { display:flex; gap:14px; overflow-x:auto; scrollbar-width:none; padding-bottom:6px; }
.noe-featured-scroll::-webkit-scrollbar { display:none; }
.noe-featured-card { min-width:340px; background:var(--card); border:1px solid var(--border); border-radius:12px; overflow:hidden; display:flex; cursor:pointer; transition:all .25s; flex-shrink:0; text-decoration:none; color:var(--text); }
.noe-featured-card:hover { border-color:var(--neon); transform:translateY(-2px); box-shadow:0 14px 36px rgba(255,45,120,.18); color:var(--text); }
.noe-featured-img { width:90px; flex-shrink:0; object-fit:cover; }
.noe-featured-img-placeholder { width:90px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:2rem; position:relative; }
.noe-featured-img-placeholder::before { content:''; position:absolute; inset:0; background:var(--grad,linear-gradient(135deg,#FF2D78,#FF6B6B)); opacity:.8; }
.noe-featured-img-placeholder span { position:relative; z-index:1; }
.noe-featured-info { padding:14px 16px; flex:1; min-width:0; }
.noe-feat-title { font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:.03em; margin-bottom:4px; }
.noe-feat-venue { font-size:12px; color:var(--muted); margin-bottom:4px; }
.noe-feat-time  { font-family:'Space Mono',monospace; font-size:11px; color:var(--neon2); }
.noe-feat-btns  { display:flex; gap:5px; margin-top:8px; flex-wrap:wrap; }

/* View controls */
.noe-view-controls { display:flex; align-items:center; justify-content:space-between; padding:18px 24px 14px; }
.noe-month-nav { display:flex; align-items:center; gap:12px; }
.noe-month-label { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:.06em; min-width:190px; text-align:center; margin:0; }
.noe-month-btn { background:var(--card); border:1px solid var(--border); color:var(--text); width:34px; height:34px; border-radius:50%; cursor:pointer; font-size:1.1rem; line-height:1; transition:all .2s; }
.noe-month-btn:hover { background:var(--neon); border-color:var(--neon); }
.noe-view-toggle { display:flex; gap:3px; background:var(--card); border:1px solid var(--border); border-radius:8px; padding:3px; }
.noe-view-btn { padding:5px 16px; border:none; background:transparent; color:var(--muted); cursor:pointer; font-size:11px; font-weight:700; border-radius:5px; transition:all .2s; text-transform:uppercase; letter-spacing:.06em; font-family:'DM Sans',sans-serif; }
.noe-view-btn.active { background:var(--neon); color:#fff; }

/* Events container */
.noe-events-container { padding:0 24px 32px; }
.noe-loading { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px; gap:16px; color:var(--muted); font-size:14px; }
.noe-spinner { width:36px; height:36px; border:3px solid var(--border); border-top-color:var(--neon); border-radius:50%; animation:noe-spin .7s linear infinite; }
@keyframes noe-spin { to{ transform:rotate(360deg); } }
.noe-empty { text-align:center; padding:60px 20px; color:var(--muted); }
.noe-empty-icon { font-size:3rem; opacity:.4; margin-bottom:12px; }
.noe-empty h3 { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:.05em; color:var(--text); opacity:.5; margin-bottom:6px; }

/* ── Category badges (used in list + featured strip) ────────── */
.noe-cat-badge { display:inline-block; font-family:'Space Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.1em; padding:3px 9px; border-radius:5px; margin-bottom:10px; font-weight:700; }
.noe-cat-clubs    { background:rgba(233,30,140,.15);  color:#e91e8c; border:1px solid rgba(233,30,140,.4); }
.noe-cat-concerts { background:rgba(0,191,165,.14);   color:#00bfa5; border:1px solid rgba(0,191,165,.4); }
.noe-cat-sports   { background:rgba(251,191,36,.12);  color:#fbbf24; border:1px solid rgba(251,191,36,.4); }
.noe-cat-comedy   { background:rgba(168,85,247,.14);  color:#a855f7; border:1px solid rgba(168,85,247,.4); }
.noe-cat-food     { background:rgba(255,140,0,.14);   color:#ff8c00; border:1px solid rgba(255,140,0,.4); }
.noe-cat-dayclubs { background:#2d1500;               color:#ff8c00; border:1px solid rgba(255,140,0,.4); }
.noe-cat-nightclubs { background:#1e0a3c;              color:#a855f7; border:1px solid rgba(168,85,247,.6); }
.noe-cat-shows    { background:#2d0018;               color:#e91e8c; border:1px solid rgba(233,30,140,.4); }
.noe-cat-tours    { background:#002a2a;               color:#00bfa5; border:1px solid rgba(0,191,165,.4); }
.noe-cat-general  { background:rgba(255,255,255,.06); color:#9ca3af; border:1px solid rgba(255,255,255,.1); }

/* ── Action buttons ────────────────────────────────────────── */
.noe-btn { display:inline-flex; align-items:center; gap:5px; padding:8px 14px; border-radius:7px; font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700; cursor:pointer; transition:all .2s; border:none; text-transform:uppercase; letter-spacing:.07em; text-decoration:none; white-space:nowrap; }
.noe-btn-gl    { background:rgba(255,255,255,.06); color:#fff; border:0.5px solid rgba(255,255,255,.13); box-shadow:0 0 6px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.noe-btn-gl:hover { background:rgba(255,255,255,.1); box-shadow:0 0 10px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.14); }
.noe-btn-vip   { background:rgba(255,255,255,.06); color:#fff; border:0.5px solid rgba(255,255,255,.13); box-shadow:0 0 6px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.noe-btn-vip:hover { background:rgba(255,255,255,.1); box-shadow:0 0 10px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.14); }
.noe-btn-tkt   { background:rgba(233,30,140,.12); color:#f472b6; border:1px solid rgba(233,30,140,.32); box-shadow:0 0 8px rgba(233,30,140,.14),inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.noe-btn-tkt:hover { background:rgba(233,30,140,.2); box-shadow:0 0 14px rgba(233,30,140,.24),inset 0 1px 0 rgba(255,255,255,.1); }

/* ── LIST VIEW ──────────────────────────────────────────────── */
.noe-list-view { display:flex; flex-direction:column; gap:8px; }

/* Wrapper groups the row + expandable detail panel */
.noe-list-entry { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--card); transition:border-color .2s; }
.noe-list-entry:hover { border-color:rgba(255,45,120,.5); }
.noe-list-entry.noe-open { border-color:var(--neon); box-shadow:0 0 24px rgba(255,45,120,.15); }

/* The clickable summary row */
.noe-list-row {
    display: grid;
    grid-template-columns: 80px 1fr;
    align-items: stretch;
    cursor: pointer;
    text-decoration: none;
    color: var(--text);
    min-height: 80px;
}
.noe-list-row:hover { color:var(--text); }

.noe-list-img-col { width:80px; height:80px; flex-shrink:0; }
.noe-list-thumb { width:100%; height:100%; object-fit:cover; display:block; }
.noe-list-thumb-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:1.8rem; position:relative; }
.noe-list-thumb-placeholder::before { content:''; position:absolute; inset:0; background:var(--grad,linear-gradient(135deg,#FF2D78,#FF6B6B)); opacity:.7; }
.noe-list-thumb-placeholder span { position:relative; z-index:1; }

/* Right side of the row: info + inline buttons */
.noe-list-row-right {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-width: 0;
}
.noe-list-organizer { display:flex; align-items:center; gap:6px; }
.noe-list-org-logo { width:16px; height:16px; border-radius:3px; object-fit:cover; flex-shrink:0; }
.noe-list-org-dot  { width:16px; height:16px; border-radius:3px; display:inline-flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; color:#fff; flex-shrink:0; }
.noe-list-org-name { font-family:'Space Mono',monospace; font-size:10px; font-weight:700; letter-spacing:.1em; color:var(--neon); text-transform:uppercase; }

.noe-list-title { font-weight:700; font-size:15px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.noe-list-sub { font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }

/* Buttons row — always visible, INSIDE the row */
.noe-list-btns { display:flex; gap:5px; flex-wrap:wrap; margin-top:6px; }
/* Compact button variant for list rows */
.noe-btn-sm { display:inline-flex; align-items:center; gap:4px; padding:5px 10px; border-radius:6px; font-family:'DM Sans',sans-serif; font-size:11px; font-weight:700; cursor:pointer; transition:all .2s; border:none; text-transform:uppercase; letter-spacing:.06em; text-decoration:none; white-space:nowrap; position:relative; overflow:hidden; }
.noe-btn-sm-gl::before,.noe-btn-sm-vip::before,.noe-btn-sm-tkt::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.03) 55%,transparent 100%); border-radius:inherit; pointer-events:none; }
.noe-btn-sm-gl  { background:rgba(255,255,255,.06); color:#fff; border:0.5px solid rgba(255,255,255,.13); box-shadow:0 0 6px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); min-width:90px; justify-content:center; height:26px; }
.noe-btn-sm-gl:hover  { background:rgba(255,255,255,.1); box-shadow:0 0 10px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.14); }
.noe-btn-sm-vip { background:rgba(255,255,255,.06); color:#fff; border:0.5px solid rgba(255,255,255,.13); box-shadow:0 0 6px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); min-width:90px; justify-content:center; height:26px; }
.noe-btn-sm-vip:hover { background:rgba(255,255,255,.1); box-shadow:0 0 10px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.14); }
.noe-btn-sm-tkt { background:rgba(233,30,140,.12); color:#fff; border:1px solid rgba(233,30,140,.32); box-shadow:0 0 8px rgba(233,30,140,.14),inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.noe-btn-sm-tkt:hover { background:rgba(233,30,140,.2); box-shadow:0 0 14px rgba(233,30,140,.24),inset 0 1px 0 rgba(255,255,255,.1); }
.noe-btn-sm-tkt.noe-btn-sm-tour { background:rgba(34,211,238,.12); color:#22d3ee; border:0.5px solid rgba(34,211,238,.35); box-shadow:0 0 8px rgba(34,211,238,.14),inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); font-size:12px; padding:6px 12px; min-width:90px; justify-content:center; height:26px; }
.noe-btn-sm-tkt.noe-btn-sm-tour:hover { background:rgba(34,211,238,.18); box-shadow:0 0 12px rgba(34,211,238,.2),inset 0 1px 0 rgba(255,255,255,.12); }

/* Expand chevron */
.noe-list-chevron {
    flex-shrink: 0;
    align-self: center;
    margin-right: 14px;
    color: var(--muted);
    font-size: 14px;
    transition: transform .25s;
    user-select: none;
}
.noe-open .noe-list-chevron { transform: rotate(180deg); color:var(--neon); }

/* ── Expandable detail panel ─────────────────────────────── */
.noe-list-detail {
    display: none;
    border-top: 1px solid var(--border);
    background: var(--dark3);
    padding: 18px 20px 20px;
    animation: noe-expand .2s ease;
}
.noe-list-entry.noe-open .noe-list-detail { display:block; }
@keyframes noe-expand { from{opacity:0;transform:translateY(-6px);} to{opacity:1;transform:none;} }

.noe-detail-hero { display:flex; gap:16px; align-items:flex-start; margin-bottom:16px; }
.noe-detail-hero-img { width:100px; height:100px; border-radius:10px; object-fit:cover; flex-shrink:0; }
.noe-detail-hero-img-ph { width:100px; height:100px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:2.5rem; position:relative; overflow:hidden; flex-shrink:0; }
.noe-detail-hero-img-ph::before { content:''; position:absolute; inset:0; background:var(--grad,linear-gradient(135deg,#FF2D78,#FF6B6B)); opacity:.75; }
.noe-detail-hero-img-ph span { position:relative; z-index:1; }

.noe-detail-hero-info { flex:1; min-width:0; }
.noe-detail-hero-title { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:.04em; line-height:1.1; margin-bottom:6px; }
.noe-detail-meta-grid { display:flex; flex-wrap:wrap; gap:8px; }
.noe-detail-chip { background:var(--dark2); border:1px solid var(--border); border-radius:6px; padding:5px 10px; font-size:12px; color:var(--muted); display:flex; align-items:center; gap:5px; }
.noe-detail-chip strong { color:var(--text); }

/* Organizer bar inside detail */
.noe-detail-org { display:flex; align-items:center; gap:10px; background:var(--dark2); border:1px solid var(--border); border-radius:8px; padding:10px 14px; margin-bottom:14px; }
.noe-detail-org-logo { width:36px; height:36px; border-radius:7px; object-fit:cover; flex-shrink:0; }
.noe-detail-org-ph { width:36px; height:36px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; color:#fff; flex-shrink:0; }
.noe-detail-org-name { font-weight:700; font-size:13px; }
.noe-detail-org-type { font-size:11px; color:var(--muted); text-transform:capitalize; }
.noe-detail-org-socials { margin-left:auto; display:flex; gap:8px; }
.noe-detail-org-social { font-size:16px; opacity:.7; text-decoration:none; transition:opacity .2s; }
.noe-detail-org-social:hover { opacity:1; }

.noe-detail-desc { font-size:13px; color:var(--muted); line-height:1.7; margin-bottom:16px; }
.noe-detail-actions { display:flex; gap:8px; flex-wrap:wrap; }

/* Large buttons for the detail panel */
.noe-btn-lg { display:inline-flex; align-items:center; gap:6px; padding:11px 22px; border-radius:8px; font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700; cursor:pointer; transition:all .2s; text-transform:uppercase; letter-spacing:.07em; text-decoration:none; white-space:nowrap; border:none; position:relative; overflow:hidden; }
.noe-btn-lg-gl::before,.noe-btn-lg-vip::before,.noe-btn-lg-tkt::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.03) 55%,transparent 100%); border-radius:inherit; pointer-events:none; }
.noe-btn-lg-gl  { background:rgba(255,255,255,.06); color:#fff; border:0.5px solid rgba(255,255,255,.13); box-shadow:0 0 8px rgba(255,255,255,.05),inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.noe-btn-lg-gl:hover  { background:rgba(255,255,255,.1); box-shadow:0 0 12px rgba(255,255,255,.09),inset 0 1px 0 rgba(255,255,255,.14); }
.noe-btn-lg-vip { background:rgba(255,255,255,.06); color:#fff; border:0.5px solid rgba(255,255,255,.13); box-shadow:0 0 8px rgba(255,255,255,.05),inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.noe-btn-lg-vip:hover { background:rgba(255,255,255,.1); box-shadow:0 0 12px rgba(255,255,255,.09),inset 0 1px 0 rgba(255,255,255,.14); }
.noe-btn-lg-tkt { background:rgba(233,30,140,.12); color:#fff; border:1px solid rgba(233,30,140,.32); box-shadow:0 0 10px rgba(233,30,140,.16),inset 0 1px 0 rgba(255,255,255,.09); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.noe-btn-lg-tkt.noe-btn-lg-tour { background:rgba(34,211,238,.12); color:#22d3ee; border:0.5px solid rgba(34,211,238,.35); box-shadow:0 0 10px rgba(34,211,238,.16),inset 0 1px 0 rgba(255,255,255,.09); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); font-size:13px; padding:7px 14px; justify-content:center; }
.noe-btn-lg-tkt.noe-btn-lg-tour:hover { background:rgba(34,211,238,.18); box-shadow:0 0 16px rgba(34,211,238,.24),inset 0 1px 0 rgba(255,255,255,.14); }
.noe-btn-lg-tkt:hover { background:rgba(233,30,140,.2); box-shadow:0 0 20px rgba(233,30,140,.28),inset 0 1px 0 rgba(255,255,255,.12); color:#fff; }

/* ── CALENDAR MONTH VIEW ────────────────────────────────────── */
.noe-cal-view { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden; }
.noe-cal-header { background:var(--card); text-align:center; padding:10px; font-family:'Space Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--neon); }
.noe-cal-day { background:var(--dark2); min-height:90px; padding:7px; transition:background .15s; }
.noe-cal-day:hover { background:var(--dark3); }
.noe-cal-day.other { opacity:.3; }
.noe-cal-day.today { background:rgba(255,45,120,.09); }
.noe-cal-day.today .noe-day-num { color:var(--neon); font-weight:700; }
.noe-day-num { font-family:'Space Mono',monospace; font-size:11px; color:var(--muted); margin-bottom:5px; }
.noe-cal-pill { font-size:10px; padding:2px 6px; border-radius:3px; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; font-weight:700; background:var(--neon); color:#fff; display:block; text-decoration:none; }
.noe-cal-pill:hover { opacity:.85; }
.noe-cal-pill.noe-cat-concerts { background:var(--neon2); color:var(--dark); }
.noe-cal-pill.noe-cat-sports   { background:var(--gold);  color:var(--dark); }
.noe-cal-pill.noe-cat-comedy   { background:#A855F7; }
.noe-cal-pill.noe-cat-food,.noe-cal-pill.noe-cat-dayclubs { background:#F97316; }
.noe-cal-more { font-size:10px; color:var(--muted); padding:1px 4px; }

/* Responsive */
@media(max-width:640px){
    .noe-filter-bar { flex-direction:column; align-items:flex-start; }
    .noe-view-controls { flex-direction:column-reverse; gap:10px; align-items:flex-start; }
    .noe-featured-card { min-width:280px; }
    .noe-list-title { font-size:13px; }
    .noe-detail-hero { flex-direction:column; }
    .noe-detail-hero-img, .noe-detail-hero-img-ph { width:100%; height:140px; }
    .noe-detail-actions { flex-direction:column; }
    .noe-btn-lg { width:100%; justify-content:center; }
}

/* ── Date pick button ───────────────────────────────────── */
.noe-date-pick-btn {
    display:inline-flex; align-items:center; gap:8px; cursor:pointer;
    background:var(--card); border:1px solid var(--border); border-radius:10px;
    padding:9px 20px; color:var(--text); font-family:'DM Sans',sans-serif;
    font-size:0.95rem; font-weight:600; transition:all .2s; flex:1; justify-content:center;
}
.noe-date-pick-btn:hover { border-color:var(--neon); color:var(--neon); }
.noe-date-label { pointer-events:none; }

/* ── Datepicker panel ───────────────────────────────────── */
.noe-datepicker-wrap { padding:0 24px 16px; }
.noe-datepicker { background:var(--dark3); border:1px solid var(--border); border-radius:14px; padding:18px; max-width:320px; margin:0 auto; }
.noe-dp-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.noe-dp-month-label { font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:.06em; color:var(--text); }
.noe-dp-nav { background:var(--card); border:1px solid var(--border); color:var(--text); width:28px; height:28px; border-radius:50%; cursor:pointer; font-size:.9rem; line-height:1; transition:all .2s; }
.noe-dp-nav:hover { background:var(--neon); border-color:var(--neon); color:#fff; }
.noe-dp-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.noe-dp-day-name { text-align:center; font-family:'Space Mono',monospace; font-size:9px; color:var(--muted); padding:4px 0; text-transform:uppercase; }
.noe-dp-cells { display:contents; }
.noe-dp-cell { text-align:center; padding:6px 2px; border-radius:6px; font-size:12px; cursor:pointer; color:var(--text); border:1px solid transparent; transition:all .12s; }
.noe-dp-cell.noe-dp-past { color:rgba(240,240,255,.2); cursor:not-allowed; }
.noe-dp-cell.noe-dp-empty { cursor:default; }
.noe-dp-cell.noe-dp-today { background:rgba(255,45,120,.15); border-color:var(--neon); color:var(--neon); font-weight:700; }
.noe-dp-cell.noe-dp-selected { background:var(--neon); color:#fff; border-color:var(--neon); }
.noe-dp-cell:not(.noe-dp-past):not(.noe-dp-empty):hover { background:var(--card); border-color:var(--neon); color:var(--neon); }
.noe-dp-cell.noe-dp-has-events::after { content:''; display:block; width:4px; height:4px; border-radius:50%; background:currentColor; margin:1px auto 0; }

/* ══ NEW FEATURES ══════════════════════════════════════════ */

/* Organizer name in list row — readable, no glow */
.noe-list-org-name {
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .03em;
    color: rgba(240,240,255,.7);
    text-transform: uppercase;
}

/* Filter row replaces old filter-bar */
.noe-filter-bar { display:none !important; }
.noe-filter-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border-bottom: 1px solid var(--border);
    position: relative;
    z-index: 300;
}

/* Dropdown wrap — ABOVE everything */
.noe-filter-dropdown-wrap {
    position: relative;
    z-index: 9999;
    flex-shrink: 0;
}

.noe-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px 12px;
    color: var(--text);
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}
.noe-filter-btn:hover,
.noe-filter-btn.open { border-color: var(--neon); color: var(--neon); }
.noe-filter-label { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.noe-dropdown-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 99999;
    background: #14142A;
    border: 1px solid rgba(255,45,120,.4);
    border-radius: 12px;
    padding: 6px;
    min-width: 190px;
    box-shadow: 0 20px 60px rgba(0,0,0,.9);
    display: none;
}
.noe-dropdown-menu.open { display: block; }

.noe-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #F0F0FF;
    font-family: 'DM Sans', sans-serif;
    font-weight: 500;
    transition: all .15s;
    white-space: nowrap;
    user-select: none;
}
.noe-dropdown-item:hover { background: rgba(255,45,120,.12); color: var(--neon); }
.noe-dropdown-item.active { background: rgba(255,45,120,.18); color: var(--neon); font-weight: 700; }

/* Search fills remaining space */
.noe-search-wrap { flex: 1; min-width: 0; position: relative; }

/* Keep date picker BELOW the dropdown */
.noe-view-controls { position: relative; z-index: 10; }
.noe-datepicker-wrap { position: relative; z-index: 20; }

/* Date separators for infinite scroll */
.noe-date-sep {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0 10px;
    font-family: 'Space Mono', monospace;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .12em;
}
.noe-date-sep::before,
.noe-date-sep::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border);
}
.noe-date-sep-label {
    color: #ffffff;
    white-space: nowrap;
    padding: 3px 10px;
    border: 1px solid rgba(255,45,120,.3);
    border-radius: 100px;
    background: rgba(255,45,120,.08);
}

/* Scroll sentinel */
.noe-sentinel {
    height: 1px;
    margin-top: 20px;
}
.noe-more-loading {
    text-align: center;
    padding: 20px;
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    color: var(--muted);
    letter-spacing: .08em;
}
