/* HAFT fundraising — Kindflow-aligned additions (causes list + cause detail) */

.haft-fundraising-featured-block--about .cases-post-area {
  padding-top: 2.5rem;
  padding-bottom: 1rem;
}

.haft-fundraising-featured-block .volunteer-title-wrap {
  text-align: center;
  margin-bottom: 2rem;
}

.haft-fr-loading .cases-tab-pane-wrap,
.haft-fr-loading .cases-feature-card {
  opacity: 1 !important;
}

/* Donation form — Kindflow card look inside Bootstrap-less flow */
.haft-kindflow-donate .fundraising-donation-form .payment-checkout-form {
  margin: 0;
}

.haft-kindflow-donate .fundraising-donation-form .form-label {
  font-family: Manrope, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #454948;
  margin-bottom: 0.35rem;
}

.haft-kindflow-donate .fundraising-donation-form .form-control,
.haft-kindflow-donate .fundraising-donation-form input[type="email"],
.haft-kindflow-donate .fundraising-donation-form input[type="text"],
.haft-kindflow-donate .fundraising-donation-form input[type="number"],
.haft-kindflow-donate .fundraising-donation-form textarea {
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  min-height: 48px;
  padding: 0.65rem 1rem;
  font-family: Manrope, sans-serif;
  font-size: 0.95rem;
  width: 100%;
  background-color: #fff;
}

.haft-kindflow-donate .fundraising-donation-form textarea.form-control {
  min-height: 100px;
}

.haft-kindflow-donate .fundraising-donation-form .form-check {
  padding-left: 1.75rem;
}

.haft-kindflow-donate .fundraising-donation-form .form-check-input {
  margin-top: 0.35rem;
}

.haft-kindflow-donate .fundraising-donation-form .payment-checkout-btn {
  width: 100%;
  margin-top: 0.5rem;
}

.haft-kindflow-donate .list_payment_method {
  border-radius: 8px;
  overflow: hidden;
}

/* Sidebar tags when not using Webflow CMS */
.cases-tags-wrap.haft-tags-static {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cases-tags-item .cases-tags-text {
  display: inline-block;
}

/* Progress bar visual for listing cards (optional enhancement) */
.haft-cause-progress-bar {
  height: 6px;
  border-radius: 99px;
  background: rgba(80, 143, 218, 0.15);
  overflow: hidden;
  margin-top: 0.35rem;
}

.haft-cause-progress-bar > span {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #508fda, #3aa89f);
}

/* Featured strip: avoid double opacity from Webflow animations */
.cases-feature-section .cases-feature-card {
  opacity: 1 !important;
}

/* Tab active state helper */
.cases-tab-link.haft-tab-active.w-tab-link {
  border-color: #508fda;
  color: #508fda;
}

.cases-post-card.haft-cause-hidden {
  display: none !important;
}

/* Single cause: richtext inside grid */
.cases-summary.w-richtext.ck-content {
  font-family: Manrope, sans-serif;
  color: #454948;
}

.cases-summary.w-richtext.ck-content h2 {
  font-family: Nunito, sans-serif;
  margin-top: 1.5rem;
}

/* Member card fallback layout */
.cases-member-card .member-content-wrap {
  flex: 1;
  min-width: 0;
}

.haft-heart-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e84b4b;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  position: relative;
}

.haft-heart-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  background: no-repeat center / 11px 11px
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");
}

.haft-volunteer-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  position: relative;
}

.haft-volunteer-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  margin: auto;
  width: 28px;
  height: 28px;
  background: no-repeat center / contain
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.29 0-2.38.81-2.81 1.95-.43-.14-.9-.2-1.38-.2-1.29 0-2.38.81-2.81 1.95C8.57 7.81 8.1 7.75 7.62 7.75 5.96 7.75 4.63 9.09 4.63 10.75S5.96 13.75 7.62 13.75c.48 0 .95-.06 1.38-.2.43 1.14 1.52 1.95 2.81 1.95.48 0 .95-.06 1.38-.2.43 1.14 1.52 1.95 2.81 1.95 1.66 0 2.99-1.34 2.99-3s-1.34-3-3-3zm-8.62 1c-.83 0-1.5-.67-1.5-1.5S6.55 9 7.38 9s1.5.67 1.5 1.5S8.21 12 7.38 12zm5.12-3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5S10 11.33 10 10.5 10.67 9 12.5 9zm4.12 3c-.83 0-1.5-.67-1.5-1.5S19.45 9 20.28 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E");
}

