/* Velora identity; incumbent layout, typography and interactions are retained. */
:root {
  --blue: #105D3B; --blue-dark: #0B442B; --blue-light: #EAF3EE;
  --green: #105D3B; --green-dark: #0B442B; --green-light: #EAF3EE;
  --orange: #105D3B; --orange-dark: #0B442B; --orange-light: #EAF3EE;
  --ink: #252726; --ink2: #252726; --ink3: #454A47;
  --slate: #545B57; --muted: #59625D; --subtle: #66716B;
  --white: #FFFFFF; --surface: #F7FAF8; --line: #DCE6DF;
  accent-color: #105D3B;
}
::selection { background: #105D3B; color: #FFFFFF; }
:focus-visible { outline: 3px solid #105D3B; outline-offset: 4px; }
input, textarea { caret-color: #105D3B; }
.logo-img { width: auto; height: 54px; max-width: 196px; object-fit: contain; }
.logo-mobile { height: 40px; max-width: 140px; }
.mob-menu img[src*="velora-care-logo"] { width: 160px; height: auto; }
footer img[src$="velora-care-footer-white.png"] {
  width: 220px !important; height: auto !important;
  max-width: 100% !important; object-fit: contain; padding: 0;
  background: transparent; border-radius: 0; filter: none;
}
.hero h1 { color: #252726; -webkit-text-fill-color: #252726; }
/* Long approved campaign headings must not widen the grid's flexible column. */
.page > * { min-width: 0; }
.btn-cta { background: #105D3B; color: #FFFFFF; box-shadow: 0 2px 8px rgb(16 93 59 / 18%); }
.btn-cta:hover { background: #0B442B; }
.btn-lift, .btn-sd.primary, .btn-mob-donate {
  background: #105D3B; color: #FFFFFF;
  box-shadow: 0 4px 16px rgb(0 0 0 / 12%);
}
.btn-lift:hover, .btn-sd.primary:hover, .btn-mob-donate:hover { background: #0B442B; }
/* Visual v2: solid actions override the template's important gradients and
   warm shadows in every interaction state, without changing their geometry. */
body :is(.btn-cta, .btn-find, .mob-menu-cta, .btn-sd.primary, .btn-mob-donate, .btn-lift, .hfeat-btn, .hs-donate-btn),
body :is(.btn-cta, .btn-find, .mob-menu-cta, .btn-sd.primary, .btn-mob-donate, .btn-lift, .hfeat-btn, .hs-donate-btn):is(:hover, :active, :focus, :focus-visible) {
  background: #105D3B !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body :is(.btn-cta, .btn-find, .mob-menu-cta, .btn-sd.primary, .btn-mob-donate, .btn-lift)::before,
body :is(.btn-cta, .btn-find, .mob-menu-cta, .btn-sd.primary, .btn-mob-donate, .btn-lift)::after {
  background: none !important; box-shadow: none !important;
  filter: none !important; animation: none !important;
}
/* Existing three-step composition and start-card layout stay intact. */
body .start-wrap { background: #FFFFFF; }
body :is(.start-wrap, .start-inner, .start-card, .start-icon-wrap, .howto-step-num)::before,
body :is(.start-wrap, .start-inner, .start-card, .start-icon-wrap, .howto-step-num)::after,
body .howto-bg-orb {
  content: none !important; background: none !important;
  box-shadow: none !important; filter: none !important; animation: none !important;
}
body .start-card,
body .start-card:is(:hover, :active, :focus-within),
body .howto-step,
body .howto-step:is(.active, :hover, :active, :focus-visible) {
  background: #FFFFFF !important; color: #252726;
  box-shadow: none !important; filter: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
body :is(.start-card h3, .start-card p, .howto-step-title, .howto-step-desc) {
  color: #252726 !important; text-shadow: none !important;
}
body .start-icon-wrap,
body .start-card:is(:hover, :active) .start-icon-wrap,
body .start-card .start-arrow,
body .start-grid > a .start-card .start-arrow,
body .start-card:is(:hover, :active) .start-arrow,
body .howto-step .howto-step-num,
body .howto-step:is(.active, :hover, :active) .howto-step-num {
  background: #105D3B !important; color: #FFFFFF !important;
  box-shadow: none !important; text-shadow: none !important;
  filter: none !important; animation: none !important;
}
body .howto-wrap :is(.howto-phone, .hs-check, .hs-amt, .hs-card) {
  box-shadow: none !important; filter: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
body .share-phones :is(.ph, .ph-screen) { background: #FFFFFF; color: #252726; }
body .share-phones :is(.ph-title, .ph-org, .ph-org b, .ph-raised, .ph-pct-val) { color: #252726; }
body .share-phones :is(.ph-btn, .ph-cta),
body .share-phones :is(.ph-btn, .ph-cta):is(:hover, :active, :focus-visible) {
  background: #105D3B !important; color: #FFFFFF !important;
  text-shadow: none !important; box-shadow: none !important; filter: none !important;
}
.hero-title .accent, .hero-title .highlight, .sec-title .accent {
  background: none; -webkit-text-fill-color: currentColor;
}
footer .footer-brand p, footer .footer-bottom { color: #DDE7E1; }
footer .footer-col h4 { color: #FFFFFF; }
#velora-preview-notice {
  position: fixed; z-index: 99999; bottom: 20px; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 16px; width: max-content;
  max-width: calc(100vw - 32px); padding: 16px 20px; border: 1px solid #DCE6DF;
  background: #FFFFFF; color: #252726; border-radius: 12px;
  font: 600 14px/1.5 'Plus Jakarta Sans', sans-serif;
  box-shadow: 0 8px 28px rgb(0 0 0 / 16%);
}
#velora-preview-notice button {
  border: 0; border-radius: 6px; background: #105D3B; color: #FFFFFF;
  padding: 10px 14px; cursor: pointer; font: inherit;
}
@media (max-width: 900px) { .logo-img.logo-mobile { height: 40px; width: auto; } }
/* V3: external breathing room only; organizer contents and desktop stay intact. */
@media (max-width: 900px) {
  #campSidebar .s-org { margin-top: 16px; }
}
/* Keep the horizontal scroller; reserve the existing card shadows' paint area. */
#relatedSection .rgrid { padding-top: 8px; padding-bottom: 36px; }
/* Only the contact modal's close control, independent of the wide share button. */
#contactModal .modal { position: relative; }
#contactModal .modal h3 { padding-right: 44px; min-height: 44px; }
#contactModal .mclose {
  position: absolute; top: 12px; right: 12px;
  float: none !important; margin: 0 !important;
  width: 44px; height: 44px; padding: 0; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px; line-height: 1; color: #252726;
}
/* One footer separator, with a shrinkable list and a stable, visible CTA. */
#donModal .don-modal-list { min-height: 0; padding-bottom: 0; }
#donModalList .don-modal-row:last-child { border-bottom: 0; }
#donModal :is(.don-modal-hdr, .don-modal-tabs, .don-modal-sub, .don-modal-foot) { flex-shrink: 0; }
#donModal .don-modal-foot { padding: 16px 20px; }
#donModal .don-modal-foot .btn-sd { margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
