.clso-showcase { min-width:0; }
.clso-showcase .pksl-logo-info,
.clso-showcase .pksl-logo-content { display:flex; flex-direction:column; }
.clso-showcase .pksl-single-logo-title { order:1; }
.clso-showcase .clso-description { order:2; margin:6px 0 0; font-size:var(--clso-desc-size, 14px); color:var(--clso-desc-color, inherit); font-weight:var(--clso-desc-weight, inherit); font-style:var(--clso-desc-style, inherit); text-align:var(--clso-desc-align, inherit); line-height:1.45; overflow-wrap:anywhere; }
.clso-showcase.clso-position-2 .pksl-single-logo-items > .pksl-single-logo-thumbnail { order:1; }
.clso-showcase.clso-position-2 .pksl-single-logo-items > .pksl-logo-info { order:2; }
.clso-showcase.clso-position-3 .pksl-single-logo-items > .pksl-single-logo-thumbnail { order:2; }
.clso-showcase.clso-position-3 .pksl-single-logo-items > .pksl-logo-info { order:1; margin-bottom:10px; }
.clso-showcase .clso-pause { display:block; margin:12px auto; padding:6px 12px; border:1px solid currentColor; border-radius:4px; background:transparent; color:inherit; font:inherit; font-size:13px; cursor:pointer; }
.clso-showcase .clso-pause:focus-visible { outline:2px solid currentColor; outline-offset:3px; }

.clso-showcase .pksl-single-logo-items > .pksl-logo-info { width:100%; }
.clso-showcase .pksl-logo-list-item > .pksl-logo-content { flex:1; min-width:0; }
@media (max-width:768px) { .clso-showcase .pksl-logo-list-item > .pksl-logo-content { width:100%; } }
/* Opt-in sizing: the image area stays stable when the image percentage changes. */
.clso-showcase.clso-logo-sizing { --clso-logo-active-size:var(--clso-logo-size, 80%); }
.clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-single-logo-thumbnail,
.clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-logo-thumbnail {
    display:block; position:relative; width:100%; height:auto; min-width:0;
    aspect-ratio:var(--clso-logo-ratio, 3/2); overflow:hidden; box-sizing:border-box;
}
.clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-logo-list-item .pksl-logo-thumbnail {
    width:250px; max-width:100%; flex:0 0 250px;
}
.clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-single-logo-thumbnail > a,
.clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-logo-thumbnail > a {
    display:block; position:absolute; inset:0; width:100%; height:100%;
}
.clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-single-logo-thumbnail img,
.clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-logo-thumbnail img {
    display:block; position:absolute; inset:0; margin:auto;
    width:var(--clso-logo-active-size); height:var(--clso-logo-active-size);
    max-width:100%; max-height:100%; object-fit:contain; object-position:center;
}
@media (max-width:768px) {
    .clso-showcase.clso-logo-sizing .pksl-wrapper .pksl-logo-list-item .pksl-logo-thumbnail { flex:0 0 auto; }
}
@media (max-width:600px) {
    .clso-showcase.clso-logo-sizing { --clso-logo-active-size:var(--clso-logo-mobile, var(--clso-logo-size, 80%)); }
}
/* Slick needs a full-width block viewport. The upstream flex container lets
   .slick-list shrink to intrinsic content; absolutely positioned logos have
   no intrinsic layout width, so that shrink can collapse the whole carousel. */
.clso-showcase { width:100%; max-width:100%; box-sizing:border-box; }
.clso-showcase .pkslogo-slider-wrapper { width:100%; min-width:0; }
.clso-showcase #picklogo-slider-container.picklogo-slider {
    display:block; width:100%; min-width:0; max-width:100%;
}
.clso-showcase #picklogo-slider-container.picklogo-slider > .slick-list {
    width:100%; min-width:0; box-sizing:border-box;
}
