/* ==========================================================================
   vebou — Mini Cart ComponentNamespace: .dnooo-minicartLoaded automatically by JCM/theme runtime. Do not enqueue manually.

   Stacking budget (above header stack):
     --z-mc-overlay : 9300
     --z-mc-drawer  : 9310
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Component-scoped tokens
   -------------------------------------------------------------------------- */
.dnooo-minicart__trigger,
.dnooo-minicart__overlay,
.dnooo-minicart__drawer {
    /* Brand palette */
    --black:        #0A0A0C;
    --graphite:     #141418;
    --graphite-mid: #1E1E24;
    --bone:         #E8E4DC;
    --bone-dark:    #D4CFCA;
    --text-dark:    #0A0A0C;
    --text-mid:     #3A3A42;
    --text-muted:   #6A6A74;
    --silver-light: #B4B9C0;
    --silver:       #8C9198;
    --red:          #C0282C;
    --red-dim:      #8A1C1F;

    /* Typography */
    --font: 'DM Sans', system-ui, -apple-system, sans-serif;

    /* Spacing (4px scale) */
    --sp-1:  4px;
    --sp-2:  8px;
    --sp-3:  12px;
    --sp-4:  16px;
    --sp-5:  20px;
    --sp-6:  24px;
    --sp-8:  32px;
    --sp-10: 40px;
    --sp-12: 48px;

    /* Geometry */
    --hit:            44px;
    --drawer-w:       480px;
    --thumb-size:     80px;      /* product image square */
    --thumb-overlap:  14px;      /* qty bar crosses image bottom by this amount */
    --qty-h:          36px;
    --qty-w:          108px;
    --qty-radius:     7px;
    --action-h:       52px;      /* Checkout / Continue shopping min height */

    /* Transitions */
    --ease:      0.2s ease;
    --ease-slow: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Z-index */
    --z-mc-overlay: 9300;
    --z-mc-drawer:  9310;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .dnooo-minicart__overlay,
    .dnooo-minicart__drawer,
    .dnooo-minicart__drawer *,
    .dnooo-minicart__overlay * {
        transition-duration: 0.01ms !important;animation-duration:  0.01ms !important;
    }
}

/* --------------------------------------------------------------------------
   1. Screen-reader helper (scoped duplicate in case header's .sr-only differs)
   -------------------------------------------------------------------------- */
.dnooo-minicart .sr-only,
.dnooo-minicart__live {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --------------------------------------------------------------------------
   2. Trigger button — lives in Header; inherits .header-actions__btn geometry
   -------------------------------------------------------------------------- */
.dnooo-minicart__trigger {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hit);
    min-height: var(--hit);
    padding: var(--sp-2);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--silver-light);
    border-radius: 2px;
    transition: color var(--ease), background var(--ease);
    flex-shrink: 0;
    font-family: var(--font);
}

.dnooo-minicart__trigger:hover,
.dnooo-minicart__trigger:focus-visible {
    color: var(--bone);
    background: rgba(255, 255, 255, 0.05);
    outline: none;
}

.dnooo-minicart__trigger:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

.dnooo-minicart__trigger[aria-expanded="true"] {
    color: var(--bone);
}

.dnooo-minicart__trigger-icon {
    display: block;
    flex-shrink: 0;
    pointer-events: none;
}

/* --------------------------------------------------------------------------
   3. Count badge — zero always visible
   -------------------------------------------------------------------------- */
.dnooo-minicart__badge {
    position: absolute;
    top: 3px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    background: var(--red);
    color: var(--bone);
    font-family: var(--font);
    font-size: 0.625rem;
    font-weight: 600;
    font-style: normal;
    line-height: 16px;
    letter-spacing: 0;
    text-align: center;
    border-radius: 8px;
    pointer-events: none;
    /* Never hidden, even at zero */
    display: inline-block;
}

/* --------------------------------------------------------------------------
   4. Overlay — body portal, always above header
   -------------------------------------------------------------------------- */
.dnooo-minicart__overlay {
    position: fixed;
    inset: 0;
    z-index: var(--z-mc-overlay);
    background: rgba(10, 10, 12, 0.65);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity var(--ease-slow);
    cursor: pointer;
}

.dnooo-minicart__overlay[hidden] {
    display: none !important;
}

.dnooo-minicart__overlay.is-open {
    opacity: 1;
}

/* --------------------------------------------------------------------------
   5. Drawer shell — right-side panel, body portal
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-mc-drawer);
    width: var(--drawer-w);
    max-width: 100vw;
    background: var(--graphite);
    border-left: 1px solid rgba(255, 255, 255, 0.07);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: translateX(100%);
    transition: transform var(--ease-slow);
    font-family: var(--font);color: var(--bone);
    /* Closed: also ensure non-interactable via hidden attribute */
}

