/* Partner Content Block */

.partners { border:1px solid #e2e8f0; border-radius:14px; padding:18px 20px 14px; background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%); box-shadow:0 2px 6px rgba(0,0,0,0.05); font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.partners__header { margin:0 0 12px; }
.partners__title { margin:0; font-size:1.05em; letter-spacing:.5px; font-weight:700; text-transform:uppercase; color:#172983; position:relative; }
.partners__title:after { content:""; display:block; width:46px; height:3px; margin-top:6px; background:linear-gradient(90deg,#172983,#1e3a8a); border-radius:2px; }

.partners__list { list-style:none !important; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px 18px; align-items:stretch; }
.partners__item { margin:0; }

.partners__figure { margin:0; padding:12px 10px 10px; background:#fff; border:1px solid #d9e2ec; border-radius:10px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:140px; position:relative; }
.partners__logo { max-width:140px; width:100%; height:auto; display:block; filter:grayscale(15%); transition:filter .3s ease, transform .3s ease; }
.partners__logo:hover, .partners__logo:focus-visible { filter:grayscale(0); transform:scale(1.05); outline:none; }

.partners__logo--placeholder { width:100%; max-width:140px; height:60px; display:flex; align-items:center; justify-content:center; background:#f1f5f9; color:#64748b; font-size:.7em; font-weight:600; border:1px dashed #cbd5e1; border-radius:6px; padding:4px; text-align:center; }

.partners__caption { font-size:.7em; font-weight:600; text-align:center; margin:0; color:#334155; letter-spacing:.5px; text-transform:uppercase; line-height:1.3; }

.partners__empty { font-size:.85em; color:#555; margin:0; }

/* Responsive tweaks */
@media (max-width:640px){
  .partners { padding:16px 16px 12px; }
  .partners__figure { min-height:120px; }
  .partners__title { font-size:1em; }
  .partners__list { gap:12px 14px; }
}
