/*
Theme Name:   MEUC
Theme URI:    https://meucnetwork.co.uk
Description:  MEUC child theme for Twenty Twenty-Four
Author:       MEUC
Template:     twentytwentyfour
Version:      1.1.11
Tags:         custom-colors, custom-logo, custom-menu, full-site-editing
Text Domain:  meuc
*/

/* ============================================================
   MEUC Design System — v1.1
   Colours: Deep Navy #041F4F / Brand Blue #1E5BB8 / Teal #009EA0
   Fonts: Poppins (UI/body + headings, medium weight)
   ============================================================ */

/* ----------------------------------------------------------
   CSS Custom Properties (design tokens)
   ---------------------------------------------------------- */
:root {
    --meuc-navy:        #041F4F;
    --meuc-blue:        #1E5BB8;
    --meuc-blue-hover:  #174B97;
    --meuc-blue-accent: #4E8DF2;
    --meuc-ice:         #EDF4FF;
    --meuc-teal:        #009EA0;
    --meuc-green:       #68B92D;
    --meuc-magenta:     #D91F68;
    --meuc-amber:       #F2A21A;
    --meuc-text:        #1F2937;
    --meuc-text-sec:    #5B6575;
    --meuc-border:      #DCE3EE;
    --meuc-bg:          #F8FAFD;
    --meuc-footer-bg:   #020E28;
    --meuc-shadow-sm:   0 1px 4px rgba(11,28,58,0.06);
    --meuc-shadow-md:   0 4px 16px rgba(11,28,58,0.10);
    --meuc-shadow-lg:   0 12px 40px rgba(11,28,58,0.14);
    --meuc-radius:      6px;
    --meuc-radius-sm:   4px;
    --meuc-max-w:       1280px;
    --meuc-text-muted:  #5B6575;
    /* Button size scale */
    --btn-pad-lg:       15px 32px;
    --btn-pad-md:       12px 24px;
    --btn-pad-sm:       10px 20px;
    /* WP preset token — prevents TT4 from injecting a fallback */
    --wp--preset--color--contrast: #041F4F;
}

/* ----------------------------------------------------------
   Base / Reset
   ---------------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}

body {
    background-color: var(--meuc-bg);
    color: var(--meuc-text);
    font-family: 'Poppins', sans-serif;
    line-height: 1.6;
}

/* WordPress FSE wrapper — remove side padding so full-width sections bleed edge-to-edge */
.wp-site-blocks {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
}


/* ----------------------------------------------------------
   HEADER
   ---------------------------------------------------------- */

/* Fixed nav — transparent at page top, transitions to solid on scroll.
   Each page section carries its own top padding to clear the 68px bar. */
.meuc-site-header {
    background: transparent !important;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    border-bottom: none !important;
    transition: background 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease;
}

/* Admin bar offset */
.admin-bar .meuc-site-header { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar .meuc-site-header { top: 46px; }
}

/* Scrolled state — frosted navy, page content just visible behind */
.meuc-site-header.is-scrolled {
    background: rgba(4,31,79,0.82) !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Nav inner — constrains to site max-width, sets flex layout */
.meuc-nav-inner {
    max-width: var(--meuc-max-w);
    margin-inline: auto;
    padding-inline: 2rem;
    height: 68px;
    display: flex;
    align-items: center;
    gap: 0;
}

/* ── Wordmark component ────────────────────────────────── */
.meuc-wordmark {
    --meuc-logo-colour: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: clamp(1rem, 2vw, 2rem);
    color: var(--meuc-logo-colour);
    font-family: "Raleway", Arial, sans-serif;
    text-decoration: none;
    line-height: 0.9;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.meuc-wordmark__short {
    font-size: clamp(3rem, 9vw, 8rem);
    font-weight: 800;
    text-transform: uppercase;
}
.meuc-wordmark__divider {
    display: block;
    width: 3px;
    height: clamp(4.2rem, 10vw, 8.8rem);
    background: currentColor;
    flex-shrink: 0;
}
.meuc-wordmark__full {
    display: flex;
    flex-direction: column;
    gap: 0.12em;
    font-size: clamp(1.45rem, 3.6vw, 4rem);
    font-weight: 800;
    white-space: nowrap;
}
.meuc-wordmark__full span {
    display: block;
    text-align: justify;
    text-align-last: justify;
    width: 100%;
    letter-spacing: 0.08em;
}
.meuc-wordmark__full span:last-child {
    letter-spacing: 0;
}

/* Nav-context overrides — scaled to fit the 68px bar */
.meuc-nav-inner .meuc-wordmark {
    gap: 0.55rem;
    margin-right: 32px;
    flex-shrink: 0;
}
.meuc-nav-inner .meuc-wordmark__short {
    font-size: 1.55rem;
}
.meuc-nav-inner .meuc-wordmark__divider {
    width: 2px;
    height: 2rem;
}
.meuc-nav-inner .meuc-wordmark__full {
    font-size: 0.62rem;
    gap: 0.18em;
}

/* Desktop primary nav list */
.meuc-nav-items {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    list-style: none;
    margin: 0;
    padding: 0;
}

.meuc-nav-item {
    position: relative;
}

/* Top-level nav button */
.meuc-nav-link {
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: none;
    padding: 8px 14px;
    border-radius: var(--meuc-radius-sm);
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.82);
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.15s, background 0.15s;
    white-space: nowrap;
}

.meuc-nav-link:hover,
.meuc-nav-item:focus-within > .meuc-nav-link {
    color: #fff;
    background: rgba(255,255,255,0.08);
}

/* Chevron */
.meuc-nav-chevron {
    opacity: 0.6;
    transition: transform 0.2s, opacity 0.2s;
    flex-shrink: 0;
}

.meuc-nav-item:hover .meuc-nav-chevron,
.meuc-nav-item:focus-within .meuc-nav-chevron {
    transform: rotate(180deg);
    opacity: 1;
}

/* Dropdown panel — shown on hover/focus-within */
.meuc-nav-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: -20px;
    background: #fff;
    border-top: 3px solid var(--meuc-blue);
    border-radius: 0 0 var(--meuc-radius) var(--meuc-radius);
    box-shadow: 0 12px 40px rgba(11,28,58,0.14);
    min-width: 340px;
    padding: 8px 0;
    z-index: 1000;
    /* Hidden by default — CSS transition */
    visibility: hidden;
    opacity: 0;
    transform: translateY(6px);
    transition: visibility 0s linear 0.12s, opacity 0.12s, transform 0.12s;
}

.meuc-nav-item:hover .meuc-nav-dropdown,
.meuc-nav-item:focus-within .meuc-nav-dropdown {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
}

/* Dropdown items */
.meuc-nav-dd-item {
    display: block;
    padding: 12px 24px;
    text-decoration: none;
    border-bottom: 1px solid #EDF4FF;
    transition: background 0.12s;
}

.meuc-nav-dd-item:last-child {
    border-bottom: none;
}

.meuc-nav-dd-item:hover {
    background: #F8FAFD;
}

.meuc-nav-dd-label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--meuc-navy);
    margin-bottom: 2px;
}

.meuc-nav-dd-desc {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: #5B6575;
}

/* Auth buttons container */
.meuc-nav-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    margin-left: 16px;
}

/* Hamburger button — desktop hidden */
.meuc-nav-hamburger {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
    padding: 6px;
    margin-left: 12px;
    flex-shrink: 0;
}

/* ----------------------------------------------------------
   MOBILE NAV DRAWER
   ---------------------------------------------------------- */
.meuc-nav-mobile {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(4,31,79,0.6);
    backdrop-filter: blur(4px);
}

.meuc-nav-mobile.is-open {
    display: block;
}

.meuc-nav-mobile-inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(340px, 100%);
    background: var(--meuc-navy);
    overflow-y: auto;
    padding: 20px 24px 40px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.meuc-nav-mobile-close {
    background: none;
    border: none;
    cursor: pointer;
    color: rgba(255,255,255,0.7);
    padding: 4px;
    align-self: flex-end;
    margin-bottom: 16px;
    transition: color 0.15s;
}

.meuc-nav-mobile-close:hover {
    color: #fff;
}

.meuc-nav-mobile-items {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
}

.meuc-nav-mobile-item {
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.meuc-nav-mobile-link {
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: rgba(255,255,255,0.85);
    padding: 14px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    transition: color 0.15s;
}

.meuc-nav-mobile-link:hover {
    color: #fff;
}

.meuc-nav-mobile-link .meuc-nav-chevron {
    opacity: 0.5;
}

.meuc-nav-mobile-link[aria-expanded="true"] .meuc-nav-chevron {
    transform: rotate(180deg);
    opacity: 0.8;
}

.meuc-nav-mobile-sub {
    list-style: none;
    margin: 0 0 8px 0;
    padding: 0 0 0 12px;
}

.meuc-nav-mobile-sub li {
    border-bottom: none;
}

.meuc-nav-mobile-sub a {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    padding: 9px 0;
    text-decoration: none;
    transition: color 0.15s;
}

.meuc-nav-mobile-sub a:hover {
    color: #fff;
}

.meuc-nav-mobile-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 28px;
}

.meuc-nav-mobile-actions .meuc-header-signin,
.meuc-nav-mobile-actions .meuc-header-join {
    justify-content: center;
    width: 100%;
    text-align: center;
}

/* Sign In / Join MEUC buttons in header */
.meuc-header-signin,
.meuc-header-join {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
    padding: 7px 16px;
    border-radius: var(--meuc-radius-sm);
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.meuc-header-signin {
    background: transparent;
    border: 1.5px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.85);
}

.meuc-header-signin:hover {
    border-color: rgba(255,255,255,0.7);
    color: #fff;
}

.meuc-header-join {
    background: var(--meuc-blue);
    border: none;
    color: #fff;
    font-weight: 600;
    padding: 8px 18px;
}

.meuc-header-join:hover {
    background: var(--meuc-blue-hover);
    color: #fff;
}

/* My Account / Sign Out — logged-in state, same base style */
.meuc-nav-mobile-actions .meuc-header-account,
.meuc-nav-mobile-actions .meuc-header-signout {
    justify-content: center;
    width: 100%;
    text-align: center;
}

.meuc-header-account,
.meuc-header-signout {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
    padding: 7px 16px;
    border-radius: var(--meuc-radius-sm);
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.meuc-header-account {
    background: transparent;
    border: 1.5px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.85);
}

.meuc-header-account:hover {
    border-color: rgba(255,255,255,0.7);
    color: #fff;
}

.meuc-header-signout {
    background: var(--meuc-blue);
    border: none;
    color: #fff;
    font-weight: 600;
    padding: 8px 18px;
}

.meuc-header-signout:hover {
    background: var(--meuc-blue-hover);
    color: #fff;
}

/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */
.meuc-site-footer {
    background: var(--meuc-footer-bg) !important;
    color: rgba(255,255,255,0.65) !important;
}

/* Teal CTA band */
.meuc-footer-cta {
    background: var(--meuc-teal);
    padding: 56px 0;
}

.meuc-footer-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
}

.meuc-footer-cta-title {
    font-family: 'Poppins', sans-serif;
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.meuc-footer-cta-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    color: rgba(255,255,255,0.85);
    margin: 0;
}

.meuc-footer-cta-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.meuc-btn-cta-primary {
    background: #fff;
    color: var(--meuc-blue);
    border: none;
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-lg);
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: opacity 0.15s;
}

.meuc-btn-cta-primary:hover {
    opacity: 0.9;
    color: var(--meuc-blue);
}

.meuc-btn-cta-secondary {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.6);
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-lg);
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-color 0.15s;
}

.meuc-btn-cta-secondary:hover {
    border-color: #fff;
    color: #fff;
}

/* Footer main */
.meuc-footer-main {
    max-width: var(--meuc-max-w);
    margin-inline: auto;
    padding: 64px 2rem 40px;
}

.meuc-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 56px;
}

@media (max-width: 900px) {
    .meuc-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
    .meuc-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 540px) {
    .meuc-footer-grid {
        grid-template-columns: 1fr;
    }
}

.meuc-footer-brand-desc {
    font-size: 14px;
    color: rgba(255,255,255,0.55);
    line-height: 1.7;
    max-width: 280px;
    margin: 20px 0 24px;
}

.meuc-footer-col-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin: 0 0 16px 0;
    font-family: 'Poppins', sans-serif;
}

.meuc-footer-col a {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    padding: 4px 0;
    transition: color 0.15s;
}

.meuc-footer-col a:hover {
    color: #fff;
}

.meuc-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.meuc-footer-copy {
    font-size: 12px;
    color: rgba(255,255,255,0.35);
    margin: 0;
}

.meuc-footer-legal {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.meuc-footer-legal a {
    font-size: 12px;
    color: rgba(255,255,255,0.35);
    text-decoration: none;
    transition: color 0.15s;
}

.meuc-footer-legal a:hover {
    color: rgba(255,255,255,0.7);
}

/* ----------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------- */
.wp-element-button,
.wp-block-button__link {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-md);
    transition: background 0.15s;
}

/* Secondary button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    color: var(--meuc-blue);
    border: 1.5px solid var(--meuc-blue);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--meuc-ice);
}

/* Buttons block set to "Align center": actually centre the buttons in the flex row.
   Core only applies text-align:center, which does nothing to flex children. (snag WP-6) */
.wp-block-buttons.aligncenter {
    justify-content: center;
}

/* Fill (non-outline) buttons: guarantee light text on the dark fill. (snag WP-6) */
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    color: #fff;
}

/* Associate membership benefits table: constrain from full width. (snag WP-6)
   Scoped by page id — if the live DB uses a different id for the Associate page,
   update the selector. */
.page-id-2365 .wp-block-table {
    max-width: 640px;
    margin-inline: auto;
}

/* ----------------------------------------------------------
   CARDS — generic
   ---------------------------------------------------------- */
.meuc-card {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    overflow: hidden;
    box-shadow: var(--meuc-shadow-sm);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.meuc-card:hover {
    border-color: var(--meuc-blue);
    box-shadow: var(--meuc-shadow-md);
    transform: translateY(-2px);
}

/* ----------------------------------------------------------
   EVENT CARDS
   ---------------------------------------------------------- */
.meuc-event-card {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--meuc-shadow-sm);
    transition: all 0.2s;
    cursor: pointer;
}

.meuc-event-card:hover {
    border-color: var(--meuc-blue);
    box-shadow: var(--meuc-shadow-md);
    transform: translateY(-2px);
}

.meuc-event-card-header {
    background: var(--meuc-navy);
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.meuc-event-date-day {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.meuc-event-date-month {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--meuc-teal);
    margin-top: 2px;
}

.meuc-event-date-year {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: rgba(255,255,255,0.5);
    line-height: 1.2;
}

.meuc-event-date-text {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
}

.meuc-event-card-body {
    padding: 20px 24px;
    flex: 1;
}

.meuc-event-card-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--meuc-navy);
    line-height: 1.35;
    margin: 0 0 4px 0;
}

.meuc-event-card-subtitle a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
}

.meuc-event-card-subtitle a:hover { color: var(--meuc-blue); }

.meuc-event-card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--meuc-navy);
    line-height: 1.35;
    margin: 0 0 10px 0;
}

.meuc-event-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
}

.meuc-event-card-title a:hover { color: var(--meuc-blue); }

.meuc-event-card-meta {
    font-size: 12px;
    color: var(--meuc-text-sec);
    margin: 4px 0;
}

.meuc-event-card-footer {
    padding: 14px 24px;
    border-top: 1px solid var(--meuc-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.meuc-event-register-link {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
}

/* ----------------------------------------------------------
   RESOURCE / PUBLICATION CARDS
   ---------------------------------------------------------- */
.meuc-resource-card {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    padding: 24px;
    box-shadow: var(--meuc-shadow-sm);
    transition: all 0.2s;
}

.meuc-resource-card:hover {
    border-color: var(--meuc-blue);
    box-shadow: var(--meuc-shadow-md);
}

.meuc-resource-type-bar {
    width: 3px;
    border-radius: 2px;
    background: var(--meuc-blue);
    flex-shrink: 0;
    align-self: stretch;
}

/* ----------------------------------------------------------
   BADGES / TAGS
   ---------------------------------------------------------- */
.meuc-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--meuc-radius-sm);
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.meuc-badge-blue {
    background: rgba(30,91,184,0.1);
    color: var(--meuc-blue);
    border: 1px solid rgba(30,91,184,0.2);
}

.meuc-badge-teal {
    background: rgba(0,158,160,0.1);
    color: var(--meuc-teal);
    border: 1px solid rgba(0,158,160,0.2);
}

.meuc-badge-green {
    background: rgba(104,185,45,0.1);
    color: var(--meuc-green);
    border: 1px solid rgba(104,185,45,0.2);
}

.meuc-badge-amber {
    background: rgba(242,162,26,0.12);
    color: #b37a10;
    border: 1px solid rgba(242,162,26,0.3);
}

.meuc-badge-navy {
    background: var(--meuc-navy);
    color: #fff;
}

/* ----------------------------------------------------------
   SECTION PATTERNS
   ---------------------------------------------------------- */

/* Alternating ice-blue strip */
.meuc-section-ice {
    background: var(--meuc-ice);
}

/* Navy dark panel */
.meuc-section-navy {
    background: var(--meuc-navy);
    color: #fff;
}

.meuc-section-navy h1,
.meuc-section-navy h2,
.meuc-section-navy h3 {
    color: #fff;
}

/* Constrained inner wrapper */
.meuc-container {
    max-width: var(--meuc-max-w);
    margin-inline: auto;
    padding-inline: 2rem;
}

/* ----------------------------------------------------------
   FORMS
   ---------------------------------------------------------- */
.meuc-form-label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--meuc-text);
    margin-bottom: 6px;
    letter-spacing: 0.03em;
}

.meuc-form-input {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: var(--meuc-text);
    background: #fff;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.meuc-form-input:focus {
    border-color: var(--meuc-blue);
    box-shadow: 0 0 0 3px rgba(30,91,184,0.1);
}

/* ----------------------------------------------------------
   POST CONTENT PROSE — base + shared across all templates
   ---------------------------------------------------------- */

/* Base */
.wp-block-post-content {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    line-height: 1.75;
    color: var(--meuc-text);
}

/* Shared multi-selector — applies to generic pages and all CPT singles */
.wp-block-post-content,
.meuc-sr-post-content,
.meuc-se-post-content,
.meuc-sp-post-content {
    /* Paragraphs */
}

.wp-block-post-content p,
.meuc-sr-post-content p,
.meuc-se-post-content p,
.meuc-sp-post-content p {
    margin: 0 0 1.25em;
}

/* Headings — sizing */
.wp-block-post-content h2,
.meuc-sr-post-content h2,
.meuc-se-post-content h2,
.meuc-sp-post-content h2 { font-size: 1.5rem; }

.wp-block-post-content h3,
.meuc-sr-post-content h3,
.meuc-se-post-content h3,
.meuc-sp-post-content h3 { font-size: 1.2rem; }

