/* SOCOTRY unified external product card — intentionally loaded after page styles. */
.store-body .store-product-card,
.store-body .sh-home--2026 .store-product-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 286px !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    margin-inline: auto !important;
    border: 1px solid rgba(28, 24, 20, .11) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--soc-light-text) !important;
    transform: none !important;
    transition: border-color .25s ease !important;
}
.store-body .store-product-card:hover,
.store-body .sh-home--2026 .store-product-card:hover {
    border-color: rgba(28, 24, 20, .36) !important;
    box-shadow: none !important;
    transform: none !important;
}
.store-body .store-product-card__shell {
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column !important;
    background: #fff !important;
}
.store-body .store-product-card__media-wrap,
.store-body .sh-home--2026 .store-product-card__media-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1.02 !important;
    overflow: hidden !important;
    background: #fff !important;
}
.store-body .store-product-card__media,
.store-body .store-product-card__stage {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    place-items: center !important;
    overflow: hidden !important;
    background: #fff !important;
}
.store-body .store-product-card__stage > picture { display: contents !important; }
.store-body .store-product-card__img,
.store-body .sh-home--2026 .store-product-card .store-product-card__img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    transform: none !important;
    transition: opacity .42s ease !important;
}
.store-body .store-product-card__img--primary { opacity: 1 !important; }
.store-body .store-product-card__img--hover { opacity: 0 !important; }
@media (hover:hover) and (pointer:fine) {
    .store-body .store-product-card.has-hover-image:hover .store-product-card__img--primary { opacity: 0 !important; }
    .store-body .store-product-card.has-hover-image:hover .store-product-card__img--hover { opacity: 1 !important; }
}
.store-body .store-product-card__placeholder {
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    place-items: center !important;
    color: var(--soc-light-muted) !important;
    font-size: 3.5rem !important;
}
.store-body .store-product-card__badge {
    position: absolute !important;
    z-index: 5 !important;
    top: 12px !important;
    inset-inline-start: 12px !important;
    display: inline-flex !important;
    width: auto !important;
    min-height: 25px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--soc-badge-bg) !important;
    box-shadow: none !important;
    color: var(--soc-badge-text) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .03em !important;
    white-space: nowrap !important;
}
.store-body .store-product-card__badge--new,
.store-body .store-product-card__badge--top-seller { background: var(--soc-badge-bg) !important; }
.store-body .store-product-card__badge--sold-out { background: var(--soc-light-disabled-bg) !important; }
.store-body .store-product-card__toolbar,
.store-body .sh-home--2026 .store-product-card__toolbar {
    position: absolute !important;
    z-index: 6 !important;
    top: auto !important;
    right: auto !important;
    bottom: 52px !important;
    left: 50% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    gap: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 0 !important;
    overflow: visible !important;
    opacity: 0 !important;
    transform: translate(-50%, 8px) !important;
    transition: opacity .22s ease, transform .22s ease !important;
}
[dir=rtl] .store-body .store-product-card__toolbar { right: auto !important; left: 50% !important; }
.store-body .store-product-card__tool,
.store-body .sh-home--2026 .store-product-card__tool {
    display: grid !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    place-items: center !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--soc-light-border) !important;
    border-radius: 50% !important;
    background: var(--content-secondary-bg, var(--soc-page-bg)) !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.08) !important;
    color: var(--content-secondary-text, var(--soc-light-text)) !important;
    font-size: 19px !important;
    line-height: 1 !important;
    appearance: none !important;
    overflow: visible !important;
    cursor: pointer !important;
    transform: none !important;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}
