/* ============================================================
   NETWORK18 LEADERSHIP SUMMIT — Backstage restyle  v2
   Paste into: Settings → Custom CSS
   Pairs with custom.js in Settings → Custom JavaScript
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --n18-red:#E4121C;
  --n18-red-2:#B0121A;
  --n18-red-deep:#7E1319;
  --n18-ink:#16181D;
  --n18-ink-2:#3A3F49;
  --n18-mut:#6B7280;
  --n18-paper:#FFFFFF;
  --n18-mist:#EEF1F5;
  --n18-line:rgba(15,18,24,.10);
  --n18-line-2:rgba(15,18,24,.06);
  --n18-display:'Archivo',system-ui,sans-serif;
  --n18-body:'Inter',system-ui,sans-serif;
  --n18-ticker-h:40px;
  --n18-nav-h:68px;
  --n18-shadow:0 18px 48px -24px rgba(15,18,24,.35);
  --n18-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- global type + neutralise editor gradients/tints ---------- */
body, .cm_root, .community-page-home{ font-family:var(--n18-body) !important; color:var(--n18-ink) !important; -webkit-font-smoothing:antialiased; }
.bs-section .background-layer{ background:none !important; background-image:none !important; opacity:1 !important; }
.bs-section{ background:var(--n18-paper) !important; }
.bs-page-container.page-container{ padding-top:calc(var(--n18-ticker-h) + var(--n18-nav-h)) !important; overflow-x:clip; }

/* Kill Backstage's own red tint variables wherever they appear */
[style*="--bs-ticket-primary-bg"]{ --bs-ticket-primary-bg:var(--n18-red) !important; }
:root{ --bs-primary-color:var(--n18-red); }

/* ============================================================
   CUSTOM CURSOR
   ============================================================ */
html.n18-cursor, html.n18-cursor *{ cursor:none !important; }
html.n18-cursor input, html.n18-cursor textarea, html.n18-cursor select,
html.n18-cursor [contenteditable]{ cursor:auto !important; }
.n18-cur-dot, .n18-cur-ring{ position:fixed; top:0; left:0; z-index:100000; pointer-events:none; border-radius:50%; mix-blend-mode:normal; }
.n18-cur-dot{ width:7px; height:7px; background:var(--n18-red); transform:translate(-50%,-50%); transition:width .2s var(--n18-ease), height .2s var(--n18-ease), background .2s; }
.n18-cur-ring{ width:34px; height:34px; border:1.5px solid rgba(228,18,28,.6); transform:translate(-50%,-50%); transition:width .22s var(--n18-ease), height .22s var(--n18-ease), border-color .22s, background .22s; }
html.n18-cursor.n18-cur-hot .n18-cur-ring{ width:58px; height:58px; border-color:var(--n18-red); background:rgba(228,18,28,.08); }
html.n18-cursor.n18-cur-hot .n18-cur-dot{ width:4px; height:4px; }
html.n18-cursor.n18-cur-down .n18-cur-ring{ width:26px; height:26px; }

/* ============================================================
   TICKER
   ============================================================ */