.wp-block-post-content h4,
.meuc-sr-post-content h4,
.meuc-se-post-content h4,
.meuc-sp-post-content h4 { font-size: 1rem; }

.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content h4,
.meuc-sr-post-content h2,
.meuc-sr-post-content h3,
.meuc-sr-post-content h4,
.meuc-se-post-content h2,
.meuc-se-post-content h3,
.meuc-sp-post-content h2,
.meuc-sp-post-content h3 {
    font-weight: 600;
    color: var(--meuc-navy);
    line-height: 1.3;
    margin-top: 2em;
    margin-bottom: 0.5em;
}

/* Links */
.wp-block-post-content a {
    color: var(--meuc-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.wp-block-post-content a:hover { color: var(--meuc-blue-hover); }

/* Lists */
.wp-block-post-content ul,
.wp-block-post-content ol,
.meuc-sr-post-content ul,
.meuc-sr-post-content ol,
.meuc-se-post-content ul,
.meuc-se-post-content ol,
.meuc-sp-post-content ul,
.meuc-sp-post-content ol {
    margin: 0 0 1.25em 1.5rem;
    padding: 0;
}

.wp-block-post-content li,
.meuc-sr-post-content li,
.meuc-se-post-content li,
.meuc-sp-post-content li {
    margin-bottom: 0.4em;
    line-height: 1.65;
}

.wp-block-post-content ul { list-style: disc; }
.wp-block-post-content ol { list-style: decimal; }
.meuc-sr-post-content ul,
.meuc-se-post-content ul,
.meuc-sp-post-content ul { list-style: disc; }
.meuc-sr-post-content ol,
.meuc-se-post-content ol,
.meuc-sp-post-content ol { list-style: decimal; }

/* Blockquote */
.wp-block-post-content blockquote,
.meuc-sr-post-content blockquote,
.meuc-se-post-content blockquote,
.meuc-sp-post-content blockquote {
    border-left: 4px solid var(--meuc-blue);
    margin: 1.75em 0;
    padding: 0.75em 0 0.75em 1.5rem;
    color: var(--meuc-text-sec);
    font-size: 1.05rem;
    font-style: italic;
}

.wp-block-post-content blockquote cite,
.meuc-sr-post-content blockquote cite,
.meuc-se-post-content blockquote cite,
.meuc-sp-post-content blockquote cite {
    display: block;
    margin-top: 0.5em;
    font-size: 0.85rem;
    font-style: normal;
    font-weight: 600;
    color: var(--meuc-navy);
}

/* Tables */
.wp-block-post-content table,
.meuc-sr-post-content table,
.meuc-se-post-content table,
.meuc-sp-post-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    margin: 1.5em 0;
}

.wp-block-post-content th,
.meuc-sr-post-content th,
.meuc-se-post-content th,
.meuc-sp-post-content th {
    background: var(--meuc-navy);
    color: #fff;
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 0.03em;
    text-align: left;
    padding: 10px 14px;
}

.wp-block-post-content td,
.meuc-sr-post-content td,
.meuc-se-post-content td,
.meuc-sp-post-content td {
    padding: 9px 14px;
    border-bottom: 1px solid var(--meuc-border);
    vertical-align: top;
}

.wp-block-post-content tr:nth-child(even) td,
.meuc-sr-post-content tr:nth-child(even) td,
.meuc-se-post-content tr:nth-child(even) td,
.meuc-sp-post-content tr:nth-child(even) td {
    background: var(--meuc-bg);
}

/* Images & figures */
.wp-block-post-content figure,
.meuc-sr-post-content figure,
.meuc-se-post-content figure,
.meuc-sp-post-content figure {
    margin: 1.75em 0;
}

.wp-block-post-content img,
.meuc-sr-post-content img,
.meuc-se-post-content img,
.meuc-sp-post-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--meuc-radius);
    display: block;
}

.wp-block-post-content figcaption,
.meuc-sr-post-content figcaption,
.meuc-se-post-content figcaption,
.meuc-sp-post-content figcaption {
    font-size: 0.8rem;
    color: var(--meuc-text-sec);
    text-align: center;
    margin-top: 6px;
}

/* Horizontal rule */
.wp-block-post-content hr,
.meuc-sr-post-content hr,
.meuc-se-post-content hr,
.meuc-sp-post-content hr {
    border: none;
    border-top: 1px solid var(--meuc-border);
    margin: 2.5em 0;
}

/* Inline code */
.wp-block-post-content code,
.meuc-sr-post-content code,
.meuc-se-post-content code,
.meuc-sp-post-content code {
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.875em;
    background: var(--meuc-ice);
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius-sm);
    padding: 1px 5px;
    color: var(--meuc-navy);
}

/* Code blocks */
.wp-block-post-content pre,
.meuc-sr-post-content pre,
.meuc-se-post-content pre,
.meuc-sp-post-content pre {
    background: var(--meuc-navy);
    color: #e2e8f0;
    border-radius: var(--meuc-radius);
    padding: 1.25em 1.5em;
    overflow-x: auto;
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 1.5em 0;
}

.wp-block-post-content pre code,
.meuc-sr-post-content pre code,
.meuc-se-post-content pre code,
.meuc-sp-post-content pre code {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

/* ----------------------------------------------------------
   ARCHIVE LAYOUTS
   ---------------------------------------------------------- */
.meuc-archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}

.meuc-archive-header {
    background: var(--meuc-navy);
    color: #fff;
    padding: 56px 2rem;
}

.meuc-archive-header h1 {
    color: #fff;
    font-family: 'Poppins', sans-serif; font-weight: 500;
}

/* ============================================================
   BUYING & USING UTILITIES — ARCHIVE
   ============================================================ */
.meuc-buu-archive-header {
    background-color: var(--meuc-navy);
    padding: 124px 0 64px;
}

/* Sitewide mobile header gap (100px top). This header had no responsive
   override, so it stayed at the 124px desktop gap on phones while every
   other archive/page header dropped to 100px. */
@media (max-width: 768px) {
    .meuc-buu-archive-header { padding: 100px 0 40px; }
}

.meuc-buu-archive-header-inner {
    display: flex;
    align-items: flex-start;
    gap: 48px;
}

.meuc-buu-archive-header-text {
    flex: 1;
}

.meuc-buu-archive-title {
    font-family: 'Raleway', sans-serif;
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    margin: 8px 0 16px;
    line-height: 1.2;
}

.meuc-buu-archive-title::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: var(--meuc-magenta);
    margin-top: 12px;
}

.meuc-buu-archive-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    color: rgba(255,255,255,0.75);
    max-width: 620px;
    line-height: 1.7;
    margin: 0 0 28px;
}

.meuc-buu-archive-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.meuc-buu-archive-main {
    background: var(--meuc-bg);
    padding: 40px 2rem 80px;
}

.meuc-buu-archive-main > .meuc-container {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    padding: 40px 48px;
    max-width: calc(var(--meuc-max-w) - 4rem);
}

/* Issue grid */
.meuc-buu-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 48px;
}

.meuc-buu-card {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
}

.meuc-buu-card:hover {
    box-shadow: 0 8px 32px rgba(11,28,58,0.10);
    transform: scale(1.02);
}

.meuc-buu-card-cover {
    display: block;
    background: var(--meuc-ice);
}

.meuc-buu-card-cover img {
    width: 100%;
    height: auto;
    display: block;
}

.meuc-buu-card-body {
    padding: 20px 20px 8px;
    flex: 1;
}

.meuc-buu-card-date {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--meuc-blue);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 8px;
}

.meuc-buu-card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--meuc-navy);
    margin: 0 0 8px;
    line-height: 1.4;
}

.meuc-buu-card-title a {
    color: inherit;
    text-decoration: none;
}

.meuc-buu-card-title a:hover {
    color: var(--meuc-blue);
}

.meuc-buu-card-excerpt {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--meuc-text-muted);
    line-height: 1.6;
    margin: 0;
}

.meuc-buu-card-footer {
    padding: 12px 20px 20px;
}

.meuc-buu-card-cta {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-buu-card-cta:hover {
    color: var(--meuc-blue-hover);
}

.meuc-buu-no-results {
    font-family: 'Poppins', sans-serif;
    color: var(--meuc-text-muted);
    grid-column: 1 / -1;
}

/* BUU membership CTA */
.meuc-buu-member-cta {
    background: var(--meuc-ice);
    padding: 80px 0;
    border-top: 1px solid var(--meuc-border);
}

.meuc-buu-member-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
}

.meuc-buu-member-cta-title {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: var(--meuc-navy);
    margin: 8px 0 12px;
}

.meuc-buu-member-cta-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: var(--meuc-text-muted);
    max-width: 520px;
    line-height: 1.7;
    margin: 0;
}

.meuc-buu-member-cta-actions {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

/* ============================================================
   BUYING & USING UTILITIES — SINGLE ISSUE
   ============================================================ */
.meuc-sb-header {
    background-color: var(--meuc-navy);
    padding: 124px 0 52px;
}

.meuc-sb-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 700;
    color: #fff !important;
    margin: 0 0 16px;
    line-height: 1.25;
}

.meuc-sb-meta-row {
    gap: 12px;
    margin-top: 4px;
    flex-wrap: wrap;
    align-items: center;
}

.meuc-sb-date {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,0.65);
}

.meuc-sb-main {
    background: var(--meuc-bg);
    padding: 40px 0 64px;
}

.meuc-sb-main .meuc-container {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    padding: 40px 48px;
}

/* Two-column layout: cover + content */
.meuc-sb-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 48px;
}

.meuc-sb-cover {
    position: sticky;
    top: 88px;
}

.meuc-sb-cover-img {
    width: 100%;
    border-radius: var(--meuc-radius);
    box-shadow: 0 8px 32px rgba(11,28,58,0.16);
}

.meuc-sb-cover-img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--meuc-radius);
}

.meuc-sb-content-col {
    min-width: 0;
}

/* PDF download button */
.meuc-buu-pdf-btn {
    display: inline-flex;
    align-items: center;
    background: var(--meuc-blue);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: var(--meuc-radius-sm);
    text-decoration: none;
    margin-bottom: 28px;
    transition: background 0.15s;
}

.meuc-buu-pdf-btn:hover {
    background: var(--meuc-blue-hover);
    color: #fff;
}

.meuc-sb-post-content {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: var(--meuc-text);
}

.meuc-sb-nav {
    padding-top: 32px;
    border-top: 1px solid var(--meuc-border);
    margin-top: 32px;
}

/* BUU responsive */
@media (max-width: 900px) {
    .meuc-buu-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .meuc-sb-layout {
        grid-template-columns: 1fr;
    }

    .meuc-sb-cover {
        position: static;
        max-width: 280px;
    }
}

@media (max-width: 600px) {
    .meuc-buu-grid {
        grid-template-columns: 1fr;
    }

    .meuc-buu-archive-title {
        font-size: 28px;
    }

    .meuc-buu-member-cta-inner {
        flex-direction: column;
    }
}

/* ----------------------------------------------------------
   BUU SINGLE ISSUE — IDENTITY + LAYOUT ADDITIONS
   ---------------------------------------------------------- */

/* Magenta rule below the issue title */
.meuc-sb-mag-rule {
    width: 48px;
    height: 3px;
    background: var(--meuc-magenta);
    margin-bottom: 20px;
}

/* Two-column layout: text left, cover + download right */
.meuc-sb-layout {
    display: grid;
    grid-template-columns: 1fr 210px;
    gap: 40px;
    align-items: start;
}

.meuc-sb-right-col {
    position: sticky;
    top: 88px;
}

/* Cover image in right column */
.meuc-sb-cover-img {
    background: var(--meuc-ice);
    padding: 12px;
    border-radius: var(--meuc-radius);
    margin-bottom: 16px;
    box-sizing: border-box;
}

.meuc-sb-cover-img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--meuc-radius-sm);
}

/* PDF button — full width in right column */
.meuc-sb-right-col .meuc-buu-pdf-btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}

/* "In this issue" section heading above post content */
.meuc-sb-section-label {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--meuc-navy);
    letter-spacing: 0;
    margin: 32px 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--meuc-border);
    position: relative;
}
.meuc-sb-section-label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 56px;
    height: 2px;
    background: var(--meuc-magenta);
}

/* Prev/next nav — outline button style */
.meuc-sb-nav .meuc-sr-nav-link a,
.meuc-sb-nav .wp-block-post-navigation-link a {
    display: inline-block;
    padding: 8px 16px !important;
    border: 1.5px solid var(--meuc-navy) !important;
    border-radius: var(--meuc-radius-sm);
    font-size: 13px !important;
    transition: background 0.15s, color 0.15s;
}

.meuc-sb-nav .meuc-sr-nav-link a:hover,
.meuc-sb-nav .wp-block-post-navigation-link a:hover {
    background: var(--meuc-navy) !important;
    color: #fff !important;
}

@media (max-width: 640px) {
    .meuc-sb-layout {
        grid-template-columns: 1fr;
    }
    .meuc-sb-right-col {
        position: static;
        display: flex;
        gap: 20px;
        align-items: flex-start;
    }
    .meuc-sb-cover-img {
        width: 120px;
        flex-shrink: 0;
        margin-bottom: 0;
    }
}

/* ----------------------------------------------------------
   BUU SINGLE ISSUE — COVER / DOWNLOAD MASTHEAD (Direction A)
   A light, self-contained panel holding the issue cover and the
   download button, sitting above the issue content. More presence
   than the former plain band: tinted panel, framed cover with a
   soft shadow, and a magenta accent edge for a touch of strength.
   ---------------------------------------------------------- */
.meuc-sb-masthead {
    display: flex;
    gap: 28px;
    align-items: center;
    background: var(--meuc-ice);
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    padding: 24px 28px;
    margin: 6px 0 8px;
    position: relative;
}

/* Magenta accent edge — a touch of strength without going bold */
.meuc-sb-masthead::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--meuc-magenta);
}

.meuc-sb-masthead-img {
    flex: 0 0 auto;
    width: 168px;
    margin: 0 0 0 8px;
    background: #fff;
    padding: 10px;
    border-radius: var(--meuc-radius-sm);
    box-shadow: 0 10px 28px rgba(4, 31, 79, 0.16);
    box-sizing: border-box;
}

.meuc-sb-masthead-img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
}

.meuc-sb-masthead-body {
    min-width: 0;
}

.meuc-sb-masthead-caption {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--meuc-text-sec);
    margin: 0 0 18px;
    max-width: 48ch;
}

.meuc-sb-masthead .meuc-buu-pdf-btn {
    margin-bottom: 0;
}

@media (max-width: 640px) {
    .meuc-sb-masthead {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding: 20px;
    }
    .meuc-sb-masthead-img {
        width: 132px;
        margin-left: 6px;
    }
}

/* ----------------------------------------------------------
   LEGACY JETPACK SLIDESHOW -> CAROUSEL (BUU + SUPPORTERS)
   Revives the Jetpack slideshow markup (.swiper-*) as a
   horizontal, swipeable, scroll-snap carousel. This CSS is the
   working base with no JS; buu-slideshow.js adds prev/next and
   pagination dots. Scoped to .meuc-sb-post-content .wp-block-jetpack-slideshow so the,
.meuc-sp-post-content .wp-block-jetpack-slideshow so the
   article thumbnails elsewhere in the content are untouched.
   ---------------------------------------------------------- */
.meuc-sb-post-content .wp-block-jetpack-slideshow .wp-block-jetpack-slideshow ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .wp-block-jetpack-slideshow {
    margin: 8px 0 24px;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-container ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-container {
    position: relative;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-wrapper ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-wrapper {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    background: var(--meuc-ice);
    border-radius: var(--meuc-radius);
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-wrapper::-webkit-scrollbar ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-slide ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-slide {
    flex: 0 0 100%;
    scroll-snap-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 18px;
    box-sizing: border-box;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-slide figure ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-slide figure {
    margin: 0;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-slide img ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-slide img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 72vh;
    margin: 0 auto;
    display: block;
    border-radius: var(--meuc-radius-sm);
    box-shadow: 0 8px 32px rgba(11,28,58,0.16);
}

/* Prev / next controls (Jetpack renders these as empty <a>) */
.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-prev,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-prev,
.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-next ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(11,28,58,0.55);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    z-index: 3;
    transition: background 0.15s;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-prev ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-prev { left: 12px; }
.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-next ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-next { right: 12px; }

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-prev::after ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-prev::after { content: "\2039"; font-size: 26px; line-height: 1; }
.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-next::after ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-next::after { content: "\203A"; font-size: 26px; line-height: 1; }

.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-prev:hover,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-prev:hover,
.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-next:hover ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-next:hover {
    background: rgba(11,28,58,0.82);
    color: #fff;
}

/* Autoplay pause control not used */
.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-pause ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-pause {
    display: none !important;
}

/* Pagination dots (built by buu-slideshow.js) */
.meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-pagination ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .meuc-buu-dot ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .meuc-buu-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--meuc-border);
    cursor: pointer;
    transition: background 0.15s;
}

.meuc-sb-post-content .wp-block-jetpack-slideshow .meuc-buu-dot.is-active ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .meuc-buu-dot.is-active {
    background: var(--meuc-blue);
}

@media (max-width: 560px) {
    .meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-slide img ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-slide img {
        max-height: 60vh;
    }
    .meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-prev,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-prev,
    .meuc-sb-post-content .wp-block-jetpack-slideshow .swiper-button-next ,
.meuc-sp-post-content .wp-block-jetpack-slideshow .swiper-button-next {
        width: 38px;
        height: 38px;
    }
}

/* ----------------------------------------------------------
   MEMBER-GATED NOTICE
   ---------------------------------------------------------- */
.meuc-member-notice {
    background: var(--meuc-ice);
    border: 1px solid var(--meuc-border);
    border-left: 4px solid var(--meuc-blue);
    border-radius: var(--meuc-radius);
    padding: 20px 24px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: var(--meuc-text);
}

.meuc-member-notice a {
    color: var(--meuc-blue);
    font-weight: 600;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 900px) {
    /* Hide desktop nav, show hamburger */
    .meuc-nav-items,
    .meuc-nav-actions {
        display: none;
    }

    .meuc-nav-hamburger {
        display: flex;
        align-items: center;
    }

    .meuc-nav-inner {
        padding-inline: 1rem;
        height: 60px;
    }

    .meuc-nav-inner .meuc-wordmark {
        margin-right: auto;
    }
}

@media (max-width: 768px) {
    .meuc-footer-cta {
        padding: 40px 1rem;
    }

    .meuc-footer-cta-inner {
        flex-direction: column;
    }

    .meuc-archive-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   HOMEPAGE SECTIONS
   ============================================================ */

/* Section wrappers */
.meuc-hp-section {
    padding: 80px 0;
}

.meuc-hp-section--ice   { background: var(--meuc-bg); }
.meuc-hp-section--white { background: #fff; }
.meuc-hp-section--navy  { background: var(--meuc-navy); }

/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */
.meuc-hero {
    position: relative;
    background-color: var(--meuc-navy);
    background-image: url('/wp-content/uploads/2026/05/GeometricBlue2.jpg');
    background-size: cover;
    background-position: center;
    min-height: 680px;
    padding-top: 68px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.meuc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.meuc-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(4,31,79,0.80) 40%, rgba(4,31,79,0.50) 100%);
    pointer-events: none;
}

.meuc-hero-inner {
    position: relative;
    max-width: var(--meuc-max-w);
    margin: 0 auto;
    padding: 96px 320px 80px 2rem; /* right padding = stats width (280px) + gap (40px) */
    width: 100%;
    display: flex;
    align-items: flex-start;
}

.meuc-hero-content {
    max-width: 700px;
    flex: 1;
}

.meuc-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(30,91,184,0.15);
    border: 1px solid rgba(30,91,184,0.35);
    border-radius: var(--meuc-radius-sm);
    padding: 6px 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.8);
    margin-bottom: 28px;
}

.meuc-hero-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--meuc-blue);
    flex-shrink: 0;
}

