/**
 * Acme category PLP — Figma Bath Towels / shared category layout.
 * Spec: sidebar accordion + 3-col product cards.
 */

:root {
    --acme-cat-pad-x: var(--acme-header-pad-x, clamp(1.25rem, 10.8vw, 12.875rem));
    --acme-cat-gap: 1.5rem; /* 24px between sidebar and grid */
    --acme-cat-sidebar: 20rem; /* 320px — rail width unchanged */
    --acme-ink: #0f2d52;
    --acme-muted: #5a6a7e;
    --acme-strike: #6b7280; /* match PDP Similar Products cut price */
    --acme-cta: #ad2733;
    --acme-cat-border: #d9f3ff;
    --acme-cat-grad: linear-gradient(
        180deg,
        rgba(31, 153, 206, 0.007) 0%,
        rgba(31, 153, 206, 0.07) 100%
    );
    --acme-card-border: #e8ecf0;
    --acme-card-shadow: 0 2px 20px rgba(15, 45, 82, 0.06);
}

/* ---- Page shell ----
 * Page Builder "Category Full Width" injects EXTRA .page-main wrappers:
 *   .page-wrapper > .page-main  (columns.top.wrapper)  ← wraps banner + messages only
 *   #category-view-container > .page-main (image/cms wrappers)
 *   main#maincontent.page-main  (real content)
 * Bottom padding must ONLY apply to #maincontent — otherwise the outer
 * wrapper dumps ~6rem white space under the banner (Nexcess).
 */
.acme-category-page main.page-main,
.acme-category-page #maincontent.page-main {
    margin-block: 0 !important;
    padding: 0 0 3rem;
    background: #fff;
    max-width: none;
}

/* Neutralize PB / full-width shell wrappers around the hero */
.acme-category-page .page-wrapper > .page-main:not(#maincontent),
.acme-category-page #category-view-container > .page-main,
.acme-category-page .category-view > .page-main {
    margin: 0 !important;
    padding: 0 !important;
    flex-grow: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    background: transparent;
}

/*
 * Banner rail — MUST match header (.acme-header__top pad + .acme-header__top-inner max).
 * Previous "full-bleed" max-width:none made heroes wider than logo/nav and the PLP grid.
 */
.acme-category-page .category-view.acme-category-banner,
.acme-category-page #category-view-container {
    display: block;
    width: 100%;
    max-width: none !important;
    margin: 0 0 1.25rem;
    padding-inline: var(--acme-header-pad-x, var(--acme-cat-pad-x));
    box-sizing: border-box;
}

/* Don't let Magento "container" class re-center / re-pad the hero outer shell */
.acme-category-page .acme-category-banner.container,
.acme-category-page #category-view-container.container {
    max-width: none !important;
    margin-inline: 0 !important;
    width: 100%;
    padding-left: var(--acme-header-pad-x, var(--acme-cat-pad-x)) !important;
    padding-right: var(--acme-header-pad-x, var(--acme-cat-pad-x)) !important;
}

/* Hero media / text strip shares header content width (1493px) */
.acme-category-page #category-view-container .acme-category-hero,
.acme-category-page #category-view-container .category-image,
.acme-category-page #category-view-container .category-cms,
.acme-category-page #category-view-container .acme-category-banner__cms,
.acme-category-page #category-view-container > .page-main {
    width: 100% !important;
    max-width: var(--acme-header-inner, 93.3125rem) !important;
    margin-inline: auto !important;
    box-sizing: border-box;
}

/* Collapse empty status messages sitting between hero and two-column area */
.acme-category-page .page.messages,
.acme-category-page #messages {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.acme-category-page #messages:not(:has(.message)) {
    display: none;
}

.acme-category-page .category-view .category-image,
.acme-category-page .category-view .category-cms,
.acme-category-page .acme-category-banner__cms {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

.acme-category-page .category-view .category-image img,
.acme-category-page .category-view .category-cms img,
.acme-category-page .acme-category-banner__cms img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 0;
}

/* Dynamic category hero (image + admin name/description) */
.acme-category-hero {
    position: relative;
    overflow: hidden;
    background: #0f2d52;
}

.acme-category-hero__img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 22rem;
    object-fit: cover;
}

@media (max-width: 1023px) {
    /* Keep category banners visible and full-bleed on mobile/tablet */
    .acme-category-page .category-view.acme-category-banner,
    .acme-category-page #category-view-container {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        margin-bottom: 1rem !important;
        /* Desktop keeps header-rail gutters; phones/tablets go edge-to-edge */
        padding-inline: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .acme-category-page .acme-category-banner.container,
    .acme-category-page #category-view-container.container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Parent + leaf: keep uploaded Category Image / CMS banners visible on mobile */
    .acme-category-page:has(.acme-subcat-landing) .category-view.acme-category-banner,
    .acme-category-page:has(.acme-subcat-landing) #category-view-container,
    .acme-category-page:not(:has(.acme-subcat-landing)) .category-view.acme-category-banner,
    .acme-category-page:not(:has(.acme-subcat-landing)) #category-view-container {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        margin-bottom: 1rem !important;
    }

    .acme-category-page .category-view .category-image,
    .acme-category-page .acme-category-hero,
    .acme-category-page .acme-category-banner__cms {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
    }

    /* Full banner art — never crop landscape uploads into a 14rem strip */
    .acme-category-hero__img,
    .acme-category-page .acme-category-banner__cms img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    .acme-category-hero__copy {
        padding: 1.25rem 1rem;
    }

    .acme-category-hero__title {
        font-size: 1.35rem;
    }

    .acme-category-hero__tagline {
        font-size: 0.9rem;
    }
}

.acme-category-hero__copy {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.5rem;
    padding: clamp(1.5rem, 4vw, 3.5rem);
    background: linear-gradient(90deg, rgba(15, 45, 82, 0.55) 0%, rgba(15, 45, 82, 0.15) 55%, transparent 100%);
    pointer-events: none;
}

.acme-category-hero--text-only .acme-category-hero__copy {
    position: relative;
    min-height: 10rem;
    background: linear-gradient(90deg, #0f2d52 0%, #1a4570 100%);
}

.acme-category-hero__title {
    margin: 0;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 3rem);
    line-height: 1.1;
    letter-spacing: 0.04em;
    color: #fff;
    text-transform: uppercase;
}

.acme-category-hero__tagline {
    margin: 0;
    max-width: 36rem;
    font-family: Poppins, ui-sans-serif, system-ui, sans-serif;
    font-weight: 300;
    font-size: clamp(0.95rem, 1.4vw, 1.125rem);
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
}

/* Never show Magento's "As low as" label on PLP cards */
.acme-product-card__price .price-label,
.acme-product-card__price .minimal-price-link {
    display: none !important;
}

/*
 * Page Builder desktop/mobile image pairs.
 * If a row only has the desktop asset (no .pagebuilder-mobile-only twin), keep it
 * visible on small screens so category banners are not blank on mobile.
 */
.acme-category-page .acme-category-banner__cms img.pagebuilder-mobile-only {
    display: none;
}

.acme-category-page .acme-category-banner__cms img.pagebuilder-mobile-hidden {
    display: inline-block;
}

@media (max-width: 767px) {
    .acme-category-page .acme-category-banner__cms:has(img.pagebuilder-mobile-only) img.pagebuilder-mobile-hidden {
        display: none !important;
    }

    .acme-category-page .acme-category-banner__cms img.pagebuilder-mobile-only {
        display: inline-block !important;
        width: 100%;
        height: auto;
    }
}

