/* ==========================================================================
   PUBLIC OWNER DOMAIN: VISUAL BANNER / EDITORIAL MOSAIC
   ========================================================================== */
.salyssbp-banner-grid{position:relative;display:block;min-width:0}
.salyssbp-banner-grid-inner{display:grid;grid-template-columns:repeat(var(--salyssbp-banner-columns,3),minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:minmax(var(--salyssbp-banner-height,280px),auto);gap:var(--salyssbp-banner-gap,18px)}
.salyssbp-banner-card{position:relative;isolation:isolate;display:flex;min-width:0;min-height:var(--salyssbp-banner-height,280px);overflow:hidden;padding:var(--salyssbp-banner-padding,clamp(24px,3vw,38px));border-radius:var(--salyssbp-banner-radius,var(--salyss-radius-lg));box-shadow:var(--salyssbp-banner-shadow,none);color:var(--salyss-color-contrast-text);text-decoration:none;background:var(--salyss-color-contrast-bg);grid-column:span var(--salyssbp-banner-span-columns,1);grid-row:span var(--salyssbp-banner-span-rows,1)}
.salyssbp-banner-card::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--salyssbp-banner-image-desktop,linear-gradient(135deg,var(--salyss-color-contrast-surface),var(--salyss-color-contrast-bg)));background-size:var(--salyssbp-banner-fit,cover);background-position:var(--salyssbp-banner-position,center center);background-repeat:no-repeat;transition:transform var(--salyss-motion-slow) var(--salyss-ease-emphasized)}
.salyssbp-banner-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--salyssbp-banner-item-overlay,color-mix(in srgb,var(--salyss-color-contrast-bg) 68%,transparent)) 40%,transparent),var(--salyssbp-banner-item-overlay,color-mix(in srgb,var(--salyss-color-contrast-bg) 68%,transparent)))}
.salyssbp-banner-card:hover::before{transform:scale(var(--salyssbp-banner-hover-scale,1.04))}.salyssbp-banner-card:focus-visible{outline:3px solid color-mix(in srgb,var(--salyss-color-brand) 52%,transparent);outline-offset:4px}
.salyssbp-banner-content{display:flex;max-width:650px;flex-direction:column;align-items:flex-start}.salyssbp-banner-position-start-start{align-items:flex-start;justify-content:flex-start}.salyssbp-banner-position-start-center{align-items:flex-start;justify-content:center;text-align:center}.salyssbp-banner-position-start-center .salyssbp-banner-content,.salyssbp-banner-position-center-center .salyssbp-banner-content,.salyssbp-banner-position-end-center .salyssbp-banner-content{align-items:center;margin-inline:auto}.salyssbp-banner-position-center-start{align-items:center;justify-content:flex-start}.salyssbp-banner-position-center-center{align-items:center;justify-content:center;text-align:center}.salyssbp-banner-position-end-start{align-items:flex-end;justify-content:flex-start}.salyssbp-banner-position-end-center{align-items:flex-end;justify-content:center;text-align:center}
.salyssbp-banner-eyebrow{margin-bottom:10px;color:var(--salyssbp-banner-eyebrow,var(--salyss-color-contrast-muted));font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.salyssbp-banner-card h3{max-width:16ch;margin:0;color:var(--salyssbp-banner-title,var(--salyss-color-contrast-text));font-size:clamp(26px,3vw,var(--salyssbp-banner-title-size,40px));line-height:1.1;letter-spacing:-.025em}.salyssbp-banner-card p{max-width:50ch;margin:12px 0 0;color:var(--salyssbp-banner-text,var(--salyss-color-contrast-muted));font-size:var(--salyssbp-banner-text-size,15px);line-height:1.8}.salyssbp-banner-button{display:inline-flex;min-height:42px;align-items:center;gap:9px;margin-top:20px;padding:9px 15px;border:1px solid color-mix(in srgb,var(--salyss-color-contrast-text) 22%,transparent);border-radius:999px;background:var(--salyssbp-banner-button-bg,color-mix(in srgb,var(--salyss-color-contrast-text) 14%,transparent));color:var(--salyssbp-banner-button-color,var(--salyss-color-contrast-text));font-size:var(--salyssbp-banner-button-size,14px);font-weight:800;backdrop-filter:blur(8px)}.salyssbp-banner-button b{transition:transform var(--salyss-motion-fast) ease}[dir="rtl"] .salyssbp-banner-card:hover .salyssbp-banner-button b{transform:translateX(-4px)}
/* Mosaic gives the editor precise spans; first items receive useful defaults when spans are 1. */
.salyssbp-banner-layout-mosaic .salyssbp-banner-card:first-child,.salyssbp-banner-grid.is-visual_preset-mosaic .salyssbp-banner-card:first-child{grid-column:span min(2,var(--salyssbp-banner-columns,3));grid-row:span 2;min-height:calc(var(--salyssbp-banner-height,280px)*2 + var(--salyssbp-banner-gap,18px))}.salyssbp-banner-layout-mosaic .salyssbp-banner-card:first-child h3,.salyssbp-banner-grid.is-visual_preset-mosaic .salyssbp-banner-card:first-child h3{font-size:clamp(38px,5vw,68px)}
/* Editorial intentionally creates a lead image and supporting visual stories. */
.salyssbp-banner-layout-editorial .salyssbp-banner-grid-inner,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-grid-inner{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(220px,auto)}.salyssbp-banner-layout-editorial .salyssbp-banner-card,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card{grid-column:span 4;grid-row:auto;min-height:340px}.salyssbp-banner-layout-editorial .salyssbp-banner-card:first-child,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:first-child{grid-column:span 7;grid-row:span 2;min-height:700px}.salyssbp-banner-layout-editorial .salyssbp-banner-card:nth-child(2),.salyssbp-banner-layout-editorial .salyssbp-banner-card:nth-child(3),.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:nth-child(2),.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:nth-child(3){grid-column:span 5}.salyssbp-banner-layout-editorial .salyssbp-banner-card:first-child h3,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:first-child h3{font-size:clamp(42px,5.5vw,76px)}
.salyssbp-banner-layout-carousel .salyssbp-carousel-viewport{overflow:auto hidden;scroll-snap-type:inline mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.salyssbp-banner-layout-carousel .salyssbp-carousel-viewport::-webkit-scrollbar{display:none}.salyssbp-banner-carousel-track{display:flex;gap:var(--salyssbp-banner-gap,18px)}.salyssbp-banner-layout-carousel .salyssbp-banner-card{flex:0 0 calc((100% - (var(--salyssbp-banner-columns,3) - 1)*var(--salyssbp-banner-gap,18px))/var(--salyssbp-banner-columns,3));scroll-snap-align:start}.salyssbp-banner-empty{grid-column:1/-1;display:grid;min-height:220px;place-items:center;border:1px dashed var(--salyss-color-border);border-radius:var(--salyss-radius-lg);color:var(--salyss-color-text-muted)}
.salyssbp-banner-grid .salyssbp-carousel-arrow{position:absolute;z-index:5;top:50%;display:grid;width:44px;height:44px;place-items:center;transform:translateY(-50%);border:1px solid var(--salyss-color-border);border-radius:50%;background:var(--salyss-color-surface);color:var(--salyss-color-text);font-size:26px;cursor:pointer;box-shadow:var(--salyss-shadow-md)}.salyssbp-banner-grid .salyssbp-carousel-arrow.is-prev{inset-inline-start:10px}.salyssbp-banner-grid .salyssbp-carousel-arrow.is-next{inset-inline-end:10px}.salyssbp-banner-grid .salyssbp-carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:16px}.salyssbp-banner-grid .salyssbp-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--salyss-color-border)}.salyssbp-banner-grid .salyssbp-carousel-dots button.is-active{width:24px;border-radius:999px;background:var(--salyss-color-brand)}
@media(max-width:1024px){.salyssbp-banner-grid-inner,.salyssbp-banner-layout-editorial .salyssbp-banner-grid-inner,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--salyssbp-banner-gap-tablet,var(--salyssbp-banner-gap,18px))}.salyssbp-banner-layout-editorial .salyssbp-banner-card,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card,.salyssbp-banner-layout-editorial .salyssbp-banner-card:nth-child(2),.salyssbp-banner-layout-editorial .salyssbp-banner-card:nth-child(3),.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:nth-child(2),.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:nth-child(3){grid-column:auto;min-height:340px}.salyssbp-banner-layout-editorial .salyssbp-banner-card:first-child,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:first-child{grid-column:1/-1;min-height:520px}.salyssbp-banner-layout-mosaic .salyssbp-banner-card:first-child,.salyssbp-banner-grid.is-visual_preset-mosaic .salyssbp-banner-card:first-child{grid-column:1/-1;grid-row:auto;min-height:520px}.salyssbp-banner-card::before{background-image:var(--salyssbp-banner-image-tablet,var(--salyssbp-banner-image-desktop,linear-gradient(135deg,var(--salyss-color-contrast-surface),var(--salyss-color-contrast-bg))))}.salyssbp-banner-layout-carousel .salyssbp-banner-card{flex-basis:calc((100% - var(--salyssbp-banner-gap,18px))/2)}}
@media(max-width:767px){.salyssbp-banner-grid-inner,.salyssbp-banner-layout-editorial .salyssbp-banner-grid-inner,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-grid-inner{grid-template-columns:1fr;gap:var(--salyssbp-banner-gap-mobile,14px)}.salyssbp-banner-card,.salyssbp-banner-layout-mosaic .salyssbp-banner-card:first-child,.salyssbp-banner-grid.is-visual_preset-mosaic .salyssbp-banner-card:first-child,.salyssbp-banner-layout-editorial .salyssbp-banner-card:first-child,.salyssbp-banner-grid.is-visual_preset-editorial .salyssbp-banner-card:first-child{grid-column:auto;grid-row:auto;min-height:var(--salyssbp-banner-height-mobile,380px);padding:var(--salyssbp-banner-padding-mobile,22px);border-radius:var(--salyssbp-banner-radius-mobile,var(--salyss-radius-lg))}.salyssbp-banner-card::before{background-image:var(--salyssbp-banner-image-mobile,var(--salyssbp-banner-image-tablet,var(--salyssbp-banner-image-desktop,linear-gradient(135deg,var(--salyss-color-contrast-surface),var(--salyss-color-contrast-bg)))))}.salyssbp-banner-layout-carousel .salyssbp-banner-card{flex-basis:86vw}.salyssbp-banner-grid .salyssbp-carousel-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.salyssbp-banner-card::before,.salyssbp-banner-button b{transition:none}.salyssbp-banner-card:hover::before{transform:none}}
