.csm-output{
  --csm-columns:var(--csm-columns-desktop,4);
  --csm-logo-height:var(--csm-logo-height-desktop,120px);
  --csm-gap:var(--csm-gap-desktop,28px);
  --csm-logo-bg:transparent;
  --csm-border-color:#dddddd;
  --csm-border-radius:0px;
  width:100%
}
.csm-group{margin:0 0 42px}
.csm-group:last-child{margin-bottom:0}
.csm-group-title{margin:0 0 22px;text-align:var(--csm-title-align,center);font-size:var(--csm-title-size,1.35rem);font-weight:var(--csm-title-weight,700);color:var(--csm-title-color,inherit);line-height:1.25}
.csm-items{display:grid;grid-template-columns:repeat(var(--csm-columns),minmax(0,1fr));gap:var(--csm-gap);align-items:start}
.csm-item{text-align:center;min-width:0}
.csm-logo-box{height:var(--csm-logo-height);display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;background:var(--csm-logo-bg);border-radius:var(--csm-border-radius);overflow:hidden}
.csm-effect-border .csm-logo-box{border:1px solid var(--csm-border-color)}
.csm-link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;text-decoration:none}
.csm-logo-img{display:block;max-width:100%;width:auto!important;max-height:100%;height:auto!important;object-fit:contain;object-position:center;transition:filter .22s ease,transform .22s ease}
.csm-effect-grayscale .csm-logo-img{filter:grayscale(1)}
.csm-effect-grayscale .csm-logo-box:hover .csm-logo-img,.csm-effect-grayscale .csm-logo-box:focus-within .csm-logo-img{filter:grayscale(0)}
.csm-effect-zoom .csm-logo-box:hover .csm-logo-img,.csm-effect-zoom .csm-logo-box:focus-within .csm-logo-img{transform:scale(1.055)}
.csm-logo-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:600;font-size:1rem;line-height:1.3}
.csm-name{font-weight:600;margin-top:10px}
.csm-description{margin-top:8px;font-size:.95rem;line-height:1.5}
.csm-disclaimer{margin:10px auto 0;max-width:760px;font-size:.82rem;line-height:1.45;opacity:.76}
.csm-type-declaration .csm-text-only,.csm-type-text .csm-text-only{text-align:left;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.12)}
.csm-text-title{font-weight:700;margin-bottom:6px}

.csm-layout-list .csm-items{display:block}
.csm-layout-list .csm-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;text-align:left;align-items:center;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.12)}
.csm-layout-list .csm-logo-box{height:var(--csm-logo-height);padding:8px}
.csm-layout-list .csm-no-logo{display:block}
.csm-layout-list .csm-name,.csm-layout-list .csm-description,.csm-layout-list .csm-disclaimer{grid-column:2;margin-top:0}

.csm-layout-carousel .csm-group{position:relative;padding:0 42px}
.csm-layout-carousel .csm-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--csm-gap);padding-bottom:8px;scrollbar-width:thin}
.csm-layout-carousel .csm-item{flex:0 0 calc((100% - (var(--csm-columns) - 1) * var(--csm-gap)) / var(--csm-columns));scroll-snap-align:start}
.csm-carousel-controls{pointer-events:none;position:absolute;inset:50% 0 auto;transform:translateY(-50%);display:flex;justify-content:space-between}
.csm-carousel-prev,.csm-carousel-next{pointer-events:auto;width:34px;height:34px;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:#fff;cursor:pointer;font-size:25px;line-height:28px;padding:0;display:flex;align-items:center;justify-content:center}
.csm-empty{padding:18px;border:1px dashed rgba(0,0,0,.22);text-align:center}

@media(max-width:980px){
  .csm-output{--csm-columns:var(--csm-columns-tablet,3);--csm-logo-height:var(--csm-logo-height-tablet,110px);--csm-gap:var(--csm-gap-tablet,22px)}
  .csm-layout-list .csm-item{grid-template-columns:150px minmax(0,1fr);gap:20px}
}
@media(max-width:640px){
  .csm-output{--csm-columns:var(--csm-columns-mobile,2);--csm-logo-height:var(--csm-logo-height-mobile,90px);--csm-gap:var(--csm-gap-mobile,16px)}
  .csm-layout-list .csm-item{grid-template-columns:120px minmax(0,1fr);gap:16px}
  .csm-layout-carousel .csm-group{padding:0 34px}
  .csm-carousel-prev,.csm-carousel-next{width:30px;height:30px;font-size:22px}
}
@media(prefers-reduced-motion:reduce){.csm-logo-img{transition:none}.csm-effect-zoom .csm-logo-box:hover .csm-logo-img,.csm-effect-zoom .csm-logo-box:focus-within .csm-logo-img{transform:none}}

/* v0.1.4: Divi Visual Builder compatibility.
   The stylesheet is now loaded before shortcode rendering; these rules also make the intended layout explicit inside Divi's editor DOM. */
.et-fb-root-ancestor .csm-output,.et_fb_edit_enabled .csm-output{display:block!important;width:100%!important;max-width:100%!important}
.et-fb-root-ancestor .csm-layout-grid .csm-items,.et_fb_edit_enabled .csm-layout-grid .csm-items{display:grid!important;grid-template-columns:repeat(var(--csm-columns),minmax(0,1fr))!important;gap:var(--csm-gap)!important}
.et-fb-root-ancestor .csm-layout-grid .csm-item,.et_fb_edit_enabled .csm-layout-grid .csm-item{display:block!important;width:auto!important;max-width:none!important;float:none!important}
.et-fb-root-ancestor .csm-logo-box,.et_fb_edit_enabled .csm-logo-box{display:flex!important}