.meuc-hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(36px, 4.5vw, 56px);
    font-weight: 600;
    color: #fff;
    line-height: 1.12;
    margin: 0 0 24px 0;
    letter-spacing: -0.02em;
}

.meuc-hero-title-accent {
    color: var(--meuc-blue);
}

.meuc-hero-sub {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    color: rgba(255,255,255,0.72);
    line-height: 1.65;
    margin: 0 0 40px 0;
    max-width: 560px;
}

.meuc-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.meuc-btn-hero-primary {
    background: var(--meuc-blue);
    border: none;
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-lg);
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    transition: background 0.15s;
}

.meuc-btn-hero-primary:hover {
    background: var(--meuc-blue-hover);
    color: #fff;
}

.meuc-btn-hero-ghost {
    background: transparent;
    border: 2px solid rgba(255,255,255,0.45);
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-lg);
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    transition: border-color 0.15s;
}

.meuc-btn-hero-ghost:hover {
    border-color: rgba(255,255,255,0.85);
    color: #fff;
}

/* Hero stats panel — full height of hero, pinned to right edge of screen */
.meuc-hero-stats {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 280px;
    background: rgba(255,255,255,0.03);
    border-left: 1px solid rgba(255,255,255,0.07);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
    padding: 40px 2rem 40px 40px;
}

.meuc-hero-stat {
    border-left: 2px solid rgba(78,141,242,0.6);
    padding-left: 16px;
}

.meuc-hero-stat-num {
    font-family: 'Poppins', sans-serif;
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    line-height: 1;
}

.meuc-hero-stat-label {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    margin-top: 4px;
}

/* ----------------------------------------------------------
   PROOF STRIP
   ---------------------------------------------------------- */
.meuc-proof-strip {
    background: var(--meuc-bg);
    border-bottom: 1px solid var(--meuc-border);
}

.meuc-proof-strip-inner {
    max-width: var(--meuc-max-w);
    margin: 0 auto;
    padding-inline: 2rem;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.meuc-proof-item {
    padding: 22px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-right: 1px solid var(--meuc-border);
}

.meuc-proof-item:last-child {
    border-right: none;
}

.meuc-proof-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--meuc-teal);
    flex-shrink: 0;
}

.meuc-proof-text {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--meuc-text);
}

/* ----------------------------------------------------------
   AUDIENCE PATHWAYS
   ---------------------------------------------------------- */
.meuc-pathways-section {
    background: #fff;
    padding: 80px 0;
}

.meuc-pathways-intro {
    margin-bottom: 48px;
}

.meuc-pathways-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.meuc-pathway-card {
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    padding: 36px;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: block;
    background: #fff;
    box-shadow: 0 1px 4px rgba(11,28,58,0.04);
}

.meuc-pathway-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--meuc-shadow-lg);
}

.meuc-pathway-card--navy:hover  { background: var(--meuc-navy); border-color: var(--meuc-navy); }
.meuc-pathway-card--blue:hover  { background: var(--meuc-blue); border-color: var(--meuc-blue); }
.meuc-pathway-card--teal:hover  { background: var(--meuc-teal); border-color: var(--meuc-teal); }

.meuc-pathway-icon {
    font-size: 28px;
    margin-bottom: 20px;
    display: block;
}

.meuc-pathway-title {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--meuc-navy);
    margin: 0 0 14px 0;
    line-height: 1.3;
    transition: color 0.2s;
}

.meuc-pathway-card:hover .meuc-pathway-title {
    color: #fff;
}

.meuc-pathway-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: var(--meuc-text-sec);
    line-height: 1.65;
    margin: 0 0 28px 0;
    transition: color 0.2s;
}

.meuc-pathway-card:hover .meuc-pathway-desc {
    color: rgba(255,255,255,0.78);
}

.meuc-pathway-cta {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1.5px solid;
    padding-bottom: 2px;
    display: inline-block;
    transition: color 0.2s, border-color 0.2s;
}

.meuc-pathway-card--navy .meuc-pathway-cta { color: var(--meuc-navy); border-color: var(--meuc-navy); }
.meuc-pathway-card--blue .meuc-pathway-cta { color: var(--meuc-blue); border-color: var(--meuc-blue); }
.meuc-pathway-card--teal .meuc-pathway-cta { color: var(--meuc-teal); border-color: var(--meuc-teal); }

.meuc-pathway-card:hover .meuc-pathway-cta {
    color: #fff;
    border-color: rgba(255,255,255,0.5);
}

/* ----------------------------------------------------------
   SHARED SECTION HEADER (events, publications)
   ---------------------------------------------------------- */
.meuc-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}

.meuc-eyebrow {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 10px 0; /* reset <p> default margins */
    padding: 0;
}

.meuc-eyebrow--amber  { color: var(--meuc-amber); }
.meuc-eyebrow--teal   { color: var(--meuc-teal); }
.meuc-eyebrow--blue   { color: var(--meuc-blue); }
.meuc-eyebrow--muted  { color: var(--meuc-text-sec); }

.meuc-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 34px;
    font-weight: 600;
    color: var(--meuc-navy);
    margin: 0;
    line-height: 1.2;
}

.meuc-btn-outline-navy {
    background: none;
    border: 1.5px solid var(--meuc-navy);
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-md);
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--meuc-navy);
    text-decoration: none;
    display: inline-block;
    transition: all 0.15s;
    white-space: nowrap;
}

.meuc-btn-outline-navy:hover {
    background: var(--meuc-navy);
    color: #fff;
}

/* ----------------------------------------------------------
   EVENTS GRID (homepage shortcode)
   ---------------------------------------------------------- */
.meuc-event-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.meuc-event-format-badge {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: var(--meuc-radius-sm);
}

/* ----------------------------------------------------------
   MEMBER VALUE (Why join) section
   ---------------------------------------------------------- */
.meuc-member-value {
    background: var(--meuc-navy);
    padding: 80px 0;
}

.meuc-member-value-inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    align-items: start;
}

.meuc-member-value-eyebrow {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--meuc-blue);
    margin-bottom: 16px;
}

.meuc-member-value-title {
    font-family: 'Poppins', sans-serif;
    font-size: 34px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 20px 0;
    line-height: 1.2;
}

.meuc-member-value-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: rgba(255,255,255,0.62);
    line-height: 1.7;
    margin: 0 0 32px 0;
}

.meuc-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.meuc-benefit-card {
    padding: 28px;
    border-radius: var(--meuc-radius);
    border: 1px solid rgba(255,255,255,0.14);
    transition: all 0.2s;
}

.meuc-benefit-card:hover {
    background: #fff;
    border-color: var(--meuc-border);
    box-shadow: var(--meuc-shadow-md);
}

.meuc-benefit-icon {
    width: 40px;
    height: 40px;
    border-radius: var(--meuc-radius-sm);
    background: rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 18px;
    transition: background 0.2s;
}

.meuc-benefit-card:hover .meuc-benefit-icon {
    background: var(--meuc-navy);
}

.meuc-benefit-title {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: rgba(255,255,255,0.92);
    margin: 0 0 8px 0;
    transition: color 0.2s;
}

.meuc-benefit-card:hover .meuc-benefit-title {
    color: var(--meuc-navy);
}

.meuc-benefit-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    line-height: 1.65;
    margin: 0;
    transition: color 0.2s;
}

.meuc-benefit-card:hover .meuc-benefit-desc {
    color: var(--meuc-text-sec);
}

/* ----------------------------------------------------------
   PUBLICATION CARDS (homepage shortcode)
   ---------------------------------------------------------- */
.meuc-pub-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.meuc-pub-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    overflow: hidden;
    text-decoration: none;
    transition: all 0.2s;
    box-shadow: var(--meuc-shadow-sm);
}

.meuc-pub-card:hover {
    border-color: var(--pub-color, var(--meuc-blue));
    box-shadow: 0 6px 24px rgba(11,28,58,0.09);
}

.meuc-pub-type-bar {
    height: 6px;
    flex-shrink: 0;
}

.meuc-pub-card-body {
    padding: 22px 24px;
    flex: 1;
}

.meuc-pub-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.meuc-pub-card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--meuc-navy);
    margin: 0 0 6px 0;
    line-height: 1.35;
}

.meuc-pub-card-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--meuc-teal);
    line-height: 1.4;
    margin: 0 0 8px 0;
}

.meuc-pub-card-date {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: var(--meuc-text-sec);
    margin: 0 0 8px 0;
}

.meuc-pub-card-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--meuc-text-sec);
    line-height: 1.6;
    margin: 0;
}

.meuc-pub-card-footer {
    padding: 14px 24px;
    border-top: 1px solid var(--meuc-border);
}

.meuc-pub-cta {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
}

.meuc-pub-locked {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #9CA3AF;
}

.meuc-pub-locked strong {
    color: var(--meuc-blue);
}

/* ----------------------------------------------------------
   SUPPORTERS STRIP (homepage shortcode)
   ---------------------------------------------------------- */
.meuc-supporters-section {
    border-top: 1px solid var(--meuc-border);
}

.meuc-supporters-header {
    text-align: center;
    margin-bottom: 36px;
}

.meuc-supporters-sub {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: var(--meuc-text-sec);
    margin: 8px 0 0 0;
}

.meuc-supporters-logo-wall {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}

.meuc-supporters-logo-wall .meuc-sup-wall-tile {
    background: #fff !important;
    border: 1px solid var(--meuc-border) !important;
    border-radius: var(--meuc-radius-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 20px !important;
    min-height: 90px;
    overflow: hidden;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.meuc-supporters-logo-wall .meuc-sup-wall-tile:hover {
    border-color: var(--meuc-blue) !important;
    box-shadow: var(--meuc-shadow-sm);
}

.meuc-sup-wall-logo {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 60px !important;
    object-fit: contain;
}

.meuc-sup-wall-name {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--meuc-text-sec);
    text-align: center;
    line-height: 1.35;
}

.meuc-supporters-footer {
    text-align: center;
    margin-top: 28px;
}

/* ----------------------------------------------------------
   BUU MAGAZINE (homepage section)
   ---------------------------------------------------------- */
.meuc-home-buu {
    background: #fff;
    border-top: 1px solid var(--meuc-border);
    padding: 80px 0 0;
}

.meuc-home-buu .buu-hub-grid-wrap {
    max-width: var(--meuc-max-w);
    margin-inline: auto;
    padding-inline: 2rem;
}

.meuc-home-buu-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.meuc-home-buu-desc {
    font-size: 15px;
    color: var(--meuc-text-sec);
    margin: 8px 0 0;
    max-width: 520px;
}

.meuc-home-buu-all {
    font-size: 14px;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
    white-space: nowrap;
}

.meuc-home-buu-all:hover { color: var(--meuc-navy); }

/* ----------------------------------------------------------
   TESTIMONIALS (homepage shortcode)
   ---------------------------------------------------------- */
.meuc-testimonials-section {
    border-top: 1px solid var(--meuc-border);
}

.meuc-testimonials-header {
    margin-bottom: 48px;
}

.meuc-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    max-width: 960px;
    margin: 0 auto;
}

.meuc-testimonial-card {
    background: var(--meuc-bg);
    border-radius: var(--meuc-radius);
    padding: 36px;
    border-left: 4px solid var(--meuc-teal);
}

.meuc-testimonial-quote {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-style: italic;
    color: var(--meuc-text);
    line-height: 1.65;
    margin: 16px 0 24px;
}

.meuc-testimonial-name {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--meuc-navy);
    line-height: 1.4;
}

/* Testimonials carousel — one at a time, mirrors the BUU editorial hero mechanic
   (driven by assets/js/buu-carousel.js). */
.meuc-tcar {
    max-width: 760px;
    margin: 0 auto;
    position: relative;
}

.meuc-tcar-viewport {
    overflow: hidden;
}

.meuc-tcar-track {
    display: flex;
    width: 100%;
    transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.meuc-tcar-slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
}

.meuc-tcar-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 28px 0 0;
}

.meuc-tcar-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: var(--meuc-border);
    cursor: pointer;
    padding: 0;
    transition: background 0.25s, transform 0.25s;
    flex-shrink: 0;
}

.meuc-tcar-dot.is-active {
    background: var(--meuc-teal);
    transform: scale(1.35);
}

.meuc-tcar-dot:focus-visible {
    outline: 2px solid var(--meuc-teal);
    outline-offset: 3px;
}

/* CPD page — action block: buttons in a colour block (replaces the separator lines) */
.meuc-cpd-actions {
    background: var(--meuc-ice);
    border-left: 4px solid var(--meuc-teal);
    border-radius: var(--meuc-radius);
    padding: 28px 32px;
    margin: 32px 0;
}

.meuc-cpd-actions-lead {
    margin: 0 0 18px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: var(--meuc-navy);
}

.meuc-cpd-actions-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

/* CPD feedback form (shown to members every 5 certificates) — colour block */
.meuc-cpd-feedback {
    background: var(--meuc-ice);
    border-left: 4px solid var(--meuc-teal);
    border-radius: var(--meuc-radius);
    padding: 28px 32px;
    margin: 32px 0;
}

.meuc-cpd-feedback h3 {
    margin-top: 0;
}

/* Boxed content panels on editorial pages — mirror the CPD feedback colour block
   (ice fill + teal left accent). Applied via CSS only (no content edits):
   - "Our Ethos, Vision and Strategy" columns, targeted by the #ethos anchor chain
     (anchor > heading > intro paragraph > the 3-column block).
   - the About "Contact Us" form (the only CF7 form rendered in page content). */
.meuc-page-content #ethos + h2 + p + .wp-block-columns,
.meuc-page-content .wpcf7 {
    background: var(--meuc-ice);
    border-left: 4px solid var(--meuc-teal);
    border-radius: var(--meuc-radius);
    padding: 28px 32px;
    margin: 28px 0;
    box-sizing: border-box;
}

@media (max-width: 640px) {
    .meuc-page-content #ethos + h2 + p + .wp-block-columns,
    .meuc-page-content .wpcf7 {
        padding: 20px;
    }
}

/* ----------------------------------------------------------
   HOMEPAGE RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 1100px) {
    .meuc-event-grid,
    .meuc-pub-grid,
    .meuc-benefits-grid { grid-template-columns: repeat(2, 1fr); }

    .meuc-supporters-logo-wall { grid-template-columns: repeat(3, 1fr); }

    .meuc-hero-stats { display: none; }
    .meuc-hero-inner { padding-right: 2rem; } /* restore padding when stats are hidden */

    .meuc-member-value-inner { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 768px) {
    .meuc-hp-section { padding: 56px 0; }

    .meuc-proof-strip-inner { grid-template-columns: 1fr 1fr; }
    .meuc-proof-item { border-right: none; border-bottom: 1px solid var(--meuc-border); }
    .meuc-proof-item:nth-child(odd) { border-right: 1px solid var(--meuc-border); }

    .meuc-pathways-grid { grid-template-columns: 1fr; }

    .meuc-event-grid,
    .meuc-pub-grid,
    .meuc-benefits-grid { grid-template-columns: 1fr; }

    .meuc-supporters-logo-wall { grid-template-columns: repeat(2, 1fr); }

    .meuc-section-header { flex-direction: column; align-items: flex-start; gap: 16px; }

    .meuc-testimonials-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PAGE + SINGLE POST — page.html / single.html
   ============================================================ */

/* -- Header (navy) ---------------------------------------- */
/* Shared hero background image — applied to all major navy page headers */
.meuc-page-header,
.meuc-ev-header,
.meuc-sup-header,
.meuc-res-header,
.meuc-se-header,
.meuc-sp-header,
.meuc-sr-header,
.meuc-sb-header,
.meuc-buu-archive-header,
.buu-issue-header {
    background-image:
        linear-gradient(rgba(4,31,79,0.78), rgba(4,31,79,0.78)),
        url('/wp-content/uploads/2026/05/GeometricBlue2.jpg');
    background-size: cover;
    background-position: center;
}

.meuc-page-header {
    background-color: var(--meuc-navy);
    color: #fff;
    padding: 124px 0 52px; /* 56 + 68 nav */
}


.meuc-page-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
    margin: 16px 0 0;
}

/* -- Post meta (date + author) ---------------------------- */
.meuc-post-meta {
    display: flex;
    gap: 20px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.meuc-post-date,
.meuc-post-author {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.6);
}

/* -- Main content area ------------------------------------ */
.meuc-page-main {
    background: var(--meuc-bg);
    padding: 40px 0 80px;
}

.meuc-page-content-wrap { /* meuc-container already sets max-width */ }

.meuc-page-content {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    padding: 40px 72px;
}

@media (max-width: 768px) {
    .meuc-page-content { padding: 28px 24px; }
}

.meuc-post-featured-image {
    margin-bottom: 40px;
}

.meuc-post-featured-image img {
    width: 100%;
    border-radius: var(--meuc-radius);
}

/* -- Post nav --------------------------------------------- */
.meuc-post-nav {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 40px;
    border-top: 1px solid var(--meuc-border);
    margin-top: 48px;
}

