/**
 * SETA Area 67 — Component styles  ·  "Light" direction (Variation C)
 *
 * Styles the .seta67-* HTML emitted by the seta67-core shortcodes, plus a few
 * presentational helpers used by seeded pages. Tokens ONLY — never raw hex.
 * Source of truth for values: config/design/tokens.php → tokens.css.
 *
 * Look: white & airy, generous whitespace. Headings are Fraunces (serif) at a
 * light weight; body/UI is Inter. Amber is the single primary action; navy-
 * outline is the calm secondary. Cards are hairline with an amber-tinted hover.
 */

/* ── Base type (Inter body; Fraunces serif headings) ───────────────────────── */
body,
.elementor-widget-text-editor,
.elementor-widget-shortcode {
    font-family: var(--seta-font-sans);
    color: var(--seta-color-text);
}

/* Serif, light-weight headings everywhere (front end + Elementor heading widget).
   Elementor's Kit also sets these globals; this guarantees the airy look even if
   the Kit CSS cache is stale. */
h1, h2, h3, h4,
.elementor-heading-title,
.seta67-hero h1,
.seta67-page-hero h1 {
    font-family: var(--seta-font-serif);
    font-weight: var(--seta-font-weight-regular);
    color: var(--seta-color-primary);
    letter-spacing: -0.015em;
    line-height: 1.1;
}

.seta67-section { padding: var(--seta-space-9) var(--seta-space-6); }
.seta67-section--soft { background: var(--seta-color-soft); }
.seta67-wrap { max-width: var(--seta-container); margin-inline: auto; padding-inline: var(--seta-space-5); }
.seta67-prose { max-width: 760px; margin-inline: auto; }
.seta67-section > .seta67-wrap > h2 {
    font-size: var(--seta-fs-h2);
    margin: 0 0 var(--seta-space-6);
}

/* ── Hero (home) — left-aligned, airy, italic accent ───────────────────────── */
/* Content sits inside .seta67-wrap so its left edge matches the header brand and
   every other section (the wrap supplies max-width, centering, and padding). */
.seta67-hero {
    text-align: left;
    padding-block: var(--seta-space-9);
    background: var(--seta-color-bg);
}
/* Amber eyebrow — matches the mockup: small, bold, amber, with a short amber rule.
   No max-width, so it lays out on its own line(s) cleanly. Scoped under
   .seta67-hero so it out-specifies the `.seta67-hero p { color: muted }` rule. */
.seta67-hero .seta67-hero__eyebrow {
    display: inline-flex; align-items: center; gap: var(--seta-space-3);
    max-width: none; /* reset the 52ch cap inherited from `.seta67-hero p` so it doesn't wrap */
    font-size: var(--seta-fs-xs); text-transform: uppercase; letter-spacing: .14em;
    color: var(--seta-color-accent-dark); font-weight: var(--seta-font-weight-bold);
    margin-bottom: var(--seta-space-4);
}
.seta67-hero__eyebrow::before {
    content: ""; flex: none; width: 28px; height: 2px; background: var(--seta-color-accent);
}
/* Hero headline — mockup spec exactly: Fraunces, weight 400, no opsz/variation
   pinning. The browser's default optical sizing on the variable font gives the
   thin, high-contrast cut with the tighter spacing seen in the comp. (An earlier
   attempt pinned opsz/wght via font-variation-settings, which actually rendered
   heavier and looser — removed.) */
.seta67-hero h1 {
    font-size: clamp(2.6rem, 6vw, 4.8rem);
    font-weight: var(--seta-font-weight-regular);
    line-height: 1.04;
    letter-spacing: -0.015em;
    margin: 0 0 var(--seta-space-5);
    max-width: 18ch;
}
.seta67-hero h1 em { font-style: italic; color: var(--seta-color-accent-dark); }
.seta67-hero p {
    font-size: var(--seta-fs-h4); color: var(--seta-color-muted);
    max-width: 52ch; margin: 0 0 var(--seta-space-6);
    font-family: var(--seta-font-sans);
}
.seta67-hero__cta { display: flex; gap: var(--seta-space-3); flex-wrap: wrap; }

/* ── Stat band (18 districts / 13 committees / 500+ / 75 yrs) ───────────────── */
.seta67-statband { border-top: 1px solid var(--seta-color-line); border-bottom: 1px solid var(--seta-color-line); background: var(--seta-color-bg); }
.seta67-statband__inner {
    max-width: var(--seta-container); margin-inline: auto;
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: var(--seta-space-6); padding: var(--seta-space-7) var(--seta-space-5);
}
.seta67-stat__n {
    font-family: var(--seta-font-serif); font-weight: var(--seta-font-weight-regular);
    font-size: var(--seta-fs-h1); color: var(--seta-color-primary); line-height: 1;
}
.seta67-stat__n sup { color: var(--seta-color-accent-dark); font-size: .55em; }
.seta67-stat__l { font-size: var(--seta-fs-sm); color: var(--seta-color-muted); margin-top: var(--seta-space-2); }
@media (max-width: 760px) {
    .seta67-statband__inner { grid-template-columns: 1fr 1fr; gap: var(--seta-space-5) var(--seta-space-4); }
}

