/* PUBLIC OWNER: image carousel / editorial gallery. */
.salyssbp-image-carousel{position:relative;min-width:0;color:var(--salyss-color-text)}
.salyssbp-image-carousel-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 clamp(18px,2.4vw,34px)}
.salyssbp-image-carousel-heading h2{max-width:18ch;margin:0;font-size:clamp(28px,4vw,56px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.salyssbp-image-carousel-track{display:flex;gap:var(--salyssbp-image-carousel-gap,16px)}
.salyssbp-image-carousel-slide{flex:0 0 calc((100% - (var(--salyssbp-image-carousel-slides,4) - 1)*var(--salyssbp-image-carousel-gap,16px))/var(--salyssbp-image-carousel-slides,4));min-width:0;scroll-snap-align:start}
.salyssbp-image-carousel figure{position:relative;margin:0}
.salyssbp-image-carousel-media{position:relative;display:block;width:100%;height:var(--salyssbp-image-carousel-height,auto);overflow:hidden;border:var(--salyssbp-image-carousel-border-width,0) var(--salyssbp-image-carousel-border-style,none) var(--salyssbp-image-carousel-border-color,transparent);border-radius:var(--salyssbp-image-carousel-radius,14px);background:var(--salyss-color-soft);box-shadow:var(--salyssbp-image-carousel-shadow,none);aspect-ratio:var(--salyssbp-image-carousel-ratio,1 / 1)}
.salyssbp-image-carousel-media img{display:block;width:100%;height:100%;object-fit:var(--salyssbp-image-carousel-fit,cover);object-position:var(--salyssbp-image-carousel-position,center center);transition:transform var(--salyss-motion-slow,.55s) ease,opacity var(--salyss-motion-fast,.2s) ease}
.salyssbp-image-carousel-link{display:block;color:inherit;text-decoration:none}
.salyssbp-image-carousel figcaption{margin-top:var(--salyssbp-image-carousel-caption-space,8px);padding:0;color:var(--salyssbp-image-carousel-caption-color,var(--salyss-color-muted));font-size:var(--salyssbp-image-carousel-caption-size,14px);line-height:var(--salyssbp-image-carousel-caption-line,1.6);text-align:var(--salyssbp-image-carousel-caption-align,center);text-shadow:var(--salyssbp-image-carousel-caption-shadow,none)}
.salyssbp-caption-overlay figure{overflow:hidden;border-radius:var(--salyssbp-image-carousel-radius,14px)}
.salyssbp-caption-overlay figcaption{position:absolute;z-index:2;inset:auto 12px 12px;margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--salyss-color-contrast-text) 16%,transparent);border-radius:10px;background:color-mix(in srgb,var(--salyss-color-contrast-bg) 68%,transparent);backdrop-filter:blur(12px);color:var(--salyss-color-contrast-text);text-align:start}
.salyssbp-hover-zoom .salyssbp-image-carousel-link:hover img{transform:scale(1.035)}
.salyssbp-hover-lift .salyssbp-image-carousel-slide{transition:transform var(--salyss-motion-fast,.2s) ease}.salyssbp-hover-lift .salyssbp-image-carousel-slide:hover{transform:translateY(-6px)}
.salyssbp-hover-fade .salyssbp-image-carousel-link:hover img{opacity:.86}

/* Editorial preset: fewer, larger frames; alternating visual rhythm without owning data. */
.salyssbp-image-carousel.is-visual_preset-editorial{--salyssbp-image-carousel-gap:clamp(16px,2.2vw,34px)}
.salyssbp-image-carousel.is-visual_preset-editorial .salyssbp-image-carousel-media{border-radius:clamp(10px,1.4vw,22px);aspect-ratio:4 / 5}
.salyssbp-image-carousel.is-visual_preset-editorial .salyssbp-image-carousel-slide:nth-child(3n+2) .salyssbp-image-carousel-media{aspect-ratio:4 / 3}
.salyssbp-image-carousel.is-visual_preset-editorial figcaption{max-width:34ch;margin-top:12px;text-align:start;font-size:15px}

