.sf-product-card{transition:transform .22s cubic-bezier(.23,1,.32,1),box-shadow .22s cubic-bezier(.23,1,.32,1)}.sf-product-card--soft{border:1px solid var(--sf-border);border-radius:14px;box-shadow:0 1px 3px #0000000a}.sf-product-card--soft:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000017}.sf-product-card--sharp{border:1px solid var(--sf-border);border-radius:3px}.sf-product-card--sharp:hover{transform:translateY(-2px);box-shadow:0 8px 18px #00000012}.sf-product-card--minimal{box-shadow:none;border:none;border-radius:10px}.sf-product-card--minimal:hover{transform:translateY(-2px)}.sf-product-image-wrap{aspect-ratio:1;background:var(--sf-bg);width:100%;position:relative;overflow:hidden}.sf-product-image{opacity:0;transition:opacity .32s ease-out,transform .32s cubic-bezier(.23,1,.32,1)}.sf-product-image.sf-loaded{opacity:1}.sf-product-card:hover .sf-product-image{transform:scale(1.045)}.sf-buy-btn{transition:opacity .15s ease-out,transform .15s ease-out}.sf-buy-btn:hover{opacity:.88}.sf-buy-btn:active{transform:scale(.97)}.sf-dept-tab{transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out}.sf-dept-tab:hover{border-color:var(--sf-accent)}.sf-social-link{transition:color .15s ease-out,transform .15s ease-out,background-color .15s ease-out}.sf-social-link:hover{color:var(--sf-accent);transform:translateY(-1px)}.sf-social-link--prominent:hover{background:var(--sf-accent-hover);color:#fff}.sf-reveal--fade,.sf-reveal--slide,.sf-reveal--stagger{opacity:0;transition:opacity .48s cubic-bezier(.23,1,.32,1),transform .48s cubic-bezier(.23,1,.32,1)}.sf-reveal--fade{transform:translateY(6px)}.sf-reveal--slide,.sf-reveal--stagger{transform:translateY(18px)}.sf-reveal--fade.sf-reveal--in,.sf-reveal--slide.sf-reveal--in,.sf-reveal--stagger.sf-reveal--in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.sf-product-card,.sf-product-card:hover,.sf-product-image,.sf-buy-btn,.sf-dept-tab,.sf-social-link,.sf-reveal--fade,.sf-reveal--slide,.sf-reveal--stagger{transition:none!important;transform:none!important}.sf-reveal--fade,.sf-reveal--slide,.sf-reveal--stagger{opacity:1!important}}.sf-product-opener{cursor:pointer;height:100%;display:block}.sf-product-opener>article{height:100%}.sf-product-opener:focus-visible{outline:2px solid var(--sf-accent);outline-offset:3px;border-radius:12px}.sf-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);background:#0000009e;justify-content:center;align-items:center;padding:clamp(16px,5vw,48px);animation:.18s ease-out sf-overlay-in;display:flex;position:fixed;inset:0}@keyframes sf-overlay-in{0%{opacity:0}to{opacity:1}}.sf-overlay-panel{background:var(--sf-card-bg);width:min(420px,100%);max-height:100%;color:var(--sf-text);font-family:var(--sf-font);border-radius:18px;flex-direction:column;align-items:center;gap:14px;padding:16px;animation:.22s cubic-bezier(.23,1,.32,1) sf-overlay-panel-in;display:flex;position:relative;overflow-y:auto;box-shadow:0 30px 70px -20px #00000080}@keyframes sf-overlay-panel-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.sf-overlay-image-wrap{aspect-ratio:1;background:var(--sf-bg);border-radius:12px;width:100%;overflow:hidden}.sf-overlay-image{object-fit:cover;width:100%;height:100%;display:block}.sf-overlay-image--empty{background:var(--sf-bg)}.sf-overlay-title{text-align:center;color:var(--sf-text);margin:0;font-size:1rem;font-weight:500;line-height:1.35}.sf-overlay-buy{background:var(--sf-accent);color:#fff;text-align:center;border-radius:10px;width:100%;padding:13px 18px;font-size:.95rem;font-weight:600;text-decoration:none;display:block}.sf-overlay-pending{color:var(--sf-text-muted);padding:13px 0;font-size:.85rem;font-weight:600}.sf-overlay-close{z-index:1;color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:10px;right:10px}.sf-overlay-close:hover{background:#0000009e}@media (prefers-reduced-motion:reduce){.sf-overlay,.sf-overlay-panel{animation:none}}