/* ── Interior page hero ────────────────────────────────────────────────────── */
/* Content is wrapped in .seta67-wrap by seta67_interior_page(); use block-only
   padding here so the left edge matches the header and page body (no double indent). */
.seta67-page-hero {
    padding-block: var(--seta-space-8) var(--seta-space-7);
    border-bottom: 1px solid var(--seta-color-line);
    background: var(--seta-color-bg);
}
.seta67-page-hero h1 { font-size: var(--seta-fs-h1); margin: 0 0 var(--seta-space-3); }
.seta67-page-hero p { color: var(--seta-color-muted); font-size: var(--seta-fs-h4); max-width: 60ch; margin: 0; font-family: var(--seta-font-sans); }
.seta67-downloads { margin: var(--seta-space-4) 0; }

/* ── Buttons ───────────────────────────────────────────────────────────────── */
.seta67-btn,
.seta67-btn-secondary {
    display: inline-block;
    padding: var(--seta-space-3) var(--seta-space-5);
    border-radius: var(--seta-radius-sm);
    font-family: var(--seta-font-sans);
    font-weight: var(--seta-font-weight-bold);
    font-size: var(--seta-fs-base);
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
/* Primary: amber on navy text (warm, confident, single use per view). */
.seta67-btn {
    background: var(--seta-color-accent);
    color: var(--seta-color-primary-dark);
    border: 2px solid var(--seta-color-accent);
}
.seta67-btn:hover { background: var(--seta-color-accent-light); border-color: var(--seta-color-accent-light); }
/* Secondary: calm navy outline (the "Light" direction favors this over a fill). */
.seta67-btn-secondary {
    background: transparent;
    color: var(--seta-color-primary);
    border: 2px solid var(--seta-color-primary);
}
.seta67-btn-secondary:hover { background: var(--seta-color-primary); color: #fff; }

/* ── Roster table ──────────────────────────────────────────────────────────── */
.seta67-roster-table,
.seta67-sessions-table,
.seta67-past-assemblies-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--seta-fs-base);
}
.seta67-roster-table th,
.seta67-sessions-table th,
.seta67-past-assemblies-table th {
    text-align: left;
    font-weight: var(--seta-font-weight-semibold);
    color: var(--seta-color-primary);
    border-bottom: 2px solid var(--seta-color-line);
    padding: var(--seta-space-3);
}
.seta67-roster-table td,
.seta67-sessions-table td,
.seta67-past-assemblies-table td {
    padding: var(--seta-space-3);
    border-bottom: 1px solid var(--seta-color-line);
}

/* Status badges */
.seta67-status-badge {
    display: inline-block;
    font-size: var(--seta-fs-xs);
    font-weight: var(--seta-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: var(--seta-space-1) var(--seta-space-3);
    border-radius: 20px;
}
.seta67-status-open {
    background: color-mix(in srgb, var(--seta-color-ok) 14%, white);
    color: var(--seta-color-ok);
}
.seta67-status-filled {
    background: var(--seta-color-soft);
    color: var(--seta-color-muted);
    border: 1px solid var(--seta-color-line);
}

/* ── Open positions (moved from style.css; now tokenized) ──────────────────── */
.seta67-open-positions ul { list-style: none; padding: 0; margin: 0; }
.seta67-open-positions li {
    padding: var(--seta-space-3) 0;
    border-bottom: 1px solid var(--seta-color-line);
}
.seta67-open-positions h3 { font-size: var(--seta-fs-h3); margin: 0 0 var(--seta-space-4); }
.seta67-position-open strong { color: var(--seta-color-primary); }
.seta67-no-positions,
.seta67-no-content {
    font-style: italic;
    color: var(--seta-color-muted);
    padding: var(--seta-space-5);
    background: var(--seta-color-soft);
    border-radius: var(--seta-radius-md);
}

/* Interior-page helpers: intro lede + a row of buttons */
.seta67-lede { font-size: var(--seta-fs-h4); color: var(--seta-color-muted); max-width: 60ch; margin: 0 0 var(--seta-space-6); }
.seta67-btn-row { display: flex; flex-wrap: wrap; gap: var(--seta-space-3); margin-top: var(--seta-space-6); }
/* When the button row is the only body content (e.g. a committee with no tagged
   content yet), don't add the extra top margin on top of the section padding. */
.seta67-btn-row:first-child { margin-top: 0; }

/* ── Event cards / lists ───────────────────────────────────────────────────── */
.seta67-events-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--seta-space-4); }
.seta67-event-card {
    border: 1px solid var(--seta-color-line);
    border-radius: var(--seta-radius-lg);
    padding: var(--seta-space-5);
    background: var(--seta-color-bg);
}
.seta67-event-date { font-weight: var(--seta-font-weight-semibold); color: var(--seta-color-text); }
.seta67-event-venue,
.seta67-event-meta { font-size: var(--seta-fs-sm); color: var(--seta-color-muted); }
.seta67-event-sidebar {
    background: var(--seta-color-soft);
    border-radius: var(--seta-radius-lg);
    padding: var(--seta-space-5);
}
.seta67-event-map-link { font-weight: var(--seta-font-weight-semibold); color: var(--seta-color-accent-dark); }
.seta67-event-map-link:hover { color: var(--seta-color-primary); }

