/*
 * Theme Name:  HDAA Child
 * Theme URI:   https://hda2.org
 * Description: Kadence child theme for HDA2.org
 * Author:      HDAA
 * Template:    kadence
 * Version:     2.8.0
 * License:     GNU General Public License v2 or later
 * Text Domain: hdaa-child
 */

/* ─────────────────────────────────────────────
   TOKENS
───────────────────────────────────────────── */
:root {
    --c-green:       #4CAF51;
    --c-green-dk:    #3a8a2e;
    --c-green-lt:    #e8f5e9;
    --c-slate:       #1C2B2B;
    --c-slate-mid:   #2e3f3f;
    --c-muted:       #5a6e6e;
    --c-border:      #dde8dd;
    --c-grey:        #f4f7f4;
    --c-white:       #ffffff;
    --c-dark:        #1C2B2B;
    --radius:        8px;
    --max-w:         820px;
    --nav-h:         52px;
}

/* ─────────────────────────────────────────────
   HERO  — full bleed, moderate height
───────────────────────────────────────────── */
.hdaa-hero {
    position: relative;
    width: 100vw;
    margin-left:  calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    height: 320px;
    background: var(--c-slate) no-repeat center 35% / cover;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    margin-bottom: 0;
}

.hdaa-hero__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
        rgba(28,43,43,.15) 0%,
        rgba(28,43,43,.60) 55%,
        rgba(28,43,43,.92) 100%);
}

.hdaa-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 28px 36px;
}

.hdaa-hero__eyebrow {
    display: block;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--c-green) !important;
    margin: 0 0 8px !important;
}

.hdaa-wrap h1.hdaa-hero__title {
    color: #fff !important;
    margin: 0 0 8px !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.35);
    line-height: 1.15;
}

.hdaa-hero__sub {
    color: rgba(255,255,255,.78) !important;
    margin: 0 !important;
}

/* ─────────────────────────────────────────────
   STICKY SUBNAV
───────────────────────────────────────────── */
.hdaa-nav {
    width: 100vw;
    margin-left:  calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    position: sticky;
    top: 0;
    background: var(--c-white);
    border-bottom: 2px solid var(--c-border);
    z-index: 300;
    box-shadow: none;
    transition: box-shadow .15s;
}

.hdaa-nav--stuck {
    box-shadow: 0 2px 10px rgba(0,0,0,.10);
}

.hdaa-nav__inner {
    display: flex;
    align-items: center;
    height: var(--nav-h);
    max-width: var(--max-w);
    width: 100%;
    margin: 0 auto;
    padding: 0 28px;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.hdaa-nav__inner::-webkit-scrollbar { display: none; }

.hdaa-nav__spacer { flex: 1; }

.hdaa-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: var(--nav-h);
    padding: 0 14px;
    color: var(--c-muted) !important;
    font-weight: 500;
    text-decoration: none !important;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: color .12s, border-color .12s;
}

.hdaa-nav__link:hover {
    color: var(--c-slate) !important;
    text-decoration: none !important;
}

.hdaa-nav__link--active {
    color: var(--c-green-dk) !important;
    font-weight: 600;
    border-bottom-color: var(--c-green);
}

.hdaa-nav__link--member {
    height: auto;
    padding: 6px 14px;
    margin: auto 0;
    background: var(--c-green-lt);
    border: 1px solid var(--c-green);
    border-bottom: 1px solid var(--c-green);
    border-radius: var(--radius);
    color: var(--c-green-dk) !important;
    font-weight: 700;
}

.hdaa-nav__link--member:hover {
    background: var(--c-green);
    color: #fff !important;
}

/* ─────────────────────────────────────────────
   NEWS BANNER  (below nav)
───────────────────────────────────────────── */
.hdaa-news-banner {
    width: 100vw;
    margin-left:  calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #fffdf0;
    border-bottom: 2px solid #e8d97a;
}

.hdaa-news-banner__inner {
    max-width: var(--max-w);
    width: 100%;
    margin: 0 auto;
    padding: 28px 28px 32px;
}