@media (min-width: 768px) {
    .acme-category-page .acme-category-banner__cms img.pagebuilder-mobile-hidden {
        display: inline-block;
    }

    .acme-category-page .acme-category-banner__cms img.pagebuilder-mobile-only {
        display: none !important;
    }
}

/* Page Builder rows inside category banner should stretch */
.acme-category-page .acme-category-banner__cms [data-content-type="row"],
.acme-category-page .acme-category-banner__cms [data-appearance="contained"],
.acme-category-page .acme-category-banner__cms [data-element="main"] {
    max-width: 100% !important;
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
}

.acme-category-page .category-view .category-description {
    max-width: none;
    margin-inline: 0;
    margin-top: 1rem;
}

/* Full description HTML — sibling of sidebar+main under .columns (full content rail) */
.acme-category-page .columns > .acme-category-description,
.acme-category-page .acme-category-description {
    display: block !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 3rem !important;
    margin-inline: 0 !important;
    padding: 2rem 0 0 !important;
    color: var(--acme-ink, #0f2d52);
    font-family: Montserrat, system-ui, sans-serif;
    font-size: 1rem;
    line-height: 1.7;
    text-align: left !important;
}

.acme-category-page.page-layout-2columns-left .columns:not(:has(.acme-subcat-landing)) {
    display: grid !important;
    grid-template-columns: var(--acme-cat-sidebar, 22rem) minmax(0, 1fr);
    align-items: start;
}

.acme-category-page.page-layout-2columns-left .columns:not(:has(.acme-subcat-landing)) > .sidebar.sidebar-main {
    grid-column: 1;
    grid-row: 1;
}

.acme-category-page.page-layout-2columns-left .columns:not(:has(.acme-subcat-landing)) > .column.main {
    grid-column: 2;
    grid-row: 1;
}

.acme-category-page.page-layout-2columns-left .columns:not(:has(.acme-subcat-landing)) > .acme-category-description {
    grid-column: 1 / -1;
    grid-row: 2;
}

.acme-category-page .acme-category-description img {
    max-width: 100%;
    height: auto;
}

.acme-category-page .acme-category-description [data-content-type="row"],
.acme-category-page .acme-category-description [data-appearance="contained"],
.acme-category-page .acme-category-description [data-element="main"],
.acme-category-page .acme-category-description [data-element="inner"] {
    max-width: 100% !important;
    width: 100% !important;
    margin-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-inline: 0 !important;
    text-align: left !important;
}

.acme-category-page .acme-category-description h1,
.acme-category-page .acme-category-description h2,
.acme-category-page .acme-category-description h3,
.acme-category-page .acme-category-description h4,
.acme-category-page .acme-category-description p,
.acme-category-page .acme-category-description li {
    text-align: left !important;
}

/* Match PDP prose hierarchy (Montserrat / ink) — overrides older Inter + muted gray */
.acme-category-page .acme-category-description.acme-cms-prose,
.acme-category-page .acme-category-description.acme-cms-prose p,
.acme-category-page .acme-category-description.acme-cms-prose li {
    color: #0f2d52;
    font-family: Montserrat, Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
}

.acme-category-page .acme-category-description.acme-cms-prose h1,
.acme-category-page .acme-category-description.acme-cms-prose h2,
.acme-category-page .acme-category-description.acme-cms-prose h3,
.acme-category-page .acme-category-description.acme-cms-prose h4 {
    color: #0f2d52;
    font-family: Montserrat, ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
}

.acme-category-page .acme-category-description.acme-cms-prose h1 {
    font-size: 2.25rem;
    line-height: 1.2;
    margin: 0 0 1rem;
}

.acme-category-page .acme-category-description.acme-cms-prose h2 {
    font-size: 1.5rem;
    line-height: 1.35;
    margin: 1rem 0 0.5rem;
}

.acme-category-page .acme-category-description.acme-cms-prose h3 {
    font-size: 1.25rem;
    line-height: 1.35;
    margin: 0.85rem 0 0.35rem;
}

.acme-category-page .acme-category-description.acme-cms-prose h4 {
    font-size: 1.125rem;
    line-height: 1.35;
    margin: 0.75rem 0 0.35rem;
}

.acme-category-page .acme-category-description.acme-cms-prose ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 0 0.85rem;
}

.acme-category-page .acme-category-description.acme-cms-prose ol {
    list-style-type: decimal !important;
    padding-left: 1.5rem !important;
    margin: 0 0 0.85rem;
}

/* Breadcrumbs — left-aligned trail; equal pad above + below the crumb line */
.acme-category-page .breadcrumbs,
.acme-category-page .acme-breadcrumbs {
    display: block !important;
    visibility: visible !important;
    padding-block: 1rem !important;
}

/* Crumbs own header→banner spacing (was 30px / 1.4vh when crumbs were hidden).
   `html body` beats stale acme-audit-fixes margin-top until that sheet is synced. */
html body.acme-category-page .category-view.acme-category-banner.container,
html body.acme-category-page #category-view-container.container,
html body.acme-category-page .category-view.acme-category-banner {
    margin-top: 0 !important;
}

@media (max-width: 1023px) {
    .acme-category-page .breadcrumbs,
    .acme-category-page .acme-breadcrumbs {
        padding-block: 0.75rem !important;
    }
}

/* Columns — same horizontal rail as header inner (no wider/narrower than logo row) */
.acme-category-page .page-main .columns,
.acme-category-page .columns {
    gap: var(--acme-cat-gap);
    width: min(
        calc(100% - (2 * var(--acme-header-pad-x, var(--acme-cat-pad-x)))),
        var(--acme-header-inner, 93.3125rem)
    ) !important;
    max-width: var(--acme-header-inner, 93.3125rem) !important;
    margin-inline: auto !important;
    padding-inline: 0;
    box-sizing: border-box;
    align-items: start;
    grid-template-rows: auto !important;
}

@media (min-width: 768px) {
    .acme-category-page.page-layout-2columns-left,
    .acme-category-page.page-layout-2columns-left .columns {
        --sidebar-width: var(--acme-cat-sidebar);
        --page-layout: var(--acme-cat-sidebar) minmax(0, 1fr);
    }

    .acme-category-page.page-layout-2columns-left .columns {
        grid-template-columns: var(--page-layout) !important;
        grid-template-rows: auto !important;
    }

    /* Prevent Hyvä default “main spans 2 rows” from desyncing titles */
    .acme-category-page .columns > .sidebar.sidebar-main {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start;
    }

    .acme-category-page .columns > .column.main {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start;
    }
}

.acme-category-page .sidebar.sidebar-main {
    width: 100%;
    margin: 0;
    padding: 0;
}

.acme-category-page .column.main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.acme-category-page .sidebar-additional {
    display: none !important;
}

/* Empty catalog: no Magento error/info “box” */
.acme-category-page .column.main .message,
.acme-category-page .column.main .message.info,
.acme-category-page .column.main .message.error,
.acme-category-page .column.main .message.notice,
.acme-category-page .message.info.empty {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0.5rem 0 !important;
    color: var(--acme-muted) !important;
    font-weight: 400 !important;
}

/* ---- PLP header row: category name 40px; sidebar "Category" shares that row ---- */
:root {
    --acme-plp-head-h: 2.875rem; /* 40px * 1.15 line box */
    --acme-plp-head-gap: 1rem;   /* space before accordion / product grid */
    /* Breathing room above the header row. #maincontent has no top padding
       (Page Builder wrappers would inherit it), so the space lives in the row
       height: both cells grow by the same amount and stay bottom-aligned. */
    --acme-plp-head-top: 2.5rem;
}