/* /fundraise — service grid titles (static Kindflow cards): same navy as global h3 */
#haft-inner-main .fundraise-service-section:not(.haft-fundraise-campaigns-section) h3.fundraise-service-title {
  color: #154168 !important;
  color: var(--color--heading-color, #154168) !important;
}

/* /fundraise — peer campaign cards + pagination (section below static grid) */
#haft-inner-main .haft-fundraise-campaigns-section {
  padding-top: 0;
}

/*
 * Peer campaign card titles are <a> inside <h3>. Global `a` / theme link styles often override `color: inherit`.
 * Use #haft-inner-main + explicit heading color + !important so it matches plain h3 titles above.
 */
#haft-inner-main section.haft-fundraise-campaigns-section .fundraise-content-wrap h3.fundraise-service-title {
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  line-height: 1.28;
  font-weight: 700;
  color: #154168 !important;
  color: var(--color--heading-color, #154168) !important;
}

#haft-inner-main section.haft-fundraise-campaigns-section .fundraise-content-wrap h3.fundraise-service-title a,
#haft-inner-main section.haft-fundraise-campaigns-section .fundraise-content-wrap h3.fundraise-service-title a.w-inline-block,
#haft-inner-main section.haft-fundraise-campaigns-section .haft-fundraise-campaign-title-link {
  display: inline-block;
  max-width: 100%;
  color: #154168 !important;
  color: var(--color--heading-color, #154168) !important;
  -webkit-text-fill-color: #154168;
  font-family: Nunito, sans-serif;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: -0.02em;
  line-height: 1.32;
  text-decoration: none !important;
  text-align: center;
  vertical-align: top;
  transition:
    color 0.2s ease,
    box-shadow 0.2s ease,
    -webkit-text-fill-color 0.2s ease;
  box-shadow: inset 0 -0.12em 0 0 transparent;
  border-radius: 4px;
  padding: 0.12em 0.08em;
  margin: -0.12em -0.08em;
}

#haft-inner-main section.haft-fundraise-campaigns-section .fundraise-content-wrap h3.fundraise-service-title a:hover,
#haft-inner-main section.haft-fundraise-campaigns-section .haft-fundraise-campaign-title-link:hover {
  color: #0e3555 !important;
  -webkit-text-fill-color: #0e3555;
  box-shadow: inset 0 -0.14em 0 0 rgba(21, 65, 104, 0.35);
}

#haft-inner-main section.haft-fundraise-campaigns-section .haft-fundraise-campaign-title-link:focus-visible {
  outline: 2px solid #154168 !important;
  outline-offset: 3px;
  color: #154168 !important;
  -webkit-text-fill-color: #154168;
}

#haft-inner-main section.haft-fundraise-campaigns-section .haft-fundraise-campaign-title-link:active {
  color: #0a2840 !important;
  -webkit-text-fill-color: #0a2840;
}

.haft-fundraise-card-placeholder {
  display: block;
  min-height: 200px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(80, 143, 218, 0.12), rgba(58, 168, 159, 0.12));
}

.haft-fundraise-mini-progress {
  height: 5px;
  border-radius: 99px;
  background: rgba(80, 143, 218, 0.15);
  overflow: hidden;
  margin: 0.5rem 0 0.35rem;
}

.haft-fundraise-mini-progress > span {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #508fda, #3aa89f);
}

.haft-fundraise-raised {
  font-family: Manrope, sans-serif;
  font-size: 0.875rem;
  color: #3d4f5c;
  margin: 0 0 0.5rem;
}

