.sh-clean-card{width:50%;margin-bottom:28px}
.sh-clean-card .grid-product__image-mask{aspect-ratio:4/5;background:var(--colorSmallImageBg,#fafafa)}
.sh-clean-card .grid-product__image-mask>.grid__image-ratio,.sh-clean-card .grid-product__image-mask>.image-wrap{height:100%!important;padding-bottom:0!important}
.sh-clean-card .grid-product__image-mask img,.sh-clean-card .sh-card-selected-image__picture{object-fit:contain!important}
.sh-clean-card .grid-product__secondary-image{display:none}
.sh-clean-card .grid-product__meta{padding:4px 0 0;text-align:left}
.sh-clean-card .grid-product__title{font-family:inherit;font-size:14px!important;line-height:1.4;font-weight:500;letter-spacing:0!important;text-transform:none!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;hyphens:none}
.sh-clean-card .grid-product__price{font-size:14px;line-height:1.4;letter-spacing:0;margin-top:5px;font-weight:600}
.sh-clean-card .grid-product__vendor{font-size:12px;letter-spacing:0;margin-top:3px}
.sh-clean-card .grid-product__price--savings{font-size:11px;letter-spacing:0}
.sh-clean-card .sh-complete-options{margin-top:4px}
.sh-clean-card .sh-complete-options__trigger,.sh-clean-card .sh-complete-options [data-sh-complete-fallback],.sh-clean-card .sh-card-details{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:auto;min-height:44px;padding:6px 0;border:0;border-radius:0;font:inherit;font-size:12px;line-height:1.4;text-transform:none;letter-spacing:0;position:relative;z-index:2}
.sh-clean-card .sh-complete-options__trigger::before,.sh-clean-card .sh-complete-options [data-sh-complete-fallback]::before,.sh-card-details::before{content:"";width:14px;height:16px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22'%3E%3Cpath d='M3 7h14l1 13H2L3 7Zm3 0V5a4 4 0 0 1 8 0v2' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat}
.sh-card-swatches{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:0;align-items:center;margin:0 -6px;padding:0}
.sh-card-swatch{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;margin:0;padding:6px;background:none;border:0;border-radius:0;color:inherit;cursor:pointer}
.sh-card-swatch>span{display:block;width:28px;height:12px;border:1px solid #0003;background-size:cover;background-position:center}
.sh-card-swatch[aria-pressed=true]>span{outline:1px solid currentColor;outline-offset:3px}
.sh-card-swatch:disabled{cursor:default;opacity:.4}
.sh-card-swatch:disabled::after{content:"";position:absolute;width:30px;height:1px;background:currentColor;transform:rotate(-24deg)}
.sh-card-swatch:focus-visible,.sh-card-details:focus-visible,.sh-card-rating:focus-visible{outline:2px solid currentColor;outline-offset:0}
.sh-card-rating{position:relative;z-index:2;display:inline-flex;align-items:center;gap:5px;min-height:26px;font-size:12px;line-height:1.4;color:inherit;letter-spacing:0}
.sh-card-rating__stars{font-size:13px;letter-spacing:1px;color:transparent;background:linear-gradient(to right,currentColor var(--sh-rating-fill),#bbb var(--sh-rating-fill));background-image:linear-gradient(to right,#222 var(--sh-rating-fill),#bbb var(--sh-rating-fill));background-clip:text;-webkit-background-clip:text}
.sh-card-rating-source{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.sh-clean-card [hidden]{display:none!important}
.sh-card-overlay{display:none}
.no-js .sh-card-swatches{display:none}
.sh-card-preview-image{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--colorSmallImageBg,#fafafa);pointer-events:none}
.sh-card-preview-image img{width:100%;height:100%;object-fit:contain}
.sh-card-preview-image span{padding:20px;font-size:13px;line-height:1.4;text-align:center}
.sh-clean-card .sh-complete-options__dialog .sh-complete-options__add{background:#222;color:#fff;min-height:48px;font-size:14px}
.sh-clean-card .sh-complete-options__dialog .sh-complete-options__title{font-size:18px}
@media(min-width:769px){.sh-clean-card{width:33.333333%}}
@media(hover:hover) and (pointer:fine) and (min-width:769px){
 .sh-clean-card.sh-card-enhanced .sh-card-overlay{display:block;position:absolute;inset:auto 0 0;z-index:3;max-height:48%;overflow:auto;padding:10px 10px 8px;background:rgba(255,255,255,.94);color:#222;opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .15s,transform .15s}
 .sh-clean-card.sh-card-enhanced .grid__item-image-wrapper:hover .sh-card-overlay,.sh-clean-card.sh-card-enhanced:focus-within .sh-card-overlay,.sh-clean-card.sh-card-enhanced .sh-card-overlay:has([data-sh-size-feedback]:not([hidden])){opacity:1;pointer-events:auto;transform:none}
 .sh-card-overlay .sh-available-sizes{margin:0;text-align:center}
 .sh-card-overlay .sh-available-sizes__label{font-size:11px;font-weight:500;margin:0;letter-spacing:.03em}
 .sh-card-overlay .sh-available-sizes__list{justify-content:center;gap:0}
 .sh-card-overlay .sh-available-sizes__button{position:relative;border:0;background:transparent;border-radius:0;font-size:12px;min-width:44px;min-height:44px;padding:5px}
 .sh-card-overlay .sh-available-sizes__button::before{content:"";position:absolute;inset:8px 5px;border:1px solid #ddd;z-index:-1;background:#fff}
 .sh-card-overlay .sh-available-sizes__button:hover::before{border-color:#222}
 .sh-card-overlay .sh-available-sizes__button:focus-visible{outline-offset:-2px}
}
@media(prefers-reduced-motion:reduce){.sh-clean-card.sh-card-enhanced .sh-card-overlay{transition:none;transform:none}}
.sh-mobile-quick-add,.sh-mobile-sizes-heading,.sh-mobile-feedback,.sh-mobile-cart{display:none}
@media(max-width:768px),(hover:none),(pointer:coarse){
 .sh-card-enhanced .sh-mobile-quick-add{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;z-index:3;width:100%;min-height:44px;margin:0;padding:8px;background:#ececec;color:#222;border:0;border-radius:0;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
 .sh-mobile-quick-add>span{display:block;width:13px;height:14px;border:1px solid currentColor;font-size:13px;line-height:12px;position:relative}
 .sh-mobile-quick-add>span::before{content:"";position:absolute;left:3px;right:3px;top:-5px;height:5px;border:1px solid currentColor;border-bottom:0;border-radius:4px 4px 0 0}
 .sh-card-enhanced .sh-complete-options__trigger{display:none}
 .sh-card-enhanced.sh-mobile-sizes-open .sh-card-overlay{display:block;position:absolute;inset:auto 0 0;z-index:3;max-height:80%;padding:0 5px 6px;background:rgba(255,255,255,.95);color:#222;overflow:auto;overscroll-behavior:contain}
 .sh-mobile-sizes-heading{display:flex;align-items:center;justify-content:space-between;gap:3px;min-height:44px;padding-left:5px;font-size:10px;letter-spacing:.03em;text-transform:uppercase}
 .sh-mobile-sizes-heading button{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:0;padding:0;background:transparent;color:inherit;font:inherit;font-size:23px;cursor:pointer}
 .sh-card-overlay .sh-available-sizes{margin:0;text-align:center}
 .sh-card-overlay .sh-available-sizes__label:first-child{display:none}
 .sh-card-overlay .sh-available-sizes__list{justify-content:center;gap:0}
 .sh-card-overlay .sh-available-sizes__button{position:relative;isolation:isolate;min-width:44px;min-height:44px;width:auto;border:0;border-radius:0;padding:5px;background:transparent;font-size:12px}
 .sh-card-overlay .sh-available-sizes__button::before{content:"";position:absolute;inset:7px 4px;z-index:-1;border:1px solid #ccc;background:#fff}
 .sh-mobile-quick-add:focus-visible,.sh-mobile-sizes-heading button:focus-visible{outline:2px solid #222;outline-offset:-3px}
 .sh-mobile-feedback{display:block;position:relative;z-index:2;font-size:12px;line-height:1.4;margin:7px 0}
 .sh-mobile-cart{display:inline-flex;align-items:center;position:relative;z-index:2;min-height:44px;font-size:12px;text-decoration:underline}
}

.sh-hover-options__choices{display:grid;gap:6px;margin:0 0 6px}
.sh-hover-options__field{display:flex;align-items:center;gap:6px;text-align:left;font-size:11px;margin:0}
.sh-hover-options__field>span{flex:0 0 auto;max-width:40%;overflow-wrap:anywhere}
.sh-hover-options__field select{flex:1;min-width:0;width:100%;min-height:44px;margin:0;padding:6px 25px 6px 8px;border:1px solid #aaa;background-color:#fff;font:inherit;font-size:12px;line-height:1.3;text-transform:none}
.sh-hover-options__fixed{margin:0;font-size:11px;text-align:center}
.sh-hover-options__sizes{display:flex;flex-wrap:wrap;justify-content:center;gap:0}
.sh-hover-options__size{position:relative;isolation:isolate;min-width:44px;min-height:44px;padding:5px;border:0;background:transparent;font:inherit;font-size:12px;line-height:1.3;cursor:pointer}
.sh-hover-options__size::before{content:"";position:absolute;inset:7px 4px;border:1px solid #ccc;background:#fff;z-index:-1}
.sh-hover-options__size:hover::before{border-color:#222}
.sh-hover-options__size:disabled{opacity:.4;cursor:default}
.sh-hover-options__size:disabled::before{border-style:dashed}
.sh-hover-options__field select:focus-visible,.sh-hover-options__size:focus-visible{outline:2px solid #222;outline-offset:-2px}
@media(hover:hover) and (pointer:fine) and (min-width:769px){.sh-clean-card.sh-card-enhanced .sh-hover-options{max-height:70%}}


/* Shared exact-variant controls; mobile selections require a separate add. */
.sh-mobile-options,.sh-mobile-confirm,.sh-mobile-selection,.sh-mobile-piece-note{display:none}
.sh-hover-options__size[aria-pressed=true]::before{border:2px solid #222}
@media(hover:hover) and (pointer:fine) and (min-width:769px){.sh-clean-card.sh-card-enhanced .sh-hover-options[data-sh-mobile-only]{display:none}}
@media(max-width:768px),(hover:none),(pointer:coarse){
 .sh-card-enhanced .sh-mobile-quick-add{position:absolute;inset:auto 0 0;z-index:4;min-height:44px;background:rgba(75,75,75,.66);color:#fff}
 .sh-card-enhanced.sh-mobile-sizes-open .sh-hover-options{display:block;inset:auto 0 44px;max-height:calc(100% - 44px);padding:0 5px 8px;background:rgba(255,255,255,.94);opacity:1;pointer-events:auto;transform:none}
 .sh-hover-options .sh-mobile-sizes-heading{min-height:44px;padding-left:5px}
 .sh-hover-options .sh-mobile-sizes-heading>span{font-size:10px;line-height:1.3}
 .sh-hover-options .sh-available-sizes__label{display:block;margin:3px 0 0;text-align:center;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
 .sh-hover-options .sh-hover-options__field{display:none}
 .sh-hover-options__choices{gap:3px;margin-bottom:3px}
 .sh-hover-options__fixed{font-size:10px;line-height:1.4;margin:0}
 .sh-mobile-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0}
 .sh-mobile-options__label{flex-basis:100%;font-size:10px;text-align:center;text-transform:uppercase;letter-spacing:.04em}
 .sh-mobile-option{position:relative;isolation:isolate;min-width:44px;min-height:44px;max-width:100%;padding:7px;border:0;background:transparent;color:#222;font:inherit;font-size:10px;line-height:1.3;overflow-wrap:anywhere;cursor:pointer}
 .sh-mobile-option::before{content:"";position:absolute;inset:5px 2px;z-index:-1;border:1px solid #ccc;background:#fff}
 .sh-mobile-option[aria-pressed=true]::before{border:2px solid #222}
 .sh-mobile-option:disabled{opacity:.4;cursor:default}
 .sh-mobile-option:disabled::before{border-style:dashed}
 .sh-hover-options__size{min-width:44px;min-height:44px;padding:5px;font-size:12px}
 .sh-hover-options__size::before{inset:6px;border-color:#ddd}
 .sh-mobile-confirm{display:block;width:100%;min-height:44px;margin-top:5px;padding:8px 5px;border:1px solid #333;border-radius:0;background:#333;color:#fff;font:inherit;font-size:11px;line-height:1.3;cursor:pointer}
 .sh-mobile-confirm:disabled{opacity:.45;cursor:default}
 .sh-mobile-selection,.sh-mobile-piece-note{display:block;margin:4px 2px 0;text-align:center;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
 .sh-mobile-option:focus-visible,.sh-mobile-confirm:focus-visible{outline:2px solid #222;outline-offset:-2px}
 .sh-card-enhanced .sh-mobile-quick-add:focus-visible{outline-color:#fff}
}

@media(max-width:768px),(hover:none),(pointer:coarse){
 .sh-mobile-sizes-open [data-sh-complete-status],.sh-mobile-sizes-open [data-sh-complete-cart]{display:none!important}
 .sh-hover-options .sh-mobile-feedback{font-size:11px;line-height:1.35;text-align:center;margin:5px 0 0}
 .sh-hover-options .sh-mobile-cart{font-size:11px;justify-content:center;width:100%}
}