.store-body .store-product-card__toolbar > :not(.store-product-card__tool--view):not(.store-product-card__tool--wish) { display: none !important; }
.store-body .store-product-card__tool > iconify-icon {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    pointer-events: none !important;
}
.store-body .store-product-card__tool:hover {
    border-color: var(--soc-light-hover) !important;
    background: var(--soc-light-hover) !important;
    color: var(--soc-light-primary-text) !important;
    transform: none !important;
}
.store-body .store-product-card__tool:focus-visible {
    border-color: var(--soc-light-focus) !important;
    background: var(--content-secondary-bg, var(--soc-page-bg)) !important;
    color: var(--content-secondary-text, var(--soc-light-text)) !important;
    outline: 2px solid var(--soc-light-focus);
    outline-offset: 3px;
}
.store-body .store-product-card__tool::before,
.store-body .store-product-card__tool::after {
    position: absolute !important;
    z-index: 20 !important;
    left: 50% !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease !important;
}
.store-body .store-product-card__tool::before {
    content: attr(data-tooltip) !important;
    bottom: calc(100% + 9px) !important;
    width: max-content !important;
    max-width: 150px !important;
    padding: 6px 8px !important;
    border-radius: 4px !important;
    background: var(--soc-light-text) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.12) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform: translate(-50%, 4px) !important;
}
.store-body .store-product-card__tool::after {
    content: "" !important;
    bottom: calc(100% + 4px) !important;
    width: 0 !important;
    height: 0 !important;
    border: 5px solid transparent !important;
    border-top-color: var(--soc-light-text) !important;
    transform: translateX(-50%) !important;
}
@media (hover:hover) and (pointer:fine) {
    .store-body .store-product-card__tool:hover::before,
    .store-body .store-product-card__tool:hover::after,
    .store-body .store-product-card__tool:focus-visible::before,
    .store-body .store-product-card__tool:focus-visible::after {
        opacity: 1 !important;
        visibility: visible !important;
    }
    .store-body .store-product-card__tool:hover::before,
    .store-body .store-product-card__tool:focus-visible::before { transform: translate(-50%, 0) !important; }
}
.store-body .store-product-card__wish-filled { display: none; color: #fff; }
.store-body .store-product-card__tool--wish.is-wished { background: var(--soc-wishlist-active) !important; color: var(--soc-light-primary-text) !important; }
.store-body .store-product-card__tool--wish.is-wished .store-product-card__wish-outline { display: none; }
.store-body .store-product-card__tool--wish.is-wished .store-product-card__wish-filled { display: block; }
.store-body .store-product-card__purchase {
    position: absolute !important;
    z-index: 7 !important;
    inset: auto 0 0 !important;
    height: 42px !important;
    opacity: 0 !important;
    transform: translateY(100%) !important;
    transition: opacity .24s ease, transform .24s ease !important;
}
.store-body .store-product-card__purchase > a,
.store-body .store-product-card__purchase > button {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--soc-cart-bg) !important;
    color: var(--soc-cart-text) !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}