.meuc-post-nav-link a,
.meuc-post-nav-link--next a {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-post-nav-link a:hover,
.meuc-post-nav-link--next a:hover { text-decoration: underline; }

/* -- Responsive ------------------------------------------ */
@media (max-width: 768px) {
    .meuc-page-header { padding: 100px 0 40px; }
    .meuc-page-main { padding: 40px 0 60px; }
}

/* ============================================================
   SINGLE RESOURCE — single-meuc_resource.html
   ============================================================ */

/* -- Page header (navy) ----------------------------------- */
.meuc-sr-header {
    background-color: var(--meuc-navy);
    padding: 124px 0 44px;
}

/* Breadcrumb */
.meuc-sr-breadcrumb {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin-bottom: 20px;
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3em;
}

.meuc-sr-breadcrumb a {
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    transition: color 0.15s;
}

.meuc-sr-breadcrumb a:hover { color: #fff; }

.meuc-sr-breadcrumb-type,
.meuc-sr-breadcrumb-type a {
    color: rgba(255,255,255,0.65) !important;
    text-decoration: none !important;
}

/* Meta row */
.meuc-sr-meta-row {
    display: flex !important;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.meuc-sr-type-badge {
    font-family: 'Poppins', sans-serif;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: rgba(30,91,184,0.25);
    color: rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(30,91,184,0.5);
    border-radius: var(--meuc-radius-sm);
    padding: 4px 10px;
}

.meuc-sr-type-badge a {
    color: inherit !important;
    text-decoration: none !important;
}

.meuc-sr-access-badge {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: var(--meuc-radius-sm);
    padding: 4px 10px;
    display: inline-block;
}

.meuc-sr-access-badge--member {
    background: rgba(0,158,160,0.25);
    color: #5ef0f2;
    border: 1px solid rgba(0,158,160,0.5);
}

.meuc-sr-access-badge--locked {
    background: rgba(242,162,26,0.2);
    color: #f2c86a;
    border: 1px solid rgba(242,162,26,0.4);
}

/* Hide tags and prev/next nav when the member gate is present in the content wrap */
.meuc-sr-content-wrap:has(.meuc-member-gate) .meuc-sr-tags,
.meuc-sr-content-wrap:has(.meuc-member-gate) .meuc-sr-nav,
.meuc-sr-content-wrap:has(.meuc-member-gate) .meuc-sr-featured-image {
    display: none !important;
}

/* Member gate — shown in place of content for locked resources */
.meuc-member-gate {
    padding: 60px 0;
}
.meuc-member-gate-inner {
    max-width: 520px;
    margin: 0 auto;
    text-align: center;
    padding: 48px 40px;
    background: #f8faff;
    border: 1px solid #dce8ff;
    border-radius: 8px;
}
.meuc-member-gate-icon {
    color: #041F4F;
    opacity: 0.35;
    margin-bottom: 20px;
}
.meuc-member-gate-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: #041F4F;
    margin: 0 0 12px;
}
.meuc-member-gate-desc {
    font-size: 0.95rem;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 28px;
}
.meuc-member-gate-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}
.meuc-btn-navy,
.meuc-sr-post-content .meuc-btn-navy {
    background: #041F4F;
    color: #fff !important;
    border: 2px solid #041F4F;
    border-radius: 4px;
    padding: var(--btn-pad-md);
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    display: inline-block;
    transition: opacity 0.15s;
}
.meuc-btn-navy:hover,
.meuc-sr-post-content .meuc-btn-navy:hover {
    opacity: 0.85;
    color: #fff !important;
}
.meuc-sr-post-content .meuc-btn-outline-navy {
    color: #041F4F !important;
    text-decoration: none !important;
}
.meuc-sr-post-content .meuc-btn-outline-navy:hover {
    background: #041F4F;
    color: #fff !important;
}

/* Title */
.meuc-sr-title {
    font-size: clamp(1.5rem, 3vw, 2.4rem) !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin: 0 0 18px !important;
    line-height: 1.2 !important;
    max-width: 900px;
}

.meuc-sr-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 1.0625rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.45;
    margin: -8px 0 18px;
    max-width: 900px;
}

/* Date */
.meuc-sr-date {
    font-family: 'Poppins', sans-serif;
    font-size: 13px !important;
    color: rgba(255,255,255,0.5) !important;
    margin: 0 !important;
}

.meuc-sr-date a { color: inherit !important; text-decoration: none !important; }

/* -- Content area ----------------------------------------- */
.meuc-sr-main {
    background: var(--meuc-bg);
    padding: 40px 0 80px;
}

.meuc-sr-content-wrap {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    padding: 40px 72px;
}

/* Member notice */
.meuc-sr-member-notice {
    background: var(--meuc-ice);
    border: 1px solid var(--meuc-border);
    border-left: 4px solid var(--meuc-blue);
    border-radius: var(--meuc-radius);
    padding: 16px 20px;
    margin-bottom: 32px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: var(--meuc-text);
}

.meuc-sr-member-notice p { margin: 0; }

.meuc-sr-member-notice a {
    color: var(--meuc-blue);
    font-weight: 600;
    text-decoration: none;
}

.meuc-sr-member-notice a:hover { text-decoration: underline; }

/* Featured image */
.meuc-sr-featured-image {
    margin-bottom: 32px !important;
}

.meuc-sr-featured-image img {
    border-radius: var(--meuc-radius);
    width: 100%;
    height: auto;
}

/* Post content */
.meuc-sr-post-content {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    line-height: 1.75;
    color: var(--meuc-text);
    margin-bottom: 40px;
}

.meuc-sr-post-content h2,
.meuc-sr-post-content h3,
.meuc-sr-post-content h4 {
    font-family: 'Poppins', sans-serif; font-weight: 500;
    color: var(--meuc-navy);
    margin-top: 2em;
}

.meuc-sr-post-content a {
    color: var(--meuc-blue);
    text-decoration: underline;
}

.meuc-sr-post-content a:hover { color: var(--meuc-blue-hover); }

/* Tags */
.meuc-sr-tags {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 20px 0;
    border-top: 1px solid var(--meuc-border);
    margin-bottom: 32px;
}

.meuc-sr-tags-label {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--meuc-text-sec);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

.meuc-sr-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.meuc-sr-tag-list a {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--meuc-blue) !important;
    text-decoration: none !important;
    background: var(--meuc-ice);
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius-sm);
    padding: 3px 10px;
    transition: background 0.15s, border-color 0.15s;
    display: inline-block;
}

.meuc-sr-tag-list a:hover {
    background: var(--meuc-blue);
    border-color: var(--meuc-blue);
    color: #fff !important;
}

/* Prev / Next navigation */
.meuc-sr-nav {
    display: flex !important;
    justify-content: space-between;
    border-top: 1px solid var(--meuc-border);
    padding-top: 24px;
}

.meuc-sr-nav-link a,
.meuc-sr-nav .wp-block-post-navigation-link a {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--meuc-navy) !important;
    text-decoration: none !important;
    transition: color 0.15s;
}

.meuc-sr-nav-link a:hover,
.meuc-sr-nav .wp-block-post-navigation-link a:hover {
    color: var(--meuc-blue) !important;
}

/* -- Responsive ------------------------------------------- */
@media (max-width: 768px) {
    .meuc-sr-header { padding: 100px 0 36px; }
    .meuc-sr-main { padding: 40px 0 60px; }
    .meuc-sr-nav { flex-direction: column; gap: 16px; }
}

/* ============================================================
   SINGLE EVENT — single-meuc_event.html
   ============================================================ */

/* -- Header (navy) ---------------------------------------- */
.meuc-se-header {
    background-color: var(--meuc-navy);
    color: #fff;
    padding: 124px 0 0; /* 56 + 68 nav */
}


/* -- Header body: event image + meta ---------------------- */
.meuc-se-header-body {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 28px;
    flex-wrap: nowrap;
}

/* -- Event image box -------------------------------------- */
.meuc-se-img-wrap {
    flex-shrink: 0;
    width: 280px;
    height: 140px;
    box-sizing: border-box;
    padding: 12px 16px;
    background: #fff;
    border-radius: var(--meuc-radius);
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.meuc-se-img-wrap .wp-block-post-featured-image,
.meuc-se-img-wrap .wp-block-post-featured-image a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.meuc-se-img-wrap .wp-block-post-featured-image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 116px !important;
}

/* -- Meta column ------------------------------------------ */
.meuc-se-meta {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-bottom: 40px;
}

/* -- Type badge ------------------------------------------- */
.meuc-se-type-badge {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--meuc-teal);
    margin-bottom: 10px;
}

.meuc-se-type-badge:empty { display: none; }

/* -- Title ------------------------------------------------ */
.meuc-se-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin: 0 0 14px;
}

/* -- Date badge (inline pill within meta) ----------------- */
.meuc-se-date-block {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.20);
    border-radius: var(--meuc-radius-sm);
    padding: 6px 14px;
    margin-bottom: 14px;
    align-self: flex-start;
}

.meuc-se-event-date,
.meuc-se-event-date p {
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
    margin: 0;
}

/* -- Standfirst ------------------------------------------- */
.meuc-se-standfirst {
    font-size: 0.9375rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.6;
    margin: 0;
}

/* -- Enquiry strip ---------------------------------------- */
.meuc-se-enquire-strip {
    background: #fff;
    border-bottom: 1px solid var(--meuc-border);
    padding: 18px 0;
}

.meuc-se-enquire-strip-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.meuc-se-enquire-strip-text {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.meuc-se-enquire-strip-text strong {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--meuc-navy);
}

.meuc-se-enquire-strip-text span {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--meuc-text-sec);
}

.meuc-se-enquire-strip-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.meuc-se-enquire-strip-btn {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff !important;
    background: var(--meuc-blue);
    border-radius: var(--meuc-radius-sm);
    padding: 10px 22px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.15s;
}

.meuc-se-enquire-strip-btn:hover { background: var(--meuc-navy); }

.meuc-se-enquire-strip-btn--ghost {
    background: transparent;
    color: var(--meuc-navy) !important;
    border: 1px solid var(--meuc-navy);
}

.meuc-se-enquire-strip-btn--ghost:hover {
    background: var(--meuc-navy);
    color: #fff !important;
}

/* -- Main content area (grey shell) ----------------------- */
.meuc-se-main {
    background: var(--meuc-bg);
    padding: 40px 0 56px;
}

/* -- Post content card ------------------------------------ */
.meuc-se-post-content {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.75;
    color: var(--meuc-text);
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    max-width: 1216px;
    margin: 0 auto;
    padding: 40px 72px;
}

/* -- Bottom nav bar --------------------------------------- */
.meuc-se-nav-bar {
    background: #fff;
    border-top: 1px solid var(--meuc-border);
    padding: 20px 0;
}

.meuc-se-back-link {
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-se-back-link:hover { text-decoration: underline; }

.meuc-se-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.meuc-se-nav-link a,
.meuc-se-nav-link--next a {
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-se-nav-link a:hover,
.meuc-se-nav-link--next a:hover { text-decoration: underline; }

/* -- Responsive ------------------------------------------ */
@media (max-width: 768px) {
    .meuc-se-header { padding: 100px 0 0; }
    .meuc-se-header-body { flex-direction: column; align-items: flex-start; gap: 20px; }
    .meuc-se-img-wrap { width: 200px; height: 110px; padding: 10px 14px; }
    .meuc-se-meta { padding-bottom: 28px; }
    .meuc-se-enquire-strip-text { flex-direction: column; gap: 2px; }
    .meuc-se-enquire-strip-actions { flex-direction: column; width: 100%; }
    .meuc-se-main { padding: 24px 12px 40px; }
    .meuc-se-post-content { padding: 28px 24px; }
}

/* ============================================================
   SINGLE SUPPORTER PROFILE — single-meuc_supporter.html
   ============================================================ */

/* -- Header (navy) ---------------------------------------- */
.meuc-sp-header {
    background-color: var(--meuc-navy);
    color: #fff;
    padding: 124px 0 0; /* 56 + 68 nav */
}


/* -- Header body flex ------------------------------------- */
.meuc-sp-header-body {
    display: flex;
    align-items: center;
    gap: 36px;
    margin-top: 28px;
    padding-bottom: 44px;
}

/* -- Logo wrap (landscape) -------------------------------- */
.meuc-sp-logo-wrap {
    flex-shrink: 0;
    width: 280px;
    height: 140px;
    box-sizing: border-box;
    border-radius: var(--meuc-radius);
    background: #fff;
    border: 3px solid rgba(255,255,255,0.15);
    overflow: hidden;
    padding: 12px 16px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.meuc-sp-logo-wrap .wp-block-post-featured-image,
.meuc-sp-logo-wrap .wp-block-post-featured-image a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.meuc-sp-logo-wrap .wp-block-post-featured-image img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 116px !important; /* box 140px − 12px top − 12px bottom padding */
}

/* Placeholder when no logo */
.meuc-sp-logo-wrap .wp-block-post-featured-image:empty::after {
    content: 'LOGO';
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    font-size: 11px;
    font-weight: 700;
    color: var(--meuc-text-sec);
    letter-spacing: 0.1em;
}

/* -- Meta column ------------------------------------------ */
.meuc-sp-meta { flex: 1; min-width: 0; }

.meuc-sp-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    margin: 0 0 12px;
    letter-spacing: -0.02em;
}

.meuc-sp-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    color: rgba(255,255,255,0.7);
    line-height: 1.65;
    margin: 0;
    max-width: 600px;
}

/* -- Enquiry strip ---------------------------------------- */
.meuc-sp-enquire-strip {
    background: #fff;
    border-bottom: 1px solid var(--meuc-border);
    padding: 18px 0;
}

.meuc-sp-enquire-strip-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.meuc-sp-enquire-strip-text {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.meuc-sp-enquire-strip-text strong {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--meuc-navy);
}

.meuc-sp-enquire-strip-text span {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--meuc-text-sec);
}

.meuc-sp-enquire-strip-btn {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff !important;
    background: var(--meuc-blue);
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-sm);
    text-decoration: none !important;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s;
}

.meuc-sp-enquire-strip-btn:hover { background: var(--meuc-navy); }

/* -- Main content area ------------------------------------ */
.meuc-sp-main {
    background: var(--meuc-bg);
    padding: 40px 24px 56px;
}

/* -- Content card ----------------------------------------- */
.meuc-sp-content-col {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    padding: 40px 48px;
    box-shadow: var(--meuc-shadow-sm);
    min-width: 0;
    margin-bottom: 0;
}

.meuc-sp-post-content {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.75;
    color: var(--meuc-text);
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    max-width: 1136px;
    margin: 0 auto;
    padding: 40px 72px;
}

/* Headings */
.meuc-sp-post-content h2,
.meuc-sp-post-content h3,
.meuc-sp-post-content h4 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    color: var(--meuc-navy);
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    line-height: 1.25;
}
.meuc-sp-post-content h2 { font-size: 1.3rem; }
.meuc-sp-post-content h3 { font-size: 1.1rem; }
.meuc-sp-post-content h4 { font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--meuc-text-sec); }

/* Paragraphs */
.meuc-sp-post-content p { margin: 0 0 1.1em; }

/* Lists */
.meuc-sp-post-content ul,
.meuc-sp-post-content ol {
    margin: 0 0 1.1em 1.4em;
    padding: 0;
}
.meuc-sp-post-content ul { list-style: disc; }
.meuc-sp-post-content ol { list-style: decimal; }
.meuc-sp-post-content li { margin-bottom: 0.3em; }

/* Separator */
.meuc-sp-post-content hr,
.meuc-sp-post-content .wp-block-separator {
    border: none;
    border-top: 1px solid var(--meuc-border);
    margin: 2rem 0;
}

/* Images — float handling */
.meuc-sp-post-content .wp-block-image { margin: 1.25em 0; }
.meuc-sp-post-content .wp-block-image.alignright {
    float: right;
    margin: 0 0 1.25em 2em;
    max-width: 45%;
}
.meuc-sp-post-content .wp-block-image.alignleft {
    float: left;
    margin: 0 2em 1.25em 0;
    max-width: 45%;
}
.meuc-sp-post-content .wp-block-image.aligncenter {
    text-align: center;
    clear: both;
}
.meuc-sp-post-content .wp-block-image img { max-width: 100%; height: auto; border-radius: var(--meuc-radius-sm); }
.meuc-sp-post-content .wp-block-image figcaption {
    font-size: 0.78rem;
    color: var(--meuc-text-sec);
    text-align: center;
    margin-top: 6px;
}

/* Columns */
.meuc-sp-post-content .wp-block-columns {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    clear: both;
    margin: 1.5em 0;
}
.meuc-sp-post-content .wp-block-column { flex: 1; min-width: 200px; }
.meuc-sp-post-content .wp-block-column .wp-block-image { margin: 0 0 0.75em; }

/* Column gutters across editorial content areas. theme.json sets blockGap to 0,
   so wp:columns otherwise render with their columns butting together. This adds a
   consistent gutter without overriding authored column widths (gap only). */
.meuc-page-content .wp-block-columns,
.meuc-sb-post-content .wp-block-columns,
.meuc-sr-post-content .wp-block-columns,
.meuc-se-post-content .wp-block-columns {
    gap: 40px;
}
@media (max-width: 781px) {
    .meuc-page-content .wp-block-columns,
    .meuc-sb-post-content .wp-block-columns,
    .meuc-sr-post-content .wp-block-columns,
    .meuc-se-post-content .wp-block-columns {
        gap: 22px;
    }
}

