/*
Theme Name: District 10 Child
Template: Divi
Version: 1.1.0
Author: Kip
Description: Custom child theme for the District 10 A.A. website.

Sections:
  1. Design tokens (CSS custom properties)
  2. Service & Committees directory
  3. Open positions — cards (Service Opportunities) + home callout
  4. Generic callout component
  5. Home page — hero, doors, callouts row, about strip
  6. "Get help now" floating button + slide-out panel
  7. Content pages — First Meeting / About / Resources
  8. 12 Step Meeting List plugin overrides
  9. Animations
*/


/* ─────────────────────────────────────────
   1. Design tokens
   ───────────────────────────────────────── */
:root {
  --navy:         #1f3a5f;
  --navy-deep:    #142747;
  --accent:       #0e7490;
  --accent-hover: #0c6075;
  --danger:       #b91c1c;
  --danger-hover: #991b1b;
  --amber-bg:     #fef3c7;
  --amber-text:   #92400e;
  --green-bg:     #d1fae5;
  --green-text:   #065f46;
  --blue-bg:      #dbeafe;
  --blue-text:    #1e3a8a;
  /* -- Design Refresh: locked palette (DESIGN.md / DR-3) ----------------------
     Foundation for the warm/welcome refresh. Wired into selectors in later DR
     rows. NO visible change yet: legacy --navy (#1f3a5f) / --navy-deep (#142747)
     above and the --muted fallback (#64748b) keep ruling current rendering; the
     locked targets live as the -anchor / -scrim / --text-muted aliases below
     until DR rows migrate selectors onto them. */
  --teal:            #0e7490;  /* secondary / links / eyebrows on light (== legacy --accent) */
  --teal-deep:       #0b5567;  /* teal hover / pressed */
  --red:             #c0392b;  /* EMERGENCY "Get help now" FAB ONLY */
  --ink:             #17222e;  /* body text */
  --text-muted:      #5a6775;  /* locked target for --muted (legacy fallback #64748b) */
  --line:            #e3e5e8;  /* hairlines, dividers, table rules */
  --wash:            #fafbfc;  /* subtle surface tint for callouts */

  --navy-anchor:     #0c2d54;  /* locked target for --navy; anchor + PRIMARY CTA */
  --navy-scrim:      #081f3c;  /* locked target for --navy-deep; footer / photo scrims */

  /* On-navy text ramp -- text/eyebrows over navy or a photo scrim */
  --on-navy:         #ffffff;
  --on-navy-eyebrow: #7fb2cc;
  --on-navy-subhead: #dbe6f1;
  --on-navy-body:    #c4d4e6;
  --on-navy-muted:   #aebfd3;
  --on-navy-nav:     #adc2da;

  /* Interaction surfaces */
  --row-hover:       #f4f6f8;  /* list-row hover (Resources, committees, recurring) */
  --today-cell:      #fffdf3;  /* calendar today-cell tint */
}


/* ─────────────────────────────────────────
   2. Service & Committees directory
   ───────────────────────────────────────── */
#d10-directory.d10-page { max-width: 1140px; margin: 40px auto; padding: 0 24px; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; color: #0f172a; }
#d10-directory .d10-page-head h1 { color: var(--navy); font-size: 28px; margin: 0 0 4px; }
#d10-directory .d10-sub { color: #64748b; margin: 0 0 20px; font-size: 14.5px; }

#d10-directory .d10-toolbar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 14px; }
#d10-directory .d10-toolbar .grow { flex: 1; }
#d10-directory .chip { border: 2px solid #cbd5e1; background: #fff; color: #475569; border-radius: 9999px; padding: 6px 18px; font-size: 13px; font-weight: 600; letter-spacing: .01em; line-height: 1.4; cursor: pointer; font-family: inherit; transition: border-color .15s, color .15s, background .15s; }
#d10-directory .chip:hover { border-color: #0e7490; color: #0e7490; }
#d10-directory .chip.on { background: #0c2d54; color: #fff; border-color: #0c2d54; }
#d10-directory #d10-search { border: 1px solid #cbd5e1; border-radius: 8px; padding: 7px 10px; font-size: 13px; width: 240px; line-height: 1.4; height: 34px; box-sizing: border-box; }

#d10-directory table { width: 100%; border-collapse: collapse; font-size: 13.5px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }
#d10-directory th, #d10-directory td { text-align: left; padding: 10px 14px; border-bottom: 1px solid #e2e8f0; vertical-align: middle; }
#d10-directory th { background: #f8fafc; color: var(--navy); font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.6px; }
#d10-directory tr:last-child td { border-bottom: 0; }
#d10-directory tbody tr { cursor: pointer; }
#d10-directory tbody tr:hover td { background: #fafbfc; }
#d10-directory .role-name { font-weight: 700; color: var(--navy); text-decoration: none; }

#d10-directory .badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; }
#d10-directory .badge-filled        { background: var(--green-bg);  color: var(--green-text); }
#d10-directory .badge-open          { background: var(--amber-bg);  color: var(--amber-text); }
#d10-directory .badge-closing_soon  { background: var(--blue-bg);   color: var(--blue-text); }


/* ─────────────────────────────────────────
   3. Open positions — cards + home callout
   ───────────────────────────────────────── */

