/* MDM - Logo Matrix DIVI v1.4.4 (editor + frontend) */
.sd-logo-matrix{display:grid;grid-template-columns:repeat(var(--sd-cols,6),minmax(0,1fr));gap:var(--sd-gap,16px);--sd-logo-maxw:none;--sd-logo-maxh:100%;--sd-item-padding:16px;--sd-item-margin:0}
.sd-logo-matrix .sd-logo-item{box-sizing:border-box;padding:var(--sd-item-padding);margin:var(--sd-item-margin);display:flex;align-items:center;justify-content:center}
.sd-logo-matrix .sd-logo-item a{display:inline-flex;align-items:center;justify-content:center}
.sd-logo-matrix .sd-logo-item img{max-width:var(--sd-logo-maxw)!important;max-height:var(--sd-logo-maxh)!important;width:auto!important;height:auto!important;object-fit:contain;display:block}


/* Responsive kolonner via Divi props (columns, columns_tablet, columns_phone) */
.logo-matrix {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.logo-item {
  text-align: center;
}
@media (max-width: 767px) {
  .logo-matrix.mobile-cols-1 .logo-item { flex: 0 0 100.0000%; max-width: 100.0000%; }
  .logo-matrix.mobile-cols-2 .logo-item { flex: 0 0 50.0000%; max-width: 50.0000%; }
  .logo-matrix.mobile-cols-3 .logo-item { flex: 0 0 33.3333%; max-width: 33.3333%; }
  .logo-matrix.mobile-cols-4 .logo-item { flex: 0 0 25.0000%; max-width: 25.0000%; }
  .logo-matrix.mobile-cols-5 .logo-item { flex: 0 0 20.0000%; max-width: 20.0000%; }
  .logo-matrix.mobile-cols-6 .logo-item { flex: 0 0 16.6667%; max-width: 16.6667%; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .logo-matrix.tablet-cols-1 .logo-item { flex: 0 0 100.0000%; max-width: 100.0000%; }
  .logo-matrix.tablet-cols-2 .logo-item { flex: 0 0 50.0000%; max-width: 50.0000%; }
  .logo-matrix.tablet-cols-3 .logo-item { flex: 0 0 33.3333%; max-width: 33.3333%; }
  .logo-matrix.tablet-cols-4 .logo-item { flex: 0 0 25.0000%; max-width: 25.0000%; }
  .logo-matrix.tablet-cols-5 .logo-item { flex: 0 0 20.0000%; max-width: 20.0000%; }
  .logo-matrix.tablet-cols-6 .logo-item { flex: 0 0 16.6667%; max-width: 16.6667%; }
}
@media (min-width: 1025px) {
  .logo-matrix.desktop-cols-1 .logo-item { flex: 0 0 100.0000%; max-width: 100.0000%; }
  .logo-matrix.desktop-cols-2 .logo-item { flex: 0 0 50.0000%; max-width: 50.0000%; }
  .logo-matrix.desktop-cols-3 .logo-item { flex: 0 0 33.3333%; max-width: 33.3333%; }
  .logo-matrix.desktop-cols-4 .logo-item { flex: 0 0 25.0000%; max-width: 25.0000%; }
  .logo-matrix.desktop-cols-5 .logo-item { flex: 0 0 20.0000%; max-width: 20.0000%; }
  .logo-matrix.desktop-cols-6 .logo-item { flex: 0 0 16.6667%; max-width: 16.6667%; }
}


/* === MDM Logo Matrix Utilities (v1.5.1) === */

/* Spacing (gap) utilities on the matrix */
.logo-matrix { gap: var(--gap, 1rem); }
.logo-matrix.gap-0   { --gap: 0; }
.logo-matrix.gap-xs  { --gap: .25rem; }
.logo-matrix.gap-sm  { --gap: .5rem; }
.logo-matrix.gap-md  { --gap: 1rem; }
.logo-matrix.gap-lg  { --gap: 1.5rem; }
.logo-matrix.gap-xl  { --gap: 2rem; }

/* Item padding/margin via CSS vars (set inline or by custom class) */
.logo-item { padding: var(--item-pad, 0); margin: var(--item-mg, 0); }
.logo-matrix.pad-xs  { --item-pad: .25rem; } .logo-matrix.pad-sm { --item-pad: .5rem; }
.logo-matrix.pad-md  { --item-pad: .75rem; } .logo-matrix.pad-lg { --item-pad: 1rem; }

/* Alignment */
.logo-matrix.align-start  { justify-content: flex-start; }
.logo-matrix.align-center { justify-content: center; }
.logo-matrix.align-end    { justify-content: flex-end; }

/* Reverse flow (simple "sorting" option) */
.logo-matrix.reverse { flex-direction: row-reverse; }

/* Hover effects */
.logo-matrix.hover-scale .logo-item img { transition: transform .2s ease; }
.logo-matrix.hover-scale .logo-item:hover img { transform: scale(var(--hover-scale, 1.06)); }

.logo-matrix.hover-fade .logo-item img { transition: opacity .2s ease; }
.logo-matrix.hover-fade .logo-item:hover img { opacity: .8; }

/* Safe image sizing */
.logo-item img { max-width: 100%; height: auto; display: block; margin-inline: auto; object-fit: contain; }


/* === v1.5.2 device-specific gap/pad mappings === */
@media (min-width: 1025px) {
  .gap-desktop-xs { --gap: .25rem; } .gap-desktop-sm { --gap: .5rem; }
  .gap-desktop-md { --gap: 1rem; }  .gap-desktop-lg { --gap: 1.5rem; } .gap-desktop-xl { --gap: 2rem; }
  .pad-desktop-none { --item-pad: 0; } .pad-desktop-xs { --item-pad: .25rem; } .pad-desktop-sm { --item-pad: .5rem; }
  .pad-desktop-md { --item-pad: .75rem; } .pad-desktop-lg { --item-pad: 1rem; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .gap-tablet-xs { --gap: .25rem; } .gap-tablet-sm { --gap: .5rem; }
  .gap-tablet-md { --gap: 1rem; }  .gap-tablet-lg { --gap: 1.5rem; } .gap-tablet-xl { --gap: 2rem; }
  .pad-tablet-none { --item-pad: 0; } .pad-tablet-xs { --item-pad: .25rem; } .pad-tablet-sm { --item-pad: .5rem; }
  .pad-tablet-md { --item-pad: .75rem; } .pad-tablet-lg { --item-pad: 1rem; }
}
@media (max-width: 767px) {
  .gap-mobile-xs { --gap: .25rem; } .gap-mobile-sm { --gap: .5rem; }
  .gap-mobile-md { --gap: 1rem; }  .gap-mobile-lg { --gap: 1.5rem; } .gap-mobile-xl { --gap: 2rem; }
  .pad-mobile-none { --item-pad: 0; } .pad-mobile-xs { --item-pad: .25rem; } .pad-mobile-sm { --item-pad: .5rem; }
  .pad-mobile-md { --item-pad: .75rem; } .pad-mobile-lg { --item-pad: 1rem; }
}
