:root {
    --store-forest: #173c35;
    --store-green: #326a58;
    --store-mint: #e7f0e9;
    --store-sand: #f7f5ef;
    --store-ink: #1d2925;
    --store-muted: #6d7973;
    --store-line: #e5e9e4;
    --store-radius: 16px
}

html {
    scroll-behavior: smooth
}

body {
    color: var(--store-ink);
    background: #fff;
    font-family: "Poppins",sans-serif
}

a {
    color: var(--store-green)
}

    a:hover {
        color: var(--store-forest)
    }

.announcement {
    background: var(--store-forest);
    color: #edf5ef;
    font-size: 1.15rem;
    letter-spacing: .025em;
    padding: 9px 0
}

    .announcement .container {
        display: flex;
        justify-content: space-between;
        gap: 16px
    }

    .announcement span {
        color: #d4e5d8
    }

.announcement-right {
    display: flex;
    align-items: center;
    gap: 18px
}

    .announcement-right a {
        color: #fff
    }

.category-nav-links {
    display: contents
}

.header-actions {
    gap: 14px
}

    .header-actions .header-action {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
        gap: 2px;
        min-width: 48px;
        color: var(--store-forest);
        font-size: 1rem;
        line-height: 1.2
    }

        .header-actions .header-action > i {
            font-size: 2rem
        }

        .header-actions .header-action > span {
            font-size: .92rem
        }

    .header-actions .action-count {
        position: absolute;
        top: -5px;
        right: 2px;
        min-width: 17px;
        height: 17px;
        padding: 0 4px;
        border-radius: 20px;
        background: #8eaa74;
        color: #fff;
        text-align: center;
        font: 600 1rem/17px Arial
    }

.footer-phone {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 1.15rem
}

.header-cart {
    position: relative
}

    .header-cart .header-action {
        border: 0;
        background: transparent;
        font-family: inherit;
        cursor: pointer
    }

.header-cart-menu {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 12px);
    width: 320px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--store-line);
    border-radius: 14px;
    box-shadow: 0 18px 48px rgba(23,60,53,.16);
    z-index: 40
}

    .header-cart-menu.is-open {
        display: block
    }

.cart-preview-empty {
    padding: 12px 4px;
    color: var(--store-muted);
    font-size: 1.15rem
}

.cart-preview-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--store-line);
    color: var(--store-ink)
}

    .cart-preview-item img {
        width: 52px;
        height: 52px;
        border-radius: 8px;
        object-fit: contain;
        background: var(--store-sand)
    }

.cart-preview-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px
}

    .cart-preview-copy strong {
        font-size: 1.1rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .cart-preview-copy small {
        font-size: 1rem;
        color: var(--store-muted)
    }

.cart-preview-total {
    display: flex;
    justify-content: space-between;
    padding: 13px 0;
    color: var(--store-forest);
    font-size: 1.2rem
}

.cart-preview-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px
}

    .cart-preview-actions a {
        flex: 1;
        text-align: center;
        padding: 9px 8px;
        border: 1px solid var(--store-forest);
        border-radius: 8px;
        font-size: 1.05rem
    }

        .cart-preview-actions a:last-child {
            background: var(--store-forest);
            color: #fff
        }

.store-header {
    background: #fff;
    border-bottom: 1px solid var(--store-line);
    position: relative;
    z-index: 20
}

.header-main {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px
}

.store-brand {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--store-forest);
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.06em;
    white-space: nowrap
}

    .store-brand:hover {
        color: var(--store-forest)
    }

.brand-mark {
    width: 39px;
    height: 39px;
    border-radius: 13px;
    background: var(--store-mint);
    display: grid;
    place-items: center;
    font-size: 2.5rem
}

.brand-accent {
    color: #8eaa74
}

.store-brand small {
    display: block;
    margin-top: 6px;
    font-size: .72rem;
    letter-spacing: .19em;
    color: var(--store-muted);
    font-weight: 500
}

.store-nav {
    display: flex;
    align-items: center;
    gap: 27px
}

    .store-nav a {
        color: #50615a;
        font-size: 1.25rem;
        font-weight: 500;
        padding: 31px 0;
        position: relative
    }

        .store-nav a:hover, .store-nav a.active {
            color: var(--store-forest)
        }

            .store-nav a.active:after {
                content: "";
                position: absolute;
                height: 2px;
                background: #8eaa74;
                bottom: 22px;
                left: 0;
                right: 0
            }

.header-actions {
    display: flex;
    align-items: center;
    gap: 17px
}

    .header-actions > a {
        color: var(--store-forest);
        font-size: 2.2rem;
        position: relative
    }

.mobile-nav-toggle {
    display: none;
    border: 0;
    background: none;
    color: var(--store-forest);
    font-size: 2.6rem
}

.search-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 17px
}

.store-search {
    height: 43px;
    width: min(580px,70%);
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--store-line);
    border-radius: 24px;
    padding: 0 7px 0 15px
}

    .store-search > i {
        color: #839188;
        font-size: 1.8rem
    }

    .store-search input {
        border: 0;
        outline: 0;
        box-shadow: none;
        flex: 1;
        min-width: 0;
        height: 100%;
        font: 400 1.2rem "Poppins",sans-serif;
        background: var(--store-surface);
    }

    .store-search button {
        border: 0;
        border-radius: 20px;
        background: var(--store-forest);
        color: white;
        font: 500 1.1rem "Poppins",sans-serif;
        padding: 8px 18px
    }

.trust-note {
    color: var(--store-muted);
    font-size: 1.15rem
}

    .trust-note i {
        font-size: 1.8rem;
        color: var(--store-green);
        vertical-align: middle;
        margin-right: 5px
    }

.store-footer {
    background: #f6f7f3;
    margin-top: 60px;
    padding: 44px 0 0;
    color: var(--store-muted)
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 42px;
    padding-bottom: 34px
}

    .footer-grid h3 {
        font-size: 1.3rem;
        color: var(--store-forest);
        font-weight: 600;
        margin: 4px 0 14px;
        letter-spacing: 0
    }

    .footer-grid > div > a:not(.store-brand) {
        display: block;
        color: var(--store-muted);
        font-size: 1.15rem;
        margin: 9px 0
    }

    .footer-grid p {
        font-size: 1.15rem;
        margin: 13px 0
    }

.footer-brand {
    font-size: 2rem
}

.footer-promise {
    border-left: 1px solid var(--store-line);
    padding: 4px 0 4px 26px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 1.1rem
}

    .footer-promise i {
        font-size: 2.2rem;
        color: #8eaa74
    }

    .footer-promise strong {
        color: var(--store-forest);
        font-size: 1.3rem
    }

.footer-bottom {
    border-top: 1px solid var(--store-line);
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.05rem
}

.store-footer a:hover {
    color: var(--store-green)
}

#scroll-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: var(--store-forest);
    color: #fff;
    font-size: 2rem;
    opacity: 0;
    visibility: hidden;
    transition: .2s;
    z-index: 30
}

    #scroll-top.is-visible {
        opacity: 1;
        visibility: visible
    }

.main {
    min-height: 50vh
}

.homepage-section {
    margin-bottom: 48px
}

    .homepage-section .heading {
        align-items: center
    }

        .homepage-section .heading .title {
            color: var(--store-forest);
            font-size: 2.5rem
        }

    .homepage-section .heading-right a {
        font-weight: 500
    }

.cat-block {
    padding: 18px 12px;
    border-radius: var(--store-radius);
    transition: transform .2s,box-shadow .2s;
    background: #fff
}

    .cat-block:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 32px rgba(23,60,53,.09)
    }

    .cat-block figure {
        background: var(--store-sand);
        border-radius: 50%;
        overflow: hidden;
        max-width: 150px;
        margin: 0 auto 12px
    }

    .cat-block img {
        width: 100%;
        aspect-ratio: 1;
        object-fit: cover
    }

.cat-block-title {
    color: var(--store-forest);
    font-size: 1.25rem;
    font-weight: 500
}

.intro-slide {
    height: clamp(250px,36vw,470px);
    border-radius: 0 0 22px 22px;
    overflow: hidden;
    background-color: var(--store-sand)
}

    .intro-slide img {
        height: 100%;
        object-fit: cover
    }

.background-blur {
    opacity: .3
}

.skeleton {
    background: linear-gradient(90deg,#eef1ed 25%,#e3e9e3 50%,#eef1ed 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.4s infinite;
    border-radius: 8px
}

.skeleton-image {
    height: 220px;
    width: 100%
}

.skeleton-text {
    height: 18px;
    width: 80%;
    margin-top: 12px
}

.category-skeleton {
    padding: 15px
}

    .category-skeleton .skeleton-image {
        height: 130px
    }

@keyframes skeleton-loading {
    to {
        background-position: -200% 0
    }
}

.home-product-card {
    height: 100%;
    margin: 8px;
    border: 1px solid var(--store-line);
    border-radius: var(--store-radius);
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(23,60,53,.035);
    transition: transform .2s,box-shadow .2s
}

    .home-product-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 28px rgba(23,60,53,.1)
    }

    .home-product-card .product-media {
        height: 220px;
        margin: 0;
        background: var(--store-sand);
        position: relative
    }

        .home-product-card .product-media > a {
            display: block;
            width: 100%;
            height: 100%
        }

        .home-product-card .product-media img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 14px
        }

.home-product-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    border-radius: 20px;
    background: var(--store-mint);
    color: var(--store-forest);
    font-size: .9rem;
    padding: 5px 10px
}

.home-product-card .product-body {
    padding: 14px 16px 16px
}

.home-product-card .product-title {
    font-size: 1.35rem;
    line-height: 1.45;
    min-height: 3.9rem;
    margin-bottom: 8px
}

    .home-product-card .product-title a {
        color: var(--store-ink)
    }

.home-product-card .product-price {
    font-size: 1.45rem;
    font-weight: 600;
    color: var(--store-forest);
    margin-bottom: 10px
}

.home-product-link {
    font-size: 1.1rem;
    font-weight: 500
}

    .home-product-link i {
        margin-left: 4px;
        transition: transform .2s
    }

    .home-product-link:hover i {
        transform: translateX(3px)
    }

.store-nav .nav-category {
    position: relative
}

    .store-nav .nav-category > a {
        display: flex;
        align-items: center;
        gap: 6px
    }

        .store-nav .nav-category > a i {
            font-size: 1.1rem
        }

.nav-submenu {
    display: none;
    position: absolute;
    top: calc(100% - 15px);
    left: -16px;
    min-width: 230px;
    max-height: 70vh;
    overflow: auto;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--store-line);
    border-radius: 12px;
    box-shadow: 0 16px 38px rgba(23,60,53,.14);
    z-index: 55
}

.nav-category:hover > .nav-submenu, .nav-category:focus-within > .nav-submenu {
    display: block
}

.store-nav .nav-submenu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 11px;
    color: var(--store-ink);
    font-size: 1.1rem;
    line-height: 1.4;
    white-space: nowrap
}

    .store-nav .nav-submenu a:hover {
        background: var(--store-mint);
        border-radius: 7px;
        color: var(--store-forest)
    }

.nav-category-nested > .nav-submenu {
    top: -8px;
    left: calc(100% - 2px)
}

.nav-subcategory {
    position: relative
}

.category-card {
    height: 100%;
    padding: 6px 4px 14px;
    border: 1px solid transparent;
    border-radius: 16px;
    text-align: center;
    transition: .2s
}

    .category-card:hover {
        border-color: var(--store-line);
        box-shadow: 0 10px 26px rgba(23,60,53,.07);
        transform: translateY(-3px)
    }

    .category-card .cat-block {
        display: block;
        padding: 8px 8px 4px
    }

        .category-card .cat-block figure {
            margin-bottom: 10px
        }

.subcategory-links {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 6px
}

    .subcategory-links a {
        font-size: 1.02rem;
        line-height: 1.35;
        color: var(--store-muted)
    }

        .subcategory-links a:hover, .subcategory-links .subcategory-more {
            color: var(--store-green);
            font-weight: 500
        }

.banner-fallback {
    display: grid;
    place-items: center;
    background: linear-gradient(120deg,#e8efe6,#f8f5eb 55%,#e4eee8)
}

.banner-fallback-copy {
    text-align: center;
    padding: 32px
}

    .banner-fallback-copy > span {
        color: var(--store-green);
        font-size: 1rem;
        letter-spacing: .2em;
        font-weight: 600
    }

    .banner-fallback-copy h2 {
        margin: 12px 0 20px;
        color: var(--store-forest);
        font-size: clamp(2.5rem,5vw,5rem)
    }

    .banner-fallback-copy a {
        font-size: 1.3rem;
        font-weight: 500
    }

@media(max-width:991px) {
    .header-main {
        min-height: 72px
    }

    .mobile-nav-toggle {
        display: block
    }

    .store-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        padding: 12px 24px 20px;
        box-shadow: 0 12px 18px rgba(20,50,42,.1);
        align-items: stretch;
        gap: 0;
        max-height: 75vh;
        overflow: auto
    }

        .store-nav.is-open {
            display: flex;
            flex-direction: column
        }

        .store-nav a {
            padding: 12px 0
        }

            .store-nav a.active:after {
                display: none
            }

        .store-nav .nav-submenu {
            display: block;
            position: static;
            max-height: none;
            overflow: visible;
            min-width: 0;
            padding: 0 0 6px 14px;
            border: 0;
            border-radius: 0;
            box-shadow: none
        }

        .store-nav .nav-category > a {
            justify-content: space-between
        }

        .store-nav .nav-submenu a {
            padding: 8px 10px
        }

    .search-row {
        padding-bottom: 13px
    }

    .footer-grid {
        grid-template-columns: repeat(2,1fr)
    }
}

