.membertou-events-page,
.membertou-event-single {
    --membertou-events-teal:#456365;
    --membertou-events-teal-deep:#3f5f61;
    --membertou-events-rust:#89563b;
    --membertou-events-cream:#eae1d8;
    --membertou-events-warm:#f7f3ef;
    --membertou-events-sage:#eef3f1;
    --membertou-events-ink:#171717;
    --membertou-events-text:#242424;
    --membertou-events-white:#ffffff;
    --membertou-events-border:#d7cec6;
    color:var(--membertou-events-text);
    font-size:18px;
    line-height:1.7;
}
.membertou-events-page *,
.membertou-event-single *{box-sizing:border-box}
.membertou-events-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.membertou-events-hero{padding:clamp(72px,9vw,128px) 0;background:linear-gradient(110deg,var(--membertou-events-teal-deep),var(--membertou-events-teal));color:var(--membertou-events-white)}
.membertou-events-kicker{margin:0 0 14px;color:var(--membertou-events-rust);font-size:.9375rem;font-weight:700;letter-spacing:.07em;line-height:1.45;text-transform:uppercase}
.membertou-events-hero .membertou-events-kicker,
.membertou-event-single__hero .membertou-events-kicker{color:var(--membertou-events-cream)}
.membertou-events-hero h1,
.membertou-event-single__hero h1{max-width:900px;margin:0;color:var(--membertou-events-white);font-size:clamp(2.75rem,6vw,5.4rem);font-weight:600;letter-spacing:0;line-height:1.04}
.membertou-events-lead{max-width:760px;margin:26px 0 0;color:rgba(255,255,255,.94);font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.65}
.membertou-events-section{padding:clamp(72px,8vw,112px) 0}
.membertou-events-section--soft{background:var(--membertou-events-sage)}
.membertou-events-section-heading{display:flex;gap:36px;align-items:end;justify-content:space-between;margin-bottom:clamp(42px,6vw,72px)}
.membertou-events-section-heading--simple{align-items:start}
.membertou-events-section-heading h2,
.membertou-event-details h2{margin:0;color:var(--membertou-events-teal);font-size:clamp(2rem,4vw,3.25rem);font-weight:600;letter-spacing:0;line-height:1.12}
.membertou-events-filter{display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.membertou-events-filter__field{display:grid;gap:6px}
.membertou-events-filter label{color:var(--membertou-events-ink);font-size:.9375rem;font-weight:700}
.membertou-events-filter select{min-width:220px;min-height:52px;padding:10px 42px 10px 14px;border:2px solid var(--membertou-events-teal);border-radius:8px;background:var(--membertou-events-white);color:var(--membertou-events-ink);font:inherit}
.membertou-events-filter__clear{min-height:52px;display:inline-flex;align-items:center;padding-inline:8px;color:var(--membertou-events-teal);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.membertou-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,4vw,42px)}
.membertou-event-card{display:flex;min-width:0;flex-direction:column;background:var(--membertou-events-white);border:1px solid var(--membertou-events-border);border-radius:14px;overflow:hidden}
.membertou-event-card__media{aspect-ratio:16/10;background:var(--membertou-events-sage);overflow:hidden}
.membertou-event-card__image{width:100%;height:100%;margin:0;object-fit:cover}
.membertou-event-card__body{display:flex;flex:1;min-width:0;flex-direction:column;padding:clamp(24px,3vw,32px)}
.membertou-event-card__types{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.membertou-event-card__types li{padding:5px 9px;border-radius:999px;background:var(--membertou-events-sage);color:var(--membertou-events-teal-deep);font-size:.8125rem;font-weight:700;line-height:1.25}
.membertou-event-card__title{margin:0;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:600;letter-spacing:0;line-height:1.15}
.membertou-event-card__title a{color:var(--membertou-events-teal);text-decoration:none}
.membertou-event-card__title a:hover{text-decoration:underline;text-underline-offset:.16em}
.membertou-event-card__meta{display:grid;gap:10px;margin:22px 0 0}
.membertou-event-card__meta div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px}
.membertou-event-card__meta dt{color:var(--membertou-events-rust);font-size:.875rem;font-weight:700}
.membertou-event-card__meta dd{margin:0;color:var(--membertou-events-ink)}
.membertou-event-card__excerpt{margin:22px 0 0}
.membertou-event-card__action{margin:auto 0 0;padding-top:26px}
.membertou-event-button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;padding:14px 24px;border:2px solid transparent;border-radius:999px;font-size:1.0625rem;font-weight:700;letter-spacing:0;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer}
.membertou-event-button--rust{background:var(--membertou-events-rust);border-color:var(--membertou-events-rust);color:var(--membertou-events-white)}
.membertou-event-button--teal{background:var(--membertou-events-teal);border-color:var(--membertou-events-teal);color:var(--membertou-events-white)}
.membertou-event-button:hover{opacity:.92}
.membertou-events-empty{max-width:760px;padding:clamp(34px,5vw,56px);border-left:5px solid var(--membertou-events-rust);background:var(--membertou-events-warm)}
.membertou-events-empty h3{margin:0 0 12px;color:var(--membertou-events-teal);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;line-height:1.2}
.membertou-events-empty p:last-child{margin-bottom:0}
.membertou-events-pagination{margin-top:52px}
.membertou-events-pagination ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.membertou-events-pagination a,
.membertou-events-pagination span{display:inline-flex;min-width:48px;min-height:48px;align-items:center;justify-content:center;padding:8px 14px;border:2px solid var(--membertou-events-teal);border-radius:8px;color:var(--membertou-events-teal);font-weight:700;text-decoration:none}
.membertou-events-pagination .current{background:var(--membertou-events-teal);color:var(--membertou-events-white)}
.membertou-past-events{border-top:1px solid var(--membertou-events-border)}
.membertou-past-event{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(0,1.2fr) auto;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--membertou-events-border)}
.membertou-past-event__date{color:var(--membertou-events-rust);font-weight:700}
.membertou-past-event h3{margin:0;font-size:1.35rem;font-weight:600;line-height:1.2}
.membertou-past-event h3 a,
.membertou-past-event__action a{color:var(--membertou-events-teal)}
.membertou-past-event p{margin:6px 0 0}
.membertou-past-event__action a{font-weight:700;text-underline-offset:.2em}
.membertou-event-single__hero{padding:clamp(64px,8vw,104px) 0;background:var(--membertou-events-teal);color:var(--membertou-events-white)}
.membertou-events-back{margin:0 0 24px}
.membertou-events-back a{color:var(--membertou-events-white);font-weight:700;text-underline-offset:.2em}
.membertou-event-status{display:inline-flex;margin:0 0 14px;padding:6px 10px;border-radius:999px;background:var(--membertou-events-cream);color:var(--membertou-events-rust);font-size:.875rem;font-weight:700}
.membertou-event-single__summary{display:flex;flex-wrap:wrap;gap:20px 42px;margin:34px 0 0}
.membertou-event-single__summary div{min-width:min(100%,170px)}
.membertou-event-single__summary dt{color:var(--membertou-events-cream);font-size:.875rem;font-weight:700}
.membertou-event-single__summary dd{margin:4px 0 0;color:var(--membertou-events-white);font-size:1.125rem}
.membertou-event-single__image-wrap{padding-top:clamp(42px,6vw,72px)}
.membertou-event-single__image{display:block;width:100%;max-height:720px;object-fit:cover;border-radius:14px}
.membertou-event-single__layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:clamp(42px,7vw,92px);align-items:start}
.membertou-event-single__content{min-width:0}
.membertou-event-single__content>:first-child{margin-top:0}
.membertou-event-single__content h2,
.membertou-event-single__content h3{color:var(--membertou-events-teal);font-weight:600;letter-spacing:0;line-height:1.2}
.membertou-event-single__content a:not(.membertou-event-button),
.membertou-event-details__info-link{color:var(--membertou-events-teal);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.membertou-event-details{padding:clamp(28px,4vw,38px);background:var(--membertou-events-warm);border-top:5px solid var(--membertou-events-rust)}
.membertou-event-details h2{font-size:1.8rem}
.membertou-event-details dl{display:grid;gap:20px;margin:26px 0 0}
.membertou-event-details dl div{display:grid;gap:4px}
.membertou-event-details dt{color:var(--membertou-events-rust);font-size:.875rem;font-weight:700}
.membertou-event-details dd{display:grid;gap:2px;margin:0}
.membertou-event-details p{margin:26px 0 0}
.membertou-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.membertou-events-page :where(a,button,select):focus-visible,
.membertou-event-single :where(a,button,select):focus-visible{outline:3px solid var(--membertou-events-white);outline-offset:4px;box-shadow:0 0 0 7px var(--membertou-events-ink)}
.membertou-events-section :where(a,button,select):focus-visible{outline-color:var(--membertou-events-teal);box-shadow:0 0 0 7px var(--membertou-events-white)}
@media(hover:hover) and (pointer:fine){.membertou-event-button{transition:transform 180ms ease,opacity 180ms ease}.membertou-event-button:hover{transform:translateY(-2px)}}
@media(max-width:980px){.membertou-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membertou-event-single__layout{grid-template-columns:1fr}}
@media(max-width:720px){.membertou-events-section-heading,.membertou-events-filter{align-items:stretch}.membertou-events-section-heading{flex-direction:column}.membertou-events-filter{width:100%;flex-direction:column}.membertou-events-filter__field,.membertou-events-filter select,.membertou-events-filter .membertou-event-button{width:100%}.membertou-event-grid{grid-template-columns:1fr}.membertou-past-event{grid-template-columns:1fr;gap:8px}.membertou-past-event__action{margin-top:8px}}
@media(max-width:480px){.membertou-events-shell{width:min(100% - 32px,1180px)}.membertou-events-hero h1,.membertou-event-single__hero h1{font-size:clamp(2.5rem,12vw,3.5rem);line-height:1.08}.membertou-event-card__meta div{grid-template-columns:1fr;gap:2px}.membertou-event-button{width:100%}}
@media(prefers-reduced-motion:reduce){.membertou-events-page *,.membertou-events-page *::before,.membertou-events-page *::after,.membertou-event-single *,.membertou-event-single *::before,.membertou-event-single *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}.membertou-event-button:hover{transform:none!important}}
@media(forced-colors:active){.membertou-events-page :where(a,button,select):focus-visible,.membertou-event-single :where(a,button,select):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.membertou-event-card,.membertou-event-details{border:1px solid CanvasText}}
@media print{.membertou-events-filter,.membertou-events-pagination,.membertou-event-card__action,.membertou-events-back{display:none!important}.membertou-events-page,.membertou-event-single{color:#000;background:#fff}}

/* MEMBERTOU EVENTS DEFAULT SITE BRAND V1.1 START */

/*
 * Events does not currently have a separate visual identity.
 * Keep it inside the existing Membertou.ca brand system.
 *
 * Current Membertou.ca red sampled from the site header:
 * #A70E13
 *
 * This intentionally replaces the temporary teal/rust Events palette
 * without changing layout, templates, content, or functionality.
 */
.membertou-events-page,
.membertou-event-single {
    --membertou-site-red: #A70E13;
    --membertou-site-red-dark: #7E0A0E;
    --membertou-site-offwhite: #FFFCF7;
    --membertou-site-white: #FFFFFF;
    --membertou-site-ink: #171717;
    --membertou-site-text: #242424;
    --membertou-site-muted: #5F5F5F;
    --membertou-site-border: #D9D3CE;
    --membertou-site-soft: #F2F0ED;

    /*
     * Remap the original Events component variables so all existing
     * components inherit the main Membertou.ca visual language.
     */
    --membertou-events-teal: var(--membertou-site-red);
    --membertou-events-teal-deep: var(--membertou-site-red-dark);
    --membertou-events-rust: var(--membertou-site-red);
    --membertou-events-cream: var(--membertou-site-offwhite);
    --membertou-events-warm: var(--membertou-site-offwhite);
    --membertou-events-sage: var(--membertou-site-soft);
    --membertou-events-ink: var(--membertou-site-ink);
    --membertou-events-text: var(--membertou-site-text);
    --membertou-events-white: var(--membertou-site-white);
    --membertou-events-border: var(--membertou-site-border);

    background: var(--membertou-site-offwhite);
    color: var(--membertou-site-text);
}

/* Use the site's established solid red rather than an Events-specific gradient. */
.membertou-events-page .membertou-events-hero,
.membertou-event-single .membertou-event-single__hero {
    background: var(--membertou-site-red) !important;
    color: var(--membertou-site-white);
}

/* White typography on the main red hero. */
.membertou-events-page .membertou-events-hero h1,
.membertou-event-single .membertou-event-single__hero h1,
.membertou-events-page .membertou-events-hero .membertou-events-lead {
    color: var(--membertou-site-white) !important;
}

.membertou-events-page .membertou-events-hero .membertou-events-kicker,
.membertou-event-single .membertou-event-single__hero .membertou-events-kicker {
    color: var(--membertou-site-offwhite) !important;
}

/* Light-page typography and accents use Membertou red. */
.membertou-events-page .membertou-events-kicker,
.membertou-events-page .membertou-events-section-heading h2,
.membertou-event-single .membertou-event-details h2,
.membertou-event-single .membertou-event-single__content h2,
.membertou-event-single .membertou-event-single__content h3,
.membertou-events-page .membertou-event-card__title a,
.membertou-events-page .membertou-past-event h3 a,
.membertou-events-page .membertou-past-event__action a,
.membertou-event-single .membertou-event-single__content a:not(.membertou-event-button),
.membertou-event-single .membertou-event-details__info-link {
    color: var(--membertou-site-red) !important;
}

/* Event cards stay neutral, matching the existing website rather than creating a sub-brand. */
.membertou-events-page .membertou-event-card {
    background: var(--membertou-site-white);
    border-color: var(--membertou-site-border);
}

.membertou-events-page .membertou-event-card__types li {
    background: var(--membertou-site-soft);
    color: var(--membertou-site-red-dark);
}

.membertou-events-page .membertou-event-card__meta dt,
.membertou-events-page .membertou-past-event__date,
.membertou-event-single .membertou-event-details dt {
    color: var(--membertou-site-red) !important;
}

/* Both existing button variants now use the main website action colour. */
.membertou-events-page .membertou-event-button--rust,
.membertou-events-page .membertou-event-button--teal,
.membertou-event-single .membertou-event-button--rust,
.membertou-event-single .membertou-event-button--teal {
    background: var(--membertou-site-red) !important;
    border-color: var(--membertou-site-red) !important;
    color: var(--membertou-site-white) !important;
}

.membertou-events-page .membertou-events-filter select {
    border-color: var(--membertou-site-red);
    color: var(--membertou-site-ink);
}

.membertou-events-page .membertou-events-filter__clear {
    color: var(--membertou-site-red);
}

/* Empty state remains intentionally quiet, with a clear Membertou red anchor. */
.membertou-events-page .membertou-events-empty {
    background: var(--membertou-site-white);
    border-left-color: var(--membertou-site-red);
}

.membertou-events-page .membertou-events-empty h3 {
    color: var(--membertou-site-ink);
}

/* Past-event area uses a neutral website gray rather than a themed colour band. */
.membertou-events-page .membertou-events-section--soft,
.membertou-event-single .membertou-events-section--soft {
    background: var(--membertou-site-soft);
}

/* Single-event details follow the same neutral + red treatment. */
.membertou-event-single .membertou-event-details {
    background: var(--membertou-site-offwhite);
    border-top-color: var(--membertou-site-red);
}

/* Pagination and controls stay within the same main site palette. */
.membertou-events-page .membertou-events-pagination a,
.membertou-events-page .membertou-events-pagination span {
    border-color: var(--membertou-site-red);
    color: var(--membertou-site-red);
}

.membertou-events-page .membertou-events-pagination .current {
    background: var(--membertou-site-red);
    color: var(--membertou-site-white);
}

/* Focus treatment remains high contrast without introducing another accent colour. */
.membertou-events-page :where(a, button, select):focus-visible,
.membertou-event-single :where(a, button, select):focus-visible {
    outline-color: var(--membertou-site-white);
    box-shadow: 0 0 0 7px var(--membertou-site-ink);
}

.membertou-events-page .membertou-events-section :where(a, button, select):focus-visible,
.membertou-event-single .membertou-events-section :where(a, button, select):focus-visible {
    outline-color: var(--membertou-site-red);
    box-shadow: 0 0 0 7px var(--membertou-site-white);
}

/* MEMBERTOU EVENTS DEFAULT SITE BRAND V1.1 END */


/* MEMBERTOU EVENTS SAMPLE CONTENT V1.2.1 START */

.membertou-events-construction {
    background: #ffffff;
    border-top: 1px solid #d9d3ce;
    border-bottom: 1px solid #d9d3ce;
}

.membertou-events-construction__inner {
    display: grid;
    grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
    gap: 22px 42px;
    align-items: center;
    padding: 20px 0;
}

.membertou-events-construction__label {
    margin: 0;
    color: #A70E13;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.4;
    text-transform: uppercase;
}

.membertou-events-construction__inner > p:last-child {
    margin: 0;
    color: #242424;
    font-size: 1rem;
    line-height: 1.6;
}

.membertou-event-card__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        linear-gradient(
            135deg,
            rgba(167, 14, 19, 0.08),
            rgba(167, 14, 19, 0.015)
        ),
        #f2f0ed;
    color: #A70E13;
    text-align: center;
}

.membertou-event-card__placeholder span {
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
}

@media (max-width: 720px) {
    .membertou-events-construction__inner {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 18px 0;
    }
}

/* MEMBERTOU EVENTS SAMPLE CONTENT V1.2.1 END */


/* MEMBERTOU EVENTS ARCHIVE POLISH V1.4 START */

.membertou-events-construction {
    background: #fff8f8;
    border-top: 0;
    border-bottom: 2px solid #A70E13;
}

.membertou-events-construction__inner {
    grid-template-columns: minmax(190px, 0.32fr) minmax(0, 1fr);
    gap: 18px 40px;
    min-height: 72px;
    padding: 16px 0;
}

.membertou-events-construction__label {
    color: #A70E13;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    line-height: 1.4;
}

.membertou-events-construction__inner > p:last-child {
    max-width: 900px;
    color: #242424;
    font-size: 1rem;
    line-height: 1.55;
}

.membertou-events-filter label {
    font-size: 1rem;
    line-height: 1.4;
}

.membertou-events-filter select {
    min-height: 56px;
    font-size: 1rem;
}

.membertou-events-filter .membertou-event-button {
    min-height: 56px;
}

.membertou-event-card__body {
    font-size: 1rem;
    line-height: 1.6;
}

.membertou-event-card__types li {
    font-size: 0.875rem;
    line-height: 1.3;
}

.membertou-event-card__title {
    font-size: clamp(1.65rem, 2.2vw, 2rem);
    line-height: 1.18;
}

.membertou-event-card__meta {
    gap: 12px;
}

.membertou-event-card__meta div {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 12px;
}

.membertou-event-card__meta dt {
    font-size: 0.875rem;
    line-height: 1.45;
}

.membertou-event-card__meta dd {
    font-size: 1rem;
    line-height: 1.5;
}

.membertou-event-card__excerpt {
    font-size: 1rem;
    line-height: 1.65;
}

.membertou-event-card__action {
    padding-top: 28px;
}

.membertou-event-card__action .membertou-event-button {
    min-width: 132px;
}

.membertou-past-event {
    min-height: 88px;
}

.membertou-past-event__date,
.membertou-past-event p,
.membertou-past-event__action a {
    font-size: 1rem;
    line-height: 1.5;
}

.membertou-past-event h3 {
    font-size: 1.45rem;
    line-height: 1.25;
}

@media (max-width: 720px) {
    .membertou-events-construction__inner {
        grid-template-columns: 1fr;
        gap: 6px;
        min-height: 0;
        padding: 18px 0;
    }

    .membertou-event-card__body {
        padding: 26px 24px 28px;
    }

    .membertou-event-card__title {
        font-size: 1.7rem;
    }

    .membertou-event-card__meta div {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .membertou-event-card__action .membertou-event-button {
        width: 100%;
    }

    .membertou-past-event {
        min-height: 0;
        padding: 24px 0;
    }
}

/* MEMBERTOU EVENTS ARCHIVE POLISH V1.4 END */


/* MEMBERTOU EVENTS CONTENT RHYTHM V1.5 START */

/*
 * Restore deliberate vertical rhythm inside individual Event content.
 * Bridge/WPBakery theme defaults flatten some paragraph/heading margins,
 * which made paragraphs and headings visually run together.
 */

.membertou-event-single__content {
    font-size: 1.125rem;
    line-height: 1.72;
}

/* Paragraph rhythm */
.membertou-event-single__content p {
    margin: 0 0 1.35em;
}

.membertou-event-single__content p + p {
    margin-top: 0;
}

/* Heading rhythm */
.membertou-event-single__content h2 {
    margin: 1.9em 0 0.7em;
    font-size: clamp(1.9rem, 3vw, 2.55rem);
    line-height: 1.16;
}

.membertou-event-single__content h3 {
    margin: 1.7em 0 0.65em;
    font-size: clamp(1.45rem, 2.3vw, 1.9rem);
    line-height: 1.2;
}

.membertou-event-single__content h4 {
    margin: 1.55em 0 0.6em;
    font-size: 1.25rem;
    line-height: 1.25;
}

/* Do not create artificial space at the top of the content column. */
.membertou-event-single__content > :first-child {
    margin-top: 0 !important;
}

/* Give content after a heading enough room to read as a new section. */
.membertou-event-single__content h2 + p,
.membertou-event-single__content h3 + p,
.membertou-event-single__content h4 + p {
    margin-top: 0;
}

/* Lists */
.membertou-event-single__content ul,
.membertou-event-single__content ol {
    margin: 0 0 1.45em;
    padding-left: 1.4em;
}

.membertou-event-single__content li {
    margin: 0.35em 0;
    padding-left: 0.2em;
}

/* Quotes and callouts */
.membertou-event-single__content blockquote {
    margin: 1.8em 0;
    padding: 0.2em 0 0.2em 1.35em;
    border-left: 4px solid #A70E13;
}

.membertou-event-single__content blockquote p:last-child {
    margin-bottom: 0;
}

/* Media and embeds */
.membertou-event-single__content figure,
.membertou-event-single__content .wp-block-image,
.membertou-event-single__content .wp-block-embed,
.membertou-event-single__content iframe,
.membertou-event-single__content table {
    margin-top: 1.75em;
    margin-bottom: 1.75em;
}

/* Tables */
.membertou-event-single__content table {
    width: 100%;
    border-collapse: collapse;
}

.membertou-event-single__content th,
.membertou-event-single__content td {
    padding: 0.8em 0.9em;
    border: 1px solid #d9d3ce;
    text-align: left;
    vertical-align: top;
}

/* Avoid stray excess space at the bottom of the article. */
.membertou-event-single__content > :last-child {
    margin-bottom: 0;
}

/* Details sidebar rhythm */
.membertou-event-details dl {
    gap: 24px;
}

.membertou-event-details dl div {
    gap: 6px;
}

.membertou-event-details p {
    margin-top: 30px;
}

/* Mobile rhythm remains generous without becoming oversized. */
@media (max-width: 720px) {
    .membertou-event-single__content {
        font-size: 1.0625rem;
        line-height: 1.68;
    }

    .membertou-event-single__content p {
        margin-bottom: 1.25em;
    }

    .membertou-event-single__content h2 {
        margin-top: 1.65em;
        margin-bottom: 0.65em;
    }

    .membertou-event-single__content h3 {
        margin-top: 1.5em;
        margin-bottom: 0.6em;
    }
}

/* MEMBERTOU EVENTS CONTENT RHYTHM V1.5 END */


/* MEMBERTOU EVENTS CARD HEADING LEADING V1.5.1 START */

/*
 * Tighten multi-line event card titles.
 * The site's serif display face has generous built-in metrics, so the
 * previous 1.18 line-height created excessive gaps between wrapped lines.
 */
.membertou-event-card__title {
    line-height: 1.04 !important;
}

@media (max-width: 720px) {
    .membertou-event-card__title {
        line-height: 1.06 !important;
    }
}

/* MEMBERTOU EVENTS CARD HEADING LEADING V1.5.1 END */


/* MEMBERTOU EVENTS CARD HEADING LEADING V1.5.2 START */

/*
 * Bridge applies typography to the linked heading text itself.
 * V1.5.1 tightened the H2, but the inner <a> retained its own line-height.
 * Target both the heading and the link so wrapped event titles actually change.
 */
.membertou-events-page .membertou-event-card__title,
.membertou-events-page .membertou-event-card__title > a {
    line-height: 1.04 !important;
}

.membertou-events-page .membertou-event-card__title > a {
    display: block;
}

@media (max-width: 720px) {
    .membertou-events-page .membertou-event-card__title,
    .membertou-events-page .membertou-event-card__title > a {
        line-height: 1.06 !important;
    }
}

/* MEMBERTOU EVENTS CARD HEADING LEADING V1.5.2 END */


/* MEMBERTOU EVENTS CONSTRUCTION VISIBILITY V1.5.3 START */

/*
 * Keep the temporary construction notice visible at every breakpoint.
 * It now sits immediately after the Events hero so Bridge's desktop
 * fixed header cannot cover it.
 */
.membertou-events-page .membertou-events-construction,
.membertou-event-single .membertou-events-construction {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    z-index: 5;
    visibility: visible !important;
    opacity: 1 !important;
}

.membertou-events-page .membertou-events-construction .membertou-events-shell,
.membertou-event-single .membertou-events-construction .membertou-events-shell {
    display: block !important;
}

/* MEMBERTOU EVENTS CONSTRUCTION VISIBILITY V1.5.3 END */


/* MEMBERTOU EVENTS HEAVY POLISH V1.6.2 START */

/*
 * Responsive + WCAG 2.2 AA + UX/UI refinement.
 * Retains Membertou.ca's existing red / neutral identity.
 */

.membertou-events-page *,
.membertou-events-page *::before,
.membertou-events-page *::after,
.membertou-event-single *,
.membertou-event-single *::before,
.membertou-event-single *::after {
    box-sizing: border-box;
}

.membertou-events-page img,
.membertou-event-single img,
.membertou-events-page iframe,
.membertou-event-single iframe {
    max-width: 100%;
}

/* Strong keyboard focus */
.membertou-events-page a:focus-visible,
.membertou-events-page button:focus-visible,
.membertou-events-page select:focus-visible,
.membertou-events-page input:focus-visible,
.membertou-event-single a:focus-visible,
.membertou-event-single button:focus-visible,
.membertou-event-single select:focus-visible,
.membertou-event-single input:focus-visible {
    outline: 3px solid #111 !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 3px #fff !important;
}

/* Consistent action targets */
.membertou-event-button,
.membertou-past-event__action a {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 999px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    touch-action: manipulation;
}

.membertou-event-button:hover,
.membertou-event-button:focus-visible,
.membertou-past-event__action a:hover,
.membertou-past-event__action a:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 2px;
}

/* Prose links use more than colour alone */
.membertou-event-single__content a:not(.membertou-event-button) {
    text-decoration: underline;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1.5px;
}

/* Construction notice */
.membertou-events-construction {
    display: block !important;
    width: 100%;
    visibility: visible !important;
    opacity: 1 !important;
    background: #fff8f8;
    border-bottom: 2px solid #A70E13;
}

.membertou-events-construction__inner {
    min-height: 76px;
    align-items: center;
}

.membertou-events-construction__label {
    margin: 0;
    color: #A70E13;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.membertou-events-construction__inner > p:last-child {
    margin: 0;
    max-width: 78ch;
    color: #242424;
    font-size: 1rem;
    line-height: 1.6;
}

/* Hero readability */
.membertou-events-hero h1,
.membertou-event-single__hero h1 {
    text-wrap: balance;
    overflow-wrap: break-word;
    hyphens: none;
}

.membertou-events-hero p,
.membertou-event-single__hero p {
    max-width: 70ch;
}

.membertou-event-single__back,
.membertou-event-single__hero a[href*="/events"] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-block: 6px;
    font-weight: 700;
    text-underline-offset: 0.18em;
}