/* Links */
.meuc-sp-post-content a {
    color: var(--meuc-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.meuc-sp-post-content a:hover { color: var(--meuc-navy); }

/* Buttons within content */
.meuc-sp-post-content .wp-block-button__link {
    background: var(--meuc-blue);
    color: #fff;
    border-radius: var(--meuc-radius-sm);
    padding: 10px 22px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.875rem;
    display: inline-block;
    transition: background 0.15s;
}
.meuc-sp-post-content .wp-block-button__link:hover { background: var(--meuc-navy); color: #fff; }

/* Clearfix after floats */
.meuc-sp-post-content::after { content: ''; display: table; clear: both; }

.meuc-sp-post-content > *:first-child { margin-top: 0; }
.meuc-sp-post-content > *:last-child { margin-bottom: 0; }

/* -- Bottom nav bar --------------------------------------- */
.meuc-sp-nav-bar {
    background: #fff;
    border-top: 1px solid var(--meuc-border);
    padding: 20px 0;
}

/* -- Back link & nav ------------------------------------- */
.meuc-sp-back-link {
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-sp-back-link:hover { text-decoration: underline; }

.meuc-sp-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.meuc-sp-nav-link a,
.meuc-sp-nav-link--next a {
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-sp-nav-link a:hover,
.meuc-sp-nav-link--next a:hover { text-decoration: underline; }

/* -- Supporter contact strip ------------------------------ */
/* Used on both the single page header and the archive card  */
.meuc-sc-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin-top: 10px;
}

.meuc-sc-contact-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    color: var(--meuc-text-sec);
    white-space: nowrap;
}

.meuc-sc-contact-item svg {
    flex-shrink: 0;
    opacity: 0.7;
}

.meuc-sc-contact-item--link {
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-sc-contact-item--link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* On the single page header the text is white, so invert colours */
.meuc-sp-meta .meuc-sc-contact {
    margin-top: 12px;
}

.meuc-sp-meta .meuc-sc-contact-item {
    color: rgba(255, 255, 255, 0.8);
}

.meuc-sp-meta .meuc-sc-contact-item--link {
    color: #fff;
}

.meuc-sp-meta .meuc-sc-contact-item--link:hover {
    color: #fff;
}

/* -- Responsive ------------------------------------------ */
@media (max-width: 760px) {
    .meuc-sp-logo-wrap { width: 200px; height: 110px; }
    .meuc-sp-content-col { padding: 28px 24px; }
    .meuc-sp-post-content .wp-block-image.alignright,
    .meuc-sp-post-content .wp-block-image.alignleft { float: none; max-width: 100%; margin: 1em 0; }
}

@media (max-width: 560px) {
    .meuc-sp-header-body { flex-direction: column; align-items: flex-start; gap: 20px; }
    .meuc-sp-logo-wrap { width: 100%; padding: 12px 16px; }
    .meuc-sp-main { padding: 24px 12px 40px; }
    .meuc-sp-enquire-strip-text { flex-direction: column; gap: 2px; }
    .meuc-sp-post-content { padding: 28px 24px; }
    .meuc-sp-post-content .wp-block-columns { flex-direction: column; gap: 16px; }
}

/* ============================================================
   SUPPORTER ARCHIVE — archive-meuc_supporter.html
   ============================================================ */

/* -- Page header ------------------------------------------ */
.meuc-sup-header {
    background-color: var(--meuc-navy);
    padding: 124px 0 52px; /* 56 + 68 nav */
}

/* Match the sitewide mobile header gap (100px top) at the same 768px
   breakpoint used by every other page/archive header. Previously the only
   sup-header override lived in a 480px block, so between 481-768px this
   header kept its 124px top gap while all others had dropped to 100px. */
@media (max-width: 768px) {
    .meuc-sup-header { padding: 100px 0 36px; }
}

.meuc-sup-header-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px 0;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.meuc-sup-header-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    color: rgba(255,255,255,0.65);
    max-width: 600px;
    line-height: 1.65;
    margin: 0;
}

/* -- Main content ----------------------------------------- */
.meuc-sup-main {
    background: var(--meuc-bg);
    padding: 40px 0 80px;
}

/* -- Logo wall -------------------------------------------- */
.meuc-sup-logo-wall-query { margin-bottom: 40px; }

.meuc-sup-logo-wall {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
    gap: 1rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.meuc-sup-wall-tile {
    background: #fff !important;
    border: 1px solid var(--meuc-border) !important;
    border-radius: var(--meuc-radius-sm) !important;
    padding: 0.5rem !important;
    display: block !important;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.meuc-sup-wall-tile:hover {
    border-color: var(--meuc-blue) !important;
    box-shadow: var(--meuc-shadow-sm);
}

.meuc-sup-wall-tile .wp-block-post-featured-image {
    display: block !important;
    width: 100%;
}

.meuc-sup-wall-tile .wp-block-post-featured-image a {
    display: block !important;
}

.meuc-sup-wall-tile .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* -- Directory heading ------------------------------------ */
.meuc-sup-dir-heading {
    padding: 32px 0 24px;
    border-top: 1px solid var(--meuc-border);
}

.meuc-sup-dir-heading-title {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--meuc-navy);
    margin: 0 0 6px;
    letter-spacing: -0.01em;
}

.meuc-sup-dir-heading-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: var(--meuc-text-sec);
    margin: 0;
    line-height: 1.55;
}

/* -- Supporter list --------------------------------------- */
.meuc-sup-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* -- Supporter card (horizontal row) ---------------------- */
.meuc-sup-card {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    overflow: hidden;
    flex-direction: row !important;
    align-items: stretch !important;
    box-shadow: var(--meuc-shadow-sm);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.meuc-sup-card:hover {
    border-color: var(--meuc-blue);
    box-shadow: var(--meuc-shadow-md);
}

/* Logo panel — left side, landscape */
.meuc-sup-logo-wrap {
    width: 220px;
    flex-shrink: 0 !important;
    background: #fff;
    border-right: 1px solid var(--meuc-border) !important;
    border-bottom: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 16px 20px;
    overflow: hidden;
}

.meuc-sup-logo-wrap .wp-block-post-featured-image {
    width: 100%;
    display: block;
}

.meuc-sup-logo-wrap .wp-block-post-featured-image a {
    display: block;
}

.meuc-sup-logo-wrap .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Placeholder when no logo set */
.meuc-sup-logo-wrap .wp-block-post-featured-image:empty::after {
    content: 'LOGO';
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--meuc-text-sec);
    letter-spacing: 0.1em;
}

/* Card body — flex:1, vertically centred */
.meuc-sup-card-body {
    flex: 1 !important;
    padding: 20px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.meuc-sup-card-name {
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--meuc-navy) !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.3 !important;
}

.meuc-sup-card-name a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.15s;
}

.meuc-sup-card-name a:hover { color: var(--meuc-blue) !important; }

.meuc-sup-card-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 13px !important;
    color: var(--meuc-text-sec) !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.meuc-sup-card-desc p { margin: 0; display: contents; }

/* Action panel — right side */
.meuc-sup-card-footer {
    flex-shrink: 0 !important;
    width: 160px;
    border-left: 1px solid var(--meuc-border) !important;
    border-top: none !important;
    margin-top: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: var(--meuc-bg);
}

.meuc-sup-profile-btn,
.meuc-sup-card-footer a {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff !important;
    text-decoration: none !important;
    background: var(--meuc-blue);
    border: none;
    border-radius: var(--meuc-radius-sm);
    padding: 10px 20px;
    display: block;
    text-align: center;
    transition: background 0.15s;
    white-space: nowrap;
}

.meuc-sup-profile-btn:hover,
.meuc-sup-card-footer a:hover {
    background: var(--meuc-navy) !important;
    color: #fff !important;
}

/* -- No results ------------------------------------------ */
.meuc-sup-no-results {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: var(--meuc-text-sec);
    padding: 64px 0;
    text-align: center;
    grid-column: 1 / -1;
}

/* -- Become a Supporter CTA ------------------------------ */
.meuc-sup-cta {
    background: var(--meuc-navy);
    padding: 80px 0;
}

.meuc-sup-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

.meuc-sup-cta-title {
    font-family: 'Poppins', sans-serif; font-weight: 500;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.meuc-sup-cta-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: rgba(255,255,255,0.6);
    margin: 0;
    max-width: 520px;
}

/* -- Responsive ------------------------------------------ */
@media (max-width: 720px) {
    .meuc-sup-logo-wall { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important; }

    .meuc-sup-card { flex-direction: column !important; }
    .meuc-sup-logo-wrap {
        width: 100% !important;
        height: 110px !important;
        border-right: none !important;
        border-bottom: 1px solid var(--meuc-border) !important;
    }
    .meuc-sup-logo-wrap .wp-block-post-featured-image img { object-fit: contain; max-height: 80px; }
    .meuc-sup-card-footer {
        width: 100% !important;
        border-left: none !important;
        border-top: 1px solid var(--meuc-border) !important;
        padding: 16px 20px !important;
        justify-content: flex-start;
    }
    .meuc-sup-profile-btn, .meuc-sup-card-footer a { display: inline-block; width: auto; }
}

@media (max-width: 480px) {
    .meuc-sup-cta-inner { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   EVENT ARCHIVE — archive-meuc_event.html
   ============================================================ */

/* -- Page header ------------------------------------------ */
.meuc-ev-header {
    background-color: var(--meuc-navy);
    padding: 124px 0 52px; /* 56 + 68 nav */
}

.meuc-ev-header-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px 0;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.meuc-ev-header-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    color: rgba(255,255,255,0.65);
    max-width: 600px;
    line-height: 1.6;
    margin: 0;
}

/* -- Main content ------------------------------------------ */
.meuc-ev-main {
    background: var(--meuc-bg);
    padding: 40px 0 80px;
}



.meuc-ev-section-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--meuc-navy) !important;
    margin: 0 0 28px 0 !important;
}

/* -- Event list ------------------------------------------- */
.meuc-ev-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 48px;
}

/* -- Event card (horizontal flex row) --------------------- */
.meuc-ev-card {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    overflow: hidden;
    display: flex !important;
    box-shadow: var(--meuc-shadow-sm);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.meuc-ev-card:hover {
    border-color: var(--meuc-blue);
    box-shadow: var(--meuc-shadow-md);
}

/* Date panel — left column on event archive cards */
.meuc-ev-date-box {
    width: 110px;
    flex-shrink: 0;
    background: var(--meuc-navy);
    border-right: 1px solid var(--meuc-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 12px;
    gap: 2px;
    text-align: center;
}

.meuc-ev-date-box__day {
    font-family: 'Poppins', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.meuc-ev-date-box__month {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--meuc-teal);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1.2;
}

.meuc-ev-date-box__year {
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    color: rgba(255,255,255,0.5);
    line-height: 1.2;
}

/* Content column */
.meuc-ev-card-body {
    flex: 1 !important;
    padding: 20px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 4px !important;
}

/* Date line — sits between title and excerpt */
.meuc-ev-card-date,
.meuc-ev-card-date p {
    font-family: 'Poppins', sans-serif;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--meuc-text-sec) !important;
    margin: 2px 0 4px !important;
    line-height: 1.4 !important;
}

.meuc-ev-type-badge {
    font-family: 'Poppins', sans-serif;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--meuc-teal) !important;
    background: rgba(0,158,160,0.1);
    border: 1px solid rgba(0,158,160,0.25);
    border-radius: var(--meuc-radius-sm);
    padding: 3px 9px;
    display: inline-block;
    align-self: flex-start;
}

/* Hide type badge if no terms assigned */
.meuc-ev-type-badge:empty { display: none; }

/* Subtitle (descriptive title from content) — same style as post-title, linked */
.meuc-ev-card-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--meuc-navy);
    margin: 4px 0 0 0;
    line-height: 1.3;
}

.meuc-ev-card-subtitle a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
}

.meuc-ev-card-subtitle a:hover { color: var(--meuc-blue); }

/* Post title */
.meuc-ev-card-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--meuc-navy) !important;
    margin: 4px 0 0 0 !important;
    line-height: 1.3 !important;
}

.meuc-ev-card-title a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.15s;
}

.meuc-ev-card-title a:hover { color: var(--meuc-blue) !important; }

.meuc-ev-card-excerpt {
    font-family: 'Poppins', sans-serif;
    font-size: 13px !important;
    color: var(--meuc-text-sec) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.meuc-ev-card-excerpt p { margin: 0; }

/* CTA column — right, grey bg, matches supporter footer */
.meuc-ev-card-cta {
    width: 190px;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 20px 16px;
    border-left: 1px solid var(--meuc-border) !important;
    background: var(--meuc-bg);
}

.meuc-ev-register-btn,
.meuc-ev-card-cta a {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff !important;
    background: var(--meuc-blue);
    text-decoration: none !important;
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-sm);
    white-space: nowrap;
    text-align: center;
    display: block;
    width: 100%;
    transition: background 0.15s;
}

.meuc-ev-register-btn:hover,
.meuc-ev-card-cta a:hover {
    background: var(--meuc-navy);
    color: #fff !important;
}

/* -- No results ------------------------------------------- */
.meuc-ev-no-results {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: var(--meuc-text-sec);
    padding: 64px 0;
    text-align: center;
}

/* -- Register / subscribe CTA ----------------------------- */
.meuc-ev-register-cta {
    background: var(--meuc-navy);
    padding: 80px 0;
}

.meuc-ev-register-cta-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
    align-items: center;
}

.meuc-ev-register-cta-title {
    font-family: 'Poppins', sans-serif; font-weight: 500;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin: 12px 0 12px 0;
    line-height: 1.2;
}

.meuc-ev-register-cta-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: rgba(255,255,255,0.62);
    line-height: 1.7;
    margin: 0;
    max-width: 560px;
}

.meuc-ev-register-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
}

/* -- Responsive ------------------------------------------- */
@media (max-width: 768px) {
    .meuc-ev-header { padding: 100px 0 36px; }

    /* Keep date box + body on one row, wrap the CTA to a full-width bar below
       (the .meuc-ev-card-cta rule below sets width:100% + border-top for this).
       Was flex-direction:row with no wrap, which pushed the CTA off-screen. */
    .meuc-ev-card { flex-wrap: wrap; }

    .meuc-ev-date-box {
        width: 80px;
        padding: 16px 8px;
    }

    .meuc-ev-date-box__day { font-size: 1.8rem; }

    .meuc-ev-card-cta {
        width: 100% !important;
        border-left: none !important;
        border-top: 1px solid var(--meuc-border) !important;
        padding: 14px 24px;
        justify-content: flex-start;
    }

    .meuc-ev-register-cta-inner { grid-template-columns: 1fr; gap: 28px; }
    .meuc-ev-register-cta-actions { flex-direction: row; flex-wrap: wrap; }
}

/* ============================================================
   RESOURCE ARCHIVE — archive-meuc_resource.html
   ============================================================ */

/* -- Page header (navy) ------------------------------------ */
.meuc-res-header {
    background-color: var(--meuc-navy);
    padding: 124px 0 52px; /* 56 + 68 nav */
}

.meuc-breadcrumb {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin-bottom: 28px;
    display: block;
}

.meuc-breadcrumb a {
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    transition: color 0.15s;
}

.meuc-breadcrumb a:hover { color: #fff; }

/* Breadcrumb row: flex wrapper to inline current-page title alongside nav */
.meuc-breadcrumb-row {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.3em;
    margin-bottom: 28px;
}
.meuc-breadcrumb-row .meuc-breadcrumb { margin-bottom: 0; display: flex; align-items: center; gap: 0.3em; }

/* Current page label in breadcrumb (wp:post-title rendered as h2) */
.meuc-breadcrumb-current {
    font-family: 'Poppins', sans-serif;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4) !important;
    margin: 0 !important;
    line-height: 1.4;
}
/* Also covers resource template's meuc-sr-breadcrumb flex row */
.meuc-sr-breadcrumb .meuc-breadcrumb-current {
    font-size: 12px !important;
    font-weight: 700;
    color: rgba(255,255,255,0.4) !important;
    margin: 0 !important;
}

.meuc-res-header-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.meuc-res-header-title {
    font-size: clamp(1.6rem, 3.5vw, 2.6rem);
    font-weight: 600;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.15;
}

.meuc-res-header-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    color: rgba(255,255,255,0.65);
    line-height: 1.65;
    margin: 0 0 28px 0;
}

.meuc-res-header-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Publication-type overview grid */
.meuc-res-pub-types {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.meuc-res-pub-type {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--meuc-radius);
    padding: 18px;
    border-left-width: 3px;
    border-left-style: solid;
    text-decoration: none;
    display: block;
    transition: background 0.15s;
}

a.meuc-res-pub-type:hover {
    background: rgba(255,255,255,0.11);
}

.meuc-res-pub-type-freq {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.meuc-res-pub-type-name {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 2px;
}

.meuc-res-pub-type-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: rgba(255,255,255,0.5);
}

/* -- Subscribe banner (teal) ------------------------------- */
.meuc-res-subscribe-banner {
    background: var(--meuc-teal);
    padding: 18px 0;
}

.meuc-res-subscribe-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
}

.meuc-res-subscribe-inner p {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #fff;
    margin: 0;
}

.meuc-res-subscribe-btn {
    background: var(--meuc-navy);
    color: #fff;
    border: none;
    border-radius: var(--meuc-radius-sm);
    padding: var(--btn-pad-sm);
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.15s;
    display: inline-block;
}

.meuc-res-subscribe-btn:hover { opacity: 0.85; color: #fff; }

/* -- Filter tabs ------------------------------------------ */
.meuc-res-filter-bar {
    background: #fff;
    border-bottom: 1px solid var(--meuc-border);
    overflow-x: auto;
}

.meuc-res-filter-tabs {
    display: flex;
    align-items: center;
    gap: 0;
    white-space: nowrap;
}

.meuc-res-filter-tab {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: var(--meuc-text-sec);
    text-decoration: none;
    padding: 16px 16px;
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
    display: inline-block;
    white-space: nowrap;
}

.meuc-res-filter-tab:hover {
    color: var(--meuc-blue);
}

.meuc-res-filter-tab.is-active {
    font-weight: 700;
    color: var(--meuc-blue);
    border-bottom-color: var(--meuc-blue);
}

/* -- Main content area ------------------------------------ */
/* Resource listings sit directly below navigation tabs: use the tighter
   spacing of individual content pages, retaining the original bottom gap. */
.meuc-res-main {
    background: var(--meuc-bg);
    padding: 40px 2rem 80px;
}

.meuc-res-main > .meuc-container {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    padding: 40px 48px;
    max-width: calc(var(--meuc-max-w) - 4rem);
}

.meuc-res-archive-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: var(--meuc-text-sec) !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 24px !important;
}

/* -- Resource card grid ----------------------------------- */
.meuc-res-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 48px;
}

.meuc-pub-card--archive {
    cursor: pointer;
    height: 100%;
}

.meuc-pub-card--archive {
    --pub-color: var(--meuc-blue); /* overridden per-card by JS */
}

.meuc-pub-card--archive .meuc-pub-type-bar {
    height: 6px;
    background: var(--pub-color);
    flex-shrink: 0;
    width: 100%;
}

.meuc-pub-card--archive .meuc-pub-card-body {
    padding: 20px 22px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.meuc-pub-card-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    flex-wrap: nowrap;
}

.meuc-pub-type-badge {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: var(--meuc-radius-sm);
    padding: 3px 9px;
    /* color, background and border are set via inline styles by meuc/resource-type-badge block */
}

.meuc-pub-card--archive .meuc-pub-card-date {
    font-family: 'Poppins', sans-serif;
    font-size: 11px !important;
    color: #9CA3AF !important;
    margin: 0 !important;
    flex-shrink: 0;
}

.meuc-pub-card--archive .meuc-pub-card-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--meuc-navy) !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.35 !important;
}

.meuc-pub-card--archive .meuc-pub-card-title a {
    color: inherit !important;
    text-decoration: none !important;
}

.meuc-pub-card--archive .meuc-pub-card-title a:hover {
    color: var(--meuc-blue) !important;
}

.meuc-pub-card--archive .meuc-pub-card-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 13px !important;
    color: var(--meuc-text-sec) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    flex: 1;
}

.meuc-pub-card--archive .meuc-pub-card-desc p {
    margin: 0;
}

.meuc-pub-card--archive .meuc-pub-card-footer {
    padding: 12px 22px;
    border-top: 1px solid var(--meuc-ice);
    margin-top: auto;
}

.meuc-pub-cta,
.meuc-pub-card--archive .meuc-pub-card-footer a {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--pub-color, var(--meuc-blue));
    text-decoration: none !important;
    transition: color 0.15s;
}

.meuc-pub-cta:hover,
.meuc-pub-card--archive .meuc-pub-card-footer a:hover {
    filter: brightness(0.85);
}

/* -- No results ------------------------------------------ */
.meuc-res-no-results {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: var(--meuc-text-sec);
    padding: 48px 0;
    text-align: center;
}

/* -- Pagination ------------------------------------------ */
.meuc-pagination {
    display: flex !important;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
}

.meuc-pagination .wp-block-query-pagination-numbers a,
.meuc-pagination .wp-block-query-pagination-previous,
.meuc-pagination .wp-block-query-pagination-next,
.meuc-pagination--search .page-numbers {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--meuc-blue);
    text-decoration: none;
    padding: 6px 14px;
    border: 1.5px solid var(--meuc-border);
    border-radius: 5px;
    background: #fff;
    transition: border-color 0.15s, background 0.15s;
}