.n18-ticker{
  position:fixed; top:0; left:0; right:0; height:var(--n18-ticker-h);
  z-index:1002; overflow:hidden; display:flex; align-items:center;
  background:linear-gradient(90deg,var(--n18-red-2),var(--n18-red)) !important;
  border-bottom:1px solid rgba(0,0,0,.15);
}
.n18-ticker__track{ display:flex; width:max-content; will-change:transform; animation:n18-marquee 46s linear infinite; }
.n18-ticker:hover .n18-ticker__track{ animation-play-state:paused; }
.n18-ticker__group{ display:flex; align-items:center; flex:none; }
.n18-ticker__item{ color:#fff; font-family:var(--n18-display); font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; padding:0 6px; }
.n18-ticker__sep{ color:rgba(255,255,255,.6); padding:0 18px; font-size:11px; }
@keyframes n18-marquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ============================================================
   HEADER / NAV
   ============================================================ */
header.bs-main-menu.fixed{
  top:var(--n18-ticker-h) !important; height:var(--n18-nav-h) !important;
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:saturate(1.2) blur(10px) !important; -webkit-backdrop-filter:saturate(1.2) blur(10px) !important;
  border-bottom:1px solid var(--n18-line) !important; box-shadow:0 6px 24px -18px rgba(15,18,24,.5) !important;
  transition:background .3s ease, box-shadow .3s ease !important;
}
header.bs-main-menu .overlay{ display:none !important; }
header.bs-main-menu .bs-container{ max-width:1280px !important; }
header .left-menu{ display:flex !important; align-items:center !important; }
.n18-logo{ display:inline-flex; align-items:center; gap:2px; text-decoration:none !important; font-family:var(--n18-display); font-weight:900; font-size:25px; letter-spacing:-.02em; color:var(--n18-ink) !important; line-height:1; }
.n18-logo__mark{ background:var(--n18-red); color:#fff; padding:2px 8px 3px; border-radius:6px; margin-left:3px; }

.bs-nav-wrapper .page-links a.item{
  font-family:var(--n18-display) !important; font-weight:700 !important; text-transform:uppercase !important;
  letter-spacing:.08em !important; font-size:14px !important; color:var(--n18-ink) !important; padding:8px 2px !important;
  margin:0 16px !important; position:relative !important; transition:color .25s ease !important;
  background:transparent !important; border:none !important; box-shadow:none !important; border-radius:0 !important;
}
.bs-nav-wrapper .page-links a.item.nav-active,
.bs-nav-wrapper .page-links a.item:hover{ background:transparent !important; box-shadow:none !important; }
.bs-nav-wrapper .page-links a.item .active-bdr{ display:none !important; }
.bs-nav-wrapper .page-links a.item::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px; background:var(--n18-red); transition:right .28s var(--n18-ease); }
.bs-nav-wrapper .page-links a.item:hover{ color:var(--n18-red) !important; }
.bs-nav-wrapper .page-links a.item:hover::after,
.bs-nav-wrapper .page-links a.item.nav-active::after{ right:0; }
.bs-nav-wrapper .page-links a.item.nav-active{ color:var(--n18-red) !important; }

header .bs-button{
  background:var(--n18-red) !important; color:#fff !important; border:none !important; font-family:var(--n18-display) !important;
  font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase !important; font-size:13px !important;
  padding:11px 24px !important; border-radius:8px !important; box-shadow:0 12px 26px -14px rgba(228,18,28,.8) !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}
header .bs-button:hover{ background:var(--n18-red-2) !important; transform:translateY(-2px) !important; }

/* ============================================================
   HERO  (.main-banner) — fits within one screen
   ============================================================ */
section.community-section-banner,
section.main-banner{ position:relative !important; overflow:hidden !important; }
section.main-banner{ min-height:calc(100vh - var(--n18-ticker-h) - var(--n18-nav-h)) !important; display:flex !important; align-items:center !important; }
section.main-banner .background-layer{
  background:
    radial-gradient(120% 90% at 82% 15%, rgba(255,255,255,.10), transparent 55%),
    radial-gradient(90% 120% at 12% 115%, rgba(0,0,0,.5), transparent 60%),
    linear-gradient(150deg,#C4232B 0%,#A81C24 45%,#7E1319 100%) !important;
}
section.main-banner .foreground-layer{ padding:0 40px !important; height:auto !important; width:100% !important; }
section.main-banner .foreground-layer.middle-align{ align-items:center !important; }
section.main-banner .banner-widget{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important; align-items:center !important;
  max-width:1280px !important; margin:0 auto !important; gap:24px !important; width:100% !important;
}
section.main-banner .banner-content{ position:relative; z-index:3; max-width:640px; padding:10px 0; }

/* constellation canvas (injected) fills the right half */
.n18-constellation{ position:absolute; top:0; right:0; width:52%; height:100%; z-index:2; pointer-events:none; }
@media (min-width:769px){ section.main-banner .banner-content{ grid-column:1 !important; } }

/* giant watermark 18 sits behind the canvas */
section.main-banner::after{
  content:"18"; position:absolute; right:1%; top:50%; transform:translateY(-50%);
  font-family:var(--n18-display); font-weight:900; font-size:min(40vw,520px); line-height:.8;
  color:rgba(255,255,255,.05); z-index:1; pointer-events:none; letter-spacing:-.04em; animation:n18-breathe 9s ease-in-out infinite;
}
@keyframes n18-breathe{ 0%,100%{opacity:.5} 50%{opacity:1} }

section.main-banner .section-head{
  font-family:var(--n18-display) !important; font-weight:900 !important;
  font-size:clamp(30px,4.4vw,62px) !important; line-height:.94 !important; letter-spacing:-.02em !important;
  text-transform:uppercase !important; color:#fff !important; margin:10px 0 12px !important; text-shadow:0 8px 30px rgba(0,0,0,.25);
}

/* eyebrow + subtitle (injected) */
.n18-eyebrow{ display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.9); font-family:var(--n18-display); font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:11.5px; margin-bottom:2px; }
.n18-eyebrow::before{ content:""; width:9px; height:9px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.22); }
.n18-subtitle{ color:rgba(255,255,255,.92); font-size:clamp(15px,1.5vw,19px); font-weight:500; margin:0 0 16px; max-width:520px; }