@media(max-width:575px) {
    .announcement .container {
        justify-content: center;
        text-align: center
    }

        .announcement .container > span:first-child, .announcement-right > a, .trust-note {
            display: none
        }

    .header-actions {
        gap: 7px
    }

        .header-actions .header-action {
            min-width: 30px
        }

            .header-actions .header-action > span {
                display: none
            }

            .header-actions .header-action > i {
                font-size: 2.2rem
            }

    .store-brand {
        font-size: 1.9rem
    }

    .brand-mark {
        width: 34px;
        height: 34px
    }

    .search-row {
        padding-top: 0
    }

    .store-search {
        width: 100%
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 25px 18px
    }

        .footer-grid > div:first-child {
            grid-column: 1/-1
        }

    .footer-promise {
        border-left: 0;
        padding-left: 0
    }

    .footer-bottom {
        font-size: .9rem;
        gap: 10px
    }

    .intro-slide {
        height: 230px
    }

    .homepage-section .heading .title {
        font-size: 2rem
    }
}

/* Category menus expand in place so deep levels stay within the viewport. */
.store-nav .nav-category {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    column-gap: 5px;
    position: relative
}

    .store-nav .nav-category > a {
        grid-column: 1;
        grid-row: 1;
        padding: 31px 0
    }

.nav-root-chevron {
    grid-column: 2;
    grid-row: 1;
    color: var(--store-muted);
    font-size: 1rem;
    pointer-events: none
}

.store-nav .nav-category > .nav-submenu {
    display: none;
    position: absolute;
    top: calc(100% - 12px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 340px;
    max-width: calc(100vw - 32px);
    max-height: min(68vh,480px);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--store-line);
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(23,60,53,.15);
    z-index: 55
}

.store-nav .nav-category:hover > .nav-submenu, .store-nav .nav-category:focus-within > .nav-submenu {
    display: block
}

.nav-tree-item {
    min-width: 0
}

.nav-tree-row {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0
}

.store-nav .nav-tree-row > a, .store-nav .nav-tree-item > a {
    flex: 1;
    min-width: 0;
    padding: 9px 11px;
    white-space: normal;
    overflow-wrap: anywhere;
    color: var(--store-ink);
    font-size: 1.1rem;
    line-height: 1.4
}

.store-nav .nav-tree-toggle {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--store-muted);
    cursor: pointer
}

    .store-nav .nav-tree-toggle:hover, .nav-tree-branch.is-expanded > .nav-tree-row .nav-tree-toggle {
        background: var(--store-mint);
        color: var(--store-forest)
    }

.nav-tree-children {
    display: none;
    margin: 0 0 4px 13px;
    padding-left: 10px;
    border-left: 1px solid var(--store-line)
}

.nav-tree-branch.is-expanded > .nav-tree-children {
    display: block
}

.nav-tree-branch.is-expanded > .nav-tree-row .nav-tree-toggle i {
    transform: rotate(180deg)
}

.nav-tree-toggle i {
    display: inline-block;
    transition: transform .18s
}

@media(max-width:991px) {
    .store-nav .nav-category {
        display: grid;
        grid-template-columns: 1fr auto
    }

        .store-nav .nav-category > a {
            grid-column: 1;
            grid-row: 1;
            padding: 12px 0
        }

    .store-nav .nav-root-chevron {
        grid-column: 2;
        grid-row: 1
    }

    .store-nav .nav-category > .nav-submenu {
        display: block;
        grid-column: 1/-1;
        position: static;
        transform: none;
        width: auto;
        max-width: none;
        max-height: none;
        overflow: visible;
        padding: 0 0 8px 12px;
        border: 0;
        border-radius: 0;
        box-shadow: none
    }

    .store-nav .nav-tree-row > a, .store-nav .nav-tree-item > a {
        padding: 8px 10px
    }
}

@media(min-width:992px) {
    .header-main {
        gap: 18px
    }

    .store-nav {
        flex-shrink: 0;
        gap: 18px
    }

        .store-nav > a, .store-nav .nav-category > a {
            white-space: nowrap;
            flex-shrink: 0
        }

    .header-actions {
        flex-shrink: 0;
        gap: 10px
    }
}

/* Keep the homepage category row focused on the main departments. */
.category-card .subcategory-links {
    display: none
}

.category-card .cat-block-title {
    display: -webkit-box;
    min-height: 2.8rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.4
}
/* Product names follow the compact, even card rhythm of the supplied Molla reference. */
.home-product-card {
    display: flex;
    flex-direction: column
}

    .home-product-card .product-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: flex-start
    }

    .home-product-card .product-title {
        display: -webkit-box;
        height: 5.85rem;
        min-height: 5.85rem;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        line-height: 1.45
    }

    .home-product-card .product-price {
        margin-top: auto;
        padding-top: 8px
    }

    .home-product-card .home-product-link {
        margin-top: 4px
    }
    /* Clamp the link itself; the Molla base theme makes product titles block links. */
    .home-product-card .product-title {
        height: 4.2rem !important;
        min-height: 4.2rem !important;
        max-height: 4.2rem !important;
        overflow: hidden !important
    }

        .home-product-card .product-title > a {
            display: -webkit-box !important;
            height: 4.2rem;
            max-height: 4.2rem;
            overflow: hidden;
            text-overflow: ellipsis;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            line-height: 1.5
        }

.product-badge-stack {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px
}

.product-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: .9rem;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: .01em
}

    .product-badge.badge-new {
        background: #dff2ed;
        color: #17654f
    }

    .product-badge.badge-top {
        background: #e5edff;
        color: #315da8
    }

    .product-badge.badge-sale {
        background: #fff0ed;
        color: #bd4c3f
    }
/* Transparent category artwork sits cleanly inside the theme's circular tiles. */
.cat-block figure {
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 42%,#fff 0,#f8f7f2 72%,#f0eee6 100%)
}

.cat-block img {
    object-fit: contain !important;
    padding: 9px
}

.category-image-fallback {
    width: 100%;
    aspect-ratio: 1;
    display: grid !important;
    place-items: center;
    color: #77947e;
    background: radial-gradient(circle at 50% 42%,#fff 0,#edf3eb 72%,#e3ecdf 100%)
}

    .category-image-fallback .la {
        font-size: 4.2rem
    }
/* Swiper carousels: lightweight controls that fit the OneUmbrella palette. */
.intro-slider-container {
    height: auto !important
}

#bannerContainer.swiper {
    height: clamp(280px,36vw,500px);
    border-radius: 0 0 24px 24px;
    overflow: hidden;
    background: #f4f6f7
}

#bannerContainer .swiper-slide {
    height: 100%
}

#bannerContainer .intro-slide {
    height: 100%;
    border-radius: 0
}

.swiper-button-prev, .swiper-button-next {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: var(--store-forest);
    box-shadow: 0 4px 18px rgba(23,60,53,.12);
    transition: transform .2s,background .2s
}

    .swiper-button-prev:hover, .swiper-button-next:hover {
        transform: scale(1.06);
        background: #fff
    }

    .swiper-button-prev:after, .swiper-button-next:after {
        font-size: 14px;
        font-weight: 700
    }

#bannerContainer .swiper-button-prev {
    left: 24px
}

#bannerContainer .swiper-button-next {
    right: 24px
}

#bannerContainer .swiper-pagination {
    bottom: 16px
}

#bannerContainer .swiper-pagination-bullet-active, .home-product-carousel .swiper-pagination-bullet-active {
    background: var(--store-green)
}

.home-product-carousel {
    padding: 4px 2px 30px;
    overflow: hidden
}

    .home-product-carousel .swiper-slide {
        height: auto
    }

    .home-product-carousel .swiper-button-prev, .home-product-carousel .swiper-button-next {
        top: 42%;
        width: 36px;
        height: 36px
    }

    .home-product-carousel .swiper-pagination {
        bottom: 0
    }

@media(max-width:575px) {
    #bannerContainer.swiper {
        height: 250px
    }

    #bannerContainer .swiper-button-prev {
        left: 10px
    }

    #bannerContainer .swiper-button-next {
        right: 10px
    }

    .home-product-carousel {
        padding-bottom: 28px
    }
}
/* A deliberate, art-directed storefront treatment, rather than a blank carousel placeholder. */
.banner-fallback {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(28px,6vw,84px) clamp(28px,8vw,120px);
    text-align: left;
    background: linear-gradient(112deg,#e7f0e8 0%,#f7f5ee 50%,#e6eee9 100%)
}

    .banner-fallback:before, .banner-fallback:after {
        content: "";
        position: absolute;
        z-index: -1;
        border-radius: 50%;
        pointer-events: none
    }

    .banner-fallback:before {
        width: 520px;
        height: 520px;
        right: 8%;
        top: -58%;
        background: rgba(255,255,255,.45)
    }

    .banner-fallback:after {
        width: 320px;
        height: 320px;
        left: -8%;
        bottom: -62%;
        background: rgba(139,170,130,.12)
    }

.banner-fallback-copy {
    position: relative;
    z-index: 2;
    width: min(58%,650px);
    padding: 0;
    text-align: left
}

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4c7a62;
    font-size: 1.05rem;
    letter-spacing: .18em;
    font-weight: 600
}

    .hero-eyebrow i {
        font-size: 1.6rem
    }

.banner-fallback-copy h2 {
    margin: 18px 0 12px;
    color: #193d35;
    font-size: clamp(3.8rem,6vw,7.4rem);
    line-height: .99;
    letter-spacing: -.065em;
    font-weight: 600
}

    .banner-fallback-copy h2 em {
        font-style: normal;
        color: #789872
    }

.banner-fallback-copy p {
    max-width: 440px;
    margin: 0 0 22px;
    color: #64736b;
    font-size: clamp(1.35rem,1.5vw,1.7rem);
    line-height: 1.65
}

.hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 13px 20px;
    border-radius: 28px;
    background: #173c35;
    color: #fff !important;
    font-size: 1.2rem;
    font-weight: 500;
    box-shadow: 0 10px 22px rgba(23,60,53,.18);
    transition: transform .2s,box-shadow .2s
}

    .hero-cta:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 26px rgba(23,60,53,.23)
    }

.hero-note {
    margin-top: 18px;
    color: #728079;
    font-size: 1.05rem
}

    .hero-note i {
        margin-right: 5px;
        color: #789872
    }

.hero-art {
    position: relative;
    display: grid;
    place-items: center;
    width: 40%;
    height: 100%;
    min-height: 300px
}

.hero-art-orbit {
    position: absolute;
    width: min(29vw,370px);
    aspect-ratio: 1;
    border: 1px solid rgba(50,106,88,.18);
    border-radius: 50%;
    box-shadow: 0 0 0 24px rgba(255,255,255,.24),0 0 0 56px rgba(255,255,255,.16)
}

.hero-art-tile {
    position: absolute;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.75);
    box-shadow: 0 22px 60px rgba(23,60,53,.18);
    backdrop-filter: blur(8px)
}