.dnooo-minicart__drawer[hidden] {
    display: none !important;
}

.dnooo-minicart__drawer.is-open {
    transform: translateX(0);
}

/* Mobile: full width */
@media (max-width: 540px) {
    .dnooo-minicart__drawer {
        width: 100vw;
        border-left: none;
    }
}

/* --------------------------------------------------------------------------
   6. Drawer header — stable, non-scrolling
   -------------------------------------------------------------------------- */
.dnooo-minicart__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    padding: 0 var(--sp-6);
    min-height: 68px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    gap: var(--sp-4);
}

@media (max-width: 540px) {
    .dnooo-minicart__header {
        padding: 0 var(--sp-5);
    }
}

.dnooo-minicart__header-title-row {
    display: flex;
    align-items: baseline;
    gap: var(--sp-2);
    min-width: 0;
}

.dnooo-minicart__title {
    font-family: var(--font);
    font-size: clamp(1.125rem, 3vw, 1.375rem);
    font-weight: 300;
    letter-spacing: -0.015em;
    color: var(--bone);
    margin: 0;
    padding: 0;
    line-height: 1.3;
    white-space: nowrap;
    /* Reset any WP/Woo heading overrides */
    text-transform: none;
    font-style: normal;
}

.dnooo-minicart__title-count {
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--silver);
    white-space: nowrap;
    font-style: normal;
}

/* --------------------------------------------------------------------------
   7. Close button
   -------------------------------------------------------------------------- */
.dnooo-minicart__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hit);
    min-height: var(--hit);
    padding: var(--sp-2);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--silver-light);
    border-radius: 2px;
    transition: color var(--ease), background var(--ease);
    flex-shrink: 0;
    font-family: var(--font);
}

.dnooo-minicart__drawer .dnooo-minicart__close {
    color: var(--silver-light);
}

.dnooo-minicart__drawer .dnooo-minicart__close:hover,
.dnooo-minicart__drawer .dnooo-minicart__close:focus-visible {
    color: var(--bone);background: rgba(255, 255, 255, 0.05);
    outline: none;
}

.dnooo-minicart__drawer .dnooo-minicart__close:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   8. Drawer body — scrollable items zone
   -------------------------------------------------------------------------- */
.dnooo-minicart__body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    /* webkit momentum */
    -webkit-overflow-scrolling: touch;
}

/* Scrollbar styling — subtle, on-brand */
.dnooo-minicart__body::-webkit-scrollbar {
    width: 4px;
}

.dnooo-minicart__body::-webkit-scrollbar-track {
    background: transparent;
}

.dnooo-minicart__body::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 2px;
}

/* --------------------------------------------------------------------------
   9. Empty state
   -------------------------------------------------------------------------- */
.dnooo-minicart__empty-state {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 340px;
    padding: var(--sp-12) var(--sp-6);
}

.dnooo-minicart__empty-state[hidden] {
    display: none !important;
}

.dnooo-minicart__empty-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--sp-4);
    max-width: 280px;
}

.dnooo-minicart__empty-icon {
    color: rgba(180, 185, 192, 0.4);
    flex-shrink: 0;margin-bottom: var(--sp-2);
}

.dnooo-minicart__empty-message {
    font-family: var(--font);
    font-size: 1.0625rem;
    font-weight: 300;
    letter-spacing: -0.01em;
    color: var(--bone);
    margin: 0;
    line-height: 1.4;font-style: normal;
    text-transform: none;
}

.dnooo-minicart__empty-account-note {
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--silver);
    margin: 0;
    line-height: 1.55;
    font-style: normal;
    letter-spacing: 0;
}

.dnooo-minicart__empty-account-link {
    color: var(--silver-light);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: rgba(180, 185, 192, 0.4);
    transition: color var(--ease);font-family: var(--font);
    font-style: normal;
}

.dnooo-minicart__empty-account-link:hover,
.dnooo-minicart__empty-account-link:focus-visible {
    color: var(--bone);
    outline: none;
}

.dnooo-minicart__empty-account-link:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 2px;
    border-radius: 2px;
}

.dnooo-minicart__continue-shopping {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    min-height: var(--action-h);
    padding: 0 var(--sp-8);
    margin-top: var(--sp-2);
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bone);
    background: transparent;
    border: 1px solid rgba(232, 228, 220, 0.3);
    border-radius: 2px;
    text-decoration: none;
    cursor: pointer;
    transition: color var(--ease), border-color var(--ease), background var(--ease), transform 0.15s ease;
    white-space: nowrap;
}