.meuc-pagination .wp-block-query-pagination-numbers a:hover,
.meuc-pagination .wp-block-query-pagination-previous:hover,
.meuc-pagination .wp-block-query-pagination-next:hover,
.meuc-pagination--search .page-numbers:hover {
    border-color: var(--meuc-blue);
    background: #1E5BB808;
}

.meuc-pagination .wp-block-query-pagination-numbers .current {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--meuc-blue);
    padding: 6px 14px;
    border: 1.5px solid var(--meuc-blue);
    border-radius: 5px;
    background: #1E5BB812;
}

/* -- Membership CTA (navy) -------------------------------- */
.meuc-res-member-cta {
    background: var(--meuc-navy);
    padding: 80px 0;
}

.meuc-res-member-cta-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
    align-items: center;
}

.meuc-res-member-cta-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #fff;
    margin: 8px 0 12px;
    line-height: 1.2;
}

.meuc-res-member-cta-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: rgba(255,255,255,0.62);
    line-height: 1.7;
    margin: 0;
    max-width: 560px;
}

.meuc-res-member-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
}

/* -- Responsive ------------------------------------------ */
@media (max-width: 1100px) {
    .meuc-res-header-inner { grid-template-columns: 1fr; gap: 40px; }
    .meuc-res-pub-types { display: none; }
    .meuc-res-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 768px) {
    .meuc-res-header { padding: 100px 0 36px; }
    .meuc-res-grid { grid-template-columns: 1fr !important; }
    .meuc-res-member-cta-inner { grid-template-columns: 1fr; gap: 28px; }
    .meuc-res-member-cta-actions { flex-direction: row; }
}

/* ============================================================
   In-page anchor navigation strip (.rh_event_centre)
   Used on the About page to jump to #what-is-meuc,
   #meet-the-team and #contact-us
   ============================================================ */

.meuc-about-jumpnav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 32px;
    padding: 0;
}

.meuc-about-jumpnav a {
    display: inline-block;
    padding: 8px 20px;
    border: 1.5px solid var(--meuc-teal);
    border-radius: 4px;
    color: var(--meuc-teal);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.meuc-about-jumpnav a:hover,
.meuc-about-jumpnav a:focus-visible {
    background: var(--meuc-teal);
    color: #fff;
}

/* ============================================================
   Sign In / Login page
   ============================================================ */

.meuc-login-wrap {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}

.meuc-login-wrap--signedin {
    flex-direction: column;
    gap: 12px;
    text-align: center;
}

.meuc-login-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 48px;
    width: 100%;
    max-width: 440px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

.meuc-login-header {
    margin-bottom: 32px;
}

.meuc-login-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--meuc-navy);
    margin: 8px 0 10px;
}

.meuc-login-sub {
    font-size: 0.9rem;
    color: #6B7280;
    margin: 0;
}

/* WP login form elements */
.meuc-login-card .login-username,
.meuc-login-card .login-password,
.meuc-login-card .login-remember {
    margin-bottom: 18px;
}

.meuc-login-card label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--meuc-navy);
    margin-bottom: 6px;
}

.meuc-login-card input[type="text"],
.meuc-login-card input[type="password"] {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid #D1D5DB;
    border-radius: 6px;
    font-size: 0.95rem;
    color: var(--meuc-navy);
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.meuc-login-card input[type="text"]:focus,
.meuc-login-card input[type="password"]:focus {
    outline: none;
    border-color: var(--meuc-teal);
}

.meuc-login-card input[type="submit"] {
    width: 100%;
    padding: 12px;
    background: var(--meuc-navy);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    margin-top: 8px;
}

.meuc-login-card input[type="submit"]:hover {
    background: #162d5c;
}

.meuc-login-footer {
    margin-top: 24px;
    font-size: 0.85rem;
    color: #6B7280;
    text-align: center;
}

.meuc-login-footer a {
    color: var(--meuc-teal);
    text-decoration: none;
}

.meuc-login-footer a:hover { text-decoration: underline; }

.meuc-login-sep {
    margin: 0 8px;
}

/* ==========================================================================
   Publications Search Page
   [meuc_resource_search] shortcode — page-resource-search.html template
   ========================================================================== */

/* -- Search tab in filter bar ----------------------------------------- */
.meuc-res-filter-tab--search {
    margin-left: auto;
    padding-left: 20px;
    border-left: 1px solid var(--meuc-border);
}

/* -- Search bar (form) ------------------------------------------------- */
.meuc-res-search-bar {
    padding: 24px 0 20px;
    border-bottom: 1px solid var(--meuc-border);
    margin-bottom: 24px;
}

.meuc-res-search-form {
    display: flex;
    gap: 10px;
    align-items: center;
    max-width: 680px;
}

.meuc-res-search-input {
    flex: 1;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    padding: 11px 16px;
    border: 1.5px solid var(--meuc-border);
    border-radius: 6px;
    background: #fff;
    color: var(--meuc-text);
    outline: none;
    transition: border-color 0.15s;
}

.meuc-res-search-input:focus {
    border-color: var(--meuc-blue);
    box-shadow: 0 0 0 3px #1E5BB820;
}

.meuc-res-search-input::placeholder {
    color: var(--meuc-text-secondary);
}

.meuc-res-search-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 20px;
    background: var(--meuc-navy);
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}

.meuc-res-search-btn:hover {
    background: #0a2d6e;
}

/* -- Layout: results + sidebar ---------------------------------------- */
.meuc-res-search-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
}

/* Browse-by-tag row beneath the search bar (offered as an OR alternative) */
.meuc-res-search-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 32px;
}

.meuc-res-search-tags-or {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--meuc-text-sec);
}

.meuc-res-search-tags-label {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--meuc-text-sec);
    margin-right: 4px;
}

/* -- Type filter pills ------------------------------------------------- */
.meuc-res-search-type-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.meuc-res-search-type-pill {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 13px;
    border: 1.5px solid var(--meuc-border);
    border-radius: 20px;
    color: var(--meuc-text-secondary);
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.meuc-res-search-type-pill:hover {
    border-color: var(--meuc-blue);
    color: var(--meuc-blue);
}

.meuc-res-search-type-pill.is-active {
    font-weight: 700;
}

/* -- Result count line ------------------------------------------------- */
.meuc-res-search-count {
    font-size: 13px;
    color: var(--meuc-text-secondary);
    margin: 0 0 20px;
}

.meuc-res-search-count strong {
    color: var(--meuc-text);
}

/* -- 2-column grid variant for search (within narrower results column) - */
.meuc-res-grid--2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}

/* -- No results -------------------------------------------------------- */
.meuc-res-search-no-results {
    padding: 48px 0;
    text-align: center;
    color: var(--meuc-text-secondary);
    font-size: 15px;
}

.meuc-res-search-no-results a {
    color: var(--meuc-blue);
    text-decoration: none;
}

.meuc-res-search-no-results a:hover {
    text-decoration: underline;
}

/* -- Search pagination ------------------------------------------------- */
.meuc-pagination--search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 8px 0 32px;
}

.meuc-pagination--search .page-numbers.current {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--meuc-blue);
    padding: 6px 14px;
    border: 1.5px solid var(--meuc-blue);
    border-radius: 5px;
    background: #1E5BB812;
}

.meuc-pagination--search .page-numbers.dots {
    padding: 6px 4px;
    color: var(--meuc-text-secondary);
    border: none;
    background: none;
}


/* -- Sidebar ----------------------------------------------------------- */
.meuc-res-search-sidebar {
    position: sticky;
    top: 24px;
}

.meuc-res-search-sidebar-title {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--meuc-text-secondary);
    margin: 0 0 14px;
}

/* -- Tag cloud --------------------------------------------------------- */
.meuc-res-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 8px;
}

.meuc-res-tag-pill {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 400;
    padding: 4px 11px;
    background: var(--meuc-ice);
    border: 1px solid var(--meuc-border);
    border-radius: 14px;
    color: var(--meuc-text-secondary);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.meuc-res-tag-pill:hover,
.meuc-res-tag-pill.is-active {
    background: #1E5BB812;
    border-color: var(--meuc-blue);
    color: var(--meuc-blue);
}

.meuc-res-tag-pill.is-active {
    font-weight: 600;
}

/* -- Sidebar type links ------------------------------------------------ */
.meuc-res-sidebar-types {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.meuc-res-sidebar-type-link {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
    padding: 7px 12px;
    border-left: 3px solid;
    text-decoration: none;
    background: var(--meuc-ice);
    border-radius: 0 5px 5px 0;
    transition: background 0.15s;
}

.meuc-res-sidebar-type-link:hover {
    background: var(--meuc-border);
}

/* -- Narrower header on search page ------------------------------------ */
.meuc-res-header-inner--search {
    display: block;
}

.meuc-res-header-inner--search .meuc-res-header-text {
    max-width: 640px;
}

/* -- Responsive -------------------------------------------------------- */
@media (max-width: 900px) {
    .meuc-res-search-layout {
        grid-template-columns: 1fr;
    }
    .meuc-res-search-sidebar {
        position: static;
        border-top: 1px solid var(--meuc-border);
        padding-top: 28px;
        margin-top: 8px;
    }
    .meuc-res-tag-cloud {
        flex-direction: row;
    }
}

@media (max-width: 640px) {
    .meuc-res-grid--2col {
        grid-template-columns: 1fr;
    }
    .meuc-res-search-form {
        flex-direction: column;
        align-items: stretch;
    }
    .meuc-res-search-btn {
        justify-content: center;
    }
}


/* ============================================================
   BUU Online Magazine
   Magazine landing (.buu-mag-), issue pages (.buu-issue-),
   article singles (.buu-art-), diorama ad (.buu-diorama-)
   ============================================================ */

/* ----------------------------------------------------------
   Magazine landing page
   ---------------------------------------------------------- */

.buu-mag-header {
    background-color: var(--meuc-navy);
    padding: 124px 0 52px;
}

@media (max-width: 768px) {
    .buu-mag-header { padding: 80px 0 36px; }
}

.buu-mag-header-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: clamp(28px, 3.5vw, 44px);
    color: #fff;
    margin: 0 0 16px;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.buu-mag-header-sub {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    color: rgba(255,255,255,0.65);
    max-width: 600px;
    line-height: 1.6;
    margin: 0;
}

.buu-mag-main {
    padding: 40px 0 96px;
}


/* ----------------------------------------------------------
   BUU magazine landing page — page card + editorial letter
   ---------------------------------------------------------- */

.buu-mag-main {
    background: var(--meuc-bg);
    padding: 40px 0 80px;
}

.buu-mag-page {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    overflow: hidden;
}

.buu-mag-issues-head {
    padding: 40px 28px 0;
}

/* ----------------------------------------------------------
   BUU issue index grid  [buu_issue_list]
   ---------------------------------------------------------- */

.buu-hub-grid-wrap {
    padding: 24px 28px 48px;
}

.buu-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--meuc-border);
}

/* ── Base card — same structure for single and feature ── */
.buu-hub-card {
    display: flex;
    flex-direction: row;
    text-decoration: none;
    min-height: 220px;
    background: var(--meuc-border); /* shows through gap between img and inner */
}

/* Inner: masthead + body stacked — identical in both card types */
.buu-hub-card-inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

/* Masthead */
.buu-hub-card-masthead {
    background: var(--buu-ink);
    padding: 20px 24px 18px;
    flex: 0 0 auto;
    min-height: 130px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.buu-hub-card-mag-name {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin: 0 0 12px;
}

.buu-hub-card-mag-and { font-size: 0.9em; }

.buu-hub-card-rule {
    border: none;
    border-top: 2px solid #D91F68;
    margin: 0 0 14px;
}

.buu-hub-card-issue-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #fff;
    margin: 0;
}

/* Body */
.buu-hub-card-body {
    background: #fff;
    padding: 16px 24px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    transition: background 0.2s ease;
}

.buu-hub-card:hover .buu-hub-card-body {
    background: var(--meuc-bg);
}

.buu-hub-card-meta {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin-bottom: 12px;
}

.buu-hub-card-num {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--buu-ink-muted);
}

.buu-hub-card-count {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: var(--buu-ink-soft);
}

.buu-hub-card-articles {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}

.buu-hub-card-article {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.3;
    color: var(--buu-ink-soft);
    padding-left: 9px;
    border-left: 2px solid var(--buu-rule);
}

.buu-hub-card-cta {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--buu-accent);
}

/* ── Feature card — image + inner side by side ── */
.buu-hub-card--feature {
    grid-column: span 2;
    gap: 1px;
}

.buu-hub-card--flip { flex-direction: row-reverse; }

.buu-hub-card--feature .buu-hub-card-inner {
    flex: 0 0 calc(50% - 0.5px);
}

.buu-hub-card-img {
    flex: 0 0 calc(50% - 0.5px);
    position: relative;
    overflow: hidden;
    background: #1a2740;
}

.buu-hub-card-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.buu-hub-card-img--placeholder {
    background: linear-gradient(160deg, #243353, #14203a);
}

/* ── Responsive ── */
@media (max-width: 860px) {
    .buu-hub-grid { grid-template-columns: repeat(2, 1fr); }
    .buu-hub-card--feature { grid-column: span 2; }
}

@media (max-width: 540px) {
    .buu-hub-grid { grid-template-columns: 1fr; }
    .buu-hub-card--feature { grid-column: span 1; flex-direction: column; }
    .buu-hub-card--feature .buu-hub-card-inner,
    .buu-hub-card-img { flex: none; width: 100%; }
    .buu-hub-card-img { aspect-ratio: 16 / 9; position: relative; }
}

/* ----------------------------------------------------------
   Issue page
   ---------------------------------------------------------- */

.buu-issue-header {
    padding: 116px 0 40px;
}

@media (max-width: 768px) {
    .buu-issue-header { padding: 80px 0 32px; }
}

.buu-issue-meta-row { gap: 16px; }

.buu-issue-date {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.buu-issue-main {
    padding: 40px 0 96px;
}

.buu-issue-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 56px;
    align-items: start;
    max-width: 1100px;
}

@media (max-width: 768px) {
    .buu-issue-layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

.buu-issue-cover img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 8px 32px rgba(4, 31, 79, 0.2);
    display: block;
}

.buu-issue-content-col {
    min-width: 0;
}

.buu-issue-intro {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: var(--meuc-navy);
    margin-bottom: 40px;
}

.buu-issue-toc-heading {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--meuc-teal);
    margin: 0 0 20px;
}

/* Article table of contents */
.buu-issue-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.buu-issue-toc-item {
    border-top: 1px solid var(--meuc-border);
}

.buu-issue-toc-item:last-child {
    border-bottom: 1px solid var(--meuc-border);
}

.buu-issue-toc-link {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 18px 0;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}

.buu-issue-toc-link:hover .buu-issue-toc-title {
    color: var(--meuc-blue);
}

.buu-issue-toc-num {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--meuc-teal);
    flex-shrink: 0;
}

.buu-issue-toc-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.buu-issue-toc-kicker {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--meuc-teal);
}

.buu-issue-toc-title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--meuc-navy);
    line-height: 1.35;
    transition: color 0.15s;
}

.buu-issue-toc-dek {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--meuc-text-muted, #666);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.buu-issue-toc-thumb {
    flex-shrink: 0;
    width: 64px;
}

.buu-issue-toc-thumb img {
    width: 64px;
    height: 48px;
    object-fit: cover;
    border-radius: var(--meuc-radius-sm);
    display: block;
}

/* ----------------------------------------------------------
   BUU Online Magazine — Article single
   ---------------------------------------------------------- */

/* ---- Nav: always solid on BUU article pages ----
   The main nav is transparent-until-scroll. On article pages the
   navy page header is absent so force fully opaque immediately.
   Cover both the base state and .is-scrolled (which adds its own bg). */
body.is-buu-article .meuc-site-header,
body.is-buu-article .meuc-site-header.is-scrolled {
    background: rgba(4, 31, 79, 0.82) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* ---- BUU wayfinding strip ----
   Fixed directly below the nav — forms a single chrome unit with it.
   Both nav (68px) and strip are position:fixed so neither scrolls away.
   z-index: 998 keeps it below the nav (999) but above all page content. */
.buu-strip {
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    z-index: 998;
    background: rgba(238, 242, 248, 0.96);
    backdrop-filter: saturate(140%) blur(12px);
    -webkit-backdrop-filter: saturate(140%) blur(12px);
    border-bottom: 1px solid rgba(4, 31, 79, 0.08);
}

.buu-strip-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    max-width: var(--meuc-max-w);
    margin: 0 auto;
    padding: 11px 2rem;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(4, 31, 79, 0.5);
}

.buu-strip-crumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
}

.buu-strip-crumbs a {
    color: rgba(4, 31, 79, 0.5);
    text-decoration: none;
    flex-shrink: 0;
    transition: color 0.15s;
}

.buu-strip-crumbs a:hover { color: var(--meuc-navy); }

.buu-strip-crumbs strong {
    font-weight: 600;
    color: var(--meuc-navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.buu-strip-sep {
    color: rgba(4, 31, 79, 0.22);
    flex-shrink: 0;
}

.buu-strip-issue {
    font-weight: 600;
    color: var(--meuc-teal);
    flex-shrink: 0;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .buu-strip-issue { display: none; }
    .buu-strip-inner { padding: 10px 1rem; }
}

/* Admin-bar offsets: WP admin bar adds 32px (desktop) or 46px (mobile ≤782px).
   The nav gets pushed to top:32px, so strip must follow to top:100px. */
.admin-bar .buu-strip { top: 100px; }
@media screen and (max-width: 782px) {
    .admin-bar .buu-strip { top: 114px; }
}

/* ---- Outer ice wrapper ----
   Matches .meuc-page-main: ice background.
   padding-top clears the fixed chrome: nav (68px) + strip (~44px) + 24px breathing = 136px.
   With admin bar: add 32px (desktop) or 46px (mobile) on top of that.
   Side padding of 2rem matches .meuc-container so the card aligns. */
.buu-art-outer {
    background: var(--meuc-bg);
    padding: 136px 2rem 80px;
}
.admin-bar .buu-art-outer { padding-top: 168px; }

@media (max-width: 640px) {
    .buu-art-outer { padding: 120px 1rem 64px; }
}
@media screen and (max-width: 782px) {
    .admin-bar .buu-art-outer { padding-top: 182px; }
}

/* ---- Page card ----
   Matches .meuc-page-content: white, border, radius, shadow.
   max-width: 1216px = var(--meuc-max-w) 1280px minus 4rem side padding.
   IMPORTANT: overflow must be visible — overflow: hidden kills position:sticky
   on children (the diorama ad uses sticky). */
.buu-art-page {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    max-width: 1216px;
    margin: 0 auto;
    overflow: visible;
}

/* ---- Article hero ---- */
.buu-art-hero {
    padding: 80px 56px 56px;
    text-align: center;
    /* No border-bottom — the mockup has none */
}

@media (max-width: 640px) {
    .buu-art-hero { padding: 48px 20px 40px; }
}

/* Kicker: section type + teal dot + issue name */
.buu-art-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.buu-art-kicker-section {
    color: var(--meuc-teal);
}

.buu-art-kicker-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--meuc-teal);
    flex-shrink: 0;
    display: inline-block;
}

