 :root{--sh-primary:#3155C8;--sh-purple:#8055D9;--sh-pink:#EC78A8;--sh-ink:#202744;--sh-muted:#6E7892;--sh-line:#E9ECF4;--sh-soft:#F6F7FC}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--sh-ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--sh-line)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;font:800 17px 'Plus Jakarta Sans';color:var(--sh-ink)}.brand small{display:block;font-size:11px;color:var(--sh-muted)}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;color:white;font-weight:800;background:linear-gradient(135deg,var(--sh-primary),var(--sh-purple))}.custom-logo{max-height:50px;width:auto}.main-nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}.main-nav>a:not(.btn):hover,.text-link:hover{color:var(--sh-purple)}.menu-toggle{display:none;border:0;background:#f2f3fa;border-radius:10px;padding:9px 12px;font-size:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:12px;font-weight:700;font-size:14px;transition:.2s;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--sh-primary);color:white;box-shadow:0 8px 18px #3155c82b}.btn-primary:hover{background:#2546b0;color:white;transform:translateY(-1px)}.btn-light{background:#fff;color:var(--sh-primary)}.btn-outline{border-color:#dce1f2;color:var(--sh-primary)}.btn-small{padding:9px 14px;font-size:12px}.btn-block{display:flex;width:100%;margin:16px 0}.hero{position:relative;overflow:hidden;min-height:510px;background:linear-gradient(115deg,#243e9b 0%,#5542b6 55%,#9b5bbf 100%);color:white;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.19}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172c76d9,#4535a8b8 65%,#854cb477)}.hero-content{position:relative;z-index:2;padding-top:70px;padding-bottom:70px;max-width:1160px}.hero h1{font:800 clamp(36px,5vw,58px)/1.13 'Plus Jakarta Sans';max-width:680px;margin:17px 0}.hero p{font-size:17px;max-width:570px;color:#f0efff;margin:0 0 28px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--sh-purple)}.hero .eyebrow{color:#e7d9ff}.hero-note{font-size:12px;color:#e4e2ff;margin-top:24px}.hero-orb{position:absolute;border:1px solid #ffffff25;border-radius:50%;z-index:1}.orb-one{width:420px;height:420px;right:7%;top:5%}.orb-two{width:280px;height:280px;right:13%;top:18%}.trust-strip{background:#fff;border-bottom:1px solid var(--sh-line)}.trust-items{display:flex;justify-content:center;gap:75px;padding:17px 0;color:#66718b;font-size:13px;font-weight:600}.section{padding-top:76px;padding-bottom:76px}.section-soft{background:var(--sh-soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading h1,.section-heading h2,.transparency h2,.about-cta h2{font:800 clamp(26px,3vw,36px)/1.2 'Plus Jakarta Sans';margin:7px 0 8px}.section-heading p,.transparency p{color:var(--sh-muted);margin:0}.text-link{font-size:14px;font-weight:700;color:var(--sh-primary);white-space:nowrap}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-grid>a{padding:24px 20px;border:1px solid var(--sh-line);border-radius:18px;display:flex;flex-direction:column;gap:6px;transition:.2s;background:#fff}.category-grid>a:hover,.campaign-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #29345c12}.category-grid b{font-size:15px}.category-grid small{font-size:12px;color:var(--sh-muted)}.category-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;font-size:25px;margin-bottom:9px}.c-blue{background:#e9efff;color:#3155c8}.c-purple{background:#f0eaff;color:#8055d9}.c-pink{background:#ffedf4;color:#d65d92}.c-orange{background:#fff1e6;color:#d77b31}.campaign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.campaign-card{border:1px solid var(--sh-line);border-radius:18px;overflow:hidden;background:#fff;transition:.2s}.campaign-image{height:205px;display:block;background:linear-gradient(135deg,#e7eaff,#f7e9f2);overflow:hidden}.campaign-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{height:100%;display:grid;place-items:center;color:#7781aa;font-weight:700}.campaign-body{padding:20px}.campaign-cat{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--sh-purple);font-weight:800}.campaign-body h3{font:700 17px/1.4 'Plus Jakarta Sans';margin:8px 0 17px;min-height:48px}.progress{height:7px;border-radius:99px;background:#edf0f7;overflow:hidden;margin:13px 0 9px}.progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sh-primary),var(--sh-pink))}.fund-row{display:flex;justify-content:space-between;font-size:11px;color:var(--sh-muted)}.fund-row b{color:var(--sh-ink)}.fund-target{font-size:11px;color:var(--sh-muted);margin:4px 0 16px}.impact-band{background:#f2f1ff;padding:50px 0}.impact-inner{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:center;gap:30px}.impact-inner h2{font:800 28px 'Plus Jakarta Sans';margin:7px 0}.impact-inner p{color:var(--sh-muted);max-width:470px;margin:0}.impact-stat{padding:20px;border-left:1px solid #dcd8f4}.impact-stat strong{display:block;font:800 23px 'Plus Jakarta Sans';color:var(--sh-primary)}.impact-stat span{font-size:12px;color:var(--sh-muted)}.transparency{display:flex;gap:25px;align-items:flex-start;max-width:900px}.trans-icon{width:55px;height:55px;flex:none;border-radius:18px;display:grid;place-items:center;background:#e8f8f0;color:#2a9a69;font-size:26px}.transparency h2{font-size:27px}.transparency p{max-width:760px;margin-bottom:12px}.about-cta{background:linear-gradient(110deg,#2c459e,#6b4ab9);color:white;padding:58px 0;overflow:hidden}.about-cta .container{display:flex;justify-content:space-between;align-items:center}.about-cta .container>div:first-child{max-width:700px}.about-cta .eyebrow{color:#e4d9ff}.about-cta h2{font-size:32px}.about-cta p{color:#e8e5ff}.about-art{font-size:160px;color:#ffffff20;line-height:1}.site-footer{background:#171f3b;color:#d8dcef;padding:55px 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.4fr 1fr;gap:32px;padding-bottom:38px}.footer-grid h4{color:#fff;margin:0 0 12px}.footer-grid p,.footer-grid a:not(.footer-brand){font-size:13px;color:#b9c2dc}.footer-grid a{display:block;margin:7px 0}.footer-brand{font:800 19px 'Plus Jakarta Sans';color:white}.footer-bottom{text-align:center;border-top:1px solid #ffffff18;padding:17px;font-size:11px;color:#9ba7c6}.page-content h1{font:800 38px 'Plus Jakarta Sans'}.page-content .entry-content{max-width:850px}.page-content>img,.detail-main>img{border-radius:18px}.post-summary{padding:20px 0;border-bottom:1px solid var(--sh-line)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:45px}.detail-main h1{font:800 38px/1.2 'Plus Jakarta Sans'}.detail-main>img{width:100%;max-height:460px;object-fit:cover;margin:18px 0}.detail-main h2{font:700 24px 'Plus Jakarta Sans'}.donate-panel{align-self:start;position:sticky;top:100px;border:1px solid var(--sh-line);border-radius:18px;padding:23px;box-shadow:0 12px 30px #29345c0b}.donate-panel h3{font:700 18px 'Plus Jakarta Sans';margin:0 0 14px}.raised-amount{display:block;font:800 25px 'Plus Jakarta Sans';color:var(--sh-primary)}.donate-panel>span,.donate-panel small{font-size:12px;color:var(--sh-muted)}.donate-panel>b{font-size:12px}.donation-form-wrap{max-width:760px;margin:65px auto 0;padding:30px;border:1px solid var(--sh-line);border-radius:20px}.donation-form-wrap h2{font:800 27px 'Plus Jakarta Sans'}.sh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sh-field{margin-bottom:15px}.sh-field label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.sh-field input,.sh-field select,.sh-field textarea{width:100%;padding:12px 13px;border:1px solid #dfe3ee;border-radius:10px;font:inherit;font-size:14px;background:#fff}.sh-amounts{display:flex;flex-wrap:wrap;gap:8px}.sh-amounts label{border:1px solid #dfe3ee;border-radius:9px;padding:8px 13px;font-size:13px;cursor:pointer}.sh-amounts input{width:auto}.sh-bank-box{background:#f3f4ff;padding:17px;border-radius:12px;margin:16px 0;font-size:14px}.sh-bank-box strong{font-size:18px}.sh-notice{padding:15px;background:#fff8e8;border-radius:10px;color:#76531d;font-size:13px}.sh-success{background:#eaf8f0;padding:20px;border-radius:14px}.sh-error{background:#fff0f0;padding:14px;border-radius:10px;color:#a42a2a}.sh-admin-table{width:100%;border-collapse:collapse}.sh-admin-table th,.sh-admin-table td{padding:10px;border-bottom:1px solid #ddd;text-align:left;font-size:13px}.sh-admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sh-update{border-left:3px solid var(--sh-purple);padding:12px 16px;margin:14px 0;background:#f8f7ff}.sh-update time{font-size:12px;color:var(--sh-muted)}@media(max-width:900px){.main-nav{gap:13px;font-size:12px}.category-grid{grid-template-columns:repeat(2,1fr)}.campaign-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.container{width:calc(100% - 32px)}.header-inner{height:68px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:18px 22px 22px;box-shadow:0 12px 20px #18204415;flex-direction:column;align-items:stretch;gap:13px}.main-nav.is-open{display:flex}.nav-donate{text-align:center}.hero{min-height:495px}.hero-content{padding-top:55px;padding-bottom:55px}.hero h1{font-size:38px}.hero p{font-size:15px}.trust-items{gap:10px;justify-content:space-between;font-size:10px}.section{padding-top:54px;padding-bottom:54px}.section-heading{align-items:flex-start;flex-direction:column}.category-grid{gap:10px}.category-grid>a{padding:17px 14px}.category-grid b{font-size:13px}.category-grid small{font-size:11px}.campaign-grid{grid-template-columns:1fr;gap:16px}.campaign-image{height:190px}.impact-inner{grid-template-columns:1fr;gap:15px}.impact-stat{border-left:0;border-top:1px solid #dcd8f4;padding:15px 0 0}.transparency{gap:14px}.transparency h2{font-size:23px}.about-cta .container{display:block}.about-art{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.detail-layout{grid-template-columns:1fr;gap:25px}.donate-panel{position:static;order:-1}.detail-main h1,.page-content h1{font-size:30px}.donation-form-wrap{padding:20px 15px}.sh-form-grid{grid-template-columns:1fr}.hero-orb{opacity:.4}}

.hero-slider{display:block;min-height:510px}.hero-slides{position:relative;min-height:510px}.hero-slide{display:none;min-height:510px;background-size:cover;background-position:center;background-image:linear-gradient(115deg,#243e9b,#9b5bbf)}.hero-slide.is-active{display:flex;align-items:center;animation:shFade .55s ease}.hero-dots{position:absolute;z-index:4;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.hero-dot{width:8px;height:8px;border:0;border-radius:99px;background:#ffffff70;padding:0;cursor:pointer}.hero-dot.is-active{width:24px;background:#fff}@keyframes shFade{from{opacity:.55}to{opacity:1}}
/* 1.1.0 — visual refinement based on the supplied Sahabat Sinar Hati HTML reference */
:root{--sh-primary:#1E40AF;--sh-purple:#7C3AED;--sh-pink:#EC4899;--sh-ink:#1e293b;--sh-muted:#64748b;--sh-line:#e2e8f0;--sh-soft:#f8fafc}
body{background:#f1f5f9;color:#1e293b}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 2px 12px rgba(15,23,42,.04)}
.brand-mark{background:linear-gradient(135deg,#1E40AF 0%,#7C3AED 55%,#EC4899 100%);box-shadow:0 6px 16px rgba(30,64,175,.2)}
.btn-primary{background:linear-gradient(110deg,#1E40AF,#7C3AED);box-shadow:0 8px 20px rgba(124,58,237,.2)}
.btn-primary:hover{background:linear-gradient(110deg,#1d4ed8,#6d28d9)}
.hero,.hero-slide{background-color:#0f172a}
.hero:after{background:linear-gradient(0deg,rgba(2,6,23,.82),rgba(15,23,42,.28) 65%,rgba(15,23,42,.12))}
.hero .eyebrow{display:inline-block;background:#EC4899;color:#fff;padding:7px 12px;border-radius:999px;letter-spacing:.8px}
.hero .btn-light{background:linear-gradient(110deg,#EC4899,#7C3AED);color:#fff;box-shadow:0 10px 24px rgba(124,58,237,.24)}
.category-grid>a{border-radius:18px;box-shadow:0 5px 18px rgba(30,64,175,.045)}
.campaign-card{border-radius:20px;box-shadow:0 10px 25px -5px rgba(30,64,175,.08)}
.campaign-image{height:215px}
.progress span{background:linear-gradient(90deg,#1E40AF,#7C3AED,#EC4899)}
.impact-band{background:linear-gradient(110deg,#1E40AF,#7C3AED);color:#fff}
.impact-inner p,.impact-stat span{color:#e0e7ff}
.impact-stat{border-color:rgba(255,255,255,.2)}
.impact-stat strong{color:#fff}
.trans-icon{background:#f3e8ff;color:#7C3AED}
.about-cta{background:linear-gradient(110deg,#1E40AF,#7C3AED 60%,#9333ea)}
.site-footer{background:#0f172a}
.sh-amounts label:has(input:checked){border-color:#7C3AED;background:#f5f3ff;color:#6d28d9}
.sh-bank-box{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #dbeafe}
@media(max-width:680px){.hero,.hero-slider,.hero-slides,.hero-slide{min-height:470px}.hero h1{font-size:32px}.campaign-image{height:195px}}
/* Campaign updates and fundraising summary - v1.2.0 */
.campaign-news{margin-top:34px;padding-top:24px;border-top:1px solid var(--sh-line)}
.campaign-news h2{margin-top:7px}
.sh-update{border-left:4px solid var(--sh-purple);border-radius:0 12px 12px 0;padding:15px 18px;margin:14px 0;background:#f8f7ff}
.sh-update p{margin:7px 0 0;line-height:1.7}
.donate-panel .progress{height:9px;margin:16px 0 10px}

/* v1.3.0: subkategori dan kabar terbaru */
.subcategory-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:24px}.subcategory-group{background:#f7f8ff;border:1px solid #e8eaff;border-radius:16px;padding:16px}.subcategory-group>b{display:block;color:#243b82;margin-bottom:10px}.subcategory-group>div{display:flex;flex-wrap:wrap;gap:8px}.subcategory-group a{display:inline-block;background:#fff;border:1px solid #e1e5fa;border-radius:999px;padding:7px 11px;color:#344477;text-decoration:none;font-size:13px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.news-card{background:#fff;border:1px solid #e8eaf5;border-radius:18px;padding:22px;box-shadow:0 8px 28px #1d2e6410}.news-card h3{font-size:20px;line-height:1.35;margin:10px 0}.news-card h3 a{color:#1e3478;text-decoration:none}.news-excerpt{font-size:14px;line-height:1.65;color:#58627b;margin-bottom:14px}.news-excerpt ul{padding-left:18px}.news-excerpt li{margin:6px 0}.latest-news{padding-top:52px;padding-bottom:52px}@media(max-width:760px){.news-grid{grid-template-columns:1fr}.subcategory-links{grid-template-columns:1fr}}

/* Banner promosi kecil yang dapat diganti dari Customizer */
.small-home-banner{padding-top:18px;padding-bottom:0}.small-home-banner a{display:flex;align-items:center;gap:16px;min-height:84px;padding:10px 16px;border:1px solid var(--sh-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px #29345c0a}.small-home-banner img{width:112px;height:64px;object-fit:cover;border-radius:9px}.small-home-banner span{display:flex;flex-direction:column;gap:4px;flex:1}.small-home-banner b{font:700 14px 'Plus Jakarta Sans';color:var(--sh-ink)}.small-home-banner small{font-size:12px;color:var(--sh-muted)}.small-home-banner i{font-size:26px;color:var(--sh-primary);font-style:normal}.donate-panel .btn{display:block;width:100%;text-align:center;margin-top:17px;padding:15px 18px;font-size:16px}.donate-panel .progress{margin:12px 0 8px}
@media(max-width:680px){.small-home-banner{padding-top:12px}.small-home-banner a{min-height:72px;padding:8px 10px;gap:10px}.small-home-banner img{width:86px;height:56px}.small-home-banner b{font-size:12px}.small-home-banner small{font-size:10px}.detail-layout{display:flex;flex-direction:column}.detail-main{order:1}.donate-panel{order:2;width:100%;box-sizing:border-box}.donation-form-wrap{order:3;margin-top:28px}}

/* Halaman detail kampanye: susunan ringkas mengikuti referensi Peduli Sesama */
.sh-campaign-public{max-width:900px;margin:0 auto;background:#fff}
.sh-campaign-cover{width:100%;overflow:hidden;background:#f2f4fa;border-radius:16px 16px 0 0}
.sh-campaign-cover-img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;margin:0!important;border-radius:0!important}
.sh-campaign-cover-placeholder{min-height:220px;display:grid;place-items:center;color:var(--sh-muted);font-weight:800;background:linear-gradient(135deg,#e8edff,#f8eafa)}
.sh-campaign-summary{padding:26px 30px 30px;border:1px solid var(--sh-line);border-top:0;border-radius:0 0 14px 14px}
.sh-campaign-summary h1{font:800 clamp(25px,4vw,38px)/1.25 'Plus Jakarta Sans';margin:8px 0 14px;color:var(--sh-ink)}
.sh-campaign-location{color:#9aa2b3;font-size:14px;margin:12px 0 26px}
.sh-campaign-location span{font-size:12px;color:#c4cad5;margin-right:8px}
.sh-raised-line{margin-bottom:12px;color:var(--sh-ink);font-size:15px}
.sh-raised-line strong{font:800 clamp(22px,3vw,28px) 'Plus Jakarta Sans';color:var(--sh-ink)}
.sh-large-progress{height:13px;background:#eceff5;border-radius:99px;overflow:hidden}
.sh-large-progress span{display:block;height:100%;background:#ef1738;border-radius:99px}
.sh-campaign-stats{display:flex;justify-content:space-between;gap:12px;margin:12px 0 24px;color:#4e596d;font-size:14px}
.sh-campaign-stats strong{font-weight:800;color:var(--sh-ink)}
.sh-main-donate{background:#f20b2b;color:#fff;border-radius:9px;min-height:58px;font-size:18px;box-shadow:0 5px 12px #e8193430;margin:0}
.sh-main-donate:hover{background:#d90826;color:#fff}
.sh-verified-note{text-align:center;font-size:11px;color:var(--sh-muted);margin:10px 0 0}
.sh-campaign-tabs{margin-top:32px;padding:22px 26px 28px;border:1px solid var(--sh-line);border-radius:14px;background:#fff}
.sh-tab-nav{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--sh-line);scrollbar-width:thin}
.sh-tab-button{flex:0 0 auto;border:0;border-radius:8px 8px 0 0;padding:14px 20px;background:transparent;color:var(--sh-ink);font:700 14px 'DM Sans',Arial,sans-serif;cursor:pointer;white-space:nowrap}
.sh-tab-button.is-active{background:#f20b2b;color:#fff}
.sh-tab-panel{padding:24px 0 0;line-height:1.8}
.sh-tab-panel[hidden]{display:none!important}
.sh-tab-panel .entry-content{max-width:none}
.sh-tab-panel h2{font:800 22px 'Plus Jakarta Sans';margin:0 0 16px}
.sh-public-donor-list{list-style:none;padding:0;margin:0}
.sh-public-donor-list li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--sh-line)}
.sh-donor-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff0f2;color:#ef1738;flex:none}
.sh-donor-info{display:flex;flex-direction:column;flex:1;min-width:0}
.sh-donor-info strong{font-size:14px}
.sh-donor-info small{font-size:11px;color:var(--sh-muted)}
.sh-public-donor-list li>b{font-size:13px;white-space:nowrap}
.sh-campaign-public .donation-form-wrap{scroll-margin-top:90px}
@media(max-width:680px){.campaign-detail{padding-top:22px;padding-bottom:42px}.sh-campaign-public{width:100%;max-width:none}.sh-campaign-cover{border-radius:10px 10px 0 0}.sh-campaign-cover-img{max-height:300px;min-height:170px;object-fit:cover}.sh-campaign-summary{padding:20px 18px 22px}.sh-campaign-summary h1{font-size:25px}.sh-campaign-location{margin:9px 0 21px}.sh-raised-line{font-size:13px}.sh-raised-line strong{font-size:23px}.sh-large-progress{height:11px}.sh-campaign-stats{font-size:13px;margin:10px 0 20px}.sh-main-donate{min-height:56px;font-size:17px}.sh-campaign-tabs{margin-top:18px;padding:15px 16px 22px;border-radius:10px}.sh-tab-button{padding:12px 14px;font-size:13px}.sh-tab-panel{padding-top:20px}.sh-tab-panel h2{font-size:20px}.sh-public-donor-list li>b{font-size:12px}.sh-campaign-public .donation-form-wrap{margin:22px 0 0;padding:20px 15px}}

/* Form donasi ditampilkan sebagai popup setelah tombol ditekan */
.sh-donation-modal[hidden]{display:none!important}
.sh-donation-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:22px;}
.sh-donation-modal-backdrop{position:absolute;inset:0;background:rgba(15,22,48,.68);backdrop-filter:blur(3px);}
.sh-donation-dialog{position:relative;z-index:1;width:min(100%,680px);max-height:calc(100vh - 44px);overflow-y:auto;margin:0;padding:30px;background:#fff;border:0;border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.24);}
.sh-donation-dialog h2{margin:0 42px 8px 0;font:800 25px 'Plus Jakarta Sans';}
.sh-donation-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#f1f3f9;color:#26304d;font-size:28px;line-height:1;cursor:pointer;}
body.sh-modal-open{overflow:hidden}
@media(max-width:680px){.sh-donation-modal{align-items:flex-end;padding:0}.sh-donation-dialog{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding:26px 17px calc(22px + env(safe-area-inset-bottom));}.sh-donation-dialog h2{font-size:22px}.sh-donation-dialog .sh-form-grid{grid-template-columns:1fr}}

/* Homepage cleanup: remove the crowded subcategory directory and enrich campaign photos. */
.subcategory-links,.subcategory-group{display:none!important}
.campaign-image{position:relative;isolation:isolate}
.campaign-image:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(20,34,86,.02) 15%,rgba(24,37,91,.10) 48%,rgba(24,37,91,.62) 100%);transition:opacity .25s ease}
.campaign-image img{display:block;transition:transform .45s ease,filter .35s ease;filter:saturate(1.06) contrast(1.02)}
.campaign-card:hover .campaign-image img{transform:scale(1.045);filter:saturate(1.14) contrast(1.04)}
.campaign-card:hover .campaign-image:after{opacity:.82}
@media(max-width:680px){.campaign-image{height:205px}}