/* ── Events gallery (grid view — archive-event.php) ────────────────────────── */
.seta67-events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--seta-space-6);
}
.seta67-event-tile {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--seta-color-line);
    border-radius: var(--seta-radius-lg);
    background: var(--seta-color-bg);
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.seta67-event-tile:hover { border-color: var(--seta-color-accent); box-shadow: var(--seta-shadow-lift); transform: translateY(-3px); }
.seta67-event-tile__thumb-link { display: block; line-height: 0; }
.seta67-event-tile__thumb {
    display: block;
    width: 100%;
    aspect-ratio: 17 / 22;            /* portrait, matches typical flyer proportions */
    object-fit: cover;
    background: var(--seta-color-soft);
}
.seta67-event-tile__thumb--placeholder { aspect-ratio: 17 / 22; }
.seta67-event-tile__body {
    display: flex;
    flex-direction: column;
    gap: var(--seta-space-2);
    padding: var(--seta-space-5);
}
.seta67-event-tile__title { font-size: var(--seta-fs-h4); margin: 0; }
.seta67-event-tile__title a { color: var(--seta-color-primary); text-decoration: none; }
.seta67-event-tile__title a:hover { color: var(--seta-color-accent-dark); }
.seta67-event-tile__date { font-weight: var(--seta-font-weight-semibold); color: var(--seta-color-text); margin: 0; }
.seta67-event-tile__venue { font-size: var(--seta-fs-sm); color: var(--seta-color-text); margin: 0; }
.seta67-event-tile__addr { font-size: var(--seta-fs-sm); color: var(--seta-color-muted); margin: 0; }
.seta67-event-tile__actions { display: flex; flex-wrap: wrap; gap: var(--seta-space-4); margin: var(--seta-space-3) 0 0; }
.seta67-event-tile__action { font-weight: var(--seta-font-weight-semibold); color: var(--seta-color-accent-dark); text-decoration: none; }
.seta67-event-tile__action:hover { color: var(--seta-color-primary); text-decoration: underline; }
.seta67-event-tile__action--reg { color: var(--seta-color-primary); }

/* ── Assembly ──────────────────────────────────────────────────────────────── */
.seta67-assembly-meta,
.seta67-event-meta { margin-bottom: var(--seta-space-4); }
.seta67-assembly-sidebar,
.seta67-upcoming-assembly {
    background: var(--seta-color-soft);
    border: 1px solid var(--seta-color-line);
    border-radius: var(--seta-radius-lg);
    padding: var(--seta-space-5);
}
.seta67-upcoming-assembly h3 { color: var(--seta-color-primary); margin-top: 0; }
.seta67-related-minutes ul { list-style: none; padding: 0; }
.seta67-related-minutes li { padding: var(--seta-space-2) 0; border-bottom: 1px solid var(--seta-color-line); }

/* ── District meta blocks ──────────────────────────────────────────────────── */
.seta67-district-welcome_blurb { font-size: var(--seta-fs-h4); color: var(--seta-color-muted); }
.seta67-district-map img { border-radius: var(--seta-radius-lg); }

/* ── Post lists + PDF links ────────────────────────────────────────────────── */
[class^="seta67-"][class$="-list"] ul,
.seta67-post-list { list-style: none; padding: 0; margin: 0; }
[class^="seta67-"][class$="-list"] li { padding: var(--seta-space-2) 0; border-bottom: 1px solid var(--seta-color-line); }
.seta67-pdf-link {
    color: var(--seta-color-primary);
    font-weight: var(--seta-font-weight-medium);
    text-decoration: none;
}
.seta67-pdf-link:hover { text-decoration: underline; }
.seta67-pdf-link::before { content: "📄 "; }

/* ── Meeting finder (TSML embed) ───────────────────────────────────────────── */
.seta67-meeting-finder {
    border: 1px solid var(--seta-color-line);
    border-radius: var(--seta-radius-xl);
    overflow: hidden;
    min-height: 320px;
    background: var(--seta-color-bg);
}
.seta67-meeting-finder--compact { min-height: 0; }
.seta67-meeting-finder__fallback {
    padding: var(--seta-space-6);
    text-align: center;
}

