/* Shared roster presentation; native GP Elements own placement and headings. */
.fs-client-wall{--client-line:#ccd3cb;color:#264b3c;max-width:100%;position:relative;}
.fs-client-wall .fs-client-wall__list{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
.fs-client-wall--strip .fs-client-wall__list{grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;}
.fs-client-wall .fs-client-wall__item{list-style:none;margin:0;min-width:0;height:164px;padding:24px;background:#fff;border:1px solid var(--client-line);display:flex;align-items:center;justify-content:center;scroll-snap-align:start;box-sizing:border-box;}
.fs-client-wall__item>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center;}
.fs-client-wall .fs-client-wall__item img{display:block;width:100%;height:100%;max-width:240px;max-height:112px;object-fit:contain;}
.fs-client-wall__wireframe{display:grid;place-items:center;position:relative;width:100%;height:100%;border:1px dashed #82948a;background:linear-gradient(to top right,transparent calc(50% - .5px),#d9e0da 50%,transparent calc(50% + .5px)),linear-gradient(to bottom right,transparent calc(50% - .5px),#d9e0da 50%,transparent calc(50% + .5px));}
.fs-client-wall__wireframe span{position:relative;background:#fff;padding:6px;text-align:center;font:500 16px/1.3 var(--fs-font-body,Arial,sans-serif);}
.fs-client-wall__controls{display:contents;}
.fs-client-wall__controls[hidden]{display:none;}
.fs-client-wall--strip.is-enhanced{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;align-items:center;}
.fs-client-wall--strip.is-enhanced .fs-client-wall__list{grid-column:2;grid-row:1;}
.fs-client-wall .fs-client-wall__controls button{display:grid;place-items:center;background:transparent;color:inherit;border:0;border-radius:3px;width:44px;min-height:44px;padding:8px;cursor:pointer;opacity:.6;box-shadow:none;}
.fs-client-wall .fs-client-wall__controls button:hover{opacity:1;background:rgb(40 79 62 / .06);}
.fs-client-wall__controls button svg{display:block;width:12px;height:16px;fill:currentColor;}
.fs-client-wall__controls [data-client-prev]{grid-column:1;grid-row:1;}
.fs-client-wall__controls [data-client-next]{grid-column:3;grid-row:1;}
.fs-client-wall .fs-client-wall__controls [data-client-toggle]{grid-column:3;grid-row:2;min-height:32px;}
.fs-client-wall__controls [data-client-toggle] svg{width:10px;height:12px;}
.fs-client-wall__controls [data-client-toggle][data-playing="true"] .fs-client-icon-play,.fs-client-wall__controls [data-client-toggle][data-playing="false"] .fs-client-icon-pause{display:none;}
.fs-client-wall__controls button:disabled{opacity:.2;cursor:default;}
.fs-client-wall :is(button,a,ul):focus-visible{outline:2px solid #553b14;outline-offset:3px;}
.fs-client-wall--grid .fs-client-wall__list{grid-template-columns:repeat(4,minmax(0,1fr));}
.fs-client-section{max-width:1280px;margin:0 auto;padding:48px 32px;}
:is(body.fs-type-system,.editor-styles-wrapper) .fs-client-section h2{margin:0 0 24px;font-family:var(--fs-font-heading,Georgia,serif);font-weight:600;font-size:var(--fs-type-section,2rem);line-height:1.15;}
@media(max-width:767px){.fs-client-section{padding:32px 20px}.fs-client-wall--strip .fs-client-wall__list{grid-auto-columns:calc((100% - 16px)/2)}.fs-client-wall--grid .fs-client-wall__list{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-client-wall .fs-client-wall__item{height:136px;padding:12px;}.fs-client-wall__wireframe span{font-size:14px;}}
/* Loop copies are decorative; without JS the original native list still scrolls. */
.fs-client-wall--strip.is-looping .fs-client-wall__list{scroll-snap-type:none;scrollbar-width:none;padding-bottom:0;}
.fs-client-wall--strip.is-looping .fs-client-wall__list::-webkit-scrollbar{display:none;}
.fs-client-wall .fs-client-wall__controls [data-client-toggle]{grid-row:1;align-self:end;}
.fs-client-wall__item[hidden]{display:none;}
/* Compact editorial section: native heading and client wall remain editable blocks. */
.is-style-fs-client-section{max-width:none;margin:0;padding:24px 0;}
.wp-block-group.is-style-fs-client-section>.wp-block-group__inner-container{padding:0;max-width:none;}
:is(body.fs-type-system,.editor-styles-wrapper) .is-style-fs-client-section h2{font-family:var(--fs-font-heading,Georgia,serif);font-weight:600;font-size:var(--fs-type-section,2rem);line-height:1.15;margin:0 0 20px;}
.is-style-fs-client-section .fs-client-wall__item{height:140px;padding:18px;}
.is-style-fs-client-section .fs-client-wall{margin-block:0;}
@media(max-width:767px){.is-style-fs-client-section{padding-block:16px;}.is-style-fs-client-section .fs-client-wall__item{height:112px;padding:12px;}}

/* Keep the carousel and its invitation in one reusable section, not separate flow siblings. */
.fs-client-component{min-width:0;}
.gm-interior-flow>.fs-client-component{border-top:1px solid var(--client-line,#ccd3cb);padding-top:24px;}
.gm-interior-flow:has(>.fs-client-component){row-gap:32px;}

/* Shared editorial section owns its divider and internal spacing in every placement. */
.fs-shared-client-section{border-top:1px solid var(--client-line,#ccd3cb);padding-top:24px;}
.fs-shared-client-section .fs-client-component{margin-top:24px;}
.gm-interior-flow:has(>.fs-shared-client-section){row-gap:32px;}