.hero-art-main {
    width: 220px;
    height: 260px;
    gap: 18px;
    border-radius: 110px 110px 32px 32px;
    background: linear-gradient(145deg,#315f50,#173c35);
    color: #f6f3e9;
    transform: rotate(-7deg)
}

    .hero-art-main i {
        font-size: 6.5rem;
        color: #c2d2aa
    }

    .hero-art-main span {
        text-align: center;
        font-size: 1rem;
        line-height: 1.8;
        letter-spacing: .2em;
        font-weight: 600
    }

.hero-art-top, .hero-art-bottom {
    width: 76px;
    height: 76px;
    border-radius: 24px;
    background: rgba(255,255,255,.88);
    color: #55745c;
    font-size: 3.2rem
}

.hero-art-top {
    top: 12%;
    right: 10%;
    transform: rotate(9deg)
}

.hero-art-bottom {
    bottom: 10%;
    left: 5%;
    transform: rotate(-10deg)
}

.hero-art-sparkle {
    position: absolute;
    color: #9aaf7f;
    font-size: 2.8rem
}

.sparkle-one {
    top: 17%;
    left: 14%
}

.sparkle-two {
    right: 4%;
    bottom: 22%;
    font-size: 1.8rem
}

.category-showcase {
    padding-top: 48px;
    padding-bottom: 20px
}

.section-kicker {
    text-align: center;
    margin: 0 0 7px;
    color: #789372;
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .18em
}

.category-showcase > h2 {
    margin-bottom: 26px !important;
    color: #193d35;
    font-size: 2.8rem;
    font-weight: 600;
    letter-spacing: -.04em
}

.category-card {
    height: 100%;
    padding: 14px 8px 8px;
    border: 1px solid #edf0eb;
    border-radius: 20px;
    background: linear-gradient(180deg,#fff 0%,#fcfcfa 100%);
    box-shadow: 0 8px 24px rgba(23,60,53,.045);
    transition: transform .22s,box-shadow .22s,border-color .22s
}

    .category-card:hover {
        transform: translateY(-5px);
        border-color: #dce8dd;
        box-shadow: 0 16px 34px rgba(23,60,53,.1)
    }

    .category-card .cat-block {
        gap: 12px;
        margin: 0;
        padding: 8px 4px 12px
    }

        .category-card .cat-block figure {
            width: clamp(96px,10vw,142px);
            height: clamp(96px,10vw,142px);
            flex: 0 0 auto;
            border: 1px solid rgba(23,60,53,.035);
            box-shadow: inset 0 0 0 7px rgba(255,255,255,.55)
        }

    .category-card .cat-block-title {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 500
    }

.benefits-strip {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #edf0e9;
    border-radius: 18px;
    background: linear-gradient(110deg,#f8faf7,#f4f6f1)
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 8px 12px
}

.benefit-icon {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #e4eee4;
    color: #426f58;
    font-size: 2rem
}

.benefit-item strong, .benefit-item small {
    display: block
}

.benefit-item strong {
    color: #24483c;
    font-size: 1.05rem;
    font-weight: 600
}

.benefit-item small {
    margin-top: 3px;
    color: #7b867e;
    font-size: .92rem
}

.home-section-spacer {
    height: 34px
}

@media(max-width:767px) {
    .banner-fallback {
        padding: 30px 22px
    }

    .banner-fallback-copy {
        width: 70%
    }

        .banner-fallback-copy h2 {
            font-size: clamp(3.4rem,9vw,5.2rem)
        }

    .hero-art {
        width: 30%;
        min-height: 220px
    }

    .hero-art-main {
        width: 135px;
        height: 178px;
        border-radius: 80px 80px 25px 25px
    }

        .hero-art-main i {
            font-size: 4.4rem
        }

        .hero-art-main span {
            font-size: .8rem
        }

    .hero-art-top, .hero-art-bottom {
        width: 54px;
        height: 54px;
        border-radius: 18px;
        font-size: 2.4rem
    }

    .hero-art-orbit {
        width: 210px
    }

    .benefits-strip {
        grid-template-columns: repeat(2,minmax(0,1fr));
        padding: 10px
    }

    .benefit-item {
        padding: 8px 4px
    }
}

@media(max-width:480px) {
    .banner-fallback {
        padding: 24px 18px
    }

    .banner-fallback-copy {
        width: 100%
    }

        .banner-fallback-copy p {
            max-width: 270px
        }

    .hero-art {
        position: absolute;
        right: -20px;
        bottom: -15px;
        width: 44%;
        min-height: 180px;
        opacity: .22
    }

    .hero-art-main {
        width: 110px;
        height: 145px
    }

    .hero-art-orbit {
        width: 165px
    }

    .category-showcase {
        padding-top: 34px
    }

        .category-showcase > h2 {
            font-size: 2.35rem
        }

    .benefit-icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 1.7rem
    }

    .benefit-item strong {
        font-size: .95rem
    }

    .benefit-item small {
        font-size: .8rem
    }
}
/* Storefront product controls: visible, compact, keyboard-friendly actions. */
.home-product-card {
    position: relative;
    background: #fff;
    border: 1px solid #e7ece6;
    box-shadow: 0 8px 24px rgba(25,61,53,.055)
}

    .home-product-card .product-media {
        overflow: hidden;
        background: linear-gradient(145deg,#f7f7f3,#f0f2ee)
    }

        .home-product-card .product-media img {
            transition: transform .35s ease
        }

    .home-product-card:hover .product-media img {
        transform: scale(1.045)
    }

.product-card-tools {
    position: absolute;
    z-index: 4;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    opacity: 0;
    transform: translateX(6px);
    transition: opacity .2s,transform .2s
}

.home-product-card:hover .product-card-tools, .home-product-card:focus-within .product-card-tools {
    opacity: 1;
    transform: none
}

.product-card-tools button {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(23,60,53,.1);
    border-radius: 50%;
    background: rgba(255,255,255,.96);
    color: #284c40;
    box-shadow: 0 4px 12px rgba(23,60,53,.1);
    font-size: 1.65rem;
    cursor: pointer;
    transition: background .18s,color .18s,transform .18s
}

    .product-card-tools button:hover {
        background: #173c35;
        color: #fff;
        transform: scale(1.06)
    }

.home-product-card .product-body {
    padding: 13px 15px 15px
}

.home-product-card .product-title {
    margin-bottom: 2px
}

.home-product-card .product-cat {
    min-height: 1.7rem;
    margin: 0 0 4px;
    color: #839087;
    font-size: .95rem;
    letter-spacing: .03em;
    text-transform: uppercase
}

.home-product-card .product-price {
    padding-top: 4px
}

.product-card-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 7px
}

.product-add-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid #173c35;
    border-radius: 8px;
    background: #173c35;
    color: #fff;
    font: 500 1rem/1.2 "Poppins",sans-serif;
    cursor: pointer;
    transition: background .2s,transform .2s
}

    .product-add-cart:hover {
        background: #326a58;
        color: #fff;
        transform: translateY(-1px)
    }

.product-card-footer .product-add-cart {
    flex: 1
}

.product-card-footer .home-product-link {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    height: 36px;
    border: 1px solid #e4e9e3;
    border-radius: 8px;
    color: #315f50
}

.quick-view-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    box-shadow: 0 24px 75px rgba(10,35,28,.24)
}

.quick-view-modal .modal-body {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 28px;
    align-items: center;
    padding: 32px
}

.quick-view-close {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    opacity: .9
}

.quick-view-image {
    display: grid;
    place-items: center;
    min-height: 300px;
    border-radius: 16px;
    background: linear-gradient(145deg,#f8f8f4,#eef1ed)
}

    .quick-view-image img {
        max-width: 100%;
        max-height: 380px;
        object-fit: contain;
        padding: 20px
    }

.quick-view-info h2,
.quick-view-info .quick-view-title {
    margin: 10px 0 12px;
    color: #193d35;
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.25
}

.quick-view-info > p {
    margin: 14px 0 22px;
    color: #738078;
    font-size: 1.15rem;
    line-height: 1.65
}

.quick-view-price {
    display: block;
    color: #24483c;
    font-size: 1.9rem
}

.quick-view-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px
}

    .quick-view-actions .product-add-cart {
        flex: 1 0 100%;
        min-height: 44px
    }

.quick-view-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1;
    min-height: 40px;
    border: 1px solid #dfe6df;
    border-radius: 8px;
    background: #fff;
    color: #315f50;
    cursor: pointer
}

    .quick-view-secondary:hover {
        border-color: #315f50;
        background: #f4f7f2
    }

@media(max-width:767px) {
    .product-card-tools {
        top: 8px;
        right: 8px;
        gap: 5px;
        opacity: 1;
        transform: none
    }

        .product-card-tools button {
            width: 32px;
            height: 32px;
            font-size: 1.45rem
        }

    .product-add-cart {
        padding: 8px 10px;
        font-size: .95rem
    }

    .quick-view-modal .modal-body {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px
    }

    .quick-view-image {
        min-height: 210px
    }

        .quick-view-image img {
            max-height: 230px
        }

    .quick-view-info h2,
    .quick-view-info .quick-view-title {
        font-size: 2rem
    }
}

.product-card-tools button.is-active {
    background: #fff0ed;
    border-color: #f2d6d1;
    color: #c04c42
}

.quick-view-secondary.is-active {
    background: #eaf3eb;
    border-color: #b9d1bd;
    color: #285c44
}

/* Homepage merchandising shelves */
#homeProductsContainer {
    padding-bottom: 38px;
    background: #fbfcfa
}

.home-merchandising-intro {
    padding: 42px 0 28px;
    background: linear-gradient(110deg,#f2f7f1 0%,#fbfcfa 64%)
}

    .home-merchandising-intro span, .home-shelf-eyebrow {
        display: block;
        color: #718675;
        font-size: .9rem;
        font-weight: 600;
        letter-spacing: .16em;
        text-transform: uppercase
    }

    .home-merchandising-intro h1 {
        margin: 7px 0;
        color: #193d35;
        font-size: clamp(2.5rem,4vw,3.8rem);
        font-weight: 600;
        letter-spacing: -.045em
    }

    .home-merchandising-intro p {
        max-width: 600px;
        margin: 0;
        color: #75847a;
        font-size: 1.1rem
    }

.home-shelf {
    margin: 0;
    padding: 27px 0 7px
}

    .home-shelf + .home-shelf {
        border-top: 1px solid #edf1ec
    }

.home-shelf-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 13px
}

    .home-shelf-heading h2 {
        margin: 4px 0 0;
        color: #193d35;
        font-size: clamp(1.8rem,2.4vw,2.5rem);
        font-weight: 600;
        letter-spacing: -.035em
    }

.home-shelf-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto
}

.home-shelf-viewall {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-right: 8px;
    color: #315f50;
    font-size: 1rem;
    font-weight: 600
}

    .home-shelf-viewall:hover {
        color: #173c35;
        text-decoration: underline
    }

.home-shelf-prev, .home-shelf-next {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #dfe8df;
    border-radius: 50%;
    background: #fff;
    color: #24483c;
    font-size: 1.55rem;
    box-shadow: 0 3px 10px rgba(23,60,53,.06);
    transition: background .18s,color .18s,border-color .18s
}

    .home-shelf-prev:hover, .home-shelf-next:hover {
        border-color: #173c35;
        background: #173c35;
        color: #fff
    }

    .home-shelf-prev.swiper-button-disabled, .home-shelf-next.swiper-button-disabled {
        opacity: .42;
        cursor: default
    }

.home-product-carousel {
    width: 100%;
    padding: 3px 2px 21px;
    overflow: hidden
}

    .home-product-carousel .swiper-slide {
        height: auto
    }

.home-shelf .home-product-card {
    height: 100%;
    margin: 3px;
    border-radius: 15px;
    box-shadow: 0 5px 18px rgba(23,60,53,.045)
}

    .home-shelf .home-product-card .product-media {
        height: 205px
    }

    .home-shelf .home-product-card .product-title {
        display: block !important;
        width: 100%;
        height: auto !important;
        min-height: 3.25rem !important;
        max-height: 3.25rem !important;
        margin: 0 0 5px;
        overflow: hidden !important;
        font-size: 1.15rem;
        line-height: 1.42;
        white-space: normal
    }

        .home-shelf .home-product-card .product-title > a {
            display: -webkit-box !important;
            width: 100%;
            height: auto !important;
            max-height: 3.25rem !important;
            overflow: hidden !important;
            text-overflow: ellipsis;
            white-space: normal;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            line-clamp: 2
        }

    .home-shelf .home-product-card .product-body {
        width: 100%;
        min-width: 0;
        overflow: hidden
    }

    .home-shelf .home-product-card .product-cat {
        width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

.home-shelf .product-card-tools {
    opacity: 0;
    transform: translateX(6px)
}

.home-shelf .home-product-card:hover .product-card-tools, .home-shelf .home-product-card:focus-within .product-card-tools {
    opacity: 1;
    transform: none
}

.home-shelf-content.has-discovery {
    display: grid;
    grid-template-columns: minmax(0,var(--home-product-track,3fr)) minmax(0,var(--home-discovery-track,2fr));
    gap: 18px;
    align-items: stretch
}

    .home-shelf-content.has-discovery .home-product-carousel {
        min-width: 0
    }

.home-shelf-discovery {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    min-width: 0;
    margin: 3px 0 24px;
    padding: 17px;
    border: 1px solid #e6ede5;
    border-radius: 16px;
    background: linear-gradient(145deg,#f3f7f2,#fbfcfa)
}

    .home-shelf-discovery > span {
        color: #718675;
        font-size: .8rem;
        font-weight: 600;
        letter-spacing: .14em
    }

    .home-shelf-discovery > div {
        display: grid;
        gap: 8px
    }

.home-discovery-product {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) 18px;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px;
    border: 1px solid #e7ece6;
    border-radius: 11px;
    background: #fff;
    color: #24483c;
    transition: border-color .18s,transform .18s
}

    .home-discovery-product:hover {
        transform: translateY(-1px);
        border-color: #c9d9ca;
        color: #173c35
    }

    .home-discovery-product img {
        width: 54px;
        height: 54px;
        border-radius: 8px;
        background: #f5f6f2;
        object-fit: contain
    }

    .home-discovery-product > span {
        display: block;
        min-width: 0;
        overflow: hidden
    }

    .home-discovery-product strong, .home-discovery-product small {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .home-discovery-product strong {
        font-size: .96rem;
        font-weight: 600
    }

    .home-discovery-product small {
        margin-top: 4px;
        color: #7b897f;
        font-size: .82rem
    }

@media(hover:hover) and (pointer:fine) {
    .home-shelf .product-card-tools {
        opacity: 0;
        transform: translateX(6px)
    }

    .home-shelf .home-product-card:hover .product-card-tools, .home-shelf .home-product-card:focus-within .product-card-tools {
        opacity: 1;
        transform: none
    }
}

@media(max-width:767px) {
    .home-merchandising-intro {
        padding: 28px 0 20px
    }

    .home-shelf {
        padding-top: 20px
    }

    .home-shelf-heading {
        align-items: center
    }

        .home-shelf-heading h2 {
            font-size: 1.75rem
        }

    .home-shelf-eyebrow {
        font-size: .75rem
    }

    .home-shelf-viewall {
        margin-right: 2px;
        font-size: .9rem
    }

    .home-shelf-prev, .home-shelf-next {
        width: 32px;
        height: 32px;
        font-size: 1.3rem
    }

    .home-shelf .home-product-card .product-media {
        height: 175px
    }
}

@media(max-width:767px) {
    .home-shelf-content.has-discovery {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .home-shelf-discovery {
        margin: 0 2px 20px;
        padding: 13px
    }

        .home-shelf-discovery > div {
            grid-template-columns: repeat(2,minmax(0,1fr))
        }

    .home-shelf .product-card-tools {
        opacity: 1;
        transform: none
    }
}

.home-featured-area {
    padding: 28px 0 12px
}

.home-featured-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
    align-items: stretch
}

.home-square-shelf {
    min-width: 0;
    margin: 0;
    padding: 20px;
    border: 1px solid #e8eee7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(23,60,53,.045)
}

    .home-square-shelf .home-shelf-heading {
        min-height: 58px;
        margin: 0 0 12px
    }

        .home-square-shelf .home-shelf-heading h2 {
            font-size: clamp(1.55rem,2vw,2.1rem)
        }

.home-square-products {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px
}

    .home-square-products > .home-product-card {
        width: 100%;
        height: 100%;
        min-width: 0;
        margin: 0;
        border-radius: 13px;
        box-shadow: 0 4px 14px rgba(23,60,53,.045)
    }

    .home-square-products .home-product-card .product-media {
        height: clamp(105px,10vw,132px)
    }

        .home-square-products .home-product-card .product-media img {
            padding: 10px
        }

    .home-square-products .home-product-card .product-body {
        padding: 10px 11px 11px
    }

    .home-square-products .home-product-card .product-title {
        min-height: 2.8rem !important;
        max-height: 2.8rem !important;
        margin-bottom: 2px;
        font-size: 1rem;
        line-height: 1.4
    }

        .home-square-products .home-product-card .product-title > a {
            max-height: 2.8rem !important
        }

    .home-square-products .home-product-card .product-cat {
        min-height: 1.15rem;
        font-size: .78rem
    }

    .home-square-products .home-product-card .product-price {
        margin-top: auto;
        padding-top: 4px;
        font-size: 1.08rem
    }

    .home-square-products .home-product-card .product-card-footer {
        gap: 6px;
        margin-top: 6px
    }

    .home-square-products .home-product-card .product-add-cart {
        min-height: 32px;
        padding: 6px 8px;
        font-size: .85rem
    }

    .home-square-products .home-product-card .home-product-link {
        flex-basis: 31px;
        height: 31px
    }

    .home-square-products .product-card-tools {
        top: 7px;
        right: 7px;
        gap: 5px
    }

        .home-square-products .product-card-tools button {
            width: 30px;
            height: 30px;
            font-size: 1.25rem
        }

@media(max-width:767px) {
    .home-featured-area {
        padding-top: 18px
    }

    .home-featured-grid {
        gap: 13px
    }

    .home-square-shelf {
        padding: 14px
    }

        .home-square-shelf .home-shelf-heading {
            min-height: 52px
        }

    .home-square-products {
        gap: 9px
    }

        .home-square-products .home-product-card .product-media {
            height: 115px
        }
}

@media(max-width:575px) {
    .home-featured-grid {
        grid-template-columns: 1fr
    }

    .home-square-shelf {
        padding: 16px
    }

    .home-square-products .home-product-card .product-media {
        height: 135px
    }
}

/* Compact marketplace discovery panels */
.home-marketplace-grid-wrap {
    padding: 28px 0 64px;
    background: #f4f6f2
}

.home-marketplace-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
    align-items: stretch
}

.home-mosaic-panel {
    min-width: 0;
    padding: 13px;
    border: 1px solid #e6ebe4;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 5px 17px rgba(23,60,53,.05)
}

.home-mosaic-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    min-height: 61px;
    margin-bottom: 10px
}

    .home-mosaic-heading > div {
        min-width: 0
    }

    .home-mosaic-heading span {
        display: block;
        overflow: hidden;
        color: #78897d;
        font-size: .72rem;
        font-weight: 600;
        letter-spacing: .12em;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap
    }

    .home-mosaic-heading h2 {
        display: -webkit-box;
        overflow: hidden;
        margin: 4px 0 0;
        color: #193d35;
        font-size: 1.42rem;
        font-weight: 600;
        line-height: 1.22;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .home-mosaic-heading > a {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 3px;
        margin-top: 18px;
        color: #426f58;
        font-size: .85rem;
        font-weight: 600
    }

        .home-mosaic-heading > a:hover {
            color: #173c35;
            text-decoration: underline
        }

.home-mosaic-products {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 9px
}

.home-mosaic-product {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #edf0eb;
    border-radius: 11px;
    background: #fff;
    transition: border-color .18s,box-shadow .18s,transform .18s
}

    .home-mosaic-product:hover {
        transform: translateY(-2px);
        border-color: #d8e4d8;
        box-shadow: 0 7px 18px rgba(23,60,53,.08)
    }

.home-mosaic-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    background: #f6f7f3
}

    .home-mosaic-image > a {
        display: grid;
        width: 100%;
        height: 100%;
        place-items: center
    }

    .home-mosaic-image img {
        width: 100%;
        height: 100%;
        padding: 7px;
        object-fit: contain;
        transition: transform .22s
    }