/* ── Language toggle ───────────────────────────────────────────────────────── */
.seta67-language-toggle { display: inline-flex; gap: var(--seta-space-2); align-items: center; font-size: var(--seta-fs-sm); }
.seta67-language-toggle a { color: var(--seta-color-muted); text-decoration: none; font-weight: var(--seta-font-weight-medium); }
.seta67-language-toggle a.is-active { color: var(--seta-color-primary); }
.seta67-language-toggle span { color: var(--seta-color-line); }

/* ── Page helpers: persona doorways, link grids, preamble ──────────────────── */
.seta67-doorways,
.seta67-linkgrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--seta-space-5);
}
.seta67-doorway-card,
.seta67-linkgrid a {
    display: block;
    border: 1px solid var(--seta-color-line);
    border-radius: var(--seta-radius-lg);
    padding: var(--seta-space-6);
    background: var(--seta-color-bg);
    text-decoration: none;
    color: var(--seta-color-text);
    transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.seta67-doorway-card:hover,
.seta67-linkgrid a:hover {
    box-shadow: var(--seta-shadow-lift);
    border-color: var(--seta-color-accent);
    transform: translateY(-3px);
}
.seta67-doorway-card h3,
.seta67-linkgrid a strong {
    font-family: var(--seta-font-serif);
    font-weight: var(--seta-font-weight-medium);
    font-size: var(--seta-fs-h4);
    color: var(--seta-color-primary);
    display: block;
    margin-bottom: var(--seta-space-2);
}
.seta67-doorway-card p,
.seta67-linkgrid a span { color: var(--seta-color-muted); }

/* Preamble — airy, centered, serif (the fellowship statement reads as a quote). */
.seta67-preamble {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--seta-color-line);
    border-bottom: 1px solid var(--seta-color-line);
    border-radius: 0;
    padding: var(--seta-space-8) var(--seta-space-6);
    font-family: var(--seta-font-serif);
    font-weight: var(--seta-font-weight-regular);
    font-size: var(--seta-fs-h3);
    line-height: 1.4;
    text-align: center;
    color: var(--seta-color-primary);
}

/* ──────────────────────────────────────────────────────────────────────────
   HOME PAGE — "Light" (Variation C) sections
   Hero + stat band are above; these are the cards / split / newsletter CTA.
   ────────────────────────────────────────────────────────────────────────── */

/* Shared eyebrow (no leading dash; the hero eyebrow has its own dashed variant). */
.seta67-eyebrow {
    display: inline-block;
    font-size: var(--seta-fs-sm); text-transform: uppercase; letter-spacing: .14em;
    color: var(--seta-color-accent-dark); font-weight: var(--seta-font-weight-semibold);
    margin-bottom: var(--seta-space-3);
}

/* Section head: left h2 + right intro line (the "Three ways to connect" row). */
.seta67-sectionhead {
    display: flex; justify-content: space-between; align-items: flex-end;
    gap: var(--seta-space-6); margin-bottom: var(--seta-space-7); flex-wrap: wrap;
}
.seta67-sectionhead h2 { font-size: var(--seta-fs-h2); max-width: 18ch; margin: 0; }
.seta67-sectionhead p { color: var(--seta-color-muted); max-width: 34ch; margin: 0; }

