/* DonorMaxx forest green theme and responsive navigation. */
/* Bootstrap columns default to min-width:auto, so a wide child (e.g. an <img> with a width attribute)
   stretches the row past the viewport instead of shrinking. These two rules stop that page-wide. */
.row > * { min-width: 0; }
img { max-width: 100%; height: auto; }
/* g-5/g-4 pull the row 24px past the container on each side, but the container only pads 12px,
   so wide gutters spill horizontally on phones and push the header's right side off-screen. */
@media (max-width:767.98px) { .row.g-5, .row.g-4 { --bs-gutter-x:1.5rem; } }
.ch-header-area .ch-header-logo-wrapper { display:flex; align-items:center; width:240px; max-width:100%; padding:8px 0; }
.ch-header-area .ch-header-logo-wrapper img.logo { width:240px !important; height:96px !important; max-width:100%; object-fit:contain; }
.ch-header-area .ch-menu { gap:24px; }
.ch-header-area .ch-menu > li > a { white-space:nowrap; }
.ch-hero-section, .ch-hero-section-2, .ch-hero-section-3 { background-color:#0b2f20; }
.dm-footer-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; color:white; }
.dm-footer-navigation section { min-width:0; }
.dm-footer-navigation .foo-title { font-size:20px; line-height:1.3; margin:0 0 16px; }
.dm-footer-navigation ul { list-style:none; padding:0; margin:0; }
.dm-footer-navigation a { display:block; color:#edf5ef; font-size:15px; line-height:1.5; padding:4px 0; overflow-wrap:anywhere; }
.dm-footer-navigation a:hover { color:#afd0bc; text-decoration:underline; }
.dm-footer-navigation a:focus-visible { outline:2px solid #afd0bc; outline-offset:4px; }
.dm-causes { padding:64px 0; }
.dm-causes-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; }
.dm-cause-card { display:block; border:1px solid #d2e6da; border-radius:16px; padding:24px; background:#f2f7f3; color:#145c3a; }
.dm-cause-card:hover { border-color:#145c3a; }
.dm-cause-card img { width:100%; height:180px; object-fit:cover; border-radius:10px; margin-bottom:16px; }
@media(max-width:991px){.ch-header-area .ch-header-logo-wrapper{width:180px}.ch-header-area .ch-header-logo-wrapper img.logo{width:180px !important;height:80px !important}}
@media(max-width:575px){.ch-header-area .ch-header-logo-wrapper{width:150px}.ch-header-area .ch-header-logo-wrapper img.logo{width:150px !important;height:72px !important}.dm-causes{padding:36px 0}}

.ch-hero-section { background-image:linear-gradient(120deg,#0b2f20,#164c33) !important; }

/* V2: full-width labels, compact causes and admin-controlled banners. */
.single-campaign .top-area > a.ch-dark-btn { left:0 !important; right:0 !important; top:0 !important; width:100% !important; max-width:100%; display:flex; align-items:center; justify-content:center; min-height:60px; padding:12px 16px; margin:0; border-radius:0; white-space:normal; overflow-wrap:anywhere; text-align:center; line-height:1.35; }
.ch-breadcrumb-area { padding:80px 0; min-height:250px; overflow:hidden; background-color:#145c3a; background-size:cover; background-position:center; }
.ch-breadcrumb-area::after { display:none; }
.ch-breadcrumb-area.dm-banner-gradient { background-image:radial-gradient(ellipse at 85% 20%,rgba(175,208,188,.22),transparent 55%),linear-gradient(115deg,#103f2b,#236b48); }
.ch-breadcrumb-area.dm-banner-gradient::before { content:""; position:absolute; width:340px; height:340px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-60px; top:-170px; box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025); pointer-events:none; }
.ch-breadcrumb-area .container { position:relative; z-index:1; }
.ch-breadcrumb-area .breadcrumb-content h2 { font-size:clamp(30px,4vw,46px); line-height:1.15; }
.dm-causes h1 { font-size:clamp(28px,3vw,40px); margin-bottom:12px; }
.dm-causes > .container > p { margin-bottom:28px; max-width:720px; }
.dm-causes-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:stretch; }
.dm-causes-grid .dm-cause-card { min-width:0; display:flex; flex-direction:column; padding:16px; border-radius:18px; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.dm-causes-grid .dm-cause-card h2 { font-size:20px !important; line-height:1.4; font-weight:600; margin:0 0 20px; overflow-wrap:anywhere; }
.dm-cause-image { overflow:hidden; border-radius:12px; margin-bottom:18px; }
.dm-causes-grid .dm-cause-card img { display:block; width:100%; height:auto; aspect-ratio:4/3; margin:0; border-radius:0; object-fit:cover; transition:transform .4s ease; }
.dm-causes-grid .dm-cause-card > span:last-child { margin-top:auto; font-size:15px; font-weight:500; }
.dm-causes-grid .dm-cause-card:hover,.dm-causes-grid .dm-cause-card:focus-visible { transform:translateY(-6px); box-shadow:0 16px 35px rgba(11,47,32,.12); border-color:#70a78b; }
.dm-causes-grid .dm-cause-card:hover img,.dm-causes-grid .dm-cause-card:focus-visible img { transform:scale(1.045); }
.dm-feature-empty { padding:56px 0; }
.dm-feature-empty .dm-feature-panel { max-width:900px; margin:auto; padding:32px; border:1px solid #d2e6da; border-radius:20px; background:#fff; text-align:center; }
.dm-feature-empty h2 { font-size:clamp(26px,3vw,36px); margin:10px 0 14px; }
.dm-feature-empty .dm-feature-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:24px; }
@media(max-width:1199px){.dm-causes-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:767px){.dm-causes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dm-causes-grid .dm-cause-card h2{font-size:18px !important}.ch-breadcrumb-area{padding:56px 0;min-height:200px}}
@media(max-width:479px){.dm-causes-grid{grid-template-columns:minmax(0,1fr)}.dm-feature-empty .dm-feature-panel{padding:24px}}
@media(prefers-reduced-motion:reduce){.dm-causes-grid .dm-cause-card,.dm-causes-grid .dm-cause-card img{transition:none}.dm-causes-grid .dm-cause-card:hover,.dm-causes-grid .dm-cause-card:focus-visible,.dm-causes-grid .dm-cause-card:hover img,.dm-causes-grid .dm-cause-card:focus-visible img{transform:none}}

/* V3: supplied green artwork, torn edge, open footer groups and programs. */
.ch-hero-section { background-image:url('/assets/images/donormaxx-hero-green.jpg') !important; background-size:100% 125% !important; background-position:center top !important; background-repeat:no-repeat; clip-path:polygon(0 0,100% 0,100% 94%,98% 94.3%,96% 93.4%,94% 94.1%,92% 93%,90% 94%,88% 93.3%,86% 95%,84% 94.3%,82% 94.8%,80% 92.8%,78% 93.5%,76% 93.1%,74% 91%,72% 91.7%,70% 90.8%,68% 92.6%,66% 91.6%,64% 93.5%,62% 94.2%,60% 93.4%,58% 94.5%,56% 93%,54% 92%,52% 90.6%,50% 92.4%,48% 92%,46% 93.2%,44% 91.6%,42% 94%,40% 95%,38% 94.2%,36% 93.4%,34% 94.5%,32% 92.7%,30% 94%,28% 94.5%,26% 91%,24% 90.8%,22% 92%,20% 94.4%,18% 95%,16% 94%,14% 93.3%,12% 94.5%,10% 92.2%,8% 92.8%,6% 95%,4% 95.7%,2% 96.2%,0 96%); }
.dm-home-discovery { background:white; }
.dm-home-discovery > .ch-fea-section,.dm-home-discovery > .ch-newest-section { padding:64px 0; background:white; }
.dm-home-discovery > .ch-newest-section,.dm-home-discovery > .dm-programs-section { background:#f3f7f4; }
.dm-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:30px; }
.dm-section-heading h2 { font-size:clamp(28px,3vw,40px); margin:8px 0 12px; }
.dm-section-heading .ch-btn { flex-shrink:0; }
.dm-programs-section { padding:64px 0; }
.dm-program-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.dm-program-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #d2e6da; border-radius:18px; background:white; color:#091e42; transition:transform .2s ease,box-shadow .2s ease; }
.dm-program-card:hover { transform:translateY(-5px); box-shadow:0 14px 30px rgba(11,47,32,.1); }
.dm-program-card > img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.dm-program-art { background:linear-gradient(130deg,#0b2f20,#337f56); color:#afd0bc; display:grid; place-items:center; aspect-ratio:4/3; font-size:64px; }
.dm-program-content { display:flex; flex-direction:column; gap:12px; padding:22px; flex:1; }
.dm-program-content h3 { font-size:21px; line-height:1.35; margin:0; overflow-wrap:anywhere; }
.dm-program-content p { font-size:16px; line-height:1.6; margin:0; }
.dm-program-content small { font-size:14px; color:#52675b; }
.dm-program-badge { font-size:12px; font-weight:600; color:#145c3a; }
.dm-program-link { color:#145c3a; font-size:15px; font-weight:600; margin-top:auto; padding-top:10px; }
.dm-program-empty { border:1px solid #d2e6da; border-radius:18px; background:white; padding:32px; text-align:center; }
.dm-program-empty h3 { font-size:26px; margin-bottom:12px; }
.dm-program-detail { padding-top:48px; padding-bottom:64px; }
.dm-program-detail article { max-width:900px; margin:auto; }
.dm-program-detail article > img { width:100%; max-height:480px; object-fit:cover; border-radius:20px; margin-bottom:32px; }
.dm-program-detail h1 { font-size:clamp(30px,4vw,46px); margin-bottom:20px; }
.dm-program-summary { font-size:21px; }
.dm-program-description { white-space:pre-wrap; line-height:1.8; margin:24px 0 32px; overflow-wrap:anywhere; }
.dm-program-dashboard .dm-program-form { padding:24px; margin:24px 0; background:#f2f7f3; border:1px solid #d2e6da; border-radius:16px; }
.dm-program-form label { display:flex; flex-direction:column; gap:8px; margin:18px 0; font-size:15px; font-weight:600; }
.dm-program-form input,.dm-program-form textarea { width:100%; padding:12px; border:1px solid #b5c8bc; border-radius:8px; background:white; color:#091e42; font:inherit; }
.dm-program-date-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.dm-feature-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:24px; }
.dm-program-table { overflow-x:auto; margin-top:24px; }
.dm-program-table table { width:100%; border-collapse:collapse; }
.dm-program-table th,.dm-program-table td { padding:16px; border-bottom:1px solid #d2e6da; text-align:left; }
.dm-program-table button { margin:4px 14px 4px 0; color:#145c3a; text-decoration:underline; }
@media(max-width:1199px){.dm-program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.dm-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-section-heading{flex-direction:column;align-items:flex-start}.dm-programs-section,.dm-home-discovery > .ch-newest-section{padding:40px 0}.dm-program-date-fields{grid-template-columns:1fr;gap:0}}
@media(max-width:479px){.dm-program-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.dm-program-card{transition:none}.dm-program-card:hover{transform:none}}

/* V4: consistent green sections and compact, contained mobile counters. */
.ch-vounteers-section,.ch-contact-page-infor-area { background-color:#0b4027 !important; overflow:hidden; }
.ch-contact-page-infor-area .single-contact-info .icon-wrapper,
.ch-single-about-wrapper .single-item .single-about-counter .icon-wrapper { background-color:#145c3a !important; }
.ch-vounteers-section .title span { color:#afd0bc; }
.ch-vounteers-section svg path { fill:#2c6d4d; }
.ch-contact-page-infor-area .single-contact-info { height:100%; min-width:0; }
.ch-contact-page-infor-area .single-contact-info p,.ch-contact-page-infor-area .single-contact-info a { overflow-wrap:anywhere; max-width:100%; }
.ch-about-vdo-section { position:relative; overflow:hidden; height:auto !important; min-height:0; background-color:#0b4027; background-size:cover; }
.ch-single-about-wrapper { --bs-gutter-x:24px; --bs-gutter-y:36px; margin-inline:0; }
.ch-single-about-wrapper .single-item { min-width:0; }
.single-about-counter { height:100%; padding:12px 0; text-align:center; }
.single-about-counter h5 { overflow-wrap:anywhere; line-height:1.4; }
.ch-reg-log-wrapper .auth-form-wrapper { min-width:0; }
.ch-reg-log-wrapper .ch-btn { white-space:normal; line-height:1.35; min-height:52px; }
.dm-registration-error { white-space:normal; overflow-wrap:anywhere; }
@media(max-width:767px){
 .ch-about-vdo-section{padding:48px 0}.ch-about-vdo-section .mb-120{margin-bottom:40px !important}
 .ch-single-about-wrapper .single-item{flex:0 0 50%;width:50%;max-width:50%;padding-inline:8px}
 .single-about-counter .icon-wrapper{width:64px;height:64px;margin-bottom:16px}
 .single-about-counter .icon-wrapper i{font-size:25px}.single-about-counter h3{font-size:30px;line-height:1.2}.single-about-counter h5{font-size:16px;margin:8px 0 0}
 .ch-reg-log-wrapper .auth-form-wrapper{padding:24px 18px}.ch-reg-log-wrapper .personal-info-input{min-width:0;width:100%;font-size:16px}
 .ch-vounteers-section .hand-shape,.ch-vounteers-section .right-shape{max-width:30%;pointer-events:none}
}

/* V4: reference-style footer over the world map artwork. */
.ch-footer-section.dm-footer {
  background-color:#07271a !important;
  background-image:linear-gradient(180deg,rgba(5,28,19,.58) 0%,rgba(5,28,19,.36) 42%,rgba(5,28,19,.84) 100%),url('/assets/images/footer-world-map.png') !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  padding:88px 0 0 !important;
}
.dm-footer .dm-footer-grid { display:grid; grid-template-columns:1.05fr .8fr 1.05fr 1.25fr; gap:48px 44px; align-items:start; }
.dm-footer .dm-footer-col { min-width:0; color:#e6f0e9; }
.dm-footer .foo-title { font-size:15px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; color:#fff; margin:0 0 26px; padding-bottom:12px; position:relative; line-height:1.3; }
.dm-footer .foo-title::after { content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; border-radius:2px; background:#8fd3ab; }
.dm-footer .dm-footer-contact { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px; }
.dm-footer .dm-footer-contact li { display:flex; gap:12px; align-items:flex-start; }
.dm-footer .dm-footer-contact svg { flex:0 0 18px; margin-top:2px; color:#8fd3ab; }
.dm-footer .dm-footer-contact a, .dm-footer .dm-footer-contact span { color:#e6f0e9; font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.dm-footer .dm-footer-contact a:hover { color:#8fd3ab; }
.dm-footer .dm-footer-social { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.dm-footer .dm-footer-social .icon-wrapper { width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06); display:grid; place-items:center; color:#fff; transition:background .25s ease,border-color .25s ease; }
.dm-footer .dm-footer-social .icon-wrapper i { color:#fff; font-size:15px; }
.dm-footer .dm-footer-social .icon-wrapper:hover { background:#2f9e63; border-color:#2f9e63; }
.dm-footer .dm-footer-links { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; }
.dm-footer .dm-footer-links a { color:#dfeae2; font-size:15px; line-height:1.55; transition:color .2s ease; }
.dm-footer .dm-footer-links a:hover { color:#8fd3ab; }
.dm-footer .dm-footer-newsletter p { color:#c9dbd0; font-size:15px; line-height:1.7; margin:0 0 20px; }
.dm-footer .dm-footer-newsletter form { display:flex; flex-direction:column; gap:12px; }
.dm-footer .dm-footer-input { width:100%; height:52px; padding:0 16px; border-radius:4px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff; font-size:15px; }
.dm-footer .dm-footer-input::placeholder { color:#b9cdc1; }
.dm-footer .dm-footer-input:focus { outline:2px solid #8fd3ab; outline-offset:2px; border-color:#8fd3ab; }
.dm-footer .dm-footer-subscribe { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:52px; padding:0 24px; border:0; border-radius:4px; background:#2f9e63; color:#fff; font-size:14px; font-weight:600; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:background .25s ease; }
.dm-footer .dm-footer-subscribe:hover { background:#3cb273; }
.dm-footer .dm-footer-subscribe:disabled { opacity:.7; cursor:progress; }
.dm-footer .dm-footer-posts { display:flex; flex-direction:column; gap:22px; }
.dm-footer .dm-footer-post { display:flex; gap:14px; align-items:flex-start; }
.dm-footer .dm-footer-post-img { width:84px; height:84px; flex:0 0 84px; object-fit:cover; border-radius:6px; }
.dm-footer .dm-footer-post-body h6 { margin:0 0 8px; color:#fff; font-size:15px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.dm-footer .dm-footer-post-body span { color:#9db8a9; font-size:13px; line-height:1.5; }
.dm-footer .dm-footer-post:hover h6 { color:#8fd3ab; }
.dm-footer .dm-footer-muted { color:#c9dbd0; font-size:15px; margin:0; }
.dm-footer.ch-footer-section .copyright-area { position:static; margin-top:64px; padding:20px 0; background:rgba(3,20,14,.55); border-top:1px solid rgba(255,255,255,.12); text-align:left; }
.dm-footer .dm-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.dm-footer .dm-footer-bottom-logo { display:block; width:auto; height:44px; max-width:170px; object-fit:contain; }
.dm-footer .copyright-area .copy-text { color:#bfd2c6; font-size:14px; }
@media(max-width:1199px){ .dm-footer .dm-footer-grid { grid-template-columns:1fr 1fr; gap:44px 40px; } }
@media(max-width:767px){
  .ch-footer-section.dm-footer { padding-top:60px !important; background-position:center center !important; }
  .dm-footer .dm-footer-grid { grid-template-columns:1fr; gap:36px; }
  .dm-footer.ch-footer-section .copyright-area { margin-top:44px; }
  .dm-footer .dm-footer-bottom { justify-content:center; text-align:center; }
}

/* V5: transparent emblem video placeholder on About page. */
.dm-about-video-img { width:100%; max-height:600px; object-fit:contain !important; padding:36px; background:transparent; border-radius:16px; }
@media(max-width:991px){ .dm-about-video-img { padding:20px; max-height:420px; } }

/* V6: replace remaining navy-blue sections with DonorMaxx green. */
.ch-vounteers-section { background-color:#0b2f20 !important; }
.ch-vounteers-section .hand-shape { filter: hue-rotate(140deg) brightness(1.2) saturate(0.8); opacity:.22; }
.ch-vounteers-section .pointer-shape path { fill:#2f9e63 !important; opacity:.18; }
.ch-contact-page-infor-area { background-color:#0b2f20 !important; }
.ch-contact-page-infor-area .left-phone-shape path,
.ch-contact-page-infor-area .arrow-shape path { fill:#145c3a !important; opacity:.35; }
.ch-contact-page-infor-area .contact-info-wrapper .select-item:first-child .single-contact-info .icon-wrapper { background-color:#2f9e63 !important; }
.ch-contact-page-infor-area .contact-info-wrapper .select-item:nth-child(2) .single-contact-info .icon-wrapper { background-color:#3cb273 !important; }
.ch-contact-page-infor-area .contact-info-wrapper .select-item:nth-child(3) .single-contact-info .icon-wrapper { background-color:#145c3a !important; }

/* The category chip is a NiceSelect locked to 262px with 40px side padding, and it inherits
   white-space:nowrap with no overflow handling, so a long category name paints straight through the
   chip border and over the neighbouring green button. Scope is .campaign-filter-area (desktop row)
   so the mobile filter modal keeps its own width:100% rules. */
.campaign-filter-area .ch-campaign-filter-nav { flex-wrap:wrap; align-items:center; row-gap:12px; }
.campaign-filter-area .ch-campaign-filter-nav .filter-select { display:flex; align-items:center; width:auto; max-width:min(360px,100%); padding:18px 46px 18px 22px; }
.campaign-filter-area .ch-campaign-filter-nav .filter-select .current { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.campaign-filter-area .ch-campaign-filter-nav .filter-btn { flex:0 0 auto; }
@media(max-width:1199.97px){ .campaign-filter-area .ch-campaign-filter-nav .filter-select { padding:12px 46px 12px 22px; } }

/* V7: scroll choreography - columns and section titles rise in as they enter the viewport,
   and re-play when the visitor scrolls back up (see src/helper/scrollReveal.ts).
   Everything is gated on html.dm-reveal-ready so content stays visible if the script never runs. */
html.dm-reveal-ready [data-dm-reveal] {
  opacity:0;
  transform:translate3d(0,36px,0);
  transition:opacity .7s ease var(--dm-delay,0ms), transform .7s cubic-bezier(.22,.68,.34,1) var(--dm-delay,0ms);
}
html.dm-reveal-ready [data-dm-reveal].dm-revealed { opacity:1; transform:translate3d(0,0,0); }
html.dm-reveal-ready .title-box[data-dm-reveal] { transform:translate3d(0,20px,0) scale(.95); }
html.dm-reveal-ready .title-box[data-dm-reveal].dm-revealed { animation:dmBounceIn .9s cubic-bezier(.24,.9,.34,1.25) var(--dm-delay,0ms) both; }
@keyframes dmBounceIn {
  0% { opacity:0; transform:translate3d(0,20px,0) scale(.95); }
  55% { opacity:1; transform:translate3d(0,-8px,0) scale(1.04); }
  78% { transform:translate3d(0,3px,0) scale(.99); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes dmFloat {
  0%,100% { transform:translate3d(0,0,0); }
  50% { transform:translate3d(0,-14px,0); }
}
@media(min-width:992px){
  .ch-hero-section-2 .shape.shape1 { animation:dmFloat 7s ease-in-out infinite; }
  .ch-hero-section-2 .shape.shape3 { animation:dmFloat 9s ease-in-out infinite reverse; }
  .ch-vounteers-section .hand-shape { animation:dmFloat 8s ease-in-out infinite; }
  .ch-vounteers-section .right-shape { animation:dmFloat 10s ease-in-out infinite reverse; }
}
.single-campaign, .single-volunteer, .single-support, .single-sm-blog-card, .dm-program-card {
  transition:transform .35s ease, box-shadow .35s ease, opacity .7s ease;
}
.single-campaign:hover, .single-volunteer:hover, .single-support:hover, .single-sm-blog-card:hover {
  transform:translateY(-8px);
  box-shadow:0 26px 54px rgba(11,47,32,.16);
}
.ch-btn:not(.slick-arrow) { transition:transform .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease; }
.ch-btn:hover { transform:translateY(-3px); box-shadow:0 14px 26px rgba(11,47,32,.22); }
.dm-feature-more { display:flex; justify-content:center; margin-top:36px; }
.dm-feature-more a { display:inline-flex; align-items:center; gap:8px; color:#145c3a; font-weight:600; font-size:16px; text-decoration:none; border-bottom:2px solid transparent; padding-bottom:4px; transition:border-color .25s ease, color .25s ease; }
.dm-feature-more a:hover { color:#0b2f20; border-color:#8fd3ab; }
@media(prefers-reduced-motion:reduce){
  html.dm-reveal-ready [data-dm-reveal] { opacity:1; transform:none; transition:none; animation:none; }
  .single-campaign:hover, .single-volunteer:hover, .single-support:hover, .single-sm-blog-card:hover { transform:none; }
  .ch-btn:hover { transform:none; }
  .ch-hero-section-2 .shape.shape1, .ch-hero-section-2 .shape.shape3, .ch-vounteers-section .hand-shape, .ch-vounteers-section .right-shape { animation:none; }
}

/* The stock FAQ artwork is a fixed 759px image nudged 60px to the right, which pokes past the
   viewport on desktop and creates a horizontal scrollbar. */
.home-2-faq-section { overflow:hidden; }
.home-2-faq-section .faq-img { left:auto; width:100%; max-width:100%; }

/* The header is position:static in the stock theme, so the account dropdown's z-index:10 loses to
   the breadcrumb/cards below it (same or later in paint order) and hides behind them. */
.ch-header-area { position:relative; z-index:1050; }
.ch-header-area.home { position:absolute; }
.ch-header-area .login-profile-routes-wrapper { position:relative; }
.ch-header-area .login-profile-routes-wrapper .route-dropdown { z-index:1060; }
/* Keep the slide-in drawer above the newly stacked header. */
.mobile-menu { z-index:1200; }
