/* Global Pathway Program partner cards — [gpp_landing] (scoped, no global reset) */
.gpp-landing{
  --navy:#0A2A3F;
  --teal:#12A19A;
  --teal-deep:#0E7C7B;
  --green-ink:#0b7c71;
  --ink:#152530;
  --muted:#5A6C75;
  --line:#E2E9EB;
  --flag-bg:#e5f4f2;
  --shadow:0 1px 2px rgba(10,42,63,.04),0 12px 32px rgba(10,42,63,.08);
  --shadow-lg:0 2px 6px rgba(10,42,63,.06),0 24px 60px rgba(10,42,63,.14);
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  background:transparent;
  color:var(--ink);
  font-family:var(--body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.gpp-landing *,
.gpp-landing *::before,
.gpp-landing *::after{box-sizing:border-box}

.gpp-partner-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
  width:100%;
}
.gpp-partner-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gpp-partner-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gpp-partner-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Elementor shortcode widget — use full container width */
.elementor-widget-shortcode .gpp-landing,
.elementor-element .gpp-landing{
  width:100% !important;
  max-width:none !important;
}

.gpp-landing-empty{
  grid-column:1 / -1;
  margin:0;
  padding:24px;
  color:var(--muted);
  text-align:center;
}

.gpp-landing .gpp-partner{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:0 0 22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-decoration:none !important;
  color:var(--ink) !important;
  transition:transform .18s,box-shadow .22s,border-color .2s;
  min-height:100%;
  min-width:0;
  overflow:hidden;
}
.gpp-landing .gpp-partner:hover,
.gpp-landing .gpp-partner:focus{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
  border-color:#cfe0e0;
  color:var(--ink) !important;
  text-decoration:none !important;
}

.gpp-landing .gpp-partner__logo{
  height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 18px;
  padding:28px 26px;
  width:100%;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.gpp-landing .gpp-partner__logo img{
  max-height:90px;
  max-width:88%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.gpp-landing .gpp-partner__logo.is-fallback .gpp-partner__mono,
.gpp-landing .gpp-partner__mono{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:72px;
  min-width:72px;
  padding:0 18px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--navy),var(--teal-deep));
  color:#fff;
  font-family:var(--display);
  font-weight:600;
  font-size:22px;
  letter-spacing:.02em;
}

.gpp-landing .gpp-partner__flag{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--teal-deep);
  background:var(--flag-bg);
  border-radius:999px;
  padding:4px 10px;
  margin:0 22px 10px;
  line-height:1.3;
}

.gpp-landing .gpp-partner__title{
  font-family:var(--display);
  font-size:17px;
  font-weight:600;
  line-height:1.25;
  margin:0 22px 16px;
  color:var(--ink);
  flex:1;
}

.gpp-landing .gpp-partner__cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:auto 22px 0;
  font-family:var(--body);
  font-weight:600;
  font-size:14.5px;
  color:var(--green-ink) !important;
  line-height:1.3;
}
.gpp-landing .gpp-partner__cta::after{
  content:"\2192";
  display:inline-block;
  font-size:16px;
  line-height:1;
  font-weight:600;
  transition:transform .18s;
}
.gpp-landing .gpp-partner:hover .gpp-partner__cta::after{
  transform:translateX(3px);
}

@media(max-width:1100px){
  .gpp-landing .gpp-partner-grid--cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .gpp-landing .gpp-partner-grid,
  .gpp-landing .gpp-partner-grid--cols-2,
  .gpp-landing .gpp-partner-grid--cols-3,
  .gpp-landing .gpp-partner-grid--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .gpp-landing .gpp-partner-grid,
  .gpp-landing .gpp-partner-grid--cols-2,
  .gpp-landing .gpp-partner-grid--cols-3,
  .gpp-landing .gpp-partner-grid--cols-4{grid-template-columns:1fr}
}