/* Feature cards (circle-triangle icon, serif title, arrow link). */
.seta67-featcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--seta-space-5); }
.seta67-featcard {
    display: flex; flex-direction: column;
    border: 1px solid var(--seta-color-line); border-radius: var(--seta-radius-lg);
    padding: var(--seta-space-6); background: var(--seta-color-bg);
    text-decoration: none; color: var(--seta-color-text);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.seta67-featcard:hover { border-color: var(--seta-color-accent); box-shadow: var(--seta-shadow-lift); transform: translateY(-3px); }
.seta67-featcard__ic {
    width: 48px; height: 48px; flex: none; border-radius: 50%;
    border: 2px solid var(--seta-color-accent); color: var(--seta-color-accent-dark);
    display: flex; align-items: center; justify-content: center; margin-bottom: var(--seta-space-5);
}
.seta67-featcard__ic svg { width: 20px; height: 20px; }
.seta67-featcard h3 {
    font-family: var(--seta-font-serif); font-weight: var(--seta-font-weight-medium);
    font-size: var(--seta-fs-h4); color: var(--seta-color-primary); margin: 0 0 var(--seta-space-2);
}
.seta67-featcard p { color: var(--seta-color-muted); margin: 0 0 var(--seta-space-5); }
.seta67-featcard__arrow {
    margin-top: auto; color: var(--seta-color-accent-dark);
    font-weight: var(--seta-font-weight-bold); font-size: var(--seta-fs-sm);
}
.seta67-featcard:hover .seta67-featcard__arrow { color: var(--seta-color-accent); }

/* Split: branded image panel + structure checklist. */
.seta67-split__inner {
    display: grid; grid-template-columns: .9fr 1.1fr; gap: var(--seta-space-8);
    align-items: center; max-width: var(--seta-container); margin-inline: auto;
}
.seta67-split__art {
    aspect-ratio: 1 / 1; border-radius: var(--seta-radius-lg); position: relative; overflow: hidden;
    background: linear-gradient(135deg, var(--seta-color-primary), var(--seta-color-primary-dark));
}
.seta67-split__art::after {
    content: ""; position: absolute; inset: 0;
    background:
        radial-gradient(circle at 30% 28%, color-mix(in srgb, var(--seta-color-accent) 30%, transparent), transparent 58%),
        radial-gradient(circle at 78% 74%, color-mix(in srgb, var(--seta-color-primary) 60%, transparent), transparent 52%);
}
.seta67-split h2 { font-size: var(--seta-fs-h2); margin: 0 0 var(--seta-space-4); }
.seta67-split p { color: var(--seta-color-muted); margin: 0 0 var(--seta-space-4); }
.seta67-checklist { list-style: none; padding: 0; margin: var(--seta-space-5) 0; display: grid; gap: var(--seta-space-3); }
.seta67-checklist li { display: flex; gap: var(--seta-space-3); align-items: flex-start; color: var(--seta-color-muted); }
.seta67-checklist li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--seta-color-accent); margin-top: .55rem; }

/* Centered newsletter CTA. */
.seta67-cta-center { text-align: center; }
.seta67-cta-center h2 { font-size: var(--seta-fs-h2); max-width: 22ch; margin: 0 auto var(--seta-space-5); }

@media (max-width: 860px) {
    .seta67-featcards { grid-template-columns: 1fr; }
    .seta67-split__inner { grid-template-columns: 1fr; gap: var(--seta-space-6); }
    .seta67-split__art { aspect-ratio: 16 / 10; }
}

/* ── Brand mark (circle-triangle) ──────────────────────────────────────────── */
.seta67-brand { display: inline-flex; align-items: center; gap: var(--seta-space-3); text-decoration: none; color: var(--seta-color-primary); }
.seta67-brand__mark { width: 36px; height: 36px; flex: 0 0 auto; }
.seta67-brand__name { font-weight: var(--seta-font-weight-semibold); color: var(--seta-color-primary); font-size: var(--seta-fs-h4); line-height: 1; }

/* ── Full-bleed header/footer ──────────────────────────────────────────────────
   The header/footer Theme Builder sections render inside Elementor's BOXED
   container (capped at the kit content width, ~1140px, centered) — which
   letterboxes our edge-to-edge bands. Remove that cap + all inner padding so the
   header/footer backgrounds span the full viewport; the inner .seta67-wrap then
   re-centers content to the shared container width (matching page content).

   NOTE: the `.elementor-section-boxed` qualifier is intentional — it lifts these
   selectors to specificity (0,4,0) so they beat Elementor's own boxed-container
   rule regardless of stylesheet load order. */
.elementor-location-header .elementor-section.elementor-section-boxed > .elementor-container,
.elementor-location-footer .elementor-section.elementor-section-boxed > .elementor-container { max-width: 100%; width: 100%; }
.elementor-location-header .elementor-section,
.elementor-location-footer .elementor-section,
.elementor-location-header .elementor-column,
.elementor-location-footer .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-footer .elementor-widget-wrap { padding: 0; }
.elementor-location-header .elementor-widget-shortcode,
.elementor-location-footer .elementor-widget-shortcode { margin: 0; }

/* ── Global Header ─────────────────────────────────────────────────────────── */
/* The slim top utility strip was removed (language is defaulted by browser
   Accept-Language on first visit and switched from the footer toggle). */
