/* Events and Calendar pages. Ported from variant-c/events.html and calendar.html. */
.events-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:8px}
.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.theme{padding:18px 20px;border-radius:14px;background:var(--ink-2);border:1px solid var(--line-2)}
.theme .tm{font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.theme .tt{display:block;margin-top:6px;font-size:1.02rem;color:#fff}
@media(max-width:820px){.themes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.themes{grid-template-columns:1fr}}

.cal-note{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--text-dim);margin:0 0 26px;max-width:760px;line-height:1.5}
.cal-note-dot{flex:none;width:9px;height:9px;margin-top:6px;border-radius:2px;transform:rotate(45deg);background:var(--gold-bright);box-shadow:0 0 10px rgba(240,198,116,.6)}
.month-group + .month-group{margin-top:48px}
.month-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 20px}
.month-head h2,.month-head h3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.35rem,2.8vw,1.9rem);color:#fff;margin:0}
.ev-segment + .ev-segment{margin-top:72px;padding-top:56px;border-top:1px solid var(--line-2)}
.ev-segment .sec-head{margin-bottom:26px}
.month-theme{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.event{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:20px 26px;border-radius:16px;background:linear-gradient(180deg,var(--ink-3),var(--ink-2));border:1px solid var(--line-2);transition:border-color .25s,transform .25s}
.event:hover{border-color:rgba(212,162,74,.4);transform:translateY(-2px)}
.event.is-ibroc{border-color:rgba(212,162,74,.5);background:linear-gradient(180deg,rgba(212,162,74,.1),var(--ink-2))}
.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:74px;padding:10px 8px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);text-align:center}
.event.is-ibroc .event-date{background:rgba(212,162,74,.14);border-color:rgba(212,162,74,.4)}
.event-date .ev-mon{font-family:var(--font-body);font-weight:700;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.event-date .ev-day{font-family:var(--font-display);font-size:1.7rem;line-height:1;color:#fff;margin:2px 0}
.event-date .ev-dow{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}
.event-body h3{font-family:var(--font-body);font-weight:700;font-size:1.14rem;color:#fff;margin:0 0 5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.event-host{display:block;color:var(--text-dim);font-size:.92rem;margin-bottom:2px}
.event-where{display:block;color:var(--text-faint);font-size:.9rem}
.ibroc-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#241a08;background:var(--gold-bright);padding:3px 9px;border-radius:999px}
.ibroc-tag::before{content:"";width:7px;height:7px;background:#241a08;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
.event-cta{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-weight:700;font-size:.88rem;color:var(--gold-bright);border:1px solid var(--line);border-radius:999px;padding:9px 16px;min-height:42px;transition:border-color .2s,background .2s}
.event-cta:hover{border-color:var(--gold);background:rgba(212,162,74,.1)}
.event-cta svg{width:14px;height:14px}
@media(max-width:640px){.event{grid-template-columns:auto 1fr;gap:16px;text-align:left}.event-cta{grid-column:1 / -1;justify-self:start}}

/* Headliner: iBROC's own night */
.headliner{position:relative;overflow:hidden;isolation:isolate;border-radius:22px;border:1px solid rgba(212,162,74,.42);padding:clamp(32px,4.6vw,62px) clamp(24px,4vw,56px);min-height:clamp(380px,42vw,520px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--ink-2)}
.headliner-img{position:absolute;top:0;bottom:0;right:0;left:46%;z-index:0;width:auto;height:100%;object-fit:cover;object-position:60% 52%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.headliner::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(96deg,rgba(16,13,20,.92) 0%,rgba(16,13,20,.86) 40%,rgba(16,13,20,.42) 62%,rgba(16,13,20,.12) 84%,rgba(16,13,20,.06) 100%)}
@media(max-width:760px){.headliner-img{left:0;width:100%;object-position:52% 44%;-webkit-mask-image:none;mask-image:none}.headliner::after{background:linear-gradient(180deg,rgba(16,13,20,.68),rgba(16,13,20,.90))}}
.hl-rail{position:absolute;left:14px;right:14px;height:8px;pointer-events:none;z-index:3;background-image:radial-gradient(circle, var(--bulb) 0 2.2px, transparent 3px);background-size:22px 8px;background-position:center;background-repeat:repeat-x;opacity:.7;filter:drop-shadow(0 0 4px var(--bulb))}
.hl-rail.top{top:14px}
.hl-rail.bottom{bottom:14px}
.hl-eyebrow,.hl-cadence,.hl-title,.hl-meta,.hl-actions{position:relative;z-index:2}
.hl-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#241a08;background:var(--gold-bright);padding:5px 12px;border-radius:999px}
.hl-eyebrow::before{content:"";width:8px;height:8px;background:#241a08;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
.hl-cadence{margin:22px 0 0;font-weight:700;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.hl-title{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.4rem,7vw,5rem);line-height:.95;color:#fff;margin:.12em 0 .3em;max-width:11ch;text-wrap:balance}
.hl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 28px;color:var(--cream);font-size:1.02rem}
.hl-meta b{font-family:var(--font-display);text-transform:uppercase;font-size:1.22rem;color:var(--gold-bright);font-weight:400;letter-spacing:.02em}
.hl-meta .sep{width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.7;flex:none}
.hl-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hl-dates{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px}
.hl-meta.is-next b{font-size:1.02rem;color:var(--gold)}
.hl-meta.is-next{opacity:.82}
@media(max-width:640px){.hl-rail{left:10px;right:10px}.hl-rail.top{top:10px}.hl-rail.bottom{bottom:10px}.hl-meta{font-size:.96rem}}
@media(max-width:760px){.hl-meta{flex-direction:column;align-items:flex-start;gap:6px}.hl-meta .sep{display:none}}

/* The bill: everything else, quieter */
.ev-segment.is-bill{margin-top:0;padding-top:0;border-top:0}
.is-bill .event-list{gap:0}
.is-bill .event{background:none;border:0;border-radius:0;border-bottom:1px solid var(--line-2);padding:18px 8px;transition:background .2s,padding-left .2s}
.is-bill .event:first-child{border-top:1px solid var(--line-2)}
.is-bill .event:hover{transform:none;background:rgba(255,255,255,.025);padding-left:16px}
.is-bill .event-date{min-width:0;padding:0;background:none;border:0;flex-direction:row;align-items:baseline;gap:7px}
.is-bill .event-date .ev-day{font-size:1.15rem;margin:0}
.is-bill .event-date .ev-dow{display:none}
.is-bill .event-body h3{font-size:1.04rem}
.is-bill .event-cta{border:0;padding:9px 0;color:var(--text-dim)}
.is-bill .event-cta:hover{background:none;color:var(--gold-bright)}
@media(max-width:640px){.is-bill .event{padding:16px 0}.is-bill .event:hover{padding-left:0}}
.register-note{color:var(--text-faint);font-size:.88rem;margin:22px 0 0;max-width:640px}

/* ---------- Calendar page ---------- */
.page-theme{margin:0 0 14px;color:var(--text-dim);font-size:.95rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-theme .chip{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#241a08;background:var(--gold-bright);padding:4px 10px;border-radius:999px}
.legend{display:flex;flex-wrap:wrap;gap:22px;margin:0 0 30px;color:var(--text-dim);font-size:.9rem}
.legend span{display:inline-flex;align-items:center;gap:9px}
.lg-dot{width:11px;height:11px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px rgba(46,139,139,.7)}
.lg-gem{width:12px;height:12px;background:var(--gold-bright);clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);box-shadow:0 0 10px rgba(240,198,116,.6)}
.months{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.month h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.1rem);color:#fff;margin:0 0 4px}
.month .mtheme{color:var(--text-faint);font-size:.86rem;margin:0 0 16px;letter-spacing:.02em}
table.cal-grid{width:100%;border-collapse:separate;border-spacing:5px;table-layout:fixed}
.cal-grid caption{text-align:left;color:var(--text-faint);font-size:.8rem;margin-bottom:8px}
.cal-grid th{font-family:var(--font-body);font-weight:700;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:4px 0 8px;text-align:center}
.cal-grid td{position:relative;height:clamp(40px,7vw,58px);vertical-align:top;text-align:right;padding:7px 8px 6px;border-radius:9px;font-size:.9rem;color:var(--text-dim);background:rgba(255,255,255,.02);border:1px solid var(--line-2)}
.cal-grid td.blank{background:none;border:0}
.cal-grid td.d .dn{font-weight:600;color:var(--text)}
.cal-grid td.has-event{background:rgba(46,139,139,.14);border-color:rgba(46,139,139,.4)}
.cal-grid td.has-event .dn{color:#fff}
.cal-grid td.has-event a{display:block;color:inherit}
.ev-dot{position:absolute;left:8px;bottom:8px;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 7px rgba(46,139,139,.8)}
.cal-grid td.ibroc-day{background:rgba(212,162,74,.18);border-color:rgba(212,162,74,.55)}
.cal-grid td.ibroc-day .dn{color:#fff}
.cal-grid td.ibroc-day .ev-dot{width:11px;height:11px;border-radius:0;background:var(--gold-bright);clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);box-shadow:0 0 9px rgba(240,198,116,.7)}
.cal-cta{margin-top:44px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.cal-cta-note{color:var(--text-faint);font-size:.9rem;margin:0;max-width:440px}
@media(max-width:900px){.months{grid-template-columns:1fr;gap:30px}}
