.woocommerce-shop,
.tax-product_cat,
.post-type-archive-product {
    --ml-inner-hero-height: 164px;
}

.ml-product-path {
    background: #fffaf4;
    color: #5a4d40;
    font-size: 14px;
    padding: 18px 0 0;
}

.ml-product-path .ml-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ml-product-path a {
    color: #211817;
    text-decoration: none;
}

.ml-product-path a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Catalog and buying layout extracted from style.css.
 * Existing !important declarations are retained during legacy migration.
 * This file owns these components; do not add competing blocks to style.css.
 */
.woocommerce-shop .ml-shop-page,
.tax-product_cat .ml-shop-page,
.post-type-archive-product .ml-shop-page {
    padding: 18px 0 72px !important;
}

.woocommerce-shop .ml-shop-layout,
.tax-product_cat .ml-shop-layout,
.post-type-archive-product .ml-shop-layout {
    column-gap: 20px !important;
    grid-template-columns: 210px minmax(0, 1fr) !important;
}

.woocommerce-shop .ml-shop-filters,
.tax-product_cat .ml-shop-filters,
.post-type-archive-product .ml-shop-filters {
    align-self: start !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: sticky !important;
    top: calc(var(--ml-stable-header-desktop) + 18px) !important;
}

.woocommerce-shop .ml-shop-filters-head,
.tax-product_cat .ml-shop-filters-head,
.post-type-archive-product .ml-shop-filters-head {
    display: none !important;
}

.woocommerce-shop .ml-shop-view-mode,
.tax-product_cat .ml-shop-view-mode,
.post-type-archive-product .ml-shop-view-mode {
    background: rgba(143, 98, 29, 0.045) !important;
    border: 1px solid rgba(143, 98, 29, 0.18) !important;
    border-radius: 4px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 0 0 22px !important;
    padding: 3px !important;
}

.woocommerce-shop .ml-shop-view-mode button,
.tax-product_cat .ml-shop-view-mode button,
.post-type-archive-product .ml-shop-view-mode button {
    background: transparent !important;
    border: 0 !important;
    border-radius: 3px !important;
    color: rgba(33, 24, 23, 0.64) !important;
    font-family: var(--ml-font-sans) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    min-height: 34px !important;
    padding: 6px 5px !important;
}

.woocommerce-shop .ml-shop-view-mode button.is-active,
.tax-product_cat .ml-shop-view-mode button.is-active,
.post-type-archive-product .ml-shop-view-mode button.is-active {
    background: #241b1b !important;
    color: #fff8eb !important;
}