.haft-fundraise-pagination {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  width: 100%;
}

.haft-fundraise-pagination nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.haft-fundraise-pagination .pagination {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.35rem;
}

.haft-fundraise-pagination .page-link {
  display: inline-block;
  padding: 0.45rem 0.85rem;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
  font-family: Manrope, sans-serif;
  font-size: 0.875rem;
  color: #454948;
  text-decoration: none;
  background: #fff;
}

.haft-fundraise-pagination .page-item.active .page-link {
  background: #508fda;
  border-color: #508fda;
  color: #fff;
}

.haft-fundraise-pagination .page-item.disabled .page-link {
  opacity: 0.45;
  pointer-events: none;
}

/* —— Peer campaign detail (/fundraise/{slug}) — Kindflow-aligned —— */
.haft-campaign-detail-banner .haft-campaign-banner-lede {
  max-width: 42rem;
  margin: 0.75rem auto 0;
  font-family: Manrope, sans-serif;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #5a5f5d;
  font-weight: 500;
}

.haft-campaign-hero .cases-banner-area {
  gap: 0;
}

.haft-campaign-hero-image-wrap {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}

.haft-campaign-hero-image {
  width: 100%;
  min-height: 260px;
  max-height: 420px;
  object-fit: cover;
  display: block;
}

.haft-campaign-organizer-card {
  align-items: flex-start;
  gap: 1rem;
}

.haft-campaign-organizer-avatar {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #508fda 0%, #3aa89f 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(80, 143, 218, 0.35);
}

.haft-campaign-organizer-initials {
  font-family: Nunito, sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
}

.haft-campaign-organizer-contact {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.haft-campaign-mail-link {
  color: #508fda;
  font-weight: 600;
  text-decoration: none;
}

.haft-campaign-mail-link:hover {
  text-decoration: underline;
}

.haft-campaign-progress .cases-progress-area {
  width: 100%;
}

.haft-campaign-progress-track {
  height: 10px;
  border-radius: 99px;
  background: rgba(80, 143, 218, 0.12);
  overflow: hidden;
  margin-bottom: 1rem;
}

.haft-campaign-progress-fill {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #508fda, #3aa89f);
  transition: width 0.4s ease;
}

.haft-campaign-lead {
  font-size: 1.125rem;
  line-height: 1.65;
  color: #454948;
  margin-bottom: 1.25rem;
}

#haft-campaign-donate.haft-campaign-donate-anchor {
  scroll-margin-top: 6.5rem;
}

.haft-campaign-sidebar .haft-campaign-meta-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 14px;
  padding: 1.25rem 1.35rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

.haft-campaign-meta-title {
  font-family: Nunito, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1a1c1b;
  margin: 0 0 0.75rem;
}

.haft-campaign-cause-link {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  text-decoration: none;
  color: #454948;
  font-family: Manrope, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  transition: color 0.2s ease;
}

.haft-campaign-cause-link:hover {
  color: #508fda;
}

.haft-campaign-cause-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(80, 143, 218, 0.15), rgba(58, 168, 159, 0.12));
  position: relative;
}

.haft-campaign-cause-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background: no-repeat center / contain
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23508fda' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z'/%3E%3C/svg%3E");
}

.haft-campaign-dates {
  list-style: none;
  padding: 0;
  margin: 0;
}

.haft-campaign-dates li {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f0f0f0;
}

.haft-campaign-dates li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.haft-campaign-date-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #7a807d;
  font-weight: 600;
}

.haft-campaign-date-value {
  font-family: Manrope, sans-serif;
  font-weight: 600;
  color: #2d312f;
}

.haft-campaign-back-card {
  padding: 1rem 1.35rem;
}

.haft-campaign-back-link {
  font-family: Manrope, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #508fda;
  text-decoration: none;
}

.haft-campaign-back-link:hover {
  text-decoration: underline;
}

.haft-campaign-story.ck-content {
  margin-bottom: 2rem;
}