.store-body .store-product-card__purchase > button:disabled { background: var(--soc-light-disabled-bg) !important; cursor: not-allowed !important; }
.store-body .store-product-card__purchase iconify-icon { font-size: 17px !important; }
@media (hover:hover) and (pointer:fine) {
    .store-body .store-product-card:hover .store-product-card__toolbar,
    .store-body .store-product-card:focus-within .store-product-card__toolbar {
        opacity: 1 !important;
        transform: translate(-50%, 0) !important;
    }
    .store-body .store-product-card:hover .store-product-card__purchase,
    .store-body .store-product-card:focus-within .store-product-card__purchase {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}
.store-body .store-product-card__body,
.store-body .sh-home--2026 .store-product-card__body {
    display: flex !important;
    height: 142px !important;
    min-height: 142px !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 13px 12px 14px !important;
    background: #fff !important;
    text-align: center !important;
}
.store-body .store-product-card__title,
.store-body .sh-home--2026 .store-product-card__title {
    display: block !important;
    min-height: 2.8em !important;
    max-height: 2.8em !important;
    margin: 0 0 4px !important;
    overflow: hidden !important;
    color: var(--soc-light-text) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}
.store-body .store-product-card__title a { color: inherit !important; text-decoration: none !important; }
.store-body .store-product-card__excerpt,
.store-body .sh-home--2026 .store-product-card__excerpt {
    display: block !important;
    min-height: 2.9em !important;
    max-height: 2.9em !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    color: var(--soc-light-muted) !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}
.store-body .store-product-card__price,
.store-body .sh-home--2026 .store-product-card__price {
    display: flex !important;
    min-height: 22px !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: auto !important;
    color: var(--soc-light-text) !important;
    white-space: nowrap !important;
}
.store-body .store-product-card__price-current,
.store-body .sh-home--2026 .store-product-card__price-current {
    color: var(--soc-light-text) !important;
    font-size: 15.5px !important;
    font-weight: 750 !important;
}
.store-body .store-product-card__price-current,
.store-body .store-product-card__price-old { direction: ltr !important; }
.store-body .store-product-card__price-current b,
.store-body .store-product-card__price-old b { font: inherit !important; }
.store-body .store-product-card__price-current small { font-size: .74em !important; font-weight: 700 !important; }
.store-body .store-product-card__price-old {
    color: var(--soc-light-muted) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}
.store-body .store-product-card__price-old small { margin-inline: 3px !important; font-size: .82em !important; }
.store-body .store-product-card__form { display: none !important; }
.store-body .store-product-card__shine,
.store-body .store-product-card__badges,
.store-body .store-product-card__visual,
.store-body .store-product-card__pedestal,
.store-body .store-product-card__gallery,
.store-body .store-product-card__discount-bar,
.store-body .store-product-card__soldout,
.store-body .store-product-card__media-veil,
.store-body .store-product-card__identity,
.store-body .store-product-card__traits,
.store-body .store-product-card__signals,
.store-body .store-product-card__footer,
.store-body .store-product-card__mobile-cta,
.store-body .store-product-card__body-accent,
.store-body .store-product-card__amo-discover { display: none !important; }

/* Product-page product lists use the same card and a clean white canvas. */
.store-body .store-pdp-curated,
.store-body .store-pdp-fbt,
.store-body .store-pdp-fbt__slider,
.store-body .store-pdp-fbt__viewport,
.store-body .store-pdp-fbt__track,
.store-body .store-pdp-recent,
.store-body .store-pdp-recent__track { background: transparent !important; }
.store-body.store-body--stitch .store-pdp-page .store-pdp-curated .store-pdp-fbt__track,
.store-body .store-pdp-recent__track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: clamp(238px, 24vw, 286px) !important;
    gap: clamp(14px, 2vw, 24px) !important;
    width: auto !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 12px !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: thin !important;
}
.store-body.store-body--stitch .store-pdp-page .store-pdp-curated .store-pdp-fbt__track > .store-product-card,
.store-body .store-pdp-recent__track > .store-product-card {
    width: clamp(238px, 24vw, 286px) !important;
    min-width: clamp(238px, 24vw, 286px) !important;
    flex: 0 0 clamp(238px, 24vw, 286px) !important;
    scroll-snap-align: start !important;
}
.store-body .store-pdp-recent { margin: clamp(3.5rem,7vw,7rem) 0 1rem !important; padding-top: clamp(2.5rem,5vw,4.5rem) !important; border-top: 1px solid rgba(24,20,17,.12) !important; }
.store-body .store-pdp-recent__head { display:flex !important; align-items:end !important; justify-content:space-between !important; gap:1rem !important; margin-bottom:1.7rem !important; }
.store-body .store-pdp-recent__head span { color:var(--soc-gold) !important; font-size:.66rem !important; font-weight:800 !important; letter-spacing:.16em !important; }
.store-body .store-pdp-recent__head h2 { margin:.35rem 0 0 !important; color:var(--soc-light-heading) !important; font-size:clamp(1.7rem,3vw,2.6rem) !important; font-weight:500 !important; }
.store-body .store-pdp-recent__controls { display:flex !important; gap:.55rem !important; }
.store-body .store-pdp-recent__controls button { display:grid !important; width:43px !important; height:43px !important; place-items:center !important; border:1px solid var(--soc-light-border) !important; border-radius:50% !important; background:#fff !important; color:var(--soc-light-text) !important; cursor:pointer !important; }

@media (hover:none), (max-width:767.98px) {
    .store-body .store-product-card__tool::before,
    .store-body .store-product-card__tool::after { display: none !important; content: none !important; }
    .store-body .store-product-card__media-wrap,
    .store-body .sh-home--2026 .store-product-card__media-wrap { aspect-ratio: 1 / 1.04 !important; }
    .store-body .store-product-card__purchase { height: 44px !important; opacity: 1 !important; transform: none !important; }
    .store-body .store-product-card__toolbar,
    .store-body .sh-home--2026 .store-product-card__toolbar { inset: 10px auto auto 10px !important; display:flex !important; opacity:1 !important; transform:none !important; }
    [dir=rtl] .store-body .store-product-card__toolbar { right: auto !important; left: 10px !important; }
    .store-body .store-product-card__tool--view { display:none !important; }
    .store-body .store-product-card__tool { width:35px !important; height:35px !important; min-width:35px !important; box-shadow:none !important; }
    .store-body .store-product-card__body,
    .store-body .sh-home--2026 .store-product-card__body { height:140px !important; min-height:140px !important; padding:11px 9px 13px !important; }
    .store-body .store-product-card__title,
    .store-body .sh-home--2026 .store-product-card__title { font-size:13px !important; }
    .store-body .store-product-card__excerpt,
    .store-body .sh-home--2026 .store-product-card__excerpt { margin-bottom:9px !important; font-size:10.5px !important; }
    .store-body .store-product-card__price-current,
    .store-body .sh-home--2026 .store-product-card__price-current { font-size:13px !important; }
    .store-body.store-body--stitch .store-pdp-page .store-pdp-curated .store-pdp-fbt__track,
    .store-body .store-pdp-recent__track { grid-auto-columns: min(76vw, 286px) !important; }
    .store-body.store-body--stitch .store-pdp-page .store-pdp-curated .store-pdp-fbt__track > .store-product-card,
    .store-body .store-pdp-recent__track > .store-product-card {
        width: min(76vw, 286px) !important;
        min-width: min(76vw, 286px) !important;
        flex-basis: min(76vw, 286px) !important;
    }
    .store-body .store-pdp-recent__controls { display:none !important; }
}
@media (max-width:420px) {
    .store-body .store-product-card__badge { top:8px !important; inset-inline-start:8px !important; min-height:23px !important; padding:4px 7px !important; font-size:9px !important; }
    .store-body .store-product-card__purchase > a,
    .store-body .store-product-card__purchase > button { font-size:11px !important; }
}

/* Phase 1: intrinsic grids and touch cards; desktop remains the reference. */
@media (width < 62rem) {
 .store-body .store-product-grid--shop, .store-body .sh-products-grid__row { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(100%,clamp(8rem,30vw,16rem)),1fr))!important; gap:clamp(.625rem,2vw,1.25rem)!important; }
 .store-body.store-body--stitch .store-product-card { max-width:none!important; min-width:0!important; width:100%!important; height:100%!important; }
}
@media (width < 62rem), (hover:none), (pointer:coarse) {
 .store-body.store-body--stitch .store-product-card .store-product-card__shell { height:100%!important; min-width:0!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__media-wrap { display:contents!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__media { position:relative!important; inset:auto!important; width:100%!important; height:auto!important; aspect-ratio:1!important; flex:none!important; order:0!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__body { order:1!important; flex:1 0 auto!important; height:auto!important; min-height:9rem!important; padding:clamp(.5rem,2vw,.875rem)!important; gap:.3rem!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__title { width:100%!important; max-width:none!important; min-width:0!important; font-size:clamp(.875rem,1.8vw,1rem)!important; overflow-wrap:anywhere; }
 .store-body.store-body--stitch .store-product-card .store-product-card__excerpt { width:100%!important; font-size:.75rem!important; overflow-wrap:anywhere; }
 .store-body.store-body--stitch .store-product-card .store-product-card__price { width:100%!important; flex-wrap:wrap!important; white-space:normal!important; gap:.25rem .5rem!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__price-current { font-size:.9375rem!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__purchase { order:2!important; position:static!important; inset:auto!important; opacity:1!important; transform:none!important; height:auto!important; min-height:2.75rem!important; width:100%!important; flex:none!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__purchase > :is(a,button) { height:auto!important; min-height:2.75rem!important; font-size:.8125rem!important; white-space:normal!important; padding:.5rem!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__toolbar { opacity:1!important; transform:none!important; }
 .store-body.store-body--stitch .store-product-card .store-product-card__tool--wish { min-width:2.75rem!important; min-height:2.75rem!important; }
}