/* Small line icons, with separate groups for presentation and sort order. */
.ml-shop-layout .ml-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: max-content;
    margin: 0 0 18px auto;
    padding: 0;
    border: 0;
    background: transparent;
}
.ml-shop-layout .ml-shop-toolbar .ml-shop-view-mode {
    display: flex !important;
    gap: 2px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.ml-shop-layout .ml-shop-toolbar button {
    position: relative;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    min-height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: transparent !important;
    color: #716a60 !important;
    cursor: pointer;
    transform: none !important;
    box-shadow: none !important;
}
.ml-shop-layout .ml-shop-toolbar .ml-shop-view-mode button.is-active {
    background: transparent !important;
    color: #71531e !important;
}
.ml-shop-layout .ml-shop-toolbar button[aria-pressed="true"] { color: #71531e !important; }
.ml-shop-toolbar button[aria-pressed="true"]::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: calc(50% - 6px);
    width: 12px;
    height: 2px;
    background: #a5813e;
}
.ml-shop-layout .ml-shop-toolbar button:hover { color: #211817 !important; background: rgba(143,98,29,.05) !important; }
.ml-shop-toolbar svg { display: block; width: 18px; height: 18px; pointer-events: none; }
.ml-shop-layout .ml-shop-toolbar .woocommerce-ordering.ml-shop-sort {
    position: relative;
    display: flex !important;
    float: none !important;
    flex: 0 0 auto;
    width: auto !important;
    margin: 0 !important;
    padding: 0 0 0 10px !important;
    border: 0;
    border-left: 1px solid rgba(143,98,29,.18);
    border-radius: 0;
    background: transparent;
}
.ml-shop-sort-choices { display: flex; gap: 2px; }
.ml-shop-layout .ml-shop-toolbar .woocommerce-ordering.ml-shop-sort select {
    display: none !important;
}
.ml-shop-toolbar button:focus-visible { outline: 2px solid #71531e; outline-offset: 1px; }

@media (min-width: 721px) {
    .ml-shop-layout.has-icon-toolbar .ml-shop-filters { margin-top: 0 !important; }
    .ml-shop-layout.has-icon-toolbar .ml-shop-filters-head + .ml-shop-filter-group { border-top: 0 !important; padding-top: 0 !important; }
}

.woocommerce-shop .ml-shop-filter-group,
.tax-product_cat .ml-shop-filter-group,
.post-type-archive-product .ml-shop-filter-group {
    border-top: 1px solid rgba(143, 98, 29, 0.16) !important;
    margin: 0 !important;
    padding: 18px 0 14px !important;
}

.woocommerce-shop .ml-shop-filter-group h3,
.tax-product_cat .ml-shop-filter-group h3,
.post-type-archive-product .ml-shop-filter-group h3 {
    color: #8f621d !important;
    font-size: 12px !important;
    letter-spacing: 0.13em !important;
    margin: 0 0 8px !important;
}

.woocommerce-shop .ml-shop-filter-list,
.tax-product_cat .ml-shop-filter-list,
.post-type-archive-product .ml-shop-filter-list {
    gap: 0 !important;
}

.woocommerce-shop .ml-shop-filter-list button,
.tax-product_cat .ml-shop-filter-list button,
.post-type-archive-product .ml-shop-filter-list button {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(143, 98, 29, 0.12) !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    color: rgba(33, 24, 23, 0.72) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    min-height: 32px !important;
    padding: 6px 3px !important;
}

.woocommerce-shop .ml-shop-filter-list button::after,
.tax-product_cat .ml-shop-filter-list button::after,
.post-type-archive-product .ml-shop-filter-list button::after {
    background: transparent !important;
    border: 1px solid rgba(143, 98, 29, 0.36) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    height: 14px !important;
    width: 14px !important;
}

.woocommerce-shop .ml-shop-filter-list button:hover,
.woocommerce-shop .ml-shop-filter-list button:focus-visible,
.tax-product_cat .ml-shop-filter-list button:hover,
.tax-product_cat .ml-shop-filter-list button:focus-visible,
.post-type-archive-product .ml-shop-filter-list button:hover,
.post-type-archive-product .ml-shop-filter-list button:focus-visible {
    background: transparent !important;
    color: #8f621d !important;
}

.woocommerce-shop .ml-shop-filter-list button.is-active,
.tax-product_cat .ml-shop-filter-list button.is-active,
.post-type-archive-product .ml-shop-filter-list button.is-active {
    background: transparent !important;
    color: #211817 !important;
}

.woocommerce-shop .ml-shop-filter-list button.is-active::after,
.tax-product_cat .ml-shop-filter-list button.is-active::after,
.post-type-archive-product .ml-shop-filter-list button.is-active::after {
    background: #cba558 !important;
    border-color: #8f621d !important;
    box-shadow: inset 0 0 0 3px #fffaf4 !important;
}

.woocommerce-shop .ml-shop-main > .woocommerce-ordering,
.tax-product_cat .ml-shop-main > .woocommerce-ordering,
.post-type-archive-product .ml-shop-main > .woocommerce-ordering {
    margin: 0 0 10px auto !important;
    width: min(250px, 100%) !important;
}

.woocommerce-shop .ml-shop-main ul.products,
.tax-product_cat .ml-shop-main ul.products,
.post-type-archive-product .ml-shop-main ul.products {
    column-gap: 18px !important;
    row-gap: 24px !important;
    margin-top: 0 !important;
}

.woocommerce-shop ul.products li.product,
.tax-product_cat ul.products li.product,
.post-type-archive-product ul.products li.product {
    background: #fffaf4 !important;
    border: 1px solid rgba(143, 98, 29, 0.15) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    transform: none !important;
}

.woocommerce-shop ul.products li.product:hover,
.woocommerce-shop ul.products li.product:focus-within,
.tax-product_cat ul.products li.product:hover,
.tax-product_cat ul.products li.product:focus-within,
.post-type-archive-product ul.products li.product:hover,
.post-type-archive-product ul.products li.product:focus-within {
    border-color: rgba(143, 98, 29, 0.38) !important;
    box-shadow: 0 10px 24px rgba(33, 24, 23, 0.07) !important;
    transform: none !important;
}

.woocommerce-shop ul.products li.product a img,
.tax-product_cat ul.products li.product a img,
.post-type-archive-product ul.products li.product a img {
    height: 220px !important;
    margin: 0 auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    width: 100% !important;
}

.woocommerce-shop ul.products li.product::before,
.tax-product_cat ul.products li.product::before,
.post-type-archive-product ul.products li.product::before {
    height: 220px !important;
}

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--ml-font-display, Georgia, serif) !important;
    font-weight: 400 !important;
    font-size: clamp(20px, 1.45vw, 23px) !important;
    line-height: 1.16 !important;
    margin: 11px 13px 4px !important;
    min-height: 2.32em !important;
    padding: 0;
}

.woocommerce-shop ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.post-type-archive-product ul.products li.product .price {
    font-family: var(--ml-font-sans) !important;
    font-weight: 600 !important;
    align-items: center !important;
    display: flex !important;
    color: #211817;
    font-size: 19px !important;
    gap: 7px !important;
    line-height: 1 !important;
    margin: 0 13px 12px !important;
}

.woocommerce-shop .ml-loop-actions,
.tax-product_cat .ml-loop-actions,
.post-type-archive-product .ml-loop-actions {
    gap: 7px !important;
    margin: auto 13px 13px !important;
}

.woocommerce-shop .ml-loop-quantity,
.tax-product_cat .ml-loop-quantity,
.post-type-archive-product .ml-loop-quantity {
    border-radius: var(--ml-control-radius, 2px) !important;
    height: 46px !important;
    max-width: 150px !important;
    grid-template-columns: 44px minmax(40px, 1fr) 44px !important;
}

.woocommerce-shop .ml-loop-quantity button,
.woocommerce-shop .ml-loop-quantity input,
.tax-product_cat .ml-loop-quantity button,
.tax-product_cat .ml-loop-quantity input,
.post-type-archive-product .ml-loop-quantity button,
.post-type-archive-product .ml-loop-quantity input {
    height: 44px !important;
    min-width: 44px !important;
    font-family: var(--ml-font-sans) !important;
}

.woocommerce-shop ul.products li.product .ml-loop-actions .button,
.tax-product_cat ul.products li.product .ml-loop-actions .button,
.post-type-archive-product ul.products li.product .ml-loop-actions .button {
    border-radius: var(--ml-control-radius, 2px) !important;
    font: 600 12px/1.4 var(--ml-font-sans) !important;
    letter-spacing: 0.06em !important;
    min-height: 44px !important;
    background: var(--ml-control-gold, #c3a35f) !important;
    color: var(--ml-control-ink, #211b17) !important;
}

html.ml-shop-view-grouped .ml-loop-package-options {
    display: grid !important;
    gap: 4px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin: 4px 13px 10px !important;
}

html.ml-shop-view-grouped .ml-loop-package-options [data-ml-package-option] {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid rgba(143, 98, 29, 0.2) !important;
    border-radius: 3px !important;
    color: #211817 !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 4px 2px !important;
    text-decoration: none !important;
}

html.ml-shop-view-grouped .ml-loop-package-options [data-ml-package-option].is-active {
    background: #241b1b !important;
    border-color: #241b1b !important;
    color: #fff8eb !important;
}

html.ml-shop-view-grouped .ml-loop-package-options b {
    font: 600 12px/1 var(--ml-font-sans) !important;
    line-height: 1 !important;
}

html.ml-shop-view-grouped .ml-loop-package-options small,
html.ml-shop-view-grouped ul.products li.product .ml-preferred-volume {
    display: none !important;
}

body.single-product.woocommerce .ml-shop-page {
    padding: 24px 0 66px !important;
}

body.single-product.woocommerce div.product.product {
    column-gap: 40px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.single-product.woocommerce div.product.product .summary {
    padding-top: 0 !important;
}

/* Product editorial headings use the same serif as the rest of the site. */
body.single-product.woocommerce div.product.product .woocommerce-tabs .panel > h2,
body.single-product.woocommerce div.product.product .related > h2 {
    font: 400 clamp(26px, 2.5vw, 34px)/1.2 Georgia, 'Times New Roman', serif;
    letter-spacing: -.025em;
}

body.single-product.woocommerce div.product.product .product_title {
    font-family: var(--ml-font-display, Georgia, serif) !important;
    font-weight: 400 !important;
    font-size: clamp(36px, 3.8vw, 52px) !important;
    line-height: 1.06 !important;
    margin: 8px 0 12px !important;
}

body.single-product.woocommerce div.product.product .ml-single-product-facts {
    gap: 0 !important;
    margin: 0 0 22px !important;
}

body.single-product.woocommerce div.product.product .ml-single-product-facts span {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    min-height: auto !important;
    padding: 0 12px !important;
}

body.single-product.woocommerce div.product.product .ml-single-product-facts span:first-child {
    padding-left: 0 !important;
}

body.single-product.woocommerce div.product.product .ml-single-product-facts span + span {
    border-left: 1px solid rgba(143, 98, 29, 0.28) !important;
}

body.single-product.woocommerce div.product.product .ml-variation-grid {
    gap: 8px !important;
    margin-bottom: 14px !important;
}

body.single-product.woocommerce div.product.product .ml-variation-card {
    border-radius: var(--ml-control-radius, 2px) !important;
    min-height: 44px !important;
    min-width: 0 !important;
}

body.single-product.woocommerce div.product.product .woocommerce-variation-price .price {
    color: #6b1f33 !important;
    font-size: clamp(30px, 3.2vw, 40px) !important;
    line-height: 1 !important;
    margin: 0 0 12px !important;
}

body.single-product.woocommerce div.product.product .woocommerce-variation-add-to-cart {
    align-items: stretch !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
}

body.single-product.woocommerce div.product.product form.cart .qty,
body.single-product.woocommerce div.product.product form.cart .button {
    border-radius: 4px !important;
    height: 48px !important;
    min-height: 48px !important;
}

body.single-product.woocommerce .ml-single-delivery-note.is-compact {
    display: block !important;
}

body.single-product.woocommerce div.product.product .related {
    margin-top: 26px !important;
    padding-top: 24px !important;
}

body.single-product.woocommerce div.product.product .related ul.products {
    gap: 12px !important;
}

body.single-product.woocommerce div.product.product .related ul.products li.product {
    background: #fffaf4 !important;
    border: 1px solid rgba(143, 98, 29, 0.15) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

body.single-product.woocommerce div.product.product .related ul.products li.product:hover,
body.single-product.woocommerce div.product.product .related ul.products li.product:focus-within {
    border-color: rgba(143, 98, 29, 0.38) !important;
    box-shadow: 0 10px 24px rgba(33, 24, 23, 0.07) !important;
    transform: none !important;
}

body.single-product.woocommerce div.product.product .related ul.products li.product a img {
    height: 260px !important;
    margin: 0 auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    width: 100% !important;
}

body.single-product.woocommerce div.product.product .related ul.products li.product::before {
    height: 260px !important;
}

body.single-product.woocommerce div.product.product .related ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--ml-font-display, Georgia, serif) !important;
    font-weight: 400 !important;
    font-size: clamp(20px, 1.45vw, 23px) !important;
    line-height: 1.16 !important;
    margin: 11px 13px 4px !important;
    min-height: 2.32em !important;
}

body.single-product.woocommerce div.product.product .related ul.products li.product .price {
    font-family: var(--ml-font-sans) !important;
    font-weight: 600 !important;
    align-items: center !important;
    display: flex !important;
    font-size: 19px !important;
    gap: 7px !important;
    line-height: 1 !important;
    margin: 0 13px 9px !important;
}

body.single-product.woocommerce div.product.product .related .ml-loop-actions {
    gap: 7px !important;
    margin: auto 13px 13px !important;
}

body.single-product.woocommerce div.product.product .related .ml-loop-quantity {
    border-radius: var(--ml-control-radius, 2px) !important;
    height: 46px !important;
    grid-template-columns: 44px minmax(40px, 1fr) 44px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 150px !important;
}

body.single-product.woocommerce div.product.product .related .ml-loop-quantity button,
body.single-product.woocommerce div.product.product .related .ml-loop-quantity input {
    height: 44px !important;
    min-width: 44px !important;
    font-family: var(--ml-font-sans) !important;
}

body.single-product.woocommerce div.product.product .related .ml-loop-actions .button {
    border-radius: var(--ml-control-radius, 2px) !important;
    font: 600 12px/1.4 var(--ml-font-sans) !important;
    letter-spacing: 0.06em !important;
    min-height: 44px !important;
    background: var(--ml-control-gold, #c3a35f) !important;
    color: var(--ml-control-ink, #211b17) !important;
}

@media (min-width: 1380px) {
    .woocommerce-shop .ml-shop-main ul.products,
    .tax-product_cat .ml-shop-main ul.products,
    .post-type-archive-product .ml-shop-main ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

body.ml-cellar-page.woocommerce ul.products li.product .ml-loop-actions .button { font-weight: 600 !important; }
body.ml-cellar-page.woocommerce ul.products li.product .ml-loop-quantity button { font-weight: 500 !important; }
body.ml-cellar-page.woocommerce ul.products li.product .ml-loop-actions .button:hover { background: #d1b577 !important; }
body.ml-cellar-page.woocommerce ul.products li.product .ml-loop-actions .button:focus-visible { outline: 2px solid #71531e; outline-offset: 3px; }

@media (max-width: 720px) {
    html.ml-shop-view-grouped .ml-loop-package-options [data-ml-package-option],
    body .ml-shop-filters .ml-shop-filter-list button { min-height: 44px !important; }
    .woocommerce-shop .ml-shop-page,
    .tax-product_cat .ml-shop-page,
    .post-type-archive-product .ml-shop-page {
        padding: 0 0 48px !important;
    }

    .woocommerce-shop .ml-shop-layout,
    .tax-product_cat .ml-shop-layout,
    .post-type-archive-product .ml-shop-layout {
        display: block !important;
    }

    .woocommerce-shop .ml-shop-mobile-bar,
    .tax-product_cat .ml-shop-mobile-bar,
    .post-type-archive-product .ml-shop-mobile-bar {
        align-items: center !important;
        background: rgba(255, 255, 255, 0.98) !important;
        border-bottom: 1px solid rgba(143, 98, 29, 0.15) !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        margin: 0 -14px 12px !important;
        padding: 10px 14px !important;
        position: sticky !important;
        top: 60px !important;
        z-index: 1000 !important;
    }

    .woocommerce-shop .ml-mobile-filter-toggle,
    .tax-product_cat .ml-mobile-filter-toggle,
    .post-type-archive-product .ml-mobile-filter-toggle {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #211817 !important;
        min-height: 44px !important;
        padding: 0 4px !important;
    }

    .ml-mobile-ordering-slot .woocommerce-ordering,
    .ml-mobile-ordering-slot .woocommerce-ordering select {
        margin: 0 !important;
        width: 100% !important;
    }

    .has-icon-toolbar .ml-mobile-ordering-slot { display: flex; justify-content: flex-end; min-width: 0; }
    .ml-shop-layout .ml-mobile-ordering-slot .ml-shop-toolbar { margin: 0; gap: 6px; }
    .ml-shop-layout.has-icon-toolbar .ml-mobile-filter-toggle { justify-self: start; min-height: 44px !important; }
    .ml-shop-layout .ml-mobile-ordering-slot .woocommerce-ordering.ml-shop-sort { padding-left: 6px !important; }
    .ml-shop-layout .ml-shop-toolbar button { width: 44px; height: 44px; min-height: 44px !important; }

    .woocommerce-shop .ml-shop-filters,
    .tax-product_cat .ml-shop-filters,
    .post-type-archive-product .ml-shop-filters {
        background: #fff !important;
        bottom: 0 !important;
        max-height: calc(100svh - 60px) !important;
        max-width: 320px !important;
        overflow-y: auto !important;
        padding: 18px 20px 26px !important;
        position: fixed !important;
        top: 60px !important;
        width: min(86vw, 320px) !important;
    }

    .woocommerce-shop .ml-shop-filters-head,
    .tax-product_cat .ml-shop-filters-head,
    .post-type-archive-product .ml-shop-filters-head {
        align-items: center !important;
        background: #fff !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 40px !important;
        margin: -18px -20px 10px !important;
        padding: 14px 20px 10px !important;
        position: sticky !important;
        top: -18px !important;
        z-index: 3 !important;
    }

    .woocommerce-shop .ml-shop-view-mode,
    .tax-product_cat .ml-shop-view-mode,
    .post-type-archive-product .ml-shop-view-mode {
        margin-bottom: 12px !important;
    }

    .woocommerce-shop .ml-shop-main ul.products,
    .tax-product_cat .ml-shop-main ul.products,
    .post-type-archive-product .ml-shop-main ul.products {
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        margin-top: 0 !important;
    }

    .woocommerce-shop ul.products li.product,
    .tax-product_cat ul.products li.product,
    .post-type-archive-product ul.products li.product {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 420px !important;
        width: 100% !important;
    }

    .woocommerce-shop ul.products li.product a img,
    .tax-product_cat ul.products li.product a img,
    .post-type-archive-product ul.products li.product a img,
    body.single-product.woocommerce div.product.product .related ul.products li.product a img {
        height: 224px !important;
    }

    .woocommerce-shop ul.products li.product::before,
    .tax-product_cat ul.products li.product::before,
    .post-type-archive-product ul.products li.product::before,
    body.single-product.woocommerce div.product.product .related ul.products li.product::before {
        height: 224px !important;
    }

    .woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
    .tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    .post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
        font-size: 25px !important;
        min-height: auto !important;
    }

    body.single-product.woocommerce .ml-shop-page {
        padding: 12px 0 48px !important;
    }

    body.single-product.woocommerce div.product.product .summary {
        padding-top: 12px !important;
    }

    body.single-product.woocommerce div.product.product .product_title {
        font-size: clamp(34px, 10vw, 44px) !important;
        margin-top: 6px !important;
    }

    body.single-product.woocommerce div.product.product .ml-single-product-facts {
        justify-content: center !important;
        margin-bottom: 18px !important;
    }

    body.single-product.woocommerce div.product.product .woocommerce-variation-price .price {
        font-size: 30px !important;
        margin: 0 0 12px !important;
        text-align: center !important;
    }

    body.single-product.woocommerce div.product.product .ml-single-preferred-price {
        justify-content: center;
    }

    body.single-product.woocommerce div.product.product .related ul.products {
        grid-template-columns: 1fr !important;
    }

    body.admin-bar.woocommerce-shop .ml-shop-mobile-bar,
    body.admin-bar.tax-product_cat .ml-shop-mobile-bar,
    body.admin-bar.post-type-archive-product .ml-shop-mobile-bar {
        top: calc(var(--ml-header-offset, 0px) + var(--ml-header-height, 60px)) !important;
    }

    body.admin-bar.woocommerce-shop .ml-shop-filters,
    body.admin-bar.tax-product_cat .ml-shop-filters,
    body.admin-bar.post-type-archive-product .ml-shop-filters {
        max-height: calc(100svh - var(--ml-header-offset, 0px) - var(--ml-header-height, 60px)) !important;
        top: calc(var(--ml-header-offset, 0px) + var(--ml-header-height, 60px)) !important;
    }

    body.admin-bar.woocommerce-shop .ml-shop-filter-overlay,
    body.admin-bar.tax-product_cat .ml-shop-filter-overlay,
    body.admin-bar.post-type-archive-product .ml-shop-filter-overlay {
        top: calc(var(--ml-header-offset, 0px) + var(--ml-header-height, 60px)) !important;
    }

    body.single-product.woocommerce div.product.product .related ul.products li.product .woocommerce-loop-product__title {
        font-size: 25px !important;
        min-height: auto !important;
    }
}
/* Compact cards share one inset; quantity and purchase stay aligned. */
body.woocommerce .ml-shop-main ul.products li.product {
    padding: 0 !important;
    container-type: inline-size;
    border-radius: 2px !important;
}
body.woocommerce .ml-shop-main ul.products li.product:hover { box-shadow: none !important; }
body.woocommerce .ml-shop-main ul.products li.product a img,
body.woocommerce .ml-shop-main ul.products li.product::before { height: 210px !important; }
body.woocommerce .ml-shop-main ul.products li.product .woocommerce-loop-product__title {
    font-size: 23px !important;
    line-height: 1.16 !important;
    min-height: 2.32em !important;
    margin: 12px 14px 10px !important;
    padding: 0 !important;
}
body.woocommerce .ml-shop-main ul.products li.product .ml-loop-package-options { margin: 0 14px 12px !important; gap: 4px !important; }
body.woocommerce .ml-shop-main ul.products li.product .ml-loop-package-options [data-ml-package-option] { min-height: 44px !important; border-radius: 2px !important; }
body.woocommerce .ml-shop-main ul.products li.product .price { margin: 0 14px 12px !important; min-height: 24px !important; font-size: 19px !important; line-height: 1.25 !important; }
body.woocommerce .ml-shop-main ul.products li.product .ml-loop-actions { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 8px !important; margin: auto 14px 14px !important; }
body.woocommerce .ml-shop-main ul.products li.product .ml-loop-actions > * { grid-column: auto !important; grid-row: auto !important; }
body.woocommerce .ml-shop-main ul.products li.product .ml-loop-quantity { width: 100% !important; max-width: none !important; height: 46px !important; grid-template-columns: 44px minmax(40px,1fr) 44px !important; }
body.woocommerce .ml-shop-main ul.products li.product .ml-loop-quantity :is(button,input) { height: 44px !important; min-height: 44px !important; padding: 0 !important; }
body.woocommerce .ml-shop-main ul.products li.product .ml-loop-actions .button { height: 46px !important; min-height: 46px !important; margin: 0 !important; padding: 10px !important; font-size: 12px !important; letter-spacing: .03em !important; }
@container (min-width: 270px) {
    body.woocommerce .ml-shop-main ul.products li.product .ml-loop-actions { grid-template-columns: 132px minmax(0,1fr) !important; }
    body.woocommerce .ml-shop-main ul.products li.product .woocommerce-loop-product__title { min-height: 1.16em !important; }
}
