/* All styles are scoped to this plugin. */
.hspc{--hspc-columns:var(--hspc-desktop,6);--hspc-gap:12px;display:flex;flex-direction:column;position:relative;width:100%;min-width:0;box-sizing:border-box;color:inherit;background:var(--hspc-container-bg,#fff);padding:var(--hspc-container-padding,0px);text-align:var(--hspc-content-align,left)}
.hspc .hspc-heading{order:0;margin:0 0 14px;padding:0;font-family:var(--hspc-heading-font,inherit);font-size:var(--hspc-heading-size,24px)!important;font-weight:var(--hspc-heading-weight,600);color:var(--hspc-heading-color,#222);text-align:var(--hspc-heading-align,var(--hspc-content-align,left))}
.hspc .hspc-controls{order:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 10px}
.hspc.hspc-top-left .hspc-controls,.hspc.hspc-bottom-left .hspc-controls{justify-content:flex-start}
.hspc.hspc-top-center .hspc-controls,.hspc.hspc-bottom-center .hspc-controls{justify-content:center}
.hspc.hspc-bottom-left .hspc-controls,.hspc.hspc-bottom-right .hspc-controls,.hspc.hspc-bottom-center .hspc-controls{order:3;margin:10px 0 0}
.hspc .hspc-controls[hidden]{display:none!important}
.hspc .hspc-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--hspc-arrow-size,26px) + 10px);min-height:calc(var(--hspc-arrow-size,26px) + 10px);padding:4px 10px;border:1px solid #ededed;border-radius:4px;background:var(--hspc-arrow-bg,#fff);color:var(--hspc-arrow-color,#222);font-family:Arial,sans-serif;font-size:var(--hspc-arrow-size,26px);line-height:1;cursor:pointer;box-shadow:none}
.hspc ul.hspc-track{order:2;display:flex!important;gap:var(--hspc-gap);align-items:stretch;list-style:none!important;margin:0!important;padding:var(--hspc-shadow-space,0px) 0!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;direction:ltr;scrollbar-width:none;-ms-overflow-style:none;box-sizing:border-box}
.hspc .hspc-track>.hspc-card{display:flex;flex-direction:column;flex:0 0 calc((100% - (var(--hspc-columns) - 1)*var(--hspc-gap))/var(--hspc-columns));width:auto;min-width:0;margin:0!important;padding:var(--hspc-card-padding,10px)!important;box-sizing:border-box;border:1px solid var(--hspc-card-border,#ededed);border-radius:var(--hspc-card-radius,4px);background:var(--hspc-card-bg,#fff);text-align:var(--hspc-content-align,left);box-shadow:var(--hspc-card-shadow,none)!important;scroll-snap-align:start;transform:none!important}
.hspc .hspc-image{display:flex;flex:none;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;box-sizing:border-box;padding:min(var(--hspc-image-padding,0px),20%);margin-bottom:10px;overflow:hidden}
.hspc .hspc-image img{display:block!important;flex:none;width:var(--hspc-image-size,100%)!important;height:var(--hspc-image-size,100%)!important;max-width:100%!important;max-height:100%!important;object-fit:contain;margin:0!important;padding:0!important;box-shadow:none!important}
.hspc .hspc-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--hspc-title-lines,2);overflow:hidden;flex:none;height:calc(var(--hspc-title-lines,2)*1.4em);min-height:calc(var(--hspc-title-lines,2)*1.4em);margin:0 0 8px!important;padding:0!important;font-family:var(--hspc-title-font,inherit);font-size:var(--hspc-title-size,14px)!important;line-height:1.4!important;font-weight:var(--hspc-title-weight,600);color:var(--hspc-title-color,#222);overflow-wrap:anywhere;text-align:var(--hspc-title-align,var(--hspc-content-align,left))}
.hspc .hspc-name a{color:inherit;text-decoration:none}
.hspc .hspc-price{display:flex;align-items:center;flex:none;min-height:var(--hspc-price-height,1.4em);margin: auto 0 10px;font-family:var(--hspc-price-font,inherit);font-size:var(--hspc-price-size,14px);color:var(--hspc-price-color,#222);line-height:1.4;text-align:var(--hspc-price-align,left)}
.hspc .hspc-price-content{width:100%;min-width:0;overflow-wrap:anywhere}
.hspc .hspc-price-content *{font-family:inherit;font-size:inherit;color:inherit;line-height:inherit}
.hspc .hspc-price:last-child{margin-bottom:0}
.hspc .hspc-price del{opacity:.65}
.hspc .hspc-price ins{text-decoration:none}
.hspc a.hspc-shop{display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--hspc-button-width,100%);max-width:100%;align-self:var(--hspc-button-align,center);min-height:max(var(--hspc-button-height,0px),var(--hspc-button-min-height,0px));margin-top:auto;padding:var(--hspc-button-padding,9px) 5px;background:var(--hspc-button-bg,#222);color:var(--hspc-button-color,#fff)!important;border-width:var(--hspc-button-border-width,1px);border-style:var(--hspc-button-border-style,solid);border-color:var(--hspc-button-border-color,#222);border-radius:var(--hspc-button-radius,3px);text-decoration:none!important;text-align:center;font-family:var(--hspc-button-font,inherit);font-size:var(--hspc-button-size,12px)!important;line-height:1.3;font-weight:600;overflow-wrap:anywhere;box-shadow:none!important;gap:var(--hspc-button-icon-gap,6px);transition:transform .18s ease;transform-origin:center}
.hspc .hspc-price+a.hspc-shop{margin-top:0}
.hspc .hspc-button-label{display:block;flex:0 1 auto;min-width:0;font:inherit;color:inherit}
.hspc a.hspc-shop:hover,.hspc a.hspc-shop:focus-visible{filter:brightness(.92);transform:scale(calc(var(--hspc-button-hover-scale,105)/100))}
.hspc :is(a,button,.hspc-track):focus-visible{outline:2px solid #2367d1;outline-offset:2px}
@media(max-width:980px){.hspc{--hspc-columns:var(--hspc-tablet,3)}}
@media(max-width:767px){.hspc{--hspc-columns:var(--hspc-mobile,2)}}
@media(prefers-reduced-motion:reduce){.hspc .hspc-track{scroll-behavior:auto}}

/* SKU occupies the same row height in every card; long SKUs wrap in full. */
.hspc .hspc-sku{display:flex;align-items:center;flex:none;min-height:var(--hspc-sku-height,1.4em);margin:0 0 8px;padding:0;font-family:var(--hspc-sku-font,inherit);font-size:var(--hspc-sku-size,12px);color:var(--hspc-sku-color,#555);line-height:1.4;text-align:var(--hspc-sku-align,left)}
.hspc .hspc-sku-content{display:block;width:100%;min-width:0;overflow-wrap:anywhere;font:inherit;color:inherit}

.hspc .hspc-track::-webkit-scrollbar{display:none;width:0;height:0}

.hspc .hspc-button-icon{display:inline-flex;flex:none;width:var(--hspc-button-icon-size,16px);height:var(--hspc-button-icon-size,16px);align-items:center;justify-content:center;line-height:1;color:inherit}
.hspc .hspc-button-icon svg,.hspc .hspc-button-icon img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:0!important;object-fit:contain;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.hspc a.hspc-shop{transition:none!important;transform:none!important}}
@media(hover:none){.hspc a.hspc-shop:hover{transform:none}}

.hspc .hspc-track>.hspc-card{position:relative}
.hspc .hspc-sale-label{position:absolute;top:6px;right:6px;z-index:1;max-width:calc(100% - 12px);box-sizing:border-box;padding:4px 7px;background:var(--hspc-sale-label-bg,#c62828);color:var(--hspc-sale-label-color,#fff);font-family:var(--hspc-sale-label-font,inherit);font-size:var(--hspc-sale-label-size,12px);font-weight:700;line-height:1.2;border-radius:var(--hspc-sale-label-radius,3px);overflow-wrap:anywhere;pointer-events:none}

.hspc .hspc-sale-label{display:inline-flex;align-items:center;gap:4px}
.hspc .hspc-sale-text{min-width:0}
.hspc .hspc-sale-icon{display:inline-flex;flex:none;width:var(--hspc-sale-label-icon-size,14px);height:var(--hspc-sale-label-icon-size,14px);align-items:center;justify-content:center}
.hspc .hspc-sale-icon svg,.hspc .hspc-sale-icon img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;margin:0!important;padding:0!important;object-fit:contain;box-shadow:none!important}

.hspc .hspc-sale-label.hspc-sale-left{left:6px;right:auto}
.hspc .hspc-sale-label.hspc-sale-center{left:50%;right:auto;transform:translateX(-50%)}
.hspc .hspc-sale-label.hspc-sale-right{left:auto;right:6px}

.hspc a.hspc-shop:hover{color:var(--hspc-button-hover-text-color,var(--hspc-button-color,#fff))!important;filter:var(--hspc-button-hover-filter,brightness(.92))}
.hspc a.hspc-shop:hover .hspc-button-icon{color:var(--hspc-button-hover-icon-color,var(--hspc-button-hover-text-color,var(--hspc-button-color,#fff)))!important}

/* 1.4.10: pause/resume control next to the arrows; same look as the arrow buttons. */
.hspc .hspc-controls .hspc-pause svg{width:calc(var(--hspc-arrow-size,26px)*.62);height:calc(var(--hspc-arrow-size,26px)*.62);fill:currentColor;display:block}
.hspc .hspc-controls .hspc-pause .hspc-icon-play,.hspc .hspc-controls .hspc-pause[data-paused="1"] .hspc-icon-pause{display:none}
.hspc .hspc-controls .hspc-pause[data-paused="1"] .hspc-icon-play{display:block}
.hspc .hspc-controls .hspc-pause[hidden]{display:none!important}
.hspc .hspc-controls button:focus-visible{outline:2px solid var(--hspc-arrow-color,#222);outline-offset:2px}

/* 1.5.1: approved price weight and button hover background. */
.hspc .hspc-price{font-weight:var(--hspc-price-weight,400)}
.hspc .hspc-price-content *{font-weight:inherit}
.hspc a.hspc-shop:hover{background:var(--hspc-button-hover-bg,var(--hspc-button-bg,#222))}