.home-mosaic-product:hover .home-mosaic-image img {
    transform: scale(1.035)
}

.home-mosaic-badges {
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 3px
}

    .home-mosaic-badges .product-badge {
        position: static;
        padding: 3px 6px;
        border-radius: 9px;
        font-size: .65rem
    }

.home-mosaic-product .product-card-tools {
    top: 5px;
    right: 5px;
    gap: 4px;
    opacity: 0;
    transform: translateX(5px)
}

    .home-mosaic-product .product-card-tools button {
        width: 26px;
        height: 26px;
        font-size: 1.15rem
    }

.home-mosaic-product:hover .product-card-tools, .home-mosaic-product:focus-within .product-card-tools {
    opacity: 1;
    transform: none
}

.home-mosaic-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    padding: 8px 9px 9px
}

    .home-mosaic-copy h3 {
        display: -webkit-box;
        height: 2.55rem;
        overflow: hidden;
        margin: 0 0 3px;
        font-size: .9rem;
        font-weight: 500;
        line-height: 1.4;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

        .home-mosaic-copy h3 a {
            color: #263d35
        }

.home-mosaic-category {
    overflow: hidden;
    color: #87938b;
    font-size: .7rem;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap
}

.home-mosaic-price {
    margin-top: 4px;
    color: #173c35;
    font-size: .98rem;
    font-weight: 700;
    white-space: nowrap
}

.home-mosaic-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    min-height: 28px;
    margin-top: 7px;
    padding: 4px 7px;
    border: 0;
    border-radius: 7px;
    background: #173c35;
    color: #fff;
    font-size: .78rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .18s
}

    .home-mosaic-cart:hover {
        background: #326a58
    }

    .home-mosaic-cart .cart-quantity-indicator {
        display: none !important
    }

@media(hover:hover) and (pointer:fine) {
    .home-mosaic-product .product-card-tools {
        opacity: 0;
        transform: translateX(5px)
    }

    .home-mosaic-product:hover .product-card-tools, .home-mosaic-product:focus-within .product-card-tools {
        opacity: 1;
        transform: none
    }
}

@media(max-width:1199px) {
    .home-marketplace-grid {
        grid-template-columns: repeat(3,minmax(0,1fr))
    }
}

@media(max-width:991px) {
    .home-marketplace-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:575px) {
    .home-marketplace-grid-wrap {
        padding: 18px 0 42px
    }

    .home-marketplace-grid {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .home-mosaic-panel {
        padding: 12px
    }

    .home-mosaic-products {
        gap: 10px
    }

    .home-mosaic-product .product-card-tools {
        opacity: 1;
        transform: none
    }
}

.home-marketplace-grid-wrap {
    padding-top: 24px
}

.home-featured-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px
}

.home-mosaic-products {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px
}

.home-category-section {
    margin: 0 0 34px;
    padding: 22px 0 0
}

.home-category-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px
}

    .home-category-heading h2 {
        margin: 4px 0 0;
        color: #193d35;
        font-size: 2.2rem;
        font-weight: 600;
        letter-spacing: -.035em
    }

.home-category-controls {
    display: flex;
    align-items: center;
    gap: 8px
}

    .home-category-controls > a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-right: 6px;
        color: #315f50;
        font-weight: 600
    }

    .home-category-controls > button {
        display: grid;
        place-items: center;
        width: 36px;
        height: 36px;
        border: 1px solid #dfe8df;
        border-radius: 50%;
        background: #fff;
        color: #24483c;
        font-size: 1.35rem;
        box-shadow: 0 3px 10px rgba(23,60,53,.06)
    }

        .home-category-controls > button:hover {
            background: #173c35;
            color: #fff
        }

        .home-category-controls > button.swiper-button-disabled {
            opacity: .4;
            cursor: default
        }

.home-category-section .home-product-carousel {
    padding: 3px 2px 20px
}

.home-mosaic-image {
    aspect-ratio: auto;
    height: 100px;
    flex: 0 0 100px;
    overflow: hidden
}

    .home-mosaic-image > a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        overflow: hidden
    }

    .home-mosaic-image img {
        display: block;
        width: 100%;
        height: 100%;
        max-height: 100%;
        padding: 14px;
        object-fit: contain
    }

.home-mosaic-copy {
    position: relative;
    z-index: 1;
    flex: 1 0 auto;
    background: #fff
}

@media(max-width:1199px) {
    .home-featured-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .home-mosaic-products {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:991px) and (min-width:768px) {
    .home-mosaic-products {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px
    }
}

@media(max-width:767px) {
    .home-featured-grid {
        grid-template-columns: 1fr
    }

    .home-mosaic-products {
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: 8px
    }

    .home-category-heading h2 {
        font-size: 1.8rem
    }

    .home-category-controls > button {
        width: 32px;
        height: 32px
    }
}

@media(max-width:575px) {
    .home-mosaic-products {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 9px
    }

    .home-category-section {
        padding-top: 14px
    }

    .home-category-heading {
        align-items: center
    }

    .home-category-controls > a {
        display: none
    }
}

/* AJAX category browsing */
.category-page {
    min-height: 55vh;
    padding-top: 22px;
    padding-bottom: 80px
}

.category-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 8px 0 22px;
    color: #8a968e;
    font-size: 1.05rem
}

    .category-breadcrumb a {
        color: #587568
    }

        .category-breadcrumb a:hover {
            color: #173c35
        }

    .category-breadcrumb i {
        font-size: 1.2rem;
        color: #aeb9b1
    }

    .category-breadcrumb [aria-current] {
        color: #213f36;
        font-weight: 500
    }

.category-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 230px;
    overflow: hidden;
    padding: 42px 52px;
    border: 1px solid #e5ebe4;
    border-radius: 24px;
    background: radial-gradient(circle at 82% 28%,rgba(198,218,195,.55),transparent 24%),linear-gradient(115deg,#f5f7f2,#eef4ef 65%,#e4eee7);
    box-shadow: 0 12px 35px rgba(31,64,51,.045)
}

.category-hero-copy {
    position: relative;
    z-index: 1
}

.category-hero .section-kicker {
    margin: 0 0 10px;
    color: #638270;
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .15em
}

.category-hero h1 {
    margin: 0;
    color: #193d35;
    font-size: clamp(3rem,5vw,5rem);
    font-weight: 600;
    letter-spacing: -.045em;
    line-height: 1.12
}

.category-hero p {
    margin: 12px 0 0;
    color: #64756b;
    font-size: 1.25rem
}

.category-count {
    display: inline-block;
    margin-top: 13px;
    color: #315f50;
    font-size: 1.05rem;
    font-weight: 600
}

.category-hero-art {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-right: 5%;
    color: #2a5c4d
}

    .category-hero-art i {
        display: grid;
        place-items: center;
        width: 96px;
        height: 96px;
        border: 1px solid rgba(49,95,80,.15);
        border-radius: 50%;
        background: rgba(255,255,255,.65);
        font-size: 4.6rem
    }

    .category-hero-art span {
        font-size: 1.05rem;
        line-height: 1.5;
        letter-spacing: .06em;
        text-transform: uppercase
    }

.category-content-section {
    margin-top: 50px
}

.category-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 19px
}

    .category-section-heading .section-kicker {
        margin: 0;
        color: #849289;
        font-size: .88rem;
        font-weight: 600;
        letter-spacing: .14em
    }

    .category-section-heading h2 {
        margin: 4px 0 0;
        color: #193d35;
        font-size: 2.55rem;
        font-weight: 600;
        letter-spacing: -.035em
    }

.category-results-count {
    color: #78867d;
    font-size: 1.05rem
}

.subcategory-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px
}

.subcategory-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 112px;
    padding: 14px 42px 14px 14px;
    overflow: hidden;
    border: 1px solid #e8ece7;
    border-radius: 16px;
    background: #fff;
    color: #24483c;
    box-shadow: 0 5px 18px rgba(23,60,53,.035);
    transition: transform .2s,box-shadow .2s,border-color .2s;
    animation: category-card-in .38s both;
    animation-delay: calc(var(--card-order)*35ms)
}

    .subcategory-card:hover {
        transform: translateY(-3px);
        border-color: #cadacf;
        color: #173c35;
        box-shadow: 0 12px 26px rgba(23,60,53,.09)
    }

.subcategory-image {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 78px;
    width: 78px;
    height: 78px;
    overflow: hidden;
    border-radius: 13px;
    background: linear-gradient(145deg,#f6f6f1,#edf2ed)
}

    .subcategory-image img {
        position: relative;
        z-index: 1;
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 9px;
        mix-blend-mode: multiply
    }

.subcategory-image-icon {
    position: absolute;
    display: grid;
    place-items: center;
    inset: 0;
    color: #7c9d86;
    font-size: 2.6rem
}

.subcategory-copy {
    min-width: 0
}

    .subcategory-copy strong {
        display: block;
        overflow: hidden;
        color: #25463c;
        font-size: 1.15rem;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .subcategory-copy small {
        display: block;
        margin-top: 5px;
        color: #89968e;
        font-size: .94rem
    }

.subcategory-arrow {
    position: absolute;
    right: 16px;
    color: #769584;
    font-size: 1.55rem;
    transition: transform .2s
}

.subcategory-card:hover .subcategory-arrow {
    transform: translateX(4px)
}

.category-product-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    align-items: stretch;
    gap: 18px
}

    .category-product-grid .category-product-card {
        min-width: 0;
        height: 100%;
        margin: 0;
        border-radius: 16px
    }

    .category-product-grid .product-media {
        height: 220px
    }

        .category-product-grid .product-media > a {
            display: block;
            width: 100%;
            height: 100%
        }

        .category-product-grid .product-media img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 18px
        }

    .category-product-grid .product-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: flex-start;
        padding: 15px
    }

    .category-product-grid .product-title {
        width: 100%;
        height: auto;
        min-height: 4.3rem;
        max-height: 4.3rem;
        margin: 0 0 5px;
        overflow: hidden;
        font-size: 1.18rem;
        line-height: 1.5;
        -webkit-line-clamp: 2
    }

        .category-product-grid .product-title > a {
            display: -webkit-box;
            height: auto;
            max-height: 4.3rem;
            overflow: hidden;
            text-overflow: ellipsis;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            line-clamp: 2
        }

    .category-product-grid .product-cat {
        min-height: 1.3rem;
        font-size: .88rem
    }

    .category-product-grid .product-price {
        margin-top: auto;
        padding-top: 7px;
        font-size: 1.2rem
    }

    .category-product-grid .product-card-footer {
        margin-top: 10px
    }

    .category-product-grid .product-add-cart {
        min-height: 36px;
        font-size: .95rem
    }

    .category-product-grid .product-card-tools {
        opacity: 0;
        transform: translateX(6px)
    }

    .category-product-grid .category-product-card:hover .product-card-tools,
    .category-product-grid .category-product-card:focus-within .product-card-tools {
        opacity: 1;
        transform: none
    }

        .category-product-grid .product-card-tools button {
            width: 34px;
            height: 34px
        }