.hdaa-news-banner__label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    color: #7a6000 !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: none !important;
}

.hdaa-news-banner__label svg {
    flex-shrink: 0;
    color: #b89a00;
}

.hdaa-news-banner__content {
    color: var(--c-slate-mid);
    line-height: 1.8;
}

.hdaa-news-banner__content p:last-child { margin-bottom: 0; }

.hdaa-news-banner__content a {
    color: var(--c-green-dk) !important;
    text-decoration: underline !important;
}

/* ─────────────────────────────────────────────
   SECTION BASE
───────────────────────────────────────────── */
.hdaa-sec {
    padding: 60px 28px;
}

.hdaa-sec--white { background: var(--c-white); padding: 72px 24px; }
.hdaa-sec--grey  { background: var(--c-grey);  }

.hdaa-sec--dark { background: var(--c-dark); padding: 72px 24px; }

.hdaa-sec__inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.hdaa-sec__label {
    font-weight: 700 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    color: var(--c-green-dk) !important;
    border-bottom: 2px solid var(--c-green-lt) !important;
    padding-bottom: 10px !important;
    margin-bottom: 28px !important;
}

/* ─────────────────────────────────────────────
   PROSE
───────────────────────────────────────────── */
.hdaa-prose {
    color: var(--c-slate-mid);
    line-height: 1.8;
}
.hdaa-prose p:last-child { margin-bottom: 0; }

/* ─────────────────────────────────────────────
   GOALS
───────────────────────────────────────────── */
.hdaa-goals {
    margin-top: 32px;
}

.hdaa-goals__heading {
    font-weight: 700 !important;
    color: var(--c-slate) !important;
    margin-bottom: 16px !important;
}

ul.hdaa-goals__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 10px 24px;
}

ul.hdaa-goals__list li {
    position: relative;
    padding-left: 18px !important;
    color: var(--c-slate-mid);
    line-height: 1.6;
}

ul.hdaa-goals__list li::before {
    content: '';
    position: absolute;
    left: 0; top: .6em;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--c-green);
}

/* ─────────────────────────────────────────────
   EVENTS
───────────────────────────────────────────── */
.hdaa-events__sub {
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: var(--c-muted) !important;
    margin: 0 0 20px !important;
}

.hdaa-events__sub--past {
    margin-top: 44px !important;
    padding-top: 36px !important;
    border-top: 1px solid var(--c-border) !important;
}

.hdaa-events { display: flex; flex-direction: column; }

.hdaa-events--past { opacity: .8; }

.hdaa-events__empty {
    color: var(--c-muted);
    font-style: italic;
    padding: 16px 0;
}

.hdaa-event {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 24px 0;
    border-bottom: 1px solid var(--c-border);
}
.hdaa-event:first-child { border-top: 1px solid var(--c-border); }

.hdaa-event__img {
    flex-shrink: 0;
    width: 120px;
    height: 90px;
    border-radius: var(--radius);
    overflow: hidden;
    display: block;
    background: var(--c-white);
}
.hdaa-event__img--sm { width: 80px; height: 60px; }

.hdaa-event__img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .2s ease;
}
.hdaa-event:hover .hdaa-event__img img { transform: scale(1.04); }

.hdaa-event__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hdaa-event__date-badge {
    display: inline-block;
    background: var(--c-green-lt);
    color: var(--c-green-dk);
    font-weight: 700;
    border-radius: 20px;
    padding: 2px 10px;
    align-self: flex-start;
}

.hdaa-event__date-badge--past {
    background: var(--c-white);
    color: var(--c-muted);
}

.hdaa-event__location {
    color: var(--c-muted);
    display: block;
}

.hdaa-event__title {
    margin: 2px 0 0 !important;
}
.hdaa-event__title a {
    color: var(--c-slate) !important;
    text-decoration: none !important;
    transition: color .12s;
}
.hdaa-event__title a:hover { color: var(--c-green-dk) !important; }

.hdaa-event__desc {
    color: var(--c-muted) !important;
    margin: 0 !important;
}

