/* Original agency artwork, sized by its visible proportions rather than one shared width. */
.logo-wall.twelve.partner-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 1440px;
  margin: 44px auto 30px;
  padding: 0;
  border: 0;
  background: transparent;
}

.logo-wall.twelve.partner-directory .partner-logo {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  height: 166px;
  min-height: 166px;
  padding: 26px 22px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 4px;
  background: #ffffff;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.logo-wall.twelve.partner-directory .partner-logo.logo-on-dark {
  background: #080d11;
}

.logo-wall.twelve.partner-directory .partner-logo:hover,
.logo-wall.twelve.partner-directory .partner-logo:focus-visible {
  border-color: #d4b481;
  box-shadow: 0 0 0 1px #d4b481;
  outline-offset: 4px;
}

.logo-wall.twelve.partner-directory .partner-logo img {
  display: block;
  flex: 0 0 auto;
  width: var(--partner-mark-width, 230px);
  max-width: 100%;
  height: auto;
  max-height: 84px;
  object-fit: contain;
  object-position: center;
  filter: none;
  opacity: 1;
  mix-blend-mode: normal;
}

.logo-wall.twelve.partner-directory .partner-logo small {
  color: #44352b;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .13em;
}

.partner-directory .partner-virtuoso { --partner-mark-width: 270px; }
.partner-directory .partner-ensemble { --partner-mark-width: 56px; }
.partner-directory .partner-signature { --partner-mark-width: 224px; }
.partner-directory .partner-global-travel-collection { --partner-mark-width: 246px; }
.partner-directory .partner-internova { --partner-mark-width: 220px; }
.partner-directory .partner-travel-leaders-network { --partner-mark-width: 278px; }
.partner-directory .partner-smartflyer { --partner-mark-width: 262px; }
.partner-directory .partner-protravel { --partner-mark-width: 248px; }
.partner-directory .partner-tzell { --partner-mark-width: 154px; }
.partner-directory .partner-travel-edge { --partner-mark-width: 262px; }
.partner-directory .partner-fora { --partner-mark-width: 160px; }
.partner-directory .partner-altour { --partner-mark-width: 260px; }

@media (max-width: 1199px) {
  .logo-wall.twelve.partner-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .logo-wall.twelve.partner-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logo-wall.twelve.partner-directory .partner-logo { padding: 24px 18px; }
}

@media (max-width: 560px) {
  .logo-wall.twelve.partner-directory {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px;
    max-width: 400px;
    margin-top: 32px;
  }
  .logo-wall.twelve.partner-directory .partner-logo {
    height: 140px;
    min-height: 140px;
    padding: 24px;
  }
}

/* Keep the same original FORA artwork, reversed for its dark tile. */
.logo-wall.twelve.partner-directory .partner-fora img {
  filter: grayscale(1) brightness(0) invert(1);
}
/* Alternate both horizontally and vertically in the two-column layout. */
@media (min-width: 561px) and (max-width: 900px) {
  .partner-directory .partner-logo:nth-child(1) { order: 1; }
  .partner-directory .partner-logo:nth-child(2) { order: 2; }
  .partner-directory .partner-logo:nth-child(3) { order: 4; }
  .partner-directory .partner-logo:nth-child(4) { order: 3; }
  .partner-directory .partner-logo:nth-child(5) { order: 5; }
  .partner-directory .partner-logo:nth-child(6) { order: 6; }
  .partner-directory .partner-logo:nth-child(7) { order: 8; }
  .partner-directory .partner-logo:nth-child(8) { order: 7; }
  .partner-directory .partner-logo:nth-child(9) { order: 9; }
  .partner-directory .partner-logo:nth-child(10) { order: 10; }
  .partner-directory .partner-logo:nth-child(11) { order: 12; }
  .partner-directory .partner-logo:nth-child(12) { order: 11; }
}