.dnooo-minicart__continue-shopping svg {
    color: var(--red);
    flex-shrink: 0;transition: transform var(--ease);
}

.dnooo-minicart__continue-shopping:hover,
.dnooo-minicart__continue-shopping:focus-visible {
    color: var(--bone);
    border-color: rgba(232, 228, 220, 0.55);
    background: rgba(232, 228, 220, 0.07);
    transform: translateY(-1px);
    outline: none;
}

.dnooo-minicart__continue-shopping:hover svg,
.dnooo-minicart__continue-shopping:focus-visible svg {
    transform: translateX(3px);
}

.dnooo-minicart__continue-shopping:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   10. Items state wrapper
   -------------------------------------------------------------------------- */
.dnooo-minicart__items-state {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.dnooo-minicart__items-state[hidden] {
    display: none !important;
}

/* --------------------------------------------------------------------------
   11. WooCommerce widget container — flex column, correct visual order
   --------------------------------------------------------------------------
   widget_shopping_cart_content direct children order (via flex order):
     .woocommerce-mini-cart (ul of items)       — order 1
     .jcm-minicart__recommendations— order 2 (if present)
     .woocommerce-mini-cart__total              — order 3
     .jcm-minicart__discounts                   — order 4 (if present)
     .woocommerce-mini-cart__buttons            — order 5
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer .widget_shopping_cart_content {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Item list scrolls, everything below sticks to bottom of drawer via footer */
.dnooo-minicart__drawer .widget_shopping_cart_content .woocommerce-mini-cart {
    order: 1;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dnooo-minicart__drawer .widget_shopping_cart_content .jcm-minicart__recommendations {
    order: 2;
}

.dnooo-minicart__drawer .widget_shopping_cart_content .woocommerce-mini-cart__total {
    order: 3;
}

.dnooo-minicart__drawer .widget_shopping_cart_content .jcm-minicart__discounts {
    order: 4;
}

.dnooo-minicart__drawer .widget_shopping_cart_content .woocommerce-mini-cart__buttons {
    order: 5;
}

/* --------------------------------------------------------------------------
   12. Product row — li.mini_cart_item
   --------------------------------------------------------------------------
   Woo's real DOM (direct children of li.mini_cart_item):
     a.remove           — remove link
     a (product link)   — wraps img + product name text node
     dl.variation       — optional variation data
     span.quantity      — quantity text (Woo native, before JCM enhancement)
   JCM injects .jcm-minicart__line wrapper and siblings around this.
   .dnooo-minicart__product-layout is built by UI JS and wraps it all.
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer .woocommerce-mini-cart .mini_cart_item {
    position: relative;
    list-style: none;
    padding: var(--sp-5) var(--sp-6);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-family: var(--font);
}

/* Fragment fallback: Woo may paint its raw row before the UI enhancer runs. */
.dnooo-minicart__drawer .woocommerce-mini-cart .mini_cart_item > a:not(.remove) img,
.dnooo-minicart__drawer .woocommerce-mini-cart .mini_cart_item > .jcm-minicart__line > a:not(.remove) img {
    display: block;
    width: var(--thumb-size, var(--mc-thumb-size, 80px)) !important;
    height: var(--thumb-size, var(--mc-thumb-size, 80px)) !important;
    max-width: 100% !important;
    object-fit: contain;
    float: none !important;
}

@media (max-width: 540px) {
    .dnooo-minicart__drawer .woocommerce-mini-cart .mini_cart_item {
        padding: var(--sp-4) var(--sp-5);
    }
}

/* JCM line wrapper (output by plugin, scoped for clarity) */
.dnooo-minicart__drawer .jcm-minicart__line {
    position: relative;
}

/* ----- Product layout scaffold (built by UI JS) ----- */
.dnooo-minicart__product-layout {
    position: relative;
    display: grid;
    /* Left column: image; Right column: all content */
    grid-template-columns: var(--thumb-size) 1fr;
    grid-template-rows: auto;
    gap: 0 var(--sp-4);
    /* Reserve space below image for the qty bar overlap */
    padding-bottom: calc(var(--qty-h) - var(--thumb-overlap) + var(--sp-2));
}

/* Product link — contains img + name text */
.dnooo-minicart__product-layout > a:not(.remove) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: block;
    position: relative;
    text-decoration: none;
    /* Image container */
    width: var(--thumb-size);
    height: var(--thumb-size);
    flex-shrink: 0;
    border-radius: 2px;
    background: var(--graphite-mid);
    overflow: hidden;
}

/* Product image */
.dnooo-minicart__product-layout > a:not(.remove) img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 2px;
    /* broken image: hide browser chrome but preserve space */
}