.seta67-header { font-family: var(--seta-font-sans); border-bottom: 1px solid var(--seta-color-line); background: var(--seta-color-bg); }
.seta67-header__bar-inner { display: flex; align-items: center; gap: var(--seta-space-5); padding: var(--seta-space-4) var(--seta-space-5); }
.seta67-nav { margin-left: auto; display: flex; align-items: center; gap: var(--seta-space-5); }
.seta67-menu { list-style: none; display: flex; gap: var(--seta-space-5); margin: 0; padding: 0; position: relative; }
.seta67-menu li { position: relative; }
.seta67-menu a { text-decoration: none; color: var(--seta-color-text); font-weight: var(--seta-font-weight-medium); font-size: var(--seta-fs-base); padding: var(--seta-space-2) 0; display: block; }
.seta67-menu > li > a:hover { color: var(--seta-color-primary); }
.seta67-menu .current-menu-item > a { color: var(--seta-color-primary); }
/* Dropdowns */
.seta67-menu .sub-menu {
    list-style: none; margin: 0; padding: var(--seta-space-2);
    position: absolute; top: 100%; left: 0; min-width: 220px;
    background: var(--seta-color-bg); border: 1px solid var(--seta-color-line);
    border-radius: var(--seta-radius-md); box-shadow: var(--seta-shadow-card);
    opacity: 0; visibility: hidden; transform: translateY(4px); transition: .15s ease; z-index: 50;
}
.seta67-menu li:hover > .sub-menu,
.seta67-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.seta67-menu .sub-menu a { padding: var(--seta-space-2) var(--seta-space-3); border-radius: var(--seta-radius-sm); }
.seta67-menu .sub-menu a:hover { background: var(--seta-color-soft); color: var(--seta-color-primary); }
.seta67-nav__cta { white-space: nowrap; }

/* Mobile toggle (CSS-only disclosure) */
.seta67-navtoggle, .seta67-navtoggle-btn { display: none; }
.seta67-navtoggle-btn { cursor: pointer; width: 40px; height: 40px; border: 1px solid var(--seta-color-line); border-radius: var(--seta-radius-sm); margin-left: auto; position: relative; }
.seta67-navtoggle-btn span, .seta67-navtoggle-btn span::before, .seta67-navtoggle-btn span::after {
    content: ""; position: absolute; left: 9px; width: 20px; height: 2px; background: var(--seta-color-primary); transition: .2s;
}
.seta67-navtoggle-btn span { top: 19px; }
.seta67-navtoggle-btn span::before { top: -6px; } .seta67-navtoggle-btn span::after { top: 6px; }

@media (max-width: 900px) {
    .seta67-navtoggle-btn { display: block; }
    .seta67-nav {
        position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch;
        background: var(--seta-color-bg); border-bottom: 1px solid var(--seta-color-line);
        padding: var(--seta-space-4); gap: var(--seta-space-3);
        max-height: 0; overflow: hidden; padding-block: 0; transition: max-height .2s ease, padding .2s ease;
    }
    .seta67-header__bar { position: relative; }
    .seta67-navtoggle:checked ~ .seta67-nav { max-height: 80vh; overflow: auto; padding-block: var(--seta-space-4); }
    .seta67-menu { flex-direction: column; gap: var(--seta-space-2); }
    .seta67-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; padding-left: var(--seta-space-4); }
}

