/* =========================================================
   ELK PARTNERS.CSS
   Partner archive, cards, single partner, logos
   Flexbox only
========================================================= */

.elk-partners-archive {
  width: min(var(--elk-wide-width), calc(100% - 48px));
  margin-inline: auto;
  padding-block: 72px 100px;
}

.elk-partners-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 40px;
}

.elk-partners-loop .elementor-loop-container,
.elk-partners-loop .elementor-grid,
.elk-partner-logo-list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 16px !important;
}

.elk-partners-loop .e-loop-item,
.elk-partner-logo-list > * {
  flex: 1 1 220px !important;
  min-width: 0 !important;
}

.elk-partner-card {
  width: 100%;
  height: 100%;
  padding: 22px;

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(0, 0, 0, 0.22);
}

.elk-partner-logo {
  height: 100px;

  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.elk-partner-logo img {
  max-width: 180px;
  max-height: 74px;
  object-fit: contain;
  object-position: left center;
  filter: grayscale(100%);
}

.elk-partner-name,
.elk-partner-name .elementor-heading-title {
  margin: 22px 0 8px;
  font-size: 19px;
  line-height: 1;
}

.elk-partner-excerpt,
.elk-partner-excerpt p {
  margin: 0;
  color: var(--elk-grey);
  font-size: 12px;
  line-height: 1.5;
}

.elk-partner-card-link {
  margin-top: auto;
  padding-top: 20px;
}

/* ---------------------------------------------------------
   SINGLE PARTNER
--------------------------------------------------------- */

body.single-elk_partner .elk-partner-hero {
  width: min(var(--elk-wide-width), calc(100% - 48px));
  margin-inline: auto;
  padding-block: 80px;

  display: flex;
  align-items: flex-start;
  gap: 64px;

  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

body.single-elk_partner .elk-partner-hero-logo {
  flex: 0 0 280px;
  min-height: 220px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--elk-paper);
}

body.single-elk_partner .elk-partner-hero-logo img {
  max-width: 200px;
  max-height: 120px;
  object-fit: contain;
  filter: grayscale(100%);
}

body.single-elk_partner .elk-partner-hero-content {
  flex: 1 1 auto;
  max-width: 720px;
}

body.single-elk_partner .elk-partner-title,
body.single-elk_partner .elk-partner-title .elementor-heading-title {
  margin: 0;
  font-size: clamp(52px, 6vw, 88px);
  line-height: 0.86;
}

body.single-elk_partner .elk-partner-description {
  max-width: 620px;
  margin-top: 34px;
}

body.single-elk_partner .elk-partner-description p {
  font-size: 16px;
  line-height: 1.7;
}

.elk-partner-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 34px;

  margin-top: 32px;
  padding-top: 18px;

  border-top: 1px solid rgba(0, 0, 0, 0.24);
}

.elk-partner-meta > * {
  flex: 1 1 180px;
}

.elk-partner-related {
  width: min(var(--elk-wide-width), calc(100% - 48px));
  margin-inline: auto;
  padding-block: 52px;
}
