/* ==========================================================================
   OChEGS — Events Page & Single Event
   ========================================================================== */

/* ── Events listing hero ── */
.al-events-hero { background: var(--uh-red); padding: 5rem 0 3.5rem; }
.al-events-hero__inner { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.al-events-hero .al-eyebrow,
.al-event-hero .al-eyebrow { font-size: .72rem; text-transform: uppercase; letter-spacing: 3px; color: rgba(255,255,255,.7); margin-bottom: 1rem; }
.al-events-hero .al-eyebrow a,
.al-event-hero .al-eyebrow a { color: inherit; text-decoration: none; }
.al-events-hero .al-eyebrow a:hover,
.al-event-hero .al-eyebrow a:hover { text-decoration: underline; }
.al-events-hero .al-events-hero__title,
h1.al-events-hero__title { font-family: var(--font-display) !important; color: #fff !important; text-transform: uppercase; font-size: clamp(2.2rem, 5.5vw, 4rem) !important; margin: 0 0 1rem !important; line-height: .98; }
.al-events-hero__sub { color: rgba(255,255,255,.85); font-size: 1.05rem; max-width: 720px; line-height: 1.7; margin: 0; }

/* ── Toolbar (timeframe + type filters) ── */
.al-events-toolbar {
    background: var(--dm-surface, #fafafa);
    border-bottom: 1px solid var(--dm-border, #e5e5e5);
    position: sticky;
    top: 0;
    z-index: 50;
}
.al-events-toolbar__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 2rem;
    align-items: center;
}
.al-tf-tabs { display: inline-flex; gap: .25rem; background: var(--dm-bg, #eee); padding: 4px; border-radius: 999px; }
.al-tf-tab {
    padding: .55rem 1.25rem;
    font-size: .9rem;
    font-weight: 600;
    color: var(--dm-text-muted, #666);
    text-decoration: none;
    border-radius: 999px;
    transition: all .15s ease;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.al-tf-tab:hover { color: var(--dm-text, #111); }
.al-tf-tab--active {
    background: var(--uh-red);
    color: #fff;
    box-shadow: 0 2px 6px rgba(200,16,46,.25);
}
.al-tf-tab--active:hover { color: #fff; }
.al-tf-count {
    font-size: .72rem;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(0,0,0,.08);
    color: inherit;
    font-variant-numeric: tabular-nums;
}
.al-tf-tab--active .al-tf-count { background: rgba(255,255,255,.25); }

.al-type-tabs { display: inline-flex; gap: .15rem; flex-wrap: wrap; }
.al-type-tab {
    padding: .5rem 1rem;
    font-size: .85rem;
    font-weight: 500;
    color: var(--dm-text-muted, #555);
    text-decoration: none;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: all .15s ease;
}
.al-type-tab:hover {
    color: var(--uh-red);
    background: rgba(200,16,46,.06);
}
.al-type-tab--active {
    color: var(--uh-red);
    border-color: var(--uh-red);
    background: #fff;
    font-weight: 600;
}

/* ── Listing grid ── */
.al-events { padding: 3rem 0 5rem; background: var(--dm-bg, #fff); }
.al-events__inner { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.al-events__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.75rem;
}

/* ── Listing layout variants (Customize → Events → Layout Style) ── */
/* Magazine Grid = default behavior above. */
.al-events__grid--magazine { /* inherits base */ }

/* Card Masonry — grid that keeps left-to-right reading order, cards keep
   their natural height so rows stagger organically (no column reordering). */
.al-events__grid--masonry {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 1.75rem;
}
.al-events__grid--masonry .al-event-card { height: auto; }
.al-events__grid--masonry .al-event-card__media { aspect-ratio: 4 / 3; height: auto; }
@media (max-width: 1100px) { .al-events__grid--masonry { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px)  { .al-events__grid--masonry { grid-template-columns: 1fr; } }

/* Editorial List — full-width horizontal rows, image left, text right. */
.al-events__grid--list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.al-events__grid--list .al-event-card { width: 100%; }
.al-events__grid--list .al-event-card__link {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    align-items: stretch;
    min-width: 0;
}
/* Media is confined to the 240px column; aspect-ratio is removed here so it
   can't compute a wider box and bleed over the text column. */
.al-events__grid--list .al-event-card__media {
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
    min-height: 200px;
    min-width: 0;
}
.al-events__grid--list .al-event-card__body {
    padding: 1.5rem 1.75rem;
    min-width: 0;            /* lets text wrap instead of forcing overflow */
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.al-events__grid--list .al-event-card__title,
.al-events__grid--list .al-event-card__excerpt { overflow-wrap: anywhere; }

/* Mobile: stack image on top, text below — clean single column. */
@media (max-width: 640px) {
    .al-events__grid--list .al-event-card__link { grid-template-columns: 1fr; }
    .al-events__grid--list .al-event-card__media {
        aspect-ratio: 16 / 9;
        height: auto;
        min-height: 0;
    }
    .al-events__grid--list .al-event-card__body { padding: 1.25rem 1.25rem 1.5rem; }
}

/* Author line on cards */
.al-event-card__author {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    color: var(--dm-text-muted, #666);
    margin-bottom: .4rem;
}
.al-event-card__author i { color: var(--uh-red); }

/* ── Event card ── */
.al-event-card {
    background: var(--dm-surface, #fff);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
    transition: transform .2s ease, box-shadow .2s ease;
    display: flex;
    flex-direction: column;
}
.al-event-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 8px rgba(0,0,0,.06), 0 16px 36px rgba(0,0,0,.1);
}
.al-event-card__link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.al-event-card__media {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: var(--event-card-bg, #f4f4f4);
}
.al-event-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.al-event-card:hover .al-event-card__img { transform: scale(1.04); }

/* ── FLYER DISPLAY MODES (v2.2) ──
   .al-event-card--flyer-crop : default cropping (legacy behavior)
   .al-event-card--flyer-full : show full flyer, taller card, contain not cover  */
.al-event-card--flyer-full .al-event-card__media {
    aspect-ratio: 3/4;          /* portrait-friendly */
    background: var(--event-card-bg, #f4f4f4);
    display: flex;
    align-items: center;
    justify-content: center;
}
.al-event-card--flyer-full .al-event-card__img {
    width: 100%;
    height: 100%;
    object-fit: contain;        /* THIS is the fix — no chopping */
    transition: transform .4s ease;
}
.al-event-card--flyer-full:hover .al-event-card__img { transform: scale(1.02); }

.al-event-card__img--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: rgba(255,255,255,.5);
    background: linear-gradient(135deg, #54585A, #333);
    width: 100%;
    height: 100%;
}

/* Date chip overlay on card image */
.al-event-card__datechip {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #fff;
    border-radius: 8px;
    padding: .35rem .6rem .45rem;
    text-align: center;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(0,0,0,.18);
    min-width: 58px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.al-event-card__datechip-mo {
    font-size: .68rem;
    font-weight: 700;
    color: var(--uh-red);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.al-event-card__datechip-day {
    font-size: 1.45rem;
    font-weight: 800;
    color: #111;
    font-family: var(--font-display, inherit);
    line-height: 1;
}
.al-event-card__datechip-yr {
    font-size: .65rem;
    color: #888;
    font-weight: 500;
}

.al-event-card__body {
    padding: 1.2rem 1.3rem 1.3rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.al-event-card__type {
    display: inline-block;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--uh-red);
    margin-bottom: .5rem;
}
.al-event-card--social .al-event-card__type { color: #3a6699; }
.al-event-card--seminar .al-event-card__type { color: #8a6518; }
.al-event-card__title {
    font-family: var(--font-display, inherit);
    font-size: 1.2rem;
    line-height: 1.3;
    margin: 0 0 .6rem;
    color: var(--dm-heading, #111);
    font-weight: 700;
}
.al-event-card__meta {
    font-size: .82rem;
    color: var(--dm-text-muted, #666);
    margin: 0 0 .6rem;
    display: flex;
    align-items: center;
    gap: .4rem;
}
.al-event-card__meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1rem;
    margin-bottom: .6rem;
}
.al-event-card__excerpt {
    font-size: .9rem;
    line-height: 1.5;
    color: var(--dm-text, #444);
    margin: 0 0 1rem;
    flex: 1;
}
.al-event-card__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding-top: .75rem;
    border-top: 1px solid var(--dm-border, #eee);
}
.al-event-card__readmore {
    font-size: .85rem;
    font-weight: 600;
    color: var(--uh-red);
}
.al-event-card__chip,
.al-event-card__booklet {  /* keep .__booklet for backward compat */
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--uh-gold, #C4953B);
    background: rgba(196,149,59,.1);
    padding: 3px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

/* ── Status badge on event cards (cancelled, postponed, etc) ── */
.al-event-card__status {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #C4953B;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    padding: 4px 10px;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
    z-index: 2;
}

/* ── Register button at bottom of card ── */
.al-event-card__register {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .75rem 1rem;
    background: #2d8a4e;
    color: #fff !important;
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none;
    transition: background .15s ease;
    border-top: 1px solid rgba(0,0,0,.06);
}
.al-event-card__register:hover {
    background: #246f3f;
}

/* ── Empty state ── */
.al-events__empty {
    text-align: center;
    padding: 5rem 2rem;
    color: var(--dm-text-muted, #777);
    max-width: 600px;
    margin: 0 auto;
}
.al-events__empty i {
    font-size: 3rem;
    color: var(--uh-mid-gray, #bbb);
    margin-bottom: 1.25rem;
    display: block;
}
.al-events__empty h2 {
    font-family: var(--font-display, inherit);
    color: var(--dm-heading, #333);
    text-transform: uppercase;
    font-size: 1.4rem;
    margin: 0 0 .6rem;
}
.al-events__empty a { color: var(--uh-red); font-weight: 600; }

/* ── Mobile (tablet/phone) ── */
@media (max-width: 700px) {
    .al-events-hero { padding: 3rem 0 2rem; }
    .al-events-hero__title { font-size: clamp(1.7rem, 6vw, 2.5rem) !important; }
    .al-events-toolbar__inner { padding: .9rem 1rem; gap: .75rem 1rem; flex-direction: column; align-items: stretch; }
    /* Time pills (All / Upcoming / Past): keep one capsule row, shrink to fit the screen. */
    .al-tf-tabs { width: auto; max-width: 100%; margin: 0 auto; justify-content: center; box-sizing: border-box; }
    .al-tf-tab { white-space: nowrap; padding: .45rem .7rem; font-size: .8rem; }
    .al-tf-count { margin-left: .25rem; }
    /* Type tabs (Symposium / Social / Seminar): wrap onto centered rows instead of a clipped scroll strip. */
    .al-type-tabs { width: 100%; justify-content: center; flex-wrap: wrap; overflow-x: visible; gap: .4rem; }
    .al-type-tab { white-space: nowrap; flex-shrink: 0; }
    .al-events__inner { padding: 0 1rem; }
    .al-events__grid { gap: 1.25rem; grid-template-columns: 1fr; }
    .al-event-card__body { padding: 1.1rem 1.1rem 1.25rem; }
    .al-event-card__title { font-size: 1.1rem; }
    .al-event-card__meta-row { font-size: .85rem; }
    .al-event-card__excerpt { font-size: .9rem; }
}

/* ── Tight phones — collapse meta wrap and ease excerpt density ── */
@media (max-width: 420px) {
    .al-tf-tab { padding: .4rem .55rem; font-size: .72rem; }
    .al-tf-count { padding: 1px 5px; font-size: .65rem; }
    .al-tf-tabs { gap: .15rem; }
    .al-event-card__meta-row { flex-direction: column; gap: .3rem; }
    .al-event-card--flyer-full .al-event-card__media { aspect-ratio: 4/5; }
    .al-event-card__status { font-size: .65rem; padding: 3px 8px; }
    .al-event-card__datechip { min-width: 50px; padding: .3rem .5rem .4rem; }
}

/* ── Optional horizontal mobile layout (Customizer toggle) ── */
body.al-event-mobile-horizontal .al-events__grid { grid-template-columns: 1fr; }
@media (max-width: 700px) {
    body.al-event-mobile-horizontal .al-event-card__link {
        flex-direction: row;
    }
    body.al-event-mobile-horizontal .al-event-card__media {
        width: 38%;
        aspect-ratio: auto;
        flex-shrink: 0;
    }
    body.al-event-mobile-horizontal .al-event-card--flyer-full .al-event-card__media {
        aspect-ratio: 3/4;
    }
    body.al-event-mobile-horizontal .al-event-card__body {
        padding: .9rem 1rem;
        flex: 1;
        min-width: 0;
    }
    body.al-event-mobile-horizontal .al-event-card__excerpt {
        display: none;
    }
}


/* ==========================================================================
   Single Event Detail Page
   ========================================================================== */

.al-event-hero {
    background: var(--uh-red);
    padding: 5rem 0 3rem;
    color: #fff;
    background-size: cover;
    background-position: center;
}
.al-event-hero--has-bg { padding: 6rem 0 4.5rem; }
.al-event-hero__inner { max-width: 960px; margin: 0 auto; padding: 0 2rem; }
.al-event-hero__type {
    display: inline-block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    background: var(--uh-gold, #C4953B);
    color: #fff;
    padding: .4rem .85rem;
    border-radius: 4px;
    margin-bottom: 1rem;
    text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.al-event-hero__type--symposium { background: var(--uh-red, #C8102E); color: #fff; }
.al-event-hero__type--social    { background: #3a6699; color: #fff; }
.al-event-hero__type--seminar   { background: #9a7320; color: #fff; }

.al-event-hero__title {
    font-family: var(--font-display, inherit) !important;
    font-size: clamp(2rem, 5vw, 3.5rem) !important;
    color: #fff !important;
    margin: 0 0 1.25rem !important;
    line-height: 1.05;
    text-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.al-event-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
    font-size: 1rem;
}
.al-event-hero__meta-item {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: rgba(255,255,255,.95);
    font-weight: 500;
}
.al-event-hero__meta-item i { opacity: .8; }

/* ── Action bar (booklet button etc.) ── */
.al-event-actions {
    background: var(--dm-surface, #fafafa);
    border-bottom: 1px solid var(--dm-border, #eee);
    padding: 1.5rem 0;
}
.al-event-actions__inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
}
.al-event-action {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .8rem 1.5rem;
    font-size: .95rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    transition: all .15s ease;
}
.al-event-action__ext {
    font-size: .75rem;
    opacity: .7;
    margin-left: .3rem;
}
.al-event-action--primary {
    background: var(--uh-red);
    color: #fff;
    box-shadow: 0 2px 8px rgba(200,16,46,.25);
}
.al-event-action--primary:hover {
    background: #a30d24;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(200,16,46,.35);
    color: #fff;
}
.al-event-action--register {
    background: #2d8a4e;
    color: #fff;
    box-shadow: 0 2px 8px rgba(45,138,78,.25);
}
.al-event-action--register:hover {
    background: #246f3f;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(45,138,78,.35);
    color: #fff;
}
.al-event-action--secondary {
    background: #fff;
    color: var(--dm-text, #333);
    border: 1px solid var(--dm-border, #ddd);
}
.al-event-action--secondary:hover {
    border-color: var(--uh-red);
    color: var(--uh-red);
    transform: translateY(-1px);
}

/* ── Event Hero tags row + status badge ── */
.al-event-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
}
.al-event-hero__status {
    display: inline-block;
    padding: .35rem .9rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
    color: #fff;
    border-radius: 4px;
}

/* ── Body ── */
.al-event-body { padding: 3rem 0 2rem; background: var(--dm-bg, #fff); }
.al-event-body__inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 2rem;
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--dm-text, #333);
}
.al-event-body__inner p { margin-bottom: 1.2rem; }
.al-event-body__inner h2 {
    font-family: var(--font-display, inherit);
    color: var(--dm-heading, #111);
    margin: 2.2rem 0 1rem;
}
.al-event-body__inner a { color: var(--uh-red); }

/* ── Section-nav pills (multi-gallery events like symposiums) ── */
.al-event-secnav {
    background: var(--dm-surface, #fff);
    border-top: 1px solid var(--dm-border, #eee);
    border-bottom: 1px solid var(--dm-border, #eee);
    position: sticky;
    top: 0;
    z-index: 60;
    padding: .75rem 0;
}
.al-event-secnav__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
}
.al-event-secnav__pill {
    display: inline-block;
    padding: .55rem 1.4rem;
    font-size: .85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    text-decoration: none;
    color: var(--uh-red);
    background: #fff;
    border: 1.5px solid var(--uh-red);
    border-radius: 999px;
    transition: all .15s ease;
    line-height: 1;
}
.al-event-secnav__pill:hover {
    background: rgba(200,16,46,.08);
    transform: translateY(-1px);
    color: var(--uh-red);
}
.al-event-secnav__pill--active {
    background: var(--uh-red);
    color: #fff;
    box-shadow: 0 4px 10px rgba(200,16,46,.3);
}
.al-event-secnav__pill--active:hover {
    background: #a30d24;
    color: #fff;
}

/* ── Gallery ── */
.al-event-gallery { padding: 2.5rem 0 4rem; background: var(--dm-bg, #fff); }
.al-event-gallery__inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
.al-event-gallery__section {
    margin-bottom: 3.5rem;
    scroll-margin-top: 100px; /* offset for sticky nav when jumped to */
}
.al-event-gallery__section:last-child { margin-bottom: 0; }
.al-event-gallery__heading {
    font-family: var(--font-display, inherit);
    text-align: center;
    color: var(--uh-red);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    margin: 0 0 1.5rem;
    letter-spacing: .5px;
}
.al-event-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    grid-auto-flow: dense;
}
.al-event-gallery__item {
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 8px;
    background: #eee;
    box-shadow: 0 2px 6px rgba(0,0,0,.06);
    transition: transform .25s ease, box-shadow .25s ease;
}
.al-event-gallery__item:hover {
    transform: scale(1.02);
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
.al-event-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.al-event-gallery__item--lead {
    grid-column: span 2;
    grid-row: span 2;
    aspect-ratio: 4/3;
}

@media (max-width: 700px) {
    .al-event-hero { padding: 3rem 0 2rem; }
    .al-event-hero--has-bg { padding: 4rem 0 2.5rem; }
    .al-event-hero__inner, .al-event-actions__inner, .al-event-body__inner, .al-event-gallery__inner { padding: 0 1rem; }
    .al-event-actions__inner { flex-direction: column; }
    .al-event-action { width: 100%; justify-content: center; }
    .al-event-secnav__inner { padding: 0 1rem; overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; }
    .al-event-secnav__pill { white-space: nowrap; flex-shrink: 0; padding: .5rem 1.1rem; font-size: .78rem; }
    .al-event-gallery__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .al-event-gallery__item--lead { grid-column: span 2; }
    .al-event-gallery__section { margin-bottom: 2.5rem; }
}

/* ── Back link ── */
.al-event-back { padding: 1rem 0 3rem; text-align: center; background: var(--dm-bg, #fff); }
.al-event-back__link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--dm-text-muted, #666);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 500;
    padding: .6rem 1rem;
    border-radius: 6px;
    transition: all .15s ease;
}
.al-event-back__link:hover {
    color: var(--uh-red);
    background: rgba(200,16,46,.06);
}

/* ── Dark-mode polish for event cards (list + grid) ───────────────────── */
[data-theme="dark"] .al-event-card {
    background: var(--dm-card-bg, #1a1d26);
    border: 1px solid var(--dm-border, #2a2d3a);
    box-shadow: 0 2px 6px rgba(0,0,0,.3), 0 12px 32px rgba(0,0,0,.35);
}
[data-theme="dark"] .al-event-card__media { background: var(--dm-bg, #0f1118); }
[data-theme="dark"] .al-event-card__title { color: var(--dm-heading, #e7e9f0); }
[data-theme="dark"] .al-event-card__excerpt,
[data-theme="dark"] .al-event-card__meta-row,
[data-theme="dark"] .al-event-card__author { color: var(--dm-text-muted, #98a0b3); }
[data-theme="dark"] .al-event-card__datechip {
    background: var(--dm-card-bg, #232734);
    color: var(--dm-heading, #e7e9f0);
    box-shadow: 0 2px 8px rgba(0,0,0,.4);
}
[data-theme="dark"] .al-event-card__datechip-day { color: #fff; }
