
.camp-single-hero { position: relative; min-height: 26rem; display: flex; align-items: flex-end; color: #fff; background: linear-gradient(135deg, #004790, #003366); overflow: hidden; }
.camp-single-hero .hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.camp-single-hero .hero-inner { position: relative; max-width: 72rem; margin: 0 auto; padding: 8rem 1rem 2.5rem; width: 100%; }
.camp-single-hero h1 { font-family: 'Toroka Wide', sans-serif; font-size: clamp(1.7rem, 4vw, 2.8rem); line-height: 1.2; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.camp-single-hero .hero-meta { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-top: .9rem; font-size: .95rem; opacity: .95; }
.camp-single-wrap { max-width: 72rem; margin: 0 auto; padding: 2.5rem 1rem 4rem; display: grid; grid-template-columns: 1fr 22rem; gap: 2.5rem; }
.camp-story { line-height: 1.75; color: #333; }
.camp-story h2 { color: #003366; margin: 1.75rem 0 .75rem; font-size: 1.35rem; }
.camp-story p { margin-bottom: 1rem; }
.camp-story img { max-width: 100%; border-radius: 10px; }
.camp-side { position: sticky; top: 6rem; align-self: start; }
.donate-card { background: #fff; border-radius: 14px; box-shadow: 0 6px 26px rgba(0,71,144,.12); padding: 1.5rem; }
.donate-card h2 { font-size: 1.05rem; color: #003366; margin-bottom: 1rem; }
.donate-amounts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-bottom: .75rem; }
.amount-btn { border: 2px solid #E9ECEF; background: #fff; border-radius: 8px; padding: .6rem .25rem; font-weight: 700; color: #004790; cursor: pointer; font-size: .92rem; }
.amount-btn.active, .amount-btn:hover { border-color: #D2AE6D; background: #FDF8F0; }
.donate-custom { width: 100%; border: 2px solid #E9ECEF; border-radius: 8px; padding: .6rem .75rem; font-size: 1rem; margin-bottom: .75rem; }
.donate-custom:focus { outline: none; border-color: #D2AE6D; }
.donate-btn { width: 100%; background: #D2AE6D; color: #fff; border: none; border-radius: 8px; padding: .85rem; font-size: 1.05rem; font-weight: 700; cursor: pointer; }
.donate-btn:hover { background: #b8955a; }
.donate-note { font-size: .78rem; color: #777; margin-top: .6rem; text-align: center; line-height: 1.5; }
.camp-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: 1.25rem; }
.camp-stat { background: #F8F9FA; border-radius: 10px; padding: .75rem; text-align: center; }
.camp-stat strong { display: block; font-size: 1.05rem; color: #003366; }
.camp-stat span { font-size: .75rem; color: #777; }
.camp-share { margin-top: 1.25rem; }
.camp-share a, .camp-share button { display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid #E9ECEF; margin-right: .4rem; color: #004790; background: #fff; cursor: pointer; }
.camp-share a:hover { background: #F0F6FF; }
.recent-donors { margin-top: 1.25rem; font-size: .85rem; }
.recent-donors li { display: flex; justify-content: space-between; padding: .45rem 0; border-bottom: 1px solid #F0F0F0; color: #444; list-style: none; }
.trust-points { margin-top: 1.25rem; font-size: .8rem; color: #666; line-height: 1.6; }
.trust-points li { margin-bottom: .3rem; list-style: none; }
.camp-end { color: #b36b00; font-weight: 600; }
@media (max-width: 900px) { .camp-single-wrap { grid-template-columns: 1fr; } .camp-side { position: static; } }


/* 2026 dedicated campaign detail composition */
.page-campaign-single{--cs-ink:#082a47;--cs-blue:#004790;--cs-deep:#03223e;--cs-gold:#d2ae6d;--cs-paper:#f4f1e8;--cs-line:#d5dfe5;color:#465d70;background:var(--cs-paper)}.page-campaign-single .camp-single-hero{min-height:36rem;background:var(--cs-deep)}.page-campaign-single .camp-single-hero::after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,rgba(3,34,62,.95),rgba(3,34,62,.35))}.page-campaign-single .hero-img{opacity:.55}.page-campaign-single .hero-inner{z-index:1;max-width:1180px;padding:calc(var(--fog-header-h,76px) + 100px) 20px 75px}.page-campaign-single .camp-single-hero h1{max-width:900px;margin:0;color:#fff;font-size:clamp(3rem,6.2vw,6rem);letter-spacing:-.055em;line-height:.95}.page-campaign-single .hero-meta{color:#d3dee6}.page-campaign-single .camp-single-wrap{max-width:1180px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:55px;padding:85px 20px 100px}.page-campaign-single .camp-story{font-size:1rem;line-height:1.85}.page-campaign-single .camp-story>p:first-child{color:var(--cs-ink);font:500 1.35rem/1.6 var(--fog-font-display,serif)}.page-campaign-single .camp-story h2{margin-top:2em;color:var(--cs-ink);font-size:2rem}.page-campaign-single .donate-card{padding:30px;border:1px solid #d8d1c4;border-radius:0;box-shadow:none}.page-campaign-single .donate-card h2{font-size:1.35rem}.campaign-progress-native{width:100%;height:8px;accent-color:var(--cs-blue)}.page-campaign-single .camp-stat{border-radius:0}.page-campaign-single .amount-btn,.page-campaign-single .donate-custom,.page-campaign-single .donate-btn{border-radius:0}.page-campaign-single .donate-btn{color:var(--cs-deep);background:var(--cs-gold)}.page-campaign-single .camp-share{padding-top:18px;border-top:1px solid var(--cs-line)}.page-campaign-single .share-title{color:var(--cs-ink);font-size:.8rem}.page-campaign-single .camp-share .fog-i{width:17px}.page-campaign-single .trust-points li{display:flex;gap:7px}.page-campaign-single .trust-points .fog-i{width:13px;color:#25744f}.page-campaign-single .recent-donors{margin-top:20px}.page-campaign-single :focus-visible{outline:3px solid var(--cs-gold);outline-offset:3px}@media(max-width:900px){.page-campaign-single .camp-single-wrap{grid-template-columns:1fr}.page-campaign-single .camp-side{position:static}}@media(max-width:560px){.page-campaign-single .camp-single-hero{min-height:31rem}.page-campaign-single .hero-inner{padding:calc(var(--fog-header-h,66px) + 75px) 14px 55px}.page-campaign-single .camp-single-hero h1{font-size:clamp(2.7rem,13vw,4.2rem)}.page-campaign-single .camp-single-wrap{padding:65px 14px}.page-campaign-single .donate-card{padding:24px 18px}}

/* 2026-09-24 — hero actions, share band, progress label, closed campaigns */
.page-campaign-single .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.page-campaign-single .hero-btn { display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 22px; border: 1px solid transparent; font: inherit; font-size: .95rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.page-campaign-single .hero-btn .fog-i { width: 18px; height: 18px; }
.page-campaign-single .hero-btn--gold { background: var(--cs-gold); color: var(--cs-deep); }
.page-campaign-single .hero-btn--gold:hover { background: #e2c388; }
.page-campaign-single .hero-btn--ghost { border-color: rgba(255,255,255,.55); background: rgba(3,34,62,.35); color: #fff; }
.page-campaign-single .hero-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.12); }

.page-campaign-single .camp-share-band { margin-top: 48px; padding: 28px; border: 1px solid #d8d1c4; background: #fff; }
.page-campaign-single .camp-share-band__intro { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.page-campaign-single .camp-share-band__icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 46px; height: 46px; background: var(--cs-paper); color: var(--cs-blue); }
.page-campaign-single .camp-share-band__icon .fog-i { width: 22px; height: 22px; }
.page-campaign-single .camp-share-band h2 { margin: 0 0 6px; font-size: 1.5rem; line-height: 1.2; }
.page-campaign-single .camp-share-band p { margin: 0; font-size: .95rem; line-height: 1.6; }

.page-campaign-single .camp-progress-label { margin: 10px 0 16px; color: #465d70; font-size: .88rem; }
.page-campaign-single .camp-progress-label strong { color: var(--cs-ink); }
.page-campaign-single .camp-share { padding-top: 18px; }

.page-campaign-single .camp-closed { padding: 18px; border: 1px solid var(--cs-line); background: var(--cs-paper); }
.page-campaign-single .camp-closed strong { display: block; margin-bottom: 6px; color: var(--cs-ink); }
.page-campaign-single .camp-closed p { margin: 0 0 14px; font-size: .9rem; line-height: 1.6; }
.page-campaign-single .camp-closed .donate-btn { display: block; text-align: center; text-decoration: none; }
.page-campaign-single .camp-closed__link { display: block; margin-top: 10px; text-align: center; font-size: .88rem; font-weight: 700; color: var(--cs-blue); }

@media (max-width: 560px) {
    .page-campaign-single .hero-btn { flex: 1 1 100%; justify-content: center; }
    .page-campaign-single .camp-share-band { padding: 22px 16px; }
    .page-campaign-single .camp-share-band__intro { flex-direction: column; gap: 12px; }
}