.hdaa-event__gallery {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.hdaa-event__gthumb {
    width: 44px; height: 44px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--c-border);
    display: block;
}
.hdaa-event__gmore {
    width: 44px; height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 4px;
    color: var(--c-muted);
    font-weight: 600;
}

.hdaa-event__resources {
    color: var(--c-slate-mid);
    margin-top: 6px;
}
.hdaa-event__resources a {
    color: var(--c-green-dk) !important;
    text-decoration: none !important;
}
.hdaa-event__resources a:hover { text-decoration: underline !important; }

.hdaa-event__more {
    color: var(--c-green-dk) !important;
    font-weight: 600;
    text-decoration: none !important;
    margin-top: 4px;
    align-self: flex-start;
}
.hdaa-event__more:hover { text-decoration: underline !important; }

.hdaa-events__footer {
    padding-top: 32px;
    text-align: center;
}

/* ─────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────── */
.hdaa-btn {
    display: inline-block;
    padding: 11px 28px;
    border-radius: var(--radius);
    font-weight: 700;
    text-decoration: none !important;
    transition: background .15s, color .15s, border-color .15s;
    cursor: pointer;
}

.hdaa-btn--outline {
    border: 2px solid var(--c-green);
    color: var(--c-green-dk) !important;
    background: transparent;
}
.hdaa-btn--outline:hover {
    background: var(--c-green);
    color: #fff !important;
}

.hdaa-btn--green {
    background: var(--c-green);
    border: 2px solid var(--c-green);
    color: #fff !important;
}
.hdaa-btn--green:hover {
    background: var(--c-green-dk);
    border-color: var(--c-green-dk);
    color: #fff !important;
}

/* ─────────────────────────────────────────────
   LEADERSHIP
───────────────────────────────────────────── */
.hdaa-chair {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 28px 0;
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
    margin-bottom: 36px;
}

.hdaa-chair__avatar {
    flex-shrink: 0;
    width: 80px; height: 80px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--c-green-lt);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-green-lt);
}
.hdaa-chair__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }

.hdaa-chair__initials {
    font-weight: 700;
    color: var(--c-green-dk);
}

.hdaa-chair__info { flex: 1; }

.hdaa-tag {
    display: inline-block;
    background: var(--c-green-lt);
    color: var(--c-green-dk);
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 2px 10px;
    border-radius: 20px;
    margin-bottom: 6px;
}

/* ============================================
TOPIC TAGS (grid layout in "What We Cover")
============================================ */
.hdaa-topic {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-green);
    border-radius: var(--radius);
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-slate) !important;
    transition: border-color .15s, box-shadow .15s, background .15s;
}

.hdaa-topic:hover {
    border-left-color: var(--c-green-dk);
    background: var(--c-grey);
    box-shadow: 0 2px 8px rgba(28,43,43,0.07);
}


.hdaa-chair__name {
    font-weight: 700 !important;
    color: var(--c-slate) !important;
    margin: 0 0 4px !important;
}
.hdaa-chair__meta {
    color: var(--c-muted) !important;
    margin: 0 0 10px !important;
}
.hdaa-chair__bio {
    color: var(--c-slate-mid) !important;
    margin: 0 !important;
    line-height: 1.65;
}

.hdaa-advisory__heading {
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: var(--c-muted) !important;
    margin-bottom: 16px !important;
}

ul.hdaa-advisory__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px 24px;
}

ul.hdaa-advisory__list li {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 !important;
}

.hdaa-advisory__name { font-weight: 600; color: var(--c-slate); }
.hdaa-advisory__org  { color: var(--c-muted); }

