/* Keep configurable category actions on the exact primary color chosen in admin. */
/* Storefront-only heading and icon colors. Admin pages keep their own palette. */
body.storefront-page .sf-section-heading h2,
body.storefront-page .site-faq-heading h2,
body.storefront-page .site-reviews-heading h2,
body.storefront-page .site-statbox-head h2,
body.storefront-page .sf-page-hero h1,
body.storefront-page .sf-page-hero h2 {
    color: var(--store-heading-color, var(--font)) !important;
}
body.storefront-page .sf-section-heading p,
body.storefront-page .site-faq-heading p,
body.storefront-page .site-reviews-heading p,
body.storefront-page .sf-section-heading .sf-eyebrow {
    color: var(--store-subheading-color, var(--muted)) !important;
}
html body.storefront-page[data-page] :is(.sf-icon, .ui-icon),
html body.storefront-page[data-page] i[class*="fa-"],
html body.storefront-page .site-navigation > a .ui-icon,
html body.storefront-page .site-header .ui-icon {
    color: var(--store-icon-color, var(--main)) !important;
}

.sf-storefront .sf-category-action,
.sf-storefront .sf-category-card--configured:hover .sf-category-action,
.sf-storefront .sf-category-card--configured:focus-visible .sf-category-action,
.sf-storefront .sf-category-card--configured:active .sf-category-action {
    background: var(--main) !important;
    background-color: var(--main) !important;
    background-image: none !important;
    border-color: var(--main) !important;
    color: var(--on-primary, #fff) !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

/* Show more recommended products at once and keep the catalog grid untouched. */
.sf-product-carousel { --sf-product-card-width: calc((min(1120px, 100vw - 48px) - 56px) / 5); }
.sf-product-carousel--looping .sf-product-carousel-viewport { scroll-snap-type: none !important; scroll-behavior: auto !important; }
.sf-product-carousel--looping .sf-product-carousel-track > [aria-hidden="true"] { pointer-events: none; }
.sf-product-price-row { gap: 7px; flex-wrap: wrap; }
.sf-product-price-row > strong { color: var(--main) !important; }
.sf-product-price-row > del { color: var(--muted); font-size: 11px; opacity: .78; }
.sf-sale-badge { position: absolute; z-index: 2; top: 11px; right: 11px; padding: 6px 9px; border-radius: 999px; background: #ef4444; color: #fff; font-size: 10px; font-weight: 800; line-height: 1; }
.sf-buy-price-current { color: var(--main); }
.sf-buy-price-original { margin-left: 4px; color: var(--muted); font-size: .84em; }
.sf-buy-discount { display: inline-flex; margin-left: 5px; padding: 2px 7px; border-radius: 999px; background: color-mix(in srgb, #ef4444 13%, var(--surface)); color: #dc2626; font-size: .72em; font-weight: 700; }
.site-reviews-list--looping { scroll-snap-type: none; scroll-behavior: auto; }
.site-reviews-list--looping > [aria-hidden="true"] { pointer-events: none; }

@media (max-width: 960px) {
    .sf-product-carousel { --sf-product-card-width: calc((100vw - 76px) / 4); }
}
@media (min-width: 561px) and (max-width: 760px) {
    .sf-product-carousel { --sf-product-card-width: calc((100vw - 56px) / 2.8); }
}
@media (max-width: 560px) {
    .sf-product-carousel { --sf-product-card-width: min(60vw, 230px); }
}
@media (prefers-reduced-motion: reduce) {
    .sf-product-carousel--looping .sf-product-carousel-viewport,
    .site-reviews-list--looping { scroll-behavior: auto; }
}

/* Keep the product card fixed in place; only the product artwork zooms. */
.sf-storefront .sf-category-card--configured {
    display: flex !important;
    flex-direction: column;
    height: auto !important;
    aspect-ratio: auto !important;
}
.sf-storefront .sf-category-card--configured .sf-category-media {
    aspect-ratio: var(--sf-category-ratio-number, 3.28) / 1;
}
.sf-storefront .sf-product-card {
    transform: none !important;
    transition: none !important;
}
.sf-storefront .sf-product-image-link {
    overflow: hidden;
    isolation: isolate;
}
.sf-storefront .sf-product-slideshow,
.sf-storefront .sf-product-slide {
    overflow: hidden;
}
.sf-storefront .sf-product-card .sf-product-image {
    transform: scale(1) !important;
    transform-origin: center;
    transition: transform .48s cubic-bezier(.2,.72,.25,1) !important;
    will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
    .sf-storefront .sf-product-card:hover .sf-product-image,
    .sf-storefront .sf-product-card:focus-within .sf-product-image {
        transform: scale(1.055) !important;
    }
}
@media (hover: none), (pointer: coarse) {
    .sf-storefront .sf-product-card:active .sf-product-image {
        transform: scale(1.035) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .sf-storefront .sf-product-card,
    .sf-storefront .sf-product-card .sf-product-image {
        transition: none !important;
        transform: none !important;
    }
}
.reward-detail-overlay{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,12,24,.58);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.reward-detail-overlay.is-open{opacity:1;visibility:visible}.reward-detail-dialog{position:relative;width:min(100%,480px);max-height:min(82vh,680px);overflow:auto;padding:30px;border:1px solid color-mix(in srgb,var(--main) 24%,var(--border));border-radius:24px;background:var(--surface);color:var(--font);box-shadow:0 28px 90px rgba(0,0,0,.32);transform:translateY(14px) scale(.97);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.reward-detail-overlay.is-open .reward-detail-dialog{transform:translateY(0) scale(1)}.reward-detail-close{position:absolute;top:13px;right:14px;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--muted);font-size:23px;cursor:pointer}.reward-detail-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:14px;border-radius:16px;background:color-mix(in srgb,var(--main) 12%,var(--surface));color:var(--main);font-size:24px}.reward-detail-eyebrow{color:var(--main);font-size:10px;font-weight:800;letter-spacing:.14em}.reward-detail-dialog h2{margin:7px 40px 6px 0;font-size:clamp(19px,4vw,25px);line-height:1.35;overflow-wrap:anywhere}.reward-detail-context{margin:0 0 18px;color:var(--muted);font-size:12px}.reward-detail-data{padding:15px;border:1px solid var(--border);border-radius:15px;background:color-mix(in srgb,var(--surface) 92%,var(--background))}.reward-detail-data small{display:block;margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:700}.reward-detail-description{margin:0;color:var(--font);font-size:13px}.reward-detail-delivery{max-height:220px;overflow:auto;margin:8px 0 0;padding:11px;border-radius:10px;background:color-mix(in srgb,var(--background) 65%,var(--surface));color:var(--font);font:inherit;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.reward-detail-delivery[hidden]{display:none}.reward-detail-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.reward-detail-actions button{min-height:40px;padding:9px 15px;border:1px solid var(--border);border-radius:11px;background:transparent;color:var(--font);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.reward-detail-actions .reward-detail-copy{border-color:var(--main);background:var(--main);color:var(--on-primary,#fff)}body.has-reward-popup{overflow:hidden}@media(max-width:560px){.reward-detail-overlay{align-items:end;padding:10px}.reward-detail-dialog{width:100%;max-height:82vh;padding:25px 20px 20px;border-radius:22px 22px 16px 16px}.reward-detail-actions button{flex:1}}
