/* REF7 homepage tracks only. Product card contents and handlers stay with the theme. */
.sfh-home .sfhc-shell { position:relative; min-width:0; margin-bottom:12px; }
.sfh-home .sfhc-shell:hover,.sfh-home .sfhc-shell:focus-within { z-index:3; }
.sfh-home .sfhc-controls { position:absolute; left:-12px; right:-12px; top:50%; transform:translateY(-50%); z-index:4; display:flex; align-items:center; justify-content:space-between; gap:8px; pointer-events:none; }
.sfh-home .sfhc-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sfh-home .sfhc-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; border:1px solid var(--sfh-line,#e8e5ee); border-radius:50%; background:#fff; color:var(--sfh-accent,#9005b4); box-shadow:0 2px 10px #25143212; font:inherit; font-size:24px; line-height:1; cursor:pointer; pointer-events:auto; }
.sfh-home .sfhc-button:hover:not(:disabled) { background:var(--sfh-soft,#f8f5fb); border-color:var(--sfh-accent,#9005b4); }
.sfh-home .sfhc-button:disabled { opacity:.35; cursor:default; }
.sfh-home .sfhc-button:focus-visible,.sfh-home .sfhc-viewport:focus-visible { outline:3px solid var(--sfh-accent,#9005b4); outline-offset:3px; }
/* `clip` on x does not turn visible y into an auto scroller: native overlays
   can extend below the viewport, and there is no hidden vertical scrollbar. */
.sfh-home .sfhc-viewport { --sfhc-gap:12px; --sfhc-visible:5; width:100%; min-width:0; position:relative; overflow-x:clip; overflow-y:visible; }
.sfh-home .sfhc-track { display:flex!important; flex-flow:row nowrap!important; align-items:stretch; gap:var(--sfhc-gap)!important; width:100%!important; max-width:none!important; margin:0!important; padding:2px 0!important; overflow:visible!important; box-sizing:border-box; scroll-snap-type:none; transform:translate3d(0,0,0); transition:transform .28s ease; }
.sfh-home .sfhc-track > .sfhc-slide { flex:0 0 calc((100% - (var(--sfhc-visible) - 1)*var(--sfhc-gap))/var(--sfhc-visible))!important; width:calc((100% - (var(--sfhc-visible) - 1)*var(--sfhc-gap))/var(--sfhc-visible))!important; max-width:none!important; min-width:0!important; margin:0!important; box-sizing:border-box; }
.sfh-home .sfhc-products .sfhc-viewport { --sfhc-visible:6; --sfhc-rows:2; }
.sfh-home .sfhc-products .sfhc-track { display:grid!important; grid-auto-columns:calc((100% - (var(--sfhc-visible) - 1)*var(--sfhc-gap))/var(--sfhc-visible)); grid-template-rows:repeat(2,auto); }
.sfh-home .sfhc-products .sfhc-track > .sfhc-slide { width:100%!important; grid-column:var(--sfhc-column); grid-row:var(--sfhc-row); }
/* The native catalogue uses fixed 380/420/440px cards and 200/240/260px
   photos. Six narrower columns need content-height cards and square media.
   This presentation layer never replaces native forms, nodes or gallery state. */
.sfh-home .sfhc-products .sfhc-track { align-items:start; }
.sfh-home .sfhc-products .sfhc-track > .sfhc-slide { height:auto!important; min-height:0; padding:0; }
.sfh-home .sfhc-products .products__item { height:auto!important; min-height:0; margin:0; }
.sfh-home .sfhc-products .products__item-overlay,
.sfh-home .sfhc-products .products__item:hover .products__item-overlay { position:relative; left:0; top:0; width:100%; height:auto!important; min-height:0; padding:15px 15px 12px; }
.sfh-home .sfhc-products .products__item-gallery { width:100%!important; min-width:0; height:auto; min-height:0; aspect-ratio:1; margin:0 0 10px!important; padding:0!important; }
.sfh-home .sfhc-products .products__item-image { position:relative; min-width:0; height:100%; min-height:0; padding:0; }
.sfh-home .sfhc-products .products__item-image img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
.sfh-home .sfhc-products .products__item-pagination { padding:0; }
/* Keep native purchase actions visible, so hover cannot change either row's
   height. Server-side availability and explicit hidden/disabled controls remain. */
.sfh-home .sfhc-products .products__item-buy,
.sfh-home .sfhc-products .products__item-cutting,
.sfh-home .sfhc-products .products__item-fullprice { display:block; }
/* Native Wantcut hides populated progress on fine-pointer desktops until hover.
   Keep its real content visible alongside the purchase controls on the homepage;
   empty aria-hidden placeholders below remain hidden. No plugin state changes. */
.sfh-home .sfhc-products .wc-card-progress[data-wc-card-progress] { visibility:visible; }
.sfh-home .sfhc-products .wc-card-progress--placeholder[aria-hidden="true"]:empty { display:none; min-height:0; }
.sfh-home .sfhc-track.sfh-video-grid > .sfhc-slide,.sfh-home .sfhc-track.sfh-ideas-grid > .sfhc-slide { height:auto; }
.sfh-home .sfhc-track.sfh-ideas-grid > .sfh-idea-cta { grid-column:auto; grid-row:auto; }
.sfh-home .sfhc-track.sfh-ideas-grid > .sfh-idea { display:flex; flex-direction:column; }
.sfh-home .sfhc-track.sfh-ideas-grid > .sfh-idea img { flex:none; }
.sfh-home .sfhc-shell.sfhc-dragging .sfhc-track { transition:none; user-select:none; }
.sfh-home .sfhc-shell.sfhc-dragging { cursor:grabbing; }
.sfh-home .sfhc-shell.sfhc-dragging a { cursor:grabbing; }
.sfh-home .sfhc-shell [hidden] { display:none!important; }
@media(min-width:992px) { .sfh-home .sfh-product-panel > .home__products > .container-fluid { width:calc(100% - 56px); max-width:1600px; margin-left:auto; margin-right:auto; padding-left:0; padding-right:0; box-sizing:border-box; } }
@media(max-width:1023px) { .sfh-home .sfhc-viewport { --sfhc-visible:3; } }
@media(max-width:1199px) { .sfh-home .sfhc-products .sfhc-viewport { --sfhc-visible:3; } }
@media(max-width:639px) { .sfh-home .sfhc-viewport,.sfh-home .sfhc-products .sfhc-viewport { --sfhc-visible:1.2; --sfhc-rows:1; --sfhc-gap:10px; order:1; } .sfh-home .sfhc-products .sfhc-track { display:flex!important; } .sfh-home .sfhc-products .sfhc-track > .sfhc-slide { width:calc((100% - (var(--sfhc-visible) - 1)*var(--sfhc-gap))/var(--sfhc-visible))!important; } .sfh-home .sfhc-shell { display:flex; flex-direction:column; } .sfh-home .sfhc-controls { position:static; transform:none; order:2; margin-top:8px; justify-content:flex-end; } }
@media(prefers-reduced-motion:reduce) { .sfh-home .sfhc-track { transition:none; } }
