/* =========================================================================
   Al Duffa — Approvals & Partners strip
   (widgets/aidh/class-aidh-approvals-widget.php)
   -------------------------------------------------------------------------
   Matches the Manus design source (alduffa-permanent-site: .partners /
   .lbl / .logo-slot / .logo-slot.spea) — a centred, wrapping row of
   dashed-border "logo slots" under a small uppercase label, with the
   first (SPEA) slot picked out by a solid gold border. Colours/fonts
   come from the theme's alduffa-tokens.css, same token names as the
   Campus/Student-life/Testimonials CSS.
   ========================================================================= */

.ald-approvals {
  --ald-gold:      var(--c-teal, #D4A73A);
  --ald-gold-deep: var(--c-teal-dark, #9C7A1E);
  --ald-muted:     var(--c-body, #5C6B80);
  --ald-line:      var(--c-line, #DCE2EA);
  font-family: var(--f-body, "DM Sans", sans-serif);
}
.ald-approvals *,
.ald-approvals *::before { box-sizing: border-box; }

.ald-approvals__wrap {
  width: 100%;
  max-width: var(--wrap-max, 1280px);
  margin-inline: auto;
  padding-inline: var(--wrap-pad, 20px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 28px;
}

.ald-approvals__lbl {
  width: 100%;
  margin-bottom: 6px;
  text-align: center;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ald-muted);
}

.ald-approvals__slot {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  min-height: 44px;
  padding: 12px 22px;
  border: 1px dashed var(--ald-line);
  border-radius: 999px;
  color: var(--ald-muted);
  font-weight: 600;
  font-size: .9rem;
  text-align: center;
  text-decoration: none;
  transition: border-color .3s ease-out, color .3s ease-out, transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease-out, background-color .3s ease-out;
}
a.ald-approvals__slot:hover {
  border-style: solid;
  border-color: var(--ald-gold);
  color: var(--ald-gold-deep);
  background-color: #fffdf6;
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 14px 28px -14px rgba(156, 122, 30, .45);
}

.ald-approvals__slot.is-featured {
  border-style: solid;
  border-color: var(--ald-gold);
  color: var(--ald-gold-deep);
}

.ald-approvals__slot img {
  display: block;
  max-width: 100%;
  max-height: 34px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) opacity(.7);
  transition: filter .4s ease-out, transform .5s cubic-bezier(.16,1,.3,1);
}
a.ald-approvals__slot:hover img {
  filter: grayscale(0) opacity(1);
  transform: scale(1.08);
}
.ald-approvals__slot.is-featured img { filter: grayscale(0) opacity(1); }

@media (max-width: 480px) {
  .ald-approvals__slot { min-width: 130px; padding: 10px 16px; }
}