@media (hover: none), (max-width: 767px) {
    .category-product-grid .product-card-tools {
        opacity: 1;
        transform: none
    }
}

.category-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 180px;
    color: #65766c;
    font-size: 1.1rem
}

.category-spinner {
    width: 24px;
    height: 24px;
    border: 2px solid #dce8df;
    border-top-color: #315f50;
    border-radius: 50%;
    animation: category-spin .75s linear infinite
}

.category-empty {
    padding: 68px 20px;
    text-align: center
}

.category-empty-icon {
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    margin: 0 auto 15px;
    border-radius: 50%;
    background: #edf4ef;
    color: #46705b;
    font-size: 3rem
}

.category-empty h2,
.category-empty p.category-empty-title {
    color: #193d35;
    font-size: 2rem;
    font-weight: 600;
    margin: 0 0 0.5rem
}

.category-empty p {
    color: #75847b;
    font-size: 1.1rem
}

.category-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    color: #315f50;
    font-weight: 600
}

    .category-back-link:hover {
        color: #173c35
    }

.category-product-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 72px;
    color: #6f8075;
    font-size: 1rem
}

.category-product-sentinel {
    height: 1px
}

.category-products-end {
    text-align: center;
    padding: 24px 12px;
    color: #8a968e;
    font-size: .98rem
}

.category-products-error {
    text-align: center;
    padding: 18px;
    color: #9a5148
}

    .category-products-error button {
        border: 0;
        background: transparent;
        color: #315f50;
        font-weight: 600;
        text-decoration: underline;
        cursor: pointer
    }

@keyframes category-spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes category-card-in {
    from {
        opacity: 0;
        transform: translateY(8px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@media(max-width:991px) {
    .subcategory-grid, .category-product-grid {
        grid-template-columns: repeat(3,minmax(0,1fr))
    }

    .category-hero {
        min-height: 210px;
        padding: 34px
    }

    .category-hero-art {
        margin-right: 1%
    }

        .category-hero-art i {
            width: 75px;
            height: 75px;
            font-size: 3.7rem
        }
}

@media(max-width:767px) {
    .category-page {
        padding-top: 15px;
        padding-bottom: 54px
    }

    .category-hero {
        min-height: 190px;
        padding: 28px 24px;
        border-radius: 18px
    }

        .category-hero h1 {
            font-size: 3.4rem
        }

        .category-hero p {
            max-width: 70%;
            font-size: 1.05rem
        }

    .category-hero-art {
        position: absolute;
        right: -8px;
        bottom: -12px;
        gap: 6px;
        opacity: .34
    }

        .category-hero-art i {
            width: 86px;
            height: 86px
        }

        .category-hero-art span {
            display: none
        }

    .category-content-section {
        margin-top: 36px
    }

    .category-section-heading h2 {
        font-size: 2.15rem
    }

    .subcategory-grid, .category-product-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px
    }

    .subcategory-card {
        min-height: 91px;
        gap: 10px;
        padding: 10px 31px 10px 10px;
        border-radius: 13px
    }

    .subcategory-image {
        flex-basis: 62px;
        width: 62px;
        height: 62px;
        border-radius: 10px
    }

    .subcategory-copy strong {
        font-size: 1rem
    }

    .subcategory-copy small {
        font-size: .83rem
    }

    .subcategory-arrow {
        right: 9px;
        font-size: 1.3rem
    }

    .category-product-grid .product-media {
        height: 175px
    }

    .category-product-grid .product-body {
        padding: 11px
    }

    .category-product-grid .product-title {
        font-size: 1.05rem;
        min-height: 3.5rem;
        max-height: 3.5rem
    }

    .category-product-grid .product-add-cart span {
        display: none
    }

    .category-product-grid .product-add-cart {
        flex: 0 0 40px !important;
        padding: 6px
    }

    .category-product-grid .product-card-footer .home-product-link {
        flex: 0 0 34px;
        height: 34px
    }
}

@media(max-width:420px) {
    .subcategory-grid, .category-product-grid {
        grid-template-columns: 1fr
    }

    .subcategory-card {
        min-height: 82px
    }

    .category-product-grid .product-media {
        height: 220px
    }

    .category-product-grid .product-add-cart span {
        display: inline
    }

    .category-product-grid .product-add-cart {
        flex: 1 !important
    }
}

/* Product detail page */
.pdp-page {
    padding-top: 20px;
    padding-bottom: 82px
}

.pdp-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52vh;
    color: #65766c;
    font-size: 1.1rem
}

.pdp-promo-strip {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 6px 0 24px;
    padding: 15px 20px;
    border: 1px solid #e6ece5;
    border-radius: 14px;
    background: linear-gradient(100deg,#f3f7f1,#fbfcf9)
}

.pdp-promo-icon {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #e5f0e7;
    color: #315f50;
    font-size: 2rem
}

.pdp-promo-strip strong, .pdp-promo-strip small {
    display: block
}

.pdp-promo-strip strong {
    color: #24483c;
    font-size: 1.05rem
}

.pdp-promo-strip small {
    margin-top: 2px;
    color: #7d8b81;
    font-size: .92rem
}

.pdp-promo-strip > a {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    color: #315f50;
    font-weight: 600
}

.pdp-main {
    display: grid;
    grid-template-columns: minmax(0,1.03fr) minmax(360px,.97fr);
    gap: clamp(30px,6vw,86px);
    align-items: start;
    padding: 12px 0 46px
}

.pdp-gallery {
    min-width: 0
}

.pdp-image-stage {
    --zoom-x: 50%;
    --zoom-y: 50%;
    position: relative;
    display: grid;
    place-items: center;
    min-height: 490px;
    overflow: hidden;
    border: 1px solid #e8ece6;
    border-radius: 22px;
    background: radial-gradient(ellipse at center,#fff 0,#f9faf7 70%,#f2f4ef 100%);
    cursor: zoom-in
}

    .pdp-image-stage img {
        width: 100%;
        height: 490px;
        object-fit: contain;
        padding: 42px;
        transition: transform .32s ease;
        transform-origin: var(--zoom-x) var(--zoom-y)
    }

    .pdp-image-stage.is-zoomed img {
        transform: scale(2.05)
    }

.pdp-product-badge {
    position: absolute;
    z-index: 1;
    top: 20px;
    left: 20px;
    padding: 8px 13px;
    border-radius: 30px;
    background: #e5f1e7;
    color: #275642;
    font-size: .95rem;
    font-weight: 600
}

.pdp-zoom-toggle {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 16px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid rgba(47,91,73,.13);
    border-radius: 30px;
    background: rgba(255,255,255,.92);
    color: #52695b;
    font-size: .88rem;
    cursor: pointer
}

    .pdp-zoom-toggle i {
        font-size: 1.5rem
    }

.pdp-gallery-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 10px 0 0;
    color: #89948d;
    font-size: .9rem
}

.pdp-info {
    padding: 14px 0
}

.pdp-category {
    display: inline-block;
    margin: 0 0 11px;
    color: #7c9182;
    font-size: .93rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase
}

.pdp-info h1 {
    margin: 0;
    color: #193d35;
    font-size: clamp(2.7rem,4vw,4.2rem);
    font-weight: 600;
    letter-spacing: -.045em;
    line-height: 1.17
}

.pdp-rating-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: #829087;
    font-size: 1rem
}

.pdp-rating-stars {
    color: #77966b;
    font-size: 1.45rem
}

.pdp-price-line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 11px;
    margin: 20px 0 7px
}

.pdp-price {
    color: #24483c;
    font-size: 2.4rem;
    font-weight: 600;
    letter-spacing: -.035em
}

.pdp-old-price {
    color: #9aa39c;
    font-size: 1.25rem
}

.pdp-savings {
    padding: 5px 9px;
    border-radius: 20px;
    background: #edf5ea;
    color: #3f7652;
    font-size: .9rem;
    font-weight: 600
}

.pdp-availability {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 8px 0 15px;
    color: #41805a;
    font-size: 1rem
}

    .pdp-availability i {
        font-size: 1.35rem
    }

.pdp-short-description {
    margin: 14px 0 24px;
    color: #64736a;
    font-size: 1.1rem;
    line-height: 1.75
}

.pdp-buy-row {
    display: flex;
    align-items: center;
    gap: 12px
}

.pdp-add-cart {
    min-height: 50px;
    max-width: 310px;
    width: 100%;
    font-size: 1.08rem
}

.pdp-secondary-actions {
    display: flex;
    gap: 11px;
    margin-top: 13px
}

    .pdp-secondary-actions button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 42px;
        padding: 8px 15px;
        border: 1px solid #e3e9e2;
        border-radius: 9px;
        background: #fff;
        color: #426353;
        font-size: .98rem;
        cursor: pointer;
        transition: all .18s
    }

        .pdp-secondary-actions button:hover, .pdp-secondary-actions button.is-active {
            border-color: #b9d1bd;
            background: #edf5ef;
            color: #285c44
        }

    .pdp-secondary-actions i {
        font-size: 1.45rem
    }

.pdp-delivery-note {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    padding: 15px 16px;
    border-radius: 12px;
    background: #f6f8f4;
    color: #739080
}

    .pdp-delivery-note > i {
        font-size: 2rem
    }

    .pdp-delivery-note strong, .pdp-delivery-note small {
        display: block
    }

    .pdp-delivery-note strong {
        color: #375846;
        font-size: 1rem
    }

    .pdp-delivery-note small {
        margin-top: 3px;
        color: #89958d;
        font-size: .9rem
    }

.marketplace-panel {
    margin: 6px 0 42px;
    padding: 28px 30px;
    border: 1px solid #e6ebe5;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(23,60,53,.04)
}

.marketplace-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px
}

    .marketplace-heading .section-kicker, .pdp-section-heading .section-kicker {
        margin: 0;
        color: #829187;
        font-size: .88rem;
        font-weight: 600;
        letter-spacing: .14em
    }

    .marketplace-heading h2, .pdp-section-heading h2 {
        margin: 4px 0 0;
        color: #193d35;
        font-size: 2.25rem;
        font-weight: 600;
        letter-spacing: -.035em
    }

.marketplace-disclaimer {
    color: #89948c;
    font-size: .88rem
}

.marketplace-options {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px
}

.marketplace-option {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    min-height: 78px;
    padding: 12px 14px;
    border: 1px solid #edf0eb;
    border-radius: 13px;
    color: #274b3e;
    transition: border-color .2s,transform .2s,box-shadow .2s
}

    .marketplace-option:hover {
        transform: translateY(-2px);
        border-color: #d0ded2;
        color: #173c35;
        box-shadow: 0 8px 18px rgba(23,60,53,.06)
    }

.marketplace-brand {
    display: grid;
    place-items: center;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    border-radius: 12px;
    background: #f3f5f1;
    color: #345f4b;
    font-size: 2.25rem
}

.marketplace-amazon .marketplace-brand {
    background: #fff5e9;
    color: #b96819
}

.marketplace-flipkart .marketplace-brand {
    background: #edf5ff;
    color: #2875ca
}

.marketplace-copy {
    min-width: 0
}

    .marketplace-copy strong, .marketplace-copy small {
        display: block
    }

    .marketplace-copy strong {
        color: #263f35;
        font-size: 1.05rem
    }

    .marketplace-copy small {
        margin-top: 3px;
        color: #89948c;
        font-size: .84rem
    }

.marketplace-cta {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    color: #426d56;
    font-size: .86rem;
    font-weight: 600;
    white-space: nowrap
}

.marketplace-store-price {
    margin-left: auto;
    color: #24483c;
    font-weight: 600;
    white-space: nowrap
}

.marketplace-footnote {
    margin: 13px 0 0;
    color: #87938a;
    font-size: .86rem;
    line-height: 1.5
}

.pdp-banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 220px;
    overflow: hidden;
    margin: 42px 0;
    padding: 34px 46px;
    border-radius: 20px;
    background: linear-gradient(110deg,#183e36 0%,#285c4d 61%,#688e6c 100%);
    color: #fff
}

    .pdp-banner:after {
        position: absolute;
        right: 12%;
        top: -95px;
        width: 340px;
        height: 340px;
        border: 1px solid rgba(255,255,255,.16);
        border-radius: 50%;
        content: ""
    }

.pdp-banner-copy {
    position: relative;
    z-index: 1
}

.pdp-banner .section-kicker {
    color: #bbd7c3;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: .15em
}

.pdp-banner h2 {
    margin: 8px 0;
    color: #fff;
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: -.035em
}

.pdp-banner p {
    margin: 0 0 17px;
    color: #d7e4da;
    font-size: 1.05rem
}

.pdp-banner-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    border-radius: 8px;
    background: #fff;
    color: #234a3d;
    font-weight: 600
}