.buu-art-kicker-issue {
    color: rgba(4, 31, 79, 0.45);
}

/* Title — large Newsreader serif; em tags become italic + teal */
.buu-art-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: clamp(2.5rem, 6vw, 5.2rem) !important;
    font-weight: 400 !important;
    line-height: 1.0 !important;
    letter-spacing: -0.02em;
    color: var(--meuc-navy);
    max-width: 14em;
    margin: 0 auto 24px !important;
    text-wrap: balance;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

/* em within the post title renders as italic teal accent */
.buu-art-title em {
    font-style: italic;
    font-weight: 300;
    color: var(--meuc-teal);
}

/* Dek / excerpt — Newsreader italic */
.buu-art-dek {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: 300;
    font-style: italic;
    color: rgba(4, 31, 79, 0.65);
    max-width: 34em;
    margin: 0 auto 32px !important;
    line-height: 1.45;
    text-wrap: balance;
}

/* Byline */
.buu-art-byline {
    justify-content: center;
    gap: 6px !important;
}

.buu-art-author,
.buu-art-date {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(4, 31, 79, 0.45);
}

.buu-art-byline-sep {
    font-size: 12px;
    color: rgba(4, 31, 79, 0.2);
    margin: 0 2px;
}

/* ---- Lead image (inside card, full card width) ---- */
.buu-art-lead-image {
    display: block;
    width: 100%;
    margin: 0;
    line-height: 0;
    border-radius: 0;
}

.buu-art-lead-image img {
    width: 100%;
    height: clamp(240px, 44vw, 560px);
    object-fit: cover;
    display: block;
    border-radius: 0;
}

/* Prose column — Newsreader serif, centred within the card */
.buu-art-content {
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.65;
    color: #141f33;
    max-width: 980px;
    margin: 0 auto;
    padding: 56px 40px 0;
}

@media (max-width: 768px) {
    .buu-art-content { font-size: 17px; padding: 40px 24px 0; }
}

.buu-art-content p { margin: 0 0 1.4em; }

/* Drop cap on first paragraph's first letter */
.buu-art-content > p:first-of-type::first-letter {
    font-family: 'Poppins', sans-serif;
    font-size: 5.6em;
    font-weight: 400;
    line-height: 0.85;
    float: left;
    margin: 0.06em 0.08em 0 -0.04em;
    color: var(--meuc-navy);
}

/* Section headings */
.buu-art-content h2 {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 400;
    line-height: 1.2;
    margin: 2.4em 0 0.6em;
    color: var(--meuc-navy);
}

.buu-art-content h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 2.2em 0 0.6em;
    color: var(--meuc-navy);
}

.buu-art-content a {
    color: var(--meuc-blue);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* Pull quote — horizontal rules, opening curly quote in teal */
.buu-art-content .wp-block-pullquote {
    border-top: 1px solid rgba(4, 31, 79, 0.15);
    border-bottom: 1px solid rgba(4, 31, 79, 0.15);
    border-left: none;
    border-right: none;
    margin: 2.4em 0;
    padding: 28px 0;
    text-align: left;
    background: none;
}

.buu-art-content .wp-block-pullquote blockquote {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.buu-art-content .wp-block-pullquote p {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(20px, 2vw, 28px);
    font-style: italic;
    font-weight: 300;
    line-height: 1.3;
    color: var(--meuc-navy);
    margin: 0;
    text-wrap: balance;
}

.buu-art-content .wp-block-pullquote p::before {
    content: '\201C';
    color: var(--meuc-teal);
    margin-right: 3px;
}

.buu-art-content .wp-block-pullquote p::after {
    content: '\201D';
    color: var(--meuc-teal);
    margin-left: 2px;
}

.buu-art-content .wp-block-pullquote cite {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-style: normal;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(4, 31, 79, 0.45);
    display: block;
    margin-top: 16px;
}

/* Standard blockquote (not pullquote) */
.buu-art-content blockquote:not(.wp-block-pullquote blockquote) {
    border-left: 3px solid var(--meuc-teal);
    margin: 2em 0;
    padding: 4px 0 4px 24px;
    font-style: italic;
    color: var(--meuc-navy);
}

/* Diorama: breaks out of the prose column. The .buu-diorama-sticky
   auto-sizes and centres itself — just undo the content's side padding. */
.buu-art-content .buu-diorama-break {
    max-width: none;
    margin-left: -40px;
    margin-right: -40px;
}

@media (max-width: 768px) {
    .buu-art-content .buu-diorama-break {
        margin-left: -24px;
        margin-right: -24px;
    }
}

/* ---- Article end footer ----
   Mirrors mockup's .article-end: author + issue credit left, back-link right */
.buu-art-end {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 920px;
    margin: 56px auto 0;
    padding: 28px 40px 80px;
    border-top: 1px solid rgba(4, 31, 79, 0.10);
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(4, 31, 79, 0.45);
}

.buu-art-end-sep {
    margin: 0 8px;
    color: rgba(4, 31, 79, 0.2);
}

.buu-art-end-author {
    color: var(--meuc-navy);
    font-weight: 600;
}

.buu-art-end-back {
    color: var(--meuc-blue);
    text-decoration: none;
    font-weight: 600;
    flex-shrink: 0;
}

.buu-art-end-back:hover { text-decoration: underline; }

@media (max-width: 640px) {
    .buu-art-end { padding: 24px 24px 56px; }
}

/* ----------------------------------------------------------
   Diorama parallax ad
   ---------------------------------------------------------- */

.buu-diorama-break {
    margin: 36px 0;
}

/* Outer scroll-height container — sets how long the diorama pins */
.buu-diorama-sticky {
    position: relative;
    height: 240vh;
    display: flex;
    flex-direction: column;
}

@media (min-width: 700px) {
    .buu-diorama-sticky {
        /* Width so the full unit (label 33px + image + footer 33px) fits between
           the sticky top (130px) and the viewport bottom with 20px breathing room:
           130+33+33+20 = 216px */
        width: min(92vw, calc((100vh - 216px) / 1.414));
        margin: 0 auto;
    }
    /* Admin bar desktop (+32px): diorama top 162px → 162+33+33+20 = 248px */
    .admin-bar .buu-diorama-sticky {
        width: min(92vw, calc((100vh - 248px) / 1.414));
    }
}
/* Admin bar mobile (≤782px, +46px): diorama top 176px → 176+33+33+20 = 262px.
   Only applies at widths where the diorama width is constrained (700–782px). */
@media (min-width: 700px) and (max-width: 782px) {
    .admin-bar .buu-diorama-sticky {
        width: min(92vw, calc((100vh - 262px) / 1.414));
    }
}

/* Sticky frame — flex column: label, image area, footer in flow (nothing overlaps).
   No aspect-ratio here — height grows naturally to fit all three children.
   top = nav (68px) + strip (~40px) + gap (22px) = 130px.
   With admin bar desktop (+32px): strip moves to top:100px → bottom 140px → top 162px.
   With admin bar mobile (≤782px, +46px): strip at top:114px → bottom 154px → top 176px. */
.buu-diorama {
    position: sticky;
    top: 130px;
    width: 100%;
    display: flex;
    flex-direction: column;
    background: var(--meuc-navy);
    border-radius: 0;
    box-shadow: 0 20px 60px -16px rgba(4, 31, 79, 0.45);
}
.admin-bar .buu-diorama { top: 162px; }
@media screen and (max-width: 782px) {
    .admin-bar .buu-diorama { top: 176px; }
}

.buu-diorama-label,
.buu-diorama-footer {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-align: center;
    padding: 9px 0;
    color: rgba(255, 255, 255, 0.55);
    background: rgba(4, 31, 79, 0.88);
    flex-shrink: 0;
}

.buu-diorama-label {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.buu-diorama-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* Image area — A4 portrait ratio, full width of the frame */
.buu-diorama-inner {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.414;
    overflow: hidden;
    border-radius: 0;
}
.buu-diorama-inner img,
.buu-diorama-layer img {
    border-radius: 0;
}

.buu-diorama-layer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    will-change: transform;
    transition: transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.buu-diorama-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.buu-diorama-layer a {
    display: block;
    width: 100%;
    height: 100%;
}

.buu-diorama-layer--placeholder .buu-diorama-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(30, 91, 184, 0.15);
}

.buu-diorama-layer--placeholder .buu-diorama-placeholder p {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    margin: 0;
}


/* ============================================================
   BUU Editorial Issue Landing — paper layout
   Tokens mirror the BUU standalone publication design.
   ============================================================ */

:root {
    --buu-ink:       #041F4F;
    --buu-ink-soft:  #2a3d6b;
    --buu-ink-muted: rgba(4,31,79,0.45);
    --buu-paper:     #f7f5ef;
    --buu-paper-w:   #efeadc;
    --buu-rule:      rgba(4,31,79,0.14);
    --buu-accent:    #009EA0;   /* MEUC teal */
    --buu-accent2:   #1E5BB8;  /* MEUC blue */
    --buu-bg:        #EEF2F8;
}

/* Outer page background — matches .buu-art-outer */
.buu-editorial-outer {
    background: var(--meuc-bg);
    padding: 136px 2rem 80px;
}

.admin-bar .buu-editorial-outer { padding-top: 168px; }

@media (max-width: 640px) {
    .buu-editorial-outer { padding: 120px 1rem 64px; }
}
@media screen and (max-width: 782px) {
    .admin-bar .buu-editorial-outer { padding-top: 182px; }
}

/* Page card — matches .buu-art-page */
.buu-editorial-paper {
    background: #fff;
    border: 1px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    box-shadow: var(--meuc-shadow-sm);
    max-width: 1216px;
    margin: 0 auto;
    overflow: hidden;
}


/* ----------------------------------------------------------
   MASTHEAD
   ---------------------------------------------------------- */

.buu-editorial-masthead {
    margin-bottom: 0;
}

/* ── Navy header strip ───────────────────────────────────── */

.buu-editorial-masthead-navy {
    background: var(--meuc-navy);
    padding: 44px 40px 36px;
    border-radius: 6px 6px 0 0; /* match paper card top corners */
}

@media (max-width: 640px) {
    .buu-editorial-masthead-navy { padding: 32px 24px 28px; }
}

/* Top row: magazine name left, issue label right */
.buu-editorial-masthead-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 28px;
}

/* ── Magazine name lockup ─────────────────────────────────
   Replicates the print cover's Raleway heavy/light split.  */
.buu-editorial-mag-name {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: clamp(44px, 7.5vw, 96px);
    line-height: 1.0;
    color: #ffffff;
    letter-spacing: -0.02em;
    margin: 0;
}

.buu-editorial-mag-name-and {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 0.36em;
    color: rgba(255, 255, 255, 0.60);
    vertical-align: 0.24em;
    letter-spacing: 0.02em;
    margin: 0 0.28em;
}

/* ── Issue title — styled as top-right label ──────────────
   h1 remains semantically correct as the page title.       */
.buu-editorial-masthead-navy h1.buu-editorial-title,
.buu-editorial-masthead-navy .buu-editorial-title {
    font-family: 'Raleway', sans-serif !important;
    font-weight: 400 !important;
    font-size: clamp(12px, 1.4vw, 15px) !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.75) !important;
    line-height: 1.4 !important;
    text-align: right;
    margin: 0 !important;
    padding: 6px 0 0 !important;
    flex-shrink: 0;
}

/* Magenta rule above the issue label — mirrors the bottom-left hr */
.buu-editorial-masthead-navy h1.buu-editorial-title::before,
.buu-editorial-masthead-navy .buu-editorial-title::before {
    content: '';
    display: block;
    width: 72px;
    height: 4px;
    background: #D91F68;
    margin: 0 0 10px auto; /* right-aligned, small gap above label text */
}

/* ── Magenta brand rule ───────────────────────────────────  */
.buu-editorial-mag-rule {
    border: none;
    border-top: 4px solid #D91F68;
    margin: 0;
    width: 72px;
}

/* ── Meta row below the navy strip ───────────────────────
   Issue number · Season · Publisher line · Access info     */
.buu-editorial-masthead-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
    padding: 16px 40px 20px;
    border-bottom: 1px solid var(--buu-rule);
    margin-bottom: 48px;
}

@media (max-width: 640px) {
    .buu-editorial-masthead-meta { padding: 14px 24px 18px; }
}

.buu-editorial-masthead-meta > div {
    padding: 0 16px;
    border-right: 1px solid var(--buu-rule);
    line-height: 1.3;
}

.buu-editorial-masthead-meta > div:first-child { padding-left: 0; }
.buu-editorial-masthead-meta > div:last-child  { border-right: none; }

.buu-editorial-meta-num {
    font-weight: 500;
    color: var(--buu-ink);
}

.buu-editorial-meta-season {
    color: var(--buu-ink-soft);
}

.buu-editorial-meta-pub {
    color: var(--buu-ink-muted);
    text-transform: none;
    letter-spacing: 0.04em;
    font-size: 11px;
    margin-top: 4px;
}

.buu-editorial-meta-price {
    margin-top: 4px;
}

.buu-editorial-meta-free {
    color: var(--buu-accent);
}

@media (max-width: 720px) {
    .buu-editorial-title-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .buu-editorial-issue-meta {
        text-align: left;
    }
}


/* ----------------------------------------------------------
   HERO CARD (first article, full-width 2-col)
   ---------------------------------------------------------- */

.buu-editorial-hero-card {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    border: 1px solid var(--meuc-border);
    background: var(--meuc-bg);
    margin: 0 28px 56px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s;
    aspect-ratio: 7 / 3;
    overflow: hidden;
}

.buu-editorial-hero-card:hover {
    box-shadow: 0 6px 32px rgba(4,31,79,0.13);
}

.buu-editorial-hero-img {
    overflow: hidden;
    position: relative;
    background: #1a2740;
    min-height: 280px;
}

.buu-editorial-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    position: absolute;
    inset: 0;
}

.buu-editorial-hero-img-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, transparent 50%),
                linear-gradient(180deg, #243353 0%, #1a2740 65%, #14203a 100%);
    display: flex;
    align-items: flex-end;
    padding: 18px 20px;
}

.buu-editorial-ph-label {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.5);
}

.buu-editorial-hero-body {
    padding: 40px 44px 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
}

.buu-editorial-kicker {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 11px;
    color: var(--buu-accent);
    font-weight: 500;
    margin-bottom: 20px;
}

.buu-editorial-kicker-sep {
    color: var(--buu-rule);
    margin: 0 8px;
}

.buu-editorial-hero-headline {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: clamp(24px, 2.6vw, 40px);
    line-height: 1.04;
    letter-spacing: -0.015em;
    margin: 0 0 18px;
    color: var(--buu-ink);
    text-wrap: balance;
}

.buu-editorial-hero-dek {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-weight: 300;
    font-size: clamp(15px, 1.3vw, 19px);
    line-height: 1.45;
    color: var(--buu-ink-soft);
    margin: 0;
}

.buu-editorial-hero-foot {
    margin-top: 36px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 12px;
    letter-spacing: 0.06em;
    color: var(--buu-ink-muted);
}

.buu-editorial-byline {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-size: 14px;
    color: var(--buu-ink-soft);
}

.buu-editorial-byline-name {
    color: var(--buu-ink);
}

.buu-editorial-read-link {
    color: var(--buu-ink);
    border-bottom: 1px solid var(--buu-ink);
    padding-bottom: 1px;
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 12px;
    letter-spacing: 0.06em;
}

@media (max-width: 860px) {
    .buu-editorial-hero-card {
        grid-template-columns: 1fr;
        margin: 0 0 48px;   /* no side gutter on small screens */
        aspect-ratio: unset;
        overflow: visible;
    }
    .buu-editorial-hero-body {
        padding: 28px 24px;
    }
}

/* ----------------------------------------------------------
   HERO CAROUSEL
   ---------------------------------------------------------- */

.buu-editorial-carousel {
    margin: 0 28px 0;
    overflow: hidden;
}

@media (max-width: 860px) {
    .buu-editorial-carousel { margin: 0; }
}

.buu-editorial-carousel-track {
    display: flex;
    width: 100%;
    transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Slides sit flush inside the track — margins handled by the carousel wrapper */
.buu-editorial-carousel .buu-editorial-hero-card {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    margin: 0;
}

/* Dots */
.buu-editorial-carousel-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 18px 0 48px;
}

@media (max-width: 860px) {
    .buu-editorial-carousel-dots { padding-bottom: 40px; }
}

.buu-editorial-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: var(--meuc-border);
    cursor: pointer;
    padding: 0;
    transition: background 0.25s, transform 0.25s;
    flex-shrink: 0;
}

.buu-editorial-dot.is-active {
    background: #D91F68;
    transform: scale(1.35);
}

.buu-editorial-dot:focus-visible {
    outline: 2px solid #D91F68;
    outline-offset: 3px;
}


/* ----------------------------------------------------------
   SECTION HEAD ("In this issue")
   ---------------------------------------------------------- */

.buu-editorial-section-head {
    max-width: 1240px;
    margin: 0 auto;
    padding: 18px 28px 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    border-top: 1px solid var(--buu-ink);
    margin-bottom: 28px;
}

.buu-editorial-section-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: italic;
    font-size: clamp(20px, 2.2vw, 30px);
    margin: 0;
    color: var(--buu-ink);
}

.buu-editorial-section-count {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--buu-ink-muted);
}


/* ----------------------------------------------------------
   ARTICLE CARD GRID (2 col)
   ---------------------------------------------------------- */

.buu-editorial-card-grid {
    max-width: 1240px;
    margin: 0 auto 80px;
    padding: 0 28px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 56px 40px;
}

@media (max-width: 720px) {
    .buu-editorial-card-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
}

/* Card wrapper */
.buu-editorial-card {}

.buu-editorial-card-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.buu-editorial-card-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 0 3px #fff, 0 10px 28px rgba(4, 31, 79, 0.15);
}

/* Card image */
.buu-editorial-card-img {
    aspect-ratio: 16 / 11;
    overflow: hidden;
    position: relative;
    margin-bottom: 18px;
    background: #1a2740;
}

.buu-editorial-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.buu-editorial-card-link:hover .buu-editorial-card-img img {
    transform: scale(1.06);
}

.buu-editorial-card-img-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #243353, #14203a);
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 14px 16px;
}

.buu-editorial-ph-num {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-size: 14px;
    color: rgba(255,255,255,0.75);
}

/* Card metadata row */
.buu-editorial-card-meta {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
}

.buu-editorial-card-cat {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 10.5px;
    font-weight: 500;
    color: var(--buu-accent);
}

.buu-editorial-card-cat--partner {
    color: var(--buu-accent2);
}