/* Archive filter */
.membertou-events-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
}

.membertou-events-filter label {
    display: block;
    margin-bottom: 7px;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 700;
}

.membertou-events-filter select {
    min-width: 220px;
    min-height: 56px;
    padding: 0 42px 0 14px;
    border: 2px solid #A70E13;
    border-radius: 4px;
    background-color: #fff;
    color: #171717;
    font-size: 1rem;
    line-height: 1.3;
}

/* Card structure */
.membertou-event-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
}

.membertou-event-card__media,
.membertou-event-card__placeholder {
    width: 100%;
    min-height: 150px;
    aspect-ratio: 16 / 7;
    overflow: hidden;
}

.membertou-event-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.membertou-event-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: 28px 24px 26px;
    font-size: 1rem;
    line-height: 1.62;
}

.membertou-event-card__types {
    margin-bottom: 18px;
}

.membertou-event-card__types li {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    line-height: 1.2;
}

.membertou-event-card__title {
    margin: 0 0 24px;
    color: #A70E13;
    font-size: clamp(1.65rem, 2.15vw, 2rem);
    line-height: 1.04 !important;
    text-wrap: balance;
    overflow-wrap: break-word;
    hyphens: none;
}

.membertou-event-card__title > a {
    display: block;
    line-height: inherit !important;
}