.acme-category-title-wrap {
    display: flex;
    align-items: flex-end;
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: calc(var(--acme-plp-head-h) + var(--acme-plp-head-top));
}

.acme-category-title,
.acme-category-page .acme-category-title-wrap .page-title,
.acme-category-page .acme-category-title-wrap span.page-title,
.acme-category-page .acme-category-title-wrap h1.page-title,
.acme-category-page .acme-category-title-wrap h2.page-title,
.acme-category-page .acme-category-title-wrap h3.page-title {
    margin: 0;
    padding: 0;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 2.5rem; /* 40px */
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--acme-ink);
}

/* Sidebar label: flush left, pinned to the bottom of the shared header row */
.acme-cat-nav__title,
.acme-category-page .acme-cat-nav__title {
    display: flex;
    align-items: flex-end;
    box-sizing: border-box;
    width: 100%;
    min-height: calc(var(--acme-plp-head-h) + var(--acme-plp-head-top));
    margin: 0;
    padding: 0;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 1.9125rem; /* was 2.25rem / 36px → −15% */
    line-height: 1.15;
    letter-spacing: 0;
    color: var(--acme-ink);
    text-align: left;
    text-transform: none;
}

/* ---- Category accordion (sizes = prior × 0.85 — 15% denser, all breakpoints) ---- */
.acme-cat-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--acme-plp-head-gap, 0.85rem);
    width: 100%;
}

.acme-cat-nav__list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.53125rem; /* was 0.625rem / 10px → −15% */
    width: 100%;
}

.acme-cat-nav__item {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 6.8px; /* was 8px → −15% */
    border: 2px solid var(--acme-cat-border);
    background: var(--acme-cat-grad), #fff;
    overflow: hidden;
}

.acme-cat-nav__trigger {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1.0625rem; /* was 1.25rem → −15% */
    width: 100%;
    min-height: 4.8875rem; /* was 5.75rem / 92px → −15% */
    padding: 0.425rem 1.7rem; /* was 0.5rem 2rem → −15% */
    margin: 0;
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    color: #000;
}

a.acme-cat-nav__trigger,
button.acme-cat-nav__trigger {
    cursor: pointer;
    text-decoration: none;
}

.acme-cat-nav__trigger.is-open {
    background: linear-gradient(
        360deg,
        rgba(31, 153, 206, 0.007) 0%,
        rgba(31, 153, 206, 0.003) 100%
    );
}

.acme-cat-nav__label {
    flex: 0 0 auto;
    width: fit-content;
    max-width: calc(100% - 2.55rem);
    font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 500;
    font-size: 1.0625rem; /* was 1.25rem / 20px → −15% */
    line-height: 1.0625rem;
    color: #000;
    text-decoration: none;
}

a.acme-cat-nav__label {
    display: inline;
    cursor: pointer;
}

a.acme-cat-nav__label:hover {
    color: var(--acme-cta, #ad2733);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.acme-cat-nav__toggle {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.25rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: inherit;
    line-height: 1;
}

.acme-cat-nav__icon {
    flex-shrink: 0;
    font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 300;
    font-size: 1.9125rem; /* was 2.25rem / 36px → −15% */
    line-height: 1.0625rem;
    color: #9b9b9b;
    width: 1.275rem; /* was 1.5rem → −15% */
    text-align: center;
}

.acme-cat-nav__divider {
    width: calc(100% - 3.4rem);
    max-width: 15.40625rem; /* was 18.125rem / 290px → −15% */
    height: 2px;
    margin-inline: auto;
    background: var(--acme-cat-border);
}

.acme-cat-nav__panel {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Author display:flex must not defeat the hidden attribute (exclusive accordion). */
.acme-cat-nav__panel[hidden] {
    display: none !important;
}

.acme-cat-nav__children {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 1.275rem 0; /* was 1.5rem → −15% */
}

.acme-cat-nav__child {
    display: flex;
    align-items: center;
    padding: 0.425rem 1.7rem; /* was 0.5rem 2rem → −15% */
    min-height: 1.9125rem; /* was 2.25rem → −15% */
    font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 300;
    font-size: 1.0625rem; /* was 1.25rem → −15% */
    line-height: 1.0625rem;
    color: #000;
    text-decoration: none;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.acme-cat-nav__child:hover,
.acme-cat-nav__child.is-active {
    color: var(--acme-ink);
    font-weight: 500;
}

.acme-cat-nav__child.is-active {
    background: rgba(31, 153, 206, 0.06);
}

/* ---- Product grid ---- */
.acme-product-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 0;
    margin: 0;
}

/* No empty top-toolbar spacer on category PLP */
.acme-product-list > .acme-product-list__toolbar--top:empty,
.acme-category-page .acme-product-list__toolbar--top:empty {
    display: none;
}

.acme-product-list__toolbar--bottom {
    margin: 0;
}

.acme-product-list__toolbar--top .toolbar-products {
    margin: 0 0 0.25rem;
}

/* List/grid mode switcher removed site-wide (grid only) */
.acme-product-list .modes,
.toolbar-products .modes {
    display: none !important;
}

.acme-product-list__toolbar--top .sorter,
.acme-product-list__toolbar--top .limiter {
    opacity: 0.85;
}

.acme-product-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem; /* 20px */
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Mobile/tablet only: Figma 1090:953 — two columns. Desktop stays 3-col. */
@media (min-width: 640px) and (max-width: 1023px) {
    .acme-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem; /* 24px */
    }
}

@media (min-width: 1024px) {
    .acme-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem; /* 24px */
    }
}

.acme-product-grid__item {
    display: flex;
    min-width: 0;
}

/* ---- Product card ---- */
.acme-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    isolation: isolate;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--acme-card-border);
    box-shadow: var(--acme-card-shadow);
    border-radius: 1rem; /* 16px */
    overflow: hidden;
    padding: 0;
    margin: 0;
    text-align: left;
}

/* Square to match the catalogue photography (833 of 834 media files are 1:1).
   The old 352/240 frame forced object-fit: cover to scale a square photo to the
   box width and crop 32% off the top and bottom. */
.acme-product-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f7f8fa;
}

.acme-product-card__photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}

.acme-product-card__photo img,
.acme-product-card__photo .product-image-photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.acme-product-card__wishlist {
    position: absolute;
    top: 1.15rem;
    right: 1.15rem;
    z-index: 2;
}

.acme-product-card__wish-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0.3125rem;
    border: 0;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(2px);
    cursor: pointer;
    color: rgba(0, 0, 0, 0.54);
    box-shadow: none;
}

.acme-product-card__wish-btn:hover {
    color: var(--acme-cta);
}

.acme-product-card__info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.4375rem; /* 7px */
    padding: 1.0625rem 1rem 0.5rem;
    flex-grow: 1;
}

.acme-product-card__name {
    margin: 0;
    width: 100%;
    min-width: 0;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: 1.125rem; /* 18px */
    line-height: 1.375rem;
    letter-spacing: 0.1px;
    color: var(--acme-ink);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acme-product-card__name a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    color: inherit;
    text-decoration: none;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acme-product-card__name a:hover {
    text-decoration: underline;
}

.acme-product-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    min-height: 2.5rem; /* two lines @ 1.25rem */
    max-height: none;
    overflow: hidden;
}

.acme-product-card__meta-slot {
    display: block;
    width: 100%;
    min-height: 2.5rem;
}

