.hsv-section { --hsv-red:var(--he-red,#dd3333); --hsv-ink:var(--he-ink,#111313); color:var(--hsv-ink); min-width:0; max-width:100%; margin:44px 0; }
.hsv-section *, .hsv-section *::before, .hsv-section *::after { box-sizing:border-box; }
.hsv-section [hidden] { display:none !important; }
.hsv-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.hsv-section-heading > div:first-child { min-width:0; }
.hsv-eyebrow { margin:0 0 9px; color:var(--hsv-red); font-size:11px; line-height:1.4; font-weight:800; letter-spacing:.13em; }
.hsv-section h2 { margin:0; font-size:clamp(25px,2.5vw,38px); line-height:1.13; letter-spacing:-.035em; }
.hsv-section-heading p:not(.hsv-eyebrow), .hsv-product-intro > p:last-child { max-width:630px; margin:12px 0 0; color:#63676b; font-size:14px; line-height:1.6; }
.hsv-scroll-controls { display:flex; flex:0 0 auto; gap:8px; }
.hsv-scroll-controls button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #d6d9da; border-radius:50%; background:#fff; color:var(--hsv-ink); font-size:22px; cursor:pointer; }
.hsv-scroll-controls button:hover:not(:disabled) { border-color:var(--hsv-ink); background:#f5f5f5; }
.hsv-scroll-controls button:disabled { opacity:.4; cursor:default; }
.hsv-rail { display:flex; gap:16px; width:100%; max-width:100%; margin:0; padding:3px 2px 12px; list-style:none; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding:2px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#c8cbcd transparent; }
.hsv-card { flex:0 0 calc((100% - 16px)/1.3); min-width:0; margin:0; scroll-snap-align:start; }
.hsv-card article { position:relative; display:flex; flex-direction:column; height:100%; overflow:hidden; border:1px solid #e4e5e7; border-radius:16px; background:#fff; box-shadow:0 4px 12px #11131308; }
.hsv-media { position:relative; width:100%; overflow:hidden; aspect-ratio:9/16; background:#ece9e5; }
.hsv-video { display:block; width:100%; max-width:100%; height:100%; aspect-ratio:9/16; object-fit:cover; }
.hsv-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.hsv-has-played .hsv-poster { display:none; }
.hsv-video-controls { position:absolute; z-index:2; inset:14px 12px auto; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.hsv-video-controls button { min-height:44px; padding:9px 13px; border:1px solid #ffffff80; border-radius:999px; color:#fff; background:#111313c9; font-size:12px; line-height:1.3; font-weight:700; cursor:pointer; }
.hsv-video-controls button:hover { background:#111313; }
.hsv-demo-label { position:absolute; left:12px; bottom:12px; padding:5px 9px; border-radius:6px; color:#fff; background:#111313c9; font-size:10px; line-height:1.4; letter-spacing:.04em; pointer-events:none; }
.hsv-card-body { display:flex; flex-direction:column; flex:1; gap:14px; padding:14px; }
.hsv-card-product { display:flex; gap:10px; align-items:start; }
.hsv-thumb { display:block; flex:0 0 56px; width:56px; height:56px; overflow:hidden; border-radius:8px; background:#f5f5f5; }
.hsv-thumb img { width:56px; height:56px; object-fit:cover; }
.hsv-card-info { min-width:0; }
.hsv-card h3 { margin:0 0 9px; font-size:12px; line-height:1.5; font-weight:650; letter-spacing:0; overflow-wrap:anywhere; }
.hsv-card h3 a { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hsv-price { font-size:17px; line-height:1.4; font-weight:750; }
.hsv-price del { font-size:12px; font-weight:400; color:#767b80; }
.hsv-price ins { text-decoration:none; }
.hsv-from { font-size:11px; font-weight:500; }
.hsv-card-action { margin-top:auto; }
.hsv-card-action .button { display:flex !important; align-items:center; justify-content:center; gap:6px; width:100%; min-height:44px; margin:0 !important; padding:10px 12px !important; border:0 !important; border-radius:8px !important; color:#fff !important; background:var(--hsv-red) !important; font-family:inherit; font-size:13px !important; line-height:1.4 !important; font-weight:750 !important; text-align:center; text-decoration:none; white-space:normal; }
.hsv-card-action .button:hover { background:var(--he-red-hover,#bc2228) !important; }
.hsv-card-action .added_to_cart { display:block; min-height:44px; padding:12px 0 0; font-size:12px; text-align:center; text-decoration:underline; text-underline-offset:3px; }
.hsv-rail-hint { margin:10px 0 0; color:#73787c; font-size:11px; line-height:1.5; }
.hsv-media-status { position:absolute; z-index:3; inset:auto 10px 12px; margin:0; padding:10px; border-radius:8px; background:#fff; color:var(--hsv-ink); font-size:12px; line-height:1.5; }
.hsv-video-fallback, .hsv-nojs a { display:block; margin:8px 14px; font-size:12px; line-height:1.6; text-decoration:underline; text-underline-offset:3px; }
.hsv-nojs { margin:0; }
.hsv-sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hsv-section :where(a,button,video,[tabindex]):focus-visible { outline:3px solid var(--hsv-red); outline-offset:3px; }
.hsv-video-controls button:focus-visible { outline-color:#fff; box-shadow:0 0 0 6px #111313; }
.hsv-product-demo { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,360px); gap:40px; align-items:center; clear:both; width:100%; padding:32px; border:1px solid #e4e5e7; border-radius:16px; background:#fafafa; }
.hsv-product-player { width:100%; max-width:360px; min-width:0; justify-self:center; }
.hsv-product-player .hsv-media { border-radius:12px; }
.hsv-demo-summary { margin:12px 0 0; color:#63676b; font-size:13px; line-height:1.65; }
.hsv-product-player .hsv-video-fallback, .hsv-product-player .hsv-nojs a { margin:10px 0; }
@media(min-width:600px) { .hsv-card { flex-basis:calc((100% - 32px)/2.3); } }
@media(min-width:950px) { .hsv-card { flex-basis:calc((100% - 32px)/3); } }
@media(min-width:1200px) { .hsv-card { flex-basis:calc((100% - 48px)/4); } }
@media(min-width:1800px) { .hsv-card { flex-basis:calc((100% - 80px)/6); } }
@media(max-width:767px) { .hsv-section { margin:32px 0; } .hsv-section-heading { gap:12px; align-items:center; margin-bottom:18px; } .hsv-section-heading p:not(.hsv-eyebrow) { font-size:12px; } .hsv-scroll-controls { gap:5px; } .hsv-scroll-controls button { width:38px; height:44px; } .hsv-product-demo { grid-template-columns:minmax(0,1fr); gap:20px; padding:20px; } .hsv-product-intro h2 { font-size:27px; } .hsv-product-player { max-width:320px; } }
@media(prefers-reduced-motion:reduce) { .hsv-rail { scroll-behavior:auto !important; } }