/* ─────────────────────────────────────────────
   MEMBER CTA  (dark section)
───────────────────────────────────────────── */
.hdaa-mcta {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.hdaa-mcta__icon {
    flex-shrink: 0;
    color: var(--c-green);
    margin-top: 4px;
}

.hdaa-mcta__body { flex: 1; min-width: 200px; }

.hdaa-mcta__heading {
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 10px !important;
}

.hdaa-mcta__desc {
    color: rgba(255,255,255,.65) !important;
    margin: 0 0 16px !important;
    line-height: 1.65;
}

ul.hdaa-mcta__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

ul.hdaa-mcta__list li {
    position: relative;
    padding-left: 18px !important;
    color: rgba(255,255,255,.72);
}

ul.hdaa-mcta__list li::before {
    content: '';
    position: absolute;
    left: 0; top: .55em;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--c-green);
}

.hdaa-mcta__actions {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    padding-top: 4px;
}

.hdaa-mcta__join {
    color: rgba(255,255,255,.4) !important;
    text-decoration: none !important;
    transition: color .12s;
    display: block;
}
.hdaa-mcta__join:hover { color: var(--c-green) !important; }

/* ─────────────────────────────────────────────
   CONNECT
───────────────────────────────────────────── */
.hdaa-forum-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
    background: var(--c-slate);
    border-radius: var(--radius);
    text-decoration: none !important;
    margin-bottom: 16px;
    transition: background .15s;
}
.hdaa-forum-card:hover {
    background: var(--c-slate-mid);
    text-decoration: none !important;
}
.hdaa-forum-card__icon {
    flex-shrink: 0;
    width: 44px; height: 44px;
    background: rgba(76,175,81,.15);
    border-radius: var(--radius);
    display: flex; align-items: center; justify-content: center;
    color: var(--c-green);
}
.hdaa-forum-card__body {
    flex: 1;
    display: flex; flex-direction: column; gap: 3px;
}
.hdaa-forum-card__body strong { color: #fff; display: block; }
.hdaa-forum-card__body span   { color: rgba(255,255,255,.55); display: block; }
.hdaa-forum-card__arrow { flex-shrink: 0; color: var(--c-green); }

.hdaa-contact-grid {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.hdaa-contact-card {
    flex: 1;
    min-width: 200px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    text-decoration: none !important;
    transition: border-color .15s, box-shadow .15s;
}
.hdaa-contact-card:hover {
    border-color: var(--c-green);
    box-shadow: 0 2px 8px rgba(0,0,0,.07);
    text-decoration: none !important;
}
.hdaa-contact-card__icon {
    flex-shrink: 0;
    width: 36px; height: 36px;
    background: var(--c-green-lt);
    border-radius: var(--radius);
    display: flex; align-items: center; justify-content: center;
    color: var(--c-green-dk);
}
.hdaa-contact-card__label {
    display: block;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin-bottom: 2px;
}
.hdaa-contact-card__val {
    display: block;
    color: var(--c-slate);
    font-weight: 500;
}
.hdaa-contact-card__val a { color: var(--c-green-dk) !important; text-decoration: none !important; }
.hdaa-contact-card__val a:hover { text-decoration: underline !important; }

/* ─────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────── */
@media (max-width: 768px) {
    .hdaa-hero { height: 260px; }
    .hdaa-hero__inner { padding: 0 20px 28px; }

    .hdaa-nav__inner { padding: 0 16px; }
    .hdaa-nav__link  { padding: 0 10px; }

    .hdaa-news-banner__inner { padding: 20px 20px 24px; }

    .hdaa-sec { padding: 40px 20px; }

    .hdaa-event__img { display: none; }

    .hdaa-mcta { flex-direction: column; gap: 20px; }
    .hdaa-mcta__actions { width: 100%; }
    .hdaa-btn--green { width: 100%; text-align: center; }

    .hdaa-contact-grid { flex-direction: column; }
    .hdaa-contact-card { min-width: unset; }

    ul.hdaa-goals__list { grid-template-columns: 1fr; }
    ul.hdaa-advisory__list { grid-template-columns: 1fr; }

    .hdaa-chair { flex-direction: column; }
}

@media (max-width: 480px) {
    .hdaa-nav__link--member { display: none; }
}

/* ============================================
   CHAPTERS LANDING PAGE — Card Grid
   ============================================ */

.hdaa-chapters-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 1rem;
}

.hdaa-chapter-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, transform .2s ease;
}