.acme-product-card__meta p,
.acme-product-card__meta-line {
    display: block;
    margin: 0;
    width: 100%;
    min-width: 0;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.25rem;
    letter-spacing: 0.4px;
    color: var(--acme-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Two short-desc rows: one <p> per line, ellipsis per row (search + PLP) */
.acme-product-card__meta--prose {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 2.5rem;
    max-height: 2.5rem;
    overflow: hidden;
}

.acme-product-card__meta--prose .acme-product-card__meta-prose {
    display: block;
    margin: 0;
    width: 100%;
    min-width: 0;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.25rem;
    letter-spacing: 0.4px;
    color: #5a6a7e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

.acme-product-card__price {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 0.5rem;
    padding-top: 0.2rem;
    margin-top: auto; /* pin price above Add to Cart */
    width: 100%;
}

.acme-product-card__price-main {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    min-width: 0;
    flex: 1 1 auto;
}

.acme-product-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    flex: 0 0 auto;
    margin-left: auto;
    color: #0f2d52;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    line-height: 1.25rem;
}

.acme-product-card__rating-num {
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.1px;
    line-height: 1.25rem;
    color: #0f2d52;
}

/* Single star: pale base + gold fill via width (clip-path was invisible in practice) */
.acme-product-card__rating-star {
    --acme-rating-fill: 0%;
    position: relative;
    display: inline-block;
    width: 0.9375rem;
    height: 0.9375rem;
    flex: 0 0 auto;
    overflow: hidden;
    background: transparent;
}

.acme-product-card__rating-star::before,
.acme-product-card__rating-star::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 0.9375rem 0.9375rem;
}

.acme-product-card__rating-star::before {
    width: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fef3c7' stroke='%23d97706' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.7-4.9 4.5 1.4 6.5L12 16.9 5.9 20.3l1.4-6.5L2.5 9.3l6.6-.7L12 2.5z'/%3E%3C/svg%3E");
}

.acme-product-card__rating-star::after {
    width: var(--acme-rating-fill);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23eab308' stroke='%23ca8a04' stroke-width='1.25' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.7-4.9 4.5 1.4 6.5L12 16.9 5.9 20.3l1.4-6.5L2.5 9.3l6.6-.7L12 2.5z'/%3E%3C/svg%3E");
}

.acme-product-card__price .price-box {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 0.35rem;
}

/* Figma 333-17100: current price left, cut/old price right (not PDP). */
.acme-product-card__price .price-box .special-price,
.acme-product-card__price .price-box .normal-price {
    order: 1;
}

.acme-product-card__price .price-box .old-price {
    order: 2;
}

.acme-product-card__price .price-box .price {
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 2rem;
    letter-spacing: 0.15px;
    color: var(--acme-ink);
}

.acme-product-card__price .price-box .old-price {
    display: inline-flex;
    align-items: baseline;
    --price-font-size: 0.875rem;
    --price-font-weight: 400;
    /* Hide any leftover bare “ / Dozen” text nodes after amount (cut price has no unit) */
    font-size: 0;
    line-height: 0;
}

.acme-product-card__price .price-box .old-price .price {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    letter-spacing: 0.15px;
    color: #6b7280; /* solid — do not use light --acme-strike leak */
    text-decoration: line-through;
}

.acme-product-card__price .old-price .price-container::after,
.acme-product-card__price .old-price .price-wrapper::after,
.acme-product-card__price .old-price .acme-product-price-unit {
    content: none !important;
    display: none !important;
}

.acme-product-card__price .price-box .special-price,
.acme-product-card__price .price-box .normal-price {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 0.25rem;
    /*
     * Kill bare " / Dozen" text nodes that older amount templates still emit.
     * Real unit is only .acme-product-price-unit.
     */
    font-size: 0 !important;
    line-height: 0 !important;
}

.acme-product-card__price .price-box .special-price .price,
.acme-product-card__price .price-box .normal-price .price {
    font-size: 1.25rem !important;
    line-height: 2rem !important;
}

.acme-product-card__price .price-box .special-price .price-wrapper,
.acme-product-card__price .price-box .normal-price .price-wrapper,
.acme-product-card__price .price-box .special-price .price-container,
.acme-product-card__price .price-box .normal-price .price-container {
    font-size: 1.25rem !important;
    line-height: 2rem !important;
}

/* Unit only belongs next to the current price — never the cut price */
.acme-product-card__price .acme-product-price-unit {
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    color: var(--acme-ink);
    white-space: nowrap;
}

.acme-product-card__price .old-price .acme-product-price-unit,
.acme-product-card__price .old-price .price-container::after,
.acme-product-card__price .old-price .price-wrapper::after {
    content: none !important;
    display: none !important;
}

/* Ensure old-price never inherits a visible bare unit either */
.acme-product-card__price .price-box .old-price {
    font-size: 0 !important;
    line-height: 0 !important;
}

.acme-product-card__price .price-box .old-price .price {
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
}

.acme-product-card__actions {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 1rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

/* Desktop PLP card — Figma 1090:953 (2-col): title full width, price row below (no side-by-side jumble) */
@media (min-width: 1024px) {
    .acme-product-card:not(.acme-product-card--home):not(.acme-product-card--similar) .acme-product-card__info {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.4375rem !important;
    }

    .acme-product-card:not(.acme-product-card--home):not(.acme-product-card--similar) .acme-product-card__name {
        width: 100% !important;
        white-space: normal !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
        overflow: hidden !important;
    }

    .acme-product-card:not(.acme-product-card--home):not(.acme-product-card--similar) .acme-product-card__name a {
        white-space: normal !important;
    }

    .acme-product-card:not(.acme-product-card--home):not(.acme-product-card--similar) .acme-product-card__meta-slot {
        width: 100% !important;
    }

    .acme-product-card:not(.acme-product-card--home):not(.acme-product-card--similar) .acme-product-card__price {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 0.5rem !important;
        margin-top: auto !important;
        padding-top: 0.2rem !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .acme-product-card:not(.acme-product-card--home):not(.acme-product-card--similar) .acme-product-card__actions {
        width: 100% !important;
    }

    .acme-product-card__wishlist {
        top: 0.75rem;
        right: 0.75rem;
    }

    .acme-product-card__wish-btn {
        width: 2rem;
        height: 2rem;
    }

    .acme-product-card--home .acme-product-card__info {
        display: flex !important;
        flex-direction: column !important;
    }

    /* Homepage desktop Best Selling uses acme-home.css (Figma 1019:4529).
     * Keep category.css from forcing title|price side-by-side on home cards. */
    .cms-index-index .acme-product-card--home .acme-product-card__head,
    .cms-page-view.cms-home .acme-product-card--home .acme-product-card__head {
        display: contents !important;
    }

    .cms-index-index .acme-product-card--home .acme-product-card__head .acme-product-card__price,
    .cms-page-view.cms-home .acme-product-card--home .acme-product-card__head .acme-product-card__price {
        width: 100% !important;
        margin-top: 0.15rem !important;
    }

    .cms-index-index .acme-product-card--home .acme-product-card__actions,
    .cms-page-view.cms-home .acme-product-card--home .acme-product-card__actions {
        display: block !important;
    }

    .cms-index-index .acme-product-card--home .acme-product-card__actions .acme-product-card__wishlist,
    .cms-page-view.cms-home .acme-product-card--home .acme-product-card__actions .acme-product-card__wishlist {
        position: absolute !important;
        top: 1rem !important;
        right: 1rem !important;
    }

    .cms-index-index .acme-product-card--home .acme-product-card__cart,
    .cms-page-view.cms-home .acme-product-card--home .acme-product-card__cart {
        width: 100% !important;
    }
}

.acme-product-card__cart {
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.3125rem;
    padding: 0.79rem 2rem;
    border: 0;
    border-radius: 0.5rem;
    background: var(--acme-cta);
    color: #fff;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.6875rem;
    letter-spacing: 0.304px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.acme-product-card__cart:hover {
    background: #961f2a;
    color: #fff;
    text-decoration: none;
}

.acme-product-card__cart:active {
    transform: translateY(1px);
}

.acme-product-card__cart svg {
    flex-shrink: 0;
    color: #fff;
    stroke: #fff;
}

.acme-product-card__addto {
    display: none;
}

/* Soften layered filters when present under accordion */
.acme-category-page .filter-options,
.acme-category-page .block.filter {
    margin-top: 1.5rem;
}

@media (max-width: 767px) {
    .acme-category-page main.page-main,
    .acme-category-page #maincontent.page-main {
        padding: 1.25rem 1rem 3rem;
    }

    .acme-cat-nav__trigger {
        min-height: 3.4rem; /* was 4rem → −15% */
        padding-inline: 1.0625rem; /* was 1.25rem → −15% */
    }

    .acme-cat-nav__child {
        padding-inline: 1.0625rem;
        font-size: 0.903125rem; /* was 1.0625rem → −15% */
    }

    .acme-cat-nav__label {
        font-size: 0.903125rem;
    }
}

/* ==========================================================================
   Parent category landing — subcategory cards (no sidebar / layered nav)
   Figma: Towel Categories grid
   ========================================================================== */

.acme-category-page:has(.acme-subcat-landing) {
    --acme-landing-pad-x: clamp(1.25rem, 9.7vw, 11.53125rem);
}

/* No leftover margin under hero on parent landings (PB + non-PB). */
.acme-category-page:has(.acme-subcat-landing) .category-view.acme-category-banner,
.acme-category-page:has(.acme-subcat-landing) #category-view-container,
.acme-category-page:has(.acme-subcat-landing) .page-wrapper > .page-main:not(#maincontent) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Landing banner + cards share header rail */
.acme-category-page:has(.acme-subcat-landing) .acme-category-banner__cms,
.acme-category-page:has(.acme-subcat-landing) .acme-category-hero {
    width: 100%;
    max-width: var(--acme-header-inner, 93.3125rem) !important;
    margin-inline: auto;
}

.acme-category-page:has(.acme-subcat-landing).page-layout-2columns-left .columns,
.acme-category-page:has(.acme-subcat-landing) .columns {
    display: block !important;
    grid-template-columns: none !important;
    padding-inline: 0 !important;
    gap: 0 !important;
}

.acme-category-page:has(.acme-subcat-landing) .sidebar.sidebar-main,
.acme-category-page:has(.acme-subcat-landing) .sidebar.sidebar-additional,
.acme-category-page:has(.acme-subcat-landing) .acme-category-title-wrap,
.acme-category-page:has(.acme-subcat-landing) .acme-cat-nav {
    display: none !important;
}

.acme-category-page:has(.acme-subcat-landing) .column.main {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

.acme-subcat-landing {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.25rem 0 2.5rem; /* leave room for description below */
    background: #fff;
    box-sizing: border-box;
    /* column.main is already on the header rail — do NOT subtract pad again */
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

.acme-subcat-landing__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: none;
    gap: 0;
}

.acme-subcat-landing__header {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1.25rem 0;
    width: 100%;
}

.acme-subcat-landing__title {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: clamp(1.75rem, 2.5vw, 3rem); /* 48px */
    line-height: 1.17;
    letter-spacing: -0.03rem;
    color: #0f2d52;
}

.acme-subcat-landing__grid {
    display: grid;
    /* Mobile: Figma 1090:375 two columns. Desktop restored to 4. */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem; /* 24px */
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: stretch;
}

@media (min-width: 1024px) {
    .acme-subcat-landing__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.acme-subcat-card {
    display: flex;
    min-width: 0;
    height: 100%;
}

.acme-subcat-card__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #e8ecf0;
    box-shadow: 0 2px 20px rgba(15, 45, 82, 0.06);
    border-radius: 1rem; /* 16px */
    overflow: hidden;
    box-sizing: border-box;
}

.acme-subcat-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 352 / 240;
    background: #f2f2f2;
    overflow: hidden;
}

.acme-subcat-card__img,
.acme-subcat-card__placeholder {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.acme-subcat-card__placeholder {
    background: linear-gradient(145deg, #f2f2f2 0%, #e4e8ee 100%);
}

.acme-subcat-card__body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex: 1 1 auto;
    padding: 1.0625rem 1rem 0.5rem;
    width: 100%;
    box-sizing: border-box;
    min-height: 3.5rem;
}

.acme-subcat-card__name {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: 1.125rem; /* 18px */
    line-height: 1.22;
    letter-spacing: 0.00625rem;
    color: #0f2d52;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    min-height: 2.75rem;
}

.acme-subcat-card__actions {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 1rem 1rem;
    width: 100%;
    box-sizing: border-box;
    margin-top: auto;
}

.acme-subcat-card__cta {
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 3.3125rem;
    padding: 0.79rem 2rem;
    background: #ad2733;
    border-radius: 0.5rem;
    color: #fff !important;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: 0.019rem;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.acme-subcat-card__cta:hover {
    background: #961f2a;
    color: #fff !important;
}

.acme-subcat-card__cta:focus-visible {
    outline: 2px solid #0f2d52;
    outline-offset: 2px;
}

@media (max-width: 639px) {
    .acme-subcat-landing {
        padding-inline: 1.25rem;
        padding-bottom: 3rem;
    }

    .acme-subcat-landing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
        align-items: stretch !important;
    }

    .acme-subcat-landing__grid > .acme-subcat-card {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        min-height: 100% !important;
        min-width: 0 !important;
    }

    .acme-subcat-card > .acme-subcat-card__inner {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-height: 100% !important;
    }

    .acme-subcat-card__body {
        flex: 1 1 auto !important;
    }

    .acme-subcat-card__name {
        min-height: 2.75rem !important;
    }
}

/* ==========================================================================
   Static category pages (About Us / Custom Order) — no PLP chrome
   ========================================================================== */

.catalog-category-view.category-about-us,
.catalog-category-view.category-custom-order,
.acme-category-page:has(.acme-static-cms) {
    --acme-static-pad-x: clamp(1.25rem, 9.7vw, 11.53125rem);
}

.catalog-category-view.category-about-us .columns,
.catalog-category-view.category-custom-order .columns,
.acme-category-page:has(.acme-static-cms) .columns {
    display: block !important;
    grid-template-columns: none !important;
    padding-inline: 0 !important;
    gap: 0 !important;
}

.catalog-category-view.category-about-us .sidebar,
.catalog-category-view.category-custom-order .sidebar,
.acme-category-page:has(.acme-static-cms) .sidebar,
.catalog-category-view.category-about-us .acme-category-title-wrap,
.catalog-category-view.category-custom-order .acme-category-title-wrap,
.acme-category-page:has(.acme-static-cms) .acme-category-title-wrap,
.catalog-category-view.category-about-us .acme-cat-nav,
.catalog-category-view.category-custom-order .acme-cat-nav,
.acme-category-page:has(.acme-static-cms) .acme-cat-nav,
.catalog-category-view.category-about-us .category-image,
.catalog-category-view.category-custom-order .category-image {
    display: none !important;
}

.catalog-category-view.category-about-us .column.main,
.catalog-category-view.category-custom-order .column.main,
.acme-category-page:has(.acme-static-cms) .column.main,
.acme-category-page:has(.acme-custom-order) .column.main {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

.catalog-category-view.category-custom-order .columns,
.acme-category-page:has(.acme-custom-order) .columns {
    display: block !important;
    grid-template-columns: none !important;
    padding-inline: 0 !important;
    gap: 0 !important;
}

.catalog-category-view.category-custom-order .sidebar,
.catalog-category-view.category-custom-order .acme-category-title-wrap,
.catalog-category-view.category-custom-order .acme-cat-nav,
.catalog-category-view.category-custom-order .category-image,
.acme-category-page:has(.acme-custom-order) .sidebar,
.acme-category-page:has(.acme-custom-order) .acme-category-title-wrap,
.acme-category-page:has(.acme-custom-order) .acme-cat-nav {
    display: none !important;
}

/* Custom Order landing — full bleed; page pad matches header logo→cart */
.catalog-category-view.category-custom-order .category-view.acme-category-banner,
.catalog-category-view.category-custom-order #category-view-container,
.catalog-category-view.category-custom-order .acme-category-banner.container,
.acme-category-page:has(.acme-custom-order) .category-view.acme-category-banner,
.acme-category-page:has(.acme-custom-order) #category-view-container,
.acme-category-page:has(.acme-custom-order) .acme-category-banner.container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.catalog-category-view.category-custom-order .acme-custom-order,
.acme-category-page:has(.acme-custom-order) .acme-custom-order {
    width: 100%;
    max-width: none;
}

.acme-static-cms {
    width: 100%;
    padding: 3rem var(--acme-static-pad-x, clamp(1.25rem, 9.7vw, 11.53125rem)) 5rem;
    background: #fff;
    box-sizing: border-box;
}

.acme-static-page__inner {
    max-width: 48rem;
    margin: 0 auto;
}

.acme-static-page__title {
    margin: 0 0 1rem;
    color: #0f2d52;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(2rem, 3vw, 2.75rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02rem;
}

.acme-static-page__lead {
    margin: 0 0 1.25rem;
    color: #0f2d52;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.55;
}

.acme-static-page p {
    margin: 0 0 1rem;
    color: #334155;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 1rem;
    line-height: 1.65;
}

/* Category PLP: never show Items count or Show/limiter */
.acme-product-list:not(.acme-product-list--search) .toolbar-amount,
.acme-product-list:not(.acme-product-list--search) .limiter,
.acme-category-page .toolbar-products--bottom .toolbar-amount,
.acme-category-page .toolbar-products--bottom .limiter {
    display: none !important;
}

/* === acme-plp-fill-responsive-v2 === */
.acme-product-card__photo span.product-image-wrapper,
.acme-product-card__photo .product-image-container,
.acme-product-card__photo .product-image-wrapper {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.acme-product-card__photo img,
.acme-product-card__photo .product-image-photo,
.acme-product-grid .product-image-photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 1280px) {
    .acme-category-page main.page-main,
    .acme-category-page #maincontent.page-main {
        padding-bottom: 2.5rem;
    }
}

@media (max-width: 1023px) {
    .acme-category-page .columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.25rem !important;
    }
    /* No side category nav on mobile/tablet — products/main only */
    .acme-category-page .sidebar.sidebar-main,
    .acme-category-page .sidebar-main,
    .acme-category-page .sidebar.sidebar-additional,
    .acme-category-page .acme-cat-nav {
        display: none !important;
    }
    .acme-category-page .column.main,
    .acme-category-page .main {
        width: 100% !important;
        max-width: 100% !important;
        order: 1;
    }
    .acme-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }
}

@media (max-width: 639px) {
    .acme-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
    }
    .acme-category-page main.page-main,
    .acme-category-page #maincontent.page-main {
        padding: 1rem 0.875rem 2rem !important;
    }
}