.pdp-banner-art {
    position: absolute;
    right: 13%;
    top: 50%;
    display: grid;
    place-items: center;
    width: 130px;
    height: 130px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.85);
    font-size: 7rem;
    transform: translateY(-50%)
}

.pdp-description-section, .pdp-related-section {
    margin: 48px 0
}

.pdp-section-heading {
    margin-bottom: 18px
}

.pdp-description {
    max-width: 900px;
    margin: 0;
    color: #64736a;
    font-size: 1.08rem;
    line-height: 1.85;
    white-space: pre-line
}

.pdp-related-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px
}

.pdp-related-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 12px;
    border: 1px solid #e8ece6;
    border-radius: 14px;
    background: #fff;
    color: #24483c;
    transition: transform .2s,box-shadow .2s
}

    .pdp-related-card:hover {
        transform: translateY(-3px);
        color: #173c35;
        box-shadow: 0 10px 25px rgba(23,60,53,.08)
    }

.pdp-related-image {
    display: grid;
    place-items: center;
    height: 170px;
    overflow: hidden;
    border-radius: 10px;
    background: #f5f6f2
}

    .pdp-related-image img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        padding: 15px
    }

.pdp-related-category {
    margin-top: 10px;
    color: #849187;
    font-size: .8rem;
    text-transform: uppercase
}

.pdp-related-card > strong {
    display: -webkit-box;
    min-height: 3rem;
    margin-top: 4px;
    overflow: hidden;
    color: #304c3e;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

.pdp-related-price {
    margin-top: 8px;
    color: #24483c;
    font-weight: 600
}

@media(max-width:991px) {
    .pdp-main {
        grid-template-columns: minmax(0,1fr) minmax(300px,.9fr);
        gap: 30px
    }

    .pdp-image-stage, .pdp-image-stage img {
        height: 400px;
        min-height: 400px
    }

    .marketplace-options {
        grid-template-columns: 1fr
    }

    .marketplace-option {
        min-height: 68px
    }

    .pdp-related-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:767px) {
    .pdp-page {
        padding-top: 13px;
        padding-bottom: 50px
    }

    .pdp-promo-strip {
        flex-wrap: wrap;
        padding: 12px
    }

        .pdp-promo-strip > a {
            width: 100%;
            margin: 3px 0 0 56px
        }

    .pdp-main {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-bottom: 30px
    }

    .pdp-image-stage, .pdp-image-stage img {
        height: 360px;
        min-height: 360px
    }

        .pdp-image-stage img {
            padding: 25px
        }

    .pdp-info {
        padding: 4px 2px
    }

        .pdp-info h1 {
            font-size: 3rem
        }

    .pdp-price {
        font-size: 2.1rem
    }

    .marketplace-panel {
        padding: 21px 16px
    }

    .marketplace-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px
    }

        .marketplace-heading h2, .pdp-section-heading h2 {
            font-size: 2rem
        }

    .marketplace-cta {
        font-size: .78rem
    }

    .pdp-banner {
        min-height: 220px;
        padding: 28px 23px
    }

        .pdp-banner h2 {
            max-width: 75%;
            font-size: 2.1rem
        }

        .pdp-banner p {
            max-width: 70%;
            font-size: .98rem
        }

    .pdp-banner-art {
        right: -2%;
        width: 100px;
        height: 100px;
        font-size: 5.4rem;
        opacity: .5
    }

    .pdp-related-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px
    }

    .pdp-related-image {
        height: 140px
    }
}

@media(max-width:420px) {
    .pdp-image-stage, .pdp-image-stage img {
        height: 300px;
        min-height: 300px
    }

    .pdp-zoom-toggle span {
        display: none
    }

    .pdp-info h1 {
        font-size: 2.55rem
    }

    .pdp-secondary-actions button {
        flex: 1;
        padding: 8px 9px
    }

    .marketplace-option {
        gap: 8px;
        padding: 10px
    }

    .marketplace-brand {
        flex-basis: 38px;
        width: 38px;
        height: 38px
    }

    .marketplace-copy small {
        font-size: .76rem
    }

    .marketplace-cta {
        font-size: .73rem
    }

    .pdp-banner-art {
        right: -35px;
        opacity: .35
    }
}

.pdp-description {
    white-space: normal
}

.pdp-description-section {
    margin: 34px 0 26px;
    padding: 24px 26px;
    border: 1px solid #e5ebe5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(23,60,53,.035)
}

.pdp-description-section .pdp-section-heading {
    margin-bottom: 14px
}

.pdp-description-section .pdp-section-heading h2,
.product-story-section .pdp-section-heading h2 {
    margin: 0;
    color: #173c35;
    font-size: clamp(1.3rem,2.1vw,1.7rem);
    font-weight: 700
}

.pdp-specifications {
    margin: 14px 0 18px;
    overflow: hidden;
    border: 1px solid #e4ebe5;
    border-radius: 12px;
    background: #fbfcfa
}

.pdp-specifications h3 {
    margin: 0;
    padding: 11px 15px;
    border-bottom: 1px solid #e4ebe5;
    background: #f4f7f2;
    color: #284b3d;
    font-size: .94rem;
    font-weight: 700
}

.pdp-specifications-table-wrap {
    width: 100%;
    overflow-x: auto
}

.pdp-specifications-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    color: #485e54;
    font-size: .88rem;
    line-height: 1.45
}

.pdp-specifications-table tr + tr {
    border-top: 1px solid #e9eee9
}

.pdp-specifications-table th,
.pdp-specifications-table td {
    padding: 9px 15px;
    vertical-align: top;
    text-align: left
}

.pdp-specifications-table th {
    width: 32%;
    color: #718078;
    font-weight: 600
}

.pdp-specifications-table td {
    color: #263f36;
    font-weight: 600
}

.pdp-description-section .pdp-description {
    max-width: 100%;
    color: #64736a;
    font-size: .95rem;
    line-height: 1.7
}

.product-story-section {
    margin: 30px 0 36px
}

.product-story-section .pdp-section-heading {
    margin-bottom: 14px
}

.product-story-section .pdp-section-heading p {
    margin: 5px 0 0;
    color: #748279;
    font-size: .9rem
}

.product-story-images {
    gap: 12px
}

@media(max-width:600px) {
    .pdp-description-section {
        margin: 24px 0 20px;
        padding: 18px 15px;
        border-radius: 14px
    }

    .pdp-specifications-table {
        font-size: .82rem
    }

    .pdp-specifications-table th,
    .pdp-specifications-table td {
        padding: 8px 10px
    }

    .pdp-specifications-table th {
        width: 40%
    }
}

    .pdp-description p {
        margin: 0 0 12px
    }

    .pdp-description ul, .pdp-description ol {
        margin: 0 0 14px;
        padding-left: 24px
    }

/* Product page redesign: compact spacing and clear purchase hierarchy. */
.pdp-redesign {
    width: min(100% - 32px, 1320px);
    max-width: 1320px;
    padding-top: 18px;
    padding-bottom: 68px
}

.pdp-redesign .pdp-breadcrumb {
    margin: 0 0 18px;
    color: #718078;
    font-size: .85rem
}

.pdp-redesign .pdp-main {
    grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr);
    gap: clamp(28px,4vw,58px);
    padding: 8px 0 34px;
    border-bottom: 1px solid #e8ede7
}

.pdp-redesign .pdp-image-stage,
.pdp-redesign .pdp-image-stage img {
    height: 430px;
    min-height: 430px
}

.pdp-redesign .pdp-image-stage {
    border-radius: 16px;
    background: #fff
}

.pdp-redesign .pdp-image-stage img {
    padding: 28px
}

.pdp-redesign .pdp-image-thumbs {
    display: flex;
    gap: 9px;
    margin-top: 12px;
    overflow-x: auto;
    padding: 2px 1px 6px
}

.pdp-redesign .pdp-image-thumb {
    display: grid;
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    place-items: center;
    overflow: hidden;
    padding: 5px;
    border: 1px solid #e1e8e1;
    border-radius: 9px;
    background: #fff;
    cursor: pointer
}

.pdp-redesign .pdp-image-thumb.is-active,
.pdp-redesign .pdp-image-thumb:focus-visible {
    border-color: #55836b;
    outline: 2px solid rgba(85,131,107,.2)
}

.pdp-redesign .pdp-image-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.pdp-redesign .pdp-gallery-note {
    justify-content: flex-start;
    margin-top: 4px;
    font-size: .78rem
}

.pdp-redesign .pdp-info {
    padding: 4px 0
}

.pdp-redesign .pdp-category {
    margin-bottom: 8px;
    font-size: .76rem;
    letter-spacing: .11em
}

.pdp-redesign .pdp-info h1 {
    color: #163d35;
    font-size: clamp(1.65rem,2.35vw,2.35rem);
    font-weight: 650;
    letter-spacing: -.025em;
    line-height: 1.22
}

.pdp-redesign .pdp-identifiers {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    margin-top: 10px;
    color: #75837a;
    font-size: .82rem
}

.pdp-redesign .pdp-identifier-brand {
    color: #3f6a54;
    font-weight: 700
}

.pdp-redesign .pdp-rating-note {
    width: fit-content;
    margin-top: 12px;
    font-size: .85rem
}

.pdp-redesign .pdp-rating-note .pdp-review-stars,
.pdp-redesign .pdp-review-summary .pdp-review-stars {
    font-size: 1rem
}

.pdp-redesign .pdp-short-description {
    margin: 13px 0 16px;
    color: #66756b;
    font-size: .95rem;
    line-height: 1.6
}

.pdp-redesign .pdp-price-line {
    gap: 9px;
    margin: 15px 0 4px
}

.pdp-redesign .pdp-price {
    font-size: 1.95rem;
    font-weight: 700
}

.pdp-redesign .pdp-old-price {
    font-size: 1rem
}

.pdp-redesign .pdp-savings {
    font-size: .78rem
}

.pdp-redesign .pdp-availability,
.pdp-redesign .pdp-stock-quantity,
.pdp-redesign .pdp-shipping-note {
    margin: 7px 0;
    font-size: .84rem
}