/* Cards (Service Opportunities page) */
.d10-opp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1140px; margin: 24px auto; padding: 0 24px; }
.d10-opp-card { border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; padding: 18px; display: flex; flex-direction: column; }
.d10-opp-card .badge.badge-open { align-self: flex-start; margin-bottom: 8px; background: var(--amber-bg); color: var(--amber-text); padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; }
.d10-opp-title { margin: 0 0 6px; color: var(--navy); font-size: 17px; font-weight: 700; }
.d10-opp-blurb { color: #334155; font-size: 13.5px; margin: 0 0 12px; }
.d10-opp-meta { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 5px; color: #334155; font-size: 13px; }
.d10-opp-meta strong { color: var(--navy); margin-right: 6px; }
.d10-opp-actions { display: flex; gap: 8px; margin-top: auto; flex-wrap: wrap; }
.d10-opp-actions .btn { border: 1px solid #cbd5e1; background: #fff; color: var(--navy); padding: 7px 12px; border-radius: 6px; font-size: 12.5px; font-weight: 600; text-decoration: none; }
.d10-opp-actions .btn-primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.d10-opp-actions .btn-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }


/* ─────────────────────────────────────────
   4. Generic callout component
   (used on home, About, First Meeting,
   open-positions callout)
   ───────────────────────────────────────── */
.d10-callout { display: flex; align-items: center; gap: 14px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; padding: 14px 16px; max-width: 1140px; margin: 20px auto; }
.d10-callout-amber .d10-callout-icon { background: var(--amber-bg); color: var(--amber-text); }
.d10-callout-icon { width: 36px; height: 36px; border-radius: 8px; background: var(--blue-bg); color: var(--blue-text); display: inline-flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; flex-shrink: 0; }
.d10-callout-body { flex: 1; }
.d10-callout-title { font-weight: 700; color: var(--navy); font-size: 14px; }
.d10-callout-sub { color: #334155; font-size: 13px; }
.d10-callout-cta { background: #fff; border: 1px solid #cbd5e1; color: var(--navy); border-radius: 6px; padding: 6px 10px; font-size: 12.5px; font-weight: 600; text-decoration: none; }


/* ─────────────────────────────────────────
   5. Home page
   ───────────────────────────────────────── */

/* Hero band */
.d10-hero { max-width: 1140px; margin: 0 auto; padding: 40px 24px 16px; background: linear-gradient(180deg,#f8fafc 0%,#fff 100%); }
.d10-hero-eyebrow { color: #64748b; font-size: 12px; text-transform: uppercase; letter-spacing: 0.7px; margin: 0 0 4px; }
.d10-hero-title { font-size: 28px; font-weight: 700; color: var(--navy); margin: 0 0 4px; }
.d10-hero-subtitle { font-size: 14px; color: #334155; margin: 0; max-width: 720px; }

/* Three doors */
.d10-doors { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; max-width: 1140px; margin: 0 auto; padding: 18px 24px 4px; }
.d10-door { border: 1px solid #e2e8f0; border-radius: 10px; padding: 18px 18px 16px; background: #fff; display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: inherit; }
.d10-door:hover { box-shadow: 0 4px 14px rgba(15,23,42,0.06); }
.d10-door.d10-door-help { border-color: #fecaca; background: linear-gradient(180deg,#fff7f7 0%,#fff 100%); }
.d10-door .d10-door-tag { font-size: 11px; text-transform: uppercase; letter-spacing: 0.6px; color: #64748b; font-weight: 600; }
.d10-door.d10-door-help .d10-door-tag { color: var(--danger); }
.d10-door-title { font-size: 17px; font-weight: 700; color: var(--navy); margin: 2px 0 6px; display: block; }
.d10-door.d10-door-help .d10-door-title { color: var(--danger); }
.d10-door-list { padding: 0; margin: 0 0 10px; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; color: #334155; }
.d10-door-item { display: block; }
.d10-door-item::before { content: "→"; color: #64748b; margin-right: 8px; font-size: 12px; }
.d10-door-cta { margin-top: auto; color: var(--accent); font-size: 13px; font-weight: 600; display: block; }
.d10-door.d10-door-help .d10-door-cta { color: var(--danger); }

/* Callouts row (open positions + next district meeting) */
.d10-home-callouts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 1140px; margin: 18px auto 0; padding: 0 24px; }
.d10-home-callouts .d10-callout { margin: 0; max-width: none; }

/* About strip */
.d10-about-strip { padding: 22px 24px 24px; border-top: 1px solid #e2e8f0; background: #fff; max-width: 1140px; margin: 24px auto 0; }
.d10-about-strip h3 { margin: 0 0 6px; font-size: 16px; color: var(--navy); }
.d10-about-strip p { margin: 0 0 10px; color: #334155; font-size: 14px; max-width: 720px; }
.d10-about-strip a { color: var(--accent); font-weight: 600; font-size: 13.5px; text-decoration: none; }


/* ─────────────────────────────────────────
   6. "Get help now" button + slide-out panel
   ───────────────────────────────────────── */

/* Trigger — floating action button (bottom-right) */
.d10-help-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: var(--danger);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  transition: background .15s ease, transform .15s ease;
}
.d10-help-btn:hover { background: var(--danger-hover); transform: translateY(-1px); }
.d10-help-btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

/* Overlay behind the panel */
.d10-help-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .55);
  z-index: 10000;
  animation: d10-fade-in .2s ease both;
}
.d10-help-overlay[hidden] { display: none !important; }

/* Centered modal dialog (fits to content; scrolls inside if too tall) */
.d10-help-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(440px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  background: #fff;
  z-index: 10001;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .32), 0 6px 16px rgba(0, 0, 0, .18);
  padding: 24px 22px 22px;
  overflow-y: auto;
  animation: d10-fade-in .2s ease both;
}
.d10-help-panel[hidden] { display: none !important; }

.d10-help-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--navy);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.d10-help-close:hover { background: rgba(0, 0, 0, .05); }
.d10-help-close:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

#d10-help-title { font-size: 22px; line-height: 1.25; color: var(--navy); margin: 4px 0 12px; padding-right: 36px; }
.d10-help-reassure { color: #374151; margin: 0 0 20px; line-height: 1.5; }

.d10-help-action {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  margin-bottom: 10px;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  text-decoration: none;
  color: var(--navy-deep);
  transition: background .15s ease, border-color .15s ease;
}
.d10-help-action:hover { background: #f8fafc; border-color: var(--accent); }
.d10-help-action:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.d10-help-action-primary { background: var(--danger); color: #fff; border-color: var(--danger); }
.d10-help-action-primary:hover,
.d10-help-action-primary:focus-visible { background: var(--danger-hover); border-color: var(--danger-hover); color: #fff; }

.d10-help-icon { flex: 0 0 28px; font-size: 22px; line-height: 1; }
.d10-help-action-title { display: block; font-weight: 600; font-size: 15px; margin-bottom: 2px; }
.d10-help-action-sub   { display: block; font-size: 13px; opacity: .85; line-height: 1.35; }

/* Lock body scroll while the panel is open */
body:has(.d10-help-panel:not([hidden])) { overflow: hidden; }

@media (max-width: 480px) {
  .d10-help-panel { padding: 24px 18px 28px; }
  .d10-help-btn   { bottom: 16px; right: 16px; padding: 10px 14px; font-size: 13px; }
}


/* ─────────────────────────────────────────
   7. Content pages — First Meeting / About / Resources
   (visual styling is largely handled inline inside the
   Divi Code modules; add page-wide overrides here only)
   ───────────────────────────────────────── */

/* Global Footer — right column nav links
   (paste the matching HTML into the Text module that holds the
   mailto; see Theme Builder → Global Footer → right column.) */
.d10-footer-contact {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, .85);
  font-size: 14.5px;
  line-height: 1.5;
}
.d10-footer-contact strong { color: #fff; font-weight: 600; }
.d10-footer-contact a {
  color: rgb(147, 197, 253);
  text-decoration: none;
}
.d10-footer-contact a:hover,
.d10-footer-contact a:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.d10-footer-nav {
  margin-top: 6px;
}
.d10-footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.d10-footer-nav a {
  color: rgba(255, 255, 255, .85);
  text-decoration: none;
  font-size: 14.5px;
  line-height: 1.5;
}
.d10-footer-nav a:hover,
.d10-footer-nav a:focus-visible {
  color: #fff;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .d10-footer-nav { margin-top: 18px; }
}

/* Defensive footer width — on some pages (e.g. /service-opportunities/)
   the global footer's flex section collapses to content width and
   right-aligns. Force the section to stretch full-width so the row
   and columns center normally. */
.et-l--footer .et_pb_section.et_flex_section {
  width: 100%;
  align-self: stretch;
}

/* ─────────────────────────────────────────
   8. 12 Step Meeting List plugin overrides
   (placeholder — fill in once plugin is configured;
   verify root is #tsml-ui vs #tsml_ui first)
   ───────────────────────────────────────── */


/* ─────────────────────────────────────────
   9. Animations
   ───────────────────────────────────────── */
@keyframes d10-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes d10-slide-in-right {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}

/* ─────────────────────────────────────────
   v1.1.2 — Unified page titles + top spacing
   Applies to: .d10-content-page (about, resources,
   first-meeting), .d10-page-head (archive-role),
   .entry-title.main_title (Divi default, /find-a-meeting/).
   ───────────────────────────────────────── */
.d10-content-page,
.d10-page-head {
  max-width: 1080px;
  margin: 0 auto;
  padding: 56px 24px 24px;
}
.d10-page-h1,
.d10-page-head h1,
.entry-title.main_title {
  font-size: 32px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.2;
  margin: 0 0 8px;
}
.d10-page-lede,
.d10-page-head .d10-page-sub,
.d10-page-head > p {
  font-size: 16px;
  color: #475569;
  line-height: 1.5;
  margin: 0 0 16px;
  max-width: 720px;
}
article > .entry-title.main_title,
.et_pb_post_content > .entry-title.main_title,
.et_pb_row .entry-title.main_title {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 56px 24px 0;
  width: 100%;
  box-sizing: border-box;
}

/* v1.1.2 follow-ups */
.d10-page-h1 { font-size: 32px !important; }
.et_pb_section:has(.d10-content-page),
.et_pb_section:has(.d10-page-head) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* v1.1.2 — final overrides for inline-style holdouts.
   /about/, /resources/, /first-meeting/ content blocks contain inline
   <style> with .d10-page-h1 { font-size: 28px !important } from the
   original wireframe paste. Beat them with higher specificity. */
body.page .d10-page-h1,
body.archive .d10-page-head h1 {
  font-size: 32px !important;
}

/* Top-padding rebalance — bring outliers within ~30px of each other. */
.d10-content-page { padding-top: 72px; }
.d10-page-head    { padding-top: 40px; }

/* ─────────────────────────────────────────
   v1.1.3 — One canonical page canvas
   max-width: 1140px; margin: 0 auto; padding: 64px 24px 48px;
   ───────────────────────────────────────── */

/* Hide Divi default page title bar */
.entry-title.main_title,
article > h1.entry-title { display: none !important; }

/* Canonical inner-page canvas */
.d10-content-page,
.d10-page-head {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 64px 24px 48px !important;
  box-sizing: border-box;
}

/* For Divi-default pages (e.g. /find-a-meeting/) */
.page-template-default .entry-content {
  max-width: 1140px;
  margin: 0 auto;
  padding: 64px 24px 48px;
  box-sizing: border-box;
}

/* Neutralize outer Divi section padding when wrapper is inside */
.et_pb_section:has(.d10-content-page),
.et_pb_section:has(.d10-page-head) {
  padding: 0 !important;
}
.et_pb_section:has(.d10-content-page) .et_pb_row,
.et_pb_section:has(.d10-content-page) .et_pb_column,
.et_pb_section:has(.d10-content-page) .et_pb_text {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* v1.1.3 follow-up — neutralize Divi rows on default page template too
   (e.g. /find-a-meeting/ — the [tsml_ui] shortcode is inside a Divi
   row whose default margin pushes content ~109px to the right). */
.page-template-default .entry-content .et_pb_section,
.page-template-default .entry-content .et_pb_row,
.page-template-default .entry-content .et_pb_column,
.page-template-default .entry-content .et_pb_text {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.page-template-default .entry-content #tsml-ui { padding: 0 !important; }

/* v1.1.3 patch: archive template (service-and-committees) sits
   24px tighter to the header than Divi page-template wrappers,
   so bump its top-padding to match the canonical 240px y. */
.d10-page-head { padding-top: 88px !important; }


/* ===== v1.1.4 — Service Opportunities: timeline + callouts ===== */
.d10-timeline {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding: 16px 18px;
  margin-top: 28px;
}
.d10-timeline h3 { margin: 0 0 4px; color: var(--navy, #1f3a5f); font-size: 16px; }
.d10-timeline-sub { margin: 0; color: #64748b; font-size: 13px; }
.d10-timeline-rail { position: relative; margin: 12px 0 0; height: 120px; }
.d10-timeline-rail::before {
  content: ""; position: absolute; top: 28px; left: 0; right: 0;
  height: 2px; background: #cbd5e1;
}
.d10-timeline-stop {
  position: absolute; transform: translateX(-50%);
  top: 0; text-align: center; width: 110px;
}
.d10-timeline-dot {
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--accent, #0e7490); border: 3px solid #fff;
  box-shadow: 0 0 0 1px #cbd5e1; margin: 22px auto 8px;
}
.d10-timeline-stop.future .d10-timeline-dot { background: #fff; }
.d10-timeline-stop .month { font-weight: 700; color: var(--navy, #1f3a5f); font-size: 12px; }
.d10-timeline-stop .label { color: #64748b; font-size: 11px; }

.d10-callouts {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px; margin-top: 18px;
}
.d10-callout {
  border: 1px solid #e2e8f0; border-radius: 10px;
  padding: 14px 16px; background: #f8fafc;
  display: flex; align-items: center; gap: 14px;
}
.d10-callout-icon {
  width: 36px; height: 36px; border-radius: 8px;
  background: var(--blue-bg, #dbeafe); color: var(--blue-text, #1e3a8a);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700; flex-shrink: 0;
}
.d10-callout-body { flex: 1; }
.d10-callout-title { font-weight: 700; color: var(--navy, #1f3a5f); font-size: 14px; }
.d10-callout-sub { color: #475569; font-size: 13px; }
.d10-callout-cta {
  background: #fff; border: 1px solid #cbd5e1;
  color: var(--navy, #1f3a5f); border-radius: 6px;
  padding: 6px 10px; font-size: 12.5px; font-weight: 600;
  text-decoration: none;
}
.d10-callout-cta:hover { background: #f1f5f9; }

@media (max-width: 640px) {
  .d10-callouts { grid-template-columns: 1fr; }
  .d10-timeline-rail { height: 160px; }
  .d10-timeline-stop { width: 80px; }
  .d10-timeline-stop .label { font-size: 10px; }
}


/* =====================================================================
   D10 CALENDAR — appended to /wp-content/themes/Divi-Child/style.css
   Added: 2026-05-19  ·  See dist10-calendar-preview.html for full design.

   Defines:
     - Four event-category palettes (district / workshop / quarterly /
       committee) as design tokens — shared by calendar chips, list-view
       ring-dots, and flyer-card category pills.
     - Calendar two-column layout (.cal-grid → .recurring + .month-view)
     - FullCalendar v6 visual overrides (chip + list + dot + hover)
     - Flyer card grid (.flyer-grid + .flyer-card + .flyer-art + ...)
     - Subscribe / external strip (.secondary-strip)
     - Event-details modal (.modal-backdrop + .modal-card)
     - Pulse keyframe (chip flash when "View on calendar" is clicked)
   ===================================================================== */

:root {
    --cat-district-bg:  #1f3a5f; --cat-district-fg:  #ffffff; --cat-district-accent:  #1f3a5f;
    --cat-workshop-bg:  #6d28d9; --cat-workshop-fg:  #ffffff; --cat-workshop-accent:  #6d28d9;
    --cat-quarterly-bg: #b45309; --cat-quarterly-fg: #ffffff; --cat-quarterly-accent: #b45309;
    --cat-committee-bg: #81b8ff; --cat-committee-fg: #0f172a; --cat-committee-accent: #2563eb;
    --cat-fellowship-bg: #166534; --cat-fellowship-fg: #ffffff; --cat-fellowship-accent: #166534;
    --cat-meeting-bg:    #0e7490; --cat-meeting-fg:    #ffffff; --cat-meeting-accent:    #0e7490;
    --cat-service-bg:    #7c3aed; --cat-service-fg:    #ffffff; --cat-service-accent:    #7c3aed;
}

/* ---------- Two-column calendar grid -------------------------------- */
.cal-grid { display: grid; grid-template-columns: 360px 1fr; gap: 18px; align-items: start; margin: 0 0 24px; }
@media (max-width: 880px) { .cal-grid { grid-template-columns: 1fr; } }

/* ---------- Recurring meetings (left column) ------------------------ */
.recurring { border: 1px solid var(--border, #e2e8f0); border-radius: 10px; background: #fff; padding: 16px 18px; }
.recurring h3 { margin: 0 0 4px; font-size: 14px; color: var(--navy, #1f3a5f); }
.recurring .hint { color: var(--muted, #64748b); font-size: 12px; margin: 0 0 12px; }
.d10-recurring-list { list-style: none; padding: 0; margin: 0; }
.d10-recurring-list li { padding: 12px 8px; margin: 0 -8px; border-top: 1px solid var(--border, #e2e8f0); display: grid; grid-template-columns: 70px 1fr 14px; gap: 10px; align-items: center; cursor: pointer; border-radius: 6px; transition: background 0.12s ease; position: relative; }
.d10-recurring-list li:first-child { border-top: 0; }
.d10-recurring-list li:hover { background: rgba(15, 23, 42, 0.04); }
.d10-recurring-list li:focus-visible { background: rgba(15, 23, 42, 0.04); outline: 2px solid var(--accent, #0e7490); outline-offset: -2px; }
.recur-when { font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.4px; color: var(--accent, #0e7490); font-weight: 700; line-height: 1.35; }
.recur-name { font-weight: 700; color: var(--navy, #1f3a5f); font-size: 13.5px; margin: 0 0 2px; }
.recur-meta { color: #334155; font-size: 12.5px; }
.recur-chev { color: #cbd5e1; font-size: 18px; line-height: 1; transition: color 0.12s ease, transform 0.12s ease; }
.d10-recurring-list li:hover .recur-chev,
.d10-recurring-list li:focus-visible .recur-chev { color: var(--accent, #0e7490); transform: translateX(2px); }

/* ---------- Month view (right column) ------------------------------- */
.month-view { border: 1px solid var(--border, #e2e8f0); border-radius: 10px; background: #fff; padding: 16px; }
#d10-calendar { font-size: 13px; }

/* FullCalendar v6 overrides */
.fc { --fc-border-color: var(--border, #e2e8f0); --fc-page-bg-color: #fff; --fc-neutral-bg-color: #f8fafc; --fc-today-bg-color: #fffbeb; --fc-button-bg-color: #fff; --fc-button-border-color: #cbd5e1; --fc-button-text-color: var(--navy, #1f3a5f); --fc-button-hover-bg-color: #f8fafc; --fc-button-hover-border-color: #cbd5e1; --fc-button-active-bg-color: var(--navy, #1f3a5f); --fc-button-active-border-color: var(--navy, #1f3a5f); --fc-event-bg-color: var(--accent, #0e7490); --fc-event-border-color: var(--accent, #0e7490); }
.fc .fc-toolbar.fc-header-toolbar { margin-bottom: 12px; padding: 0; }
.fc .fc-toolbar-title { font-size: 16px; font-weight: 700; color: var(--navy, #1f3a5f); }
.fc .fc-button { font-size: 12.5px; font-weight: 600; padding: 4px 10px; box-shadow: none !important; text-transform: capitalize; }
.fc .fc-button-primary:not(:disabled).fc-button-active { color: #fff; }
.fc .fc-col-header-cell-cushion { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--muted, #64748b); font-weight: 700; padding: 6px 4px; }
.fc .fc-daygrid-day-number { font-size: 12px; color: #334155; padding: 4px 6px; }
.fc .fc-day-other .fc-daygrid-day-number { color: #cbd5e1; }

/* Event chips — daygrid only */
.fc-daygrid-event { border-radius: 4px !important; border: 0 !important; padding: 2px 0 !important; font-size: 11.5px !important; font-weight: 700 !important; line-height: 1.3 !important; cursor: pointer; }
.fc-daygrid-event .fc-event-main,
.fc-daygrid-event .fc-event-title,
.fc-daygrid-event .fc-event-time { padding: 0 5px; }
.fc-daygrid-event.cat-district  { background: var(--cat-district-bg)  !important; color: var(--cat-district-fg)  !important; }
.fc-daygrid-event.cat-workshop  { background: var(--cat-workshop-bg)  !important; color: var(--cat-workshop-fg)  !important; }
.fc-daygrid-event.cat-quarterly { background: var(--cat-quarterly-bg) !important; color: var(--cat-quarterly-fg) !important; }
.fc-daygrid-event.cat-committee { background: var(--cat-committee-bg) !important; color: var(--cat-committee-fg) !important; }
.fc-daygrid-event.cat-fellowship { background: var(--cat-fellowship-bg) !important; color: var(--cat-fellowship-fg) !important; }
.fc-daygrid-event.cat-meeting    { background: var(--cat-meeting-bg)    !important; color: var(--cat-meeting-fg)    !important; }
.fc-daygrid-event.cat-service     { background: var(--cat-service-bg)     !important; color: var(--cat-service-fg)     !important; }
.fc-daygrid-event .fc-event-time,
.fc-daygrid-event .fc-event-title { color: inherit !important; }
.fc-daygrid-day-frame { min-height: 64px; }

/* List view ring-dots */
.fc-list-event.cat-district  .fc-list-event-dot { border-color: var(--cat-district-accent)  !important; }
.fc-list-event.cat-workshop  .fc-list-event-dot { border-color: var(--cat-workshop-accent)  !important; }
.fc-list-event.cat-quarterly .fc-list-event-dot { border-color: var(--cat-quarterly-accent) !important; }
.fc-list-event.cat-committee .fc-list-event-dot { border-color: var(--cat-committee-accent) !important; }
.fc-list-event.cat-fellowship .fc-list-event-dot { border-color: var(--cat-fellowship-accent) !important; }
.fc-list-event.cat-meeting    .fc-list-event-dot { border-color: var(--cat-meeting-accent)    !important; }
.fc-list-event.cat-service     .fc-list-event-dot { border-color: var(--cat-service-accent)     !important; }
.fc .fc-list-event:hover td { background: rgba(15, 23, 42, 0.04); cursor: pointer; }
.fc .fc-list-event-title a { color: var(--navy, #1f3a5f); text-decoration: none; font-weight: 600; }
.fc .fc-list-day-cushion { background: #f8fafc !important; color: var(--navy, #1f3a5f); }

/* Pulse */
@keyframes recurPulse {
    0%   { outline: 3px solid rgba(14, 116, 144, 0.85); outline-offset: 1px; }
    100% { outline: 3px solid rgba(14, 116, 144, 0);    outline-offset: 10px; }
}
.fc-event.is-pulsing { animation: recurPulse 1.0s ease-out 2; z-index: 5; }

/* ---------- Flyer grid (Flyer CPT surface) -------------------------- */
.flyer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 0 0 24px; }
.flyer-card { border: 1px solid var(--border, #e2e8f0); border-radius: 10px; background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.flyer-art { aspect-ratio: 8.5 / 11; background: linear-gradient(135deg, #1f3a5f 0%, #0e7490 100%); display: flex; align-items: center; justify-content: center; color: #fff; text-align: center; padding: 18px; position: relative; font-weight: 700; line-height: 1.3; font-size: 14.5px; }
.flyer-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.flyer-art-placeholder { z-index: 1; text-shadow: 0 1px 8px rgba(0,0,0,0.25); }
.flyer-art::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(45deg, rgba(255,255,255,0.04) 25%, transparent 25%), linear-gradient(-45deg, rgba(255,255,255,0.04) 25%, transparent 25%); background-size: 24px 24px; pointer-events: none; }
.flyer-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.flyer-header-row { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 4px; }
.flyer-header-text { flex: 1; min-width: 0; }
.ev-date { text-align: center; background: #f1f5f9; border-radius: 8px; padding: 6px 8px; color: var(--navy, #1f3a5f); min-width: 52px; }
.ev-date .m { font-size: 10px; text-transform: uppercase; color: var(--muted, #64748b); font-weight: 700; }
.ev-date .d { font-size: 18px; font-weight: 700; line-height: 1; }
.ev-date.no-date { display: none; }
.ev-date.no-date .m, .ev-date.no-date .d { display: none; }
.flyer-cat-tag { display: inline-block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; padding: 3px 9px; border-radius: 999px; }
.flyer-cat-tag.cat-district  { background: var(--cat-district-bg);  color: var(--cat-district-fg); }
.flyer-cat-tag.cat-workshop  { background: var(--cat-workshop-bg);  color: var(--cat-workshop-fg); }
.flyer-cat-tag.cat-quarterly { background: var(--cat-quarterly-bg); color: var(--cat-quarterly-fg); }
.flyer-cat-tag.cat-committee { background: var(--cat-committee-bg); color: var(--cat-committee-fg); }
.flyer-cat-tag.cat-fellowship { background: var(--cat-fellowship-bg); color: var(--cat-fellowship-fg); }
.flyer-cat-tag.cat-meeting    { background: var(--cat-meeting-bg);    color: var(--cat-meeting-fg); }
.flyer-cat-tag.cat-service     { background: var(--cat-service-bg);     color: var(--cat-service-fg); }
.flyer-title { font-weight: 700; color: var(--navy, #1f3a5f); font-size: 15px; margin: 0; line-height: 1.3; }
.flyer-blurb { color: #334155; font-size: 13px; margin: 2px 0 0; }
.flyer-actions { margin-top: auto; padding-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }

/* Buttons shared between flyer card + modal */
.cal-grid .btn,
.flyer-card .btn,
.modal-card .btn { border: 1px solid #cbd5e1; background: #fff; color: var(--navy, #1f3a5f); padding: 7px 12px; border-radius: 6px; font-size: 12.5px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.cal-grid .btn:hover,
.flyer-card .btn:hover,
.modal-card .btn:hover { background: #f8fafc; }
.cal-grid .btn-primary,
.flyer-card .btn-primary,
.modal-card .btn-primary { background: var(--accent, #0e7490); border-color: var(--accent, #0e7490); color: #fff; }
.cal-grid .btn-primary:hover,
.flyer-card .btn-primary:hover,
.modal-card .btn-primary:hover { background: #0c6075; border-color: #0c6075; color: #fff; }


/* Flyer section headings */
.d10-flyer-section-heading {
    margin: 28px 0 10px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border, #e2e8f0);
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--muted, #64748b);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.d10-flyer-section-heading:first-of-type { margin-top: 8px; }

/* Subscribe / external strip */
.secondary-strip { margin-top: 24px; padding: 14px 18px; background: #f8fafc; border: 1px solid var(--border, #e2e8f0); border-radius: 10px; display: flex; gap: 22px; flex-wrap: wrap; font-size: 13px; color: #334155; }
.secondary-strip strong { color: var(--navy, #1f3a5f); margin-right: 4px; }
.secondary-strip a { text-decoration: none; color: var(--accent, #0e7490); }
.secondary-strip a:hover { text-decoration: underline; }

/* Event details modal */
.modal-backdrop { display: none; position: fixed; inset: 0; background: rgba(15,23,42,0.45); z-index: 100; align-items: center; justify-content: center; padding: 20px; }
.modal-backdrop.open { display: flex; }
.modal-card { background: #fff; border-radius: 12px; max-width: 460px; width: 100%; padding: 22px 24px; box-shadow: 0 20px 50px rgba(15,23,42,0.25); position: relative; }
.modal-close-x { position: absolute; top: 10px; right: 12px; background: none; border: none; font-size: 17px; color: var(--muted, #64748b); cursor: pointer; padding: 4px 8px; line-height: 1; border-radius: 4px; }
.modal-close-x:hover { color: var(--navy, #1f3a5f); background: #f1f5f9; }
.modal-card h3 { margin: 0 0 6px; color: var(--navy, #1f3a5f); font-size: 18px; }
.modal-card .when { color: var(--accent, #0e7490); font-size: 13px; font-weight: 700; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.3px; }
.modal-card p { margin: 6px 0; color: #334155; font-size: 14px; }
.modal-actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
/* ============== END D10 CALENDAR =================================== */


/* ---- Override Divi/theme TD padding inside FullCalendar grids -------- *
   Divi applies td { padding: 6px 24px } globally for content tables;
   that crushed the daygrid cells' inner frames to ~32px wide.            */
.fc table td,
.fc table th { padding: 0 !important; }
/* List view cell gaps (daygrid zero-pad reset strips these) */
.fc .fc-list-event-time    { padding: 8px 14px 8px 0 !important; white-space: nowrap; }
.fc .fc-list-event-graphic { padding: 8px  8px 8px 0 !important; }
.fc .fc-list-event-title   { padding: 8px  0   8px 6px !important; }
.fc-daygrid-day-frame { padding: 4px !important; min-height: 64px; }


/* ---- Subscribe strip tucks under the calendar (right column) -------- */
.cal-right { display: flex; flex-direction: column; }
.cal-right .secondary-strip { margin-top: 18px; }
/* Give the page some breathing room above the footer */
.flyer-grid { margin-bottom: 64px; }
.cal-grid + h2.page-h2 { margin-top: 8px; }
.page-h2 { font-size: 28px; font-weight: 700; color: var(--navy, #1f3a5f); line-height: 1.2; margin: 32px 0 16px; }

/* ---------- Site header logo -------------------------------- */
.logo_helper { display: none !important; }
.logo_container { opacity: 1 !important; height: 100% !important; display: flex !important; align-items: center !important; }
#logo { height: 54px !important; max-height: none !important; width: auto !important; display: block !important; }
#main-header.et-fixed-header #logo { height: 40px !important; }
@media (max-width: 980px) {
  .et_header_style_left #logo { max-width: none !important; }
}

/* ══════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE  ·  added 2026-05-22
   All mobile overrides are in this single block.
   To revert: delete from this comment to the closing brace below.
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* ── GLOBAL ──────────────────────────────────────────────── */
  body { overflow-x: hidden; }

  /* ── HOME: 3-door card row ───────────────────────────────── */
  .d10-doors {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .d10-door { width: 100% !important; }
  /* Hide bullet list - heading and CTA link is enough on mobile */
  .d10-door-list { display: none !important; }

  /* ── HOME + ABOUT: 2-col callouts / stats / traditions ───── */
  .d10-home-callouts {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  /* ── RESOURCES: 3-col to 1-col ───────────────────────────── */
  .d10-res-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  /* ── CALENDAR: stack recurring above full-width grid ─────── */
  .cal-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .cal-right,
  .month-view { width: 100% !important; min-width: 0 !important; }

  /* FullCalendar - force all 7 columns into container width */
  .fc .fc-scrollgrid { width: 100% !important; min-width: 0 !important; }
  .fc .fc-scrollgrid-section > td { min-width: 0 !important; }
  .fc .fc-scrollgrid-section table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .fc .fc-col-header,
  .fc .fc-daygrid-body,
  .fc .fc-daygrid-body > table { width: 100% !important; min-width: 0 !important; }

  /* Abbreviate day headers to single letter */
  .fc .fc-toolbar.fc-header-toolbar { flex-wrap: wrap; gap: 0.4rem; }
  .fc .fc-toolbar-title { font-size: 1rem !important; }
  .fc .fc-col-header-cell-cushion {
    font-size: 0 !important;
    display: block;
    text-align: center;
  }
  .fc .fc-col-header-cell-cushion::first-letter { font-size: 0.7rem !important; }
  .fc .fc-daygrid-day-number { font-size: 0.7rem; padding: 2px 3px !important; }
  .fc .fc-daygrid-day-frame { min-height: 2.5rem !important; }
  .fc-daygrid-event { font-size: 0.55rem !important; }

  /* ── FLYER GRID: 4-col to 1-col ──────────────────────────── */
  .flyer-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  /* ââ SERVICE: mobile table â Role Â· Servant Â· Status + chevron ââââââââ */
  #d10-directory th:nth-child(4), #d10-directory td:nth-child(4),
  #d10-directory th:nth-child(5), #d10-directory td:nth-child(5) { display: none !important; }
  #d10-directory .role-cell::after { content: "  \203A"; color: var(--navy); font-size: 1.2rem; font-weight: 700; }

  /* ââ ROLE PAGES: horizontal padding on mobile âââââââââââââââââââ */
  .et_pb_row_0_tb_body, .et_pb_row_1_tb_body,
  .et_pb_row_2_tb_body, .et_pb_row_3_tb_body { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  .et_pb_row_1_tb_body { padding-top: 0.75rem !important; padding-bottom: 0.5rem !important; }

  /* ââ ROLE PAGES: stack Divi columns on mobile ââââââââââââââââââ */
  .et_pb_row_2_tb_body, .et_pb_row_3_tb_body { flex-direction: column !important; }
  .et_pb_row_2_tb_body > .et_pb_column,
  .et_pb_row_3_tb_body > .et_pb_column { width: 100% !important; max-width: 100% !important; }

  /* ââ ROLE PAGES: email â label only on mobile âââââââââââââââââ */
  .et_pb_column_3_tb_body a[href^="mailto"] { font-size: 0 !important; display: inline-block; }
  .et_pb_column_3_tb_body a[href^="mailto"]::before { content: "Email \2192"; font-size: 1rem; color: #0e7490; font-weight: 600; display: inline; }

  /* No separate block needed -- this block ends the @media block */
  }
  /* end media 768 */
  /* ===== v1.2.3 patch: archive template fixes ===== */
  .d10-page-head { overflow: visible; }
  }

/* ââ ROLE PAGES: email address â desktop default âââââââââââ */
.et_pb_column_3_tb_body a[href^="mailto"] { color: #0e7490; word-break: break-all; }

  /* ── FIND A MEETING: TSML wrapper ────────────────────────── */
  #tsml-ui { max-width: 100% !important; overflow-x: auto; }

}
/* -------- GLightbox flyer thumbnail overlay -------- */
.flyer-art > a.glightbox {
    position: relative;
    display: block;
    overflow: hidden;
}
.flyer-art > a.glightbox img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .28s ease;
}
.flyer-art > a.glightbox:hover img {
    transform: scale(1.05);
}
.flyer-art > a.glightbox::after {
    content: '';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.38) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center / 28px no-repeat;
    opacity: 0;
    transition: opacity .22s ease;
    pointer-events: none;
}
.flyer-art > a.glightbox:hover::after {
    opacity: 1;
}

/* âââ Flyer Tab Navigation (build queue #6) âââ */
.d10-flyers-wrap {
  margin-top: 0.5rem;
}

.d10-tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 1.75rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
}

.d10-tab {
  padding: 6px 18px;
  border: 2px solid #cbd5e1;
  border-radius: 9999px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  line-height: 1.4;
  font-family: inherit;
}

.d10-tab:hover {
  border-color: #0e7490;
  color: #0e7490;
}

.d10-tab.active {
  background: #0c2d54;
  border-color: #0c2d54;
  color: #fff;
}

.d10-tab:focus-visible {
  outline: 2px solid #0e7490;
  outline-offset: 2px;
}

.d10-flyers-section + .d10-flyers-section {
  margin-top: 2.25rem;
}

/* ── Sticky footer ────────────────────────────────────────────────────────────
   Prevents white space below the footer on short pages (home, tabs with few
   cards, etc.). Uses --wp-admin--admin-bar--height so it works for both
   logged-in users (32 px admin bar) and the public (0 px).
   ─────────────────────────────────────────────────────────────────────────── */
#page-container {
  min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  display: flex;
  flex-direction: column;
}
#et-boc {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#et-main-area {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#main-content {
  flex: 1;
}
/* ---- Find a Meeting â day accordion strip ----------------------------- */
#d10-day-accordion {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  gap: 0;
  margin: 1.25rem 0 1rem;
}
/* Find a Meeting — day tab nav */
div:has(> .d10-day-btn) {
  border-bottom: 2px solid #e2e8f0;
  margin: 0 0 20px;
}
.d10-day-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 8px 14px;
  margin-bottom: -2px;
  font-size: 14px;
  font-weight: 400;
  color: #64748b;
  cursor: pointer;
  font-family: inherit;
  transition: color .15s;
  white-space: nowrap;
}
.d10-day-btn:hover {
  color: #0c2d54;
}
.d10-day-btn.is-active {
  color: #0c2d54;
  border-bottom: 2px solid #0c2d54;
  font-weight: 600;
}


/* RESOURCES TABS */
.d10-tab-btn {
  padding: 6px 18px;
  border: 2px solid #cbd5e1;
  border-radius: 9999px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  line-height: 1.4;
  font-family: inherit;
}
.d10-tab-btn:hover {
  border-color: #0e7490;
  color: #0e7490;
}
.d10-tab-btn.active {
  background: #0c2d54;
  border-color: #0c2d54;
  color: #fff;
}
.d10-tab-btn:focus-visible {
  outline: 2px solid #0e7490;
  outline-offset: 2px;
}
/* Find a Meeting — TSML overrides */
#tsml-ui > div > h1 { display: none !important; }
@media (min-width: 600px) {
  #tsml-ui > div > div:first-of-type { display: flex !important; align-items: center !important; gap: 8px !important; }
  #tsml-ui > div > div:first-of-type > form { flex: 1 1 auto !important; min-width: 0; }
}
#tsml-ui > div > div:first-of-type:has(~ div) > div:nth-child(3) { display: none !important; }
#tsml-ui button[data-active="true"] { background-color: #0c2d54 !important; border-color: #0c2d54 !important; }

/* ── Elected member positions (role single page) ─────────────────── */
.d10-elected-wrap {
  margin-top: 16px;
}
.d10-em-list {
  margin: 4px 0 0 0;
  padding: 0 0 0 22px;
  list-style: decimal;
}
.d10-em-list li {
  font-size: 15px;
  color: #1f3a5f;
  line-height: 1.6;
  padding: 1px 0;
}
@media (max-width: 767px) {
  .d10-elected-wrap {
    margin-top: 24px;
  }
}

/* -----------------------------------------------------------------------------
   Design Refresh utilities (DR-3)
   Defined for later DR rows; NOT yet applied to live markup, so no visible
   change. Use the locked navy/teal tokens defined in :root above.
   ----------------------------------------------------------------------------- */
.d10-btn-primary {
  display: inline-block;
  background: var(--navy-anchor);
  color: #fff;
  font-weight: 600;
  border-radius: 4px;
  padding: 14px 28px;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease;
}
.d10-btn-primary:hover,
.d10-btn-primary:focus-visible {
  background: var(--navy-scrim);
  color: #fff;
  transform: translateY(-1px);
}

.d10-link {
  color: var(--teal);
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.d10-link:hover,
.d10-link:focus-visible { color: var(--teal-deep); }
.d10-link .d10-link-arrow { transition: transform .2s ease; }
.d10-link:hover .d10-link-arrow,
.d10-link:focus-visible .d10-link-arrow { transform: translateX(5px); }

@media (prefers-reduced-motion: reduce) {
  .d10-btn-primary,
  .d10-link .d10-link-arrow { transition: none; }
  .d10-btn-primary:hover,
  .d10-btn-primary:focus-visible { transform: none; }
  .d10-link:hover .d10-link-arrow,
  .d10-link:focus-visible .d10-link-arrow { transform: none; }
}


/* =========================================
   DR-4 typography pass (Bricolage Grotesque)
   Built from DESIGN.md type scale. Font enqueued in functions.php
   (dist10_enqueue_bricolage). Authoritative type layer, appended last
   so it wins source-order ties against Divi and earlier rules.
   ========================================= */

:root { --d10-font: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

/* One family site-wide. !important to beat Divi's Customizer font.
   Icon fonts live on ::before pseudo-elements, which are NOT targeted here. */
body,
button, input, select, textarea, optgroup,
h1, h2, h3, h4, h5, h6,
p, a, li, blockquote, figcaption, label,
.et_pb_text, .entry-content, .entry-title,
#main-header, #et-top-navigation, #top-menu a, .et_pb_menu a,
#main-footer, .d10-page, .d10-content-page,
.d10-page-h1, .page-h1, .page-h2 {
  font-family: var(--d10-font) !important;
}

/* Body rhythm + crisper rendering */
body {
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Display headings: negative tracking + balanced wrapping (DESIGN.md) */
h1, h2, h3,
.d10-page-h1, .page-h1, .page-h2, .d10-page-h2,
.entry-title.main_title {
  text-wrap: balance;
  letter-spacing: -0.02em;
}

/* Page H1 scale (beats the earlier 32px !important holdouts via source order) */
.d10-page-h1,
.d10-page-head h1,
.entry-title.main_title,
body.page .d10-page-h1,
body.archive .d10-page-head h1 {
  font-size: clamp(2.2rem, 4vw, 3.2rem) !important;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

/* Section H2: canonical section-heading classes only (don't resize component h2s) */
.page-h2,
.d10-page-h2,
body.page .d10-page-h2,
body .page-h2 {
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* H3: list / card / door titles. Weight + tracking only; sizes left intact. */
.d10-content-page h3,
.d10-page h3 {
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

/* Lead / intro paragraph */
.d10-page-lede,
.d10-page-head .d10-page-sub {
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

/* Eyebrows / kickers + small-caps section labels: wide positive tracking, uppercase */
.d10-flyer-section-heading,
.d10-eyebrow,
.d10-kicker {
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* === DR-5a/5b homepage hero (full-bleed photo, white text on navy scrim) === */
.d10-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;min-height:clamp(520px,76vh,720px);display:flex;flex-direction:column;padding:0;background:#0c2d54 url('/wp-content/uploads/2026/06/D10_HomepageHero.jpg') center/cover no-repeat;}
.d10-hero-eyebrow{display:none;}
.d10-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,31,60,.5) 0%,rgba(8,31,60,.18) 40%,rgba(8,31,60,.85) 100%);}
.d10-hero-content{position:relative;margin:auto auto 0;width:100%;max-width:1240px;padding:0 28px clamp(48px,7vw,72px);}
.d10-hero .d10-hero-title{font-size:clamp(2.6rem,6vw,5rem);font-weight:700;line-height:1.02;letter-spacing:-0.025em;color:#fff;margin:0;max-width:16ch;text-wrap:balance;}
.d10-hero .d10-hero-subtitle{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;color:#dbe6f1;margin:18px 0 0;max-width:46ch;}
.d10-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:32px;}
.d10-hero .d10-btn-primary{font-size:1.05rem;padding:14px 30px;box-shadow:0 10px 30px rgba(8,31,60,.45);}
.d10-hero a.d10-hero-call{color:#fff;font-weight:600;font-size:1.02rem;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.45);padding-bottom:2px;}
.d10-hero a.d10-hero-call:hover,.d10-hero a.d10-hero-call:focus-visible{border-bottom-color:#fff;}


/* === DR-6a: Serving District 10 featured split panel (homepage) ===
   Image-led featured panel for the priority Service "door" (DESIGN.md Rule 2).
   Photo + navy text block; next business meeting folded in (DR-7 retires the
   duplicate callout). Photo is the hero image as an interim placeholder until
   a dedicated panel photo is sourced in DR-PHOTO. */
.d10-serve { max-width: 1240px; margin: 0 auto; padding: clamp(36px,5vw,64px) 28px 0; }
.d10-serve-panel { overflow: hidden; border-radius: 8px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
.d10-serve-photo { position: relative; min-height: 420px; background: var(--navy-anchor,#0c2d54) url('/wp-content/uploads/2026/06/D10_ServePhoto.webp') center center/cover no-repeat; }
.d10-serve-photo::after { content:""; position:absolute; inset:0; background: rgba(12,45,84,.20); }
.d10-serve-body { background: var(--navy-anchor,#0c2d54); color:#fff; padding: clamp(34px,4vw,56px); }
.d10-serve-eyebrow { font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color: var(--on-navy-eyebrow,#7fb2cc); }
.d10-serve-title { font-size: clamp(2rem,3vw,2.7rem); font-weight:700; letter-spacing:-0.02em; line-height:1.05; margin:14px 0 0; color:#fff; text-wrap:balance; }
.d10-serve-lead { color: var(--on-navy-body,#c4d4e6); font-size:1.05rem; line-height:1.55; margin:16px 0 0; max-width:40ch; }
.d10-serve-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:26px; }
.d10-serve-link { color:#fff; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.d10-serve-link:hover, .d10-serve-link:focus-visible { color:#fff; }
.d10-serve-link .d10-link-arrow { transition: transform .2s ease; }
.d10-serve-link:hover .d10-link-arrow, .d10-serve-link:focus-visible .d10-link-arrow { transform: translateX(5px); }
.d10-serve-next { margin-top:30px; padding-top:22px; border-top:1px solid rgba(255,255,255,.18); display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.d10-serve-next-label { font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color: var(--on-navy-eyebrow,#7fb2cc); }
.d10-serve-next-date { font-size:1.15rem; font-weight:600; color:#fff; }
.d10-serve-next-meta { color: var(--on-navy-muted,#aebfd3); }
@media (max-width:860px){
  .d10-serve-panel { grid-template-columns: 1fr; }
  .d10-serve-photo { min-height: 240px; }
}
@media (prefers-reduced-motion: reduce){
  .d10-serve-link .d10-link-arrow { transition:none; }
  .d10-serve-link:hover .d10-link-arrow, .d10-serve-link:focus-visible .d10-link-arrow { transform:none; }
}


/* === DR-6b: homepage doors (image-led hooks) === */
.d10-doors {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(28px, 4vw, 56px);
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(36px, 5vw, 64px) 28px clamp(60px, 8vw, 100px);
}
.d10-door {
  border: none !important;
  background: none !important;
  border-radius: 0;
  padding: 0 !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.d10-door:hover { box-shadow: none !important; }
.d10-door-photo {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  background: linear-gradient(180deg, rgba(8,31,60,.12) 0%, rgba(8,31,60,.18) 45%, rgba(8,31,60,.68) 100%), url('/wp-content/uploads/2026/06/D10_DoorPhoto.webp') center/cover no-repeat;
}
.d10-door-member .d10-door-photo {
  background: linear-gradient(180deg, rgba(8,31,60,.12) 0%, rgba(8,31,60,.18) 45%, rgba(8,31,60,.68) 100%), url('/wp-content/uploads/2026/06/D10_DoorPhoto-member.webp') center/cover no-repeat;
}
.d10-door-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 80% at 18% 8%, rgba(127,178,204,.28), rgba(127,178,204,0) 60%);
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.d10-door-photo:hover::before { transform: scale(1.06); }
.d10-door-place {
  position: absolute;
  left: 18px;
  bottom: 16px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #7fb2cc;
}
.d10-door-body { padding-top: 22px; }
.d10-door-eyebrow {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--teal, #0e7490);
}
.d10-door-title {
  font-size: clamp(1.45rem, 2.2vw, 1.85rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--navy-anchor, #0c2d54) !important;
  margin: 10px 0 0;
  text-wrap: balance;
}
.d10-door-title a { color: inherit; text-decoration: none; }
.d10-door-title a:hover { color: var(--teal, #0e7490) !important; }
.d10-door-text {
  color: var(--ink, #17222e);
  font-size: 1.02rem;
  line-height: 1.55;
  margin: 12px 0 0;
  max-width: 42ch;
}
.d10-door-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 16px;
}
.d10-door-link {
  color: var(--teal, #0e7490);
  font-weight: 600;
  text-decoration: none;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
}
.d10-door-link .d10-link-arrow { display: inline-block; margin-left: 6px; transition: transform .2s ease; }
.d10-door-link:hover { color: var(--teal-deep, #0b5567); }
.d10-door-link:hover .d10-link-arrow { transform: translateX(5px); }
@media (prefers-reduced-motion: reduce) {
  .d10-door-photo::before, .d10-door-link .d10-link-arrow { transition: none !important; }
  .d10-door-photo:hover::before, .d10-door-link:hover .d10-link-arrow { transform: none !important; }
}
/* === end DR-6b === */


/* === DR-8: Resources de-badged — section group spacing === */
.d10-resources-section .d10-page-h2 { margin-top: 0; }
.d10-resources-section .d10-res-grid { margin-bottom: 0; }
.d10-resources-section + .d10-resources-section { margin-top: clamp(48px, 6vw, 84px); }


/* === DR-SVC: Service page (open positions) reskin =====================
   Applies the DESIGN.md visual language to the [d10_open_positions] output.
   CSS-only: the status-pill states + Roles CPT mechanism are untouched.
   Scoped to the shortcode's own classes so generic .btn/.badge elsewhere
   are unaffected. No banner image (locked). ===========================*/
.d10-opp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:clamp(20px,2.5vw,28px);padding:0;margin-top:clamp(32px,4vw,52px);}
.d10-opp-card{background:#fff;border:1px solid var(--line,#e3e5e8);border-radius:8px;padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease;}
.d10-opp-card:hover{border-color:#cfd6df;box-shadow:0 6px 22px rgba(8,31,60,.06);}
/* status pill â teal/navy/grey, never amber (DESIGN Rule 3) */
.d10-opp-card .badge{align-self:flex-start;display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:14px;background:rgba(14,116,144,.10);color:var(--teal,#0e7490);}
.d10-opp-card .badge.badge-open{background:rgba(14,116,144,.10);color:var(--teal,#0e7490);}
.d10-opp-card .badge.badge-closing_soon{background:rgba(12,45,84,.10);color:var(--navy-anchor,#0c2d54);}
.d10-opp-card .badge.badge-filled{background:rgba(90,103,117,.12);color:var(--muted,#5a6775);}
.d10-opp-title{font-size:1.2rem;font-weight:700;line-height:1.2;letter-spacing:-0.01em;color:var(--navy-anchor,#0c2d54);margin:0 0 8px;padding:0;}
.d10-opp-blurb{font-size:1rem;font-weight:400;line-height:1.55;color:var(--ink,#17222e);max-width:46ch;margin:0 0 16px;}
.d10-opp-meta{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:8px;}
.d10-opp-meta li{font-size:15px;line-height:1.5;color:var(--muted,#5a6775);}
.d10-opp-meta li strong{font-weight:600;color:var(--navy-anchor,#0c2d54);}
.d10-opp-actions{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:18px;}
/* primary CTA -> navy (DESIGN Rule 3) */
.d10-opp-actions .btn-primary{background:var(--navy-anchor,#0c2d54);color:#fff;border:none;border-radius:4px;font-weight:600;padding:12px 22px;text-decoration:none;transition:transform .15s ease,background .15s ease;}
.d10-opp-actions .btn-primary:hover{background:var(--navy-scrim,#081f3c);transform:translateY(-1px);}
/* secondary -> teal text link with sliding arrow */
.d10-opp-actions .btn:not(.btn-primary){background:none;border:none;padding:0;color:var(--teal,#0e7490);font-weight:600;text-decoration:none;}
.d10-opp-actions .btn:not(.btn-primary)::after{content:" \2192";display:inline-block;transition:transform .2s ease;}
.d10-opp-actions .btn:not(.btn-primary):hover{color:var(--teal-deep,#0b5567);}
.d10-opp-actions .btn:not(.btn-primary):hover::after{transform:translateX(5px);}
/* election & rotation timeline â token alignment */
.d10-timeline{background:var(--wash,#fafbfc);border:1px solid var(--line,#e3e5e8);border-radius:8px;}
.d10-timeline h3{color:var(--navy-anchor,#0c2d54);}
.d10-timeline-sub{color:var(--muted,#5a6775);}
.d10-timeline-dot{background:var(--navy-anchor,#0c2d54);}
.d10-timeline-stop.future .d10-timeline-dot{background:#fff;border:2px solid #cdd5df;}
.d10-timeline-stop .month{color:var(--navy-anchor,#0c2d54);font-weight:600;}
.d10-timeline-stop .label{color:var(--muted,#5a6775);}
/* bottom callouts â token alignment (teal icon chips, navy CTAs) */
.d10-callout{background:var(--wash,#fafbfc);border:1px solid var(--line,#e3e5e8);border-radius:8px;}
.d10-callout-icon{background:rgba(14,116,144,.10)!important;color:var(--teal,#0e7490)!important;}
.d10-callout-body strong,.d10-callout-body h3{color:var(--navy-anchor,#0c2d54);}
.d10-callout-cta{border:1px solid #cdd5df;color:var(--navy-anchor,#0c2d54);border-radius:4px;transition:background .15s ease,color .15s ease,border-color .15s ease;}
.d10-callout-cta:hover{background:var(--navy-anchor,#0c2d54);color:#fff;border-color:var(--navy-anchor,#0c2d54);}
@media (prefers-reduced-motion:reduce){.d10-opp-card,.d10-opp-actions .btn-primary,.d10-opp-actions .btn:not(.btn-primary)::after,.d10-callout-cta{transition:none!important;transform:none!important;}}
/* === end DR-SVC === */

/* === DR-10a: Calendar grid widen + recurring directory restyle === */
.cal-grid{ grid-template-columns:320px 1fr; gap:clamp(28px,4vw,40px); }
@media (max-width:860px){ .cal-grid{ grid-template-columns:1fr; } }
.recurring{ border:0; border-radius:0; background:transparent; padding:0; }
.recurring h3{ font-size:14px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted,#5a6775); margin:0 0 6px; }
.recurring .hint{ color:var(--text-muted,#5a6775); font-size:13px; margin:0 0 10px; line-height:1.45; }
.d10-recurring-list{ border-top:1px solid var(--line,#e3e5e8); }
.d10-recurring-list li{ display:block; grid-template-columns:none; gap:0; margin:0; padding:14px 34px 14px 2px; border-top:0; border-bottom:1px solid var(--line,#e3e5e8); border-radius:0; position:relative; transition:background .12s ease; }
.d10-recurring-list li:first-child{ border-top:0; }
.d10-recurring-list li:hover{ background:var(--row-hover,#f4f6f8); }
.d10-recurring-list li > p{ margin:0; }
.recur-when{ display:block; font-size:12px; font-weight:600; letter-spacing:.04em; color:var(--teal,#0e7490); line-height:1.35; }
.recur-name{ font-size:1.02rem; font-weight:600; color:var(--navy-anchor,#0c2d54); margin-top:3px; letter-spacing:-0.01em; }
.recur-meta{ font-size:14px; color:var(--text-muted,#5a6775); margin-top:2px; }
.recur-chev{ position:absolute; right:8px; top:50%; transform:translateY(-50%); color:var(--text-muted,#5a6775); font-size:20px; line-height:1; transition:transform .18s ease, color .18s ease; }
.d10-recurring-list li:hover .recur-chev{ transform:translateY(-50%) translateX(4px); color:var(--teal,#0e7490); }
.month-view .fc, .fc{ --fc-border-color: var(--line,#e3e5e8); }
.fc .fc-daygrid-day-frame{ min-height:92px; }
.fc .fc-day-today{ background:var(--today-cell,#fffdf3) !important; }
.fc .fc-col-header-cell{ text-align:left; }
.fc .fc-col-header-cell-cushion{ text-transform:uppercase; font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--text-muted,#5a6775); padding:6px 8px; display:inline-block; }
@media (prefers-reduced-motion:reduce){ .d10-recurring-list li, .recur-chev{ transition:none; } .d10-recurring-list li:hover .recur-chev{ transform:translateY(-50%); } }

/* === DR-10a fix: beat inline content-CSS on recurring row colors (0,2,0) === */
.d10-recurring-list .recur-when{ color:var(--teal,#0e7490); }
.d10-recurring-list .recur-name{ color:var(--navy-anchor,#0c2d54); }
.d10-recurring-list .recur-meta{ color:var(--text-muted,#5a6775); }
.d10-recurring-list .recur-chev{ color:var(--text-muted,#5a6775); }
.d10-recurring-list li:hover .recur-chev{ color:var(--teal,#0e7490); }


/* === DR-10b: Find a Meeting (TSML) token recolor =====================
   Widen = no-op: TSML already fills the full Divi content area (~1092px),
   same finding as DR-10a's calendar grid. Recolor only, via CSS overrides.
   In-person / online chips are keyed off the STABLE svg[data-testid] hooks
   (icon-geo / icon-camera), never the churning Emotion .css-* classes. */
#tsml-ui a { color: #0e7490 !important; }                 /* links -> teal */
#tsml-ui a:hover, #tsml-ui a:focus { color: #0b5567 !important; }
#tsml-ui span:has(> svg[data-testid="icon-geo"]),
#tsml-ui span:has(> svg[data-testid="icon-camera"]) {     /* address/Zoom chips */
  color: #0e7490 !important;
  background: rgba(14,116,144,.10) !important;            /* was green / blue */
}
#tsml-ui table td, #tsml-ui table th { border-color: #e3e5e8 !important; }
#tsml-ui tbody tr:hover { background: #f4f6f8 !important; }
.d10-day-btn { color: #5a6775 !important; }               /* inactive -> --text-muted */
.d10-day-btn.is-active { color: #0c2d54 !important; }
/* === end DR-10b ===================================================== */

/* === DR-12: flyer empty-image fallback === */
.flyer-art-fallback{
  width:100%;
  aspect-ratio:3/4;
  border-radius:6px;
  background:linear-gradient(160deg, var(--navy-anchor,#0c2d54), var(--navy-scrim,#081f3c));
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  padding:24px;
  box-sizing:border-box;
}
.flyer-fb-eyebrow{
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--on-navy-eyebrow,#7fb2cc);
}
.flyer-fb-title{
  font-size:1.4rem;
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.01em;
  margin-top:10px;
  color:#fff;
}

.flyer-art:has(> .flyer-art-fallback){
  padding:0;
  background:none;
}

.flyer-art:has(> .flyer-art-fallback)::after{display:none;}

/* === DR-13: calendar chip truncation + navy/teal recolor === */
.fc-daygrid-event .fc-event-title-container{min-width:0;}
.fc-daygrid-event .fc-event-title{text-overflow:ellipsis !important;overflow:hidden;white-space:nowrap;}
.fc-daygrid-event.fc-h-event{padding:1px 2px;}
/* DESIGN.md Rule 3 â color = hierarchy, not category. Navy = standing district & committee meetings. */
.fc-daygrid-event.cat-district,
.fc-daygrid-event.cat-committee{background:var(--navy-anchor,#0c2d54) !important;color:#fff !important;border-color:var(--navy-anchor,#0c2d54) !important;}
/* Teal = workshops, special & external-feed (Area 72 / gcal) events. */
.fc-daygrid-event.cat-workshop,
.fc-daygrid-event.cat-meeting,
.fc-daygrid-event.cat-special{background:var(--teal,#0e7490) !important;color:#fff !important;border-color:var(--teal,#0e7490) !important;}
.fc-list-event.cat-district .fc-list-event-dot,
.fc-list-event.cat-committee .fc-list-event-dot{border-color:var(--navy-anchor,#0c2d54) !important;}
.fc-list-event.cat-workshop .fc-list-event-dot,
.fc-list-event.cat-meeting .fc-list-event-dot,
.fc-list-event.cat-special .fc-list-event-dot{border-color:var(--teal,#0e7490) !important;}
.fc-daygrid-event .fc-event-time{flex-shrink:0;}

/* === DR-9: Resources cards -> scannable hairline list === */
.d10-content-page .d10-res-grid{display:block;grid-template-columns:none;gap:0;border-top:1px solid var(--line,#e3e5e8)}
.d10-content-page .d10-res-card{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:24px;row-gap:2px;border:0;border-bottom:1px solid var(--line,#e3e5e8);border-radius:0;background:none;padding:18px 14px;min-height:0;transition:background .15s ease}
.d10-content-page .d10-res-card:hover{background:var(--row-hover,#f4f6f8)}
.d10-content-page .d10-res-card .d10-res-title{grid-column:1;font-size:1.12rem;font-weight:600;color:var(--navy-anchor,#0c2d54);margin:0}
.d10-content-page .d10-res-card .d10-res-meta{grid-column:1;color:var(--muted,#5a6775);font-size:15px;margin:0;flex:none;max-width:74ch;line-height:1.45}
.d10-content-page .d10-res-card .d10-res-link{grid-column:2;grid-row:1 / -1;align-self:center;justify-self:end;white-space:nowrap;color:var(--teal,#0e7490);font-weight:600;font-size:15px}
.d10-content-page .d10-res-card .d10-res-link:hover{text-decoration:none;color:var(--teal-deep,#0b5567)}
.d10-content-page .d10-res-card .d10-res-icon{grid-column:1;grid-row:1;width:24px;height:24px;background:none;border-radius:0;margin:0 0 2px;justify-content:flex-start}
.d10-content-page .d10-res-card .d10-res-icon svg{width:20px;height:20px}
.d10-content-page .d10-res-card:has(> .d10-res-icon){grid-template-columns:auto 1fr auto;column-gap:14px}
.d10-content-page .d10-res-card:has(> .d10-res-icon) .d10-res-icon{grid-column:1;grid-row:1 / span 2;align-self:center;width:22px;height:22px;margin:0}
.d10-content-page .d10-res-card:has(> .d10-res-icon) .d10-res-title{grid-column:2}
.d10-content-page .d10-res-card:has(> .d10-res-icon) .d10-res-meta{grid-column:2}
.d10-content-page .d10-res-card:has(> .d10-res-icon) .d10-res-link{grid-column:3;grid-row:1 / -1}
@media (prefers-reduced-motion: reduce){.d10-content-page .d10-res-card{transition:none}}

/* === DR-11: spacing rhythm pass (masthead + home cadence) === */
/* Home: full-bleed hero sits flush under the white nav (removes the dead top band) */
body.home .entry-content { padding-top: 0; }
/* Inner pages: collapse the redundant double top padding (entry-content + content-page)
   into a single fluid masthead gap on the DESIGN.md scale */
body:not(.home) .entry-content { padding-top: clamp(40px, 5vw, 72px); }
.entry-content .d10-content-page, .entry-content .d10-page-head { padding-top: 0 !important; }
/* Home closing "About" band: rhythmic spacing instead of a big void + cramped strip */
body.home .d10-doors { padding-bottom: clamp(44px, 6vw, 76px); }
body.home .d10-about-strip { margin-top: 0; padding-top: clamp(40px, 5vw, 60px); padding-bottom: clamp(40px, 5vw, 60px); }

/* === DR-15: final polish + a11y (focus ring, active nav, calendar nums, FAB token, touch targets) === */

/* P1 visible keyboard focus (parent theme zeroes outline; restore on :focus-visible only) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible, summary:focus-visible {
  outline: 2px solid var(--teal, #0e7490);
  outline-offset: 2px;
  border-radius: 2px;
}
/* light ring where focusables sit on navy / photo backgrounds */
.d10-hero a:focus-visible, .d10-serve a:focus-visible, .d10-serve button:focus-visible,
.d10-door a:focus-visible, .d10-footer a:focus-visible, .d10-footer-nav a:focus-visible,
.d10-footer-contact a:focus-visible { outline-color: #fff; }

/* P1 active/current nav link: navy text + 2px underline (was Divi-default #2EA3F2 @ 2.75:1) */
#top-menu li.current-menu-item > a, #top-menu li.current_page_item > a,
#top-menu li.current-menu-ancestor > a {
  color: var(--navy-anchor, #0c2d54) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 12px;
  text-decoration-color: var(--navy-anchor, #0c2d54);
}

/* P3 adjacent-month day numbers were #cbd5e1 @ 1.48:1; lift to --muted (AA) */
.fc .fc-day-other .fc-daygrid-day-number { color: var(--text-muted, #5a6775) !important; opacity: .8; }

/* P3 align emergency-red family to DESIGN.md --red #c0392b (was --danger #b91c1c) */
:root { --danger: #c0392b; --danger-hover: #a02d22; }

/* adapt: touch targets toward 44px on coarse pointers (day tabs, pills) */
@media (pointer: coarse) {
  .d10-day-btn, .d10-tab-btn, .d10-tab, #d10-directory .chip {
    min-height: 44px; display: inline-flex; align-items: center;
  }
}

/* === Find a Meeting day tabs: visible inkbar + no scrollbar + 16px (2026-06-20) === */
/* TSML's day-nav wrapper sets overflow-y:auto; the old active underline used a
   margin-bottom:-2px overlap that poked below the content box, so instead of showing
   the underline the browser added a vertical scrollbar. Draw the active inkbar with an
   inset box-shadow (no layout overflow) and hide the y-axis scroll. */
div:has(> .d10-day-btn) { overflow-y: hidden; }
.d10-day-btn {
  font-size: 16px;
  margin-bottom: 0;
  border-bottom: 2px solid transparent;
  box-shadow: none;
}
.d10-day-btn.is-active {
  border-bottom-color: transparent;
  box-shadow: inset 0 -2px 0 0 #0c2d54;
}

/* ============================================================
   === ANIM-1: motion foundation (easing tokens + global
   prefers-reduced-motion guard + reveal helper hook) ===
   Reveal initial/hidden states and per-component motion are
   added by later ANIM rows; this block only sets up tokens
   and the global accessibility guard. No visible change. */
:root {
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out-expo:  cubic-bezier(0.16, 1, 0.3, 1);
}

/* Global guard: neutralizes ALL animation/transition motion site-wide
   whenever the visitor has asked for reduced motion. Every future ANIM
   rule is covered automatically; reveal elements are forced visible so
   nothing that fades/slides in can ever stay hidden. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
  .d10-reveal { opacity: 1 !important; transform: none !important; }
}
/* === end ANIM-1 === */


/* === ANIM-2: hero entrance (Ken Burns drift + content fade-up) === */
.d10-hero{overflow:hidden;background-image:none;}
.d10-hero::before{content:"";position:absolute;inset:0;z-index:0;background:#0c2d54 url('/wp-content/uploads/2026/06/D10_HomepageHero.jpg') center/cover no-repeat;transform:scale(1) translate(0,0);transform-origin:50% 42%;will-change:transform;pointer-events:none;animation:d10HeroKenBurns 20s var(--ease-out-quart) forwards, d10HeroFadeIn 1100ms ease-in-out both;}
@keyframes d10HeroKenBurns{from{transform:scale(1) translate(0,0);}to{transform:scale(1.06) translate(-1.4%,-1.1%);}}
@keyframes d10HeroFadeIn{from{opacity:0;}to{opacity:1;}}
.d10-hero .d10-hero-content{animation:d10HeroRise 700ms var(--ease-out-quint) both;}
@keyframes d10HeroRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
/* === end ANIM-2 === */


/* === ANIM-3: calendar skeleton loader === */
.month-view.d10-skel-active{ position:relative; min-height:620px; }
.d10-cal-skeleton{ position:absolute; inset:0; z-index:5; background:#fff; display:flex; flex-direction:column; gap:14px; padding:6px 2px 2px; border-radius:8px; opacity:1; transition:opacity .45s var(--ease-out-quart, ease); }
.d10-cal-skeleton.is-hidden{ opacity:0; pointer-events:none; }
.d10-cal-skel-toolbar{ height:38px; width:58%; max-width:320px; }
.d10-cal-skel-weekdays{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.d10-cal-skel-weekdays span{ height:18px; border-radius:4px; }
.d10-cal-skel-grid{ flex:1 1 auto; display:grid; grid-template-columns:repeat(7,1fr); grid-auto-rows:1fr; gap:8px; min-height:460px; }
.d10-cal-skel-toolbar, .d10-cal-skel-weekdays span, .d10-cal-skel-cell{ position:relative; overflow:hidden; background:var(--wash,#fafbfc); border:1px solid var(--line,#e3e5e8); border-radius:6px; }
.d10-cal-skel-toolbar::after, .d10-cal-skel-weekdays span::after, .d10-cal-skel-cell::after{ content:''; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, rgba(12,45,84,0) 0%, rgba(12,45,84,0.05) 45%, rgba(12,45,84,0.09) 50%, rgba(12,45,84,0.05) 55%, rgba(12,45,84,0) 100%); animation:d10CalShimmer 1.8s var(--ease-out-quart, ease) infinite; }
@keyframes d10CalShimmer{ 0%{ transform:translateX(-100%); } 100%{ transform:translateX(100%); } }
@media (prefers-reduced-motion: reduce){ .d10-cal-skeleton{ display:none !important; } }
/* === end ANIM-3 === */

/* === ANIM-4: Find a Meeting (TSML) skeleton loader === */
#tsml-ui.d10-tsml-skel-active{position:relative;min-height:620px}
.d10-tsml-skeleton{position:absolute;inset:0;z-index:5;background:#fff;display:flex;flex-direction:column;gap:18px;overflow:hidden;transition:opacity .45s var(--ease-out-quart)}
.d10-tsml-skeleton.is-hidden{opacity:0}
.d10-tsml-skel-toolbar{display:flex;gap:14px;align-items:center}
.d10-tsml-skel-search{flex:1 1 auto;height:38px;border-radius:6px;background:var(--wash);border:1px solid var(--line)}
.d10-tsml-skel-toggle{width:96px;height:38px;border-radius:6px;background:var(--wash);border:1px solid var(--line)}
.d10-tsml-skel-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px;flex-wrap:wrap}
.d10-tsml-skel-tab{width:64px;height:18px;border-radius:4px;background:var(--wash)}
.d10-tsml-skel-rows{display:flex;flex-direction:column}
.d10-tsml-skel-row{display:flex;gap:18px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}
.d10-tsml-skel-cell{height:14px;border-radius:4px;background:var(--wash)}
.d10-tsml-skel-cell.t{width:60px;flex:0 0 auto}
.d10-tsml-skel-cell.n{flex:1 1 auto;max-width:280px}
.d10-tsml-skel-cell.l{width:160px;flex:0 0 auto}
.d10-tsml-skel-cell.r{width:90px;flex:0 0 auto}
.d10-tsml-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,45,84,0) 0%,rgba(12,45,84,.09) 50%,rgba(12,45,84,0) 100%);transform:translateX(-100%);animation:d10TsmlShimmer 1.8s var(--ease-out-quart) infinite;pointer-events:none}
@keyframes d10TsmlShimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media (prefers-reduced-motion: reduce){.d10-tsml-skeleton{display:none!important}}
/* === end ANIM-4 === */

/* === ANIM-5: calendar modal enter/exit + CTA press feedback === */
/* Entrance plays automatically via CSS keyframes when the existing .open class is applied,
   so the modal is never left invisible if a frame is dropped; the end state is fully visible.
   Exit is played by dist10_modal_anim_js() (adds .d10-anim-out) just before the real close. */
.modal-backdrop.open{ animation:d10ModalBgIn .24s var(--ease-out-quart) both; }
.modal-backdrop.open .modal-card{ animation:d10ModalCardIn .28s var(--ease-out-quint) both; will-change:transform,opacity; }
@keyframes d10ModalBgIn{ from{opacity:0} to{opacity:1} }
@keyframes d10ModalCardIn{ from{opacity:0; transform:translateY(14px) scale(.985)} to{opacity:1; transform:none} }

/* exit (~70% of enter duration) — plays while .open is still present, then the modal closes for real */
.modal-backdrop.open.d10-anim-out{ animation:d10ModalBgOut .17s var(--ease-out-quart) both; }
.modal-backdrop.open.d10-anim-out .modal-card{ animation:d10ModalCardOut .17s var(--ease-out-quint) both; }
@keyframes d10ModalBgOut{ from{opacity:1} to{opacity:0} }
@keyframes d10ModalCardOut{ from{opacity:1; transform:none} to{opacity:0; transform:translateY(8px) scale(.99)} }

/* CTA press feedback: quick press-scale on primary buttons + modal CTAs */
.d10-btn-primary, .modal-card .btn{ transition:transform .1s var(--ease-out-quart), background-color .2s, border-color .2s, box-shadow .2s, color .2s; }
.d10-btn-primary:active{ transform:scale(.97); }
.modal-card .btn:active{ transform:scale(.97); }

@media (prefers-reduced-motion: reduce){
  .modal-backdrop.open, .modal-backdrop.open .modal-card,
  .modal-backdrop.open.d10-anim-out, .modal-backdrop.open.d10-anim-out .modal-card{ animation:none !important; opacity:1; transform:none; }
  .d10-btn-primary:active, .modal-card .btn:active{ transform:none; }
}
/* === end ANIM-5 === */


/* === ANIM-6: flyer + Resources stagger (first-view fade-in) === */
.d10-anim-js .d10-reveal { opacity: 0; }
.d10-anim-js .d10-reveal.is-visible {
  animation: d10RevealIn 460ms var(--ease-out-quint, cubic-bezier(0.22,1,0.36,1)) both;
  animation-delay: calc(var(--i, 0) * 50ms);
  will-change: opacity, transform;
}
@keyframes d10RevealIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .d10-anim-js .d10-reveal,
  .d10-anim-js .d10-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}
/* === end ANIM-6 === */

/* === Hero CTA white-invert (button polish) === */
.d10-hero .d10-btn-primary{background:#fff;color:var(--navy-anchor,#0c2d54);}
.d10-hero .d10-btn-primary:hover,.d10-hero .d10-btn-primary:focus-visible{background:var(--row-hover,#f4f6f8);color:var(--navy-anchor,#0c2d54);transform:translateY(-1px);}
/* === end Hero CTA white-invert === */


/* === Mobile nav sheet radius (round bottom corners, card-sized 8px) === */
.et_mobile_menu{
  border-bottom-left-radius:8px;
  border-bottom-right-radius:8px;
  overflow:hidden;
}
/* === end mobile nav sheet radius === */


/* === Mobile nav hamburger morphs to X (close) when menu open === */
.mobile_nav.opened .mobile_menu_bar:before{content:"\00004D";}


/* === DR/ANIM follow-up: "Meeting details" link + in-place modal (serving panel) === */
.d10-serve-next-row { flex-basis:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:4px; }
.d10-serve-details { -webkit-appearance:none; appearance:none; background:none; border:0; padding:0; margin:0; font:inherit; cursor:pointer; color:#fff; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.d10-serve-details:hover, .d10-serve-details:focus-visible { color:#fff; }
.d10-serve-details .d10-link-arrow { transition: transform .2s ease; }
.d10-serve-details:hover .d10-link-arrow, .d10-serve-details:focus-visible .d10-link-arrow { transform: translateX(5px); }

.d10-serve-modal[hidden] { display:none; }
.d10-serve-modal { position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(8,31,60,.55); }
.d10-serve-modal-card { position:relative; width:100%; max-width:440px; background:#fff; color:var(--ink,#17222e); border-radius:8px; padding:30px 28px 26px; box-shadow:0 20px 60px rgba(8,31,60,.35); }
.d10-serve-modal-x { position:absolute; top:8px; right:12px; background:none; border:0; font-size:28px; line-height:1; color:var(--muted,#5a6775); cursor:pointer; }
.d10-serve-modal-x:hover { color:var(--ink,#17222e); }
.d10-serve-modal-eyebrow { font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--teal,#0e7490); }
.d10-serve-modal-card h3 { margin:8px 0 0; font-size:1.4rem; font-weight:700; line-height:1.2; letter-spacing:-0.01em; color:var(--navy-anchor,#0c2d54); }
.d10-serve-modal-when { margin:12px 0 0; font-weight:600; color:var(--ink,#17222e); }
.d10-serve-modal-loc { margin:6px 0 0; color:var(--muted,#5a6775); line-height:1.5; }
.d10-serve-modal-loc strong { display:block; font-weight:600; color:var(--ink,#17222e); }
.d10-serve-modal-actions { margin-top:22px; display:flex; flex-wrap:wrap; gap:12px; }
.d10-serve-modal-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border-radius:4px; font-size:.95rem; font-weight:600; text-decoration:none; cursor:pointer; border:1px solid var(--navy-anchor,#0c2d54); background:#fff; color:var(--navy-anchor,#0c2d54); transition:transform .1s ease, background-color .2s ease; }
.d10-serve-modal-btn:active { transform:scale(.97); }
.d10-serve-modal-btn:hover { background:var(--row-hover,#f4f6f8); }
.d10-serve-modal-btn-primary { background:var(--navy-anchor,#0c2d54); color:#fff; }
.d10-serve-modal-btn-primary:hover { background:var(--navy-scrim,#081f3c); }
@media (prefers-reduced-motion: no-preference) {
  .d10-serve-modal { animation: d10ServeBgIn .2s ease both; }
  .d10-serve-modal-card { animation: d10ServeCardIn .24s var(--ease-out-quint, cubic-bezier(.22,1,.36,1)) both; }
}
@keyframes d10ServeBgIn { from { opacity:0; } to { opacity:1; } }
@keyframes d10ServeCardIn { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) {
  .d10-serve-details .d10-link-arrow { transition:none; }
  .d10-serve-details:hover .d10-link-arrow, .d10-serve-details:focus-visible .d10-link-arrow { transform:none; }
  .d10-serve-modal, .d10-serve-modal-card { animation:none; }
  .d10-serve-modal-btn { transition:none; }
  .d10-serve-modal-btn:active { transform:none; }
}


/* === Service & Committees directory: prevent width jump when filtering ===
   #d10-directory is a flex item (Divi column wrapper is display:flex/column) with
   auto horizontal margins (margin:40px auto). Auto cross-axis margins suppress the
   default align-self:stretch, so the box shrink-wrapped to its content width and
   re-centered when a filter (e.g. "Open positions only") reduced the rows. Forcing
   width:100% (clamped by max-width:1140px) keeps it full-width and stable. */
#d10-directory.d10-page { width: 100%; }

/* === Uniform masthead + footer spacing (session 66, Kip) === */
/* ~128px of air below the nav (h1) and above the footer on every page except home, scaling down to ~64px on small screens. Mirrors the service-and-committees reference (40+88=128). */
body:not(.home) .entry-content{
  padding-top: clamp(64px,10vw,128px) !important;
  padding-bottom: clamp(64px,10vw,128px) !important;
}
body:not(.home) .entry-content .d10-content-page{ padding-bottom: 0 !important; }
/* Calendar uses a Gutenberg .page-h1 -> match the standard .d10-page-h1 used on every other page */
body.page .page-h1{
  font-size: clamp(2.2rem,4vw,3.2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  font-weight: 700 !important;
  color: #1f3a5f !important;
  text-wrap: balance;
}
/* Roles archive (service-and-committees) has no .entry-content; it builds the gap from #d10-directory + .d10-page-head. Normalize to the same scale. */
body:not(.home) #d10-directory{
  margin-top: 0 !important;
  margin-bottom: clamp(64px,10vw,128px) !important;
}
body:not(.home) .d10-page-head{ padding-top: clamp(64px,10vw,128px) !important; }
/* === end uniform spacing === */

/* Find a Meeting (TSML): kill the inline min-height:100dvh on the app container so the meeting list hugs its content and the Downloads strip below it stays ~32px under the table instead of being pushed a full viewport down on tall/wide screens. Map view keeps its own explicit height, so it is unaffected. (session 66, Kip) */
#tsml-ui > div{ min-height: 0 !important; }


/* === Door photos: drop place labels + bluish overlay (session 67, Kip) === */
.d10-door-photo{background:url("/wp-content/uploads/2026/06/D10_DoorPhoto.webp") center center / cover no-repeat;}
.d10-door-member .d10-door-photo{background:url("/wp-content/uploads/2026/06/D10_DoorPhoto-member.webp") center center / cover no-repeat;}
.d10-door-photo::before{display:block;background:rgba(255,255,255,.09);transition:none;}
.d10-door-member .d10-door-photo::before{background:rgba(255,255,255,.25);}
.d10-door-place{display:none;}
/* === end door photo cleanup === */


/* === Unify page intro / subtitle styling across all pages (Kip, session 69) === */
.d10-page-lede,
.d10-lead,
.d10-page-sub,
.page-sub {
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: -0.01em !important;
  color: #475569 !important;
  max-width: none !important;
  margin: 0 0 18px !important;
  text-wrap: balance;
}


/* === TSML detail view: fix align-items so detail panel fills full width === */
#tsml-ui > div > div:only-child { align-items: stretch !important; }
/* === end TSML detail view fix === */

/* === Help panel: consistent stroke icons (session 74) === */
.d10-help-icon svg { display: block; width: 22px; height: 22px; margin-top: 1px; }

/* === Find a Meeting spacing refinements (session 82, Kip) === */
body.page-id-134 .d10-page-lede { padding-bottom: 0; }
body.page-id-134 #d10-day-accordion { margin-top: 32px; }
