/* Homepage product rows reuse Hyva's native snap slider and theme tokens. */
.hh-home-carousel .snap-track { --snap-cols:2; --snap-gap:calc(var(--spacing) * 3); min-width:0; padding-block:var(--spacing); }
.hh-home-carousel .snap-track > * { min-width:0; }
.hh-home-carousel-controls { display:flex; align-items:center; gap:calc(var(--spacing) * 3); margin-top:calc(var(--spacing) * 5); }
.hh-home-carousel-controls .snap-pager { flex:1; }
.hh-home-carousel-controls .snap-pager { min-width:0; flex-wrap:nowrap; justify-content:safe center; overflow-x:auto; scrollbar-width:none; }
.hh-home-carousel-controls .snap-marker { flex-shrink:0; }
.hh-home-carousel-nav { display:grid; place-items:center; flex-shrink:0; width:calc(var(--spacing) * 11); height:calc(var(--spacing) * 11); padding:0; border:1px solid var(--color-line); border-radius:50%; background:var(--color-primary); color:var(--color-on-primary); }
.hh-home-carousel-nav:not(:disabled):hover { background:var(--color-primary-darker); border-color:var(--color-primary-darker); color:var(--color-on-primary); }
.hh-home-carousel-nav:disabled { opacity:1; cursor:default; background:var(--color-surface); border-color:var(--color-fg-secondary); color:var(--color-fg-secondary); }
.hh-home-carousel-nav[aria-busy="true"] { cursor:wait; background:var(--color-primary); border-color:var(--color-primary); color:var(--color-on-primary); }
.hh-home-carousel :is(button,a,[data-track]):focus-visible { outline:2px solid var(--color-primary); outline-offset:var(--spacing); }
.hh-home-carousel .snap-pager { gap:0; }
.hh-home-carousel .snap-marker { position:relative; inline-size:calc(var(--spacing) * 7); block-size:calc(var(--spacing) * 11); border:0; border-radius:0; background:transparent; transition:none; }
.hh-home-carousel .snap-marker::before { content:""; position:absolute; inset-inline-start:50%; inset-block-start:50%; transform:translate(-50%,-50%); inline-size:calc(var(--spacing) * 2); block-size:calc(var(--spacing) * 2); border:1px solid var(--color-fg-secondary); border-radius:var(--radius-3xl); }
.hh-home-carousel .snap-marker[aria-current="true"]::before { inline-size:calc(var(--spacing) * 5); border-color:var(--color-primary); background:var(--color-primary); }
@media (min-width:768px) { .hh-home-carousel .snap-track { --snap-cols:3; --snap-gap:calc(var(--spacing) * 6); } }
@media (min-width:1024px) { .hh-home-carousel .snap-track { --snap-cols:4; } }
@media (max-width:767px) {
    .hh-home-carousel .hh-product { padding:calc(var(--spacing) * 2); border-radius:var(--radius-2xl); }
    .hh-home-carousel .hh-product .hh-product-fit { padding-inline:calc(var(--spacing) * 1.5); left:calc(var(--spacing) * 2); bottom:calc(var(--spacing) * 2); }
    .hh-home-carousel .product-info { padding-inline:0; padding-top:calc(var(--spacing) * 3); padding-bottom:var(--spacing); }
    .hh-home-carousel .product-info h3 { font-size:var(--text-sm); line-height:var(--text-sm--line-height); overflow-wrap:anywhere; }
    .hh-home-carousel .hh-product .hh-btn { padding-inline:calc(var(--spacing) * 3); gap:var(--spacing); font-size:var(--text-sm); }
    .hh-home-carousel .hh-product .hh-arrow { width:calc(var(--spacing) * 6); height:calc(var(--spacing) * 6); flex-shrink:0; }
    .hh-home-carousel .hh-product .pointer-events-none { inset-inline:calc(var(--spacing) * 2); top:calc(var(--spacing) * 2); }
    .hh-home-carousel .hh-product .pointer-events-none > span:first-child { padding-inline:calc(var(--spacing) * 2); gap:var(--spacing); }
}
/* Keep desktop navigation beside the cards; compact screens retain bottom controls. */
.hh-home-carousel-body { position:relative; min-width:0; }
.hh-home-carousel .snap-track { cursor:grab; }
.hh-home-carousel .snap-track.is-dragging { cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; user-select:none; }
.hh-home-carousel .snap-track.is-dragging * { cursor:grabbing; }
@media (min-width:1024px) {
    .hh-home-carousel-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hh-home-carousel-body > .snap-track { grid-column:1 / -1; grid-row:1; }
    .hh-home-carousel-body > .hh-home-carousel-controls { display:contents; }
    .hh-home-carousel-body > .hh-home-carousel-controls > .snap-pager { grid-column:1 / -1; grid-row:2; margin-top:calc(var(--spacing) * 5); }
    .hh-home-carousel-body > .hh-home-carousel-controls > .hh-home-carousel-nav { grid-row:1; align-self:center; z-index:1; }
    .hh-home-carousel-nav[data-prev] { grid-column:1; justify-self:start; transform:translateX(-50%); }
    .hh-home-carousel-nav[data-next] { grid-column:2; justify-self:end; transform:translateX(50%); }
}