/* date/time/venue chips — compact */
section.main-banner .bs-dtl .items{ display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin:0 0 18px !important; }
section.main-banner .bs-dtl .item.ember-view,
section.main-banner .bs-dtl > .items > .item{
  background:rgba(255,255,255,.12) !important; border:1px solid rgba(255,255,255,.25) !important; border-radius:999px !important;
  padding:8px 14px !important; backdrop-filter:blur(6px); color:#fff !important; transition:background .2s ease, transform .2s ease !important;
}
section.main-banner .bs-dtl .item:hover{ background:rgba(255,255,255,.2) !important; transform:translateY(-2px) !important; }
section.main-banner .bs-dtl .dtl-text, section.main-banner .bs-dtl time, section.main-banner .bs-dtl .theme-icon{ color:#fff !important; font-weight:600 !important; font-size:13px !important; }

/* HIDE the duplicate native countdown widget — keep only the injected one */
section.main-banner .bs-countdown-wgt, section.main-banner .bs-countdown{ display:none !important; }

/* hero buttons — hide the native ticket-state button, use injected pair */
section.main-banner .bs-btn-wgt,
section.main-banner .btn-widget,
section.main-banner .bs-button{ display:none !important; }
.n18-hero-cta{ display:flex !important; flex-wrap:wrap; gap:12px; align-items:center; margin-top:4px; }
.n18-hero-cta a{ display:inline-flex; align-items:center; width:auto; text-decoration:none !important; font-family:var(--n18-display); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:13.5px; white-space:nowrap; border-radius:9px; transition:transform .18s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.n18-btn-primary{ background:#fff !important; color:var(--n18-red) !important; padding:14px 30px; box-shadow:0 16px 34px -18px rgba(0,0,0,.5); }
.n18-btn-primary:hover{ transform:translateY(-3px); }
.n18-btn-secondary{ color:#fff !important; border:2px solid rgba(255,255,255,.55); padding:12px 26px; }
.n18-btn-secondary:hover{ background:rgba(255,255,255,.12); border-color:#fff; transform:translateY(-3px); }

/* countdown — compact boxes */
.n18-countdown{ margin-top:22px; }
.n18-cd__label{ font-family:var(--n18-display); font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:11px; color:rgba(255,255,255,.72); margin-bottom:9px; }
.n18-cd__grid{ display:flex; gap:10px; flex-wrap:wrap; }
.n18-cd__cell{ min-width:70px; padding:11px 8px 8px; text-align:center; border:1px solid rgba(255,255,255,.22); border-radius:12px; background:rgba(255,255,255,.06); backdrop-filter:blur(4px); }
.n18-cd__num{ font-family:var(--n18-display); font-weight:900; font-size:32px; line-height:1; color:#fff; }
.n18-cd__lbl{ font-family:var(--n18-display); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:10px; color:rgba(255,255,255,.68); margin-top:6px; }

/* scroll cue */
.n18-scroll{ position:absolute; left:40px; bottom:16px; z-index:4; color:rgba(255,255,255,.75); font-family:var(--n18-display); font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:10px; }
.n18-scroll span{ display:block; margin:6px 0 0 4px; width:16px; height:16px; border-right:2px solid rgba(255,255,255,.75); border-bottom:2px solid rgba(255,255,255,.75); transform:rotate(45deg); animation:n18-bounce 1.6s ease-in-out infinite; }
@keyframes n18-bounce{ 0%,100%{transform:rotate(45deg) translate(0,0);opacity:.4} 50%{transform:rotate(45deg) translate(4px,4px);opacity:1} }

/* ============================================================
   INNER-PAGE BANNERS (agenda/speakers/tickets/sponsors/venue)
   compact, left-aligned red header instead of a tall muddy hero
   ============================================================ */
.bs-section.inner-banner{ position:relative !important; overflow:hidden !important; min-height:0 !important; }
.bs-section.inner-banner .background-layer{ background:linear-gradient(150deg,#C4232B 0%,#7E1319 100%) !important; }
.bs-section.inner-banner .foreground-layer{ position:relative; z-index:2; padding:74px 40px !important; max-width:1280px !important; margin:0 auto !important; height:auto !important; }
.bs-section.inner-banner .foreground-layer.middle-align{ align-items:flex-start !important; }
.bs-section.inner-banner .banner-widget{ grid-template-columns:1fr !important; justify-items:start !important; text-align:left !important; }
.bs-section.inner-banner .section-head{ text-align:left !important; color:#fff !important; font-family:var(--n18-display) !important; font-weight:900 !important; text-transform:uppercase !important; font-size:clamp(34px,5vw,60px) !important; letter-spacing:-.02em !important; margin:0 !important; }
.bs-section.inner-banner::after{ content:"18"; position:absolute; right:2%; top:50%; transform:translateY(-50%); font-family:var(--n18-display); font-weight:900; font-size:min(30vw,300px); line-height:.8; color:rgba(255,255,255,.06); pointer-events:none; z-index:1; }

/* ============================================================
   SECTION SHELL + LEFT-ALIGNED EYEBROW/HEADINGS
   ============================================================ */
.bs-section.default .foreground-layer{ max-width:1280px !important; margin:0 auto !important; padding:92px 40px !important; text-align:left !important; }
.bs-section.alternative-background{ background:var(--n18-mist) !important; }

.bs-section .section-title{
  font-family:var(--n18-display) !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.2em !important;
  font-size:13px !important; color:var(--n18-ink-2) !important; display:inline-flex !important; align-items:center !important; gap:12px !important;
  margin:0 0 16px !important; justify-content:flex-start !important;
}
.bs-section .section-title::before{ content:"18"; font-weight:900; font-size:13px; letter-spacing:0; color:#fff; background:var(--n18-red); padding:3px 7px; border-radius:5px; }
.bs-section .section-sub-title,
.bs-section .markdown-contain > h3:first-child,
.bs-section .markdown-contain > h2:first-child{
  font-family:var(--n18-display) !important; font-weight:900 !important; font-size:clamp(32px,4.4vw,58px) !important;
  line-height:1.02 !important; letter-spacing:-.02em !important; color:var(--n18-ink) !important; margin:0 0 26px !important; text-align:left !important;
}
.bs-section .markdown-contain p{ font-size:16px !important; line-height:1.7 !important; color:var(--n18-ink-2) !important; max-width:60ch; margin:0 0 16px !important; }

/* ============================================================
   STATS (description) — text left, injected cards right
   ============================================================ */
.community-section-description .foreground-layer{ display:grid !important; grid-template-columns:1.1fr .9fr !important; gap:56px !important; align-items:start !important; }
.community-section-description .foreground-layer > div:nth-child(1),
.community-section-description .foreground-layer > div:nth-child(2){ grid-column:1 !important; }
.n18-stats{ grid-column:2 !important; grid-row:1 / span 3 !important; align-self:center !important; border:1px solid var(--n18-line) !important; border-radius:20px !important; overflow:hidden; background:#fff; box-shadow:var(--n18-shadow); }
.n18-stat{ padding:34px 32px; border-bottom:1px solid var(--n18-line); }
.n18-stat:last-child{ border-bottom:none; }
.n18-stat__num{ font-family:var(--n18-display); font-weight:900; font-size:clamp(46px,5vw,72px); line-height:.95; color:var(--n18-ink); letter-spacing:-.02em; }
.n18-stat__lbl{ font-family:var(--n18-display); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:12px; color:var(--n18-mut); margin-top:10px; }

/* ============================================================
   LIST / CARD GRIDS  (speakers, sponsors, sessions)
   ============================================================ */
.bs-section .grb-list{ display:grid !important; gap:22px !important; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important; }
.bs-section .grb-list.column-1{ grid-template-columns:1fr !important; }
.bs-section .li-item,
.bs-section .list-item{
  background:#fff !important; border:1px solid var(--n18-line) !important; border-radius:18px !important; padding:26px !important;
  box-shadow:var(--n18-shadow) !important; transition:transform .28s var(--n18-ease), box-shadow .28s var(--n18-ease), border-color .28s ease !important;
}
.bs-section .li-item:hover,
.bs-section .list-item:hover{ box-shadow:0 30px 60px -28px rgba(15,18,24,.5) !important; border-color:rgba(228,18,28,.35) !important; }

/* AVATAR / IMAGE HANDLING — the important fix.
   Real photo present -> show the circular photo cleanly.
   Icon only (venue etc.) -> gradient monogram tile. */
.bs-section .list-image{ margin:0 auto 16px !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.bs-section .list-image:has(img), .bs-section .list-image:has(.bs-image){
  width:110px !important; height:110px !important; border-radius:50% !important; background:transparent !important; overflow:hidden !important; box-shadow:0 12px 26px -14px rgba(15,18,24,.4) !important;
}
.bs-section .list-image .bs-image, .bs-section .list-image .profile-img{ width:110px !important; height:110px !important; border-radius:50% !important; overflow:hidden !important; }
.bs-section .list-image img{ width:100% !important; height:100% !important; object-fit:cover !important; border-radius:50% !important; }
.bs-section .list-image:has(i:only-child), .bs-section .list-image:not(:has(img)):not(:has(.bs-image)){
  width:74px !important; height:74px !important; border-radius:50% !important; background:linear-gradient(150deg,#E85A2A,var(--n18-red)) !important; color:#fff !important; box-shadow:0 12px 26px -12px rgba(228,18,28,.6) !important;
}
.bs-section .list-image:not(:has(img)):not(:has(.bs-image)) i{ color:#fff !important; font-size:28px !important; }

.bs-section .li-item .list-title,
.bs-section .li-item h4, .bs-section .li-item h5{ font-family:var(--n18-display) !important; font-weight:800 !important; color:var(--n18-ink) !important; font-size:19px !important; text-align:center; margin:4px 0 !important; }
.bs-section .li-item .list-sub-title,
.bs-section .li-item .designation{ color:var(--n18-red) !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; font-size:12.5px !important; text-align:center; }

/* ============================================================
   BUTTONS — one system everywhere (kills native theme)
   ============================================================ */
.bs-section .bs-button.primary,
.bs-section .bs-button.btn-widget,
.bs-section .bs-button.st-fill{
  background:var(--n18-red) !important; color:#fff !important; border:none !important; font-family:var(--n18-display) !important;
  font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.07em !important; border-radius:10px !important;
  padding:14px 28px !important; box-shadow:0 16px 34px -18px rgba(228,18,28,.75) !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}
.bs-section .bs-button.primary:hover,
.bs-section .bs-button.btn-widget:hover,
.bs-section .bs-button.st-fill:hover{ background:var(--n18-red-2) !important; transform:translateY(-3px) !important; }
.bs-section .bs-button.link, .bs-section .view-btn{ color:var(--n18-red) !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.06em !important; background:transparent !important; box-shadow:none !important; }

/* ============================================================
   AGENDA  (community-section-agendaLayout) — animated timeline
   ============================================================ */
.community-section-agendaLayout .foreground-layer{ position:relative; }
.community-section-agendaLayout .bs-tab-head, .community-section-agendaLayout .tab-head, .community-section-agendaLayout [role=tablist]{ display:flex !important; gap:8px !important; border-bottom:1px solid var(--n18-line) !important; margin-bottom:8px !important; }
.community-section-agendaLayout [role=tab], .community-section-agendaLayout .tab-item{
  font-family:var(--n18-display) !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.05em !important;
  font-size:14px !important; color:var(--n18-mut) !important; padding:12px 4px !important; margin-right:20px !important; border:none !important; background:transparent !important; position:relative !important;
}
.community-section-agendaLayout [role=tab][aria-selected=true], .community-section-agendaLayout .tab-item.active{ color:var(--n18-red) !important; }
.community-section-agendaLayout [role=tab][aria-selected=true]::after, .community-section-agendaLayout .tab-item.active::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--n18-red); }
/* real agenda structure: .timeline-item > (.timeline-sticky.timezone h5 = time) + .timeline-content (card) */
.community-section-agendaLayout .timeline-sticky.timezone h5{ font-family:var(--n18-display) !important; font-weight:800 !important; color:var(--n18-red) !important; font-size:16px !important; }
.community-section-agendaLayout .timeline-content{
  background:#fff !important; border:1px solid var(--n18-line) !important; border-left:3px solid transparent !important; border-radius:14px !important;
  padding:20px 24px !important; box-shadow:0 12px 30px -24px rgba(15,18,24,.4) !important;
  transition:transform .25s var(--n18-ease), box-shadow .25s var(--n18-ease), border-color .25s ease !important;
}
.community-section-agendaLayout .timeline-content:hover{ border-left-color:var(--n18-red) !important; transform:translateX(5px) !important; box-shadow:0 24px 44px -26px rgba(15,18,24,.5) !important; }
.community-section-agendaLayout .session-name{ font-family:var(--n18-display) !important; font-weight:800 !important; color:var(--n18-ink) !important; font-size:19px !important; }
.community-section-agendaLayout .session-desc{ color:var(--n18-mut) !important; }
.community-section-agendaLayout .session-type .theme-icon{ color:var(--n18-red) !important; }
.community-section-agendaLayout .bs-label.pilled, .community-section-agendaLayout .session-lbl .bs-label{
  background:rgba(228,18,28,.10) !important; color:var(--n18-red) !important; border:none !important;
  font-family:var(--n18-display) !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.05em !important;
}
/* day + track filter tabs */
.community-section-agendaLayout .bs-agenda-tab, .community-section-agendaLayout .bs-track-filter-tab .nav-item, .community-section-agendaLayout .btn-mysession{
  font-family:var(--n18-display) !important; font-weight:800 !important; letter-spacing:.04em !important;
}
.community-section-agendaLayout .bs-agenda-tab.btn-type{ border-radius:12px !important; }
.community-section-agendaLayout .bs-track-filter-tab .nav-item.active, .community-section-agendaLayout .bs-track-filter-tab .active{ color:var(--n18-red) !important; }
.community-section-agendaLayout .day-switcher-menu .bs-button.link, .community-section-agendaLayout .time-zone .bs-button{ color:var(--n18-red) !important; }

/* ============================================================
   TICKETS / REGISTRATION  (community-section-ticketClass)
   ============================================================ */
.community-section-ticketClass .li-item{
  --bs-ticket-primary-bg:var(--n18-red) !important;
  border:1px solid var(--n18-line) !important; border-radius:20px !important; overflow:hidden !important; box-shadow:var(--n18-shadow) !important; padding:0 !important; background:#fff !important;
}
.community-section-ticketClass .ticket-card-header, .community-section-ticketClass .st1{ background:linear-gradient(150deg,#C4232B,#7E1319) !important; color:#fff !important; padding:26px !important; }
.community-section-ticketClass .ticket-name, .community-section-ticketClass .ticket-name *, .community-section-ticketClass .ticket-card-header h4{ color:#fff !important; font-family:var(--n18-display) !important; font-weight:900 !important; }
.community-section-ticketClass .tkt-date, .community-section-ticketClass .ticket-card-header *{ color:rgba(255,255,255,.92) !important; }
.community-section-ticketClass .ticket-price, .community-section-ticketClass .ticket-price *{ font-family:var(--n18-display) !important; font-weight:900 !important; color:var(--n18-ink) !important; }
.community-section-ticketClass .ticket-card-nav, .community-section-ticketClass .ticket-card-content{ padding:22px 26px !important; }
.community-section-ticketClass .bs-button{ background:var(--n18-red) !important; color:#fff !important; border-radius:10px !important; font-family:var(--n18-display) !important; font-weight:800 !important; }
.community-section-ticketClass .bs-button.link, .community-section-ticketClass .more-link{ background:transparent !important; color:var(--n18-red) !important; }

/* ============================================================
   VENUE  (eventVenue / venueMap) — proper card + framed map
   ============================================================ */
/* .embed-map holds two siblings: address card (.ember-view) + map (.venue.map).
   Stack them: a full-width red address banner on top, the map below. */
.community-section-eventVenue .embed-map,
.community-section-venueMap .embed-map{
  display:block !important; position:relative !important; border:1px solid var(--n18-line) !important;
  border-radius:22px !important; overflow:hidden !important; box-shadow:var(--n18-shadow) !important;
}
.community-section-eventVenue .embed-map > *,
.community-section-venueMap .embed-map > *{ position:static !important; width:100% !important; float:none !important; }
/* red address banner */
.community-section-eventVenue .embed-map > .ember-view:first-child,
.community-section-venueMap .embed-map > .ember-view:first-child{ background:linear-gradient(150deg,#C4232B,#7E1319) !important; position:relative; overflow:hidden; }
.community-section-eventVenue .embed-map > .ember-view:first-child::after,
.community-section-venueMap .embed-map > .ember-view:first-child::after{ content:"18"; position:absolute; right:1%; top:50%; transform:translateY(-50%); font-family:var(--n18-display); font-weight:900; font-size:150px; line-height:.8; color:rgba(255,255,255,.10); pointer-events:none; }
.community-section-eventVenue .embed-map .bs-container,
.community-section-venueMap .embed-map .bs-container{ max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important; z-index:1; position:relative; }
.community-section-eventVenue .embed-map .grb-list,
.community-section-venueMap .embed-map .grb-list{ display:block !important; }
.community-section-eventVenue .embed-map .li-item,
.community-section-venueMap .embed-map .li-item{ display:flex !important; align-items:center !important; gap:22px !important; background:transparent !important; border:none !important; box-shadow:none !important; padding:30px 40px !important; border-radius:0 !important; }
.community-section-eventVenue .embed-map .list-image,
.community-section-venueMap .embed-map .list-image{ flex:0 0 auto !important; width:60px !important; height:60px !important; min-height:0 !important; border-radius:50% !important; margin:0 !important; background:rgba(255,255,255,.16) !important; box-shadow:none !important; }
.community-section-eventVenue .embed-map .list-image i,
.community-section-venueMap .embed-map .list-image i{ color:#fff !important; font-size:28px !important; }
.community-section-eventVenue .embed-map .li-content,
.community-section-eventVenue .embed-map .li-content *,
.community-section-venueMap .embed-map .li-content,
.community-section-venueMap .embed-map .li-content *{ color:#fff !important; text-align:left !important; }
/* hug content height + let the address use full width (native li-content is only 176px) */
.community-section-eventVenue .embed-map > .ember-view:first-child,
.community-section-venueMap .embed-map > .ember-view:first-child{ min-height:0 !important; height:auto !important; }
.community-section-eventVenue .embed-map .grb-list, .community-section-eventVenue .embed-map .grb-list > *,
.community-section-venueMap .embed-map .grb-list, .community-section-venueMap .embed-map .grb-list > *{ min-height:0 !important; height:auto !important; }
.community-section-eventVenue .embed-map .li-item,
.community-section-venueMap .embed-map .li-item{ justify-content:flex-start !important; min-height:0 !important; height:auto !important; }
.community-section-eventVenue .embed-map .li-content, .community-section-eventVenue .embed-map .li-content > *,
.community-section-venueMap .embed-map .li-content, .community-section-venueMap .embed-map .li-content > *{ width:auto !important; max-width:none !important; overflow:visible !important; white-space:normal !important; text-overflow:clip !important; flex:1 1 auto !important; }
/* map below */
.community-section-eventVenue .venue.map,
.community-section-venueMap .venue.map{ display:block !important; min-height:460px !important; }
.community-section-eventVenue .venue.map iframe,
.community-section-venueMap .venue.map iframe,
.community-section-eventVenue iframe,
.community-section-venueMap iframe{ width:100% !important; height:460px !important; min-height:460px !important; border:0 !important; display:block !important; }

/* ============================================================
   CLOSING CTA (injected)  +  hide inquiry form
   ============================================================ */
.community-section-getInTouch{ display:none !important; }
.n18-cta{ position:relative; overflow:hidden; background:radial-gradient(100% 130% at 12% 0%,rgba(255,255,255,.1),transparent 55%),linear-gradient(150deg,#C4232B,#7E1319); color:#fff; }
.n18-cta__inner{ max-width:1280px; margin:0 auto; padding:110px 40px; position:relative; z-index:2; }
.n18-cta::after{ content:"18"; position:absolute; right:2%; bottom:-14%; font-family:var(--n18-display); font-weight:900; font-size:min(38vw,460px); line-height:.8; color:rgba(255,255,255,.08); z-index:1; }
.n18-cta__eyebrow{ font-family:var(--n18-display); font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:12px; color:rgba(255,255,255,.8); margin-bottom:16px; }
.n18-cta h2{ font-family:var(--n18-display); font-weight:900; font-size:clamp(38px,6vw,84px); line-height:.98; letter-spacing:-.02em; margin:0 0 22px; max-width:14ch; }
.n18-cta p{ font-size:18px; line-height:1.6; color:rgba(255,255,255,.9); max-width:52ch; margin:0 0 14px; }
.n18-cta p.small{ font-size:15px; color:rgba(255,255,255,.7); margin-bottom:34px; }
.n18-cta a.n18-cta__btn{ display:inline-flex; align-items:center; text-decoration:none; background:#fff; color:var(--n18-red); font-family:var(--n18-display); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:15px; padding:17px 40px; border-radius:11px; box-shadow:0 20px 44px -18px rgba(0,0,0,.5); transition:transform .18s ease, box-shadow .2s ease; }
.n18-cta a.n18-cta__btn:hover{ transform:translateY(-3px); }

/* ============================================================
   FOOTER
   ============================================================ */
.community-section-footer{ background:var(--n18-mist) !important; }
.community-section-footer .bs-social-links .item i{ background:#fff !important; color:var(--n18-ink) !important; border:1px solid var(--n18-line) !important; border-radius:10px !important; width:42px !important; height:42px !important; line-height:42px !important; transition:background .2s ease, color .2s ease, transform .2s ease !important; }
.community-section-footer .bs-social-links .item:hover i{ background:var(--n18-red) !important; color:#fff !important; transform:translateY(-3px) !important; }
.community-section-footer a{ color:var(--n18-ink-2) !important; transition:color .2s ease !important; }
.community-section-footer a:hover{ color:var(--n18-red) !important; }

/* ============================================================
   MOTION — scroll reveal, 3D tilt, page transition
   ============================================================ */
.n18-reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s var(--n18-ease), transform .7s var(--n18-ease); will-change:opacity,transform; }
.n18-reveal.n18-in{ opacity:1; transform:none; }
.n18-tilt{ transform-style:preserve-3d; transition:transform .18s ease; }
main.community-page-home, main[class*=community-page]{ animation:n18-pagein .5s var(--n18-ease) both; }
@keyframes n18-pagein{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }
@media (prefers-reduced-motion:reduce){ *{animation:none !important} .n18-reveal{opacity:1 !important; transform:none !important} }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .community-section-description .foreground-layer{ grid-template-columns:1fr !important; }
  .n18-stats{ grid-column:1 !important; grid-row:auto !important; }
  .community-section-eventVenue .grb-list.card-view .li-item,
  .community-section-venueMap .grb-list.card-view .li-item{ grid-template-columns:1fr !important; }
}
@media (max-width:768px){
  :root{ --n18-ticker-h:34px; --n18-nav-h:56px; }
  html.n18-cursor, html.n18-cursor *{ cursor:auto !important; }
  .n18-cur-dot, .n18-cur-ring{ display:none !important; }
  header.bs-main-menu{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  .n18-constellation{ width:100%; opacity:.35; }
  section.main-banner .banner-widget{ grid-template-columns:1fr !important; }
  section.main-banner{ min-height:auto !important; padding:40px 0 !important; }
  section.main-banner .section-head{ font-size:clamp(32px,10vw,52px) !important; }
  .n18-scroll{ display:none; }
  .bs-section.default .foreground-layer{ padding:60px 20px !important; }
}