/* === acme-plp-head-align-v2 === */
.acme-category-page .acme-category-title-wrap {
    margin-bottom: 0 !important;
    min-height: calc(var(--acme-plp-head-h) + var(--acme-plp-head-top)) !important;
    align-items: flex-end !important;
}
.acme-category-page .acme-category-title-wrap .page-title,
.acme-category-page .acme-category-title-wrap span.page-title,
.acme-category-page .acme-category-title-wrap h1.page-title,
.acme-category-page .acme-category-title-wrap h2.page-title,
.acme-category-page .acme-category-title-wrap h3.page-title,
.acme-category-page .acme-category-title {
    font-size: 2.5rem !important;
    line-height: 1.15 !important;
}
.acme-category-page .acme-cat-nav__title {
    display: flex !important;
    align-items: flex-end !important;
    min-height: calc(var(--acme-plp-head-h) + var(--acme-plp-head-top)) !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    font-size: 1.9125rem !important; /* was 2.25rem → −15% */
    line-height: 1.15 !important;
    text-align: left !important;
}
.acme-category-page .acme-cat-nav {
    row-gap: var(--acme-plp-head-gap) !important;
}
.acme-category-page .column.main {
    row-gap: var(--acme-plp-head-gap) !important;
}

@media (max-width: 1023px) {
    :root {
        --acme-plp-head-top: 1.25rem;
    }
}

