/* Enterprise Toolkits — Customer Logo Directory v2
   Behaviour:
   - All: compact 9-column layout on desktop.
   - Industry filter: original 7-column layout and original logo size.
   Load this file AFTER css/styles.css.
*/

.customer-logo-directory{
  padding-top:28px;
  padding-bottom:26px;
}

.customer-logo-directory .home-section-head{
  align-items:flex-end;
}

.customer-logo-summary{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}

.customer-logo-filters{
  display:flex;
  flex-wrap:wrap;
  gap:9px 10px;
  margin:0 0 26px;
}

.customer-logo-filter{
  min-height:40px;
  padding:0 15px;
  border:1px solid #c5ccd4;
  border-radius:5px;
  background:#fff;
  color:var(--text);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}

.customer-logo-filter:hover,
.customer-logo-filter:focus-visible{
  border-color:var(--navy);
  color:var(--navy);
  outline:none;
  transform:translateY(-1px);
}

.customer-logo-filter.is-active,
.customer-logo-filter.is-active:hover,
.customer-logo-filter.is-active:focus-visible{
  border-color:#111;
  background:#111;
  color:#fff;
}

/* Default layout used by individual industries. */
#customerLogoWall.client-logo-wall{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:14px 18px;
  align-items:stretch;
}

.customer-logo-item{
  min-width:0;
  min-height:94px;
  padding:11px 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:5px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}

.customer-logo-item:hover{
  border-color:var(--line);
  box-shadow:0 4px 14px rgba(11,52,98,.08);
  transform:translateY(-1px);
}

#customerLogoWall.client-logo-wall .customer-logo-item img{
  width:100%;
  max-width:180px;
  height:68px;
  object-fit:contain;
  display:block;
  margin:auto;
  filter:none;
}

.customer-logo-item[hidden]{display:none!important}

.customer-logo-fallback{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  text-align:center;
}

/* Compact layout used only by All.
   Three selectors are intentionally provided so the layout remains reliable
   even when the page is opened locally or another stylesheet has a generic
   .client-logo-wall rule. */
#customerLogoWall.client-logo-wall.is-all-layout,
#customer-organizations.is-all-active #customerLogoWall.client-logo-wall,
#customer-organizations[data-active-filter="all"] #customerLogoWall.client-logo-wall{
  grid-template-columns:repeat(9,minmax(0,1fr))!important;
  gap:6px 10px!important;
  align-items:center!important;
}

#customerLogoWall.is-all-layout .customer-logo-item,
#customer-organizations.is-all-active .customer-logo-item,
#customer-organizations[data-active-filter="all"] .customer-logo-item{
  min-height:68px;
  padding:4px 3px;
}

#customerLogoWall.is-all-layout .customer-logo-item img,
#customer-organizations.is-all-active #customerLogoWall .customer-logo-item img,
#customer-organizations[data-active-filter="all"] #customerLogoWall .customer-logo-item img{
  max-width:130px;
  height:48px;
}

@media(max-width:1100px){
  #customerLogoWall.client-logo-wall{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }

  #customerLogoWall.client-logo-wall.is-all-layout,
  #customer-organizations.is-all-active #customerLogoWall.client-logo-wall,
  #customer-organizations[data-active-filter="all"] #customerLogoWall.client-logo-wall{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:6px 8px!important;
  }
}

@media(max-width:720px){
  .customer-logo-directory .home-section-head{display:block}
  .customer-logo-summary{display:block;margin-top:6px;white-space:normal}
  .customer-logo-filters{gap:8px;margin-bottom:20px}
  .customer-logo-filter{min-height:38px;padding:0 12px;font-size:12px}

  #customerLogoWall.client-logo-wall{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .customer-logo-item{
    min-height:82px;
    padding:8px 6px;
  }

  #customerLogoWall.client-logo-wall .customer-logo-item img{
    height:58px;
  }

  #customerLogoWall.client-logo-wall.is-all-layout,
  #customer-organizations.is-all-active #customerLogoWall.client-logo-wall,
  #customer-organizations[data-active-filter="all"] #customerLogoWall.client-logo-wall{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px 6px!important;
  }

  #customerLogoWall.is-all-layout .customer-logo-item,
  #customer-organizations.is-all-active .customer-logo-item,
  #customer-organizations[data-active-filter="all"] .customer-logo-item{
    min-height:58px;
    padding:3px 2px;
  }

  #customerLogoWall.is-all-layout .customer-logo-item img,
  #customer-organizations.is-all-active #customerLogoWall .customer-logo-item img,
  #customer-organizations[data-active-filter="all"] #customerLogoWall .customer-logo-item img{
    max-width:105px;
    height:40px;
  }
}

@media(max-width:460px){
  #customerLogoWall.client-logo-wall{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #customerLogoWall.client-logo-wall.is-all-layout,
  #customer-organizations.is-all-active #customerLogoWall.client-logo-wall,
  #customer-organizations[data-active-filter="all"] #customerLogoWall.client-logo-wall{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