.hdaa-chapter-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.14);
  transform: translateY(-3px);
}

.hdaa-chapter-card__image {
  height: 160px;
  background-size: cover;
  background-position: center;
  background-color: #1a2e1a;
}

.hdaa-chapter-card__body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.hdaa-chapter-card__title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a2e1a;
  margin: 0 0 .75rem;
  line-height: 1.3;
}

.hdaa-chapter-card__summary {
  font-size: .95rem;
  color: #555;
  line-height: 1.6;
  margin: 0 0 1.25rem;
  flex: 1;
}

.hdaa-chapter-card .hdaa-btn {
  align-self: flex-start;
}

.hdaa-no-results {
  text-align: center;
  color: #777;
  font-style: italic;
  padding: 2rem 0;
}

@media (max-width: 600px) {
  .hdaa-chapters-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================
   PAGE LAYOUT
   ============================================ */
.hdaa-page {
  display: flex;
  flex-direction: column;
}

/* ============================================
   PAGE HERO
   ============================================ */
.hdaa-page-hero {
  background: var(--c-slate);
  color: #fff;
  padding: 88px 24px 80px;
  text-align: center;
}
.hdaa-page-hero__inner {
  max-width: 760px;
  margin: 0 auto;
}
.hdaa-page-hero__title {
  font-size: clamp(28px, 4.5vw, 50px);
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff !important;
  margin: 0 0 22px !important;
}
.hdaa-page-hero__sub {
  font-size: clamp(15px, 2vw, 18px);
  font-weight: 300;
  line-height: 1.75;
  color: rgba(255,255,255,0.75) !important;
  max-width: 620px;
  margin: 0 auto 32px !important;
}
.hdaa-page-hero__actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}

/* ============================================
   SECTION VARIANTS
   ============================================ */
.hdaa-sec--light {
  background: var(--c-grey);
  padding: 72px 24px;
}
.hdaa-sec--green {
  background: var(--c-green);
  padding: 20px 24px;
}
.hdaa-sec__inner--wide {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* ============================================
   SECTION HEADERS
   ============================================ */
.hdaa-sec-header { margin-bottom: 48px; }
.hdaa-sec-header--center { text-align: center; }
.hdaa-sec-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--c-green) !important;
  margin-bottom: 10px;
  display: block;
}
.hdaa-sec-eyebrow--center { text-align: center; }
.hdaa-sec-title {
  font-size: 32px;
  font-weight: 800;
  color: var(--c-slate) !important;
  margin: 0 0 14px !important;
  line-height: 1.2;
}
.hdaa-sec-title--white { color: #ffffff !important; }
.hdaa-sec-title--center { text-align: center; }
.hdaa-sec-subtitle {
  font-size: 15px;
  color: #4A5568;
  line-height: 1.6;
  max-width: 580px;
  margin-top: 0;
  margin-bottom: 0;
}
.hdaa-sec-subtitle--white { color: rgba(255,255,255,0.7) !important; }
.hdaa-sec-subtitle--center { text-align: center; margin-left: auto; margin-right: auto; }

/* ============================================
   STATS BAR
   ============================================ */
.hdaa-stats {
  display: flex;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
}
.hdaa-stats__item { text-align: center; }
.hdaa-stats__number {
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
}
.hdaa-stats__label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ============================================
   GRID LAYOUTS
   ============================================ */
.hdaa-grid { display: grid; gap: 24px; }
.hdaa-grid--2 { grid-template-columns: repeat(2, 1fr); align-items: start; }
.hdaa-grid--3 { grid-template-columns: repeat(3, 1fr); }
.hdaa-grid--4 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.hdaa-grid--2-narrow { grid-template-columns: repeat(2, 1fr); gap: 12px; align-content: start; }

/* ============================================
   CARD STYLES
   ============================================ */
.hdaa-card {
  background: #fff;
  border-radius: 12px;
  padding: 28px 24px;
  box-shadow: 0 2px 12px rgba(28,43,43,0.07);
  border-top: 4px solid var(--c-green);
}
.hdaa-card--grey {
  background: var(--c-grey);
  border-radius: 10px;
  padding: 24px;
  border-top: 3px solid var(--c-green);
  display: flex;
  flex-direction: column;
  min-height: 120px;
}
.hdaa-card__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--c-green) !important;
  margin-bottom: 12px;
  display: block;
}
.hdaa-card__body {
  font-size: 14px;
  color: #4A5568;
  line-height: 1.7;
  margin: 0 !important;
}