/* ==========================================================================
   === acme-catalog-responsive-v1 ===
   Mobile (320-767) / tablet (768-1023) pass. Desktop >= 1024px is finalized,
   so every rule below lives inside a max-width media query.
   Keep this block byte-identical in web/tailwind/components/acme-category.css.
   ========================================================================== */

@media (max-width: 1023px) {
    /*
     * Audit C1 — the desktop rule
     *   .acme-category-page.page-layout-2columns-left
     *       .columns:not(:has(.acme-subcat-landing))
     * carries `display: grid !important` at (0,4,0), so the earlier
     * max-width override never applied. Leading `body` buys the tie-break.
     * Parent landings and the static CMS categories keep their own layouts —
     * the static markup sits in columns.top, so those guards go on the body.
     */
    body.acme-category-page:not(.category-about-us):not(.category-custom-order):not(:has(.acme-static-cms)):not(:has(.acme-custom-order)).page-layout-2columns-left
        .columns:not(:has(.acme-subcat-landing)),
    body.acme-category-page:not(.category-about-us):not(.category-custom-order):not(:has(.acme-static-cms)):not(:has(.acme-custom-order))
        .page-main
        .columns:not(:has(.acme-subcat-landing)) {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        gap: 1.25rem !important;
    }

    body.acme-category-page.page-layout-2columns-left
        .columns:not(:has(.acme-subcat-landing))
        > .column.main,
    body.acme-category-page
        .page-main
        .columns:not(:has(.acme-subcat-landing))
        > .column.main {
        grid-column: auto !important;
        grid-row: auto !important;
        order: 1;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.acme-category-page.page-layout-2columns-left
        .columns:not(:has(.acme-subcat-landing))
        > .sidebar.sidebar-main,
    body.acme-category-page
        .page-main
        .columns:not(:has(.acme-subcat-landing))
        > .sidebar.sidebar-main,
    body.acme-category-page .acme-cat-nav {
        display: none !important;
    }

    body.acme-category-page.page-layout-2columns-left
        .columns:not(:has(.acme-subcat-landing))
        > .acme-category-description,
    body.acme-category-page
        .page-main
        .columns:not(:has(.acme-subcat-landing))
        > .acme-category-description {
        grid-column: auto !important;
        grid-row: auto !important;
        order: 3;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* One gutter only: .columns already rides the header/banner rail. */
    body.acme-category-page:not(:has(.acme-static-cms)):not(:has(.acme-custom-order))
        main.page-main,
    body.acme-category-page:not(:has(.acme-static-cms)):not(:has(.acme-custom-order))
        #maincontent.page-main {
        padding-inline: 0 !important;
    }

    /* Stacked head: the title and sidebar label no longer share a row. */
    body.acme-category-page .acme-category-title-wrap {
        min-height: 0 !important;
        padding-top: 1.25rem !important;
    }

    body.acme-category-page .acme-category-title-wrap .page-title,
    body.acme-category-page .acme-category-title-wrap span.page-title,
    body.acme-category-page .acme-category-title-wrap h1.page-title,
    body.acme-category-page .acme-category-title-wrap h2.page-title,
    body.acme-category-page .acme-category-title-wrap h3.page-title,
    body.acme-category-page .acme-category-title {
        font-size: 2rem !important;
        line-height: 1.2 !important;
    }

    body.acme-category-page .acme-cat-nav__title {
        min-height: 0 !important;
        padding-top: 0.425rem !important; /* was 0.5rem → −15% */
        font-size: 1.275rem !important; /* was 1.5rem → −15% */
        line-height: 1.2 !important;
    }

    /* Audit C2 — hit areas scaled −15% with the rest of the nav. */
    .acme-cat-nav__toggle {
        min-width: 2.3375rem; /* was 2.75rem → −15% */
        min-height: 2.3375rem;
    }

    .acme-cat-nav__child {
        min-height: 2.3375rem; /* was 2.75rem → −15% */
        padding-block: 0.53125rem; /* was 0.625rem → −15% */
    }

    /* Wishlist keeps its 28px visual; the pseudo-element carries the target. */
    .acme-product-card__wish-btn {
        position: relative;
    }

    .acme-product-card__wish-btn::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 2.75rem;
        height: 2.75rem;
        transform: translate(-50%, -50%);
    }

    /* Card CTA: wrap instead of overflowing narrow two-up columns. */
    .acme-product-card__actions,
    .acme-subcat-card__actions {
        padding: 0.5rem 0.75rem 0.875rem;
    }

    .acme-product-card__cart,
    .acme-subcat-card__cta {
        padding-inline: 0.75rem;
        gap: 0.5rem;
        line-height: 1.3;
        white-space: normal;
        text-align: center;
    }

    /* Parent landing header/type density at tablet. */
    .acme-subcat-landing__header {
        padding-block: 1rem;
    }

    .acme-subcat-landing__title {
        font-size: clamp(1.5rem, 4.5vw, 2.25rem);
    }
}