/* ── Global Footer ─────────────────────────────────────────────────────────── */
.seta67-footer { font-family: var(--seta-font-sans); background: var(--seta-color-primary-dark); color: rgba(255,255,255,.85); margin-top: var(--seta-space-9); }
.seta67-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: var(--seta-space-6); padding: var(--seta-space-8) var(--seta-space-5); }
.seta67-footer .seta67-brand, .seta67-footer .seta67-brand__name { color: #fff; }
.seta67-footer__tag { font-size: var(--seta-fs-sm); opacity: .8; margin-top: var(--seta-space-3); }
.seta67-footer__address { font-style: normal; font-size: var(--seta-fs-sm); opacity: .75; margin-top: var(--seta-space-3); }
.seta67-footer__hotline { font-size: var(--seta-fs-sm); margin-top: var(--seta-space-3); }
.seta67-footer__col h4 { color: #fff; font-size: var(--seta-fs-sm); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 var(--seta-space-3); }
.seta67-footer__col ul { list-style: none; margin: 0; padding: 0; }
.seta67-footer__col li { margin-bottom: var(--seta-space-2); }
.seta67-footer__col a { color: rgba(255,255,255,.8); text-decoration: none; font-size: var(--seta-fs-sm); }
.seta67-footer__col a:hover { color: #fff; }
.seta67-footer__strip { border-top: 1px solid rgba(255,255,255,.12); }
.seta67-footer__strip-inner { display: flex; align-items: center; gap: var(--seta-space-4); padding: var(--seta-space-4) var(--seta-space-5); flex-wrap: wrap; }
.seta67-footer__legal { font-size: var(--seta-fs-xs); opacity: .6; }
.seta67-footer__strip .seta67-language-toggle a { color: rgba(255,255,255,.7); }
.seta67-footer__strip .seta67-language-toggle a.is-active { color: #fff; }

@media (max-width: 900px) {
    .seta67-footer__grid { grid-template-columns: 1fr 1fr; }
}

/* ──────────────────────────────────────────────────────────────────────────
   District archive template (taxonomy-district.php) — overview-first layout
   ────────────────────────────────────────────────────────────────────────── */

/* Head: breadcrumb + district name */
.seta67-district-head {
    padding-block: var(--seta-space-7) var(--seta-space-5);
    border-bottom: 1px solid var(--seta-color-line);
}
.seta67-breadcrumb { font-size: var(--seta-fs-sm); color: var(--seta-color-muted); display: flex; gap: var(--seta-space-2); align-items: center; margin-bottom: var(--seta-space-3); }
.seta67-breadcrumb a { color: var(--seta-color-accent-dark); font-weight: var(--seta-font-weight-semibold); }
.seta67-breadcrumb a:hover { color: var(--seta-color-primary); }
.seta67-breadcrumb__current { color: var(--seta-color-muted); }
.seta67-district-head h1 { font-size: clamp(2.2rem, 5vw, 3.25rem); color: var(--seta-color-primary); margin: 0; }

/* Overview: main column (meeting + leadership) + latest rail */
.seta67-district-overview { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--seta-space-7); align-items: start; }
.seta67-district-overview__main { display: grid; gap: var(--seta-space-5); }
@media (max-width: 860px) { .seta67-district-overview { grid-template-columns: 1fr; } }

/* Cards */
.seta67-card {
    border: 1px solid var(--seta-color-line); border-radius: var(--seta-radius-lg);
    padding: var(--seta-space-6); background: var(--seta-color-bg);
}
.seta67-card h2 { font-size: var(--seta-fs-h3); margin: 0 0 var(--seta-space-4); }
.seta67-card--meeting { border-left: 4px solid var(--seta-color-accent); }
.seta67-card p { margin: 0 0 var(--seta-space-2); }

/* Leadership: DCM + Alt-DCM cards */
.seta67-leaders { display: grid; grid-template-columns: 1fr 1fr; gap: var(--seta-space-4); }
@media (max-width: 520px) { .seta67-leaders { grid-template-columns: 1fr; } }
.seta67-leader { padding: var(--seta-space-4); background: var(--seta-color-soft); border-radius: var(--seta-radius-md); }
.seta67-leader__role { font-size: var(--seta-fs-xs); text-transform: uppercase; letter-spacing: .08em; font-weight: var(--seta-font-weight-bold); color: var(--seta-color-accent-dark); margin: 0 0 var(--seta-space-1); }
.seta67-leader__name { font-family: var(--seta-font-serif); font-size: var(--seta-fs-h4); color: var(--seta-color-primary); margin: 0 0 var(--seta-space-1); }
.seta67-leader__email { font-size: var(--seta-fs-sm); color: var(--seta-color-muted); word-break: break-word; }
.seta67-leader__email:hover { color: var(--seta-color-primary); }

/* Latest rail */
.seta67-district-latest { display: grid; gap: var(--seta-space-5); align-content: start; }
.seta67-latest-block {
    border: 1px solid var(--seta-color-line); border-radius: var(--seta-radius-lg);
    padding: var(--seta-space-5); background: var(--seta-color-bg);
}
.seta67-latest-block h3 { font-size: var(--seta-fs-base); text-transform: uppercase; letter-spacing: .06em; color: var(--seta-color-muted); margin: 0 0 var(--seta-space-3); }
.seta67-latest-block .seta67-post-list { margin: 0; }
.seta67-latest-more { display: inline-block; margin-top: var(--seta-space-2); font-size: var(--seta-fs-sm); font-weight: var(--seta-font-weight-bold); color: var(--seta-color-accent-dark); }
.seta67-latest-more:hover { color: var(--seta-color-primary); }

/* Open-positions callout */
.seta67-callout { border: 1px solid var(--seta-color-accent); border-radius: var(--seta-radius-lg); padding: var(--seta-space-6); background: var(--seta-color-bg); }
.seta67-callout h2 { font-size: var(--seta-fs-h3); margin: 0 0 var(--seta-space-2); }
.seta67-callout__lead { color: var(--seta-color-muted); margin: 0 0 var(--seta-space-4); }

/* Expandable disclosure boxes ("More about this district") */
.seta67-district-more > h2 { font-size: var(--seta-fs-h2); margin: 0 0 var(--seta-space-5); }
.seta67-disclosure { border: 1px solid var(--seta-color-line); border-radius: var(--seta-radius-md); margin-bottom: var(--seta-space-3); background: var(--seta-color-bg); }
.seta67-disclosure > summary {
    cursor: pointer; list-style: none; padding: var(--seta-space-4) var(--seta-space-5);
    font-weight: var(--seta-font-weight-semibold); color: var(--seta-color-primary);
    display: flex; align-items: center; gap: var(--seta-space-2);
}
.seta67-disclosure > summary::-webkit-details-marker { display: none; }
.seta67-disclosure > summary::before { content: "+"; color: var(--seta-color-accent-dark); font-weight: var(--seta-font-weight-bold); font-size: 1.2em; line-height: 1; }
.seta67-disclosure[open] > summary::before { content: "–"; }
.seta67-disclosure[open] > summary { border-bottom: 1px solid var(--seta-color-line); }
.seta67-disclosure__body { padding: var(--seta-space-5); }

/* Archive item rows + year accordion (used in recent rail + disclosures) */
.seta67-archive-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--seta-space-2) var(--seta-space-3); padding: var(--seta-space-2) 0; border-bottom: 1px solid var(--seta-color-line); }
.seta67-archive-item:last-child { border-bottom: 0; }
.seta67-archive-item__title { color: var(--seta-color-primary); font-weight: var(--seta-font-weight-medium); }
.seta67-archive-item .seta67-meta-date { color: var(--seta-color-muted); font-size: var(--seta-fs-sm); }
.seta67-post-list { list-style: none; padding: 0; margin: 0; }
.seta67-archive-year { border-bottom: 1px solid var(--seta-color-line); }
.seta67-archive-year__label { cursor: pointer; list-style: none; padding: var(--seta-space-3) 0; font-weight: var(--seta-font-weight-bold); color: var(--seta-color-primary); }
.seta67-archive-year__label::-webkit-details-marker { display: none; }
.seta67-archive-year__label::before { content: "▸ "; color: var(--seta-color-accent); }
.seta67-archive-year[open] > .seta67-archive-year__label::before { content: "▾ "; }

/* District info grid (inside the area-covered disclosure) */
.seta67-district-info { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--seta-space-6); align-items: start; }
.seta67-district-info__body h3:first-child { margin-top: 0; }
.seta67-district-info__map img { border-radius: var(--seta-radius-lg); border: 1px solid var(--seta-color-line); }
@media (max-width: 860px) { .seta67-district-info { grid-template-columns: 1fr; } }

