/* Q-MoB homepage media layout */
.page-id-41553 .elementor-element-b32bbca .e-a8e2f5d-06d2cf5 {
  grid-column: 1 / -1;
  width: 100% !important;
  max-width: 940px;
  height: auto;
  justify-self: center;
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(42, 15, 82, 0.16);
}

.page-id-41553 .elementor-element-b32bbca .elementor-element-7b0d29e {
  grid-column: 1 / -1;
  width: 100% !important;
  max-width: 940px;
  justify-self: center;
}

.page-id-41553 .elementor-element-b32bbca .elementor-element-7b0d29e .video-player,
.page-id-41553 .elementor-element-b32bbca .elementor-element-7b0d29e iframe {
  display: block;
  width: 100% !important;
  aspect-ratio: 16 / 9;
  height: auto !important;
  border-radius: 24px;
  overflow: hidden;
}

@media (max-width: 767px) {
  .page-id-41553 .elementor-element-b32bbca .e-a8e2f5d-06d2cf5,
  .page-id-41553 .elementor-element-b32bbca .elementor-element-7b0d29e iframe {
    border-radius: 16px;
  }
}

/* Q-MoB spacing and CTA system */
:root {
  --qmob-purple: #3d0a78;
  --qmob-purple-2: #6933b7;
  --qmob-green: #0f4d0f;
  --qmob-green-2: #1f7a4d;
  --qmob-gold: #f0aa00;
  --qmob-berry: #a51652;
  --qmob-ink: #241044;
}