@media (max-width: 639px) {
    body.acme-category-page:not(:has(.acme-static-cms)):not(:has(.acme-custom-order))
        main.page-main,
    body.acme-category-page:not(:has(.acme-static-cms)):not(:has(.acme-custom-order))
        #maincontent.page-main {
        padding-block: 1rem 2rem !important;
        padding-inline: 0 !important;
    }

    body.acme-category-page .acme-category-title-wrap .page-title,
    body.acme-category-page .acme-category-title-wrap span.page-title,
    body.acme-category-page .acme-category-title-wrap h1.page-title,
    body.acme-category-page .acme-category-title-wrap h2.page-title,
    body.acme-category-page .acme-category-title-wrap h3.page-title,
    body.acme-category-page .acme-category-title {
        font-size: 1.75rem !important;
    }

    body.acme-category-page .acme-cat-nav__title {
        font-size: 1.16875rem !important; /* was 1.375rem → −15% */
    }

    /* Full-width single column can afford two lines instead of an ellipsis. */
    .acme-product-card__name,
    .acme-product-card__name a {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        white-space: normal;
        overflow: hidden;
    }

    .acme-cat-nav__trigger {
        min-height: 2.975rem; /* was 3.5rem → −15% */
        padding-inline: 0.85rem; /* was 1rem → −15% */
    }

    .acme-cat-nav__child {
        padding-inline: 0.85rem;
    }

    .acme-cat-nav__divider {
        width: calc(100% - 1.7rem);
    }
}

