/* Shared library structure. The section frame owns outer spacing. */
.bl-offset--sm{transform:translateY(32px)}
.bl-offset--md{transform:translateY(64px)}
.bl-offset--lg{transform:translateY(96px)}
.bl-straddle{position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)}
.bl-straddle::before{content:"";grid-column:1;grid-row:1/3;background:var(--pb-text);z-index:-1}
.bl-straddle>[data-bl-band]{grid-column:1;grid-row:1}
.bl-straddle>[data-bl-card]{grid-column:1;grid-row:2/4}
.bl-inset{margin-inline:20px;border-radius:var(--pb-radius,0);overflow:clip}
.bl-seam{gap:var(--st-stack-gap,6px)}
.bl-rule{border:0;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.bl-track{display:flex;gap:var(--st-stack-gap,24px);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
.bl-track>*{flex-shrink:0;scroll-snap-align:start}
.bl-tilt--l{transform:rotate(-2deg)}
.bl-tilt--r{transform:rotate(2deg)}
.bl-head--left{text-align:left}.bl-head--center{text-align:center}.bl-head--right{text-align:right}
.bl-head{display:grid;gap:var(--st-stack-gap,24px)}
.bl-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:var(--st-stack-gap,24px)}
.bl-text-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.bl-media-slot{background:color-mix(in srgb,currentColor 8%,transparent)}
[data-bl-prev],[data-bl-next],[data-bl-pause],[data-bl-tab],[data-bl-accordion] {min-width:44px;min-height:44px}
.bl-track:focus-visible,[data-bl-prev]:focus-visible,[data-bl-next]:focus-visible,[data-bl-pause]:focus-visible,[data-bl-tab]:focus-visible,[data-bl-accordion]:focus-visible{outline:none;}
@media(max-width:767px){
 .bl-offset--sm,.bl-offset--md,.bl-offset--lg,.bl-tilt--l,.bl-tilt--r{transform:none}
 .bl-straddle{display:flex;flex-direction:column;gap:var(--st-stack-gap,24px)}
 .bl-straddle::before{display:none}
 .bl-straddle>[data-bl-band]{background:var(--pb-text)}
 .bl-straddle>[data-bl-card]{position:static;transform:none}
}
@media(prefers-reduced-motion:reduce){.bl-tilt--l,.bl-tilt--r{transform:none}.bl-track{scroll-behavior:auto}}

/* Fit grids (tools/studio-blocks/fit-grids.mjs): a repeated-item grid uses as many columns as it has items, up to the look's max, and wraps evenly (5 in 4 = 3+2). --fit-max stays on the grid itself (not its items). */
@property --fit-max{syntax:'*';inherits:false}
@supports (width:round(up,1.5px,1px)) and selector(:has(*)){
.st-section :has(> :last-child:nth-child(1)){--fit-c:round(up,1 / round(up,1 / var(--fit-max,1),1),1)}
.st-section :has(> :last-child:nth-child(2)){--fit-c:round(up,2 / round(up,2 / var(--fit-max,2),1),1)}
.st-section :has(> :last-child:nth-child(3)){--fit-c:round(up,3 / round(up,3 / var(--fit-max,3),1),1)}
.st-section :has(> :last-child:nth-child(4)){--fit-c:round(up,4 / round(up,4 / var(--fit-max,4),1),1)}
.st-section :has(> :last-child:nth-child(5)){--fit-c:round(up,5 / round(up,5 / var(--fit-max,5),1),1)}
.st-section :has(> :last-child:nth-child(6)){--fit-c:round(up,6 / round(up,6 / var(--fit-max,6),1),1)}
.st-section :has(> :last-child:nth-child(7)){--fit-c:round(up,7 / round(up,7 / var(--fit-max,7),1),1)}
.st-section :has(> :last-child:nth-child(8)){--fit-c:round(up,8 / round(up,8 / var(--fit-max,8),1),1)}
.st-section :has(> :last-child:nth-child(9)){--fit-c:round(up,9 / round(up,9 / var(--fit-max,9),1),1)}
.st-section :has(> :last-child:nth-child(10)){--fit-c:round(up,10 / round(up,10 / var(--fit-max,10),1),1)}
.st-section :has(> :last-child:nth-child(11)){--fit-c:round(up,11 / round(up,11 / var(--fit-max,11),1),1)}
.st-section :has(> :last-child:nth-child(12)){--fit-c:round(up,12 / round(up,12 / var(--fit-max,12),1),1)}
.st-section :has(> :nth-child(13)){--fit-c:var(--fit-max)}
}
