/* ============================================================
   /cmo-council/events — page-specific pieces only.
   Loads after cmo-council.css and reuses its .cmo-council-page
   tokens (--cmo-*) and classes (.cmo-section, .cmo-h1/.cmo-h2,
   .cmo-eyebrow, .cmo-btn, .cmo-event-card, .cmo-grid-3, …).
   Scoped under .cmo-council-events-page, plus .cmoe-embed for the
   events section embedded on the main /cmo-council page.
   ============================================================ */

.cmo-council-events-page {
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}
.cmo-council-events-page main { display: block; }

/* Brand lockup (header + footer) ----------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--cmo-text);
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-brand__logo { display: block; width: 96px; color: var(--cmo-text); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-brand__logo svg { display: block; width: 100%; height: auto; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-brand__sep { width: 1px; height: 18px; background: var(--cmo-border); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-brand__label {
    font-weight: 800;
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

/* Header ------------------------------------------------------ */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: color-mix(in srgb, var(--cmo-bg) 90%, transparent);
    -webkit-backdrop-filter: saturate(140%) blur(10px);
    backdrop-filter: saturate(140%) blur(10px);
    border-bottom: 1px solid var(--cmo-border);
}
.admin-bar :is(.cmo-council-events-page, .cmoe-embed) .cmoe-header { top: 32px; }
@media (max-width: 782px) {
    .admin-bar :is(.cmo-council-events-page, .cmoe-embed) .cmoe-header { top: 0; }
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    height: 64px;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__nav { display: flex; align-items: center; gap: 1.375rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__link { font-weight: 600; font-size: 0.92rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__link:hover { color: var(--cmo-blue-dark); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__btn { padding: 0.6rem 1.15rem; font-size: 0.9rem; }

/* Buttons ----------------------------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.9rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-btn--ghost {
    background: transparent;
    color: var(--cmo-text);
    border: 1px solid var(--cmo-border);
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-btn--ghost:hover { border-color: var(--cmo-blue); color: var(--cmo-blue-dark); }

/* Hero -------------------------------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-hero { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2.5rem, 5vw, 3.5rem); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-hero__title { font-size: clamp(2.6rem, 5.2vw, 4.3rem); line-height: 1.04; max-width: 16ch; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-lead { font-size: 1.18rem; line-height: 1.6; max-width: 56ch; margin: 0 0 1rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-lead--soft { color: var(--cmo-muted); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-members {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    margin-top: 0.5rem;
    padding: 0.45em 0.9em;
    border-radius: 100px;
    background: var(--cmo-tan);
    color: var(--cmo-blue-dark);
    font-size: 0.82rem;
    font-weight: 600;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-members svg { width: 13px; height: 13px; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-stats {
    margin: 2.6rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid var(--cmo-border);
}

/* Section heads ----------------------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-sec-head { max-width: 62ch; margin-bottom: 2.2rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-sec-head .cmo-h2 { margin-bottom: 0.6rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-sec-head .cmo-lede { margin: 0; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-empty { margin: 0; font-size: 1.05rem; color: var(--cmo-muted); }
:is(.cmo-council-events-page, .cmoe-embed) .cmo-section--dark .cmoe-empty { color: rgba(245, 242, 235, 0.78); }

/* Branded image placeholder ---------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-placeholder {
    aspect-ratio: 4 / 3;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(130% 130% at 15% 0%, #efe9d8, #ddd4bd);
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-placeholder .cmoe-brand__logo { width: 34%; max-width: 140px; color: #b9ad8f; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-placeholder--feature { border-radius: 0.75rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-placeholder--dark { background: radial-gradient(130% 130% at 20% 15%, #32412f, #202a1e); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-placeholder--dark .cmoe-brand__logo { color: #5f7059; }

/* The Friday Call --------------------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-feature__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: center;
}
@media (min-width: 861px) {
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-feature__grid { grid-template-columns: 1fr 1.05fr; }
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-feature .cmo-h2 { margin-bottom: 1rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-feature .cmo-lede { margin: 0; max-width: 48ch; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-recurring {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 0.9rem;
    color: var(--cmo-blue-dark);
    font-size: 0.86rem;
    font-weight: 600;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-recurring__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cmo-blue); }

/* Card meta (date + format tag) ------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-when { font-size: 0.82rem; font-weight: 700; font-variant-numeric: tabular-nums; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-tag {
    padding: 0.34em 0.68em;
    border-radius: 100px;
    background: var(--cmo-tan);
    color: var(--cmo-blue-dark);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-more { margin-top: 0.4rem; font-size: 0.9rem; font-weight: 700; color: var(--cmo-blue-dark); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-more:hover { text-decoration: underline; }

/* Virtual event cards ----------------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-card {
    border: 1px solid var(--cmo-border);
    transition: border-color 150ms ease;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-card:hover { border-color: color-mix(in srgb, var(--cmo-blue) 55%, var(--cmo-border)); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    flex: 1;
    padding: 1.5rem 1.75rem 1.9rem;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-card__title { margin: 0; font-size: 1.3rem; font-weight: 600; line-height: 1.25; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-card__desc { margin: 0; font-size: 0.97rem; color: var(--cmo-muted); }

/* In-person feature cards (dark) ------------------------------ */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-list { display: flex; flex-direction: column; gap: 1.5rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    border-radius: 0.75rem;
    background: var(--cmo-dark-card);
}
@media (min-width: 861px) {
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card { grid-template-columns: 1fr 1.1fr; }
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card__art { aspect-ratio: 4 / 3; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card__image,
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card__art .cmoe-placeholder { width: 100%; height: 100%; object-fit: cover; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.75rem;
    padding: clamp(1.75rem, 3vw, 2.75rem);
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card .cmoe-when { color: var(--cmo-dark-text); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card .cmoe-tag { background: rgba(245, 242, 235, 0.1); color: #8fb8e8; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card__title {
    margin: 0;
    font-family: 'Instrument Serif', 'Manrope', serif;
    font-weight: 400;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.12;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card__where { margin: 0; font-size: 0.95rem; color: #8fb8e8; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card__desc { margin: 0; max-width: 52ch; font-size: 1.02rem; color: rgba(245, 242, 235, 0.8); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-ip-card .cmoe-more { color: #8fb8e8; }

/* Closing ----------------------------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-closing .cmo-h2 { margin-bottom: 0.8rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-closing .cmo-lede { margin-bottom: 0; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-closing .cmoe-ctas { justify-content: center; }

/* Footer ------------------------------------------------------ */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-footer { border-top: 1px solid var(--cmo-border); padding: 1.8rem 0 2.5rem; }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-footer__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.875rem;
}
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-footer p { margin: 0; font-size: 0.85rem; color: var(--cmo-muted); }
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-footer a:hover { color: var(--cmo-blue-dark); }

/* Small screens ----------------------------------------------- */
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-brand__label,
:is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__btn { white-space: nowrap; }

@media (max-width: 860px) {
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__link { display: none; }
    :is(.cmo-council-events-page, .cmoe-embed) .cmo-grid-3 { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-header .cmoe-brand { gap: 0.5rem; }
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-header .cmoe-brand__logo { width: 76px; }
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-header .cmoe-brand__label { font-size: 0.62rem; letter-spacing: 0.14em; }
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-header__btn { padding: 0.55rem 0.9rem; font-size: 0.85rem; }
}

@media (prefers-reduced-motion: no-preference) {
    :is(.cmo-council-events-page, .cmoe-embed) .cmoe-reveal { animation: cmoe-rise 600ms cubic-bezier(.2, .7, .2, 1) both; }
    @keyframes cmoe-rise {
        from { opacity: 0; transform: translateY(12px); }
        to   { opacity: 1; transform: none; }
    }
}

/* Embedded on /cmo-council: Friday Call + virtual share one white band. */
.cmoe-embed { scroll-margin-top: 1rem; }
.cmoe-embed .cmo-section.cmoe-virtual { padding-top: 0; }
