:root{--brand-dark:#0b3b4a;--brand-accent:#f29f05;--brand-light:#f8fafc;--brand-text:#1e293b;--brand-link:#145f73;--brand-button-text:#18212b}
body{font-family:'Red Hat Display',sans-serif;color:var(--brand-text)} a{color:var(--brand-link);text-decoration:none}
.top-strip{background:linear-gradient(90deg,var(--brand-dark),#0f5d74)} .main-nav{background:rgba(11,59,74,.96)}
.site-logo{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.2)}
.brand-logo{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-accent),#ffdb8a);color:#fff}
.btn-brand{background:linear-gradient(135deg,var(--brand-accent),#ffbf47);border:none;color:var(--brand-button-text);font-weight:800;box-shadow:0 14px 30px rgba(242,159,5,.25)}
.btn-brand:hover{color:var(--brand-button-text);transform:translateY(-1px)}
.hero,.page-banner,.service-banner{color:#fff;background:linear-gradient(135deg,#0b3b4a 0%,#145f73 55%,#0c3040 100%)}
.hero{position:relative;overflow:hidden}.hero .shape{position:absolute;border-radius:999px;filter:blur(8px);opacity:.25}.shape.one{width:180px;height:180px;background:#f29f05;top:-30px;right:-30px}.shape.two{width:240px;height:240px;background:#fff;bottom:-100px;left:-80px}
.page-banner,.service-banner{min-height:260px}.section-padding{padding:4.5rem 0}
.card-soft,.service-card,.contact-card,.donation-card,.about-card,.dashboard-stat,.table-soft,.blog-card,.gallery-card{border:none;border-radius:1.3rem;box-shadow:0 12px 30px rgba(15,23,42,.08);background:#fff}
.icon-chip,.service-icon{width:60px;height:60px;border-radius:1rem;display:grid;place-items:center;background:linear-gradient(135deg,rgba(242,159,5,.18),rgba(11,59,74,.1));color:var(--brand-dark);font-size:1.5rem}
.placeholder-photo{background:url('https://placehold.co/900x600?text=Image+Placeholder') center/cover no-repeat;min-height:300px;border-radius:1.2rem}
.object-cover{object-fit:cover}.sticky-media{position:sticky;top:110px}
.footer-section{background:#0a2230;color:#fff}.footer-links a{color:#d7e4ea}
.animated-icon{animation:floatY 3.4s ease-in-out infinite}@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.donate-modal{border:none;border-radius:1.5rem}.wizard-steps{display:grid;gap:.75rem}.step-indicator{padding:1rem;border:1px solid #e2e8f0;border-radius:1rem;font-weight:700;color:#64748b;background:#fff}.step-indicator span{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;background:#e2e8f0;margin-right:.5rem}.step-indicator.active{border-color:#f4c565;background:#fff9ea;color:#7a4b00}.step-indicator.active span{background:linear-gradient(135deg,var(--brand-accent),#ffd577);color:#000}.support-box,.qr-wrap{border-radius:1.2rem;background:#f8fafc;padding:1.2rem;border:1px solid #e2e8f0}.icon-bubble{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-accent),#ffd577);font-size:1.5rem}.wizard-step{display:none}.wizard-step.active{display:block}
.receipt-box{max-width:780px;margin:auto;background:#fff;border:1px solid #dbe3ea;border-radius:1rem}
.admin-wrap{background:#f5f7fb;min-height:100vh}
.rich-content img{max-width:100%;height:auto;border-radius:1rem}.rich-content p:last-child{margin-bottom:0}
.blog-card img,.gallery-card img,.service-thumb{width:100%;height:220px;object-fit:cover;border-radius:1rem}
.stat-chip{border-radius:1.25rem;padding:1.25rem;background:#fff;border:1px solid #eef2f7;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gallery-thumb-strip{display:flex;gap:.5rem;overflow:auto;padding-top:1rem}.gallery-thumb-strip img{width:72px;height:72px;object-fit:cover;border-radius:.75rem;cursor:pointer;border:2px solid transparent}.gallery-thumb-strip img.active{border-color:var(--brand-accent)}
.admin-sidebar .list-group-item.active{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.ql-editor{min-height:180px}.admin-card-title{font-size:1.05rem;font-weight:800}
@media(max-width:991.98px){.section-padding{padding:3.2rem 0}.sticky-media{position:static}.blog-card img,.gallery-card img,.service-thumb{height:200px}}
.sticky-top-100 {
  position: sticky;
  top: 100px;
  z-index: 1020;
}
