/*!
 * Themeasy — Client Logos
 *
 * Grid/carousel/marquee of brand logos with configurable hover effects
 * (colorize, grayscale, zoom, lift, tilt) and an optional hover tooltip.
 * Structure is pure CSS; the marquee loops via a keyframe animation and the
 * carousel inherits Swiper positioning from the slider module. Degrades
 * gracefully with no JS and honors prefers-reduced-motion.
 *
 * Public tokens (--tms-*) are consumed — never private (--themeasy-*).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-client-logos{--tms-client-logos-gap:24px;--tms-client-logos-duration:.35s;--tms-client-logos-tooltip-offset:10px;--tms-client-logos-tooltip-bg:var(--tms-heading-color,#1a1a2e);--tms-client-logos-tooltip-color:var(--tms-surface-color,#fff);--tms-client-logos-marquee-speed:30s;--tms-client-logos-marquee-width:180px;width:100%;position:relative}.tms-client-logos .tms-client-logos__list{margin:0;padding:0;list-style:none}.tms-client-logos .tms-client-logos__item{box-sizing:border-box;transition:background-color var(--tms-client-logos-duration) ease, border-color var(--tms-client-logos-duration) ease, box-shadow var(--tms-client-logos-duration) ease, transform var(--tms-client-logos-duration) ease;background-color:#0000;border:0 solid #0000;justify-content:center;align-items:center;display:flex;position:relative}.tms-client-logos .tms-client-logos__link{width:100%;height:100%;color:inherit;justify-content:center;align-items:center;line-height:0;text-decoration:none;display:inline-flex}.tms-client-logos .tms-client-logos__link--static{pointer-events:none}.tms-client-logos .tms-client-logos__image{object-fit:contain;width:auto;max-width:100%;height:auto;transition:opacity var(--tms-client-logos-duration) ease, filter var(--tms-client-logos-duration) ease, transform var(--tms-client-logos-duration) ease;display:block}.tms-client-logos .tms-client-logos__wordmark{overflow-wrap:normal;max-width:100%;color:var(--tms-heading-color,#1a1a2e);font-family:var(--tms-heading-font,inherit);text-align:center;transition:opacity var(--tms-client-logos-duration) ease, color var(--tms-client-logos-duration) ease, transform var(--tms-client-logos-duration) ease;font-size:1.25rem;font-weight:700;line-height:1.2;display:block}.tms-client-logos .tms-client-logos__tooltip{bottom:calc(100% + var(--tms-client-logos-tooltip-offset));z-index:3;background-color:var(--tms-client-logos-tooltip-bg);color:var(--tms-client-logos-tooltip-color);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--tms-client-logos-duration) ease, transform var(--tms-client-logos-duration) ease;border-radius:4px;padding:6px 10px;font-size:.75rem;line-height:1.2;position:absolute;left:50%;transform:translate(-50%,4px)}.tms-client-logos .tms-client-logos__tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--tms-client-logos-tooltip-bg);width:0;height:0;margin-left:-5px;position:absolute;top:100%;left:50%}.tms-client-logos.tms-client-logos--has-tooltip .tms-client-logos__item:hover .tms-client-logos__tooltip,.tms-client-logos.tms-client-logos--has-tooltip .tms-client-logos__item:focus-within .tms-client-logos__tooltip{opacity:1;transform:translate(-50%)}.tms-client-logos.tms-client-logos--hover-color .tms-client-logos__image{filter:grayscale();opacity:.7}@media (hover:hover){.tms-client-logos.tms-client-logos--hover-color .tms-client-logos__item:hover .tms-client-logos__image,.tms-client-logos.tms-client-logos--hover-color .tms-client-logos__item:focus-within .tms-client-logos__image{filter:grayscale(0);opacity:1}}.tms-client-logos.tms-client-logos--hover-grayscale .tms-client-logos__image{filter:grayscale(0);opacity:1}@media (hover:hover){.tms-client-logos.tms-client-logos--hover-grayscale .tms-client-logos__item:hover .tms-client-logos__image,.tms-client-logos.tms-client-logos--hover-grayscale .tms-client-logos__item:focus-within .tms-client-logos__image{filter:grayscale();opacity:.7}.tms-client-logos.tms-client-logos--hover-zoom .tms-client-logos__item:hover .tms-client-logos__image,.tms-client-logos.tms-client-logos--hover-zoom .tms-client-logos__item:focus-within .tms-client-logos__image{transform:scale(1.1)}.tms-client-logos.tms-client-logos--hover-lift .tms-client-logos__item:hover,.tms-client-logos.tms-client-logos--hover-lift .tms-client-logos__item:focus-within{transform:translateY(-6px)}}.tms-client-logos.tms-client-logos--hover-tilt .tms-client-logos__item{transform-style:preserve-3d;perspective:600px}@media (hover:hover){.tms-client-logos.tms-client-logos--hover-tilt .tms-client-logos__item:hover,.tms-client-logos.tms-client-logos--hover-tilt .tms-client-logos__item:focus-within{transform:perspective(600px)rotateX(6deg)rotateY(-6deg)translateZ(4px)}}.tms-client-logos.tms-client-logos--skin-grid .tms-client-logos__list{gap:var(--tms-client-logos-gap);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}@media (min-width:768px){.tms-client-logos.tms-client-logos--skin-grid .tms-client-logos__list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1025px){.tms-client-logos.tms-client-logos--skin-grid .tms-client-logos__list{grid-template-columns:repeat(5,minmax(0,1fr))}}.tms-client-logos.tms-client-logos--skin-carousel .tms-slider__wrapper{width:100%;position:relative}.tms-client-logos.tms-client-logos--skin-carousel .tms-client-logos__item{height:auto;display:flex}.tms-client-logos.tms-client-logos--skin-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.tms-client-logos.tms-client-logos--skin-marquee .tms-client-logos__track{width:max-content;animation:tms-client-logos-marquee-left var(--tms-client-logos-marquee-speed) linear infinite;will-change:transform;display:flex}.tms-client-logos.tms-client-logos--skin-marquee[data-marquee-direction=right] .tms-client-logos__track{animation-name:tms-client-logos-marquee-right}.tms-client-logos.tms-client-logos--skin-marquee .tms-client-logos__list--marquee{gap:var(--tms-client-logos-gap);padding-right:var(--tms-client-logos-gap);flex-wrap:nowrap;margin:0;list-style:none;display:flex}.tms-client-logos.tms-client-logos--skin-marquee .tms-client-logos__item{flex:0 0 var(--tms-client-logos-marquee-width);width:var(--tms-client-logos-marquee-width)}.tms-client-logos.tms-client-logos--skin-marquee.tms-client-logos--marquee-pause:hover .tms-client-logos__track,.tms-client-logos.tms-client-logos--skin-marquee.tms-client-logos--marquee-pause:focus-within .tms-client-logos__track{animation-play-state:paused}@keyframes tms-client-logos-marquee-left{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@keyframes tms-client-logos-marquee-right{0%{transform:translate(-50%)}to{transform:translate(0,0)}}.tms-client-logos .tms-client-logos__link:focus-visible{outline:2px solid var(--tms-primary-color,#6c5ce7);outline-offset:3px}@media (prefers-reduced-motion:reduce){.tms-client-logos .tms-client-logos__item,.tms-client-logos .tms-client-logos__image,.tms-client-logos .tms-client-logos__tooltip{transition-duration:.01ms!important}.tms-client-logos.tms-client-logos--skin-marquee .tms-client-logos__track{animation:none!important;transform:none!important}.tms-client-logos.tms-client-logos--hover-tilt .tms-client-logos__item:hover,.tms-client-logos.tms-client-logos--hover-tilt .tms-client-logos__item:focus-within,.tms-client-logos.tms-client-logos--hover-lift .tms-client-logos__item:hover,.tms-client-logos.tms-client-logos--hover-lift .tms-client-logos__item:focus-within,.tms-client-logos.tms-client-logos--hover-zoom .tms-client-logos__item:hover .tms-client-logos__image,.tms-client-logos.tms-client-logos--hover-zoom .tms-client-logos__item:focus-within .tms-client-logos__image{transform:none!important}}