.salyssbp-image-carousel .salyssbp-carousel-arrow{border:1px solid var(--salyss-color-border);background:color-mix(in srgb,var(--salyssbp-carousel-arrow-bg,var(--salyss-color-surface)) 90%,transparent);color:var(--salyssbp-carousel-arrow-color,var(--salyss-color-text));backdrop-filter:blur(10px)}
.salyssbp-image-carousel .salyssbp-carousel-dots button{background:var(--salyssbp-carousel-dot,var(--salyss-color-border))}.salyssbp-image-carousel .salyssbp-carousel-dots button.is-active{background:var(--salyssbp-carousel-dot-active,var(--salyss-color-accent))}
.salyssbp-image-carousel a:focus-visible,.salyssbp-image-carousel button:focus-visible{outline:3px solid var(--salyss-color-accent);outline-offset:3px}

/* Editor-only empty frame; the public adapter returns nothing when there are no images. */
.salyssbp-image-carousel-placeholder{display:grid;min-height:260px;place-content:center;gap:8px;padding:28px;border:1px dashed var(--salyss-color-border);border-radius:var(--salyss-radius-lg,16px);background:var(--salyss-color-soft);color:var(--salyss-color-muted);text-align:center}.salyssbp-image-carousel-placeholder span{font-size:40px}.salyssbp-image-carousel-placeholder strong{color:var(--salyss-color-text)}

@media(max-width:1024px){
 .salyssbp-image-carousel-slide{flex-basis:calc((100% - (var(--salyssbp-image-carousel-slides-tablet,var(--salyssbp-image-carousel-slides,4)) - 1)*var(--salyssbp-image-carousel-gap-tablet,var(--salyssbp-image-carousel-gap,16px)))/var(--salyssbp-image-carousel-slides-tablet,var(--salyssbp-image-carousel-slides,4)))}
 .salyssbp-image-carousel-media{height:var(--salyssbp-image-carousel-height-tablet,var(--salyssbp-image-carousel-height,auto));border-radius:var(--salyssbp-image-carousel-radius-tablet,var(--salyssbp-image-carousel-radius,14px));aspect-ratio:var(--salyssbp-image-carousel-ratio-tablet,var(--salyssbp-image-carousel-ratio,1 / 1))}
}
@media(max-width:640px){
 .salyssbp-image-carousel{--salyssbp-image-carousel-gap:14px}
 .salyssbp-image-carousel-slide{flex-basis:calc((100% - (var(--salyssbp-image-carousel-slides-mobile,var(--salyssbp-image-carousel-slides,1)) - 1)*var(--salyssbp-image-carousel-gap-mobile,var(--salyssbp-image-carousel-gap,14px)))/var(--salyssbp-image-carousel-slides-mobile,var(--salyssbp-image-carousel-slides,1)))}
 .salyssbp-image-carousel-media{height:var(--salyssbp-image-carousel-height-mobile,var(--salyssbp-image-carousel-height,auto));border-radius:var(--salyssbp-image-carousel-radius-mobile,var(--salyssbp-image-carousel-radius,14px));aspect-ratio:var(--salyssbp-image-carousel-ratio-mobile,var(--salyssbp-image-carousel-ratio,1 / 1))}
 .salyssbp-image-carousel.is-visual_preset-editorial .salyssbp-image-carousel-media,.salyssbp-image-carousel.is-visual_preset-editorial .salyssbp-image-carousel-slide:nth-child(3n+2) .salyssbp-image-carousel-media{aspect-ratio:4 / 5}
}
@media(prefers-reduced-motion:reduce){.salyssbp-image-carousel-media img,.salyssbp-hover-lift .salyssbp-image-carousel-slide{transition:none}.salyssbp-hover-zoom .salyssbp-image-carousel-link:hover img,.salyssbp-hover-lift .salyssbp-image-carousel-slide:hover{transform:none}}