.membertou-event-card__meta {
    margin: 0 0 22px;
    gap: 12px;
}

.membertou-event-card__meta div {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
}

.membertou-event-card__meta dt {
    font-size: 0.875rem;
    line-height: 1.45;
    font-weight: 700;
}

.membertou-event-card__meta dd {
    min-width: 0;
    font-size: 1rem;
    line-height: 1.48;
    overflow-wrap: anywhere;
}

.membertou-event-card__excerpt {
    margin: 0 0 8px;
    font-size: 1rem;
    line-height: 1.65;
}

.membertou-event-card__action {
    margin-top: auto;
    padding-top: 24px;
}

.membertou-event-card__action .membertou-event-button {
    min-width: 140px;
}

/* Recent past events */
.membertou-past-event {
    min-height: 96px;
    align-items: center;
}

.membertou-past-event__date {
    font-size: 0.9375rem;
    line-height: 1.5;
    font-weight: 700;
}

.membertou-past-event h3 {
    margin: 0 0 5px;
    font-size: 1.45rem;
    line-height: 1.22;
    text-wrap: balance;
}

.membertou-past-event p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
}

.membertou-past-event__action a {
    min-height: 48px;
    padding-inline: 18px;
    border: 2px solid #A70E13;
    color: #A70E13;
    background: transparent;
}