a.elementor-button,
#site-header .site-navigation a[href$="/join-us-2/"],
#site-header .site-navigation a[href$="/bg-organizer-app/"],
a.bgcf-float.bgcf-subscribe,
body.page-id-74 a.rcai-view-btn,
body.page-id-74 a.rcai-reg-btn,
body.page-id-74 a.rcai-more-btn,
.rcai-single-reg a.rcai-reg-btn,
.page-id-40672 .page-content a[href$="/bg-organizer-app/"],
.page-id-40672 a.bg-org-button,
.page-id-34357 a.bg-btn-become-monthly,
.bg-public-app-surface--registration a.bg-donor-btn,
.page-id-167 .fancy-dropdown a {
  --qmob-cta-a: var(--qmob-purple);
  --qmob-cta-b: var(--qmob-purple-2);
  --qmob-cta-hover-a: #330766;
  --qmob-cta-hover-b: #5b28a6;
  --qmob-cta-text: #fff;
  --qmob-cta-border: transparent;
  color: var(--qmob-cta-text) !important;
  background: linear-gradient(135deg, var(--qmob-cta-a), var(--qmob-cta-b)) !important;
  border: 1px solid var(--qmob-cta-border) !important;
  border-radius: 999px !important;
  min-height: 44px;
  padding: .72rem 1.55rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(36, 16, 68, .24);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

a.elementor-button:hover,
#site-header .site-navigation a[href$="/join-us-2/"]:hover,
#site-header .site-navigation a[href$="/bg-organizer-app/"]:hover,
a.bgcf-float.bgcf-subscribe:hover,
body.page-id-74 a.rcai-view-btn:hover,
body.page-id-74 a.rcai-reg-btn:hover,
body.page-id-74 a.rcai-more-btn:hover,
.rcai-single-reg a.rcai-reg-btn:hover,
.page-id-40672 .page-content a[href$="/bg-organizer-app/"]:hover,
.page-id-40672 a.bg-org-button:hover,
.page-id-34357 a.bg-btn-become-monthly:hover,
.bg-public-app-surface--registration a.bg-donor-btn:hover,
.page-id-167 .fancy-dropdown a:hover {
  color: var(--qmob-cta-text) !important;
  background: linear-gradient(135deg, var(--qmob-cta-hover-a), var(--qmob-cta-hover-b)) !important;
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(36, 16, 68, .32);
}

a.elementor-button:focus-visible,
#site-header .site-navigation a[href$="/join-us-2/"]:focus-visible,
#site-header .site-navigation a[href$="/bg-organizer-app/"]:focus-visible,
a.bgcf-float.bgcf-subscribe:focus-visible,
body.page-id-74 a.rcai-view-btn:focus-visible,
body.page-id-74 a.rcai-reg-btn:focus-visible,
body.page-id-74 a.rcai-more-btn:focus-visible,
.rcai-single-reg a.rcai-reg-btn:focus-visible,
.page-id-40672 .page-content a[href$="/bg-organizer-app/"]:focus-visible,
.page-id-40672 a.bg-org-button:focus-visible,
.page-id-34357 a.bg-btn-become-monthly:focus-visible,
.bg-public-app-surface--registration a.bg-donor-btn:focus-visible,
.page-id-167 .fancy-dropdown a:focus-visible {
  outline: 2px solid var(--qmob-ink) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #fff, 0 10px 28px rgba(36, 16, 68, .32) !important;
}

/* Green actions */
.page-id-41553 .elementor-element-07fb3fb a.elementor-button,
.page-id-41553 .elementor-element-2e6c0c3 a.elementor-button,
a.bgcf-float.bgcf-subscribe,
body.page-id-74 a.rcai-reg-btn,
.rcai-single-reg a.rcai-reg-btn,
.bg-public-app-surface--registration a.bg-donor-btn {
  --qmob-cta-a: var(--qmob-green-2);
  --qmob-cta-b: var(--qmob-green);
  --qmob-cta-hover-a: #19653f;
  --qmob-cta-hover-b: #0b3f0b;
}

/* Gold actions */
.page-id-41553 .elementor-element-c3152cb a.elementor-button,
.page-id-41553 .elementor-element-2bb4c7c a.elementor-button,
#site-header .site-navigation a[href$="/join-us-2/"],
body.page-id-74 a.rcai-view-suggest,
.page-id-34357 a.bg-btn-become-monthly {
  --qmob-cta-a: #f6bd2f;
  --qmob-cta-b: var(--qmob-gold);
  --qmob-cta-hover-a: #e9aa16;
  --qmob-cta-hover-b: #d89200;
  --qmob-cta-text: var(--qmob-ink);
  --qmob-cta-border: var(--qmob-ink);
}

/* Volunteer action */
.page-id-41553 .elementor-element-89209b8 a.elementor-button {
  --qmob-cta-a: var(--qmob-berry);
  --qmob-cta-b: #7e103e;
  --qmob-cta-hover-a: #901247;
  --qmob-cta-hover-b: #660c32;
}

/* Secondary navigation actions */
body.page-id-74 a.rcai-view-btn:not(.rcai-view-suggest):not(.rcai-reg-btn),
.page-id-167 .fancy-dropdown a {
  --qmob-cta-a: #fff;
  --qmob-cta-b: #fff;
  --qmob-cta-hover-a: #f6f0ff;
  --qmob-cta-hover-b: #f6f0ff;
  --qmob-cta-text: var(--qmob-purple);
  --qmob-cta-border: var(--qmob-purple);
  box-shadow: 0 3px 12px rgba(61, 10, 120, .14);
}

/* Homepage card links retain their card proportions */
.page-id-41553 .elementor-element-5975124 a.elementor-button,
.page-id-41553 .elementor-element-07fb3fb a.elementor-button,
.page-id-41553 .elementor-element-89209b8 a.elementor-button {
  min-height: 104px;
  border-radius: 18px !important;
  padding: 24px;
}

.page-id-41553 .elementor-element-2e6c0c3 a.elementor-button,
.page-id-41553 .elementor-element-76b3301 a.elementor-button,
.page-id-41553 .elementor-element-2bb4c7c a.elementor-button {
  min-height: 76px;
  border-radius: 15px !important;
  padding: 18px;
}

/* Homepage section rhythm */
.page-id-41553 .elementor-element-b32bbca {
  padding-top: clamp(88px, 6vw, 116px) !important;
  padding-bottom: clamp(68px, 4.5vw, 84px) !important;
}

.page-id-41553 .elementor-element-11da9db {
  padding-top: clamp(64px, 4.5vw, 80px) !important;
  padding-bottom: clamp(64px, 4.5vw, 80px) !important;
}

.page-id-41553 .elementor-element-a12eb30 {
  padding-top: clamp(64px, 4.5vw, 80px) !important;
  padding-bottom: clamp(64px, 4.5vw, 80px) !important;
}

/* Default pages and long-form readability */
body:not(.elementor-page):not(.bg-event-app-page) .site-main {
  padding-top: clamp(48px, 4vw, 68px) !important;
  padding-bottom: clamp(48px, 4vw, 68px) !important;
}

body:not(.elementor-page):not(.bg-event-app-page) .page-content > :is(p, ul, ol) {
  max-width: 78ch;
}

body:is(.page-id-153, .page-id-275, .page-id-8083, .page-id-222, .page-id-270) .site-main {
  max-width: 760px !important;
}

/* Compact, usable resource category navigation */
.page-id-167 .fancy-dropdown {
  height: auto !important;
  margin: 24px 0 38px;
}

.page-id-167 .fancy-dropdown > button,
.page-id-167 .fancy-dropdown > p {
  display: none !important;
}

.page-id-167 .fancy-dropdown ul {
  display: flex !important;
  gap: 8px;
  overflow-x: auto;
  max-width: 100%;
  margin: 0;
  padding: 4px 2px 14px;
  list-style: none;
  scrollbar-gutter: stable;
}

.page-id-167 .fancy-dropdown li {
  flex: 0 0 auto;
  margin: 0;
}

.page-id-167 .fancy-dropdown a {
  display: inline-flex;
  align-items: center;
  padding: .55rem .9rem;
  min-height: 40px;
  white-space: nowrap;
}

.page-id-167 .page-content h2 {
  scroll-margin-top: 120px;
}

/* Keep BG link text legible against its CTA fills */
body.page-id-34357 a.bg-btn.bg-btn-become-monthly,
a.bgcf-float.bgcf-subscribe {
  color: var(--qmob-cta-text) !important;
}

@media (max-width: 767px) {
  .page-id-41553 .elementor-element-b32bbca {
    padding-top: 64px !important;
    padding-bottom: 48px !important;
  }

  .page-id-41553 .elementor-element-11da9db,
  .page-id-41553 .elementor-element-a12eb30 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  #site-header .site-navigation a[href$="/join-us-2/"],
  #site-header .site-navigation a[href$="/bg-organizer-app/"] {
    margin: 4px 12px;
  }

  body:not(.elementor-page):not(.bg-event-app-page) .site-main {
    padding: 42px 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  a.elementor-button,
  #site-header .site-navigation a[href$="/join-us-2/"],
  #site-header .site-navigation a[href$="/bg-organizer-app/"],
  a.bgcf-float.bgcf-subscribe,
  body.page-id-74 a.rcai-view-btn,
  body.page-id-74 a.rcai-reg-btn,
  body.page-id-74 a.rcai-more-btn,
  .rcai-single-reg a.rcai-reg-btn,
  .page-id-40672 a.bg-org-button,
  .page-id-34357 a.bg-btn-become-monthly,
  .bg-public-app-surface--registration a.bg-donor-btn,
  .page-id-167 .fancy-dropdown a {
    transition: none;
  }

  a.elementor-button:hover,
  #site-header .site-navigation a[href$="/join-us-2/"]:hover,
  #site-header .site-navigation a[href$="/bg-organizer-app/"]:hover,
  a.bgcf-float.bgcf-subscribe:hover,
  body.page-id-74 a.rcai-view-btn:hover,
  body.page-id-74 a.rcai-reg-btn:hover,
  body.page-id-74 a.rcai-more-btn:hover,
  .rcai-single-reg a.rcai-reg-btn:hover,
  .page-id-40672 a.bg-org-button:hover,
  .page-id-34357 a.bg-btn-become-monthly:hover,
  .bg-public-app-surface--registration a.bg-donor-btn:hover,
  .page-id-167 .fancy-dropdown a:hover {
    transform: none;
  }
}