/* === PLP mobile price — one row: current + unit + cut price (same as homepage) === */
@media (max-width: 1023px) {
    body.acme-category-page .acme-product-grid .acme-product-card__price,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .price-box,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .price-box,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .price-box {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        flex-wrap: nowrap !important;
        gap: 0.2rem !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        overflow-x: visible !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .special-price,
    body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .normal-price,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .price-box .special-price,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .price-box .normal-price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .special-price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .normal-price,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .price-box .special-price,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .price-box .normal-price {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        flex-wrap: nowrap !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        gap: 0.15rem !important;
        font-size: 0 !important;
        line-height: 0 !important;
        order: 1 !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .special-price .price,
    body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .normal-price .price,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .price-box .special-price .price,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .price-box .normal-price .price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .special-price .price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .normal-price .price,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .price-box .special-price .price,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .price-box .normal-price .price {
        font-size: clamp(0.6875rem, 3vw, 0.8125rem) !important;
        line-height: 1.1 !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .acme-product-price-unit,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .acme-product-price-unit,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .acme-product-price-unit,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .acme-product-price-unit {
        display: inline !important;
        visibility: visible !important;
        opacity: 1 !important;
        font-size: clamp(0.5rem, 2.2vw, 0.625rem) !important;
        line-height: 1.1 !important;
        font-weight: 400 !important;
        color: var(--acme-ink, #0f2d52) !important;
        white-space: nowrap !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .old-price,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .old-price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .old-price,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .old-price {
        display: inline-flex !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        order: 2 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .old-price .price,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .old-price .price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .old-price .price,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .old-price .price {
        font-size: clamp(0.5625rem, 2.4vw, 0.6875rem) !important;
        line-height: 1.05 !important;
        font-weight: 400 !important;
        color: #6b7280 !important;
        text-decoration: line-through !important;
        text-decoration-thickness: 1px !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .old-price .acme-product-price-unit,
    body.acme-category-page .acme-product-grid__item .acme-product-card__price .old-price .acme-product-price-unit,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .old-price .acme-product-price-unit,
    body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .old-price .acme-product-price-unit {
        display: none !important;
    }
}

/* v22 — M15 PLP cards match homepage Best Selling (16px chrome) */
body.acme-category-page .acme-product-grid .acme-product-card,
body.catalogsearch-result-index .acme-product-grid .acme-product-card {
    border-radius: 1rem !important;
    overflow: hidden !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__media,
body.acme-category-page .acme-product-grid .acme-product-card__photo,
body.acme-category-page .acme-product-grid .acme-product-card__photo img,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__media,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__photo,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__photo img {
    border-radius: 1rem 1rem 0 0 !important;
}

/* ========== Figma 1090-1588 — PLP product cards (desktop + mobile) ==========
 * Mobile selected card ≈ 196 × 280 (height hug).
 * Image frame uses Figma 352×240 ratio on both breakpoints.
 * Order: media(+wishlist) → title → 2 meta lines → price+strike → full-width CTA.
 */
body.acme-category-page .acme-product-grid .acme-product-card,
body.catalogsearch-result-index .acme-product-grid .acme-product-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 0.5rem !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e8ecf0 !important;
    box-shadow: 0 2px 20px rgba(15, 45, 82, 0.06) !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__media,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__media {
    position: relative !important;
    order: 1 !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    aspect-ratio: 352 / 240 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #f7f8fa !important;
    border-radius: 0.5rem 0.5rem 0 0 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__photo,
body.acme-category-page .acme-product-grid .acme-product-card__photo img,
body.acme-category-page .acme-product-grid .acme-product-card__photo .product-image-photo,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__photo,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__photo img,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__photo .product-image-photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
}

/* Wishlist lives in actions (left of ATC) — not media overlay. */
body.acme-category-page .acme-product-grid .acme-product-card__media .acme-product-card__wishlist,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__media .acme-product-card__wishlist {
    display: none !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__info,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__info {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.25rem !important;
    padding: 0.625rem 0.75rem 0.35rem !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__name,
body.acme-category-page .acme-product-grid .acme-product-card__name a,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__name,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__name a {
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #0f2d52 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__meta-slot,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta-slot {
    order: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__meta,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.1rem !important;
    width: 100% !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__meta-line,
body.acme-category-page .acme-product-grid .acme-product-card__meta-prose,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta-line,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta-prose {
    display: block !important;
    margin: 0 !important;
    font-size: 0.6875rem !important;
    line-height: 1.25 !important;
    color: #6b7280 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__price,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__price {
    order: 3 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    gap: 0.35rem !important;
    width: 100% !important;
    margin: 0.15rem 0 0 !important;
    padding: 0 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__price .price-box,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    gap: 0.35rem !important;
    margin: 0 !important;
    width: auto !important;
    overflow: visible !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .special-price .price,
body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .normal-price .price,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .special-price .price,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .normal-price .price {
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #0f2d52 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__price .old-price .price,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .old-price .price {
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    color: #6b7280 !important;
    text-decoration: line-through !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__actions,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions {
    order: 3 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.5rem !important;
    width: 100% !important;
    margin-top: auto !important;
    padding: 0.4rem 0.75rem 0.75rem !important;
    box-sizing: border-box !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline {
    display: block !important;
    position: static !important;
    inset: auto !important;
    flex: 0 0 2.25rem !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    margin: 0 !important;
    order: 1 !important;
    z-index: 1 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline button,
body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline .acme-product-card__wish-btn,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline button,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline .acme-product-card__wish-btn {
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem !important;
    min-height: 2.25rem !important;
    padding: 0 !important;
    border-radius: 0.375rem !important;
    border: 1px solid #d0d7e2 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #0f2d52 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__cart,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__cart {
    display: inline-flex !important;
    flex: 1 1 auto !important;
    order: 2 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem !important;
    width: auto !important;
    max-width: none !important;
    min-height: 2.25rem !important;
    height: 2.25rem !important;
    padding: 0 0.65rem !important;
    border-radius: 0.375rem !important;
    background: #ad2733 !important;
    color: #fff !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__cart svg,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__cart svg {
    width: 0.95rem !important;
    height: 0.95rem !important;
    flex: 0 0 auto !important;
}

@media (min-width: 1024px) {
    body.acme-category-page .acme-product-grid,
    body.catalogsearch-result-index .acme-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 1.5rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__name,
    body.acme-category-page .acme-product-grid .acme-product-card__name a,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__name,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__name a {
        font-size: 1rem !important;
        line-height: 1.3 !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__info,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__info {
        padding: 0.85rem 1rem 0.4rem !important;
        gap: 0.35rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__cart,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__cart {
        min-height: 2.5rem !important;
        height: 2.5rem !important;
        font-size: 0.8125rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline {
        flex: 0 0 2.5rem !important;
        width: 2.5rem !important;
        height: 2.5rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline button,
    body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline .acme-product-card__wish-btn,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline button,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline .acme-product-card__wish-btn {
        width: 2.5rem !important;
        height: 2.5rem !important;
        min-width: 2.5rem !important;
        min-height: 2.5rem !important;
    }
}

@media (max-width: 1023px) {
    body.acme-category-page .acme-product-grid,
    body.catalogsearch-result-index .acme-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__info,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__info {
        padding: 0.5rem 0.55rem 0.25rem !important;
        gap: 0.15rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__name,
    body.acme-category-page .acme-product-grid .acme-product-card__name a,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__name,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__name a {
        font-size: 0.75rem !important;
        line-height: 1.15 !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__meta-line,
    body.acme-category-page .acme-product-grid .acme-product-card__meta-prose,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta-line,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta-prose {
        font-size: 0.625rem !important;
        line-height: 1.2 !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .special-price .price,
    body.acme-category-page .acme-product-grid .acme-product-card__price .price-box .normal-price .price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .special-price .price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .price-box .normal-price .price {
        font-size: 0.75rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__price .old-price .price,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .old-price .price {
        font-size: 0.625rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__actions,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions {
        padding: 0.3rem 0.55rem 0.55rem !important;
        gap: 0.35rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline {
        flex: 0 0 2rem !important;
        width: 2rem !important;
        height: 2rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline button,
    body.acme-category-page .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline .acme-product-card__wish-btn,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline button,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__actions .acme-product-card__wishlist--inline .acme-product-card__wish-btn {
        width: 2rem !important;
        height: 2rem !important;
        min-width: 2rem !important;
        min-height: 2rem !important;
    }

    body.acme-category-page .acme-product-grid .acme-product-card__cart,
    body.catalogsearch-result-index .acme-product-grid .acme-product-card__cart {
        min-height: 2rem !important;
        height: 2rem !important;
        font-size: 0.625rem !important;
        padding-inline: 0.4rem !important;
    }
}

/* ========== v15 — MBA 13" banner height + meta closer to price ========== */
/* MacBook Air 13" logical widths ~1280–1512: 22rem hero reads too tall */
@media (min-width: 1024px) and (max-width: 1512px) {
    .acme-category-hero__img,
    .acme-category-page .acme-category-banner__cms img,
    .acme-category-page .category-view.acme-category-banner img {
        max-height: min(14rem, 26vh) !important;
        height: auto !important;
        object-fit: cover !important;
    }

    .acme-category-hero {
        max-height: min(14rem, 26vh) !important;
    }
}

@media (min-width: 1513px) {
    .acme-category-hero__img {
        max-height: 18rem !important;
    }
}

/* Pull meta prose tight against price / unit / cut */
body.acme-category-page .acme-product-grid .acme-product-card__info,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__info {
    gap: 0.15rem !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__meta-slot,
body.acme-category-page .acme-product-grid .acme-product-card__meta,
body.acme-category-page .acme-product-grid .acme-product-card__meta--prose,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta-slot,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__meta--prose {
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__price,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__price {
    margin-top: 0.1rem !important;
    padding-top: 0 !important;
}

/* ========== v20 — PLP images fit in square frame ========== */
body.acme-category-page .acme-product-grid .acme-product-card__media,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__media {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    max-height: none !important;
}

body.acme-category-page .acme-product-grid .acme-product-card__photo img,
body.acme-category-page .acme-product-grid .acme-product-card__photo .product-image-photo,
body.acme-category-page .acme-product-grid .acme-product-card__media img,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__photo img,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__photo .product-image-photo,
body.catalogsearch-result-index .acme-product-grid .acme-product-card__media img {
    object-fit: contain !important;
    object-position: center center !important;
}

/* ========== Side categories rail width (unchanged) ========== */
:root {
    --acme-cat-sidebar: 20rem;
}

/* Cut price — match PDP Similar Products (#6b7280); never light rgba / #00000061 */
html body.acme-category-page .acme-product-grid .acme-product-card__price .old-price .price,
html body.acme-category-page .acme-product-grid__item .acme-product-card__price .old-price .price,
html body.catalogsearch-result-index .acme-product-grid .acme-product-card__price .old-price .price,
html body.catalogsearch-result-index .acme-product-grid__item .acme-product-card__price .old-price .price {
    color: #6b7280 !important;
    -webkit-text-fill-color: #6b7280 !important;
    opacity: 1 !important;
    text-decoration: line-through !important;
    text-decoration-color: #6b7280 !important;
}