.pdp-redesign .pdp-availability { color: #36734c }
.pdp-redesign .pdp-stock-quantity { color: #75837a }
.pdp-redesign .pdp-shipping-note { color: #69796e }

.pdp-redesign .pdp-buy-row {
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px
}

.pdp-redesign .pdp-quantity-picker {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    height: 44px;
    overflow: hidden;
    border: 1px solid #dfe7df;
    border-radius: 9px;
    background: #fff
}

.pdp-redesign .pdp-quantity-picker button {
    width: 38px;
    height: 42px;
    border: 0;
    background: #f4f7f3;
    color: #24483c;
    font-size: 1.1rem;
    cursor: pointer
}

.pdp-redesign .pdp-quantity-picker button:disabled {
    color: #aeb8af;
    cursor: not-allowed
}

.pdp-redesign .pdp-quantity-picker input {
    width: 48px;
    height: 42px;
    padding: 0 3px;
    border: 0;
    color: #24483c;
    text-align: center;
    font-size: .9rem;
    font-weight: 650;
    appearance: textfield
}

.pdp-redesign .pdp-quantity-picker input::-webkit-inner-spin-button,
.pdp-redesign .pdp-quantity-picker input::-webkit-outer-spin-button { margin: 0; appearance: none }

.pdp-redesign .pdp-add-cart {
    flex: 1 1 190px;
    max-width: 330px;
    min-height: 44px;
    font-size: .92rem
}

.pdp-redesign .pdp-price-contact {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    color: #285642;
    font-weight: 700
}

.pdp-redesign .pdp-secondary-actions {
    gap: 8px;
    margin-top: 10px
}

.pdp-redesign .pdp-secondary-actions button {
    min-height: 38px;
    padding: 7px 12px;
    font-size: .84rem
}

.pdp-redesign .pdp-delivery-note {
    gap: 10px;
    margin-top: 16px;
    padding: 11px 13px;
    border: 1px solid #e9eee8;
    background: #f8faf7
}

.pdp-redesign .pdp-delivery-note > i { font-size: 1.45rem }
.pdp-redesign .pdp-delivery-note strong { font-size: .86rem }
.pdp-redesign .pdp-delivery-note small { font-size: .78rem }

.pdp-redesign .pdp-highlights-section,
.pdp-redesign .pdp-description-section,
.pdp-redesign .pdp-reviews-section,
.pdp-redesign .pdp-related-section {
    margin: 30px 0
}

.pdp-redesign .pdp-section-heading { margin-bottom: 14px }

.pdp-redesign .pdp-section-heading h2,
.pdp-redesign .marketplace-heading h2 {
    font-size: clamp(1.3rem,2vw,1.7rem);
    letter-spacing: -.02em
}

.pdp-redesign .pdp-highlights-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px 20px;
    margin: 0;
    padding: 0;
    list-style: none
}

.pdp-redesign .pdp-highlights-list li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #53665a;
    font-size: .9rem;
    line-height: 1.5
}

.pdp-redesign .pdp-highlights-list li strong { color: #294b3b }

.pdp-redesign .pdp-highlight-icon {
    display: grid;
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    place-items: center;
    border-radius: 50%;
    background: #edf4ed;
    color: #47765b;
    font-size: .82rem
}

.pdp-redesign .pdp-description-section {
    padding: 22px 24px;
    border: 1px solid #e7ece6;
    border-radius: 14px;
    background: #fff
}

.pdp-redesign .pdp-spec-group th {
    padding-top: 11px;
    padding-bottom: 7px;
    background: #f3f6f2;
    color: #355c47;
    font-size: .79rem;
    letter-spacing: .035em;
    text-transform: uppercase
}

.pdp-redesign .pdp-spec-group:not(:first-child) th { border-top: 1px solid #e4ebe5 }

.pdp-redesign .pdp-description {
    font-size: .93rem;
    line-height: 1.7
}

.pdp-redesign .pdp-description > * + * { margin-top: 12px }
.pdp-redesign .pdp-description h2,
.pdp-redesign .pdp-description h3,
.pdp-redesign .pdp-description h4,
.pdp-redesign .pdp-description h5 { margin: 18px 0 8px; color: #25483a; line-height: 1.35 }
.pdp-redesign .pdp-description img { display: block; width: auto; max-width: 100%; height: auto; margin: 16px auto; border-radius: 10px }
.pdp-redesign .pdp-description table { width: 100%; max-width: 100%; border-collapse: collapse; overflow-wrap: anywhere }
.pdp-redesign .pdp-description th,
.pdp-redesign .pdp-description td { padding: 8px 10px; border: 1px solid #e7ece6; text-align: left; vertical-align: top }
.pdp-redesign .pdp-description ul,
.pdp-redesign .pdp-description ol { padding-left: 22px }
.pdp-redesign .pdp-description a { color: #326a58; text-decoration: underline; text-underline-offset: 2px }

/* Amazon A+ descriptions use these class names but do not include the Amazon stylesheet. */
.pdp-redesign .pdp-description .aplus-v2,
.pdp-redesign .pdp-description .aplus-content-wrapper,
.pdp-redesign .pdp-description .aplus-module-wrapper,
.pdp-redesign .pdp-description .apm-fixed-width { width: 100%; max-width: 970px; margin-right: auto; margin-left: auto }
.pdp-redesign .pdp-description .aplus-module { margin: 0 auto 22px }
.pdp-redesign .pdp-description .apm-spacing { padding-top: 8px; padding-bottom: 8px }
.pdp-redesign .pdp-description .apm-flex { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start }
.pdp-redesign .pdp-description .apm-flex-item-third-width { min-width: 0 }
.pdp-redesign .pdp-description .apm-text-center { text-align: center }
.pdp-redesign .pdp-description .apm-hero-image img { width: 100%; max-width: 970px; margin: 0 auto; border-radius: 0 }
.pdp-redesign .pdp-description .a-size-large { font-size: 1.35rem }
.pdp-redesign .pdp-description .a-size-medium { font-size: 1.08rem }
.pdp-redesign .pdp-description .a-size-small { font-size: .84rem }
.pdp-redesign .pdp-description .a-color-secondary { color: #6d7973 }
.pdp-redesign .pdp-description .a-color-base { color: #1d2925 }
.pdp-redesign .pdp-description .a-text-bold { font-weight: 700 }
.pdp-redesign .pdp-description .a-unordered-list { padding-left: 22px }
.pdp-redesign .pdp-description .a-spacing-mini { margin-bottom: 6px }
.pdp-redesign .pdp-description .a-spacing-small { margin-bottom: 10px }
.pdp-redesign .pdp-description .a-spacing-medium { margin-bottom: 16px }
.pdp-redesign .pdp-description .a-spacing-large { margin-bottom: 24px }
.pdp-redesign .pdp-description .prodDetTable { font-size: .88rem }
.pdp-redesign .pdp-description .prodDetTable th { width: 35%; background: #f6f8f5; color: #596b60; font-weight: 600 }
.pdp-redesign .pdp-description .prodDetTable td { color: #263f36 }
.pdp-redesign .pdp-description .a-divider-normal,
.pdp-redesign .pdp-description .bucketDivider { height: 1px; border: 0; background: #e7ece6 }

@media (max-width: 767px) {
    .pdp-redesign .pdp-description .apm-flex { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px }
    .pdp-redesign .pdp-description .aplus-module { margin-bottom: 16px }
}

@media (max-width: 480px) {
    .pdp-redesign .pdp-description .apm-flex { grid-template-columns: minmax(0, 1fr) }
    .pdp-redesign .pdp-description .prodDetTable th { width: 42% }
}

.pdp-redesign .marketplace-panel {
    margin: 28px 0 34px;
    padding: 20px 22px;
    border-radius: 14px;
    box-shadow: none
}

.pdp-redesign .marketplace-heading { align-items: center; margin-bottom: 14px }
.pdp-redesign .marketplace-disclaimer { font-size: .8rem }
.pdp-redesign .marketplace-options { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px }
.pdp-redesign .marketplace-option { min-height: 74px; padding: 10px 11px }
.pdp-redesign .marketplace-option:hover { transform: none; box-shadow: none }
.pdp-redesign .marketplace-brand { flex-basis: 37px; width: 37px; height: 37px; font-size: 1.8rem }
.pdp-redesign .marketplace-copy strong { font-size: .9rem }
.pdp-redesign .marketplace-copy small { font-size: .73rem; line-height: 1.35 }
.pdp-redesign .marketplace-store-price { margin: 3px 0 0; font-size: .87rem }
.pdp-redesign .marketplace-cta { font-size: .72rem; white-space: normal; text-align: right }
.pdp-redesign .marketplace-footnote { font-size: .77rem }

.pdp-redesign .pdp-review-summary,
.pdp-redesign .pdp-review-card { border-color: #e7ece6 }
.pdp-redesign .pdp-reviews-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px }
.pdp-redesign .pdp-review-card { margin: 0; padding: 15px }
.pdp-redesign .pdp-review-card h3 { font-size: .98rem }
.pdp-redesign .pdp-review-body { font-size: .87rem; line-height: 1.55 }
.pdp-redesign .pdp-load-more-reviews {
    display: block;
    min-height: 40px;
    margin: 14px auto 0;
    padding: 8px 18px;
    border: 1px solid #dfe8df;
    border-radius: 8px;
    background: #fff;
    color: #315a45;
    font-weight: 650
}
.pdp-redesign .pdp-load-more-reviews:disabled { opacity: .6; cursor: wait }

.pdp-redesign .pdp-related-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px }
.pdp-redesign .pdp-related-card { padding: 10px; transition: border-color .18s,box-shadow .18s }
.pdp-redesign .pdp-related-card:hover { transform: none; border-color: #cfddd1; box-shadow: 0 5px 16px rgba(23,60,53,.06) }
.pdp-redesign .pdp-related-image { height: 145px }
.pdp-redesign .pdp-related-card > strong { font-size: .9rem }
.pdp-redesign .pdp-related-rating { display: flex; align-items: center; gap: 6px; margin-top: 6px }
.pdp-redesign .pdp-related-rating .pdp-review-stars { font-size: .9rem }
.pdp-redesign .pdp-related-rating small { color: #7d8c82; font-size: .75rem }
.pdp-redesign .pdp-related-price { margin-top: 5px; font-size: .92rem }

.pdp-redesign .pdp-related-options {
    margin: 14px 0 10px;
    color: var(--store-ink, #1d2925)
}
.pdp-redesign .pdp-related-options h2 {
    margin: 0 0 8px;
    color: var(--store-ink, #1d2925);
    font-size: .9rem;
    font-weight: 650
}
.pdp-redesign .pdp-related-options-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px
}
.pdp-redesign .pdp-related-option {
    display: flex;
    min-width: 0;
    min-height: 134px;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 8px;
    overflow: hidden;
    border: 1px solid var(--store-line, #dfe7df);
    border-radius: 10px;
    background: var(--store-surface, #fff);
    color: var(--store-ink, #1d2925);
    text-decoration: none;
    transition: border-color .18s, box-shadow .18s, transform .18s
}
.pdp-redesign .pdp-related-option:hover,
.pdp-redesign .pdp-related-option:focus-visible {
    border-color: var(--store-green, #326a58);
    box-shadow: 0 4px 14px rgba(23, 60, 53, .1);
    color: var(--store-ink, #1d2925);
    text-decoration: none;
    transform: translateY(-1px)
}
.pdp-redesign .pdp-related-option:focus-visible { outline: 2px solid var(--store-green, #326a58); outline-offset: 2px }
.pdp-redesign .pdp-related-option.is-current {
    border: 2px solid var(--store-green, #326a58);
    padding: 7px
}
.pdp-redesign .pdp-related-option-image {
    display: grid;
    width: 100%;
    height: 66px;
    place-items: center;
    overflow: hidden;
    border-radius: 6px;
    background: var(--store-sand, #f7f5ef)
}
.pdp-redesign .pdp-related-option-image img { width: 100%; height: 100%; object-fit: contain }
.pdp-redesign .pdp-related-option-name {
    display: -webkit-box;
    width: 100%;
    overflow: hidden;
    color: var(--store-ink, #1d2925);
    font-size: .75rem;
    font-weight: 650;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
.pdp-redesign .pdp-related-option-price { color: var(--store-ink, #1d2925); font-size: .76rem; font-weight: 700 }
.pdp-redesign .pdp-related-option-stock { color: var(--store-muted, #6d7973); font-size: .67rem; line-height: 1.2 }
.pdp-redesign .pdp-related-option-stock.is-available { color: var(--store-green, #326a58) }
.pdp-redesign .pdp-variant-group { grid-column: 1 / -1; margin: 13px 0 10px }
.pdp-redesign .pdp-variant-group h3 { margin: 0 0 6px; color: var(--store-ink, #1d2925); font-size: .86rem; font-weight: 500 }
.pdp-redesign .pdp-variant-group h3 strong { font-weight: 700 }
.pdp-redesign .pdp-variant-choices { display: flex; flex-wrap: wrap; gap: 7px }
.pdp-redesign .pdp-variant-swatch {
    display: flex;
    width: 76px;
    min-height: 126px;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 5px;
    border: 1px solid var(--store-line, #9ca3a0);
    border-radius: 9px;
    background: var(--store-surface, #fff);
    color: var(--store-ink, #1d2925);
    font-size: .72rem;
    line-height: 1.2;
    text-decoration: none
}
.pdp-redesign .pdp-variant-swatch:hover,
.pdp-redesign .pdp-variant-swatch:focus-visible,
.pdp-redesign .pdp-variant-swatch.is-selected { border: 2px solid var(--store-green, #326a58); padding: 4px; color: var(--store-ink, #1d2925); text-decoration: none }
.pdp-redesign .pdp-variant-swatch.is-unavailable { border: 1px dashed #aeb3b0; background: #e8e9e8; color: #737976; cursor: not-allowed; filter: grayscale(.45); opacity: .7 }
.pdp-redesign .pdp-variant-swatch.is-unavailable .pdp-variant-price,
.pdp-redesign .pdp-variant-swatch.is-unavailable small { color: #737976 }
.pdp-redesign .pdp-variant-swatch:focus-visible,
.pdp-redesign .pdp-variant-chip:focus-visible { outline: 2px solid var(--store-green, #326a58); outline-offset: 2px }
.pdp-redesign .pdp-variant-color { display: block; width: 100%; height: 56px; border: 1px solid rgba(0,0,0,.13); border-radius: 50% }
.pdp-redesign .pdp-variant-price { margin-top: 3px; color: var(--store-ink, #1d2925); overflow-wrap: anywhere }
.pdp-redesign .pdp-variant-swatch small { color: var(--store-muted, #6d7973); font-size: .63rem; line-height: 1.2 }
.pdp-redesign .pdp-variant-chip {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border: 1px solid var(--store-line, #9ca3a0);
    border-radius: 8px;
    background: var(--store-surface, #fff);
    color: var(--store-ink, #1d2925);
    font-size: .8rem;
    line-height: 1.2;
    text-decoration: none
}
.pdp-redesign .pdp-variant-chip:hover,
.pdp-redesign .pdp-variant-chip.is-selected { border: 2px solid var(--store-green, #326a58); padding: 5px 9px; color: var(--store-ink, #1d2925); text-decoration: none }
.pdp-redesign .pdp-variant-chip.is-unavailable { border: 1px dashed #aeb3b0; background: #e8e9e8; color: #737976; cursor: not-allowed }

@media (max-width: 991px) {
    .pdp-redesign .pdp-main { grid-template-columns: minmax(0,1fr) minmax(300px,.95fr); gap: 26px }
    .pdp-redesign .pdp-image-stage, .pdp-redesign .pdp-image-stage img { height: 370px; min-height: 370px }
    .pdp-redesign .marketplace-options { grid-template-columns: 1fr }
    .pdp-redesign .pdp-related-grid { grid-template-columns: repeat(3,minmax(0,1fr)) }
}

@media (max-width: 767px) {
    .pdp-redesign { width: min(100% - 22px, 640px); padding-top: 12px; padding-bottom: 48px }
    .pdp-redesign .pdp-main { grid-template-columns: 1fr; gap: 12px; padding-bottom: 24px }
    .pdp-redesign .pdp-image-stage, .pdp-redesign .pdp-image-stage img { height: min(82vw,370px); min-height: 280px }
    .pdp-redesign .pdp-image-stage img { padding: 20px }
    .pdp-redesign .pdp-info h1 { font-size: clamp(1.5rem,6vw,2rem) }
    .pdp-redesign .pdp-price { font-size: 1.75rem }
    .pdp-redesign .pdp-highlights-list { grid-template-columns: 1fr; gap: 8px }
    .pdp-redesign .pdp-description-section { padding: 17px 14px }
    .pdp-redesign .marketplace-panel { padding: 16px 13px }
    .pdp-redesign .marketplace-heading { align-items: flex-start; flex-direction: column; gap: 5px }
    .pdp-redesign .marketplace-options { grid-template-columns: 1fr }
    .pdp-redesign .pdp-reviews-list { grid-template-columns: 1fr }
    .pdp-redesign .pdp-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px }
    .pdp-redesign .pdp-related-image { height: 120px }
    .pdp-redesign .pdp-related-options-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px }
}
@media (max-width: 380px) {
    .pdp-redesign .pdp-related-options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) }
}

    .pdp-description li {
        padding: 2px 0 2px 3px
    }

    .pdp-description strong, .pdp-description b {
        color: #345744;
        font-weight: 600
    }

    .pdp-description h3, .pdp-description h4 {
        margin: 17px 0 8px;
        color: #25483a;
        font-size: 1.2rem;
        font-weight: 600
    }

.other-stores-section {
    margin: 40px 0 48px;
    padding: 28px 30px;
    border: 1px solid #e6ebe5;
    border-radius: 20px;
    background: linear-gradient(145deg,#fbfcfa,#f5f8f4)
}

    .other-stores-section .marketplace-heading {
        margin-bottom: 16px
    }

.other-stores-list {
    display: grid;
    gap: 10px
}

.other-store-card {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) minmax(115px,.32fr) minmax(218px,auto);
    align-items: center;
    gap: 14px;
    padding: 14px 15px;
    border: 1px solid #e8ede7;
    border-radius: 13px;
    background: #fff;
    transition: transform .18s,border-color .18s,box-shadow .18s
}

    .other-store-card:hover {
        transform: translateY(-1px);
        border-color: #cbdacc;
        box-shadow: 0 7px 18px rgba(23,60,53,.05)
    }

.other-store-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: #edf4ee;
    color: #3d7053;
    font-size: 2rem
}

.other-store-details {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px
}

    .other-store-details > strong {
        color: #26473a;
        font-size: 1rem;
        font-weight: 600
    }

    .other-store-details > span {
        overflow: hidden;
        color: #7e8b82;
        font-size: .86rem;
        text-overflow: ellipsis;
        white-space: nowrap
    }

.other-store-phone {
    color: #668674;
    font-size: .85rem
}

.other-store-offer {
    display: flex;
    flex-direction: column;
    gap: 5px
}

    .other-store-offer > strong {
        color: #24483c;
        font-size: 1.08rem
    }

.store-stock-available, .store-stock-check {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #4b865d;
    font-size: .82rem
}

.store-stock-check {
    color: #9b7b45
}

    .store-stock-available i, .store-stock-check i {
        font-size: .6rem
    }

.store-direction-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 104px;
    padding: 9px 12px;
    border-radius: 9px;
    background: #e9f2eb;
    color: #315f50;
    font-size: .88rem;
    font-weight: 600;
    white-space: nowrap
}

    .store-direction-link:hover {
        background: #315f50;
        color: #fff
    }

.store-direction-unavailable {
    color: #98a29a;
    font-size: .8rem
}

.other-store-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px
}

.store-visit-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 104px;
    padding: 9px 12px;
    border: 1px solid #315f50;
    border-radius: 9px;
    background: #315f50;
    color: #fff;
    font-size: .88rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background .18s,color .18s,transform .18s
}

.store-visit-link:hover, .store-visit-link:focus-visible {
    transform: translateY(-1px);
    background: #24483c;
    color: #fff;
    text-decoration: none
}

.store-visit-link:focus-visible, .store-direction-link:focus-visible {
    outline: 3px solid rgba(49,95,80,.35);
    outline-offset: 2px
}

@media(max-width:767px) {
    .other-stores-section {
        margin: 28px 0;
        padding: 20px 14px
    }

    .other-store-card {
        grid-template-columns: 38px minmax(0,1fr);
        gap: 10px;
        padding: 12px
    }

    .other-store-icon {
        width: 36px;
        height: 36px
    }

    .other-store-offer {
        grid-column: 2;
        grid-row: 2;
        flex-direction: row;
        align-items: center;
        gap: 10px
    }

    .other-store-actions {
        grid-column: 2;
        grid-row: 3;
        justify-content: flex-start;
        flex-wrap: wrap
    }

    .store-visit-link, .store-direction-link {
        min-width: 104px;
        padding: 8px 10px;
        font-size: .78rem
    }

    .store-direction-unavailable {
        font-size: .68rem
    }

    .other-store-details > span {
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .marketplace-options {
        gap: 9px
    }
}

.pdp-info h1 {
    max-width: 19ch;
    font-size: clamp(1.9rem,2.7vw,2.65rem);
    line-height: 1.2;
    letter-spacing: -.035em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.pdp-short-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.product-story-section {
    margin: 50px 0
}

    .product-story-section .pdp-section-heading p {
        margin: 7px 0 0;
        color: #78867d;
        font-size: .98rem
    }

.product-story-images {
    display: grid;
    /*gap: 18px*/
}

.pdp-redesign .product-story-images {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0px;
    margin-top: 14px
}

.pdp-redesign .product-story-image {
    min-height: 0;
    height: clamp(210px,24vw,330px);
    padding: 8px;
    border: 1px solid #e8ece7;
    border-radius: 14px;
    background: #f8f9f6;
    box-shadow: none
}

.pdp-redesign .product-story-image img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain
}

.product-story-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    overflow: hidden;
    margin: 0;
    /*border: 1px solid #e8ece7;*/
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(24,55,43,.045)
}

    .product-story-image img {
        display: block;
        width: 100%;
        height: auto;
        max-height: 880px;
        object-fit: contain
    }

        .product-story-image img[src=""] {
            display: none
        }

.pdp-image-thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin-top: 12px;
    padding: 2px 1px 8px;
    scrollbar-width: thin
}

.pdp-image-thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    padding: 5px;
    overflow: hidden;
    border: 1px solid #e5eae4;
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s,box-shadow .18s
}

    .pdp-image-thumb:hover, .pdp-image-thumb.is-active {
        border-color: #507a5f;
        box-shadow: 0 0 0 2px rgba(80,122,95,.12)
    }

    .pdp-image-thumb img {
        width: 100%;
        height: 100%;
        object-fit: contain
    }

.marketplace-copy .marketplace-store-price {
    display: block;
    margin: 4px 0 0;
    font-size: .92rem
}

@media(max-width:767px) {
    .pdp-info h1 {
        max-width: 100%;
        font-size: clamp(1.8rem,7vw,2.25rem);
        -webkit-line-clamp: 3
    }

    .product-story-section {
        margin: 36px 0
    }

    .product-story-images {
        gap: 12px
    }

    .product-story-image {
        border-radius: 12px
    }

        .product-story-image img {
            max-height: 72vh
        }
}

.footer-category-links > a {
    display: block;
    color: var(--store-muted);
    font-size: 1.15rem;
    margin: 9px 0
}

/* Product reviews */
.pdp-reviews-section {
    margin: 48px 0 56px;
    padding: 30px;
    border: 1px solid #e3eae2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(25,61,51,.045)
}

.pdp-reviews-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px
}

    .pdp-reviews-heading h2 {
        margin: 5px 0 8px;
        color: #183e36;
        font-size: 2rem;
        font-weight: 600;
        letter-spacing: -.035em
    }

    .pdp-reviews-heading p {
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 0;
        color: #77857c
    }

        .pdp-reviews-heading p > strong {
            color: #264d40
        }

.pdp-review-stars {
    display: inline-flex;
    gap: 2px;
    color: #d8ded7;
    white-space: nowrap
}

    .pdp-review-stars span.is-filled {
        color: #d29a35
    }

.pdp-review-primary, .pdp-review-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 17px;
    border: 1px solid #173f37;
    border-radius: 9px;
    background: #173f37;
    color: #fff;
    font-weight: 600;
    cursor: pointer
}

    .pdp-review-primary:hover {
        background: #24584b;
        color: #fff
    }

.pdp-review-secondary {
    border-color: #dce5db;
    background: #fff;
    color: #34594c
}

.pdp-review-editor {
    max-width: 740px;
    margin: 20px 0 26px;
    padding: 22px;
    border: 1px solid #e0e9de;
    border-radius: 14px;
    background: #f8faf7
}

    .pdp-review-editor h3 {
        margin: 0 0 16px;
        color: #193f36;
        font-size: 1.25rem
    }

.pdp-review-label {
    display: block;
    margin: 13px 0 7px;
    color: #37594c;
    font-size: .9rem;
    font-weight: 600
}

.pdp-review-editor input, .pdp-review-editor textarea {
    display: block;
    width: 100%;
    padding: 11px 13px;
    border: 1px solid #dbe5dc;
    border-radius: 8px;
    background: #fff;
    color: #28483e;
    font: inherit
}

.pdp-review-editor textarea {
    resize: vertical;
    min-height: 105px
}

.pdp-review-rating {
    display: flex;
    gap: 5px
}

    .pdp-review-rating button {
        padding: 0 3px;
        border: 0;
        background: none;
        color: #d4dbd4;
        font-size: 1.8rem;
        line-height: 1;
        cursor: pointer
    }

        .pdp-review-rating button.is-selected {
            color: #d29a35
        }

.pdp-review-editor-actions {
    display: flex;
    gap: 9px;
    margin-top: 16px
}

.pdp-review-moderation-note {
    display: block;
    margin-top: 12px;
    color: #829087
}

.pdp-review-notice {
    margin: 12px 0;
    padding: 11px 14px;
    border: 1px solid #e8dfc8;
    border-radius: 9px;
    background: #fffaf0;
    color: #795c20;
    font-size: .92rem
}

    .pdp-review-notice.is-success {
        border-color: #d7e8d9;
        background: #f2f8f1;
        color: #286145
    }

.pdp-reviews-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px
}

.pdp-review-card {
    min-width: 0;
    padding: 19px;
    border: 1px solid #e6ece5;
    border-radius: 12px;
    background: #fff
}

.pdp-review-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px
}

    .pdp-review-card-top time {
        color: #87938b;
        font-size: .82rem
    }

.pdp-review-card h3 {
    margin: 10px 0 7px;
    color: #22463b;
    font-size: 1.05rem;
    font-weight: 600
}

.pdp-review-body {
    margin: 0;
    color: #617168;
    line-height: 1.65;
    white-space: pre-line;
    overflow-wrap: anywhere
}

.pdp-review-byline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
    color: #687970;
    font-size: .86rem
}

    .pdp-review-byline strong {
        color: #354f44
    }

.pdp-review-verified {
    color: #56815b
}

.pdp-review-pending {
    padding: 3px 8px;
    border-radius: 20px;
    background: #fff4dd;
    color: #85631f;
    font-size: .75rem
}

.pdp-review-edit {
    padding: 0;
    border: 0;
    background: none;
    color: #205648;
    text-decoration: underline;
    cursor: pointer
}

.pdp-review-votes {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
    color: #819087;
    font-size: .83rem
}

    .pdp-review-votes button {
        padding: 6px 9px;
        border: 1px solid #dfe8df;
        border-radius: 7px;
        background: #fff;
        color: #476458;
        cursor: pointer
    }

        .pdp-review-votes button.is-selected {
            border-color: #b7d0bd;
            background: #f0f7f0;
            color: #20533d
        }

.pdp-review-reply {
    margin-top: 13px;
    padding: 12px 14px;
    border-left: 3px solid #9eb99e;
    border-radius: 0 8px 8px 0;
    background: #f6f8f4
}

    .pdp-review-reply strong {
        color: #305344;
        font-size: .88rem
    }

    .pdp-review-reply p {
        margin: 5px 0 0;
        color: #63746a;
        white-space: pre-line
    }

.pdp-reviews-empty {
    margin: 0;
    padding: 24px;
    border: 1px dashed #dce6dc;
    border-radius: 12px;
    color: #78877d;
    text-align: center
}

.pdp-review-type-ratings {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px
}

.pdp-review-type-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border-radius: 7px;
    background: #f4f7f2;
    color: #6d7b71;
    font-size: .78rem
}

    .pdp-review-type-rating strong {
        color: #476254;
        font-weight: 600
    }

@media(max-width:767px) {
    .pdp-reviews-section {
        margin: 34px 0;
        padding: 19px 15px
    }

    .pdp-reviews-heading {
        align-items: flex-start;
        flex-direction: column
    }

        .pdp-reviews-heading h2 {
            font-size: 1.7rem
        }

    .pdp-reviews-list {
        grid-template-columns: 1fr
    }

    .pdp-review-editor {
        padding: 17px
    }

    .pdp-review-editor-actions {
        flex-wrap: wrap
    }
}

.profile-order-status-row b.status-delivered {
    background: var(--store-page);
}

@media(max-width:767px) {
    .pdp-redesign .product-story-images {
        grid-template-columns: 1fr;
        gap: 0px;
    }

    .pdp-redesign .product-story-image {
        height: clamp(190px,62vw,320px)
    }
}

/* Keep the first product banner visible and reveal the rest on request. */
.pdp-redesign .product-story-images {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
    margin-top: 14px
}

.pdp-redesign .product-story-images:not(.is-expanded) .product-story-image:nth-child(n+2) {
    display: none
}

.pdp-redesign .product-story-image {
    display: block;
    width: 100%;
    min-height: 0;
    height: auto;
    overflow: visible;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important
}

.pdp-redesign .product-story-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0 auto;
    border: 0;
    border-radius: 0;
    object-fit: contain
}

.pdp-redesign .product-story-show-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 46px;
    margin-top: 16px;
    padding: 10px 18px;
    border: 1px solid var(--store-line, #e5e9e4);
    border-radius: 24px;
    background: #fff;
    color: var(--store-ink, #1d2925);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease
}

.pdp-redesign .product-story-show-more::after {
    content: "›";
    display: inline-block;
    font-size: 1.35rem;
    line-height: 1;
    transition: transform .18s ease
}

.pdp-redesign .product-story-show-more.is-expanded::after {
    transform: rotate(-90deg)
}

.pdp-redesign .product-story-show-more:hover {
    border-color: var(--store-green, #326a58);
    background: var(--store-sand, #f7f5ef)
}

.pdp-redesign .product-story-show-more[hidden] {
    display: none !important
}

/* Product titles are catalog data: keep the complete name visible. */
.pdp-redesign .pdp-info h1#productName {
    display: block;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

@media(max-width:767px) {
    .pdp-redesign .product-story-images {
        gap: 0px
    }

    .pdp-redesign .product-story-show-more {
        min-height: 44px;
        margin-top: 12px
    }
}