/* ============================================
   DARK CARD
   ============================================ */
.hdaa-dark-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 28px 30px;
  display: flex;
  flex-direction: column;
}
.hdaa-dark-card--green-tint { border-color: rgba(76,175,81,0.3); }
.hdaa-dark-card__eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--c-green) !important;
  margin-bottom: 10px;
  display: block;
}
.hdaa-dark-card__title {
  font-size: 18px;
  font-weight: 700;
  color: #fff !important;
  margin: 0 0 10px !important;
}
.hdaa-dark-card__body {
  font-size: 15px;
  color: rgba(255,255,255,0.75) !important;
  line-height: 1.7;
  margin: 0 !important;
}

/* ============================================
   DATE CARD
   ============================================ */
.hdaa-date-card {
  background: var(--c-white);
  border-radius: 12px;
  padding: 40px 36px;
  text-align: center;
  box-shadow: 0 4px 24px rgba(28,43,43,0.10);
  border-top: 5px solid var(--c-green);
}
.hdaa-date-card__eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 2px; color: var(--c-green); margin-bottom: 14px; display: block;
}
.hdaa-date-card__date { font-size: 48px; font-weight: 800; color: var(--c-slate); line-height: 1; margin-bottom: 4px; }
.hdaa-date-card__year { font-size: 22px; font-weight: 600; color: var(--c-muted); margin-bottom: 16px; }
.hdaa-date-card__divider { height: 2px; background: var(--c-border); margin: 16px auto; width: 60px; }
.hdaa-date-card__location { font-size: 18px; font-weight: 700; color: var(--c-slate); }

/* ============================================
   CHECK LIST
   ============================================ */
.hdaa-check-list { display: flex; flex-direction: column; gap: 16px; padding-top: 8px; }
.hdaa-check-list__item { display: flex; gap: 14px; align-items: flex-start; }
.hdaa-check-list__dot {
  flex-shrink: 0; width: 20px; height: 20px;
  border-radius: 50%; background: var(--c-green); margin-top: 2px;
}
.hdaa-check-list__text { font-size: 15px; color: rgba(255,255,255,0.85); line-height: 1.6; }

/* ============================================
   BUTTONS — extra variants
   ============================================ */
.hdaa-btn--outline-white {
  display: inline-block;
  padding: 11px 28px;
  border-radius: var(--radius);
  font-weight: 700;
  text-decoration: none !important;
  transition: background .15s, color .15s, border-color .15s;
  cursor: pointer;
  border: 2px solid rgba(255,255,255,0.4);
  color: #fff !important;
  background: transparent;
}
.hdaa-btn--outline-white:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.7);
  color: #fff !important;
}
.hdaa-btn--text-green {
  color: var(--c-green-dk) !important;
  font-weight: 600;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color .12s;
}
.hdaa-btn--text-green:hover { color: var(--c-green) !important; text-decoration: underline !important; }

/* ============================================
   INLINE LIST
   ============================================ */
