/* Govindani Donor Wall — fully our own markup (queries GiveWP's Donation
   model directly; see donor-wall.php for why). Properties a host theme
   commonly overrides on cards/buttons/images are hardened with !important
   throughout, per this project's own hard-won lesson: an unprotected
   property on a new styled element gets silently overridden sooner or later. */

.ggsd-donor-wall{width:100%;max-width:1100px;margin:0 auto;box-sizing:border-box}
.ggsd-donor-wall *{box-sizing:border-box}
.ggsd-donor-wall-heading{text-align:center;font-size:28px;line-height:1.2;margin:0 0 6px;color:var(--ggsdw-card-text,#15213d)}
.ggsd-donor-wall-subheading{text-align:center;font-size:15px;margin:0 0 24px;color:color-mix(in srgb, var(--ggsdw-card-text,#15213d) 65%, transparent)}
.ggsdw-empty{text-align:center;color:color-mix(in srgb, var(--ggsdw-card-text,#15213d) 55%, transparent);font-size:14px}

/* Grid + card */
.ggsdw-grid{display:grid!important;gap:18px!important}
.ggsdw-grid--1{grid-template-columns:1fr!important}
.ggsdw-grid--2{grid-template-columns:repeat(2,1fr)!important}
.ggsdw-grid--3{grid-template-columns:repeat(3,1fr)!important}
.ggsdw-grid--4{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:640px){
  .ggsdw-grid--2,.ggsdw-grid--3,.ggsdw-grid--4{grid-template-columns:1fr!important}
}
.ggsdw-card{
  box-sizing:border-box!important;width:100%!important;margin:0!important;
  padding:22px 20px!important;
  background:var(--ggsdw-card-bg,#fff)!important;
  color:var(--ggsdw-card-text,#15213d)!important;
  border:1px solid color-mix(in srgb, var(--ggsdw-accent,#d29a00) 20%, transparent)!important;
  border-radius:var(--ggsdw-radius,16px)!important;
  box-shadow:0 6px 20px rgba(21,33,61,.06)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;
  text-align:center!important;
}

/* Avatar */
.ggsdw-avatar{
  position:relative!important;flex:none!important;margin:0 0 4px!important;
  border-radius:50%!important;overflow:hidden!important;
}
.ggsdw-avatar img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;border-radius:50%!important;
  border:2px solid color-mix(in srgb, var(--ggsdw-accent,#d29a00) 40%, transparent)!important;
}
.ggsdw-avatar-initial{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:100%!important;
  background:var(--ggsdw-accent,#d29a00)!important;color:#fff!important;
  font-weight:800!important;font-size:26px!important;line-height:1!important;
}

/* Name / company / date */
.ggsdw-name{margin:0!important;font-size:16px!important;font-weight:700!important;color:var(--ggsdw-card-text,#15213d)!important}
.ggsdw-company{margin:0!important;font-size:12.5px!important;font-weight:600!important;color:color-mix(in srgb, var(--ggsdw-card-text,#15213d) 70%, transparent)!important}
.ggsdw-date{margin:0!important;font-size:12px!important;color:color-mix(in srgb, var(--ggsdw-card-text,#15213d) 55%, transparent)!important}

/* Comment */
.ggsdw-comment-wrap{width:100%!important;text-align:left!important;border-left:3px solid var(--ggsdw-accent,#d29a00)!important;padding:4px 0 4px 12px!important;margin:2px 0 0!important}
.ggsdw-comment,.ggsdw-comment-excerpt{margin:0!important;font-size:13.5px!important;line-height:1.5!important;color:color-mix(in srgb, var(--ggsdw-card-text,#15213d) 80%, transparent)!important}
.ggsdw-comment-excerpt{cursor:pointer!important;list-style:none!important}
.ggsdw-comment-excerpt::-webkit-details-marker{display:none!important}
.ggsdw-readmore{font-weight:700!important;color:var(--ggsdw-accent,#d29a00)!important}
.ggsdw-comment-wrap[open] .ggsdw-comment-excerpt{display:none!important}

/* Amount / form name row */
.ggsdw-details{
  width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  margin-top:auto!important;padding-top:10px!important;
  border-top:1px solid color-mix(in srgb, var(--ggsdw-card-text,#15213d) 10%, transparent)!important;
}
.ggsdw-form-title{
  font-size:11.5px!important;text-transform:uppercase!important;letter-spacing:.03em!important;
  color:color-mix(in srgb, var(--ggsdw-card-text,#15213d) 55%, transparent)!important;
}
.ggsdw-amount{font-size:17px!important;font-weight:800!important;color:var(--ggsdw-accent,#d29a00)!important;margin-left:auto!important}

/* Load more */
.ggsdw-loadmore{
  display:block!important;margin:22px auto 0!important;
  background:var(--ggsdw-accent,#d29a00)!important;color:#fff!important;
  border:0!important;border-radius:12px!important;padding:12px 26px!important;
  font-weight:700!important;font-size:14px!important;cursor:pointer!important;
  box-shadow:none!important;text-shadow:none!important;
}
.ggsdw-loadmore:hover{filter:brightness(1.06)!important}
.ggsdw-loadmore:disabled{opacity:.6!important;cursor:wait!important}
