/* Hallmark · component: product carousel · genre: editorial · theme: existing SST
 * states: default · hover · focus · active · disabled arrows · loading image · error image · success image (ready)
 * contrast: pass · pre-emit critique: P5 H5 E4 S5 R5 V4 */
.sst-product-gallery{width:100%;max-width:30rem;min-width:0;align-self:center;justify-self:center;background:var(--sst-color-white);border:1px solid var(--sst-color-rule);border-radius:var(--sst-radius-card)}
.sst-campaign-heading{padding:var(--sst-space-6) var(--sst-space-6) var(--sst-space-5);background:var(--sst-color-soft);border-radius:var(--sst-radius-card) var(--sst-radius-card) 0 0;text-align:center}
.sst-product-eyebrow{font-size:var(--sst-text-xs);font-weight:600;letter-spacing:.09em;color:var(--sst-color-accent);margin-bottom:var(--sst-space-3)}
.sst-campaign-heading h2{max-width:19rem;margin-inline:auto;font-size:clamp(1.6rem,2.1vw,2rem);letter-spacing:-.035em;line-height:1.12}
.sst-campaign-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:var(--sst-space-5) 0 var(--sst-space-4)}
.sst-campaign-rewards>p{font-size:var(--sst-text-xs);font-weight:600;letter-spacing:.02em}
.sst-campaign-rewards>p+p{border-left:1px solid var(--sst-color-rule-strong)}
.sst-campaign-rewards strong{display:block;font-family:var(--sst-font-display);font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;letter-spacing:-.04em;color:var(--sst-color-accent);margin-top:var(--sst-space-2)}
.sst-campaign-rewards strong span{display:block;font-family:var(--sst-font-body);font-size:var(--sst-text-xs);font-weight:400;letter-spacing:0;color:var(--sst-color-muted);margin-top:var(--sst-space-1)}
.sst-campaign-explanation{font-size:var(--sst-text-sm);line-height:1.6;color:var(--sst-color-muted);max-width:24rem;margin-inline:auto}
.sst-product-track{position:relative;display:flex;gap:var(--sst-space-4);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:var(--sst-space-4);padding:var(--sst-space-2) var(--sst-space-1);scroll-padding-inline:var(--sst-space-1);scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;transition:opacity var(--sst-duration-color)}
.sst-product-track::-webkit-scrollbar{display:none}
.sst-product-track.is-changing{opacity:0}
.sst-product-track:focus-visible{outline:3px solid var(--sst-color-focus);outline-offset:4px}
.sst-product-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.sst-product-link{display:block;background:var(--sst-color-white);border:1px solid transparent;border-radius:var(--sst-radius);overflow:hidden;touch-action:pan-x pan-y pinch-zoom}
.sst-product-link:focus-visible{outline-offset:2px}
.sst-product-link.is-focus{outline:3px solid var(--sst-color-focus);outline-offset:2px}
.sst-product-link:active,.sst-product-link.is-active{border-color:var(--sst-color-accent-dark)}
.sst-product-photo{position:relative;aspect-ratio:1;max-width:17rem;margin-inline:auto;background:var(--sst-color-white);overflow:hidden}
.sst-product-photo img{width:100%;height:100%;object-fit:contain}
.sst-product-image-status{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:var(--sst-space-6);font-size:var(--sst-text-sm);color:var(--sst-color-muted);background:var(--sst-color-paper)}
.sst-product-slide[data-image-state=error] .sst-product-photo img{visibility:hidden}
.sst-product-slide[data-image-state=error] .sst-product-photo{border-bottom:1px solid var(--sst-color-rule-strong)}
.sst-product-info{display:flex;align-items:center;justify-content:center;gap:var(--sst-space-2);padding:var(--sst-space-2) var(--sst-space-1)}
.sst-product-series{display:none}
.sst-product-name{display:block;font-family:var(--sst-font-body);font-weight:400;font-size:var(--sst-text-xs);line-height:1.4;overflow-wrap:anywhere;color:var(--sst-color-muted)}
.sst-product-shop{display:flex;align-items:center;font-size:var(--sst-text-xs);color:var(--sst-color-accent);white-space:nowrap}
.sst-product-shop [data-product-copy=shop]{display:none}
.sst-product-shop .sst-icon{width:.875rem;height:.875rem}
.sst-product-shop .sst-icon{transform:rotate(-45deg)}
.sst-product-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sst-space-4);padding:0 var(--sst-space-5)}
.sst-product-position{font-family:var(--sst-font-display);font-size:var(--sst-text-sm);font-variant-numeric:tabular-nums;color:var(--sst-color-muted)}
.sst-product-controls{display:flex;gap:var(--sst-space-2)}
.sst-product-rotation{min-width:3.25rem;min-height:2.75rem;background:transparent;color:var(--sst-color-muted);font-size:var(--sst-text-xs);text-decoration:underline;text-underline-offset:3px}
.sst-product-arrow{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid var(--sst-color-rule-strong);border-radius:50%;background:transparent;color:var(--sst-color-ink)}
.sst-product-arrow[data-product-prev] .sst-icon{transform:rotate(180deg)}
.sst-product-arrow:disabled{color:var(--sst-color-muted);border-color:var(--sst-color-rule);opacity:.55}
.sst-product-arrow:not(:disabled):active{background:var(--sst-color-soft);transform:translateY(1px)}
.sst-product-hint{font-size:var(--sst-text-xs);color:var(--sst-color-muted);text-align:center;margin:var(--sst-space-2) var(--sst-space-4) var(--sst-space-4)}
.sst-campaign-preview{padding:var(--sst-space-3) var(--sst-space-4);text-align:center;border-top:1px solid var(--sst-color-rule);font-size:var(--sst-text-xs);letter-spacing:.04em;color:var(--sst-color-muted)}
.sst-product-link.is-hover{border-color:var(--sst-color-accent)}
.sst-product-link.is-hover .sst-product-shop{text-decoration:underline;text-underline-offset:3px}
@media(hover:hover) and (pointer:fine){.sst-product-link:hover{border-color:var(--sst-color-accent)}.sst-product-link:hover .sst-product-shop{text-decoration:underline;text-underline-offset:3px}.sst-product-arrow:not(:disabled):hover{color:var(--sst-color-accent);border-color:var(--sst-color-accent);background:var(--sst-color-soft)}}
@media(max-width:374px){.sst-campaign-heading{padding:var(--sst-space-5) var(--sst-space-4)}.sst-product-controls{gap:var(--sst-space-1)}.sst-product-footer{padding-inline:var(--sst-space-4)}.sst-campaign-rewards>p{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){.sst-product-arrow:not(:disabled):active{transform:none}.sst-product-track{transition:none}}

/* Reference 07 composition: one campaign poster, grouped originals on a quiet stage.
 * The source WebPs are untouched. CSS only clips their outer background at display time. */
.sst-campaign-brand{display:block;width:6.5rem;height:auto;margin:0 auto var(--sst-space-4)}
.sst-product-gallery--orbit{background:var(--sst-color-soft);isolation:isolate;--sst-orbit-duration:650ms}
.sst-product-gallery--orbit .sst-campaign-heading{background:transparent;padding-bottom:var(--sst-space-3)}
.sst-product-gallery--orbit .sst-product-eyebrow{display:none}
.sst-product-gallery--orbit .sst-campaign-heading h2{max-width:none;font-size:clamp(1.625rem,2.4vw,2.25rem)}
.sst-product-gallery--orbit .sst-campaign-rewards{margin-block:var(--sst-space-4)}
.sst-product-gallery--orbit .sst-campaign-rewards>p+p{border:0}
.sst-product-gallery--orbit .sst-campaign-rewards strong{font-size:clamp(2.25rem,3.6vw,3.375rem)}
.sst-product-gallery--orbit .sst-product-track{display:block;height:clamp(12.75rem,23vw,17rem);margin-inline:var(--sst-space-3);padding:0;overflow:visible;scroll-snap-type:none;touch-action:pan-y pinch-zoom;transition:none}
.sst-product-gallery--orbit .sst-product-track::before{content:"";position:absolute;z-index:0;left:5%;right:5%;height:22%;bottom:6%;border-radius:50%;background:var(--sst-color-white);box-shadow:0 12px 0 var(--sst-color-paper),0 13px 0 var(--sst-color-rule)}
.sst-product-gallery--orbit .sst-product-slide{position:absolute;left:23%;top:4%;width:54%;height:auto;transform-origin:50% 85%;transition:transform var(--sst-orbit-duration) var(--sst-ease-out),opacity var(--sst-orbit-duration) var(--sst-ease-out);will-change:transform;scroll-snap-align:none}
.sst-product-gallery--orbit .sst-product-slide[data-position=front]{z-index:4;transform:translate(0,10%) scale(1);opacity:1}
.sst-product-gallery--orbit .sst-product-slide[data-position=left]{z-index:2;transform:translate(-53%,-11%) scale(.66);opacity:1}
.sst-product-gallery--orbit .sst-product-slide[data-position=right]{z-index:2;transform:translate(53%,-11%) scale(.66);opacity:1}
.sst-product-gallery--orbit .sst-product-slide[data-position=back]{z-index:1;transform:translate(0,-24%) scale(.45);opacity:0;pointer-events:none}
.sst-product-gallery--orbit .sst-product-link{background:transparent;border:0;overflow:visible;touch-action:pan-y pinch-zoom;pointer-events:none}
.sst-product-gallery--orbit .sst-product-link:focus-visible{outline-offset:0}
.sst-product-gallery--orbit .sst-product-photo{max-width:none;background:transparent;overflow:visible;pointer-events:auto}
.sst-product-gallery--orbit .sst-product-photo img{user-select:none;pointer-events:none}
.sst-product-gallery--orbit .sst-product-info{display:none}
.sst-product-gallery--orbit [data-product-id="6397"] .sst-product-photo{clip-path:polygon(35.8% 5.7%,65.3% 5.7%,68.5% 17%,68.5% 23.4%,77.1% 23.4%,77.1% 53.9%,87.3% 81.1%,86% 93.8%,15% 93.8%,13% 81.1%,23% 54.1%,23.2% 23.4%,31.7% 23.4%,31.7% 16.8%)}
.sst-product-gallery--orbit [data-product-id="4129"] .sst-product-photo{clip-path:polygon(42.6% 6%,76.8% 8.8%,76.8% 76.8%,57.9% 93.9%,23.4% 85.9%,23.4% 19.7%)}
.sst-product-gallery--orbit [data-product-id="3369"] .sst-product-photo{clip-path:polygon(37% 6.5%,63.7% 6.5%,65% 8.5%,68.3% 17%,68.3% 23.3%,77% 23.3%,77% 54%,87% 80.8%,85.4% 93.4%,15% 93.4%,13% 80.8%,23.3% 54%,23.3% 23.3%,31.9% 23.3%,31.9% 16.7%,36% 8.5%)}
.sst-product-gallery--orbit [data-product-id="3367"] .sst-product-photo{clip-path:polygon(37% 8%,62.8% 8%,67.6% 17.5%,67.6% 24.4%,75.8% 24.4%,75.8% 54.5%,85.4% 79.5%,83.9% 91.6%,16.2% 91.6%,14.3% 79.5%,24.2% 54.5%,24.2% 24.4%,32.5% 24.4%,32.5% 17.2%)}
.sst-product-gallery--orbit .sst-product-slide[data-image-state=error] .sst-product-photo,.sst-product-gallery--orbit .sst-product-slide[data-image-state=loading] .sst-product-photo{clip-path:none}
.sst-product-gallery--orbit .sst-product-image-status{border-radius:var(--sst-radius);padding:var(--sst-space-3);font-size:var(--sst-text-xs);line-height:1.4}
.sst-product-current{text-align:center;min-height:1.65em;font-size:var(--sst-text-xs);color:var(--sst-color-muted);margin:var(--sst-space-2) var(--sst-space-4)}
.sst-product-gallery--orbit .sst-product-footer{padding-top:var(--sst-space-1)}
.sst-product-gallery--orbit .sst-campaign-preview{font-size:.6875rem;border-color:var(--sst-color-rule);padding-block:var(--sst-space-3)}
@media(hover:hover) and (pointer:fine){.sst-product-gallery--orbit .sst-product-link:hover{filter:brightness(1.04)}}
@media(max-width:374px){.sst-product-gallery--orbit .sst-product-track{height:11.5rem}.sst-product-gallery--orbit .sst-campaign-heading{padding-bottom:var(--sst-space-2)}}
@media(prefers-reduced-motion:reduce){.sst-product-gallery--orbit .sst-product-slide{transition:none}}