/* Product image — broken state (added by JS) */
.dnooo-minicart__product-layout > a:not(.remove).dnooo-img-broken img {
    opacity:0;
}

/* Product name — text node wrapped by JS into a span */
.dnooo-minicart__product-name {
    display: block;
    font-family: var(--font);
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--bone);
    line-height: 1.45;
    text-decoration: none;
    font-style: normal;
    text-transform: none;
    margin-bottom: var(--sp-1);
}

/* Right content column */
.dnooo-minicart__product-layout .dnooo-minicart__product-content {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 1px;
}

/* Top info row: product name + line total side by side */
.dnooo-minicart__product-layout .dnooo-minicart__product-top-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-3);
    min-width: 0;
}

/* Variation meta */
.dnooo-minicart__product-layout dl.variation,
.dnooo-minicart__product-layout .variation {
    margin: var(--sp-1) 0 0;
    padding: 0;
    font-family: var(--font);
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--silver);
    font-style: normal;
    line-height: 1.5;
}

.dnooo-minicart__product-layout dl.variation dt,
.dnooo-minicart__product-layout .variation dt {
    display: inline;
    font-weight: 500;
    color: var(--silver);
    font-family: var(--font);
    font-style: normal;
    text-transform: none;
    letter-spacing: 0;
}

.dnooo-minicart__product-layout dl.variation dd,
.dnooo-minicart__product-layout .variation dd {
    display: inline;
    margin: 0;
    font-family: var(--font);
    font-style: normal;
    color: var(--silver);
    letter-spacing: 0;
}

.dnooo-minicart__product-layout dl.variation dt::after,
.dnooo-minicart__product-layout .variation dt::after {
    content: ': ';
}

.dnooo-minicart__product-layout dl.variation p,
.dnooo-minicart__product-layout .variation p {
    display: inline;
    margin: 0;
    font-family: var(--font);
}

/* --------------------------------------------------------------------------
   13. JCM line pricing — line total, unit price
   -------------------------------------------------------------------------- */
/* Line total — top right, beside product name */
.dnooo-minicart__drawer .jcm-minicart__line-total {
    font-family: var(--font);
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--bone);
    white-space: nowrap;
    flex-shrink: 0;font-style: normal;
    text-transform: none;
}

.dnooo-minicart__drawer .jcm-minicart__line-total .woocommerce-Price-amount {
    font-family: var(--font);
    font-weight: 600;
    letter-spacing: 0;
    font-style: normal;
    text-transform: none;
}

/* Unit price — hidden by default to avoid unlabelled duplicate */
.dnooo-minicart__drawer .jcm-minicart__unit-price {
    display: none;
}

/* Line pricing wrapper */
.dnooo-minicart__drawer .jcm-minicart__line-pricing {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
    flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   14. Quantity control — anchored near image bottom edge
   -------------------------------------------------------------------------- */
/* The quantity + remove row sits at the bottom of the layout grid */
.dnooo-minicart__product-layout .dnooo-minicart__action-row {
    position: absolute;
    left: calc(var(--thumb-size) + var(--sp-4));
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: var(--sp-2);
}

/* Quantity image anchor overlay — left column bottom */
.dnooo-minicart__product-layout .dnooo-minicart__image-qty-anchor {
    position: absolute;
    left: 0;
    bottom: 0;
    width: var(--thumb-size);
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}

/* JCM quantity control */
.dnooo-minicart__drawer .jcm-minicart__quantity-control {
    display: inline-flex;
    align-items: center;
    height: var(--qty-h);
    width: var(--qty-w);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--qty-radius);
    overflow: hidden;
    background: var(--graphite-mid);
    flex-shrink: 0;
}

.dnooo-minicart__drawer .jcm-minicart__quantity-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--qty-h);
    min-width: var(--qty-h);
    height: var(--qty-h);
    background: none;
    border: none;
    color: var(--silver-light);
    font-family: var(--font);
    font-size: 1.125rem;
    font-weight: 400;
    cursor: pointer;
    transition: color var(--ease), background var(--ease);
    padding: 0;
    flex-shrink: 0;font-style: normal;
    letter-spacing: 0;
    /* Hit area already ≥36px from qty-h */
}

.dnooo-minicart__drawer .jcm-minicart__quantity-button:hover,
.dnooo-minicart__drawer .jcm-minicart__quantity-button:focus-visible {
    color: var(--bone);
    background: rgba(255, 255, 255, 0.06);
    outline: none;
}