ul.hdaa-inline-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
ul.hdaa-inline-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: rgba(255,255,255,0.8);
  font-size: 15px;
  line-height: 1.65;
  padding: 0 !important;
}
.hdaa-inline-list__dash { flex-shrink: 0; color: var(--c-green); font-weight: 700; margin-top: 1px; }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
  .hdaa-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .hdaa-page-hero { padding: 60px 24px 56px; }
  .hdaa-grid--2, .hdaa-grid--3 { grid-template-columns: 1fr; }
  .hdaa-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .hdaa-sec--light, .hdaa-sec--white, .hdaa-sec--dark, .hdaa-sec--green { padding: 48px 20px; }
  .hdaa-sec__inner--wide { padding: 0 16px; }
  .hdaa-stats { gap: 28px; }
  .hdaa-date-card { padding: 28px 24px; }
  .hdaa-date-card__date { font-size: 36px; }
}
@media (max-width: 600px) {
  .hdaa-grid--4 { grid-template-columns: 1fr; }
  .hdaa-page-hero__actions { flex-direction: column; align-items: stretch; }
  .hdaa-page-hero__actions .hdaa-btn,
  .hdaa-page-hero__actions .hdaa-btn--green,
  .hdaa-page-hero__actions .hdaa-btn--outline-white { text-align: center; display: block; }
}


/* ============================================
 *    DARK SECTION  heading & text overrides
 *    ============================================ */
.hdaa-sec--dark h1,
.hdaa-sec--dark h2,
.hdaa-sec--dark h3,
.hdaa-sec--dark h4,
.hdaa-sec--dark p,
.hdaa-page-hero h1,
.hdaa-page-hero h2,
.hdaa-page-hero p {
	  color: #ffffff !important;
}

/* ============================================
 *    SECTION TITLE & INTRO
 *    ============================================ */
.hdaa-sec__title {
	  font-size: clamp(1.7rem, 3.5vw, 2.6rem);
	  font-weight: 700;
	  line-height: 1.2;
	  margin: 0 0 16px !important;
	  color: var(--c-slate) !important;
}
.hdaa-sec--dark .hdaa-sec__title {
	  color: #ffffff !important;
}
.hdaa-sec__intro {
	  font-size: 1.05rem;
	  line-height: 1.7;
	  color: #555;
	  max-width: 660px;
	  margin: 0 auto 40px !important;
}
.hdaa-sec--dark .hdaa-sec__intro {
	  color: rgba(255,255,255,0.8) !important;
}
.hdaa-sec__head {
	  text-align: center;
	  margin-bottom: 48px;
}

/* ============================================
 *    STAT BLOCKS
 *    ============================================ */
.hdaa-stat-grid {
	  display: grid;
	  gap: 28px;
}
.hdaa-stat-grid--3 { grid-template-columns: repeat(3, 1fr); }
.hdaa-stat {
	  background: #243333;
	  border-radius: 12px;
	  padding: 36px 24px;
	  text-align: center;
}
.hdaa-stat__number {
	  font-size: 2.8rem;
	  font-weight: 800;
	  color: var(--c-green) !important;
	  line-height: 1;
	  margin: 0 0 10px !important;
}
.hdaa-stat__desc {
	  font-size: 0.95rem;
	  color: rgba(255,255,255,0.8) !important;
	  line-height: 1.5;
	  margin: 0 !important;
}

/* ============================================
 *    CARD VARIANTS
 *    ============================================ */
.hdaa-card--dark {
	  background: #243333 !important;
	  border-radius: 12px;
	  padding: 32px;
	  color: #fff;
}
.hdaa-card--dark p { color: rgba(255,255,255,0.85) !important; }
.hdaa-card--accent {
	  border-radius: 12px;
	  padding: 32px;
	  background: var(--c-grey);
}
.hdaa-card--accent .hdaa-sec__label { margin-bottom: 16px; }
.hdaa-card--border-top {
	  border-radius: 12px;
	  padding: 32px;
	  background: #fff;
	  border-top: 4px solid var(--c-green);
}
.hdaa-card--stripe {
	  border-radius: 12px;
	  padding: 32px;
	  background: #fff;
}
.hdaa-card__bar {
	  width: 40px;
	  height: 4px;
	  background: var(--c-green);
	  margin-bottom: 20px;
}

/* ============================================
 *    TIMELINE / CONFERENCE LIST
 *    ============================================ */
