/* Partner tier cards (templates/template-partners-cards.php).
   Each tier keeps its partner colour: bronze, silver and gold. */

.new-partners-section .pc-tiers {
  --pc-bronze: #C98645;
  --pc-bronze-soft: #F7ECE1;
  --pc-silver: #8E9196;
  --pc-silver-soft: #EEEFF1;
  --pc-gold: #D9A800;
  --pc-gold-soft: #FBF3D6;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  margin-top: 20px;
}

.new-partners-section .pc-card {
  --pc-accent: var(--pc-bronze);
  --pc-soft: var(--pc-bronze-soft);
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--light-color-1);
  border: 1px solid #E6E6E6;
  border-top: 8px solid var(--pc-accent);
  border-radius: 24px;
  padding: 30px 28px 28px;
  color: var(--dark-color-1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.new-partners-section .pc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.1);
}

.new-partners-section .pc-silver {
  --pc-accent: var(--pc-silver);
  --pc-soft: var(--pc-silver-soft);
}

.new-partners-section .pc-gold {
  --pc-accent: var(--pc-gold);
  --pc-soft: var(--pc-gold-soft);
}

/* Tier name, role and intro */
.new-partners-section .pc-tier {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  background-color: var(--pc-soft);
  color: var(--dark-color-1);
  font-size: var(--uc-font-size-16);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 500px;
  margin: 0 0 16px 0;
}

.new-partners-section .pc-head {
  display: flex;
  flex-direction: column;
}

.new-partners-section .pc-medal {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.85), transparent 45%), var(--pc-accent);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8);
}

.new-partners-section .pc-role {
  font-family: var(--secondary-font);
  font-size: var(--uc-font-size-32);
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 10px 0;
}

.new-partners-section .pc-intro {
  font-size: var(--uc-font-size-16);
  line-height: 1.5;
  color: var(--dark-color-3);
  margin: 0;
}

/* Suggested contribution sits up front so tiers compare at a glance */
.new-partners-section .pc-price {
  display: flex;
  flex-direction: column;
  background-color: var(--pc-soft);
  border-radius: 16px;
  padding: 16px 18px;
  margin: 20px 0 6px 0;
}

.new-partners-section .pc-price-label {
  font-size: var(--uc-font-size-16);
  color: var(--dark-color-3);
}

.new-partners-section .pc-price-amount {
  font-size: var(--uc-font-size-28);
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

/* You help deliver / You receive */
.new-partners-section .pc-group {
  margin-top: 20px;
}

.new-partners-section .pc-group h4 {
  font-family: inherit;
  font-size: var(--uc-font-size-16);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--primary-color);
  margin: 0 0 10px 0;
}

/* Separator between "You help deliver" and "You receive" */
.new-partners-section .pc-receive {
  border-top: 1px solid #E6E6E6;
  padding-top: 20px;
}

.new-partners-section .pc-lead {
  font-size: var(--uc-font-size-16);
  font-weight: 700;
  margin: 0 0 8px 0;
}

.new-partners-section .pc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.new-partners-section .pc-list li {
  position: relative;
  padding: 0 0 0 28px;
  margin: 0 0 9px 0;
  font-size: var(--uc-font-size-16);
  line-height: 1.45;
}

.new-partners-section .pc-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--pc-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* "or" between alternative deliverables */
.new-partners-section .pc-list li.pc-or {
  padding-left: 28px;
  margin: -2px 0 7px 0;
  font-size: var(--uc-font-size-14, 14px);
  font-style: italic;
  color: var(--dark-color-3);
}

.new-partners-section .pc-list li.pc-or::before {
  display: none;
}

/* Button pinned to the bottom so all three line up */
.new-partners-section .pc-cta {
  margin-top: auto;
  align-self: stretch;
  text-align: center;
  text-decoration: none;
}

.new-partners-section .pc-group:last-of-type {
  margin-bottom: 26px;
}

/* Desktop: line up contribution, lists and buttons across the three cards */
@media screen and (min-width: 1200px) {
  @supports (grid-template-rows: subgrid) {
    .new-partners-section .pc-card {
      display: grid;
      grid-row: span 5;
      grid-template-rows: subgrid;
      row-gap: 0;
    }

    .new-partners-section .pc-price {
      align-self: start;
    }

    .new-partners-section .pc-cta {
      align-self: end;
    }
  }
}

@media screen and (max-width: 1199px) {
  .new-partners-section .pc-tiers {
    grid-template-columns: 1fr;
    max-width: 640px;
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .new-partners-section .pc-card,
  .new-partners-section .pc-card:hover {
    transition: none;
    transform: none;
  }
}