.dnooo-minicart__drawer .jcm-minicart__quantity-button:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: -2px;
}

.dnooo-minicart__drawer .jcm-minicart__quantity-button:disabled {
    color: rgba(180, 185, 192, 0.3);
    cursor: default;
}

.dnooo-minicart__drawer .jcm-minicart__quantity-input {
    flex: 1 1 0;
    min-width: 0;
    height: var(--qty-h);
    background: none;
    border: none;
    color: var(--bone);
    font-family: var(--font);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0;
    font-style: normal;
    text-align: center;
    padding: 0 2px;
    -moz-appearance: textfield;
    appearance: textfield;
}

.dnooo-minicart__drawer .jcm-minicart__quantity-input::-webkit-outer-spin-button,
.dnooo-minicart__drawer .jcm-minicart__quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.dnooo-minicart__drawer .jcm-minicart__quantity-input:focus {
    outline: none;
    box-shadow: inset 0 0 0 1px var(--red);
}

/* --------------------------------------------------------------------------
   15. Remove button — trash icon, right of qty control
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hit);
    min-height: var(--hit);
    width: var(--hit);
    height: var(--hit);
    color: var(--silver);
    background: none;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    text-decoration: none;
    transition: color var(--ease);
    flex-shrink: 0;
    position: relative;
    /* Hide original × character */
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Trash SVG injected by JS */
.dnooo-minicart__drawer a.remove .dnooo-minicart__trash-icon {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    font-size: initial;
    line-height: initial;
}

/* Lid part — animate on hover */
.dnooo-minicart__drawer a.remove .dnooo-trash-lid {
    transition: transform 0.18s ease;
    transform-origin: center bottom;
}

.dnooo-minicart__drawer a.remove:hover .dnooo-trash-lid,
.dnooo-minicart__drawer a.remove:focus-visible .dnooo-trash-lid {
    transform: rotate(-12deg) translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
    .dnooo-minicart__drawer a.remove .dnooo-trash-lid {
        transition: none !important;
    }
}

.dnooo-minicart__drawer a.remove:hover,
.dnooo-minicart__drawer a.remove:focus-visible {
    color: var(--silver-light);
    outline: none;
}

.dnooo-minicart__drawer a.remove:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 2px;
    border-radius: 2px;
}

/* --------------------------------------------------------------------------
   16. Woo total, buttons — pulled into footer area via flex order
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer .woocommerce-mini-cart__total {
    order: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--sp-4) var(--sp-6);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    gap: var(--sp-4);
    font-family: var(--font);
}

@media (max-width: 540px) {
    .dnooo-minicart__drawer .woocommerce-mini-cart__total {
        padding: var(--sp-4) var(--sp-5);
    }
}

.dnooo-minicart__drawer .woocommerce-mini-cart__total strong {
    font-family: var(--font);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--silver);
    font-style: normal;
}

.dnooo-minicart__drawer .woocommerce-mini-cart__total .woocommerce-Price-amount {
    font-family: var(--font);
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--bone);
    font-style: normal;
    text-transform: none;
}

/* Tax/shipping note via CSS generated content */
.dnooo-minicart__drawer .woocommerce-mini-cart__total::after {
    content: 'Taxes and shipping calculated at checkout';
    display: block;
    font-family: var(--font);
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--silver);
    flex-basis: 100%;
    order: 99;
    margin-top: var(--sp-1);
    font-style: normal;
    text-transform: none;
}

/* Make total a flex-wrap container */
.dnooo-minicart__drawer .woocommerce-mini-cart__total {
    flex-wrap: wrap;
}

/* Buttons area */
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons {
    order: 5;
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-4) var(--sp-6);
    padding-bottom: calc(var(--sp-4) + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

@media (max-width: 540px) {
    .dnooo-minicart__drawer .woocommerce-mini-cart__buttons {
        padding: var(--sp-4) var(--sp-5);padding-bottom: calc(var(--sp-4) + env(safe-area-inset-bottom, 0px));
    }
}

/* Checkout button — primary CTA */
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons .checkout,
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons a.checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--action-h);
    padding: 0 var(--sp-8);
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bone) !important;
    background: var(--red) !important;
    border: none !important;
    border-radius: 2px;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--ease), transform 0.15s ease;
    width: 100%;
    box-sizing: border-box;
    font-style: normal;
}

.dnooo-minicart__drawer .woocommerce-mini-cart__buttons .checkout:hover,
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons a.checkout:hover {
    background: #A82224 !important;
    transform: translateY(-1px);
}

.dnooo-minicart__drawer .woocommerce-mini-cart__buttons .checkout:focus-visible,
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons a.checkout:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