/* ── Single Officer (single-position.php) ────────────────────────────────── */
.seta67-officer-meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: var(--seta-space-3);
    margin: var(--seta-space-3) 0 0; font-family: var(--seta-font-sans);
}
.seta67-officer-holder { font-weight: var(--seta-font-weight-semibold); color: var(--seta-color-primary); }
.seta67-officer-term { font-size: var(--seta-fs-sm); color: var(--seta-color-muted); }
.seta67-officer-contact { color: var(--seta-color-accent-dark); font-weight: var(--seta-font-weight-semibold); }
.seta67-officer-contact:hover { color: var(--seta-color-primary); }

/* Job description download buttons */
.seta67-jobdesc { display: flex; flex-wrap: wrap; gap: var(--seta-space-3); margin-top: var(--seta-space-2); }

/* Documents grouped by year (officer resources) */
.seta67-documents-by-year .seta67-year-group { margin-bottom: var(--seta-space-6); }
.seta67-year-group__title { font-size: var(--seta-fs-h4); margin: 0 0 var(--seta-space-3); color: var(--seta-color-primary); }

/* Documents grouped by type (committee Job Descriptions / Guidelines / Forms) */
.seta67-documents-by-type { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--seta-space-6); }
.seta67-doc-group__title { font-size: var(--seta-fs-h4); margin: 0 0 var(--seta-space-3); color: var(--seta-color-primary); }

/* Committee freeform body (Elementor/Gutenberg) — keep prose readable */
.seta67-committee-body > * + * { margin-top: var(--seta-space-4); }
.seta67-committee-body h2 { font-size: var(--seta-fs-h2); margin-top: var(--seta-space-7); }
.seta67-committee-body h3 { font-size: var(--seta-fs-h3); margin-top: var(--seta-space-5); }
.seta67-committee-body a { color: var(--seta-color-accent-dark); }
.seta67-committee-body a:hover { color: var(--seta-color-primary); }

/* ── Conference materials (Delegate / GSC) ───────────────────────────────── */
.seta67-conf-year { margin-bottom: var(--seta-space-7); }
.seta67-conf-year__title {
    font-size: var(--seta-fs-h3); margin: 0 0 var(--seta-space-4);
    padding-bottom: var(--seta-space-2); border-bottom: 2px solid var(--seta-color-accent);
}
.seta67-conf-year__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--seta-space-6); align-items: start; }
.seta67-conf-col__title { font-size: var(--seta-fs-h4); margin: 0 0 var(--seta-space-3); color: var(--seta-color-muted); }
.seta67-conf-list { list-style: none; margin: 0; padding: 0; }
.seta67-conf-list li { padding: var(--seta-space-3) 0; border-bottom: 1px solid var(--seta-color-line); }
.seta67-conf-doc__label { display: block; font-weight: var(--seta-font-weight-semibold); }
.seta67-conf-doc__summary { display: block; font-size: var(--seta-fs-sm); color: var(--seta-color-muted); margin-top: var(--seta-space-1); }
@media (max-width: 860px) { .seta67-conf-year__cols { grid-template-columns: 1fr; } }
