:root {
    --sb-green: #67B32E;
    --sb-green-dark: #4E9A1C;
    --sb-red: #E31C23;
    --sb-sale: #E31C23;
    --sb-dark: #16181C;
    --sb-light: #f4f7f0;
    --sb-radius: 22px;
    --sb-radius-sm: 14px;
    --sb-radius-pill: 999px;
}

html {
    scroll-behavior: auto;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

.sb-store .sb-card,
.sb-store .product-card,
.sb-store .sb-rail-item {
    content-visibility: auto;
    contain-intrinsic-size: 360px;
}

.sb-store img {
    max-width: 100%;
    height: auto;
}

@media (hover: hover) and (pointer: fine) {
    .sb-store .product-card:hover,
    .sb-store .sb-rail-item:hover {
        transform: none;
        box-shadow: 0 8px 18px rgba(22, 24, 28, .08);
    }
}

.sb-skip {
    position: absolute;
    left: 12px;
    top: -48px;
    z-index: 10000;
    background: var(--sb-green);
    color: #fff;
    padding: 10px 16px;
    border-radius: var(--sb-radius-pill);
    font-weight: 800;
}
.sb-skip:focus { top: 12px; }

.sb-store .sb-search,
.sb-store .sb-search-wrap .sb-search {
    border-radius: var(--sb-radius-pill) !important;
    border-width: 2px;
    border-color: var(--sb-green);
    overflow: hidden;
}
.sb-store .sb-search-submit {
    border-radius: 0 var(--sb-radius-pill) var(--sb-radius-pill) 0 !important;
}

.sb-store .product-card,
.sb-store .sb-card,
.sb-store .sb-rail-item,
.sb-store .sb-pdp-stage,
.sb-store .sb-panel,
.sb-store .sb-recent-card,
.sb-store .sb-promo-grid a,
.sb-store .sb-promo-row a,
.sb-store .sb-depts a,
.sb-store .sb-home .sb-depts a {
    border-radius: var(--sb-radius) !important;
}

.sb-store .btn,
.sb-store a.btn,
.sb-store button.btn {
    border-radius: var(--sb-radius-pill) !important;
    min-height: 46px;
    padding-left: 22px;
    padding-right: 22px;
    font-weight: 800;
    letter-spacing: .01em;
    box-shadow: 0 8px 18px rgba(103, 179, 46, .18);
}
.sb-store .btn-ghost {
    box-shadow: none;
    background: #fff;
    color: var(--sb-dark);
    border: 2px solid #e4eadc;
}
.sb-store .btn:hover { background: var(--sb-green-dark); }

.sb-store .sb-dept-bar > a,
.sb-store .sb-dept-item > a {
    border-radius: var(--sb-radius-pill);
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
}
.sb-store .sb-dept-drop {
    border-radius: 18px !important;
    overflow: hidden;
}

.sb-store .sb-trust,
.sb-store .sb-quote-banner,
.sb-store .sb-foot {
    border-radius: 0;
}
.sb-store .sb-trust-row > div,
.sb-store .sb-pdp-trust div,
.sb-store .sb-pdp-specs div {
    border-radius: var(--sb-radius-sm);
}

.sb-store .sb-pdp-stage {
    background: #fff;
    box-shadow: 0 10px 30px rgba(22, 24, 28, .06);
}
.sb-store .sb-pdp-thumbs > * {
    border-radius: 14px !important;
}

.whatsapp-float,
#ai-trigger {
    border-radius: var(--sb-radius-pill) !important;
    min-width: 52px;
    min-height: 52px;
}

.sb-mobile-dock {
    display: none;
}

@media (hover: none) {
    .sb-store .product-card:hover,
    .sb-store .sb-rail-item:hover {
        transform: none;
        box-shadow: none;
    }
    .sb-store a, .sb-store button, .sb-store .btn, .sb-store .sb-icon-link {
        min-height: 44px;
    }
}

@media (max-width: 900px) {
    .sb-mobile-dock {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: 10px;
        z-index: 60;
        background: #fff;
        border: 1px solid #e4eadc;
        border-radius: 28px;
        box-shadow: 0 12px 32px rgba(22, 24, 28, .16);
        padding: 6px 4px env(safe-area-inset-bottom, 6px);
    }
    .sb-mobile-dock a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 52px;
        color: #3d4638;
        text-decoration: none;
        font-size: 10px;
        font-weight: 800;
        border-radius: 20px;
    }
    .sb-mobile-dock a.is-on,
    .sb-mobile-dock a:focus {
        color: var(--sb-green-dark);
        background: #eef8e4;
    }
    .sb-mobile-dock .sb-dock-ico { font-size: 18px; line-height: 1; }
    body.sb-store {
        padding-bottom: 86px;
    }
    .whatsapp-float { bottom: 96px; }
    #ai-trigger { bottom: 96px; right: 86px; }
    .sb-sticky-atc { bottom: 78px; border-radius: 22px 22px 0 0; }
}

@media print {
    .sb-mobile-dock, .sb-skip { display: none !important; }
}