/* View Cart — secondary, below checkout */
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons .button:not(.checkout),
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons a.button:not(.checkout) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 var(--sp-8);
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--silver-light) !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 2px;
    text-decoration: none;
    cursor: pointer;
    transition: color var(--ease), border-color var(--ease), background var(--ease);
    width: 100%;
    box-sizing: border-box;
    font-style: normal;
}

.dnooo-minicart__drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
    color: var(--bone) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

.dnooo-minicart__drawer .woocommerce-mini-cart__buttons .button:not(.checkout):focus-visible,
.dnooo-minicart__drawer .woocommerce-mini-cart__buttons a.button:not(.checkout):focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   17. Drawer footer (payment methods wrapper)
   -------------------------------------------------------------------------- */
.dnooo-minicart__footer {
    flex-shrink: 0;
}

.dnooo-minicart__footer[hidden] {
    display: none !important;
}

/* --------------------------------------------------------------------------
   18. Payment methods
   -------------------------------------------------------------------------- */
.dnooo-minicart__payment-methods {
    padding: var(--sp-3) var(--sp-6);
    padding-bottom: calc(var(--sp-3) + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

@media (max-width: 540px) {
    .dnooo-minicart__payment-methods {
        padding: var(--sp-3) var(--sp-5);
        padding-bottom: calc(var(--sp-3) + env(safe-area-inset-bottom, 0px));
    }
}

/* Hide payment section when empty (no children rendered by action) */
.dnooo-minicart__payment-methods:empty {
    display: none;
}

.dnooo-minicart__payment-methods[hidden] {
    display: none !important;
}

/* JCM runtime stable payment classes */
.dnooo-minicart__drawer .dnooo-minicart__payment-label {
    display: block;
    font-family: var(--font);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--silver);
    margin-bottom: var(--sp-2);
    font-style: normal;
}

.dnooo-minicart__drawer .dnooo-minicart__payment-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sp-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.dnooo-minicart__drawer .dnooo-minicart__payment-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.dnooo-minicart__drawer .dnooo-minicart__payment-icon {
    display: block;
    height: 18px;
    width: auto;
    max-width: 36px;
    object-fit: contain;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.06);
    padding: 1px 3px;
}

.dnooo-minicart__drawer .dnooo-minicart__payment-name {
    font-family: var(--font);
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--silver);
    font-style: normal;
    text-transform: none;
    white-space: nowrap;
}