.buu-editorial-card-rule {
    flex: 0 0 24px;
    height: 1px;
    background: var(--buu-rule);
}

.buu-editorial-card-time {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 11px;
    color: var(--buu-ink-muted);
}

.buu-editorial-partner-tag {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 4px 10px;
    border: 1px solid var(--buu-rule);
    color: var(--buu-ink-muted);
}

/* Card headline */
.buu-editorial-card-headline {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: clamp(20px, 1.9vw, 27px);
    line-height: 1.12;
    letter-spacing: -0.01em;
    margin: 0 0 10px;
    color: var(--buu-ink);
    text-wrap: balance;
    transition: text-decoration 0.1s;
}

.buu-editorial-card-link:hover .buu-editorial-card-headline {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* Card dek */
.buu-editorial-card-dek {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-weight: 300;
    color: var(--buu-ink-soft);
    font-size: 16px;
    line-height: 1.48;
    margin: 0 0 14px;
}

/* Card byline */
.buu-editorial-card-byline {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 12px;
    letter-spacing: 0.05em;
    color: var(--buu-ink-muted);
    margin-top: auto;
}

.buu-editorial-card-byline-name {
    color: var(--buu-ink);
}


/* ----------------------------------------------------------
   ASYMMETRIC ARTICLE GRID — "In this issue"
   Single cards: image fills the card, text overlays on a gradient strip.
   Feature cards (span 2): mini-hero layout, image left/right + body panel.
   Feature positions 0,3,8,15 → L,R,R,L pattern (verified via auto-placement).
   ---------------------------------------------------------- */

.buu-editorial-article-grid {
    max-width: 1240px;
    margin: 0 auto 80px;
    padding: 0 28px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: #fff;
}

/* ── Single card — plain white text panel (no image) ── */

.buu-editorial-acard {
    background: #fff;
    display: block;
    text-decoration: none;
    color: var(--buu-ink);
    min-height: 220px;
    transition: background 0.2s ease;
}

.buu-editorial-acard:hover {
    background: var(--meuc-bg);
}

.buu-editorial-acard-body {
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    box-sizing: border-box;
}

.buu-editorial-acard:hover .buu-editorial-acard-headline {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.buu-editorial-acard-kicker {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--buu-accent);
    margin-bottom: 5px;
    display: block;
}

.buu-editorial-acard-headline {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 1.2;
    margin: 0;
    color: var(--buu-ink);
    text-wrap: balance;
}

.buu-editorial-acard-dek {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.45;
    color: var(--buu-ink-soft);
    margin: 10px 0 0;
}

/* Partner tag */
.buu-editorial-acard-partner-tag {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    border: 1px solid var(--buu-rule);
    color: var(--buu-ink-muted);
    padding: 3px 8px;
    display: inline-block;
    margin-bottom: 7px;
}


/* ── Feature card — horizontal mini-hero ── */

.buu-editorial-acard--feature {
    grid-column: span 2;
    display: flex;
    flex-direction: row;
    /* 1px gap between image and body matches the grid gap;
       background shows through that gap as a grid line */
    gap: 1px;
    background: var(--meuc-border);
    color: var(--buu-ink);
    min-height: 220px;
}

.buu-editorial-acard--flip {
    flex-direction: row-reverse;
}

/* Image occupies exactly one grid column: calc(50% - 0.5px) */
.buu-editorial-acard--feature .buu-editorial-acard-img {
    aspect-ratio: unset;
    flex: 0 0 calc(50% - 0.5px);
    position: relative;
    background: #1a2740;
    overflow: hidden;
}

.buu-editorial-acard--feature .buu-editorial-acard-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #243353, #14203a);
}

.buu-editorial-acard--feature .buu-editorial-acard-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: opacity 0.2s;
}

.buu-editorial-acard--feature:hover .buu-editorial-acard-img img {
    transform: none;
}

/* Body occupies exactly one grid column: calc(50% - 0.5px) */
.buu-editorial-acard--feature .buu-editorial-acard-body {
    flex: 0 0 calc(50% - 0.5px);
    position: static;
    background: var(--meuc-bg);
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    box-sizing: border-box;
}

.buu-editorial-acard--feature .buu-editorial-acard-kicker {
    color: var(--buu-accent);
    margin-bottom: 7px;
}

.buu-editorial-acard--feature .buu-editorial-acard-headline {
    font-size: clamp(18px, 1.8vw, 24px);
    color: var(--buu-ink);
    margin-bottom: 2px;
}

/* Feature dek always visible */
.buu-editorial-acard--feature .buu-editorial-acard-dek {
    font-size: 14px;
    color: var(--buu-ink-soft);
    opacity: 1;
    transition: none;
    margin-top: 10px;
}

.buu-editorial-acard--feature .buu-editorial-acard-partner-tag {
    border-color: var(--buu-rule);
    color: var(--buu-ink-muted);
}


/* ── Responsive ── */

@media (max-width: 860px) {
    .buu-editorial-article-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-flow: dense; /* fills any gaps left by span-2 features mid-row */
        padding: 0;
    }
    .buu-editorial-acard--feature {
        grid-column: span 2;
    }
}

@media (max-width: 540px) {
    .buu-editorial-article-grid {
        grid-template-columns: 1fr;
    }
    .buu-editorial-acard--feature,
    .buu-editorial-acard--flip {
        grid-column: span 1;
        flex-direction: column;
    }
    .buu-editorial-acard--feature .buu-editorial-acard-img {
        flex: 0 0 auto;
        aspect-ratio: 16 / 9;
        position: relative;
    }
    .buu-editorial-acard--feature .buu-editorial-acard-body {
        padding: 18px 18px 20px;
        justify-content: flex-start;
    }
}


/* ----------------------------------------------------------
   ISSUE FOOTER / COLOPHON
   ---------------------------------------------------------- */

.buu-editorial-colophon {
    background: var(--buu-ink);
    border-top: 4px solid #D91F68;
    padding: 56px 48px 72px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 48px;
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,0.65);
}

.buu-editorial-colophon p {
    margin: 0 0 14px;
}

.buu-editorial-colophon strong {
    color: #fff;
    font-weight: 600;
}

/* Magazine brand mark — echoes the masthead at smaller scale */
.buu-editorial-colophon-brand {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: clamp(28px, 3.5vw, 44px);
    line-height: 1.0;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0 0 20px;
}

.buu-editorial-colophon-brand-and {
    font-weight: 400;
    font-size: 0.36em;
    color: rgba(255,255,255,0.5);
    vertical-align: 0.24em;
    letter-spacing: 0.02em;
    margin: 0 0.28em;
}

.buu-editorial-colophon-blurb {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(255,255,255,0.75);
    margin: 0;
}

.buu-editorial-colophon-label {
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 10px;
    font-weight: 600;
    color: var(--buu-accent);
    margin: 0 0 14px;
}

.buu-editorial-join-btn {
    display: inline-block;
    background: var(--buu-accent);
    color: #fff;
    font-family: 'IBM Plex Sans', 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 22px;
    margin-top: 8px;
    transition: background 0.15s;
}

.buu-editorial-join-btn:hover {
    background: #007d7f;
}

@media (max-width: 720px) {
    .buu-editorial-colophon {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 40px 28px 56px;
    }
}


/* ----------------------------------------------------------
   BUU editorial — section head + TOC list
   ---------------------------------------------------------- */

/* Section title — Poppins uppercase with magenta left-border rule,
   matching print interior section-head treatment */
.buu-editorial-section-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--buu-ink) !important;
    padding-left: 12px;
    border-left: 3px solid #D91F68;
    line-height: 1.2 !important;
}

/* TOC list — "In this issue" text contents, print-cover style */
.buu-editorial-toc {
    max-width: 1240px;
    margin: 0 auto 56px;
    padding: 28px 32px;
    border: 1px solid var(--meuc-border);
    border-left: 4px solid #D91F68;
    background: #d5e8ff; /* page ice-blue (#EDF4FF) darkened ~10% */
}

.buu-editorial-toc-label {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--buu-ink-muted);
    margin-bottom: 20px;
}

.buu-editorial-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 2;
    column-gap: 48px;
}

@media (max-width: 640px) {
    .buu-editorial-toc-list { columns: 1; }
    .buu-editorial-toc { padding: 20px; }
}

.buu-editorial-toc-item {
    break-inside: avoid;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(4,31,79,0.12);
}

.buu-editorial-toc-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.buu-editorial-toc-link {
    display: block;
    text-decoration: none;
    color: var(--buu-ink);
}

.buu-editorial-toc-link:hover .buu-editorial-toc-title {
    text-decoration: underline;
    text-decoration-thickness: 1px;
}

.buu-editorial-toc-item-inner {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.buu-editorial-toc-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.buu-editorial-toc-num {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 10px;
    color: var(--buu-ink-muted);
    flex-shrink: 0;
}

.buu-editorial-toc-kicker {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--buu-accent);
    flex-shrink: 0;
}

.buu-editorial-toc-title {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--buu-ink);
}

.buu-editorial-toc-excerpt {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-size: 13px;
    line-height: 1.5;
    color: var(--buu-ink-soft);
    display: block;
    margin-top: 2px;
}

/* ----------------------------------------------------------
   Nav: solid on BUU editorial issue pages
   The paper page starts immediately below the nav, no dark header.
   ---------------------------------------------------------- */
body.is-buu-issue .meuc-site-header,
body.is-buu-issue .meuc-site-header.is-scrolled {
    background: rgba(4,31,79,0.82) !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
/* -----------------------------------------------------------
     Robs amends
   --------------------------------------------------------- */
.buu-art-content h2 {
    color:#1E5BB8;
}

/* ----------------------------------------------------------
   BUU article search page  [buu_article_search]
   ---------------------------------------------------------- */

.buu-art-search-wrap {
    padding: 40px 0 60px;
}

/* Search controls sit at the same 28px inset as the article grid */
.buu-art-search-bar,
.buu-art-search-pills,
.buu-art-search-count,
.buu-art-search-no-results,
.buu-art-search-wrap .meuc-pagination {
    padding-left: 28px;
    padding-right: 28px;
}

/* Search bar — mirrors .meuc-res-search-bar on the publications search page */
.buu-art-search-bar {
    padding: 24px 28px 20px;
    border-bottom: 1px solid var(--meuc-border);
    margin-bottom: 24px;
}

.buu-art-search-form {
    display: flex;
    gap: 10px;
    align-items: center;
    max-width: 680px;
}

.buu-art-search-input {
    flex: 1;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    padding: 11px 16px;
    border: 1.5px solid var(--meuc-border);
    border-radius: 6px;
    background: #fff;
    color: var(--meuc-text);
    outline: none;
    transition: border-color 0.15s;
}

.buu-art-search-input:focus {
    border-color: var(--meuc-blue);
    box-shadow: 0 0 0 3px #1E5BB820;
}

.buu-art-search-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 20px;
    background: var(--meuc-navy);
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}

.buu-art-search-btn:hover {
    background: #0a2d6e;
}

/* Issue filter pills */
.buu-art-search-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}

.buu-art-search-pill {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 20px;
    border: 1.5px solid var(--meuc-border);
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--meuc-text-sec);
    text-decoration: none;
    transition: border-color 0.12s, color 0.12s, background 0.12s;
    white-space: nowrap;
}

.buu-art-search-pill:hover {
    border-color: #1E5BB8;
    color: #1E5BB8;
}

.buu-art-search-pill.is-active {
    background: #1E5BB8;
    border-color: #1E5BB8;
    color: #fff;
}

/* Result count */
.buu-art-search-count {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--meuc-text-sec);
    margin: 0 0 24px;
}

/* Issue attribution label on each card */
.buu-editorial-acard-issue {
    display: block;
    margin-top: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: #1E5BB8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Search results grid — inherits padding: 0 28px from .buu-editorial-article-grid.
   background: #fff matches the issue page (1px gaps are invisible, same as issue grid). */
.buu-art-search-grid {
    max-width: none;
    margin: 0;
    background: #fff;
}

/* Empty state */
.buu-art-search-no-results {
    padding: 48px 0;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: var(--meuc-text-sec);
}

.buu-art-search-no-results a {
    color: #1E5BB8;
}

/* BUU article search page */
.buu-search-page-main {
    background: var(--meuc-bg);
}

/* Remove the large top padding from buu-editorial-outer on the search page
   since the navy page header already provides visual separation */
.buu-search-page-outer.buu-editorial-outer {
    padding-top: 40px;
}

/* Light breadcrumb variant — white text on navy backgrounds */
.meuc-breadcrumb--light,
.meuc-breadcrumb--light a {
    color: rgba(255,255,255,0.6);
}

.meuc-breadcrumb--light a:hover {
    color: #fff;
}

/* Search icon link in the issues page header */
.buu-mag-issues-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.buu-mag-search-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--meuc-text-sec);
    text-decoration: none;
    padding: 6px 14px;
    border: 1.5px solid var(--meuc-border);
    border-radius: 20px;
    transition: border-color 0.12s, color 0.12s;
    white-space: nowrap;
    flex-shrink: 0;
}

.buu-mag-search-link:hover {
    border-color: #1E5BB8;
    color: #1E5BB8;
}

@media (max-width: 600px) {
    .buu-art-search-wrap {
        padding: 0 16px 60px;
    }
    .buu-art-search-btn span {
        display: none;
    }
}

/* ============================================================
   Contact Form 7 — minimal styling to fit the MEUC design system.
   CF7 forms are inserted via [contact-form-7] shortcodes into page
   content and otherwise render with raw browser defaults, breaking
   the page layout. Everything below is scoped under .wpcf7 so it
   cannot affect any other site UI. Mirrors .meuc-login-card inputs
   and the primary button tokens.
   ============================================================ */
.wpcf7 {
    max-width: 640px;
    margin: 24px 0;
    font-family: 'Poppins', sans-serif;
}

/* Neutralise CF7 auto-<p> spacing; rows are spaced via the label */
.wpcf7-form p { margin: 0; }

.wpcf7-form label {
    display: block;
    margin-bottom: 18px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--meuc-navy);
    line-height: 1.4;
}

.wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 6px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--meuc-border);
    border-radius: var(--meuc-radius);
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    color: var(--meuc-text);
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}

.wpcf7-form textarea {
    min-height: 120px;
    resize: vertical;
}

.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
    outline: none;
    border-color: var(--meuc-blue);
    box-shadow: 0 0 0 3px rgba(30, 91, 184, 0.12);
}

.wpcf7-form ::placeholder {
    color: var(--meuc-text-sec);
    opacity: 1;
}

/* Submit — matches primary site buttons */
.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"] {
    display: inline-block;
    margin-top: 4px;
    padding: var(--btn-pad-md);
    background: var(--meuc-blue);
    color: #fff;
    border: none;
    border-radius: var(--meuc-radius);
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    -webkit-appearance: none;
    appearance: none;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-form button[type="submit"]:hover {
    background: var(--meuc-blue-hover);
}

.wpcf7-form .wpcf7-spinner {
    margin: 0 0 0 12px;
    vertical-align: middle;
}

/* Field-level validation */
.wpcf7-form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--meuc-magenta);
}

.wpcf7-form .wpcf7-not-valid {
    border-color: var(--meuc-magenta) !important;
}

/* Response message below the form */
.wpcf7-response-output {
    margin: 18px 0 0 !important;
    padding: 12px 16px;
    border-radius: var(--meuc-radius);
    font-size: 0.9rem;
    line-height: 1.4;
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output {
    border: 1.5px solid var(--meuc-magenta);
    background: rgba(217, 31, 104, 0.06);
    color: var(--meuc-magenta);
}

.wpcf7-form.sent .wpcf7-response-output {
    border: 1.5px solid var(--meuc-green);
    background: rgba(104, 185, 45, 0.08);
    color: #3e7a12;
}

/* ============================================================
   REUSABLE CAROUSEL — [meuc_carousel] shortcode
   Shares the engine in assets/js/buu-carousel.js (.meuc-carousel).
   Full-width by default; constrain by wrapping in a container/column.
   ============================================================ */
.meuc-carousel {
    position: relative;
    width: 100%;
}

.meuc-carousel-viewport {
    overflow: hidden;
}

.meuc-carousel-track {
    display: flex;
    width: 100%;
    transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.meuc-carousel-slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
}

/* Keep image slides (e.g. scanned brochure/magazine pages) inside the slide
   box — the theme has no global img { max-width:100% }, so an unconstrained
   full-size image would overflow the viewport and break the track. */
.meuc-carousel-slide img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.meuc-carousel-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 28px 0 0;
}

.meuc-carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: var(--meuc-border);
    cursor: pointer;
    padding: 0;
    transition: background 0.25s, transform 0.25s;
    flex-shrink: 0;
}

.meuc-carousel-dot.is-active {
    background: var(--meuc-teal);
    transform: scale(1.35);
}

.meuc-carousel-dot:focus-visible {
    outline: 2px solid var(--meuc-teal);
    outline-offset: 3px;
}
/* v1.1.9 — Matching outline controls for supporter and resource navigation. */
.meuc-unified-nav {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: center;
}
.meuc-unified-nav.meuc-sr-nav { grid-template-columns: 1fr 1fr; }
.meuc-unified-nav .meuc-sp-nav-link--next,
.meuc-unified-nav .meuc-type-nav-link--next { justify-self: end; grid-column: -2 / -1; }
.meuc-unified-nav .meuc-sp-nav-link:not(.meuc-sp-nav-link--next),
.meuc-unified-nav .meuc-type-nav-link--previous { justify-self: start; grid-column: 1; }
.meuc-unified-nav .meuc-sp-back-link { justify-self: center; grid-column: 2; }
.meuc-unified-nav .meuc-sp-nav-link a,
.meuc-unified-nav .meuc-type-nav-link a {
    display: inline-block;
    padding: 8px 16px !important;
    border: 1.5px solid var(--meuc-navy) !important;
    border-radius: var(--meuc-radius-sm);
    font-family: 'Poppins', sans-serif;
    font-size: 13px !important;
    font-weight: 600;
    color: var(--meuc-navy) !important;
    background: transparent;
    line-height: 1.5;
    text-decoration: none !important;
    transition: background .15s, color .15s;
}
.meuc-unified-nav .meuc-sp-nav-link a:hover,
.meuc-unified-nav .meuc-type-nav-link a:hover {
    background: var(--meuc-navy) !important;
    border-color: var(--meuc-navy) !important;
    color: #fff !important;
}
@media (max-width: 640px) {
    .meuc-unified-nav { gap: 10px; }
    .meuc-unified-nav.meuc-sp-nav { grid-template-columns: 1fr 1fr; }
    .meuc-unified-nav.meuc-sp-nav .meuc-sp-back-link { grid-column: 1 / -1; grid-row: 1; }
    .meuc-unified-nav.meuc-sp-nav .meuc-sp-nav-link { grid-row: 2; }
    .meuc-unified-nav .meuc-sp-nav-link a, .meuc-unified-nav .meuc-type-nav-link a { font-size: 12px !important; padding: 8px 10px !important; }
}