.hdaa-timeline {
	  list-style: none;
	  padding: 0;
	  margin: 0;
}
.hdaa-timeline li {
	  padding: 10px 0;
	  border-bottom: 1px solid rgba(255,255,255,0.1);
	  font-size: 0.9rem;
	  color: rgba(255,255,255,0.9);
	  line-height: 1.5;
}
.hdaa-timeline li:last-child { border-bottom: none; }
.hdaa-timeline__year {
	  color: var(--c-green) !important;
	  font-weight: 700;
}
.hdaa-timeline__note {
	  margin-top: 16px;
	  font-size: 0.85rem;
	  color: rgba(255,255,255,0.5) !important;
	  font-style: italic;
}
.hdaa-conf-card {
	  padding: 14px;
	  background: rgba(255,255,255,0.05);
	  border-radius: 8px;
	  font-size: 0.9rem;
	  color: #fff;
	  line-height: 1.6;
}
.hdaa-conf-card--featured {
	  background: rgba(92,178,70,0.15);
	  border: 1px solid var(--c-green);
}
.hdaa-conf-card__year {
	  color: var(--c-green) !important;
	  font-weight: 700;
	  display: block;
	  margin-bottom: 2px;
}
.hdaa-conf-card__host {
	  color: rgba(255,255,255,0.6) !important;
	  font-size: 0.85rem;
}

/* ============================================
 *    CTA SECTION
 *    ============================================ */
.hdaa-cta {
	  text-align: center;
}
.hdaa-cta__sub {
	  color: #555;
	  line-height: 1.7;
	  max-width: 600px;
	  margin: 0 auto 36px !important;
}
.hdaa-btn--green {
	  display: inline-block;
	  background: var(--c-green);
	  color: #ffffff !important;
	  font-weight: 700;
	  font-size: 0.9rem;
	  padding: 15px 36px;
	  border-radius: 6px;
	  text-transform: uppercase;
	  letter-spacing: 1px;
	  text-decoration: none !important;
	  transition: background .2s;
}
.hdaa-btn--green:hover { background: var(--c-green-dk); }

/* ============================================
 *    RESPONSIVE  new components
 *    ============================================ */
@media (max-width: 768px) {
	.hdaa-stat-grid--3 { grid-template-columns: 1fr; }
	.hdaa-sec__title { font-size: 1.6rem; }
}

/* ============================================
   PEOPLE / MEMBER CARDS
   ============================================ */
.hdaa-member-card {
    background: var(--c-white);
    border-radius: var(--radius);
    padding: 28px 24px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.hdaa-member-card__photo {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 16px;
    border: 3px solid var(--c-green);
}
.hdaa-member-card__name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--c-slate);
    margin: 0 0 4px;
}
.hdaa-member-card__title {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-green);
    font-weight: 600;
    margin: 0 0 12px;
}
.hdaa-member-card__bio {
    font-size: 0.9rem;
    line-height: 1.65;
    color: var(--c-slate-mid);
    margin: 0;
}
.hdaa-member-card--no-bio {
    align-items: center;
    text-align: center;
    padding: 20px;
}
.hdaa-member-card--no-bio .hdaa-member-card__name,
.hdaa-member-card--no-bio .hdaa-member-card__title {
    text-align: center;
}

/* ============================================
   VOLUNTEER LIST
   ============================================ */
.hdaa-vol-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.hdaa-vol-list li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.9);
    font-size: 0.95rem;
}
.hdaa-vol-list li:last-child {
    border-bottom: none;
}
.hdaa-vol-list li strong {
    color: var(--c-white);
}

/* ============================================
   LAYOUT FIXES
   ============================================ */

/* Grey sections get consistent vertical padding */
.hdaa-sec--grey { padding: 72px 24px; }

/* Remove gap-causing empty paragraphs WordPress injects between HTML sections */
.hdaa-page > p,
.entry-content > p:empty,
.entry-content > p:not([class]):has(> br:only-child) {
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
    height: 0;
    display: none;
}

/* Remove default block gap between full-width sections */
.hdaa-page-hero + *,
.hdaa-sec--dark + *,
.hdaa-sec--white + *,
.hdaa-sec--grey + *,
.hdaa-sec--green + *,
.hdaa-sec--light + * {
    margin-top: 0 !important;
}