/* Single-event long-form readability */
.membertou-event-single__content {
    max-width: 72ch;
    font-size: 1.125rem;
    line-height: 1.72;
}

.membertou-event-single__content h2,
.membertou-event-single__content h3,
.membertou-event-single__content h4,
.membertou-event-details h2 {
    text-wrap: balance;
    overflow-wrap: break-word;
    hyphens: none;
}

.membertou-event-details {
    min-width: 0;
}

.membertou-event-details h2 {
    margin-bottom: 26px;
    line-height: 1.18;
}

.membertou-event-details dl {
    gap: 24px;
}

.membertou-event-details dl div {
    gap: 7px;
}

.membertou-event-details dt {
    font-size: 0.875rem;
    line-height: 1.4;
    font-weight: 700;
}

.membertou-event-details dd {
    min-width: 0;
    font-size: 1rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.membertou-event-details p {
    margin-top: 30px;
}

.membertou-event-single__content h2,
.membertou-event-single__content h3,
.membertou-event-single__content h4,
.membertou-event-details {
    scroll-margin-top: 120px;
}

/* Tablet */
@media (max-width: 1024px) {
    .membertou-event-card__title {
        font-size: 1.75rem;
    }

    .membertou-event-card__body {
        padding: 26px 22px 24px;
    }
}

/* Mobile */
@media (max-width: 720px) {
    .membertou-events-page .membertou-events-shell,
    .membertou-event-single .membertou-events-shell {
        width: calc(100% - 32px);
        max-width: none;
        margin-inline: auto;
    }

    .membertou-events-construction__inner {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        min-height: 0;
        padding-block: 18px;
    }

    .membertou-events-filter {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: 12px;
    }

    .membertou-events-filter > *,
    .membertou-events-filter select,
    .membertou-events-filter .membertou-event-button {
        min-width: 0;
        width: 100%;
    }

    .membertou-event-card__media,
    .membertou-event-card__placeholder {
        min-height: 128px;
        aspect-ratio: 16 / 6.8;
    }

    .membertou-event-card__body {
        padding: 24px 20px 22px;
    }

    .membertou-event-card__types {
        margin-bottom: 15px;
    }

    .membertou-event-card__title {
        margin-bottom: 20px;
        font-size: clamp(1.6rem, 8vw, 1.85rem);
        line-height: 1.06 !important;
    }

    .membertou-event-card__meta {
        margin-bottom: 18px;
    }

    .membertou-event-card__meta div {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 10px;
    }

    .membertou-event-card__action {
        padding-top: 20px;
    }

    .membertou-event-card__action .membertou-event-button,
    .membertou-past-event__action a {
        width: 100%;
    }

    .membertou-past-event {
        min-height: 0;
        align-items: start;
        padding-block: 24px;
    }

    .membertou-past-event h3 {
        font-size: 1.35rem;
    }

    .membertou-past-event__action {
        width: 100%;
        margin-top: 10px;
    }

    .membertou-event-single__back,
    .membertou-event-single__hero a[href*="/events"] {
        min-height: 48px;
    }

    .membertou-event-single__content {
        max-width: none;
        font-size: 1.0625rem;
        line-height: 1.68;
    }

    .membertou-event-details {
        margin-top: 8px;
    }

    .membertou-event-details h2 {
        margin-bottom: 22px;
    }
}

/* 320px resilience */
@media (max-width: 380px) {
    .membertou-events-page .membertou-events-shell,
    .membertou-event-single .membertou-events-shell {
        width: calc(100% - 24px);
    }

    .membertou-event-card__body {
        padding-inline: 18px;
    }

    .membertou-event-card__meta div {
        grid-template-columns: 66px minmax(0, 1fr);
        gap: 8px;
    }

    .membertou-event-card__title {
        font-size: 1.55rem;
    }
}

/* User preferences */
@media (prefers-reduced-motion: reduce) {
    .membertou-events-page *,
    .membertou-events-page *::before,
    .membertou-events-page *::after,
    .membertou-event-single *,
    .membertou-event-single *::before,
    .membertou-event-single *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (prefers-contrast: more) {
    .membertou-event-card,
    .membertou-event-details,
    .membertou-events-filter select {
        border-color: #111 !important;
    }

    .membertou-event-button,
    .membertou-past-event__action a {
        border: 2px solid currentColor !important;
    }
}

@media (forced-colors: active) {
    .membertou-event-button,
    .membertou-past-event__action a,
    .membertou-events-filter select {
        border: 2px solid ButtonText !important;
    }

    .membertou-events-page a:focus-visible,
    .membertou-events-page button:focus-visible,
    .membertou-events-page select:focus-visible,
    .membertou-event-single a:focus-visible,
    .membertou-event-single button:focus-visible,
    .membertou-event-single select:focus-visible {
        outline: 3px solid Highlight !important;
        box-shadow: none !important;
    }
}

/* MEMBERTOU EVENTS HEAVY POLISH V1.6.2 END */
