
/* The homepage card component, with four stable desktop slots regardless of count. */
#dv33-campaign{--dv33-ink:#1b2529;--dv33-muted:#52616a;--dv33-line:#d7e2e8;--dv33-ice:#edf4f8;--dv33-active:#185b42;--dv33-closed:#245b7c}
#dv33-campaign #dvu-children{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
#dv33-campaign #dvu-children>.dvu-child{display:flex;flex-direction:column;min-width:0;max-width:none;gap:0;margin:0;padding:8px;border:0;border-radius:24px;background:#fff;box-shadow:0 1px 3px #183d5405,0 18px 50px -24px #183d5426;overflow:hidden}
#dv33-campaign #dvu-children>.dvu-child[hidden]{display:none!important}
#dv33-campaign .dvu-child__media{position:relative}
#dv33-campaign .dvu-child__photo{display:block;position:relative;width:100%;height:auto;aspect-ratio:1;overflow:hidden;border-radius:16px;background:var(--dv33-ice)}
#dv33-campaign .dvu-child__photo img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:0 0;transform:none;outline:1px solid #0000001a;outline-offset:-1px}
#dv33-campaign #dvu-children .dv32-child-body{display:flex;flex:1;flex-direction:column;justify-content:flex-start;padding:18px 14px 14px;min-width:0}
#dv33-campaign #dvu-children .dvu-child h3{font-size:22px;line-height:1.23;letter-spacing:-.025em;font-weight:550;margin:0 0 7px;text-wrap:balance}
#dv33-campaign .dvu-child h3 a{color:var(--dv33-ink)!important}
#dv33-campaign #dvu-children .dvu-child__meta{font-size:12px;line-height:1.5;color:var(--dv33-muted);margin:0}
#dv33-campaign #dvu-children .dvu-child__goal{font-size:14px;line-height:1.5;color:var(--dv33-muted);margin:16px 0 22px;min-height:0;max-width:none}
#dv33-campaign #dvu-children .dvu-child__funding{margin-top:auto;padding-top:0}
#dv33-campaign .dvu-money{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;font-size:11px;line-height:1.5;margin:0}
#dv33-campaign .dvu-money b{font-size:14px;font-weight:600;color:var(--dv33-active)}
#dv33-campaign .dvu-money span{color:var(--dv33-muted)}
#dv33-campaign .dvu-progress{height:5px;margin:10px 0 0;border-radius:4px;background:#e4ecef;overflow:hidden}
#dv33-campaign .dvu-progress>span{display:block;height:100%;background:var(--dv33-active)}
#dv33-campaign #dvu-children .dvu-child__status{position:absolute;inset:auto auto 12px 12px;z-index:1;display:inline-flex;align-items:center;gap:6px;width:fit-content;margin:0;padding:7px 10px;border:0;border-radius:6px;background:#eaf4ed;color:var(--dv33-active);font-size:12px;line-height:1.4;font-weight:600;box-shadow:none;pointer-events:none}
#dv33-campaign .dvu-child__status::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:currentColor}
#allrecords #dv33-campaign #dvu-children .dvu-child .dvu-link{display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:0;width:100%;min-height:48px;margin:20px 0 0;padding:12px 16px;border:1px solid #edaa39!important;border-radius:12px;background:linear-gradient(115deg,#ffce6b,#f6b645);color:#29251e!important;font-size:13px;line-height:1.4;font-weight:550;box-shadow:none}
@media(hover:hover){#allrecords #dv33-campaign #dvu-children .dvu-child .dvu-link:hover{background:linear-gradient(115deg,#ffca60,#efaa32)}#dv33-campaign .dvu-child:has(a:hover){transform:translateY(-3px);box-shadow:0 2px 4px #183d5408,0 24px 48px -20px #183d5430}}
@media(prefers-reduced-motion:no-preference){#dv33-campaign .dvu-child{transition:transform 250ms cubic-bezier(.2,0,0,1),box-shadow 250ms cubic-bezier(.2,0,0,1)}}
@media(prefers-reduced-motion:reduce){#dv33-campaign .dvu-child{transform:none!important;transition:none!important}}
@media(max-width:900px){#dv33-campaign #dvu-children{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:700px){#dv33-campaign #dvu-children .dvu-child h3{font-size:24px}#dv33-campaign .dvu-money b{font-size:15px}}
@media(max-width:540px){#dv33-campaign #dvu-children{grid-template-columns:1fr!important;gap:20px}}
@media(max-width:360px){#dv33-campaign #dvu-children .dvu-child h3{font-size:22px}}