/* --------------------------------------------------------------------------
   19. JCM Discounts
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer .jcm-minicart__discounts {
    order: 4;
    padding: var(--sp-3) var(--sp-6);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    font-family: var(--font);
}

@media (max-width: 540px) {
    .dnooo-minicart__drawer .jcm-minicart__discounts {
        padding: var(--sp-3) var(--sp-5);
    }
}

.dnooo-minicart__drawer .jcm-minicart__discount-toggle {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    min-height: 36px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--silver-light);
    transition: color var(--ease);font-style: normal;
    text-transform: none;
}

.dnooo-minicart__drawer .jcm-minicart__discount-toggle:hover,
.dnooo-minicart__drawer .jcm-minicart__discount-toggle:focus-visible {
    color: var(--bone);
    outline: none;
}

.dnooo-minicart__drawer .jcm-minicart__discount-toggle:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

.dnooo-minicart__drawer .jcm-minicart__discount-panel {
    margin-top: var(--sp-3);
}

.dnooo-minicart__drawer .jcm-minicart__coupon-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--sp-2);
    align-items: center;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-input {
    min-height: 40px;
    padding: 0 var(--sp-3);
    background: var(--graphite-mid);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px;
    color: var(--bone);
    font-family: var(--font);
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0;
    font-style: normal;
    transition: border-color var(--ease);
}

.dnooo-minicart__drawer .jcm-minicart__coupon-input:focus {
    outline: none;
    border-color: var(--red);
}

.dnooo-minicart__drawer .jcm-minicart__coupon-input::placeholder {
    color: var(--silver);
    font-family: var(--font);
    font-style: normal;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-input:disabled {
    opacity: 0.5;
    cursor: default;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 var(--sp-4);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    color: var(--silver-light);
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: color var(--ease), border-color var(--ease), background var(--ease);
    font-style: normal;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-apply:hover,
.dnooo-minicart__drawer .jcm-minicart__coupon-apply:focus-visible {
    color: var(--bone);
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.04);
    outline: none;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-apply:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-apply:disabled {
    opacity: 0.5;
    cursor: default;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-list {
    list-style: none;
    margin: var(--sp-3) 0 0;
    padding: 0;display: flex;
    flex-direction: column;
    gap: var(--sp-2);
}

.dnooo-minicart__drawer .jcm-minicart__coupon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    flex-wrap: wrap;
    padding: var(--sp-2) var(--sp-3);
    background: rgba(255, 255, 255, 0.04);
    border-radius: 2px;
    border-left: 2px solid var(--red-dim);
}

.dnooo-minicart__drawer .jcm-minicart__coupon-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--silver);
    border-radius: 2px;
    font-family: var(--font);
    font-size: 0.75rem;
    transition: color var(--ease);
    flex-shrink: 0;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-remove:hover,
.dnooo-minicart__drawer .jcm-minicart__coupon-remove:focus-visible {
    color: var(--bone);
    outline: none;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-remove:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 2px;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-amount,
.dnooo-minicart__drawer .jcm-minicart__discount-total {
    font-family: var(--font);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--bone);
    font-style: normal;
    text-transform: none;
}

.dnooo-minicart__drawer .jcm-minicart__coupon-amount .woocommerce-Price-amount,
.dnooo-minicart__drawer .jcm-minicart__discount-total .woocommerce-Price-amount {
    font-family: var(--font);
    font-weight: 500;
    letter-spacing: 0;
    font-style: normal;
}

/* --------------------------------------------------------------------------
   20. JCM Recommendations
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer .jcm-minicart__recommendations {
    order: 2;
    padding: var(--sp-4) var(--sp-6);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

@media (max-width: 540px) {
    .dnooo-minicart__drawer .jcm-minicart__recommendations {
        padding: var(--sp-4) var(--sp-5);
    }
}

.dnooo-minicart__drawer .jcm-minicart__recommendations-list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    gap: var(--sp-3);
    align-items: center;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-media {
    width: 60px;
    height: 60px;
    border-radius: 2px;
    background: var(--graphite-mid);
    overflow: hidden;
    flex-shrink: 0;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-copy {
    min-width: 0;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-name {
    display: block;
    font-family: var(--font);
    font-size: 0.8125rem;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--bone);
    line-height: 1.4;
    margin-bottom: 3px;
    font-style: normal;
    text-transform: none;
    /* truncate long names */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-price {
    display: block;
    font-family: var(--font);font-size: 0.8125rem;font-weight: 600;
    letter-spacing: 0;
    color: var(--silver-light);
    font-style: normal;
    text-transform: none;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-price .woocommerce-Price-amount {
    font-family: var(--font);
    font-weight: 600;
    letter-spacing: 0;
    font-style: normal;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 var(--sp-3);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 2px;
    color: var(--silver-light);
    font-family: var(--font);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: color var(--ease), border-color var(--ease), background var(--ease);
    font-style: normal;
    flex-shrink: 0;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-add:hover,
.dnooo-minicart__drawer .jcm-minicart__recommendation-add:focus-visible {
    color: var(--bone);
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.04);
    outline: none;
}

.dnooo-minicart__drawer .jcm-minicart__recommendation-add:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   21. Woo price amounts — global within drawer scope
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer .woocommerce-Price-amount {
    font-family: var(--font);
    font-style: normal;
    text-transform: none;
    letter-spacing: 0;
}

.dnooo-minicart__drawer .woocommerce-Price-currencySymbol {
    font-family: var(--font);
    font-style: normal;
}

/* --------------------------------------------------------------------------
   22. Gap healing — prevent orphaned borders when optional sections absent
   -------------------------------------------------------------------------- */
/* If recommendations not present, remove its placeholder gap */
.dnooo-minicart__drawer .widget_shopping_cart_content .jcm-minicart__recommendations:empty {
    display: none;padding: 0;
    border-top: none;
}

/* If discounts not present */
.dnooo-minicart__drawer .widget_shopping_cart_content .jcm-minicart__discounts:empty {
    display: none;
    padding: 0;
    border-top: none;
}

/* --------------------------------------------------------------------------
   23. Focus ring — global within drawer
   -------------------------------------------------------------------------- */
.dnooo-minicart__drawer :focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   24. 320px / 390px safety
   -------------------------------------------------------------------------- */
@media (max-width: 390px) {
    .dnooo-minicart__drawer {
        --thumb-size:  72px;
        --qty-w:       100px;
    }

    .dnooo-minicart__product-layout {
        grid-template-columns: var(--thumb-size) 1fr;
    }

    .dnooo-minicart__drawer .jcm-minicart__recommendation {
        grid-template-columns: 52px 1fr auto;
    }

    .dnooo-minicart__drawer .jcm-minicart__recommendation-media {
        width: 52px;
        height: 52px;
    }
}

@media (max-width: 340px) {
    .dnooo-minicart__drawer {
        --thumb-size: 64px;
        --qty-w:      92px;
        --sp-6:       16px;
    }

    .dnooo-minicart__header {
        padding: 0 var(--sp-4);
    }

    .dnooo-minicart__drawer .woocommerce-mini-cart__total,
    .dnooo-minicart__drawer .woocommerce-mini-cart__buttons,
    .dnooo-minicart__drawer .jcm-minicart__discounts,
    .dnooo-minicart__drawer .jcm-minicart__recommendations,
    .dnooo-minicart__payment-methods {
        padding-left: var(--sp-4);
        padding-right: var(--sp-4);
    }

    .dnooo-minicart__drawer .woocommerce-mini-cart .mini_cart_item {
        padding-left: var(--sp-4);
        padding-right: var(--sp-4);
    }
}

/* --------------------------------------------------------------------------
   25. Portal wrapper (body-level, set by JS)
   -------------------------------------------------------------------------- */
.dnooo-minicart.dnooo-minicart__portal {
    /* transparent host; overlay/drawer are fixed-positioned */
    pointer-events: none;
}

.dnooo-minicart.dnooo-minicart__portal > * {
    pointer-events: auto;
}

/* JCM mini cart payment structure fallback */
.dnooo-minicart__payment-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.dnooo-minicart__payment-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 24px;
}
.dnooo-minicart__payment-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.dnooo-minicart__payment-icon img {
    display: block;
    width: auto;
    max-width: 48px;
    max-height: 22px;
}
.dnooo-minicart__payment-item.has-icon .dnooo-minicart__payment-name {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Canonical JCM product-row contract. The plugin owns DOM normalization; this
   project layer owns only the branded layout and interaction styling. */
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] {
    --product-copy-start: calc(var(--thumb-size) + var(--sp-4));
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-1);
    min-height: calc(var(--thumb-size) + var(--thumb-overlap));
    padding: 0 0 0 var(--product-copy-start);
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a:not(.remove):not(.remove_from_cart_button) {
    position: static;
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    padding: 0 78px 0 0;
    overflow: visible;
    background: transparent;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a:not(.remove):not(.remove_from_cart_button) img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: var(--thumb-size) !important;
    height: var(--thumb-size) !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    object-fit: contain;
    background: var(--graphite-mid);
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .quantity.jcm-minicart__line {
    position: static;
    width: auto;
    min-height: calc(var(--qty-h) + var(--sp-3));
    margin: auto 0 0;
    padding-top: var(--sp-3);
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] .jcm-minicart__quantity-control {
    position: absolute;
    left: var(--product-copy-start);
    bottom: 0;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] .jcm-minicart__line-pricing {
    position: absolute;
    top: 0;
    right: 0;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button {
    position: absolute;
    left: calc(var(--product-copy-start) + var(--qty-w) + var(--sp-2));
    right: auto;
    bottom: -4px;
    border: 0;
    background: transparent !important;
    color: var(--silver) !important;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove:hover,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove:focus-visible,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button:hover,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button:focus-visible {
    background: transparent !important;
    color: var(--silver-light) !important;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove::before,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button::before,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove::after,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button::after {
    content: '';
    position: absolute;
    inset: 0;
    display: block;
    width: 20px;
    height: 20px;
    margin: auto;
    background: currentColor;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove::before,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 7.5h11l-.75 12a2 2 0 0 1-2 1.88h-5.5a2 2 0 0 1-2-1.88l-.75-12Zm3 3v7H11v-7H9.5Zm3.5 0v7h1.5v-7H13Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 7.5h11l-.75 12a2 2 0 0 1-2 1.88h-5.5a2 2 0 0 1-2-1.88l-.75-12Zm3 3v7H11v-7H9.5Zm3.5 0v7h1.5v-7H13Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove::after,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v1.5H4V6Zm5-2.5h6a1 1 0 0 1 1 1V6h-1.5V5h-5v1H8V4.5a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v1.5H4V6Zm5-2.5h6a1 1 0 0 1 1 1V6h-1.5V5h-5v1H8V4.5a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
    transform-origin: 26% 36%;
    transition: transform 180ms ease;
}

.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove:hover::after,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > a.remove:focus-visible::after,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button:hover::after,
.dnooo-minicart__drawer .dnooo-minicart__product-layout[data-jcm-minicart-product-layout] > .remove_from_cart_button:focus-visible::after {
    transform: translate(1px, -2px) rotate(-12deg);
}

.dnooo-minicart__drawer .dnooo-minicart__product-image--broken {
    visibility: hidden;
}
