/* Evermed Logo Strip (1.10.0) — brand logos as marquee, grid or swipeable row. */
.ee-ls {
	--ee-ls-h: 64px; --ee-ls-gap: 12px; --ee-ls-cols: 6; --ee-ls-pad: 8px; --ee-ls-duration: 36s;
	position: relative; max-width: 100%; min-width: 0;
}
.elementor-widget-ee-logo-strip { min-width: 0; max-width: 100%; }
.ee-ls__title { margin: 0 0 10px; text-align: center; font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem); font-weight: 600; line-height: 1.25; color: var(--ev-ink, #1c2321); }
.ee-ls__viewport { overflow: hidden; container-type: inline-size; }
.ee-ls__track { display: flex; width: max-content; min-width: 100%; }
.ee-ls__list { display: flex; align-items: center; gap: var(--ee-ls-gap); flex: none; min-width: 100cqw; margin: 0; padding: 0 var(--ee-ls-gap) 0 0; list-style: none; justify-content: space-around; }
.ee-ls__item { display: flex; align-items: center; justify-content: center; flex: none; margin: 0; box-sizing: border-box; }
.ee-ls__link { display: flex; align-items: center; justify-content: center; line-height: 0; border-radius: var(--ev-radius-sm, 6px); }
.ee-ls__img { display: block; width: auto; height: var(--ee-ls-h); max-width: 100%; object-fit: contain; }

/* White tiles */
.ee-ls--tiles .ee-ls__item { padding: var(--ee-ls-pad) calc(var(--ee-ls-pad) * 1.5); background: var(--ev-surface, #fff); border: 1px solid var(--ev-line, #e4e8e7); border-radius: var(--ev-radius, 10px); }

/* Grey until hover (pointer devices only — phones keep the colour) */
@media (hover: hover) {
	.ee-ls--grey .ee-ls__img { filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
	.ee-ls--grey .ee-ls__item:hover .ee-ls__img, .ee-ls--grey .ee-ls__link:focus-visible .ee-ls__img { filter: none; opacity: 1; }
}

/* ---- Grid ---- */
.ee-ls--grid .ee-ls__track { width: 100%; }
.ee-ls--grid .ee-ls__list { min-width: 0; display: grid; grid-template-columns: repeat(var(--ee-ls-cols), minmax(0, 1fr)); width: 100%; padding: 0; }
.ee-ls--grid .ee-ls__item { min-width: 0; height: 100%; }

/* ---- Swipeable row (native scroll-snap, no JS) ---- */
.ee-ls--row .ee-ls__viewport { overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ee-ls--row .ee-ls__viewport::-webkit-scrollbar { display: none; }
.ee-ls--row .ee-ls__list { justify-content: flex-start; padding: 0; }
.ee-ls--row .ee-ls__item { scroll-snap-align: start; }

/* ---- Continuous scroll ----
   Starts only after the visitor's first interaction (feature-strip.js adds
   .is-moving), so PageSpeed's Speed Index is not hurt. Until then the first
   logos stand still and fully visible. */
.ee-ls--marquee.is-moving .ee-ls__track { animation: ee-ls-scroll var(--ee-ls-duration) linear infinite; will-change: transform; }
.ee-ls--marquee.ee-ls--reverse .ee-ls__track { animation-direction: reverse; }
.ee-ls--marquee:hover .ee-ls__track,
.ee-ls--marquee:focus-within .ee-ls__track { animation-play-state: paused; }
@keyframes ee-ls-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.ee-ls__link:focus-visible { outline: 3px solid var(--ev-secondary, #4e97fd); outline-offset: 2px; }

@media (max-width: 1024px) { .ee-ls { --ee-ls-h: 56px; --ee-ls-cols: 4; } }
@media (max-width: 767px)  { .ee-ls { --ee-ls-h: 44px; --ee-ls-gap: 8px; --ee-ls-cols: 3; --ee-ls-pad: 6px; } }

/* Less motion: a still, swipeable row instead of the loop. */
@media (prefers-reduced-motion: reduce) {
	.ee-ls--marquee .ee-ls__track { animation: none !important; }
	.ee-ls--marquee .ee-ls__viewport { overflow-x: auto; scrollbar-width: none; }
	.ee-ls--marquee .ee-ls__list--clone { display: none; }
}
