#wrap.aal-shop-page {
    --aal-red: #b6152d;
    --red-dark: #921127;
    --aal-ink: #181719;
    --aal-line: #e8e1db;
    --aal-cream: #f9f5f0;
    color: var(--aal-ink);
}

.aal-shop-page #o_wsale_products_header {
    align-items: stretch;
    text-align: left;
}

.aal-shop-page .aal-shop-eyebrow {
    order: -1;
    color: var(--red-dark);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.aal-shop-page #o_wsale_products_header h1:not(.o_wsale_category_title_is_search) {
    font-size: clamp(2rem, 4vw, 3.5rem) !important;
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1.08 !important;
    margin: 0 0 .5rem;
    overflow-wrap: anywhere;
}

.aal-shop-category-panel {
    padding-block: .5rem .75rem;
    margin-bottom: .25rem;
    border-bottom: 1px solid var(--aal-line);
}

.aal-shop-categories {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.aal-shop-categories a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .35rem .75rem;
    border: 1px solid var(--aal-line);
    border-radius: 7px;
    background: #fff;
    color: var(--aal-ink);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}

.aal-shop-categories a:hover,
.aal-shop-categories a:focus-visible {
    border-color: var(--aal-red);
    color: var(--red-dark);
}

.aal-shop-categories a.active,
.aal-shop-categories a[aria-current="page"] {
    border-color: var(--aal-ink);
    background: var(--aal-ink);
    color: #fff;
}

.aal-shop-subcategories {
    margin-top: .65rem;
    padding: .5rem;
    border-radius: 8px;
    background: var(--aal-cream);
}

.aal-shop-subcategories a[aria-current="page"] {
    border-color: var(--red-dark);
    background: var(--red-dark);
}

.aal-shop-page #o_wsale_products_grid .oe_product_cart {
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--aal-line);
    border-radius: 8px;
    background: #fff;
}

.aal-shop-page #o_wsale_products_grid .oe_product_image {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    background: var(--aal-cream);
}

.aal-shop-page .oe_product_image_link,
.aal-shop-page .aal-shop-art {
    display: block;
    width: 100%;
    height: 100%;
}

.aal-shop-page .oe_product_image img {
    --o-wsale-card-thumb-fill-mode: contain;
}

.aal-shop-page #o_wsale_products_grid .o_wsale_product_information {
    padding: clamp(.55rem, 1.4vw, .9rem);
}

.aal-shop-page .aal-shop-product-label {
    margin-bottom: .25rem;
    color: var(--red-dark);
    text-transform: uppercase;
    letter-spacing: .09em;
    font-size: .65rem;
    font-weight: 800;
}

.aal-shop-page #o_wsale_products_grid .o_wsale_products_item_title a {
    color: var(--aal-ink);
    font-size: clamp(.9rem, 1.4vw, 1.12rem);
    font-weight: 800;
    line-height: 1.18;
}

.aal-shop-page #o_wsale_products_grid .o_wsale_product_btn .o_wsale_product_btn_primary {
    --o-wsale-card-btn-submit-label-display: inline;
    --o-wsale-card-btn-submit-label-font-size: .8rem;
    --btn-color: #fff;
    --btn-bg: var(--aal-red);
    --btn-border-color: var(--aal-red);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--red-dark);
    --btn-hover-border-color: var(--red-dark);
    --btn-active-color: #fff;
    --btn-active-bg: var(--red-dark);
    --btn-active-border-color: var(--red-dark);
    --btn-focus-shadow-rgb: 182, 21, 45;
    --btn-border-radius: 7px;
    --btn-padding-x: .5rem;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    font-weight: 750;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .aal-shop-categories {
        gap: .35rem;
    }

    .aal-shop-categories a {
        padding-inline: .55rem;
        font-size: .8rem;
    }

    .aal-shop-page #o_wsale_products_header .products_header {
        flex-wrap: wrap !important;
    }

    .aal-shop-page .o_wsale_products_header_search_form_container {
        flex: 0 0 100%;
        min-width: 0;
    }
}

.aal-shop-art .icon { width: 21px; height: 21px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.aal-shop-art .item-photo { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; overflow: hidden; background: var(--card-bg); }
.aal-shop-art .item-photo::before { content: ""; position: absolute; width: 85%; aspect-ratio: 1; border-radius: 50%; background: var(--card-glow); top: 3%; left: 33%; opacity: .65; }
.aal-shop-art .item-photo svg { position: relative; width: 76%; height: 86%; filter: drop-shadow(8px 11px 8px rgb(70 32 27 / .20)); }
.aal-shop-art .art-coffee { --card-bg:#e7c7b2; --card-glow:#f5ded0; --drink:#efe1cf; --drink-accent:#d8af8d; }
.aal-shop-art .art-mango { --card-bg:#f2bb74; --card-glow:#ffe5a9; --drink:#ff9e27; --drink-accent:#ffe099; }
.aal-shop-art .art-berry { --card-bg:#edb4bc; --card-glow:#ffdade; --drink:#d64069; --drink-accent:#fca6ba; }
.aal-shop-art .art-lime { --card-bg:#c7d6ae; --card-glow:#f1f2bf; --drink:#90aa46; --drink-accent:#deeb97; }
.aal-shop-art .art-mule { --card-bg:#cab3a6; --card-glow:#f8d8bd; --drink:#bc724e; --drink-accent:#e8ad81; }
.aal-shop-art .art-snack { --card-bg:#e8c8a6; --card-glow:#fff0cc; --drink:#e6aa67; --drink-accent:#ffdb9e; }
.aal-shop-art .art-cocoa { --card-bg:#d7b2a4; --card-glow:#f9d4c5; --drink:#9f4b32; --drink-accent:#e9ab6a; }
.aal-shop-art .art-ice { --card-bg:#e7d9c0; --card-glow:#fff2da; --drink:#f9ebcd; --drink-accent:#deaa6b; }
.aal-shop-art .catalog-art .icon { width: 48px; height: 48px; stroke: var(--red-dark); filter: none; }