.dcp-root,
.dcp-root * { box-sizing: border-box; }

.dcp-root[hidden] { display: none; }

.dcp-root .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

/* MPA_CART_RECOMMENDATIONS_UX_1_9_0_LAST — independent mobile cards, equal CTAs and premium rail motion. */
.dcp-root .dcp-recommendation__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;min-width:0!important}.dcp-root .dcp-recommendation__actions>*{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:40px!important;height:40px!important;flex:none!important;overflow:hidden!important}.dcp-root .dcp-recommendation__actions a,.dcp-root .dcp-recommendation__actions button{touch-action:manipulation}.dcp-root .dcp-recommendation__actions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcp-root .dcp-recommendation__action-icon{flex:0 0 auto}
@media(min-width:621px){.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail{clip-path:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(24px,0,0) scale(.985)!important;transform-origin:right center!important;transition:transform 420ms cubic-bezier(.2,.8,.2,1),opacity 220ms ease,visibility 0s linear 420ms,box-shadow 220ms ease!important;will-change:transform,opacity}.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail{transform:translate3d(-24px,0,0) scale(.985)!important;transform-origin:left center!important}.dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail,.dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0) scale(1)!important;transition:transform 420ms cubic-bezier(.2,.8,.2,1),opacity 220ms ease,visibility 0s linear 0s,box-shadow 220ms ease!important}.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__actions>*,.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__actions>*{width:100%!important;min-width:0!important;flex:none!important}.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__secondary span:first-child:not(:last-child),.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__secondary span:first-child:not(:last-child){position:static!important;width:auto!important;height:auto!important;overflow:hidden!important;clip-path:none!important}}
@media(max-width:620px){.dcp-root .dcp-mobile-recommendations{box-sizing:border-box!important;margin:12px 0 2px!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.dcp-root .dcp-mobile-recommendations__header{padding-inline:2px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations{gap:12px!important;padding:2px 1px 8px!important;background:transparent!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation{box-sizing:border-box!important;margin:0!important;border:1px solid var(--dcp-border)!important;border-radius:14px!important;background:var(--dcp-surface)!important;box-shadow:0 8px 22px rgb(15 23 42 / 7%)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"]{grid-auto-columns:clamp(224px,82vw,286px)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"],.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"]{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:clamp(260px,88vw,320px)!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation,.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;grid-template-areas:"image content" "actions actions"!important;gap:10px!important;scroll-snap-align:start}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__image{grid-area:image}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__content{grid-area:content;min-width:0}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions{grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr))!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions>*{min-height:42px!important;height:42px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary span:first-child:not(:last-child){position:static!important;width:auto!important;height:auto!important;overflow:hidden!important;clip-path:none!important}}
@media(prefers-reduced-motion:reduce){.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,.dcp-root .dcp-recommendations-trigger{transition:none!important}}

/* MPA_CART_RECOMMENDATIONS_UX_1_9_1_LAST — absolute final mobile authority. */
@media(max-width:620px){.dcp-root [data-dcp-mobile-recommendations-shell],.dcp-root .dcp-mobile-recommendations,.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile{max-width:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.dcp-root [data-dcp-mobile-recommendations-shell],.dcp-root .dcp-mobile-recommendations{box-sizing:border-box!important;width:100%!important;margin:8px 0 0!important;padding:0!important;overflow:visible!important}.dcp-root .dcp-mobile-recommendations__header,.dcp-root .dcp-mobile-recommendations__heading{margin:0 2px 8px!important;padding:0!important;border:0!important;background:transparent!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]){display:grid!important;width:auto!important;max-width:none!important;margin:0!important;padding:4px 22px 16px 2px!important;grid-auto-flow:column!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-x:contain!important;scroll-padding-inline:2px 22px!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile::-webkit-scrollbar{display:none!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"]{grid-auto-columns:minmax(232px,82%)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"],.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"]{grid-auto-columns:minmax(248px,88%)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;overflow:visible!important;border:1px solid var(--dcp-border)!important;border-radius:14px!important;background:var(--dcp-surface,#fff)!important;box-shadow:0 8px 22px rgb(15 23 42 / 7%)!important;scroll-snap-align:start!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions{display:grid!important;width:100%!important;grid-template-columns:1fr!important;gap:7px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions>*{width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"]{display:inline-grid!important;width:100%!important;min-width:42px!important;min-height:42px!important;place-items:center!important;padding:0!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"]>span:not(.dcp-recommendation__action-icon){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.dcp-root .dcp-recommendation__action-icon,.dcp-root .dcp-recommendation__action-icon svg{width:18px!important;height:18px!important;min-width:18px!important}}

/* ========================================================================
   MPA_CART_RECOMMENDATIONS_UX_1_9_1_LAST
   Final cascade authority: independent mobile cards, unclipped horizontal
   browsing, stacked icon actions and stable premium companion motion.
   ======================================================================== */
.dcp-root .dcp-recommendation__action-icon,.dcp-root .dcp-recommendation__action-icon svg{width:18px!important;height:18px!important;min-width:18px!important}.dcp-root .dcp-recommendation__action-icon svg{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}.dcp-root .dcp-recommendation__secondary[data-content="icon"]{display:inline-grid!important;place-items:center!important;min-width:42px!important;min-height:42px!important;padding:0!important}.dcp-root .dcp-recommendation__action:focus-visible,.dcp-root .dcp-recommendation__secondary:focus-visible{outline:3px solid color-mix(in srgb,var(--dcp-accent) 38%,transparent)!important;outline-offset:2px!important}
@media(min-width:621px){.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail{clip-path:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(24px,0,0) scale(.985)!important;transform-origin:right center!important;transition:transform 420ms cubic-bezier(.2,.8,.2,1),opacity 220ms ease,visibility 0s linear 420ms,box-shadow 220ms ease!important;will-change:transform,opacity}.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail{transform:translate3d(-24px,0,0) scale(.985)!important;transform-origin:left center!important}.dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail,.dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0) scale(1)!important;transition:transform 420ms cubic-bezier(.2,.8,.2,1),opacity 220ms ease,visibility 0s linear 0s,box-shadow 220ms ease!important}}
@media(max-width:620px){.dcp-root [data-dcp-mobile-recommendations-shell],.dcp-root .dcp-mobile-recommendations,.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile{max-width:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.dcp-root [data-dcp-mobile-recommendations-shell],.dcp-root .dcp-mobile-recommendations{box-sizing:border-box!important;width:100%!important;margin:8px 0 0!important;padding:0!important;overflow:visible!important}.dcp-root .dcp-mobile-recommendations__header,.dcp-root .dcp-mobile-recommendations__heading{margin:0 2px 8px!important;padding:0!important;background:transparent!important;border:0!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]){display:grid!important;width:auto!important;max-width:none!important;margin:0!important;padding:4px 22px 16px 2px!important;grid-auto-flow:column!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-x:contain!important;scroll-padding-inline:2px 22px!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile::-webkit-scrollbar{display:none!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"]{grid-auto-columns:minmax(232px,82%)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"],.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"]{grid-auto-columns:minmax(248px,88%)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;overflow:visible!important;border:1px solid var(--dcp-border)!important;border-radius:14px!important;background:var(--dcp-surface,#fff)!important;box-shadow:0 8px 22px rgb(15 23 42 / 7%)!important;scroll-snap-align:start!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions{display:grid!important;width:100%!important;grid-template-columns:1fr!important;gap:7px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions>*{width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"]{width:100%!important;flex-basis:42px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"]>span:not(.dcp-recommendation__action-icon){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}}
@media(prefers-reduced-motion:reduce){.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,.dcp-root .dcp-recommendations-trigger,.dcp-root .dcp-recommendation,.dcp-root .dcp-recommendation__action,.dcp-root .dcp-recommendation__secondary{transition:none!important}}

/* ========================================================================
   MPA_CART_RECOMMENDATIONS_UX_1_9_1_FINAL
   Final mobile precedence: one surface per product, visible card edges, a
   touch-friendly horizontal rail and icon-first actions stacked vertically.
   ======================================================================== */
.dcp-root .dcp-recommendation__action-icon,
.dcp-root .dcp-recommendation__action-icon svg {
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
}
.dcp-root .dcp-recommendation__action-icon svg {
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
.dcp-root .dcp-recommendation__secondary[data-content="icon"] {
    display:inline-grid !important;
    place-items:center !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
}
.dcp-root .dcp-recommendation__action:focus-visible,
.dcp-root .dcp-recommendation__secondary:focus-visible {
    outline:3px solid color-mix(in srgb,var(--dcp-accent) 38%,transparent) !important;
    outline-offset:2px !important;
}

@media (max-width:620px) {
    .dcp-root [data-dcp-mobile-recommendations-shell],
    .dcp-root .dcp-mobile-recommendations,
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile {
        max-width:none !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }
    .dcp-root [data-dcp-mobile-recommendations-shell],
    .dcp-root .dcp-mobile-recommendations {
        width:100% !important;
        margin:8px 0 0 !important;
        padding:0 !important;
        overflow:visible !important;
    }
    .dcp-root .dcp-mobile-recommendations__heading { margin:0 2px 8px !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]) {
        display:grid !important;
        width:auto !important;
        margin:0 !important;
        padding:4px 18px 16px 2px !important;
        grid-auto-flow:column !important;
        grid-template-columns:none !important;
        gap:12px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        overscroll-behavior-x:contain !important;
        scroll-padding-inline:2px 18px !important;
        scroll-snap-type:x proximity !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile::-webkit-scrollbar { display:none !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] {
        grid-auto-columns:minmax(232px,82%) !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"],
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] {
        grid-auto-columns:minmax(248px,88%) !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation {
        box-sizing:border-box !important;
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        overflow:visible !important;
        border:1px solid var(--dcp-border) !important;
        border-radius:14px !important;
        background:var(--dcp-surface,#fff) !important;
        box-shadow:0 8px 22px rgb(15 23 42 / 7%) !important;
        scroll-snap-align:start !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions {
        display:grid !important;
        width:100% !important;
        grid-template-columns:1fr !important;
        gap:7px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions > * {
        width:100% !important;
        min-width:0 !important;
        min-height:42px !important;
        height:42px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"] {
        width:100% !important;
        flex-basis:42px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"] > span:not(.dcp-recommendation__action-icon) {
        position:absolute !important;
        width:1px !important;
        height:1px !important;
        overflow:hidden !important;
        clip-path:inset(50%) !important;
        white-space:nowrap !important;
    }
}

@media (prefers-reduced-motion:reduce) {
    .dcp-root .dcp-recommendation,
    .dcp-root .dcp-recommendation__action,
    .dcp-root .dcp-recommendation__secondary { transition:none !important; }
}

.dcp-root {
    --dcp-shadow: 0 24px 80px rgb(15 23 42 / 22%);
    --dcp-soft: #f7f7f7;
    --dcp-soft: color-mix(in srgb, var(--dcp-text) 5%, var(--dcp-surface));
    position: fixed;
    inset: 0;
    z-index: 2147482000;
    color: var(--dcp-text);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.45;
}

.dcp-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgb(8 12 20 / 58%);
    opacity: 0;
    backdrop-filter: blur(2px);
    cursor: default;
    transition: opacity var(--dcp-duration) ease;
}

.dcp-drawer {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    display: flex;
    width: min(calc(var(--dcp-drawer-width) + 380px), calc(100vw - 24px));
    max-width: 100%;
    min-height: 100%;
    outline: 0;
    overflow: hidden;
    color: var(--dcp-text);
    background: var(--dcp-surface);
    box-shadow: var(--dcp-shadow);
    transform: translate3d(104%, 0, 0);
    opacity: .98;
    transition: transform var(--dcp-duration) cubic-bezier(.2,.75,.25,1), opacity var(--dcp-duration) ease;
}

.dcp-side-left .dcp-drawer {
    inset-inline: 0 auto;
    transform: translate3d(-104%, 0, 0);
}

.dcp-root.is-open .dcp-overlay { opacity: 1; }
.dcp-root.is-open .dcp-drawer { transform: translate3d(0, 0, 0); opacity: 1; }

.dcp-animation-none .dcp-overlay,
.dcp-animation-none .dcp-drawer { transition: none; }
.dcp-animation-fade .dcp-drawer { transform: none; opacity: 0; }
.dcp-animation-fade.is-open .dcp-drawer { opacity: 1; }
.dcp-animation-soft-scale .dcp-drawer { transform: translate3d(3%,0,0) scale(.97); opacity: 0; transform-origin: 100% 50%; }
.dcp-animation-soft-scale.is-open .dcp-drawer { transform: translate3d(0,0,0) scale(1); opacity: 1; }

.dcp-cart-pane {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    width: min(var(--dcp-drawer-width), 100vw);
    min-width: min(var(--dcp-drawer-width), 100vw);
    min-height: 0;
    background: var(--dcp-surface);
}

.dcp-recs-left .dcp-cart-pane { order: 2; }
.dcp-recs-left .dcp-rail { order: 1; }
.dcp-recs-inside .dcp-drawer,
.dcp-recs-below .dcp-drawer,
.dcp-recs-off .dcp-drawer { width: min(var(--dcp-drawer-width), 100vw); }

.dcp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 68px;
    padding: 13px 18px;
    border-bottom: 1px solid var(--dcp-border);
    background: var(--dcp-surface);
}

.dcp-header h2,
.dcp-rail h2 {
    margin: 0;
    color: var(--dcp-text);
    font: 720 clamp(19px, 2vw, 23px)/1.15 inherit;
    letter-spacing: -.02em;
}

.dcp-eyebrow {
    margin: 0 0 4px;
    color: var(--dcp-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.dcp-header__actions { display: flex; align-items: center; gap: 8px; }

.dcp-icon-button,
.dcp-text-button {
    display: inline-grid;
    place-items: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px;
    border: 0;
    border-radius: 999px;
    color: var(--dcp-text);
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.dcp-text-button { display: inline-flex; min-width: auto; font-size: 13px; }
.dcp-icon-button:hover,
.dcp-text-button:hover { color: var(--dcp-text); background: var(--dcp-soft); transform: translateY(-1px); }
.dcp-icon-button svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.dcp-reward {
    padding: 10px 18px 11px;
    border-bottom: 1px solid var(--dcp-border);
    background: color-mix(in srgb, var(--dcp-accent) 8%, var(--dcp-surface));
}

.dcp-reward__copy { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 9px; font-size: 12px; }
.dcp-reward__copy strong { color: var(--dcp-text); white-space: nowrap; }
.dcp-reward__track { height: 6px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--dcp-accent) 18%, var(--dcp-surface)); }
.dcp-reward__track span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--dcp-accent); transition: width 320ms ease; }

.dcp-status {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.dcp-body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--dcp-text) 20%, transparent) transparent;
    background: color-mix(in srgb, var(--dcp-text) 2.5%, var(--dcp-surface));
}

.dcp-items { padding: 5px 18px 14px; }

.dcp-item {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--dcp-border);
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity 180ms ease, transform 180ms ease;
}

.dcp-item.is-removing { opacity: .25; transform: translate3d(12px,0,0); pointer-events: none; }
.dcp-item__image { display: block; aspect-ratio: 1; overflow: hidden; border-radius: calc(var(--dcp-radius) * .7); background: var(--dcp-soft); }
.dcp-item__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dcp-item__content { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; gap: 8px; }
.dcp-item__top,
.dcp-item__bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.dcp-item__bottom { align-items: center; }
.dcp-item__name { color: var(--dcp-text); font-size: 14px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.dcp-item__name:hover { color: color-mix(in srgb, var(--dcp-accent) 78%, #8a5400); }
.dcp-item__meta { margin: 5px 0 0; color: var(--dcp-muted); font-size: 11px; }
.dcp-item__price { color: var(--dcp-text); font-size: 14px; white-space: nowrap; }
.dcp-item__remove { min-width: 36px; min-height: 36px; margin: -7px -7px 0 0; }

.dcp-quantity {
    display: grid;
    grid-template-columns: 34px 42px 34px;
    height: 36px;
    overflow: hidden;
    border: 1px solid var(--dcp-border);
    border-radius: 9px;
    background: var(--dcp-surface);
}

.dcp-quantity button,
.dcp-quantity input {
    width: 100%;
    height: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--dcp-text);
    background: transparent;
    box-shadow: none;
    font: 600 13px/1 inherit;
    text-align: center;
}

.dcp-quantity button { cursor: pointer; }
.dcp-quantity button:hover { background: var(--dcp-soft); }
.dcp-quantity button:disabled { opacity: .35; cursor: not-allowed; }
.dcp-quantity input { appearance: textfield; border-inline: 1px solid var(--dcp-border); }
.dcp-quantity input::-webkit-inner-spin-button { appearance: none; }

.dcp-summary {
    position: relative;
    z-index: 2;
    padding: 11px 18px calc(14px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--dcp-border);
    background: var(--dcp-surface);
    box-shadow: 0 -16px 40px rgb(15 23 42 / 5%);
}

.dcp-coupon summary { padding: 3px 0 11px; color: var(--dcp-text); font-size: 13px; font-weight: 650; cursor: pointer; list-style: none; }
.dcp-coupon summary::-webkit-details-marker { display: none; }
.dcp-coupon summary::after { content: '+'; float: right; color: var(--dcp-muted); }
.dcp-coupon[open] summary::after { content: '−'; }
.dcp-coupon form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding-bottom: 12px; }
.dcp-coupon input {
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid var(--dcp-border);
    border-radius: 9px;
    color: var(--dcp-text);
    background: var(--dcp-surface);
    box-shadow: none;
    font: inherit;
}

.dcp-coupons { display: flex; flex-wrap: wrap; gap: 7px; }
.dcp-coupon-chip { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 8px; padding: 5px 8px; border-radius: 999px; color: var(--dcp-text); background: var(--dcp-soft); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.dcp-coupon-chip button { width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; color: inherit; background: transparent; cursor: pointer; }

.dcp-totals { margin: 2px 0 12px; }
.dcp-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 4px 0; color: var(--dcp-muted); font-size: 13px; }
.dcp-totals > .is-total { margin-top: 5px; padding-top: 10px; border-top: 1px solid var(--dcp-border); color: var(--dcp-text); font-size: 16px; }

.dcp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 18px;
    border: 1px solid transparent;
    border-radius: calc(var(--dcp-radius) * .7);
    color: var(--dcp-accent-contrast);
    background: var(--dcp-accent);
    box-shadow: none;
    font: 750 14px/1.2 inherit;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dcp-button:hover { color: var(--dcp-accent-contrast); background: color-mix(in srgb, var(--dcp-accent) 84%, #000); transform: translateY(-1px); }
.dcp-button:disabled { opacity: .55; cursor: wait; transform: none; }
.dcp-button--primary { width: 100%; min-height: 52px; }
.dcp-button--secondary { border-color: var(--dcp-border); color: var(--dcp-text); background: var(--dcp-surface); }
.dcp-button--secondary:hover { color: var(--dcp-text); background: var(--dcp-soft); }
.dcp-button--small { min-height: 38px; padding: 8px 11px; border-radius: 8px; font-size: 12px; }

.dcp-secondary-actions { display: flex; justify-content: center; gap: 18px; margin-top: 11px; }
.dcp-secondary-actions a { color: var(--dcp-muted); font-size: 12px; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.dcp-secondary-actions a:hover { color: var(--dcp-text); text-decoration-color: currentColor; }
.dcp-extra-links { display: grid; gap: 7px; margin-top: 10px; }
.dcp-extra-links a { display: block; padding: 9px 11px; border: 1px solid var(--dcp-border); border-radius: 9px; color: var(--dcp-text); background: var(--dcp-surface); font-size: 12px; font-weight: 650; text-align: center; text-decoration: none; }
.dcp-extra-links a:hover { border-color: color-mix(in srgb, var(--dcp-accent) 55%, var(--dcp-border)); background: color-mix(in srgb, var(--dcp-accent) 6%, var(--dcp-surface)); }
.dcp-trust { margin: 11px 0 0; color: var(--dcp-muted); font-size: 10px; text-align: center; }

.dcp-empty,
.dcp-error { display: grid; min-height: 58vh; place-items: center; align-content: center; padding: 34px; text-align: center; }
.dcp-empty[hidden],
.dcp-error[hidden] { display: none; }
.dcp-empty__icon { display: grid; width: 56px; height: 56px; place-items: center; margin-bottom: 14px; border-radius: 18px; color: var(--dcp-accent-contrast); background: var(--dcp-accent); font-size: 24px; }
.dcp-empty h3 { margin: 0; color: var(--dcp-text); font-size: 21px; }
.dcp-empty p,
.dcp-error p { max-width: 300px; margin: 9px 0 20px; color: var(--dcp-muted); font-size: 13px; }

.dcp-skeleton { padding: 18px 22px; }
.dcp-skeleton[hidden] { display: none; }
.dcp-skeleton span { display: block; height: 112px; margin-bottom: 12px; border-radius: var(--dcp-radius); background: linear-gradient(100deg, var(--dcp-soft) 25%, color-mix(in srgb, var(--dcp-text) 9%, var(--dcp-surface)) 38%, var(--dcp-soft) 55%); background-size: 200% 100%; animation: dcp-shimmer 1.4s linear infinite; }
@keyframes dcp-shimmer { to { background-position-x: -200%; } }

.dcp-rail {
    width: 360px;
    min-width: 360px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-inline-start: 1px solid var(--dcp-border);
    background: var(--dcp-soft);
}
.dcp-recs-left .dcp-rail { border-inline: 0 1px solid var(--dcp-border); }
.dcp-rail[hidden] { display: none; }
.dcp-rail__header { padding: 24px 20px 16px; }
.dcp-recommendations { display: grid; gap: 10px; padding: 0 16px 24px; }
.dcp-recommendations[hidden] { display: none; }
.dcp-recommendations--mobile { display: none; }
.dcp-recs-inside .dcp-recommendations--mobile:not([hidden]),
.dcp-recs-below .dcp-recommendations--mobile:not([hidden]) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    padding: 18px 22px 24px;
    border-top: 1px solid var(--dcp-border);
}
.dcp-recommendation { display: grid; grid-template-columns: 68px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--dcp-border); border-radius: calc(var(--dcp-radius) * .75); background: var(--dcp-surface); }
.dcp-recommendation__image { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--dcp-soft); }
.dcp-recommendation__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dcp-recommendation__content { min-width: 0; }
.dcp-recommendation__name { display: block; overflow: hidden; color: var(--dcp-text); font-size: 12px; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.dcp-recommendation__price { display: block; margin-top: 4px; color: var(--dcp-muted); font-size: 11px; }
.dcp-recommendation__price del { opacity: .6; }

.dcp-launcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: var(--dcp-launcher-width, auto);
    min-width: 44px;
    height: var(--dcp-launcher-height, 44px);
    min-height: 44px;
    padding: 0 12px;
    overflow: visible;
    border: 1px solid color-mix(in srgb, var(--dcp-text, #171717) 12%, transparent);
    border-radius: var(--dcp-launcher-radius, 999px);
    color: var(--dcp-text, #171717);
    background: var(--dcp-surface, #fff);
    box-shadow: 0 10px 32px rgb(15 23 42 / 14%);
    font: 700 13px/1 inherit;
    cursor: pointer;
    transition: box-shadow 160ms ease, transform 160ms ease;
}
.dcp-launcher:hover { color: var(--dcp-text, #171717); transform: translateY(-2px); box-shadow: 0 14px 38px rgb(15 23 42 / 20%); }
.dcp-launcher--floating { position: fixed; bottom: calc(var(--dcp-launcher-offset-y, 22px) + env(safe-area-inset-bottom)); z-index: 2147481000; box-shadow: 0 16px 42px rgb(15 23 42 / 24%), 0 0 0 1px rgb(255 255 255 / 70%); }
.dcp-launcher--floating[data-dcp-launcher-position="right"] { right: var(--dcp-launcher-offset-x, 22px); left: auto; }
.dcp-launcher--floating[data-dcp-launcher-position="left"] { right: auto; left: var(--dcp-launcher-offset-x, 22px); }
.dcp-launcher__icon { display: inline-grid; flex: 0 0 auto; place-items: center; }
.dcp-launcher__icon svg { width: var(--dcp-launcher-icon-size, 24px); height: var(--dcp-launcher-icon-size, 24px); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dcp-launcher__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dcp-launcher__count { display: inline-grid; min-width: 22px; height: 22px; place-items: center; padding: 0 5px; border-radius: 999px; color: var(--dcp-accent-contrast, #171717); background: var(--dcp-accent, #f4ab1d); font-size: 11px; }
.dcp-launcher--floating .dcp-launcher__count { position: absolute; top: -6px; right: -6px; box-shadow: 0 2px 8px rgb(15 23 42 / 18%); }
.dcp-launcher__subtotal { color: var(--dcp-muted, #6b7280); font-weight: 500; }

body.dcp-product-button-skin :where(form.cart, .elementor-widget-woocommerce-product-add-to-cart, .eael-product-add-to-cart) :where(.single_add_to_cart_button, .eael-add-to-cart-button) {
    min-height: 50px;
    padding: 15px 22px;
    border: 1px solid transparent;
    border-radius: 5px;
    color: var(--dcp-accent-contrast, #171717);
    background: var(--dcp-accent, #f4ab1d);
    box-shadow: 0 8px 18px rgb(104 70 0 / 14%);
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}
body.dcp-product-button-skin :where(form.cart, .elementor-widget-woocommerce-product-add-to-cart, .eael-product-add-to-cart) :where(.single_add_to_cart_button, .eael-add-to-cart-button):hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgb(104 70 0 / 20%); }
body.dcp-product-button-skin :where(form.cart, .elementor-widget-woocommerce-product-add-to-cart, .eael-product-add-to-cart) :where(.single_add_to_cart_button, .eael-add-to-cart-button).dcp-is-loading { color: transparent; pointer-events: none; }
body.dcp-product-button-skin :where(form.cart, .elementor-widget-woocommerce-product-add-to-cart, .eael-product-add-to-cart) :where(.single_add_to_cart_button, .eael-add-to-cart-button).dcp-is-loading::after { content: ''; position: absolute; width: 18px; height: 18px; inset: 50% auto auto 50%; margin: -9px 0 0 -9px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: dcp-spin .7s linear infinite; }
body.dcp-product-button-skin :where(form.cart, .elementor-widget-woocommerce-product-add-to-cart, .eael-product-add-to-cart) :where(.single_add_to_cart_button, .eael-add-to-cart-button).dcp-is-success { transform: scale(.99); }
body.dcp-product-button-skin :where(form.cart, .elementor-widget-woocommerce-product-add-to-cart, .eael-product-add-to-cart) :where(.single_add_to_cart_button, .eael-add-to-cart-button) { position: relative; }
body.dcp-button-full-width.dcp-product-button-skin :where(form.cart, .elementor-widget-woocommerce-product-add-to-cart, .eael-product-add-to-cart) :where(.single_add_to_cart_button, .eael-add-to-cart-button) { width: 100%; }
@keyframes dcp-spin { to { transform: rotate(360deg); } }

body.dcp-elementor-menu-cart-trigger .elementor-menu-cart__container { display: none; }

.dcp-root :where(button,a,input,select,summary):focus-visible,
.dcp-launcher:focus-visible,
body.dcp-product-button-skin :where(.single_add_to_cart_button,.eael-add-to-cart-button):focus-visible {
    outline: 3px solid var(--dcp-focus, #1d4ed8);
    outline-offset: 3px;
}

@media (max-width: 860px) {
    .dcp-drawer { width: min(var(--dcp-drawer-width), 100vw); }
    .dcp-cart-pane { width: 100vw; min-width: 0; }
    .dcp-rail { display: none; }
    .dcp-recommendations--mobile:not([hidden]) { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(235px, 78vw); overflow-x: auto; padding: 6px 16px 20px; scroll-snap-type: x mandatory; }
    .dcp-recommendation { scroll-snap-align: start; }
    .dcp-items { padding-inline: 16px; }
    .dcp-header { min-height: 72px; padding: 14px 16px; }
    .dcp-summary { padding-inline: 16px; }
    .dcp-item { grid-template-columns: 78px minmax(0,1fr); gap: 11px; }
    .dcp-launcher--floating { bottom: calc(var(--dcp-launcher-offset-y, 14px) + env(safe-area-inset-bottom)); }
}

@media (max-width: 620px) {
    .dcp-root .dcp-drawer { width: 100vw; }
}

@media (max-width: 390px) {
    .dcp-item { grid-template-columns: 68px minmax(0,1fr); }
    .dcp-quantity { grid-template-columns: 31px 38px 31px; }
    .dcp-secondary-actions { gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .dcp-root *,
    .dcp-launcher,
    body.dcp-product-button-skin :where(.single_add_to_cart_button,.eael-add-to-cart-button) {
        scroll-behavior: auto;
        animation-duration: .01ms;
        animation-iteration-count: 1;
        transition-duration: .01ms;
    }
}

.dcp-root[style*="--dcp-duration:0ms"] *,
.dcp-root[data-reduced-motion="1"] * { animation: none; transition: none; }

/* Keep CART LAB visibly separate from a detected legacy Xootix launcher during safe coexistence. */
.dcp-launcher--floating.dcp-launcher--coexistence { bottom: calc(var(--dcp-launcher-offset-y, 22px) + env(safe-area-inset-bottom) + 84px); }

/* v1.3 interaction + visual refinements */
.dcp-launcher {
    isolation: isolate;
    padding-inline: 11px;
    border-color: color-mix(in srgb, var(--dcp-text, #171717) 10%, transparent);
    box-shadow: 0 12px 34px rgb(15 23 42 / 16%);
}
.dcp-launcher--floating {
    box-shadow: 0 18px 46px rgb(15 23 42 / 20%), 0 0 0 1px rgb(255 255 255 / 82%);
}
.dcp-launcher__icon svg { stroke-width: 1.75; }
.dcp-launcher__count {
    min-width: 21px;
    height: 21px;
    padding-inline: 5px;
    border: 2px solid var(--dcp-surface, #fff);
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}
.dcp-launcher--floating[data-dcp-badge-position="top-left"] .dcp-launcher__count { top: -7px; right: auto; bottom: auto; left: -7px; }
.dcp-launcher--floating[data-dcp-badge-position="top-right"] .dcp-launcher__count { top: -7px; right: -7px; bottom: auto; left: auto; }
.dcp-launcher--floating[data-dcp-badge-position="bottom-left"] .dcp-launcher__count { top: auto; right: auto; bottom: -7px; left: -7px; }
.dcp-launcher--floating[data-dcp-badge-position="bottom-right"] .dcp-launcher__count { top: auto; right: -7px; bottom: -7px; left: auto; }

.dcp-header { min-height: 72px; padding-inline: 20px; }
.dcp-icon-button { border: 1px solid transparent; }
.dcp-header .dcp-icon-button { background: var(--dcp-soft); }
.dcp-header .dcp-icon-button:hover { border-color: var(--dcp-border); background: var(--dcp-surface); }
.dcp-item__remove { color: color-mix(in srgb, var(--dcp-text) 55%, transparent); }
.dcp-item__remove:hover { color: #b42318; background: #fff1f0; border-color: #ffd8d4; }
.dcp-item__remove svg { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

/* Product card variants */
.dcp-items-clean .dcp-items { padding-block: 5px 14px; }
.dcp-items-clean .dcp-item { background: transparent; }

.dcp-items-soft .dcp-items { display: grid; gap: 10px; padding: 12px 16px 16px; }
.dcp-items-soft .dcp-item {
    padding: 12px;
    border: 0;
    border-radius: calc(var(--dcp-radius) * .85);
    background: var(--dcp-surface);
    box-shadow: 0 1px 2px rgb(15 23 42 / 5%), 0 8px 24px rgb(15 23 42 / 4%);
}
.dcp-items-soft .dcp-item__image { border-radius: calc(var(--dcp-radius) * .6); }

.dcp-items-outline .dcp-items { display: grid; gap: 10px; padding: 12px 16px 16px; }
.dcp-items-outline .dcp-item {
    padding: 12px;
    border: 1px solid var(--dcp-border);
    border-radius: calc(var(--dcp-radius) * .85);
    background: var(--dcp-surface);
}

.dcp-items-compact .dcp-items { padding: 4px 16px 12px; }
.dcp-items-compact .dcp-item { grid-template-columns: 62px minmax(0,1fr); gap: 10px; padding: 10px 0; }
.dcp-items-compact .dcp-item__name { font-size: 13px; }
.dcp-items-compact .dcp-item__meta { margin-top: 3px; font-size: 10px; }
.dcp-items-compact .dcp-item__remove { min-width: 32px; min-height: 32px; }
.dcp-items-compact .dcp-quantity { grid-template-columns: 30px 38px 30px; height: 32px; }

/* Secondary action variants */
.dcp-actions-buttons .dcp-secondary-actions,
.dcp-actions-split .dcp-secondary-actions { gap: 8px; }
.dcp-actions-buttons .dcp-secondary-actions a,
.dcp-actions-split .dcp-secondary-actions a {
    display: inline-flex;
    min-height: 40px;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    border: 1px solid var(--dcp-border);
    border-radius: calc(var(--dcp-radius) * .55);
    color: var(--dcp-text);
    background: var(--dcp-surface);
    font-weight: 650;
    text-decoration: none;
}
.dcp-actions-buttons .dcp-secondary-actions a:hover,
.dcp-actions-split .dcp-secondary-actions a:hover { background: var(--dcp-soft); }
.dcp-actions-split .dcp-secondary-actions a:first-child { border-color: color-mix(in srgb, var(--dcp-accent) 55%, var(--dcp-border)); background: color-mix(in srgb, var(--dcp-accent) 7%, var(--dcp-surface)); }

/* v1.4 — commerce-designer controls */
.dcp-overlay {
    backdrop-filter: blur(var(--dcp-overlay-blur, 2px));
    transition-timing-function: var(--dcp-easing, ease);
}
.dcp-drawer { transition-timing-function: var(--dcp-easing, cubic-bezier(.2,.75,.25,1)), var(--dcp-easing, ease); }

/* Product cards */
.dcp-item { grid-template-columns: var(--dcp-item-image-size,80px) minmax(0,1fr); border-bottom-width: var(--dcp-item-border-width,1px); }
.dcp-item__image { width: var(--dcp-item-image-size,80px); }
.dcp-item__name { font-weight: var(--dcp-title-weight,700); }
.dcp-item-border-on .dcp-item { border: var(--dcp-item-border-width,1px) solid var(--dcp-border); }
.dcp-item-meta-off .dcp-item__meta { display: none; }
.dcp-shadow-none .dcp-item { box-shadow: none !important; }
.dcp-shadow-soft .dcp-item { box-shadow: 0 6px 20px rgb(15 23 42 / 5%); }
.dcp-shadow-elevated .dcp-item { box-shadow: 0 14px 32px rgb(15 23 42 / 11%); }
.dcp-items-soft .dcp-item,
.dcp-items-outline .dcp-item,
.dcp-items-editorial .dcp-item,
.dcp-items-image-top .dcp-item { border-radius: var(--dcp-item-radius,14px); }
.dcp-image-top .dcp-item,
.dcp-items-image-top .dcp-item { grid-template-columns: 1fr; }
.dcp-image-top .dcp-item__image,
.dcp-items-image-top .dcp-item__image { width: 100%; height: min(180px, 34vw); aspect-ratio: 16/9; }
.dcp-image-hidden .dcp-item { grid-template-columns: 1fr; }
.dcp-image-hidden .dcp-item__image { display: none; }
.dcp-items-editorial .dcp-items { display: grid; gap: 14px; padding: 14px 18px 18px; }
.dcp-items-editorial .dcp-item { position: relative; padding: 14px; border: 0; background: var(--dcp-surface); }
.dcp-items-editorial .dcp-item__name { font-size: 15px; letter-spacing: -.015em; }
.dcp-items-editorial .dcp-item__price { font-size: 15px; }
.dcp-items-image-top .dcp-items { display: grid; gap: 12px; padding: 14px 18px 18px; }
.dcp-items-image-top .dcp-item { padding: 12px; border: 1px solid var(--dcp-border); background: var(--dcp-surface); }
.dcp-price-top .dcp-item__price { align-self: flex-start; }
.dcp-price-bottom .dcp-item__top .dcp-item__price { display: none; }

/* Quantity variants */
.dcp-quantity-pill .dcp-quantity { border-radius: 999px; }
.dcp-quantity-pill .dcp-quantity input { border-inline-color: transparent; }
.dcp-quantity-minimal .dcp-quantity { grid-template-columns: 28px 34px 28px; height: 30px; border: 0; border-radius: 0; background: transparent; }
.dcp-quantity-minimal .dcp-quantity button { border: 1px solid var(--dcp-border); border-radius: 50%; }
.dcp-quantity-minimal .dcp-quantity input { border: 0; }

/* Coupon variants */
.dcp-coupon-style-card .dcp-coupon { margin-bottom: 10px; padding: 10px 11px; border: 1px solid var(--dcp-border); border-radius: 11px; background: var(--dcp-soft); }
.dcp-coupon-style-card .dcp-coupon summary { padding-bottom: 8px; }
.dcp-coupon-style-inline .dcp-coupon > summary { display: none; }
.dcp-coupon-style-inline .dcp-coupon form { display: grid !important; padding-bottom: 10px; }

/* Independently styled secondary actions */
.dcp-secondary-actions { gap: var(--dcp-action-gap,8px); }
.dcp-actions-layout-column .dcp-secondary-actions { flex-direction: column; }
.dcp-actions-layout-column .dcp-secondary-actions .dcp-action { width: 100%; }
.dcp-action {
    display: inline-flex;
    min-height: 38px;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: var(--dcp-action-radius,10px);
    color: var(--dcp-action-text,var(--dcp-text));
    font-size: 12px;
    font-weight: var(--dcp-action-weight,600);
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}
.dcp-action:hover { color: var(--dcp-action-text,var(--dcp-text)); transform: translateY(-1px); }
.dcp-action-style-link { min-height: auto; padding: 4px 2px; border-radius: 0; background: transparent; text-decoration: underline !important; text-decoration-color: color-mix(in srgb,var(--dcp-action-text) 28%,transparent) !important; text-underline-offset: 3px; }
.dcp-action-style-outline { border-color: var(--dcp-action-border,var(--dcp-border)); background: transparent; }
.dcp-action-style-solid { border-color: var(--dcp-action-border,var(--dcp-action-bg)); background: var(--dcp-action-bg,var(--dcp-surface)); }
.dcp-action-style-ghost { border-color: transparent; background: color-mix(in srgb,var(--dcp-action-bg,var(--dcp-surface)) 66%,transparent); }

/* Trust strip */
.dcp-trust { display: grid; gap: 7px; margin-top: 11px; color: var(--dcp-muted); font-size: 10px; text-align: center; }
.dcp-trust > strong { color: var(--dcp-muted); font-size: 10px; font-weight: 650; }
.dcp-trust__marks { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.dcp-trust__marks > span { display: inline-flex; min-height: 26px; align-items: center; gap: 4px; padding: 4px 7px; border: 1px solid var(--dcp-border); border-radius: 7px; background: var(--dcp-surface); }
.dcp-trust__marks svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dcp-trust__marks em { font-style: normal; font-size: 9px; }
.dcp-trust__webpay b { font-size: 9px; letter-spacing: -.02em; }
.dcp-trust-style-icons .dcp-trust__marks > span { padding: 3px; border-color: transparent; background: transparent; }
.dcp-trust-style-icons .dcp-trust__marks em,
.dcp-trust-style-icons .dcp-trust__webpay b { display: none; }
.dcp-trust-style-icons .dcp-trust__marks svg { width: 17px; height: 17px; }

/* Extra links, maximum three */
.dcp-extra-links { gap: 7px; }
.dcp-extra-links a { display: flex; align-items: center; justify-content: center; gap: 6px; }
.dcp-extra-link__icon, .dcp-extra-link__brand { display: inline-grid; width: 17px; height: 17px; place-items: center; flex: 0 0 auto; }
.dcp-extra-link__icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.dcp-extra-link__brand { font-size: 9px; font-weight: 800; }
.dcp-extra-layout-row .dcp-extra-links { display: flex; }
.dcp-extra-layout-row .dcp-extra-links a { flex: 1 1 0; }
.dcp-extra-layout-icons .dcp-extra-links { display: flex; justify-content: center; }
.dcp-extra-layout-icons .dcp-extra-links a { width: 34px; height: 34px; padding: 0; border-radius: 50%; }
.dcp-extra-layout-icons .dcp-extra-links a > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.dcp-extra-layout-icons .dcp-extra-link__icon, .dcp-extra-layout-icons .dcp-extra-link__brand { width: 18px; height: 18px; }

/* Reward bar variants */
.dcp-reward__copy { align-items: center; }
.dcp-reward__copy em { margin-left: auto; padding: 2px 6px; border-radius: 999px; color: var(--dcp-text); background: color-mix(in srgb,var(--dcp-reward-fill) 18%,var(--dcp-surface)); font-size: 9px; font-style: normal; font-weight: 800; }
.dcp-reward__track { height: var(--dcp-reward-height,6px); background: var(--dcp-reward-track); }
.dcp-reward__track span { background: var(--dcp-reward-fill); }
.dcp-reward-style-pill .dcp-reward__track { border-radius: 999px; }
.dcp-reward-style-minimal { padding-block: 8px; background: var(--dcp-surface); }
.dcp-reward-style-minimal .dcp-reward__copy { margin-bottom: 5px; }
.dcp-reward-style-steps .dcp-reward__track { height: 2px; margin: 5px 7px 0; overflow: visible; }
.dcp-reward__steps { position: relative; display: flex; justify-content: space-between; margin: -7px 1px 0; pointer-events: none; }
.dcp-reward__steps i { width: 10px; height: 10px; border: 2px solid var(--dcp-surface); border-radius: 50%; background: var(--dcp-reward-track); box-shadow: 0 0 0 1px color-mix(in srgb,var(--dcp-reward-fill) 35%,transparent); }
.dcp-reward__steps i:first-child { background: var(--dcp-reward-fill); }

/* Recommendation card systems */
.dcp-recommendations[data-recommendation-style="horizontal"] .dcp-recommendation { grid-template-columns: 82px minmax(0,1fr) auto; }
.dcp-recommendations[data-recommendation-style="tiles"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation { grid-template-columns: 1fr; align-items: stretch; }
.dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation__image { width: 100%; }
.dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation__action { width: 100%; }
.dcp-recommendations[data-recommendation-style="carousel"] { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px,80%); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; }
.dcp-recommendations[data-recommendation-style="carousel"] .dcp-recommendation { scroll-snap-align: start; }
.dcp-recommendation__image[hidden] { display: none; }
.dcp-recommendation:has(.dcp-recommendation__image[hidden]) { grid-template-columns: minmax(0,1fr) auto; }

/* Floating launcher: subtotal is always independent from icon centering. */
.dcp-launcher { position: relative; justify-content: center; }
.dcp-launcher--floating .dcp-launcher__subtotal {
    position: absolute;
    z-index: 3;
    max-width: 120px;
    padding: 4px 7px;
    border: 1px solid color-mix(in srgb,var(--dcp-text) 12%,transparent);
    border-radius: 999px;
    color: var(--dcp-text);
    background: var(--dcp-surface);
    box-shadow: 0 5px 16px rgb(15 23 42 / 12%);
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}
.dcp-launcher--floating[data-dcp-subtotal-position="below"] .dcp-launcher__subtotal { top: calc(100% + 7px); left: 50%; transform: translateX(-50%); }
.dcp-launcher--floating[data-dcp-subtotal-position="above"] .dcp-launcher__subtotal { bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); }
.dcp-launcher--floating[data-dcp-subtotal-position="outside-left"] .dcp-launcher__subtotal { top: 50%; right: calc(100% + 7px); transform: translateY(-50%); }
.dcp-launcher--floating[data-dcp-subtotal-position="outside-right"] .dcp-launcher__subtotal { top: 50%; left: calc(100% + 7px); transform: translateY(-50%); }

/* Launcher behavior while the inner cart is open. */
html.dcp-cart-open .dcp-launcher--floating { transition: opacity 180ms ease, transform 180ms ease, inset 220ms ease, border-radius 180ms ease; }
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="hide"] { opacity: 0; transform: scale(.86); pointer-events: none; }
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="keep"],
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="left"],
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="above-drawer"],
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"] { z-index: 2147483000; }

@media (max-width: 620px) {        .dcp-recommendations[data-recommendation-style="tiles"] { grid-template-columns: 1fr 1fr; }
}
.dcp-price-top .dcp-item__price--top { display: block; margin-top: 5px; }
.dcp-price-top .dcp-item__price--bottom { display: none; }
.dcp-price-bottom .dcp-item__price--top { display: none; }
.dcp-price-bottom .dcp-item__price--bottom { display: block; }

/* v1.5 — explicit launcher styling, responsive drawer and no hidden motion. */
.dcp-drawer { width: min(var(--dcp-drawer-width-desktop, var(--dcp-drawer-width, 480px)), calc(100vw - 24px)); }
.dcp-recs-right .dcp-drawer,
.dcp-recs-left .dcp-drawer { width: min(calc(var(--dcp-drawer-width-desktop, var(--dcp-drawer-width, 480px)) + 360px), calc(100vw - 24px)); }
.dcp-recs-inside .dcp-drawer,
.dcp-recs-below .dcp-drawer,
.dcp-recs-off .dcp-drawer { width: min(var(--dcp-drawer-width-desktop, var(--dcp-drawer-width, 480px)), calc(100vw - 24px)); }

.dcp-launcher {
    border: var(--dcp-launcher-border-width, 0px) solid var(--dcp-launcher-border-color, transparent);
    color: var(--dcp-launcher-icon-color, #171717);
    background: var(--dcp-launcher-bg, #fff);
    box-shadow: var(--dcp-launcher-shadow, none);
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 180ms ease, transform 180ms ease, inset 220ms ease, opacity 180ms ease;
}
.dcp-launcher--floating { box-shadow: var(--dcp-launcher-shadow, none); }
.dcp-launcher[data-dcp-hover-enabled="0"]:hover {
    color: var(--dcp-launcher-icon-color, #171717);
    background: var(--dcp-launcher-bg, #fff);
    border-color: var(--dcp-launcher-border-color, transparent);
    box-shadow: var(--dcp-launcher-shadow, none);
    transform: none;
}
.dcp-launcher[data-dcp-hover-enabled="1"]:hover {
    color: var(--dcp-launcher-hover-icon, var(--dcp-launcher-icon-color, #171717));
    background: var(--dcp-launcher-hover-bg, var(--dcp-launcher-bg, #fff));
    border-color: var(--dcp-launcher-hover-border, var(--dcp-launcher-border-color, transparent));
    box-shadow: var(--dcp-launcher-hover-shadow, var(--dcp-launcher-shadow, none));
    transform: translateY(calc(-1 * var(--dcp-launcher-hover-lift, 0px))) scale(var(--dcp-launcher-hover-scale, 1));
}
.dcp-launcher__icon { transition: transform 180ms ease; }
.dcp-launcher[data-dcp-hover-enabled="1"]:hover .dcp-launcher__icon { transform: scale(var(--dcp-launcher-icon-hover-scale, 1)); }
.dcp-launcher[data-dcp-hover-enabled="0"]:hover .dcp-launcher__icon { transform: none; }
.dcp-launcher__count {
    min-width: var(--dcp-launcher-badge-size, 21px);
    width: auto;
    height: var(--dcp-launcher-badge-size, 21px);
    padding-inline: max(4px, calc(var(--dcp-launcher-badge-size, 21px) * .22));
    border: var(--dcp-launcher-badge-border-width, 2px) solid var(--dcp-launcher-badge-border, #fff);
    color: var(--dcp-launcher-badge-text, #171717);
    background: var(--dcp-launcher-badge-bg, #f4ab1d);
    box-shadow: 0 2px 8px rgb(15 23 42 / 14%);
    font-size: max(9px, calc(var(--dcp-launcher-badge-size, 21px) * .48));
}

/* Dock beside the drawer without morphing the launcher shape. */

/* Secondary actions and trust stay visually stable on hover. */
.dcp-button:hover,
.dcp-action:hover,
.dcp-recommendation__button:hover { transform: none; }
.dcp-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.dcp-action__icon { display: inline-grid; width: 16px; height: 16px; place-items: center; }
.dcp-action__icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dcp-action-icon-right .dcp-action__icon { order: 2; }
.dcp-trust-layout-stack .dcp-trust { align-items: flex-start; text-align: left; }
.dcp-trust-layout-centered .dcp-trust { align-items: center; text-align: center; }
.dcp-trust-style-minimal .dcp-trust__marks span { border: 0; background: transparent; padding: 2px 4px; }

@media (max-width: 1024px) {
    .dcp-drawer,
    .dcp-recs-right .dcp-drawer,
    .dcp-recs-left .dcp-drawer,
    .dcp-recs-inside .dcp-drawer,
    .dcp-recs-below .dcp-drawer,
    .dcp-recs-off .dcp-drawer { width: min(var(--dcp-drawer-width-tablet, 72vw), 100vw); }}
@media (max-width: 620px) {
    .dcp-drawer,
    .dcp-recs-right .dcp-drawer,
    .dcp-recs-left .dcp-drawer,
    .dcp-recs-inside .dcp-drawer,
    .dcp-recs-below .dcp-drawer,
    .dcp-recs-off .dcp-drawer { width: min(var(--dcp-drawer-width-mobile, 100vw), 100vw); }
}
.dcp-launcher__count { border-radius: var(--dcp-launcher-badge-radius,999px); }
.dcp-launcher--floating[data-dcp-badge-position="top-left"] .dcp-launcher__count { top: calc(-1 * var(--dcp-launcher-badge-offset-y,7px)); left: calc(-1 * var(--dcp-launcher-badge-offset-x,7px)); right: auto; bottom: auto; }
.dcp-launcher--floating[data-dcp-badge-position="top-right"] .dcp-launcher__count { top: calc(-1 * var(--dcp-launcher-badge-offset-y,7px)); right: calc(-1 * var(--dcp-launcher-badge-offset-x,7px)); left: auto; bottom: auto; }
.dcp-launcher--floating[data-dcp-badge-position="bottom-left"] .dcp-launcher__count { bottom: calc(-1 * var(--dcp-launcher-badge-offset-y,7px)); left: calc(-1 * var(--dcp-launcher-badge-offset-x,7px)); right: auto; top: auto; }
.dcp-launcher--floating[data-dcp-badge-position="bottom-right"] .dcp-launcher__count { bottom: calc(-1 * var(--dcp-launcher-badge-offset-y,7px)); right: calc(-1 * var(--dcp-launcher-badge-offset-x,7px)); left: auto; top: auto; }

/* v1.5 isolation: the full-screen overlay is a semantic close button, but it must never inherit theme/Elementor button skins. */
.dcp-root > button.dcp-overlay,
.dcp-root > button.dcp-overlay:hover,
.dcp-root > button.dcp-overlay:focus,
.dcp-root > button.dcp-overlay:active {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: transparent !important;
    background: rgb(8 12 20 / 58%) !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    text-shadow: none !important;
}

/* ========================================================================
   v1.6 authoritative visual layer
   ======================================================================== */
/* Overlay is a neutral div, not a themeable button. */
.dcp-root > .dcp-overlay,
.dcp-root > .dcp-overlay:hover,
.dcp-root > .dcp-overlay:focus,
.dcp-root > .dcp-overlay:active {
    position: fixed; inset: 0; appearance: none !important; padding: 0 !important; border: 0 !important;
    border-radius: 0 !important; outline: 0 !important; background: rgb(8 12 20 / 54%) !important;
    box-shadow: none !important; transform: none !important; filter: none !important;
    backdrop-filter: blur(var(--dcp-overlay-blur, 6px)); -webkit-backdrop-filter: blur(var(--dcp-overlay-blur, 6px));
    transition: opacity var(--dcp-duration,480ms) var(--dcp-easing,cubic-bezier(.22,.78,.24,1)), backdrop-filter var(--dcp-duration,480ms) var(--dcp-easing,cubic-bezier(.22,.78,.24,1));
}
.dcp-drawer:focus { outline: 2px solid transparent !important; outline-offset: -3px; }
.dcp-drawer:focus-visible { outline: 2px solid currentColor !important; outline-offset: -3px; }

/* Launcher: the surface scales independently; the SVG stays on the pixel grid. */
.dcp-launcher { isolation: isolate; overflow: visible !important; border: 0 !important; border-radius: var(--dcp-launcher-radius,999px) !important; background: transparent !important; box-shadow: none !important; transform: translateY(0); transition: transform 220ms ease, inset 240ms ease, opacity 180ms ease; }
.dcp-launcher::before { content:""; position:absolute; inset:0; z-index:-1; border:var(--dcp-launcher-border-width,0px) solid var(--dcp-launcher-border-color,transparent); border-radius:var(--dcp-launcher-radius,999px); background:var(--dcp-launcher-bg,#fff); box-shadow:var(--dcp-launcher-shadow,none); transform:scale(1); transition:background-color 180ms ease,border-color 180ms ease,box-shadow 220ms ease,transform 220ms cubic-bezier(.22,.78,.24,1); }
.dcp-launcher__icon { color:var(--dcp-launcher-icon-color,#171717); transform:none !important; transition:color 180ms ease !important; }
.dcp-launcher__icon svg { width:var(--dcp-launcher-icon-size,24px); height:var(--dcp-launcher-icon-size,24px); transform:none !important; transition:width 220ms cubic-bezier(.22,.78,.24,1),height 220ms cubic-bezier(.22,.78,.24,1),stroke 180ms ease; }
.dcp-launcher[data-dcp-hover-enabled="1"]:hover { color:var(--dcp-launcher-hover-icon,var(--dcp-launcher-icon-color,#171717)); background:transparent !important; border:0 !important; box-shadow:none !important; transform:translateY(calc(-1 * var(--dcp-launcher-hover-lift,0px))); }
.dcp-launcher[data-dcp-hover-enabled="1"]:hover::before { background:var(--dcp-launcher-hover-bg,var(--dcp-launcher-bg,#fff)); border-color:var(--dcp-launcher-hover-border,var(--dcp-launcher-border-color,transparent)); box-shadow:var(--dcp-launcher-hover-shadow,var(--dcp-launcher-shadow,none)); transform:scale(var(--dcp-launcher-hover-scale,1)); }
.dcp-launcher[data-dcp-hover-enabled="1"]:hover .dcp-launcher__icon { color:var(--dcp-launcher-hover-icon,var(--dcp-launcher-icon-color,#171717)); transform:none !important; }
.dcp-launcher[data-dcp-hover-enabled="1"]:hover .dcp-launcher__icon svg { width:var(--dcp-launcher-hover-icon-size,var(--dcp-launcher-icon-size,24px)); height:var(--dcp-launcher-hover-icon-size,var(--dcp-launcher-icon-size,24px)); }
.dcp-launcher[data-dcp-hover-enabled="0"]:hover { transform:none !important; }
.dcp-launcher[data-dcp-hover-enabled="0"]:hover::before { transform:none !important; background:var(--dcp-launcher-bg,#fff); border-color:var(--dcp-launcher-border-color,transparent); box-shadow:var(--dcp-launcher-shadow,none); }
.dcp-launcher[data-dcp-hover-enabled="0"]:hover .dcp-launcher__icon svg { width:var(--dcp-launcher-icon-size,24px); height:var(--dcp-launcher-icon-size,24px); }
.dcp-launcher__count { min-width:var(--dcp-launcher-badge-size,21px); height:var(--dcp-launcher-badge-size,21px); padding-inline:calc(2px + var(--dcp-launcher-badge-padding-x,0px)); border:var(--dcp-launcher-badge-border-width,2px) solid var(--dcp-launcher-badge-border,#fff); border-radius:var(--dcp-launcher-badge-radius,999px); color:var(--dcp-launcher-badge-text,#171717); background:var(--dcp-launcher-badge-bg,#f4ab1d); box-shadow:var(--dcp-launcher-badge-shadow,none); font-size:var(--dcp-launcher-badge-font-size,11px); font-weight:var(--dcp-launcher-badge-weight,700); line-height:1; }
.dcp-launcher__count {
    box-sizing:border-box;
    max-width:calc(var(--dcp-launcher-badge-size,21px) * 2.25);
    overflow:hidden;
    line-height:calc(var(--dcp-launcher-badge-size,21px) - (2 * var(--dcp-launcher-badge-border-width,2px)));
    text-align:center;
    text-overflow:clip;
    white-space:nowrap;
}

/* Product cards: editorial is the quality baseline. */
.dcp-item { position:relative; }
.dcp-price-hidden .dcp-item__price { display:none !important; }
.dcp-items-editorial .dcp-item { gap:14px; margin:0 0 12px; padding:14px; border:1px solid color-mix(in srgb,var(--dcp-border) 70%,transparent); border-radius:var(--dcp-item-radius,16px); background:linear-gradient(145deg,var(--dcp-surface),color-mix(in srgb,var(--dcp-surface) 94%,#eef1f5)); box-shadow:0 8px 24px rgb(15 23 42 / 5%); }
.dcp-items-editorial .dcp-item__image { border-radius:max(8px,calc(var(--dcp-item-radius,16px) - 5px)); overflow:hidden; }
.dcp-items-editorial .dcp-item__name { font-size:14px; line-height:1.3; letter-spacing:-.01em; }
.dcp-items-editorial-compact .dcp-item { gap:11px; padding:11px 12px; border-bottom:1px solid var(--dcp-border); background:var(--dcp-surface); }
.dcp-items-editorial-compact .dcp-item__image { width:64px; height:64px; border-radius:10px; }
.dcp-items-media .dcp-item { grid-template-columns:minmax(92px,34%) minmax(0,1fr); gap:14px; padding:0 0 14px; border-bottom:1px solid var(--dcp-border); }
.dcp-items-media .dcp-item__image { width:100%; height:100%; min-height:104px; border-radius:12px; }
.dcp-items-split .dcp-item { grid-template-columns:1fr; gap:10px; padding:13px; border:1px solid var(--dcp-border); border-radius:var(--dcp-item-radius,14px); }
.dcp-items-split .dcp-item__image { width:100%; height:138px; border-radius:10px; }
.dcp-items-split .dcp-item__bottom { padding-top:8px; border-top:1px solid var(--dcp-border); }
.dcp-item__remove { position:absolute !important; z-index:4; display:grid !important; width:var(--dcp-remove-size,34px) !important; height:var(--dcp-remove-size,34px) !important; min-width:var(--dcp-remove-size,34px) !important; min-height:var(--dcp-remove-size,34px) !important; place-items:center; padding:0 !important; color:var(--dcp-remove-color,#6b7280) !important; background:var(--dcp-remove-bg,#fff) !important; border-radius:999px; transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.dcp-item__remove-icon { display:grid; width:18px; height:18px; place-items:center; }
.dcp-item__remove-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dcp-remove-top-right .dcp-item__remove { top:9px; right:9px; bottom:auto; left:auto; }
.dcp-remove-top-left .dcp-item__remove { top:9px; left:9px; right:auto; bottom:auto; }
.dcp-remove-bottom-right .dcp-item__remove { right:9px; bottom:9px; top:auto; left:auto; }
.dcp-remove-bottom-left .dcp-item__remove { left:9px; bottom:9px; top:auto; right:auto; }
.dcp-remove-style-ghost .dcp-item__remove { border:0 !important; background:transparent !important; }
.dcp-remove-style-soft .dcp-item__remove { border:0 !important; background:var(--dcp-remove-bg,#f3f4f6) !important; }
.dcp-remove-style-outline .dcp-item__remove { border:1px solid color-mix(in srgb,var(--dcp-remove-color) 32%,transparent) !important; background:transparent !important; }
.dcp-remove-style-solid .dcp-item__remove { border:0 !important; background:var(--dcp-remove-color,#171717) !important; color:var(--dcp-surface,#fff) !important; }
.dcp-item__remove:hover { color:var(--dcp-remove-hover-color,#171717) !important; background:var(--dcp-remove-hover-bg,#f3f4f6) !important; transform:none !important; }

/* Coupon studio -> frontend parity. */
.dcp-coupon form { gap:8px; align-items:stretch; }
.dcp-coupon form input { min-height:var(--dcp-coupon-button-height,42px); border-radius:var(--dcp-coupon-field-radius,10px) !important; }
.dcp-coupon__apply { display:inline-flex !important; align-items:center; justify-content:center; gap:7px; min-height:var(--dcp-coupon-button-height,42px) !important; padding-inline:15px !important; border:1px solid var(--dcp-coupon-button-border,#171717) !important; border-radius:var(--dcp-coupon-button-radius,10px) !important; color:var(--dcp-coupon-button-text,#fff) !important; background:var(--dcp-coupon-button-bg,#171717) !important; font-weight:var(--dcp-coupon-button-weight,700) !important; box-shadow:none !important; transform:none !important; }
.dcp-coupon__apply i { font-style:normal; font-size:15px; line-height:1; }
.dcp-coupon-button-outline .dcp-coupon__apply { color:var(--dcp-coupon-button-border,#171717) !important; background:transparent !important; }
.dcp-coupon-button-soft .dcp-coupon__apply { color:var(--dcp-coupon-button-border,#171717) !important; background:color-mix(in srgb,var(--dcp-coupon-button-bg,#171717) 9%,var(--dcp-surface,#fff)) !important; border-color:transparent !important; }
.dcp-coupon-button-text .dcp-coupon__apply { min-height:auto !important; padding:7px 4px !important; color:var(--dcp-coupon-button-border,#171717) !important; background:transparent !important; border-color:transparent !important; }
.dcp-coupon-layout-joined .dcp-coupon form { grid-template-columns:minmax(0,1fr) auto; gap:0; }
.dcp-coupon-layout-joined .dcp-coupon form input { border-radius:var(--dcp-coupon-field-radius,10px) 0 0 var(--dcp-coupon-field-radius,10px) !important; }
.dcp-coupon-layout-joined .dcp-coupon__apply { border-radius:0 var(--dcp-coupon-button-radius,10px) var(--dcp-coupon-button-radius,10px) 0 !important; }
.dcp-coupon-layout-stack .dcp-coupon form { grid-template-columns:1fr; }

/* Progress styles with genuinely different geometry. */
.dcp-reward__track { height:var(--dcp-reward-height,8px); border-radius:var(--dcp-reward-radius,999px); background:var(--dcp-reward-track,#f5e7c5); }
.dcp-reward-style-line .dcp-reward__track { height:max(2px,min(4px,var(--dcp-reward-height,4px))); border-radius:0; }
.dcp-reward-style-line .dcp-reward__track > span { border-radius:0; }
.dcp-reward-style-pill .dcp-reward__track { min-height:10px; padding:2px; border:1px solid color-mix(in srgb,var(--dcp-reward-track) 72%,#cbd5e1); box-shadow:inset 0 1px 3px rgb(15 23 42 / 10%); }
.dcp-reward-style-pill .dcp-reward__track > span { height:100%; border-radius:inherit; box-shadow:0 1px 6px color-mix(in srgb,var(--dcp-reward-fill) 32%,transparent); }
.dcp-reward-style-segmented .dcp-reward__track { overflow:hidden; background:repeating-linear-gradient(90deg,var(--dcp-reward-track) 0 calc((100% / var(--dcp-reward-segments,4)) - 3px),transparent calc((100% / var(--dcp-reward-segments,4)) - 3px) calc(100% / var(--dcp-reward-segments,4))); }
.dcp-reward-style-segmented .dcp-reward__track > span { background:repeating-linear-gradient(90deg,var(--dcp-reward-fill) 0 calc((100% / var(--dcp-reward-segments,4)) - 3px),transparent calc((100% / var(--dcp-reward-segments,4)) - 3px) calc(100% / var(--dcp-reward-segments,4))); }
.dcp-reward-style-milestone .dcp-reward__track { overflow:visible; height:3px; margin-top:8px; }
.dcp-reward-style-milestone .dcp-reward__track::after { content:""; position:absolute; right:-1px; top:50%; width:13px; height:13px; border:3px solid var(--dcp-surface); border-radius:50%; background:var(--dcp-reward-track); box-shadow:0 0 0 1px color-mix(in srgb,var(--dcp-reward-track) 70%,#94a3b8); transform:translateY(-50%); }
.dcp-reward__track { position:relative; }

/* Trust surfaces look like real checkout reassurance modules. */
.dcp-trust { border-radius:12px; }
.dcp-trust-surface-soft .dcp-trust { padding:11px 12px; background:color-mix(in srgb,var(--dcp-text) 3.5%,var(--dcp-surface)); }
.dcp-trust-surface-bordered .dcp-trust { padding:11px 12px; border:1px solid var(--dcp-border); background:var(--dcp-surface); }
.dcp-trust-surface-strip .dcp-trust { padding:10px 12px; border-left:3px solid var(--dcp-accent); background:color-mix(in srgb,var(--dcp-accent) 6%,var(--dcp-surface)); border-radius:4px 10px 10px 4px; }

/* Premium motion uses configured duration/easing everywhere. */
.dcp-drawer { transition:transform var(--dcp-duration,480ms) var(--dcp-easing,cubic-bezier(.22,.78,.24,1)), opacity var(--dcp-duration,480ms) var(--dcp-easing,cubic-bezier(.22,.78,.24,1)) !important; }
/* Motion presets are perceptibly different while staying restrained. */
.dcp-animation-slide .dcp-drawer { opacity:1; }
.dcp-animation-slide-fade .dcp-drawer { opacity:0; }
.dcp-animation-slide-fade.is-open .dcp-drawer { opacity:1; }
.dcp-animation-fade .dcp-overlay { opacity:0; }
.dcp-animation-soft-scale .dcp-overlay { opacity:0; }


/* v1.6 coupon premium interaction + icon parity. */
.dcp-coupon__apply { font-weight:var(--dcp-coupon-button-weight,700) !important; transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 220ms ease !important; }
.dcp-coupon__apply i { display:inline-grid; width:16px; height:16px; place-items:center; }
.dcp-coupon__apply i svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.dcp-coupon-icon-left .dcp-coupon__apply i { order:-1; }
.dcp-coupon-icon-right .dcp-coupon__apply i { order:2; }
.dcp-coupon-width-full .dcp-coupon__apply { width:100%; }
.dcp-coupon-width-full.dcp-coupon-layout-joined .dcp-coupon form { grid-template-columns:minmax(0,1fr) minmax(130px,42%); }
.dcp-coupon__apply:hover,.dcp-coupon__apply:focus-visible { color:var(--dcp-coupon-button-hover-text,#fff) !important; background:var(--dcp-coupon-button-hover-bg,#0f0f10) !important; border-color:var(--dcp-coupon-button-hover-border,#0f0f10) !important; box-shadow:0 8px 22px rgb(15 23 42 / 10%) !important; transform:none !important; }
.dcp-coupon-button-text .dcp-coupon__apply:hover,.dcp-coupon-button-text .dcp-coupon__apply:focus-visible { box-shadow:none !important; }
/* Fixed segmented progress without relying on CSS calc division. Step markers carry the configured count. */
.dcp-reward-style-segmented .dcp-reward__track { background:repeating-linear-gradient(90deg,var(--dcp-reward-track) 0 22px,transparent 22px 26px); }
.dcp-reward-style-segmented .dcp-reward__track > span { background:repeating-linear-gradient(90deg,var(--dcp-reward-fill) 0 22px,transparent 22px 26px); }
.dcp-reward-style-segmented .dcp-reward__steps { display:grid; grid-template-columns:repeat(var(--dcp-reward-segments,4),1fr); gap:4px; margin-top:5px; }
.dcp-reward-style-segmented .dcp-reward__steps i { display:block; height:2px; border-radius:9px; background:color-mix(in srgb,var(--dcp-reward-track) 72%,transparent); }
/* Stable premium hover: only components with explicit motion controls move. */
.dcp-root .dcp-button:hover,
.dcp-root .dcp-action:hover,
.dcp-root .dcp-text-button:hover { transform:none !important; }


/* ========================================================================
   v1.6.1 drawer geometry + Elementor/theme isolation
   ======================================================================== */
/* A recommendation setting alone must never reserve an empty 360px rail. */
.dcp-drawer,
.dcp-recs-right .dcp-drawer,
.dcp-recs-left .dcp-drawer,
.dcp-recs-inside .dcp-drawer,
.dcp-recs-below .dcp-drawer,
.dcp-recs-off .dcp-drawer {
    width:min(var(--dcp-drawer-width-desktop,var(--dcp-drawer-width,480px)),calc(100vw - 24px)) !important;
}
.dcp-root.dcp-has-recommendation-rail.dcp-recs-right .dcp-drawer,
.dcp-root.dcp-has-recommendation-rail.dcp-recs-left .dcp-drawer {
    width:min(calc(var(--dcp-drawer-width-desktop,var(--dcp-drawer-width,480px)) + 360px),calc(100vw - 24px)) !important;
}
@media (max-width:1024px) {
    .dcp-drawer,
    .dcp-recs-right .dcp-drawer,
    .dcp-recs-left .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-right .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-left .dcp-drawer {
        width:min(var(--dcp-drawer-width-tablet,72vw),100vw) !important;
    }
}
@media (max-width:620px) {
    .dcp-drawer,
    .dcp-recs-right .dcp-drawer,
    .dcp-recs-left .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-right .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-left .dcp-drawer {
        width:min(var(--dcp-drawer-width-mobile,100vw),100vw) !important;
    }
}

/* Use an explicit neutral gradient layer so no Elementor global background or
   focus skin can tint the overlay magenta/pink. */
.dcp-root > .dcp-overlay,
.dcp-root > .dcp-overlay:hover,
.dcp-root > .dcp-overlay:focus,
.dcp-root > .dcp-overlay:focus-visible,
.dcp-root > .dcp-overlay:active {
    background-color:transparent !important;
    background-image:linear-gradient(rgb(9 13 20 / 68%),rgb(9 13 20 / 68%)) !important;
    background-repeat:no-repeat !important;
    background-size:100% 100% !important;
    outline:0 !important;
    box-shadow:none !important;
    transform:none !important;
    mix-blend-mode:normal !important;
}
.dcp-root .dcp-drawer,
.dcp-root .dcp-drawer:hover,
.dcp-root .dcp-drawer:focus,
.dcp-root .dcp-drawer:focus-visible,
.dcp-root .dcp-drawer:active,
.dcp-root .dcp-cart-pane,
.dcp-root .dcp-cart-pane:hover,
.dcp-root .dcp-cart-pane:focus,
.dcp-root .dcp-cart-pane:focus-visible {
    outline:0 !important;
    border-color:transparent;
    color:var(--dcp-text) !important;
    background-color:var(--dcp-surface) !important;
    background-image:none !important;
    box-shadow:var(--dcp-shadow) !important;
    filter:none !important;
}
.dcp-root .dcp-cart-pane,
.dcp-root .dcp-cart-pane:hover,
.dcp-root .dcp-cart-pane:focus,
.dcp-root .dcp-cart-pane:focus-visible { box-shadow:none !important; }

/* v1.7 interaction and icon parity. */
.dcp-launcher--floating:not([hidden]) { display:inline-flex !important; position:fixed !important; z-index:2147483001 !important; }
.dcp-launcher--floating.dcp-launcher--confirmed::before { animation:dcp-launcher-confirmed 720ms cubic-bezier(.2,1.5,.4,1); }
@keyframes dcp-launcher-confirmed { 0%,100%{transform:scale(1)} 45%{transform:scale(1.12);box-shadow:0 0 0 9px color-mix(in srgb,var(--dcp-launcher-badge-bg,#f4ab1d) 22%,transparent),var(--dcp-launcher-shadow,none)} }

.dcp-item__name { display:-webkit-box; overflow:hidden; white-space:normal !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.3; }
.dcp-header__identity:empty { display:none; }
.dcp-trust-icons-solid .dcp-trust__marks svg { fill:currentColor; stroke-width:1.15; }
.dcp-trust-icons-duotone .dcp-trust__marks svg { fill:color-mix(in srgb,var(--dcp-accent) 20%,transparent); stroke:color-mix(in srgb,var(--dcp-accent) 65%,var(--dcp-text)); }

.dcp-animation-spring .dcp-drawer { transform:translate3d(105%,0,0) scale(.985); opacity:.86; transition-timing-function:cubic-bezier(.2,1.32,.36,1) !important; }
.dcp-side-left.dcp-animation-spring .dcp-drawer { transform:translate3d(-105%,0,0) scale(.985); }
.dcp-animation-spring.is-open .dcp-drawer { transform:translate3d(0,0,0) scale(1); opacity:1; }
.dcp-animation-reveal .dcp-drawer { transform:none; opacity:0; clip-path:inset(0 0 0 100%); transition:clip-path var(--dcp-duration,480ms) var(--dcp-easing,ease),opacity calc(var(--dcp-duration,480ms) * .65) ease !important; }
.dcp-side-left.dcp-animation-reveal .dcp-drawer { clip-path:inset(0 100% 0 0); }
.dcp-animation-reveal.is-open .dcp-drawer { opacity:1; clip-path:inset(0); }

@media (prefers-reduced-motion:reduce) {
    .dcp-launcher--floating.dcp-launcher--confirmed::before { animation:none; }
    .dcp-animation-spring .dcp-drawer,.dcp-animation-reveal .dcp-drawer { clip-path:none; transition:none !important; }
}


/* v1.7.2 published parity */
.dcp-image-left .dcp-item,
.dcp-image-left.dcp-items-media .dcp-item,
.dcp-image-left.dcp-items-editorial-compact .dcp-item,
.dcp-image-left.dcp-items-split .dcp-item,
.dcp-image-left.dcp-items-image-top .dcp-item {
    grid-template-columns:var(--dcp-item-image-size,80px) minmax(0,1fr) !important;
}
.dcp-image-left .dcp-item__image {
    width:var(--dcp-item-image-size,80px) !important;
    height:var(--dcp-item-image-size,80px) !important;
    min-height:0 !important;
    aspect-ratio:1 !important;
}
.dcp-image-top .dcp-item__image {
    width:100% !important;
    height:var(--dcp-item-image-size,80px) !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
}
.dcp-remove-center-right .dcp-item__remove { top:50% !important; right:9px !important; bottom:auto !important; left:auto !important; transform:translateY(-50%) !important; }
.dcp-remove-center-left .dcp-item__remove { top:50% !important; right:auto !important; bottom:auto !important; left:9px !important; transform:translateY(-50%) !important; }
.dcp-remove-center-right .dcp-item__remove:hover,
.dcp-remove-center-left .dcp-item__remove:hover { transform:translateY(-50%) !important; }

/* v1.7.2: explicit per-item zero-price hiding must beat positional display rules. */
.dcp-item__price[hidden] { display:none !important; }

/* ========================================================================
   v1.7.3 launcher geometry isolation
   ======================================================================== */
/* A floating launcher must never contribute to page dimensions or inherit
   positional transforms from a theme. Open-state coordinates are calculated
   against the real drawer rectangle in frontend.js. */
.dcp-launcher--floating {
    position:fixed !important;
    margin:0 !important;
    max-width:calc(100vw - 24px) !important;
}
/* Prevent the legacy dock formula from flashing the launcher inside the drawer
   during the one animation frame before exact geometry is measured. */
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"]:not([data-dcp-positioned="1"]) {
    opacity:0 !important;
    pointer-events:none !important;
}
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"][data-dcp-positioned="1"] {
    opacity:1;
    pointer-events:auto;
}
/* If a viewport is physically too narrow to place the launcher outside a
   full-width drawer, the JS clamps it to a 12px safe area instead of creating
   horizontal overflow. */
html.dcp-cart-open .dcp-launcher--floating[data-dcp-position-fallback="1"] { max-width:calc(100vw - 24px) !important; }

/* If a full-width drawer leaves no physical room outside, dock-edge hides only
   while open instead of overlapping the drawer or widening the page. */
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"][data-dcp-position-fallback="1"] {
    opacity:0 !important;
    pointer-events:none !important;
}


/* v1.7.4 — responsive launcher offsets, product titles and checkout CTA */
.dcp-launcher--floating{--dcp-launcher-offset-x-responsive:var(--dcp-launcher-offset-x-desktop,var(--dcp-launcher-offset-x,22px));--dcp-launcher-offset-y-responsive:var(--dcp-launcher-offset-y-desktop,var(--dcp-launcher-offset-y,22px));--dcp-launcher-dock-gap-responsive:var(--dcp-launcher-dock-gap-desktop,14px)}
.dcp-launcher--floating[data-dcp-launcher-position="right"]{right:calc(var(--dcp-launcher-offset-x-responsive) + env(safe-area-inset-right))!important;left:auto!important}.dcp-launcher--floating[data-dcp-launcher-position="left"]{left:calc(var(--dcp-launcher-offset-x-responsive) + env(safe-area-inset-left))!important;right:auto!important}.dcp-launcher--floating{bottom:calc(var(--dcp-launcher-offset-y-responsive) + env(safe-area-inset-bottom))!important}
@media(max-width:1024px){.dcp-launcher--floating{--dcp-launcher-offset-x-responsive:var(--dcp-launcher-offset-x-tablet,var(--dcp-launcher-offset-x-desktop,18px));--dcp-launcher-offset-y-responsive:var(--dcp-launcher-offset-y-tablet,var(--dcp-launcher-offset-y-desktop,18px));--dcp-launcher-dock-gap-responsive:var(--dcp-launcher-dock-gap-tablet,12px)}}
@media(max-width:767px){.dcp-launcher--floating{--dcp-launcher-offset-x-responsive:var(--dcp-launcher-offset-x-mobile,var(--dcp-launcher-offset-x-tablet,14px));--dcp-launcher-offset-y-responsive:var(--dcp-launcher-offset-y-mobile,var(--dcp-launcher-offset-y-tablet,14px));--dcp-launcher-dock-gap-responsive:var(--dcp-launcher-dock-gap-mobile,10px)}}
.dcp-item__name{font-size:var(--dcp-title-size,14px)!important;font-weight:var(--dcp-title-weight,700)!important;line-height:var(--dcp-title-line-height,130%)!important;color:var(--dcp-title-color,var(--dcp-text))!important;margin-bottom:var(--dcp-title-spacing,4px);transition:color 180ms ease}.dcp-item__name:hover{color:var(--dcp-title-hover-color,var(--dcp-accent))!important}
.dcp-button--primary[data-dcp-checkout]{display:inline-flex;min-height:var(--dcp-checkout-height,52px);align-items:center;justify-content:center;gap:var(--dcp-checkout-icon-gap,9px);padding-inline:18px;border:var(--dcp-checkout-border-width,0px) solid var(--dcp-checkout-border,var(--dcp-accent));border-radius:var(--dcp-checkout-radius,12px);color:var(--dcp-checkout-text,var(--dcp-accent-contrast));background:var(--dcp-checkout-bg,var(--dcp-accent));font-size:var(--dcp-checkout-font-size,14px);font-weight:var(--dcp-checkout-weight,600);transform:none!important;transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease,box-shadow 260ms ease}.dcp-button--primary[data-dcp-checkout].dcp-checkout--full{width:100%}.dcp-button--primary[data-dcp-checkout].dcp-checkout--auto{width:auto;min-width:180px;align-self:center}.dcp-checkout-icon--right{flex-direction:row-reverse}.dcp-checkout__icon{display:grid;width:18px;height:18px;place-items:center}.dcp-checkout__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dcp-checkout-shadow--soft{box-shadow:0 7px 18px rgb(15 23 42 / 8%)}.dcp-checkout-shadow--medium{box-shadow:0 12px 26px rgb(15 23 42 / 13%)}.dcp-button--primary[data-dcp-checkout]:hover{color:var(--dcp-checkout-hover-text,var(--dcp-checkout-text));background:var(--dcp-checkout-hover-bg,var(--dcp-checkout-bg));border-color:var(--dcp-checkout-hover-border,var(--dcp-checkout-border));transform:none!important}.dcp-checkout-hover-shadow--soft:hover{box-shadow:0 9px 22px rgb(15 23 42 / 10%)}.dcp-checkout-hover-shadow--medium:hover{box-shadow:0 15px 34px rgb(15 23 42 / 16%)}

/* ========================================================================
   v1.7.5 layout/launcher/empty-state hardening
   ======================================================================== */
/* A right-anchored fixed launcher must not jump when opening the drawer removes
   the browser scrollbar. Body padding compensates content; this compensates the
   viewport-anchored control. JS-positioned open modes are excluded. */
html.dcp-scroll-locked .dcp-launcher--floating[data-dcp-launcher-position="right"]:not([data-dcp-positioned="1"]) {
    right:calc(var(--dcp-launcher-offset-x-responsive) + var(--dcp-scrollbar-width,0px) + env(safe-area-inset-right)) !important;
}

/* v1.7.6 mobile launcher/drawer safety. */
.dcp-launcher--floating[hidden] { display:none !important; }
.dcp-launcher--floating:focus-visible { outline:3px solid var(--dcp-focus,#2563eb); outline-offset:3px; }
@media (max-width:767px) {
    .dcp-root .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail .dcp-drawer {
        width:100vw !important;
        max-width:100vw !important;
        padding-left:env(safe-area-inset-left);
        padding-right:env(safe-area-inset-right);
    }
    .dcp-launcher--floating { min-width:44px; min-height:44px; max-width:calc(100vw - 24px); }
    html.dcp-cart-open .dcp-launcher--floating[data-dcp-position-fallback="1"] { opacity:1; pointer-events:auto; }
}

/* Product rows always participate in normal grid flow; no variant can collapse
   onto the next item. */
.dcp-items { min-width:0; align-content:start; }
.dcp-item { box-sizing:border-box; width:100%; min-width:0; min-height:0; height:auto; align-self:start; isolation:isolate; }
.dcp-items-editorial .dcp-items { display:grid; grid-auto-rows:max-content; gap:14px; }
.dcp-items-editorial .dcp-item { margin:0 !important; }
.dcp-item__image, .dcp-item__image img { min-width:0; max-width:100%; overflow:hidden; }
.dcp-item__image img { display:block; width:100%; height:100%; object-fit:cover; }

/* Fully configurable empty-cart state. */
.dcp-empty {
    align-content:center; justify-items:center; gap:var(--dcp-empty-gap,12px); box-sizing:border-box;
    min-height:100%; padding:clamp(26px,7vh,72px) 28px; text-align:center;
}
.dcp-empty--left { justify-items:start; text-align:left; }
.dcp-empty__icon {
    width:var(--dcp-empty-icon-size,56px) !important; height:var(--dcp-empty-icon-size,56px) !important;
    margin:0 !important; border-radius:calc(var(--dcp-empty-icon-size,56px) * .32) !important;
    color:var(--dcp-empty-icon-color,#171717) !important; background:var(--dcp-empty-icon-bg,#f4ab1d) !important;
}
.dcp-empty__icon svg { width:48%; height:48%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dcp-empty h3 { margin:0 !important; color:var(--dcp-empty-title-color,var(--dcp-text)) !important; font-size:var(--dcp-empty-title-size,21px) !important; font-weight:650; line-height:1.2; }
.dcp-empty p { max-width:380px; margin:0 !important; color:var(--dcp-empty-subtitle-color,var(--dcp-muted)) !important; font-size:var(--dcp-empty-subtitle-size,13px) !important; line-height:1.55; }
.dcp-empty__button {
    display:inline-flex; min-height:var(--dcp-empty-button-height,44px); align-items:center; justify-content:center; gap:8px;
    margin-top:4px; padding:0 20px; border:1px solid var(--dcp-empty-button-border,var(--dcp-accent));
    border-radius:var(--dcp-empty-button-radius,12px); color:var(--dcp-empty-button-text,var(--dcp-accent-contrast));
    background:var(--dcp-empty-button-bg,var(--dcp-accent)); font-size:13px; font-weight:650; text-decoration:none;
    transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,box-shadow 200ms ease;
}
.dcp-empty__button > span { display:grid; width:17px; height:17px; place-items:center; }
.dcp-empty__button > span svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.dcp-empty__button em { font-style:normal; }
.dcp-empty__button-icon--right { flex-direction:row-reverse; }
.dcp-empty-button--outline .dcp-empty__button { background:transparent; }
.dcp-empty-button--soft .dcp-empty__button { border-color:transparent; background:color-mix(in srgb,var(--dcp-empty-button-bg,var(--dcp-accent)) 16%,var(--dcp-surface)); }
.dcp-empty-button--link .dcp-empty__button { min-height:auto; padding:5px 0; border-color:transparent; background:transparent; }
.dcp-empty__button:hover,.dcp-empty__button:focus-visible { color:var(--dcp-empty-button-hover-text,var(--dcp-accent-contrast)); border-color:var(--dcp-empty-button-hover-border,var(--dcp-accent)); background:var(--dcp-empty-button-hover-bg,var(--dcp-accent)); transform:none !important; }


/* v1.7.5 configurable clear-cart action */
.dcp-root .dcp-clear {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--dcp-clear-gap, 6px);
    min-height: var(--dcp-clear-height, 34px);
    height: var(--dcp-clear-height, 34px);
    width: auto;
    padding: 0 12px;
    border: var(--dcp-clear-border-width, 1px) solid var(--dcp-clear-border, #e5e7eb);
    border-radius: var(--dcp-clear-radius, 10px);
    background: var(--dcp-clear-bg, #fff);
    color: var(--dcp-clear-text, #374151);
    font: inherit;
    font-size: var(--dcp-clear-font-size, 12px);
    font-weight: var(--dcp-clear-weight, 500);
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transform: none;
    cursor: pointer;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.dcp-root .dcp-clear:hover,
.dcp-root .dcp-clear:focus-visible {
    background: var(--dcp-clear-hover-bg, #f3f4f6);
    color: var(--dcp-clear-hover-text, #171717);
    border-color: var(--dcp-clear-hover-border, #d1d5db);
    transform: none;
}
.dcp-root .dcp-clear__icon { width: var(--dcp-clear-icon-size, 16px); height: var(--dcp-clear-icon-size, 16px); display:inline-flex; flex:0 0 auto; }
.dcp-root .dcp-clear__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.dcp-root .dcp-clear--full { width:100%; }
.dcp-root .dcp-clear--link { background:transparent; border-color:transparent; padding-inline:4px; height:auto; min-height:28px; }
.dcp-root .dcp-clear--ghost { background:transparent; border-color:transparent; }
.dcp-root .dcp-clear--outline { background:transparent; }
.dcp-root .dcp-clear--soft { border-color:transparent; }
.dcp-root .dcp-clear--solid { background:var(--dcp-clear-bg); }
.dcp-root .dcp-clear--icon-only { width:var(--dcp-clear-height,34px); min-width:var(--dcp-clear-height,34px); padding:0; }
.dcp-root .dcp-summary > .dcp-clear { margin-bottom:10px; }
.dcp-root .dcp-summary > .dcp-clear:last-child { margin-top:10px; margin-bottom:0; }
.dcp-root.dcp-clear-position-header-left .dcp-header__actions { flex-direction:row; }
.dcp-root.dcp-clear-position-header-left .dcp-clear { order:-1; }

.dcp-root.dcp-clear-position-header-left .dcp-header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; }


/* v1.7.5 final storefront parity hardening. */
.dcp-items {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-auto-flow:row;
    grid-auto-rows:max-content;
    min-height:0;
}
.dcp-item {
    position:relative;
    overflow:visible;
    margin:0 !important;
}
.dcp-item__content,
.dcp-item__top,
.dcp-item__bottom { min-width:0; max-width:100%; }
.dcp-item__name { overflow-wrap:anywhere; }
/* The normal footer remains visually identical. Only unusually tall combinations
   (coupon + recommendations + trust + actions) scroll internally instead of being
   clipped below the viewport. */
.dcp-summary {
    max-height:min(62dvh,680px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-gutter:stable;
}

/* v1.7.8 storefront stability: one resilient cart column plus an optional,
   independently animated recommendations panel. */
.dcp-drawer {
    width:min(var(--dcp-drawer-width),calc(100vw - 12px));
    height:100vh;
    height:100dvh;
    min-height:0;
    overflow:visible;
}
.dcp-cart-pane {
    grid-template-rows:auto auto minmax(0,1fr) auto;
    width:100%;
    min-width:0;
    height:100%;
    min-height:0;
    overflow:hidden;
}
.dcp-body {
    min-height:0;
    overflow-y:auto;
    scrollbar-gutter:stable;
}
.dcp-summary {
    width:100%;
    max-height:min(48dvh,560px);
    overflow-x:hidden;
    overflow-y:auto;
    flex:0 0 auto;
}

/* Removal is a real touch target and remains legible over photography. */
.dcp-item__remove {
    isolation:isolate;
    width:max(34px,var(--dcp-remove-size,34px)) !important;
    height:max(34px,var(--dcp-remove-size,34px)) !important;
    min-width:34px !important;
    min-height:34px !important;
    border:1px solid rgb(15 23 42 / 10%) !important;
    background:color-mix(in srgb,var(--dcp-remove-bg,#fff) 92%,transparent) !important;
    box-shadow:0 4px 14px rgb(15 23 42 / 14%);
    backdrop-filter:blur(7px);
}
.dcp-item__remove svg { width:17px; height:17px; pointer-events:none; }
.dcp-remove-style-ghost .dcp-item__remove {
    border-color:rgb(15 23 42 / 10%) !important;
    background:color-mix(in srgb,var(--dcp-remove-bg,#fff) 88%,transparent) !important;
}
.dcp-items-image-top .dcp-item__remove,
.dcp-items-spotlight .dcp-item__remove { top:10px !important; right:10px !important; }

/* Three additional, materially different card compositions. */
.dcp-items-compact-row .dcp-items { padding-block:4px 10px; }
.dcp-items-compact-row .dcp-item {
    grid-template-columns:56px minmax(0,1fr);
    gap:10px;
    min-height:76px;
    padding:10px 40px 10px 0;
}
.dcp-items-compact-row .dcp-item__content { gap:4px; }
.dcp-items-compact-row .dcp-item__image { width:56px; height:56px; }
.dcp-items-compact-row .dcp-item__meta { margin-top:2px; }
.dcp-items-compact-row .dcp-quantity { height:32px; grid-template-columns:30px 34px 30px; }
.dcp-items-spotlight .dcp-items { gap:14px; padding-top:14px; }
.dcp-items-spotlight .dcp-item {
    grid-template-columns:1fr;
    gap:12px;
    padding:12px;
    overflow:hidden;
    border:1px solid var(--dcp-border);
    border-radius:var(--dcp-item-radius,14px);
    background:var(--dcp-surface);
    box-shadow:0 14px 34px rgb(15 23 42 / 9%);
}
.dcp-items-spotlight .dcp-item__image { width:100%; height:clamp(120px,22dvh,190px); aspect-ratio:16/7; }
.dcp-items-borderless .dcp-item {
    padding:12px 40px 12px 0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.dcp-items-borderless .dcp-item + .dcp-item { border-top:1px solid var(--dcp-border); }

/* Side recommendations: the cart keeps its width; the second panel opens to
   the outside and never steals vertical room from totals or checkout. */
.dcp-recommendations-trigger {
    position:absolute;
    z-index:8;
    top:50%;
    left:-24px;
    display:inline-flex;
    width:48px;
    min-width:48px;
    height:88px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:9px 7px;
    border:1px solid var(--dcp-border);
    border-radius:14px 0 0 14px;
    color:var(--dcp-text);
    background:var(--dcp-surface);
    box-shadow:-10px 10px 28px rgb(15 23 42 / 14%);
    cursor:pointer;
    transform:translateY(-50%);
}
.dcp-recommendations-trigger[hidden] { display:none; }
.dcp-recommendations-trigger svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.dcp-recommendations-trigger span { writing-mode:vertical-rl; font-size:10px; font-weight:750; letter-spacing:.03em; }
.dcp-side-left .dcp-recommendations-trigger { right:-24px; left:auto; border-radius:0 14px 14px 0; box-shadow:10px 10px 28px rgb(15 23 42 / 14%); }
.dcp-rail {
    position:absolute;
    z-index:7;
    inset-block:0;
    left:-360px;
    display:flex;
    width:min(360px,calc(100vw - var(--dcp-drawer-width) - 24px));
    min-width:min(360px,calc(100vw - var(--dcp-drawer-width) - 24px));
    height:100%;
    flex-direction:column;
    overflow:hidden;
    border-inline:0 1px solid var(--dcp-border);
    background:var(--dcp-soft);
    box-shadow:-22px 0 48px rgb(15 23 42 / 13%);
    opacity:0;
    visibility:hidden;
    transform:translateX(100%);
    transition:transform var(--dcp-duration,360ms) var(--dcp-easing,ease),opacity 180ms ease,visibility 0s linear var(--dcp-duration,360ms);
}
.dcp-side-left .dcp-rail {
    right:-360px;
    left:auto;
    border-inline:1px 0;
    box-shadow:22px 0 48px rgb(15 23 42 / 13%);
    transform:translateX(-100%);
}
.dcp-rail[hidden] { display:none; }
.dcp-root.is-recommendations-open .dcp-rail {
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    transition-delay:0s;
}
.dcp-rail__header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex:0 0 auto;
    border-bottom:1px solid var(--dcp-border);
}
.dcp-rail > .dcp-recommendations { min-height:0; overflow-y:auto; overscroll-behavior:contain; }

/* Keep the default icon-only launcher free from detached $0 pills. */
.dcp-launcher--floating .dcp-launcher__subtotal[hidden] { display:none !important; }

/* Empty-state art stays icon-sized in both real and preview contexts. */
.dcp-empty__icon { overflow:hidden; }
.dcp-empty__icon svg { display:block; width:58%; height:58%; max-width:58%; max-height:58%; fill:none; stroke:currentColor; stroke-width:1.7; }

/* Coupon and footer links remain reachable even in compact viewports. */
.dcp-coupon form { min-width:0; }
.dcp-coupon input { min-width:0; }
.dcp-extra-links a { display:flex; min-height:40px; align-items:center; justify-content:center; gap:8px; }
.dcp-extra-links svg { width:17px; height:17px; flex:0 0 auto; }

@media (max-width:1100px) {
    .dcp-rail {
        left:calc(-1 * min(340px,42vw));
        width:min(340px,42vw);
        min-width:min(340px,42vw);
    }
    .dcp-side-left .dcp-rail { right:calc(-1 * min(340px,42vw)); left:auto; }
}

@media (max-width:860px) {
    .dcp-drawer { width:min(var(--dcp-drawer-width-tablet,var(--dcp-drawer-width)),100vw); }
    .dcp-rail,
    .dcp-side-left .dcp-rail {
        inset:0;
        display:flex;
        width:100%;
        min-width:0;
        border:0;
        transform:translateX(-100%);
    }
    .dcp-side-left .dcp-rail { transform:translateX(100%); }
    .dcp-root.is-recommendations-open .dcp-rail { transform:translateX(0); }
    .dcp-recommendations-trigger,
    .dcp-side-left .dcp-recommendations-trigger {
        top:50%;
        right:auto;
        left:10px;
        width:44px;
        min-width:44px;
        height:44px;
        padding:0;
        border-radius:13px;
        box-shadow:0 8px 24px rgb(15 23 42 / 18%);
    }
    .dcp-recommendations-trigger span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
}

@media (max-width:620px) {
    .dcp-drawer { width:100vw; }
    .dcp-summary { max-height:52dvh; padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
    .dcp-items-image-top .dcp-item__image,
    .dcp-items-spotlight .dcp-item__image { height:clamp(112px,22dvh,160px); }
}

@media (prefers-reduced-motion:reduce) {
    .dcp-rail { transition:none; }
}

/* ========================================================================
   v1.7.9 adaptive recommendations and true edge-to-edge mobile drawer.
   Desktop/tablet keep recommendations inside the cart boundary. Phones use
   a compact footer carousel so product cards always keep the scroll area.
   ======================================================================== */
.dcp-root .dcp-drawer,
.dcp-root.dcp-has-recommendation-rail .dcp-drawer,
.dcp-root.dcp-has-recommendation-rail.dcp-recs-side-panel .dcp-drawer {
    width:min(var(--dcp-drawer-width-desktop,var(--dcp-drawer-width,480px)),calc(100vw - 12px)) !important;
    overflow:hidden;
}
.dcp-root .dcp-cart-pane {
    width:100% !important;
    min-width:0 !important;
}
.dcp-mobile-recommendations { display:none; }
.dcp-root.dcp-recs-inside .dcp-mobile-recommendations:not([hidden]),
.dcp-root.dcp-recs-below .dcp-mobile-recommendations:not([hidden]) {
    display:block;
    margin:8px 0 10px;
    padding-top:10px;
    border-block-start:1px solid var(--dcp-border);
}
.dcp-root.dcp-recs-inside .dcp-mobile-recommendations__heading,
.dcp-root.dcp-recs-below .dcp-mobile-recommendations__heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}
.dcp-mobile-recommendations__heading h3 { margin:0; color:var(--dcp-text); font:750 14px/1.2 inherit; }
.dcp-mobile-recommendations__heading > span { color:var(--dcp-muted); font-size:10px; white-space:nowrap; }

/* The edge control is part of the drawer, with a reserved content gutter. */
.dcp-root.dcp-has-recommendation-rail .dcp-body {
    padding-inline-start:46px;
    transition:padding 180ms ease;
}
.dcp-root.dcp-side-left.dcp-has-recommendation-rail .dcp-body {
    padding-inline:0 46px;
}
.dcp-root .dcp-recommendations-trigger,
.dcp-root.dcp-side-left .dcp-recommendations-trigger {
    z-index:10;
    top:50%;
    right:auto;
    left:0;
    width:44px;
    min-width:44px;
    height:104px;
    padding:8px 5px;
    border-radius:0 14px 14px 0;
    box-shadow:8px 8px 28px rgb(15 23 42 / 14%);
}
.dcp-root.dcp-side-left .dcp-recommendations-trigger {
    right:0;
    left:auto;
    border-radius:14px 0 0 14px;
    box-shadow:-8px 8px 28px rgb(15 23 42 / 14%);
}
.dcp-root.is-recommendations-open .dcp-recommendations-trigger {
    opacity:0;
    pointer-events:none;
}
.dcp-root .dcp-rail,
.dcp-root.dcp-side-left .dcp-rail {
    z-index:9;
    inset-block:0;
    right:auto;
    left:0;
    width:min(360px,calc(100% - 44px));
    min-width:0;
    border:0;
    border-inline-end:1px solid var(--dcp-border);
    box-shadow:18px 0 44px rgb(15 23 42 / 16%);
    transform:translateX(-102%);
}
.dcp-root.dcp-side-left .dcp-rail {
    right:0;
    left:auto;
    border-inline:1px 0;
    box-shadow:-18px 0 44px rgb(15 23 42 / 16%);
    transform:translateX(102%);
}
.dcp-root.is-recommendations-open .dcp-rail,
.dcp-root.dcp-side-left.is-recommendations-open .dcp-rail { transform:translateX(0); }

@media (max-width:860px) and (min-width:621px) {
    .dcp-root .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-side-panel .dcp-drawer {
        width:min(var(--dcp-drawer-width-tablet,var(--dcp-drawer-width,560px)),100vw) !important;
    }
}

@media (max-width:620px) {
    .dcp-root .dcp-drawer,
    .dcp-root.dcp-side-left .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-side-panel .dcp-drawer {
        inset:0 !important;
        width:100vw !important;
        width:100svw !important;
        max-width:none !important;
        height:100vh !important;
        height:100dvh !important;
        min-height:100vh !important;
        min-height:100dvh !important;
        border-radius:0 !important;
    }
    .dcp-root .dcp-cart-pane { width:100% !important; min-width:0 !important; }
    .dcp-root .dcp-body,
    .dcp-root.dcp-side-left .dcp-body,
    .dcp-root.dcp-has-recommendation-rail .dcp-body,
    .dcp-root.dcp-side-left.dcp-has-recommendation-rail .dcp-body { padding-inline:0; }
    .dcp-root .dcp-recommendations-trigger,
    .dcp-root .dcp-rail { display:none !important; }

    /* Empty state occupies exactly the drawer body, never an inset mini panel. */
    .dcp-body.is-empty {
        display:grid;
        min-height:0;
        overflow:hidden;
    }
    .dcp-body.is-empty .dcp-empty {
        width:100%;
        height:100%;
        min-height:0;
        align-content:center;
        padding:clamp(24px,8vw,38px) 22px;
    }

    .dcp-summary {
        max-height:min(64dvh,600px);
        padding-bottom:calc(12px + env(safe-area-inset-bottom));
        scrollbar-gutter:auto;
    }
    .dcp-mobile-recommendations:not([hidden]) {
        display:block;
        margin:8px 0 10px;
        padding:10px 0 4px;
        border-block:1px solid var(--dcp-border);
    }
    .dcp-mobile-recommendations__heading {
        display:flex;
        align-items:end;
        justify-content:space-between;
        gap:10px;
        padding:0 2px 8px;
    }
    .dcp-mobile-recommendations__heading h3 {
        margin:0;
        color:var(--dcp-text);
        font:750 14px/1.2 inherit;
    }
    .dcp-mobile-recommendations__heading > span {
        color:var(--dcp-muted);
        font-size:10px;
        white-space:nowrap;
    }
    .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]) {
        display:grid;
        grid-auto-flow:column;
        grid-auto-columns:minmax(228px,82vw);
        gap:10px;
        margin:0 -2px;
        padding:2px 2px 8px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-padding-inline:2px;
        scroll-snap-type:x mandatory;
        scrollbar-width:thin;
    }
    .dcp-mobile-recommendations .dcp-recommendation {
        grid-template-columns:64px minmax(0,1fr) auto;
        gap:9px;
        min-height:82px;
        padding:8px;
        scroll-snap-align:start;
        box-shadow:0 5px 18px rgb(15 23 42 / 7%);
    }
    .dcp-mobile-recommendations .dcp-recommendation__name {
        display:-webkit-box;
        overflow:hidden;
        white-space:normal;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
    .dcp-mobile-recommendations .dcp-recommendation__action {
        min-width:38px;
        min-height:38px;
        padding:7px 8px;
        font-size:10px;
    }
    .dcp-trust { margin-top:10px; }
}

/* ========================================================================
   v1.7.9 drawer contract: one continuous surface, fixed chrome/footer and a
   single scroll region containing only product cards.
   ======================================================================== */
.dcp-root .dcp-drawer {
    height:100vh;
    height:100dvh;
    min-height:0 !important;
    overflow:hidden !important;
    background:var(--dcp-surface) !important;
}
.dcp-root .dcp-cart-pane {
    display:grid !important;
    grid-template-rows:auto auto minmax(0,1fr) auto !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:var(--dcp-surface) !important;
}
.dcp-root .dcp-header,
.dcp-root .dcp-reward,
.dcp-root .dcp-summary {
    position:relative;
    z-index:3;
    flex:none;
    background:var(--dcp-surface);
}
.dcp-root .dcp-body {
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    background:var(--dcp-surface) !important;
    scrollbar-gutter:stable;
}
.dcp-root .dcp-items {
    display:grid !important;
    grid-auto-rows:max-content;
    align-content:start;
    gap:12px !important;
    min-height:100%;
    padding:12px 16px !important;
    background:var(--dcp-surface) !important;
}
.dcp-root .dcp-item {
    min-width:0;
    margin:0 !important;
}
.dcp-root .dcp-summary,
.dcp-root .dcp-summary[data-footer-overflow="1"] {
    max-height:none !important;
    overflow:visible !important;
    background:var(--dcp-surface) !important;
    scrollbar-gutter:auto !important;
}
.dcp-root .dcp-body.is-empty {
    display:grid !important;
    min-height:0 !important;
    overflow:hidden !important;
}
.dcp-root .dcp-body.is-empty .dcp-items { display:none !important; }
.dcp-root .dcp-body.is-empty .dcp-empty {
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    align-content:center;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:var(--dcp-surface) !important;
}

/* The only visible open launcher state is outside the drawer's left edge. */
html.dcp-cart-open .dcp-launcher--floating[data-dcp-position-fallback="1"] {
    opacity:0 !important;
    pointer-events:none !important;
}

@media (max-width:620px) {
    .dcp-root .dcp-summary,
    .dcp-root .dcp-summary[data-footer-overflow="1"] {
        max-height:none !important;
        overflow:visible !important;
        padding-top:10px;
        padding-bottom:calc(10px + env(safe-area-inset-bottom));
    }
    .dcp-root .dcp-items { gap:10px !important; padding:10px 12px !important; }
    .dcp-root .dcp-body.is-empty .dcp-empty { padding:clamp(22px,7vw,34px) 20px !important; }
    .dcp-mobile-recommendations:not([hidden]) {
        margin:6px 0 8px !important;
        padding:8px 0 2px !important;
    }
    .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]) {
        grid-auto-columns:minmax(210px,78vw) !important;
        gap:8px !important;
        padding-bottom:5px !important;
    }
    .dcp-mobile-recommendations .dcp-recommendation {
        min-height:74px !important;
        grid-template-columns:56px minmax(0,1fr) auto !important;
        padding:7px !important;
    }
    .dcp-mobile-recommendations .dcp-recommendation__image { width:56px !important; height:56px !important; }
    .dcp-trust { margin-top:7px !important; }
}

/* ========================================================================
   v1.7.9 — pixel-stable launcher motion and strict narrow-width containment
   ======================================================================== */
.dcp-launcher--floating {
    backface-visibility:hidden;
    transform:translate3d(0,0,0);
    will-change:left,right,bottom,opacity,transform;
    transition:
        left var(--dcp-duration,260ms) cubic-bezier(.22,.78,.24,1),
        right var(--dcp-duration,260ms) cubic-bezier(.22,.78,.24,1),
        bottom var(--dcp-duration,260ms) cubic-bezier(.22,.78,.24,1),
        opacity 190ms ease,
        transform var(--dcp-duration,260ms) cubic-bezier(.22,.78,.24,1) !important;
}
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="hide"] {
    opacity:0 !important;
    pointer-events:none !important;
    transform:translate3d(8px,4px,0) scale(.92) !important;
}
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"][data-dcp-positioned="1"] {
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translate3d(0,0,0) !important;
}
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"][data-dcp-position-fallback="1"] {
    opacity:0 !important;
    pointer-events:none !important;
    transform:translate3d(8px,0,0) scale(.94) !important;
}

.dcp-root .dcp-cart-pane {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    grid-template-columns:minmax(0,1fr) !important;
}
.dcp-root .dcp-header,
.dcp-root .dcp-reward,
.dcp-root .dcp-status,
.dcp-root .dcp-body,
.dcp-root .dcp-summary,
.dcp-root .dcp-items,
.dcp-root .dcp-empty {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}
.dcp-root .dcp-body > *,
.dcp-root .dcp-summary > * {
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
}

/* Narrow drawers must contain every interactive row. Theme styles and long
   translated labels are not allowed to increase the drawer's intrinsic width. */
.dcp-root .dcp-header {
    overflow:hidden;
}
.dcp-root .dcp-header__identity {
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
}
.dcp-root .dcp-header__identity > * {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dcp-root .dcp-header__actions {
    flex:0 0 auto;
    min-width:0;
}
.dcp-root .dcp-coupon,
.dcp-root .dcp-coupon form,
.dcp-root .dcp-totals,
.dcp-root .dcp-secondary-actions,
.dcp-root .dcp-extra-links,
.dcp-root .dcp-trust,
.dcp-root .dcp-mobile-recommendations {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
}
.dcp-root .dcp-coupon form,
.dcp-root.dcp-coupon-layout-joined .dcp-coupon form,
.dcp-root.dcp-coupon-width-full.dcp-coupon-layout-joined .dcp-coupon form {
    grid-template-columns:minmax(0,1fr) minmax(88px,max-content);
}
.dcp-root .dcp-coupon input,
.dcp-root .dcp-coupon__apply {
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
}
.dcp-root .dcp-secondary-actions > *,
.dcp-root .dcp-extra-links > * {
    min-width:0;
    max-width:100%;
}

@media (max-width:620px) {
    .dcp-root .dcp-header,
    .dcp-root.dcp-clear-position-header-left .dcp-header {
        display:flex !important;
        width:100% !important;
        min-height:66px;
        align-items:center;
        gap:8px !important;
        padding:10px 12px !important;
    }
    .dcp-root .dcp-header > .dcp-clear {
        flex:0 1 auto;
        max-width:calc(100% - 52px);
    }
    .dcp-root .dcp-header > .dcp-clear .dcp-clear__label {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .dcp-root .dcp-header__identity:empty { display:none !important; }
    .dcp-root .dcp-header__actions {
        display:flex !important;
        margin-left:auto;
        gap:6px !important;
    }
    .dcp-root .dcp-summary,
    .dcp-root .dcp-summary[data-footer-overflow="1"] {
        padding-inline:12px !important;
    }
    .dcp-root .dcp-coupon form,
    .dcp-root.dcp-coupon-layout-joined .dcp-coupon form,
    .dcp-root.dcp-coupon-width-full.dcp-coupon-layout-joined .dcp-coupon form {
        width:100% !important;
        grid-template-columns:minmax(0,1fr) minmax(88px,38%) !important;
    }
    .dcp-root .dcp-coupon__apply {
        width:100% !important;
        padding-inline:10px !important;
        overflow:hidden;
    }
    .dcp-root .dcp-coupon__apply > span {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .dcp-root .dcp-secondary-actions {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:stretch;
        gap:8px !important;
    }
    .dcp-root .dcp-secondary-actions .dcp-action {
        box-sizing:border-box;
        width:100% !important;
        min-width:0;
        justify-content:center;
        padding-inline:7px !important;
        text-align:center;
    }
    .dcp-root .dcp-secondary-actions .dcp-action > span:last-child {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .dcp-root .dcp-extra-links {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
    }
    .dcp-root .dcp-extra-links a {
        justify-content:center;
        overflow:hidden;
    }
    .dcp-root .dcp-extra-links a span {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
}


/* ========================================================================
   v1.8.0 exterior recommendations companion drawer.
   Desktop/tablet: recommendations and their trigger live OUTSIDE the cart.
   Mobile: no lateral companion drawer; recommendations stay in the carousel.
   ======================================================================== */
@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-active-width:min(
            var(--dcp-recommendations-width-desktop,360px),
            calc(100vw - var(--dcp-drawer-width-desktop,var(--dcp-drawer-width,480px)) - 18px)
        );
        --dcp-recs-trigger-width:48px;
        --dcp-recs-trigger-height:104px;
        --dcp-recs-trigger-gap:8px;
    }
    .dcp-root.dcp-recs-side-panel .dcp-drawer,
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-side-panel .dcp-drawer {
        overflow:visible !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-cart-pane {
        position:relative;
        z-index:2;
        overflow:hidden !important;
        border-radius:inherit;
        background:var(--dcp-surface);
    }
    .dcp-root.dcp-recs-side-panel.dcp-has-recommendation-rail .dcp-body,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.dcp-has-recommendation-rail .dcp-body {
        padding-inline:0 !important;
    }

    .dcp-root.dcp-recs-side-panel .dcp-rail,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-rail {
        z-index:6;
        top:0;
        bottom:0;
        right:auto;
        left:calc(0px - var(--dcp-recs-active-width));
        width:var(--dcp-recs-active-width) !important;
        min-width:0 !important;
        max-width:none;
        height:100%;
        border:1px solid var(--dcp-border);
        border-inline-end:0;
        border-radius:18px 0 0 18px;
        background:var(--dcp-surface);
        box-shadow:-22px 0 48px rgb(15 23 42 / 13%);
        transform:translate3d(100%,0,0) !important;
        visibility:hidden;
        pointer-events:none;
        transition:
            transform var(--dcp-duration,260ms) var(--dcp-easing,ease),
            visibility 0s linear var(--dcp-duration,260ms),
            box-shadow var(--dcp-duration,260ms) ease;
        will-change:transform;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-rail {
        right:calc(0px - var(--dcp-recs-active-width));
        left:auto;
        border-inline:0 1px;
        border-radius:0 18px 18px 0;
        box-shadow:22px 0 48px rgb(15 23 42 / 13%);
        transform:translate3d(-100%,0,0) !important;
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-rail,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-rail {
        transform:translate3d(0,0,0) !important;
        visibility:visible;
        pointer-events:auto;
        transition-delay:0s;
    }

    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-trigger {
        z-index:8;
        top:50%;
        right:auto;
        left:calc(0px - var(--dcp-recs-trigger-width) - var(--dcp-recs-trigger-gap));
        display:inline-flex;
        width:var(--dcp-recs-trigger-width);
        min-width:var(--dcp-recs-trigger-width);
        height:var(--dcp-recs-trigger-height);
        min-height:44px;
        align-items:center;
        justify-content:center;
        gap:7px;
        padding:9px 6px;
        border:1px solid var(--dcp-border);
        border-radius:14px 0 0 14px;
        color:var(--dcp-text);
        background:var(--dcp-surface);
        box-shadow:-10px 10px 28px rgb(15 23 42 / 14%);
        opacity:1 !important;
        pointer-events:auto !important;
        transform:translate3d(0,-50%,0);
        transition:
            left var(--dcp-duration,260ms) var(--dcp-easing,ease),
            right var(--dcp-duration,260ms) var(--dcp-easing,ease),
            background-color 180ms ease,
            border-color 180ms ease,
            box-shadow 180ms ease,
            transform var(--dcp-duration,260ms) var(--dcp-easing,ease);
        will-change:left,right,transform;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-trigger {
        right:calc(0px - var(--dcp-recs-trigger-width) - var(--dcp-recs-trigger-gap));
        left:auto;
        border-radius:0 14px 14px 0;
        box-shadow:10px 10px 28px rgb(15 23 42 / 14%);
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-trigger {
        left:calc(0px - var(--dcp-recs-active-width) - var(--dcp-recs-trigger-width) - var(--dcp-recs-trigger-gap));
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-trigger {
        right:calc(0px - var(--dcp-recs-active-width) - var(--dcp-recs-trigger-width) - var(--dcp-recs-trigger-gap));
        left:auto;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger__icon,
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger__label {
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger__icon { writing-mode:horizontal-tb; }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger__icon svg {
        width:19px;
        height:19px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.8;
        stroke-linecap:round;
        stroke-linejoin:round;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger__label {
        writing-mode:vertical-rl;
        font-size:10px;
        font-weight:760;
        line-height:1;
        letter-spacing:.035em;
    }
    .dcp-root.dcp-recs-trigger-content-icon .dcp-recommendations-trigger {
        --dcp-recs-trigger-height:48px;
        border-radius:14px 0 0 14px;
    }
    .dcp-root.dcp-side-left.dcp-recs-trigger-content-icon .dcp-recommendations-trigger { border-radius:0 14px 14px 0; }
    .dcp-root.dcp-recs-trigger-content-icon .dcp-recommendations-trigger__label,
    .dcp-root.dcp-recs-trigger-content-text .dcp-recommendations-trigger__icon { display:none !important; }
    .dcp-root.dcp-recs-trigger-content-text .dcp-recommendations-trigger { --dcp-recs-trigger-height:96px; }

    .dcp-root.dcp-recs-trigger-pill .dcp-recommendations-trigger {
        border-radius:999px !important;
        background:var(--dcp-surface);
        box-shadow:0 10px 28px rgb(15 23 42 / 17%);
    }
    .dcp-root.dcp-recs-trigger-soft .dcp-recommendations-trigger {
        border-color:color-mix(in srgb,var(--dcp-accent) 22%,var(--dcp-border));
        background:color-mix(in srgb,var(--dcp-accent) 10%,var(--dcp-surface));
        color:color-mix(in srgb,var(--dcp-accent) 72%,var(--dcp-text));
    }
    .dcp-root.dcp-recs-trigger-outline .dcp-recommendations-trigger {
        border:1.5px solid currentColor;
        background:color-mix(in srgb,var(--dcp-surface) 90%,transparent);
        box-shadow:none;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger[hidden],
    .dcp-root.dcp-recs-side-panel .dcp-rail[hidden] { display:none !important; }

    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger:hover {
        border-color:color-mix(in srgb,var(--dcp-accent) 42%,var(--dcp-border));
        box-shadow:-12px 12px 32px rgb(15 23 42 / 18%);
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-trigger:hover {
        box-shadow:12px 12px 32px rgb(15 23 42 / 18%);
    }
}

/* v1.8.5 cohesion pass: configurable recommendation trigger, clean shared
   chrome, two-action cards, and a mobile launcher that cannot disappear. */
.dcp-root .dcp-recommendations-trigger {
    box-sizing:border-box !important;
    width:var(--dcp-recs-trigger-width,44px) !important;
    min-width:var(--dcp-recs-trigger-width,44px) !important;
    height:var(--dcp-recs-trigger-height,52px) !important;
    min-height:var(--dcp-recs-trigger-height,52px) !important;
    padding:8px !important;
}
.dcp-root .dcp-recommendations-trigger__icon,
.dcp-root .dcp-recommendations-trigger__icon svg {
    width:var(--dcp-recs-trigger-icon-size,18px) !important;
    height:var(--dcp-recs-trigger-icon-size,18px) !important;
}
.dcp-root .dcp-rail__header--icon-only {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
}
.dcp-root .dcp-rail__header--icon-only .dcp-icon-button { margin-left:auto !important; }

.dcp-root .dcp-recommendation__actions {
    grid-area:action;
    display:flex;
    min-width:0;
    align-items:stretch;
    gap:7px;
}
.dcp-root .dcp-recommendation__actions > * { min-width:0; flex:1 1 0; }
.dcp-root .dcp-recommendation__secondary {
    box-sizing:border-box;
    display:inline-flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 11px;
    border:1px solid var(--dcp-border);
    border-radius:11px;
    color:var(--dcp-text) !important;
    background:#fff;
    font-size:12px;
    font-weight:720;
    line-height:1;
    text-align:center;
    text-decoration:none !important;
    transition:transform 160ms ease,background-color 160ms ease,border-color 160ms ease;
}
.dcp-root .dcp-recommendation__secondary:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--dcp-text) 24%,var(--dcp-border)); }
.dcp-root .dcp-recommendation__secondary--soft { border-color:transparent; background:color-mix(in srgb,var(--dcp-text) 6%,#fff); }
.dcp-root .dcp-recommendation__secondary--text { min-height:32px; border-color:transparent; background:transparent; text-decoration:underline !important; text-underline-offset:3px; }
.dcp-root .dcp-recommendation__secondary[data-content="icon"] { flex:0 0 38px; width:38px; padding:0; }
.dcp-root .dcp-recommendation__secondary .dcp-recommendation__action-icon { color:currentColor; background:transparent; }

.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation,
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation {
    grid-template-columns:64px minmax(0,1fr) minmax(84px,auto) !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__actions,
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__actions { justify-content:flex-end; }

@media (min-width:768px) {
    .dcp-launcher--floating[data-dcp-launcher-visibility="nonempty"][data-dcp-cart-count="0"] { display:none !important; }
}

/* MPA_CART_UI_COHESION_1_8_9_FINAL — final precedence contract. */
@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-companion-duration:max(360ms,var(--dcp-duration,480ms)) !important;
        --dcp-recs-companion-easing:cubic-bezier(.22,.78,.24,1) !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        opacity:1 !important;
        visibility:visible !important;
        transition:clip-path var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),box-shadow 220ms ease !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        transition:transform var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 180ms ease !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations {
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
}
.dcp-root .dcp-recommendations-trigger[data-icon="plus"] .dcp-recommendations-trigger__icon { transition:transform 180ms ease; }
.dcp-root .dcp-recommendations-trigger[data-icon="plus"][aria-expanded="true"] .dcp-recommendations-trigger__icon { transform:rotate(45deg); }
.dcp-root .dcp-rail > .dcp-recommendations {
    box-sizing:border-box !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    height:100% !important;
    align-content:start !important;
    gap:12px !important;
    padding:14px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:color-mix(in srgb,var(--dcp-text) 2%,var(--dcp-surface)) !important;
}
.dcp-root .dcp-rail > .dcp-recommendations .dcp-recommendation {
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    gap:10px !important;
    padding:10px !important;
    overflow:hidden !important;
    border-radius:max(12px,calc(var(--dcp-radius) * .72)) !important;
    box-shadow:0 8px 24px rgb(15 23 42 / 6%) !important;
}
.dcp-root .dcp-rail .dcp-recommendation__content { min-width:0 !important; align-self:center; gap:5px !important; }
.dcp-root .dcp-rail .dcp-recommendation__name {
    display:-webkit-box !important;
    overflow:hidden !important;
    white-space:normal !important;
    font-size:12px !important;
    font-weight:720 !important;
    line-height:1.28 !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.dcp-root .dcp-rail .dcp-recommendation__image { border-radius:10px !important; }
.dcp-root .dcp-items { box-sizing:border-box !important; padding-inline:clamp(12px,3vw,18px) !important; }
.dcp-root .dcp-item { box-sizing:border-box !important; min-width:0 !important; overflow:hidden !important; }
.dcp-root .dcp-item > *,
.dcp-root .dcp-item__content,
.dcp-root .dcp-item__top,
.dcp-root .dcp-item__bottom { min-width:0 !important; }
.dcp-root .dcp-item__image { overflow:hidden !important; }
@media (max-width:620px) {
    .dcp-root .dcp-items { padding-inline:12px !important; }
    .dcp-root .dcp-item,
    .dcp-root .dcp-items-editorial .dcp-item,
    .dcp-root .dcp-items-editorial-compact .dcp-item,
    .dcp-root .dcp-items-media .dcp-item,
    .dcp-root .dcp-items-split .dcp-item,
    .dcp-root .dcp-items-image-top .dcp-item,
    .dcp-root .dcp-items-compact-row .dcp-item,
    .dcp-root .dcp-items-borderless .dcp-item { padding:10px !important; }
    .dcp-root .dcp-item__remove { margin:0 !important; box-shadow:0 6px 18px rgb(15 23 42 / 12%) !important; }
}

/* ========================================================================
   MPA_CART_UI_COHESION_1_8_9
   Final authority shared with the Cart Lab demo. A regression test protects
   this contract from later precedence drift.
   ======================================================================== */

@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-companion-duration:max(360ms,var(--dcp-duration,480ms)) !important;
        --dcp-recs-companion-easing:cubic-bezier(.22,.78,.24,1) !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        opacity:1 !important;
        visibility:visible !important;
        transition:clip-path var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),box-shadow 220ms ease !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        transition:transform var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 180ms ease !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations {
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
}
.dcp-root .dcp-recommendations-trigger[data-icon="plus"] .dcp-recommendations-trigger__icon { transition:transform 180ms ease; }
.dcp-root .dcp-recommendations-trigger[data-icon="plus"][aria-expanded="true"] .dcp-recommendations-trigger__icon { transform:rotate(45deg); }

/* The exterior recommendation rail is intentionally headerless. */
.dcp-root .dcp-rail > .dcp-recommendations {
    box-sizing:border-box !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    height:100% !important;
    align-content:start !important;
    gap:12px !important;
    padding:14px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:color-mix(in srgb,var(--dcp-text) 2%,var(--dcp-surface)) !important;
}
.dcp-root .dcp-rail > .dcp-recommendations .dcp-recommendation {
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    gap:10px !important;
    padding:10px !important;
    overflow:hidden !important;
    border-radius:max(12px,calc(var(--dcp-radius) * .72)) !important;
    box-shadow:0 8px 24px rgb(15 23 42 / 6%) !important;
}
.dcp-root .dcp-rail .dcp-recommendation__content {
    min-width:0 !important;
    align-self:center;
    gap:5px !important;
}
.dcp-root .dcp-rail .dcp-recommendation__name {
    display:-webkit-box !important;
    overflow:hidden !important;
    white-space:normal !important;
    font-size:12px !important;
    font-weight:720 !important;
    line-height:1.28 !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.dcp-root .dcp-rail .dcp-recommendation__image { border-radius:10px !important; }

/* Original cart cards retain every configured composition, but all of them
   now share safe outer gutters and contain their own controls. */
.dcp-root .dcp-items {
    box-sizing:border-box !important;
    padding-inline:clamp(12px,3vw,18px) !important;
}
.dcp-root .dcp-item {
    box-sizing:border-box !important;
    min-width:0 !important;
    overflow:hidden !important;
}
.dcp-root .dcp-item > *,
.dcp-root .dcp-item__content,
.dcp-root .dcp-item__top,
.dcp-root .dcp-item__bottom { min-width:0 !important; }
.dcp-root .dcp-item__image { overflow:hidden !important; }

@media (max-width:620px) {
    .dcp-root .dcp-items { padding-inline:12px !important; }
    .dcp-root .dcp-item,
    .dcp-root .dcp-items-editorial .dcp-item,
    .dcp-root .dcp-items-editorial-compact .dcp-item,
    .dcp-root .dcp-items-media .dcp-item,
    .dcp-root .dcp-items-split .dcp-item,
    .dcp-root .dcp-items-image-top .dcp-item,
    .dcp-root .dcp-items-compact-row .dcp-item,
    .dcp-root .dcp-items-borderless .dcp-item {
        padding:10px !important;
    }
    .dcp-root .dcp-item__remove {
        margin:0 !important;
        box-shadow:0 6px 18px rgb(15 23 42 / 12%) !important;
    }
}

/* v1.8.6 cascade authority: keep this block last. */
@media (max-width:767px) {
    .dcp-root .dcp-drawer {
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        width:min(var(--dcp-drawer-width-mobile,100vw),100vw) !important;
        max-width:100svw !important;
        height:100dvh !important;
    }
    .dcp-root.dcp-side-left .dcp-drawer { right:auto !important; left:0 !important; }
    .dcp-root .dcp-cart-pane { grid-template-rows:auto auto minmax(0,1fr) auto !important; min-height:0 !important; }
    .dcp-root .dcp-body { min-height:0 !important; overflow-y:auto !important; }
    .dcp-root .dcp-summary,
    .dcp-root .dcp-summary[data-footer-overflow="0"],
    .dcp-root .dcp-summary[data-footer-overflow="1"] {
        z-index:5;
        max-height:none !important;
        overflow:visible !important;
        background:var(--dcp-surface) !important;
    }
    .dcp-root .dcp-mobile-recommendations:not([hidden]) {
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        margin:4px 0 7px !important;
        padding:7px !important;
        overflow:hidden !important;
        border:1px solid color-mix(in srgb,var(--dcp-text) 8%,var(--dcp-border)) !important;
        border-radius:13px !important;
        background:#fff !important;
        box-shadow:0 5px 16px rgb(15 23 42 / 5%) !important;
    }
    .dcp-root .dcp-mobile-recommendations__heading { min-height:0 !important; margin:0 2px 6px !important; padding:0 !important; }
    .dcp-root .dcp-mobile-recommendations__heading .dcp-eyebrow { margin:0 0 1px !important; font-size:8px !important; }
    .dcp-root .dcp-mobile-recommendations__heading h3 { margin:0 !important; font-size:13px !important; line-height:1.15 !important; }
    .dcp-root .dcp-mobile-recommendations__heading > span { display:none !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]) {
        display:grid !important;
        min-width:0 !important;
        margin:0 !important;
        padding:1px !important;
        gap:7px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x mandatory !important;
        scrollbar-width:none !important;
        -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 22px),transparent 100%);
        mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 22px),transparent 100%);
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation {
        box-sizing:border-box !important;
        min-width:0 !important;
        min-height:0 !important;
        margin:0 !important;
        scroll-snap-align:start;
        border:1px solid var(--dcp-border) !important;
        border-radius:11px !important;
        background:#fff !important;
        box-shadow:0 4px 12px rgb(15 23 42 / 5%) !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__content {
        grid-area:content !important;
        display:flex !important;
        min-width:0 !important;
        flex-direction:column !important;
        justify-content:center !important;
        gap:2px !important;
        padding:0 !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__name {
        display:-webkit-box !important;
        overflow:hidden !important;
        font-size:11.5px !important;
        line-height:1.18 !important;
        white-space:normal !important;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__price { margin:0 !important; font-size:9.5px !important; line-height:1.1 !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions {
        grid-area:action !important;
        display:flex !important;
        width:100% !important;
        min-width:0 !important;
        flex-direction:row !important;
        align-items:center !important;
        gap:5px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions > * {
        width:auto !important;
        min-width:0 !important;
        height:32px !important;
        min-height:32px !important;
        flex:1 1 0 !important;
        padding:0 7px !important;
        border-radius:9px !important;
        font-size:9.5px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] {
        grid-auto-flow:column !important;
        grid-auto-columns:minmax(248px,84%) !important;
        grid-template-columns:none !important;
        max-height:108px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation {
        display:grid !important;
        grid-template-columns:82px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) 32px !important;
        grid-template-areas:"image content" "image action" !important;
        gap:5px 8px !important;
        height:100px !important;
        padding:7px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__image {
        grid-area:image !important;
        width:82px !important;
        height:84px !important;
        aspect-ratio:auto !important;
        border-radius:9px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] {
        grid-auto-flow:column !important;
        grid-auto-columns:minmax(250px,88%) !important;
        grid-template-columns:none !important;
        max-height:67px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation {
        display:grid !important;
        grid-template-columns:48px minmax(0,1fr) 69px !important;
        grid-template-areas:"image content action" !important;
        align-items:center !important;
        gap:6px !important;
        height:61px !important;
        padding:6px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__image {
        grid-area:image !important;
        width:48px !important;
        height:48px !important;
        aspect-ratio:1 !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__actions > * {
        width:32px !important;
        min-width:32px !important;
        flex:0 0 32px !important;
        padding:0 !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__action-label,
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__secondary > span:not(.dcp-recommendation__action-icon) {
        position:absolute !important;
        width:1px !important;
        height:1px !important;
        overflow:hidden !important;
        clip-path:inset(50%) !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] {
        grid-auto-flow:row !important;
        grid-template-columns:1fr !important;
        grid-auto-rows:max-content !important;
        max-height:min(154px,20dvh) !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        scroll-snap-type:y proximity !important;
        -webkit-mask-image:none !important;
        mask-image:none !important;
        scrollbar-width:thin !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation {
        display:grid !important;
        grid-template-columns:54px minmax(0,1fr) !important;
        grid-template-rows:minmax(24px,1fr) 30px !important;
        grid-template-areas:"image content" "image action" !important;
        gap:4px 7px !important;
        min-height:70px !important;
        padding:6px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation__image {
        grid-area:image !important;
        width:54px !important;
        height:58px !important;
        aspect-ratio:auto !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation__actions > * {
        height:30px !important;
        min-height:30px !important;
        font-size:9px !important;
    }
}

/* ========================================================================
   v1.8.6 FINAL RESPONSIVE PARITY CONTRACT
   The saved viewport width is authoritative on phones. Recommendation cards
   use a bounded, self-scrolling region so checkout/trust remain anchored in
   the final grid row while product cards keep the remaining viewport.
   ======================================================================== */
@media (max-width:767px) {
    .dcp-root .dcp-drawer {
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        width:min(var(--dcp-drawer-width-mobile,100vw),100vw) !important;
        max-width:100svw !important;
        height:100dvh !important;
        min-height:0 !important;
    }
    .dcp-root.dcp-side-left .dcp-drawer {
        right:auto !important;
        left:0 !important;
    }
    .dcp-root .dcp-cart-pane {
        grid-template-rows:auto auto minmax(0,1fr) auto !important;
        min-height:0 !important;
    }
    .dcp-root .dcp-body {
        min-height:0 !important;
        overflow-y:auto !important;
    }
    .dcp-root .dcp-summary,
    .dcp-root .dcp-summary[data-footer-overflow="0"],
    .dcp-root .dcp-summary[data-footer-overflow="1"] {
        z-index:5;
        max-height:none !important;
        flex:none !important;
        overflow:visible !important;
        background:var(--dcp-surface) !important;
        box-shadow:0 -8px 24px rgb(15 23 42 / 4%);
    }

    .dcp-root .dcp-mobile-recommendations:not([hidden]) {
        box-sizing:border-box;
        display:block !important;
        width:100% !important;
        min-width:0;
        margin:4px 0 7px !important;
        padding:7px !important;
        overflow:hidden !important;
        border:1px solid color-mix(in srgb,var(--dcp-text) 8%,var(--dcp-border)) !important;
        border-radius:13px !important;
        background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--dcp-text) 1.5%,#fff)) !important;
        box-shadow:0 5px 16px rgb(15 23 42 / 5%) !important;
    }
    .dcp-root .dcp-mobile-recommendations__heading {
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        min-height:0 !important;
        margin:0 2px 6px !important;
        padding:0 !important;
    }
    .dcp-root .dcp-mobile-recommendations__heading .dcp-eyebrow {
        margin:0 0 1px !important;
        font-size:8px !important;
        letter-spacing:.12em !important;
    }
    .dcp-root .dcp-mobile-recommendations__heading h3 {
        margin:0 !important;
        font-size:13px !important;
        line-height:1.15 !important;
    }
    .dcp-root .dcp-mobile-recommendations__heading > span { display:none !important; }

    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]) {
        display:grid !important;
        min-width:0;
        margin:0 !important;
        padding:1px !important;
        gap:7px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        overscroll-behavior-x:contain;
        scroll-snap-type:x mandatory;
        scrollbar-width:none !important;
        -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 22px),transparent 100%);
        mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 22px),transparent 100%);
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation {
        box-sizing:border-box !important;
        min-width:0 !important;
        min-height:0 !important;
        margin:0 !important;
        scroll-snap-align:start;
        border:1px solid var(--dcp-border) !important;
        border-radius:11px !important;
        background:#fff !important;
        box-shadow:0 4px 12px rgb(15 23 42 / 5%) !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__content {
        grid-area:content !important;
        display:flex !important;
        min-width:0 !important;
        flex-direction:column !important;
        justify-content:center;
        gap:2px !important;
        padding:0 !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__name {
        display:-webkit-box !important;
        overflow:hidden !important;
        font-size:11.5px !important;
        font-weight:720 !important;
        line-height:1.18 !important;
        white-space:normal !important;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__price {
        margin:0 !important;
        font-size:9.5px !important;
        line-height:1.1 !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions {
        grid-area:action !important;
        display:flex !important;
        width:100% !important;
        min-width:0 !important;
        flex-direction:row !important;
        align-items:center !important;
        gap:5px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions > * {
        box-sizing:border-box !important;
        width:auto !important;
        min-width:0 !important;
        height:32px !important;
        min-height:32px !important;
        flex:1 1 0 !important;
        padding:0 7px !important;
        border-radius:9px !important;
        font-size:9.5px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__action-icon,
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__action-icon svg {
        width:17px !important;
        height:17px !important;
        min-width:17px !important;
    }

    /* Premium: horizontal media card, 2 actions, visible next-card peek. */
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] {
        grid-auto-flow:column !important;
        grid-auto-columns:minmax(248px,84%) !important;
        grid-template-columns:none !important;
        max-height:108px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation {
        display:grid !important;
        grid-template-columns:82px minmax(0,1fr) !important;
        grid-template-rows:minmax(0,1fr) 32px !important;
        grid-template-areas:"image content" "image action" !important;
        gap:5px 8px !important;
        height:100px !important;
        padding:7px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__image {
        grid-area:image !important;
        width:82px !important;
        height:84px !important;
        aspect-ratio:auto !important;
        border-radius:9px !important;
    }

    /* Compact snap: one dense row with two unmistakable icon actions. */
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] {
        grid-auto-flow:column !important;
        grid-auto-columns:minmax(250px,88%) !important;
        grid-template-columns:none !important;
        max-height:67px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation {
        display:grid !important;
        grid-template-columns:48px minmax(0,1fr) 69px !important;
        grid-template-areas:"image content action" !important;
        align-items:center !important;
        gap:6px !important;
        height:61px !important;
        padding:6px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__image {
        grid-area:image !important;
        width:48px !important;
        height:48px !important;
        aspect-ratio:1 !important;
        border-radius:8px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__actions > * {
        width:32px !important;
        min-width:32px !important;
        flex:0 0 32px !important;
        padding:0 !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__action-label,
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__secondary > span:not(.dcp-recommendation__action-icon) {
        position:absolute !important;
        width:1px !important;
        height:1px !important;
        overflow:hidden !important;
        clip-path:inset(50%) !important;
    }

    /* Stack: it scrolls inside a bounded shelf; the footer never grows with it. */
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] {
        grid-auto-flow:row !important;
        grid-template-columns:1fr !important;
        grid-auto-rows:max-content !important;
        max-height:min(154px,20dvh) !important;
        padding-right:3px !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        overscroll-behavior-y:contain;
        scroll-snap-type:y proximity !important;
        -webkit-mask-image:none !important;
        mask-image:none !important;
        scrollbar-width:thin !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation {
        display:grid !important;
        grid-template-columns:54px minmax(0,1fr) !important;
        grid-template-rows:minmax(24px,1fr) 30px !important;
        grid-template-areas:"image content" "image action" !important;
        gap:4px 7px !important;
        min-height:70px !important;
        padding:6px !important;
        scroll-snap-align:start;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation__image {
        grid-area:image !important;
        width:54px !important;
        height:58px !important;
        aspect-ratio:auto !important;
        border-radius:8px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation__actions > * {
        height:30px !important;
        min-height:30px !important;
        font-size:9px !important;
    }
}
@media (max-width:767px) {
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions { width:100%; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions > * { height:40px !important; min-height:40px !important; flex-basis:40px; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary { min-height:40px; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation {
        grid-template-columns:72px minmax(0,1fr) minmax(84px,auto) !important;
    }
}

@media (prefers-reduced-motion:reduce) {
    .dcp-root .dcp-recommendation__secondary { transition:none !important; }
}

@media (min-width:621px) and (max-width:860px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-active-width:min(
            var(--dcp-recommendations-width-tablet,300px),
            calc(38vw - 12px)
        );
    }
    .dcp-root.dcp-has-recommendation-rail.dcp-recs-side-panel .dcp-drawer {
        width:min(var(--dcp-drawer-width-tablet,var(--dcp-drawer-width,560px)),62vw) !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger__label { font-size:9px; }
}

@media (max-width:620px) {
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger,
    .dcp-root.dcp-recs-side-panel .dcp-rail { display:none !important; }
}

/* ========================================================================
   v1.8.1 strict drawer viewport contract.
   Header/footer are immutable chrome. Only the product region scrolls, and
   that scrollbar is visually hidden without reserving any horizontal gutter.
   ======================================================================== */
.dcp-root .dcp-drawer {
    height:100vh !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:0 !important;
    overflow:hidden !important;
}
.dcp-root.dcp-recs-side-panel .dcp-drawer,
.dcp-root.dcp-has-recommendation-rail.dcp-recs-side-panel .dcp-drawer {
    overflow:visible !important;
}
.dcp-root .dcp-cart-pane {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:var(--dcp-surface) !important;
}
.dcp-root .dcp-header,
.dcp-root .dcp-reward,
.dcp-root .dcp-summary {
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
}
.dcp-root .dcp-body {
    flex:1 1 0 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y;
    scrollbar-width:none !important;
    scrollbar-gutter:auto !important;
    -ms-overflow-style:none;
    background:var(--dcp-surface) !important;
}
.dcp-root .dcp-body::-webkit-scrollbar,
.dcp-root .dcp-rail > .dcp-recommendations::-webkit-scrollbar {
    width:0 !important;
    height:0 !important;
    display:none !important;
}
.dcp-root .dcp-items {
    min-height:0 !important;
    height:auto !important;
    align-content:start !important;
    padding-bottom:18px !important;
    background:var(--dcp-surface) !important;
}
.dcp-root .dcp-item {
    height:auto !important;
    min-height:0 !important;
    flex:none !important;
    scroll-margin-block:12px;
}
.dcp-root .dcp-summary,
.dcp-root .dcp-summary[data-footer-overflow="0"],
.dcp-root .dcp-summary[data-footer-overflow="1"] {
    position:relative !important;
    inset:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    overscroll-behavior:none !important;
    scrollbar-gutter:auto !important;
    background:var(--dcp-surface) !important;
}

/* The companion drawer uses the exact same top chrome geometry as the cart. */
.dcp-root .dcp-rail {
    display:flex;
    min-height:0;
    flex-direction:column;
    overflow:hidden !important;
}
.dcp-root .dcp-rail__header {
    box-sizing:border-box;
    display:flex !important;
    min-height:72px !important;
    align-items:center !important;
    padding:13px 20px !important;
    border-bottom:1px solid var(--dcp-border) !important;
    background:var(--dcp-surface) !important;
}
.dcp-root .dcp-rail > .dcp-recommendations {
    flex:1 1 0;
    min-height:0;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior-y:contain;
    scrollbar-width:none !important;
    scrollbar-gutter:auto !important;
    -ms-overflow-style:none;
}

/* The recommendation trigger is a literal extension of the drawer/rail edge. */
@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-trigger-gap:0px !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-trigger {
        left:calc(1px - var(--dcp-recs-trigger-width)) !important;
        margin:0 !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger {
        border-right:0 !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-trigger {
        right:calc(1px - var(--dcp-recs-trigger-width)) !important;
        left:auto !important;
        border-right:1px solid var(--dcp-border) !important;
        border-left:0 !important;
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-trigger {
        left:calc(1px - var(--dcp-recs-active-width) - var(--dcp-recs-trigger-width)) !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-trigger {
        right:calc(1px - var(--dcp-recs-active-width) - var(--dcp-recs-trigger-width)) !important;
        left:auto !important;
    }
    .dcp-root.dcp-recs-trigger-disabled .dcp-recommendations-trigger {
        display:none !important;
    }
}

/* v1.8.1 scroll-chain hard stop: the page behind the drawer never receives
   momentum/wheel overflow from the cards viewport. */
.dcp-root .dcp-drawer,
.dcp-root .dcp-cart-pane {
    overscroll-behavior:none !important;
}
.dcp-root .dcp-body,
.dcp-root .dcp-rail > .dcp-recommendations {
    -webkit-overflow-scrolling:touch;
}

/* Mobile recommendation carousel keeps native touch/wheel scrolling but never
   paints a scrollbar or changes the available card width. */
.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile {
    scrollbar-width:none !important;
    scrollbar-gutter:auto !important;
    -ms-overflow-style:none;
}
.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile::-webkit-scrollbar {
    width:0 !important;
    height:0 !important;
    display:none !important;
}

/* ========================================================================
   v1.8.2 recommendation companion — one physical extension of the cart drawer.
   The trigger and panel share a single transform so neither can outrun the
   other during opening/closing. The panel stays mounted while closed, which
   avoids the display:none snap seen in earlier builds.
   ======================================================================== */
@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-trigger-gap:0px !important;
        --dcp-recs-companion-duration:calc(var(--dcp-duration,480ms) + 90ms);
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion {
        position:absolute;
        top:0;
        bottom:0;
        left:calc(0px - var(--dcp-recs-active-width) - var(--dcp-recs-trigger-width));
        z-index:12;
        width:calc(var(--dcp-recs-active-width) + var(--dcp-recs-trigger-width));
        height:100%;
        overflow:visible;
        pointer-events:none;
        transform:translate3d(var(--dcp-recs-active-width),0,0);
        transition:transform var(--dcp-recs-companion-duration) var(--dcp-easing,cubic-bezier(.16,.82,.2,1));
        will-change:transform;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion {
        right:calc(0px - var(--dcp-recs-active-width) - var(--dcp-recs-trigger-width));
        left:auto;
        transform:translate3d(calc(0px - var(--dcp-recs-active-width)),0,0);
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion {
        transform:translate3d(0,0,0);
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion[hidden] { display:none !important; }

    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        position:absolute !important;
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        display:flex !important;
        width:var(--dcp-recs-active-width) !important;
        min-width:0 !important;
        height:100% !important;
        margin:0 !important;
        border:1px solid var(--dcp-border) !important;
        border-right:0 !important;
        border-radius:18px 0 0 18px !important;
        background:var(--dcp-surface) !important;
        box-shadow:-24px 0 56px rgb(15 23 42 / 15%) !important;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:none !important;
        transition:opacity 220ms ease 20ms, visibility 0s linear 260ms !important;
        will-change:opacity;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        right:auto !important;
        left:0 !important;
        border-right:1px solid var(--dcp-border) !important;
        border-left:0 !important;
        border-radius:0 18px 18px 0 !important;
        box-shadow:24px 0 56px rgb(15 23 42 / 15%) !important;
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail {
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transition:opacity 240ms ease 70ms, visibility 0s linear 0s !important;
    }

    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        position:absolute !important;
        top:50% !important;
        right:auto !important;
        left:0 !important;
        z-index:3 !important;
        display:flex !important;
        width:var(--dcp-recs-trigger-width) !important;
        min-width:var(--dcp-recs-trigger-width) !important;
        height:var(--dcp-recs-trigger-height) !important;
        margin:0 !important;
        align-items:center;
        justify-content:center;
        gap:7px;
        padding:9px 6px !important;
        border:1px solid var(--dcp-border) !important;
        border-right:0 !important;
        border-radius:14px 0 0 14px !important;
        color:var(--dcp-text) !important;
        background:var(--dcp-surface) !important;
        box-shadow:-10px 10px 28px rgb(15 23 42 / 13%) !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translateY(-50%) !important;
        transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 220ms ease !important;
        will-change:auto !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        right:0 !important;
        left:auto !important;
        border-right:1px solid var(--dcp-border) !important;
        border-left:0 !important;
        border-radius:0 14px 14px 0 !important;
        box-shadow:10px 10px 28px rgb(15 23 42 / 13%) !important;
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations-trigger {
        border-color:color-mix(in srgb,var(--dcp-accent) 26%,var(--dcp-border)) !important;
        background:color-mix(in srgb,var(--dcp-accent) 6%,var(--dcp-surface)) !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger[hidden],
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail[hidden] { display:none !important; }

    /* The launcher uses the same motion window as the companion while JS keeps
       sampling the real moving outer edge. */
    html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"] {
        transition:left 90ms linear,right 90ms linear,bottom 220ms cubic-bezier(.22,.78,.24,1),opacity 180ms ease,transform 220ms cubic-bezier(.22,.78,.24,1) !important;
    }
}

@media (max-width:620px) {
    .dcp-root .dcp-recommendations-companion { display:none !important; }
}

@media (prefers-reduced-motion:reduce) {
    .dcp-root .dcp-recommendations-companion,
    .dcp-root .dcp-recommendations-companion .dcp-rail { transition:none !important; }
}
@media (min-width:621px) {
    .dcp-root.dcp-recs-trigger-pill .dcp-recommendations-companion .dcp-recommendations-trigger {
        border-radius:999px !important;
    }
    .dcp-root.dcp-recs-trigger-soft .dcp-recommendations-companion .dcp-recommendations-trigger {
        border-color:color-mix(in srgb,var(--dcp-accent) 22%,var(--dcp-border)) !important;
        color:color-mix(in srgb,var(--dcp-accent) 72%,var(--dcp-text)) !important;
        background:color-mix(in srgb,var(--dcp-accent) 10%,var(--dcp-surface)) !important;
    }
    .dcp-root.dcp-recs-trigger-outline .dcp-recommendations-companion .dcp-recommendations-trigger {
        border:1.5px solid currentColor !important;
        background:color-mix(in srgb,var(--dcp-surface) 90%,transparent) !important;
        box-shadow:none !important;
    }
    .dcp-root.dcp-recs-trigger-content-icon .dcp-recommendations-companion .dcp-recommendations-trigger {
        border-radius:14px 0 0 14px !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-trigger-content-icon .dcp-recommendations-companion .dcp-recommendations-trigger {
        border-radius:0 14px 14px 0 !important;
    }
}


/* ========================================================================
   v1.8.2 UX revision — recommendation edge-reveal contract.
   IMPORTANT: the companion rail never travels across the cart pane. It stays
   physically outside the drawer and is revealed from the shared edge while
   the trigger follows that exact visible edge. This prevents translucent
   recommendation content from ever painting above cart products.
   ======================================================================== */
@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-companion-duration:calc(var(--dcp-duration,480ms) + 120ms);
        --dcp-recs-companion-easing:cubic-bezier(.16,.82,.2,1);
    }
    .dcp-root.dcp-recs-side-panel .dcp-cart-pane {
        position:relative !important;
        z-index:4 !important;
        isolation:isolate;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion {
        top:0 !important;
        right:100% !important;
        bottom:0 !important;
        left:auto !important;
        z-index:3 !important;
        width:calc(var(--dcp-recs-active-width) + var(--dcp-recs-trigger-width)) !important;
        height:100% !important;
        overflow:visible !important;
        pointer-events:none !important;
        transform:none !important;
        transition:none !important;
        will-change:auto !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion {
        right:auto !important;
        left:100% !important;
    }

    /* Right drawer: reveal the panel from the cart edge towards the left. */
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        z-index:1 !important;
        width:var(--dcp-recs-active-width) !important;
        height:100% !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:none !important;
        transform:none !important;
        clip-path:inset(0 0 0 100%);
        transition:
            clip-path var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),
            box-shadow 260ms ease !important;
        will-change:clip-path;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        right:auto !important;
        left:0 !important;
        clip-path:inset(0 100% 0 0);
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail {
        clip-path:inset(0 0 0 0);
        pointer-events:auto !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail {
        clip-path:inset(0 0 0 0);
    }

    /* The trigger is the moving outer edge. Closed it touches the cart; open it
       touches the far edge of the recommendation panel. Both use one curve. */
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        top:50% !important;
        right:auto !important;
        left:0 !important;
        z-index:2 !important;
        transform:translate3d(var(--dcp-recs-active-width),-50%,0) !important;
        transition:
            transform var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),
            background-color 180ms ease,
            border-color 180ms ease,
            color 180ms ease,
            box-shadow 220ms ease !important;
        will-change:transform !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        right:auto !important;
        left:0 !important;
        transform:translate3d(0,-50%,0) !important;
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations-trigger {
        transform:translate3d(0,-50%,0) !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations-trigger {
        transform:translate3d(var(--dcp-recs-active-width),-50%,0) !important;
    }

    /* Content follows the physical reveal instead of appearing on top of the
       drawer. A short internal fade provides depth without changing geometry. */
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations {
        opacity:0;
        transform:translate3d(10px,0,0);
        transition:
            opacity 220ms ease,
            transform 420ms var(--dcp-recs-companion-easing) !important;
    }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations {
        transform:translate3d(-10px,0,0);
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations {
        opacity:1;
        transform:translate3d(0,0,0);
        transition-delay:110ms !important;
    }
}

/* Premium recommendation cards. The companion uses the same visual hierarchy
   as cart product cards: meaningful image, readable two-line title, clear
   price and a full, stable action instead of thumbnail-sized utility rows. */
.dcp-root .dcp-rail > .dcp-recommendations {
    gap:12px !important;
    padding:14px !important;
    background:color-mix(in srgb,var(--dcp-text) 2.2%,var(--dcp-surface)) !important;
}
.dcp-root .dcp-rail .dcp-recommendation {
    grid-template-columns:92px minmax(0,1fr) !important;
    grid-template-areas:
        "image content"
        "action action" !important;
    align-items:stretch !important;
    gap:10px 12px !important;
    width:100% !important;
    min-width:0 !important;
    padding:10px !important;
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--dcp-border) 88%,transparent) !important;
    border-radius:max(12px,calc(var(--dcp-radius) * .78)) !important;
    background:var(--dcp-surface) !important;
    box-shadow:0 7px 22px rgb(15 23 42 / 5%) !important;
    transition:border-color 180ms ease,box-shadow 220ms ease,background-color 180ms ease !important;
}
.dcp-root .dcp-rail .dcp-recommendation:hover {
    border-color:color-mix(in srgb,var(--dcp-accent) 26%,var(--dcp-border)) !important;
    box-shadow:0 10px 28px rgb(15 23 42 / 8%) !important;
}
.dcp-root .dcp-rail .dcp-recommendation__image {
    grid-area:image;
    width:92px !important;
    height:92px !important;
    aspect-ratio:1 !important;
    border-radius:max(9px,calc(var(--dcp-radius) * .55)) !important;
    background:var(--dcp-soft) !important;
}
.dcp-root .dcp-rail .dcp-recommendation__content {
    grid-area:content;
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    padding:2px 2px 2px 0;
}
.dcp-root .dcp-rail .dcp-recommendation__name {
    display:-webkit-box !important;
    overflow:hidden !important;
    color:var(--dcp-text) !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.32 !important;
    letter-spacing:-.01em;
    white-space:normal !important;
    text-overflow:clip !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.dcp-root .dcp-rail .dcp-recommendation__price {
    margin:0 !important;
    color:var(--dcp-muted) !important;
    font-size:11.5px !important;
    font-weight:600;
    line-height:1.2;
}
.dcp-root .dcp-rail .dcp-recommendation__action {
    grid-area:action;
    width:100% !important;
    min-width:0 !important;
    min-height:36px !important;
    height:36px !important;
    margin:0 !important;
    padding:0 12px !important;
    border-radius:max(8px,calc(var(--dcp-radius) * .5)) !important;
    font-size:11.5px !important;
    font-weight:700 !important;
    line-height:1 !important;
    box-shadow:none !important;
}
.dcp-root .dcp-rail .dcp-recommendation__action:focus-visible {
    outline:2px solid var(--dcp-focus) !important;
    outline-offset:2px !important;
}

/* Horizontal keeps the image a little wider while retaining the premium full
   action row; tiles become real visual product cards instead of mini boxes. */
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="horizontal"] .dcp-recommendation {
    grid-template-columns:108px minmax(0,1fr) !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="horizontal"] .dcp-recommendation__image {
    width:108px !important;
    height:88px !important;
    aspect-ratio:auto !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="tiles"] {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation {
    display:flex !important;
    min-width:0;
    flex-direction:column;
    gap:8px !important;
    padding:8px !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation__image {
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/3 !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation__content {
    width:100%;
    padding:2px 1px 0;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation__action {
    margin-top:auto !important;
}

@media (max-width:760px) and (min-width:621px) {
    .dcp-root .dcp-rail .dcp-recommendation {
        grid-template-columns:78px minmax(0,1fr) !important;
        gap:9px 10px !important;
        padding:9px !important;
    }
    .dcp-root .dcp-rail .dcp-recommendation__image {
        width:78px !important;
        height:78px !important;
    }
    .dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="tiles"] {
        grid-template-columns:1fr !important;
    }
}

@media (prefers-reduced-motion:reduce) {
    .dcp-root .dcp-recommendations-companion .dcp-rail,
    .dcp-root .dcp-recommendations-companion .dcp-recommendations-trigger,
    .dcp-root .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root .dcp-recommendations-companion .dcp-recommendations { transition:none !important; }
}

/* Recommendation cards collapse cleanly when product imagery is disabled. */
.dcp-root .dcp-rail .dcp-recommendation:has(.dcp-recommendation__image[hidden]) {
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:"content" "action" !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="tiles"] .dcp-recommendation:has(.dcp-recommendation__image[hidden]) {
    display:flex !important;
}

/* ========================================================================
   v1.8.2 bubble motion revision — competition-style drawer attachment
   JS samples one drawer progress value at animation-frame cadence. While that
   contract is active, CSS must not add a second delayed left/right transition.
   ======================================================================== */
.dcp-launcher--floating[data-dcp-launcher-motion="1"] {
    transition:opacity 180ms ease,transform 200ms cubic-bezier(.22,.78,.24,1) !important;
    will-change:left,bottom,opacity,transform;
}
html.dcp-cart-open .dcp-launcher--floating[data-dcp-open-behavior="dock-edge"][data-dcp-launcher-motion="1"] {
    transition:opacity 180ms ease,transform 200ms cubic-bezier(.22,.78,.24,1) !important;
}


/* ========================================================================
   v1.8.3 FULL SETTINGS PARITY — REMOVE POSITION
   Older image-top/spotlight rules forced the control to top-right, silently
   overriding the saved remove_button_position. Every card composition must
   honor the same six positions selected in Cart Lab.
   ======================================================================== */
.dcp-items-image-top.dcp-remove-top-right .dcp-item__remove,
.dcp-items-spotlight.dcp-remove-top-right .dcp-item__remove { top:10px !important; right:10px !important; bottom:auto !important; left:auto !important; }
.dcp-items-image-top.dcp-remove-top-left .dcp-item__remove,
.dcp-items-spotlight.dcp-remove-top-left .dcp-item__remove { top:10px !important; right:auto !important; bottom:auto !important; left:10px !important; }
.dcp-items-image-top.dcp-remove-bottom-right .dcp-item__remove,
.dcp-items-spotlight.dcp-remove-bottom-right .dcp-item__remove { top:auto !important; right:10px !important; bottom:10px !important; left:auto !important; }
.dcp-items-image-top.dcp-remove-bottom-left .dcp-item__remove,
.dcp-items-spotlight.dcp-remove-bottom-left .dcp-item__remove { top:auto !important; right:auto !important; bottom:10px !important; left:10px !important; }
.dcp-items-image-top.dcp-remove-center-right .dcp-item__remove,
.dcp-items-spotlight.dcp-remove-center-right .dcp-item__remove { top:50% !important; right:10px !important; bottom:auto !important; left:auto !important; transform:translateY(-50%) !important; }
.dcp-items-image-top.dcp-remove-center-left .dcp-item__remove,
.dcp-items-spotlight.dcp-remove-center-left .dcp-item__remove { top:50% !important; right:auto !important; bottom:auto !important; left:10px !important; transform:translateY(-50%) !important; }


/* ========================================================================
   v1.8.3 parity-r3 — mobile launcher safety + storefront polish
   ======================================================================== */
.dcp-launcher--floating {
    bottom:calc(var(--dcp-launcher-offset-y-responsive,var(--dcp-launcher-offset-y,22px)) + env(safe-area-inset-bottom) + var(--dcp-launcher-safe-bottom-extra,0px)) !important;
}
.dcp-launcher--floating.dcp-launcher--coexistence {
    bottom:calc(var(--dcp-launcher-offset-y-responsive,var(--dcp-launcher-offset-y,22px)) + env(safe-area-inset-bottom) + var(--dcp-launcher-safe-bottom-extra,0px)) !important;
}

.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger,
.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
    background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--dcp-surface) 96%,#eef2f6)) !important;
    color:var(--dcp-text) !important;
    border-color:color-mix(in srgb,var(--dcp-border) 86%,transparent) !important;
}
.dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations-trigger,
.dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations-trigger {
    background:linear-gradient(180deg,color-mix(in srgb,var(--dcp-accent) 8%,#fff),color-mix(in srgb,var(--dcp-surface) 92%,#f8fafc)) !important;
    color:var(--dcp-text) !important;
    border-color:color-mix(in srgb,var(--dcp-accent) 32%,var(--dcp-border)) !important;
    box-shadow:0 12px 30px rgb(15 23 42 / 14%) !important;
}
.dcp-root .dcp-rail__header {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:14px;
}
.dcp-root .dcp-rail__header > div { min-width:0; }
.dcp-root .dcp-rail__header h2 {
    max-width:none !important;
    line-height:1.06 !important;
}

/* Entry motion mirrors the exit path for a less abrupt reveal. */
.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,
.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
    transition:
        clip-path 420ms cubic-bezier(.22,.78,.24,1),
        box-shadow 260ms ease !important;
}
.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations {
    transition:
        opacity 240ms ease,
        transform 420ms cubic-bezier(.22,.78,.24,1) !important;
}
.dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail__header,
.dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations,
.dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail__header,
.dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations {
    transition-delay:80ms !important;
}

/* Mobile product-card hardening is phone-only. Tablets (>=621px) keep the
   selected desktop/tablet composition instead of being flattened into a 64px row. */
@media (max-width:620px) {
    .dcp-root .dcp-item,
    .dcp-root .dcp-items-editorial .dcp-item,
    .dcp-root .dcp-items-editorial-compact .dcp-item,
    .dcp-root .dcp-items-media .dcp-item,
    .dcp-root .dcp-items-split .dcp-item,
    .dcp-root .dcp-items-image-top .dcp-item,
    .dcp-root .dcp-items-compact-row .dcp-item,
    .dcp-root .dcp-items-borderless .dcp-item {
        grid-template-columns:64px minmax(0,1fr) !important;
        gap:10px !important;
        padding:12px 12px 12px 0 !important;
        min-height:0 !important;
        border-radius:max(12px,calc(var(--dcp-item-radius,14px) * .88)) !important;
    }
    .dcp-root .dcp-items-spotlight .dcp-item {
        grid-template-columns:1fr !important;
        padding:11px !important;
    }
    .dcp-root .dcp-item__image,
    .dcp-root .dcp-items-editorial .dcp-item__image,
    .dcp-root .dcp-items-editorial-compact .dcp-item__image,
    .dcp-root .dcp-items-media .dcp-item__image,
    .dcp-root .dcp-items-split .dcp-item__image,
    .dcp-root .dcp-items-image-top .dcp-item__image,
    .dcp-root .dcp-items-compact-row .dcp-item__image,
    .dcp-root .dcp-items-borderless .dcp-item__image {
        width:64px !important;
        height:64px !important;
        aspect-ratio:1 !important;
        border-radius:10px !important;
    }
    .dcp-root .dcp-items-spotlight .dcp-item__image {
        width:100% !important;
        height:clamp(120px,26vh,180px) !important;
        aspect-ratio:16/8 !important;
    }
    .dcp-root .dcp-item__top {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        align-items:start !important;
        gap:8px !important;
    }
    .dcp-root .dcp-item__bottom {
        display:flex !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        gap:10px !important;
    }
    .dcp-root .dcp-quantity {
        min-height:36px !important;
    }
    .dcp-root .dcp-item__price--bottom {
        margin-left:auto;
    }
    .dcp-root .dcp-summary {
        max-height:min(52dvh,520px);
    }

    /* Mobile recommendations become true premium cards rather than utility rows. */
    .dcp-root .dcp-mobile-recommendations {
        margin-top:14px;
        padding:12px;
        border:1px solid color-mix(in srgb,var(--dcp-border) 86%,transparent);
        border-radius:max(14px,calc(var(--dcp-radius) * .92));
        background:linear-gradient(180deg,color-mix(in srgb,var(--dcp-text) 1.4%,#fff),color-mix(in srgb,var(--dcp-surface) 96%,#f8fafc));
        box-shadow:0 10px 28px rgb(15 23 42 / 6%);
    }
    .dcp-root .dcp-mobile-recommendations__heading {
        align-items:flex-start;
        gap:10px;
        margin-bottom:10px;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]) {
        grid-auto-columns:minmax(236px,80vw) !important;
        gap:12px !important;
        padding:2px 2px 4px !important;
        margin:0 !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation {
        display:flex !important;
        flex-direction:column !important;
        gap:10px !important;
        min-height:0 !important;
        padding:10px !important;
        border-radius:max(12px,calc(var(--dcp-radius) * .75)) !important;
        border:1px solid color-mix(in srgb,var(--dcp-border) 86%,transparent) !important;
        background:var(--dcp-surface) !important;
        box-shadow:0 8px 24px rgb(15 23 42 / 7%) !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__image {
        width:100% !important;
        height:auto !important;
        aspect-ratio:4/3 !important;
        border-radius:11px !important;
        overflow:hidden;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__content {
        display:flex;
        flex-direction:column;
        gap:6px;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__name {
        font-size:13px !important;
        font-weight:700 !important;
        line-height:1.32 !important;
        white-space:normal !important;
        display:-webkit-box !important;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        overflow:hidden !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__price {
        font-size:12px !important;
        font-weight:600;
        color:var(--dcp-muted) !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__action {
        width:100% !important;
        min-height:40px !important;
        padding:0 12px !important;
        border-radius:max(10px,calc(var(--dcp-radius) * .62)) !important;
        font-size:11px !important;
        font-weight:700 !important;
    }
}

/* ========================================================================
   v1.8.4 MOBILE + CROSS-SELL PREMIUM PASS
   Regression goals:
   - the recommendation drawer opens and closes along the exact same path;
   - active recommendation trigger stays neutral/premium (no yellow wash);
   - cart product compositions retain meaningful differences on phones;
   - mobile cross-sells have independent, touch-first compositions;
   - recommendation CTAs and image placeholders never look like flat gray UI.
   ======================================================================== */

@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel {
        --dcp-recs-companion-duration:max(360ms,var(--dcp-duration,480ms));
        --dcp-recs-companion-easing:cubic-bezier(.22,.78,.24,1);
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        transition:clip-path var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),box-shadow 240ms ease !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        transition:transform var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 220ms ease !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations {
        opacity:0;
        transition:opacity var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),transform var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing) !important;
        transition-delay:0ms !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations { transform:translate3d(12px,0,0); }
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations { transform:translate3d(-12px,0,0); }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail__header,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations {
        opacity:1;
        transform:translate3d(0,0,0);
        transition-delay:0ms !important;
    }
}

/* Neutral active state: the orange remains reserved for primary commerce CTAs. */
.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger,
.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
    background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--dcp-text) 2.6%,var(--dcp-surface))) !important;
    border-color:color-mix(in srgb,var(--dcp-text) 13%,var(--dcp-border)) !important;
}
.dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations-trigger,
.dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations-trigger {
    color:var(--dcp-text) !important;
    background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--dcp-text) 5%,var(--dcp-surface))) !important;
    border-color:color-mix(in srgb,var(--dcp-text) 28%,var(--dcp-border)) !important;
    box-shadow:0 14px 34px rgb(15 23 42 / 16%) !important;
}

/* Header geometry mirrors the original drawer chrome. */
.dcp-root .dcp-rail__header {
    display:grid !important;
    min-height:72px !important;
    grid-template-columns:minmax(0,1fr) 40px !important;
    align-items:center !important;
    gap:12px !important;
    padding:13px 14px 13px 18px !important;
}
.dcp-root .dcp-rail__header > div { min-width:0; align-self:center; }
.dcp-root .dcp-rail__header .dcp-eyebrow { margin-bottom:3px; }
.dcp-root .dcp-rail__header h2 { margin:0 !important; line-height:1.08 !important; }
.dcp-root .dcp-rail__header .dcp-icon-button { justify-self:end; }

/* Recommendation system: shared premium primitives. */
.dcp-root .dcp-recommendation {
    isolation:isolate;
}
.dcp-root .dcp-recommendation__image {
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,color-mix(in srgb,var(--dcp-text) 4%,#fff),color-mix(in srgb,var(--dcp-text) 8%,#fff)) !important;
}
.dcp-root .dcp-recommendation__image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 360ms cubic-bezier(.22,.78,.24,1); }
.dcp-root .dcp-recommendation:hover .dcp-recommendation__image img { transform:scale(1.025); }
.dcp-root .dcp-recommendation__image-placeholder { display:block; width:100%; height:100%; background:linear-gradient(120deg,#f6f7f8 0%,#eceff2 45%,#f9fafb 100%); }
.dcp-root .dcp-recommendation__action {
    box-sizing:border-box;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:#fff !important;
    text-decoration:none !important;
    border:1px solid #171717 !important;
    background:#171717 !important;
    box-shadow:0 7px 16px rgb(15 23 42 / 10%) !important;
    transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease !important;
}
.dcp-root .dcp-recommendation__action:hover { transform:translateY(-1px); background:#262626 !important; box-shadow:0 9px 20px rgb(15 23 42 / 14%) !important; }
.dcp-root .dcp-recommendation__action:active { transform:translateY(0) scale(.99); }
.dcp-root .dcp-recommendation__action:disabled { opacity:.66; cursor:progress; }
.dcp-root .dcp-recommendation__action-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dcp-root .dcp-recommendation__action-icon { display:grid; width:20px; height:20px; flex:0 0 20px; place-items:center; border-radius:999px; color:#171717; background:#fff; font-size:14px; font-weight:800; line-height:1; }
.dcp-root .dcp-recommendation__action.is-success .dcp-recommendation__action-icon { transform:scale(1.06); }

/* Desktop/tablet recommendation compositions. */
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="premium"] .dcp-recommendation {
    grid-template-columns:104px minmax(0,1fr) !important;
    grid-template-areas:"image content" "image action" !important;
    gap:8px 12px !important;
    padding:10px !important;
    border-radius:16px !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="premium"] .dcp-recommendation__image { width:104px !important; height:116px !important; border-radius:12px !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="premium"] .dcp-recommendation__content { justify-content:end; padding-top:4px; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="premium"] .dcp-recommendation__action { height:38px !important; min-height:38px !important; }

.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="editorial"] .dcp-recommendation {
    display:flex !important;
    flex-direction:column !important;
    gap:9px !important;
    padding:9px !important;
    border-radius:16px !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="editorial"] .dcp-recommendation__image { width:100% !important; height:auto !important; aspect-ratio:16/8 !important; border-radius:12px !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="editorial"] .dcp-recommendation__content { padding:2px 3px 0; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="editorial"] .dcp-recommendation__action { height:38px !important; }

.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation {
    grid-template-columns:68px minmax(0,1fr) 40px !important;
    grid-template-areas:"image content action" !important;
    align-items:center !important;
    gap:9px !important;
    padding:8px !important;
    border-radius:13px !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__image { width:68px !important; height:68px !important; border-radius:10px !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__action { width:40px !important; min-width:40px !important; height:40px !important; min-height:40px !important; padding:0 !important; justify-content:center; border-radius:12px !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__action-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="horizontal"] .dcp-recommendation {
    grid-template-columns:128px minmax(0,1fr) !important;
    grid-template-areas:"image content" "image action" !important;
    border-radius:15px !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="horizontal"] .dcp-recommendation__image { width:128px !important; height:110px !important; }

.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] { background:var(--dcp-surface) !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation {
    grid-template-columns:64px minmax(0,1fr) auto !important;
    grid-template-areas:"image content action" !important;
    align-items:center !important;
    padding:10px 2px !important;
    border:0 !important;
    border-bottom:1px solid var(--dcp-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__image { width:64px !important; height:64px !important; border-radius:10px !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__action { width:38px !important; min-width:38px !important; height:38px !important; min-height:38px !important; padding:0 !important; justify-content:center; border-radius:999px !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__action-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="carousel"] { display:flex !important; flex-direction:column; }

/* Mobile product cards: restore actual composition differences instead of
   forcing every preset into the same 64px utility row. */
@media (max-width:767px) {
    .dcp-root .dcp-items { gap:10px !important; padding-inline:10px !important; }

    /* Auto keeps each desktop preset's personality. */
    .dcp-root.dcp-mobile-items-auto.dcp-items-editorial .dcp-item,
    .dcp-root.dcp-mobile-items-auto.dcp-items-editorial-compact .dcp-item {
        grid-template-columns:72px minmax(0,1fr) !important; gap:11px !important; padding:10px 11px 10px 0 !important;
    }
    .dcp-root.dcp-mobile-items-auto.dcp-items-editorial .dcp-item__image,
    .dcp-root.dcp-mobile-items-auto.dcp-items-editorial-compact .dcp-item__image { width:72px !important; height:76px !important; border-radius:0 11px 11px 0 !important; }

    .dcp-root.dcp-mobile-items-auto.dcp-items-compact-row .dcp-item { grid-template-columns:54px minmax(0,1fr) !important; gap:9px !important; padding:8px 10px 8px 0 !important; border-radius:11px !important; }
    .dcp-root.dcp-mobile-items-auto.dcp-items-compact-row .dcp-item__image { width:54px !important; height:54px !important; border-radius:0 9px 9px 0 !important; }

    .dcp-root.dcp-mobile-items-auto.dcp-items-media .dcp-item,
    .dcp-root.dcp-mobile-items-auto.dcp-items-split .dcp-item { grid-template-columns:minmax(96px,32%) minmax(0,1fr) !important; gap:12px !important; padding:10px !important; }
    .dcp-root.dcp-mobile-items-auto.dcp-items-media .dcp-item__image,
    .dcp-root.dcp-mobile-items-auto.dcp-items-split .dcp-item__image { width:100% !important; height:100% !important; min-height:100px !important; aspect-ratio:4/5 !important; border-radius:11px !important; }

    .dcp-root.dcp-mobile-items-auto.dcp-items-image-top .dcp-item { display:flex !important; flex-direction:column !important; gap:10px !important; padding:10px !important; }
    .dcp-root.dcp-mobile-items-auto.dcp-items-image-top .dcp-item__image { width:100% !important; height:auto !important; aspect-ratio:16/7 !important; border-radius:12px !important; }

    .dcp-root.dcp-mobile-items-auto.dcp-items-spotlight .dcp-item { display:flex !important; flex-direction:column !important; gap:11px !important; padding:11px !important; border-radius:16px !important; }
    .dcp-root.dcp-mobile-items-auto.dcp-items-spotlight .dcp-item__image { width:100% !important; height:auto !important; aspect-ratio:16/9 !important; border-radius:13px !important; }

    .dcp-root.dcp-mobile-items-auto.dcp-items-borderless .dcp-item,
    .dcp-root.dcp-mobile-items-auto.dcp-items-clean .dcp-item { grid-template-columns:62px minmax(0,1fr) !important; gap:10px !important; padding:10px 2px !important; border-radius:0 !important; box-shadow:none !important; }
    .dcp-root.dcp-mobile-items-auto.dcp-items-borderless .dcp-item__image,
    .dcp-root.dcp-mobile-items-auto.dcp-items-clean .dcp-item__image { width:62px !important; height:62px !important; border-radius:10px !important; }

    /* Explicit mobile presets override desktop style predictably. */
    .dcp-root.dcp-mobile-items-compact-row .dcp-item { grid-template-columns:56px minmax(0,1fr) !important; gap:9px !important; padding:8px 10px 8px 0 !important; border-radius:11px !important; }
    .dcp-root.dcp-mobile-items-compact-row .dcp-item__image { width:56px !important; height:56px !important; aspect-ratio:1 !important; border-radius:0 9px 9px 0 !important; }

    .dcp-root.dcp-mobile-items-media .dcp-item { grid-template-columns:minmax(98px,34%) minmax(0,1fr) !important; gap:12px !important; padding:10px !important; }
    .dcp-root.dcp-mobile-items-media .dcp-item__image { width:100% !important; height:100% !important; min-height:104px !important; aspect-ratio:4/5 !important; border-radius:11px !important; }

    .dcp-root.dcp-mobile-items-image-top .dcp-item,
    .dcp-root.dcp-mobile-items-spotlight .dcp-item { display:flex !important; flex-direction:column !important; grid-template-columns:1fr !important; gap:10px !important; padding:10px !important; }
    .dcp-root.dcp-mobile-items-image-top .dcp-item__image { width:100% !important; height:auto !important; aspect-ratio:16/7 !important; border-radius:12px !important; }
    .dcp-root.dcp-mobile-items-spotlight .dcp-item__image { width:100% !important; height:auto !important; aspect-ratio:16/9 !important; border-radius:13px !important; }

    .dcp-root.dcp-mobile-items-borderless .dcp-item { grid-template-columns:62px minmax(0,1fr) !important; gap:10px !important; padding:10px 2px !important; border:0 !important; border-bottom:1px solid var(--dcp-border) !important; border-radius:0 !important; box-shadow:none !important; }
    .dcp-root.dcp-mobile-items-borderless .dcp-item__image { width:62px !important; height:62px !important; aspect-ratio:1 !important; border-radius:10px !important; }

    .dcp-root .dcp-item__content,
    .dcp-root .dcp-item__top { min-width:0 !important; }
    .dcp-root .dcp-item__name { overflow-wrap:anywhere; }
    .dcp-root .dcp-item__bottom { gap:8px 10px !important; }
    .dcp-root .dcp-quantity { min-height:36px !important; }
}

/* Mobile cross-sells: three real compositions. */
@media (max-width:620px) {
    .dcp-root .dcp-mobile-recommendations {
        margin:12px 0 2px !important;
        padding:12px !important;
        overflow:hidden;
        border:1px solid color-mix(in srgb,var(--dcp-text) 8%,var(--dcp-border)) !important;
        border-radius:16px !important;
        background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--dcp-text) 1.5%,#fff)) !important;
        box-shadow:0 10px 28px rgb(15 23 42 / 6%) !important;
    }
    .dcp-root .dcp-mobile-recommendations__heading { align-items:center !important; margin-bottom:10px !important; }
    .dcp-root .dcp-mobile-recommendations__heading > span { padding:5px 8px; border:1px solid var(--dcp-border); border-radius:999px; color:var(--dcp-muted); background:#fff; font-size:9px; font-weight:700; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]) { display:grid !important; margin:0 !important; padding:2px !important; gap:10px !important; overflow-x:auto !important; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile::-webkit-scrollbar { display:none; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation { scroll-snap-align:start; }

    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] { grid-auto-flow:column !important; grid-auto-columns:minmax(224px,79vw) !important; grid-template-columns:none !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation { display:flex !important; flex-direction:column !important; gap:9px !important; padding:9px !important; border:1px solid var(--dcp-border) !important; border-radius:14px !important; background:#fff !important; box-shadow:0 8px 22px rgb(15 23 42 / 7%) !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__image { width:100% !important; height:auto !important; aspect-ratio:16/10 !important; border-radius:11px !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__content { gap:5px !important; padding:2px 2px 0; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__action { width:100% !important; min-height:40px !important; height:40px !important; padding:0 12px !important; border-radius:11px !important; }

    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] { grid-auto-flow:column !important; grid-auto-columns:minmax(278px,88vw) !important; grid-template-columns:none !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation { display:grid !important; grid-template-columns:72px minmax(0,1fr) 40px !important; grid-template-areas:"image content action" !important; align-items:center !important; gap:9px !important; padding:8px !important; border:1px solid var(--dcp-border) !important; border-radius:13px !important; background:#fff !important; box-shadow:0 6px 18px rgb(15 23 42 / 5%) !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__image { width:72px !important; height:72px !important; aspect-ratio:1 !important; border-radius:10px !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__action { width:40px !important; min-width:40px !important; height:40px !important; min-height:40px !important; padding:0 !important; justify-content:center; border-radius:12px !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation__action-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] { grid-auto-flow:row !important; grid-template-columns:1fr !important; overflow-x:hidden !important; scroll-snap-type:none; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation { display:grid !important; grid-template-columns:84px minmax(0,1fr) !important; grid-template-areas:"image content" "image action" !important; gap:7px 10px !important; padding:9px !important; border:1px solid var(--dcp-border) !important; border-radius:13px !important; background:#fff !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation__image { width:84px !important; height:92px !important; aspect-ratio:auto !important; border-radius:10px !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation__action { min-height:36px !important; height:36px !important; padding:0 10px !important; border-radius:10px !important; }

    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__name { display:-webkit-box !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden !important; white-space:normal !important; font-size:13px !important; font-weight:720 !important; line-height:1.28 !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__price { font-size:11.5px !important; font-weight:620; color:var(--dcp-muted) !important; }
}

@media (prefers-reduced-motion:reduce) {
    .dcp-root .dcp-recommendation__image img,
    .dcp-root .dcp-recommendation__action { transition:none !important; }
}


/* v1.8.4 header parity: when the exterior recommendation rail is enabled,
   both panes share one fixed top-chrome rhythm. The recommendation title is
   capped at two lines so merchant copy cannot desynchronise the divider. */
@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel .dcp-header,
    .dcp-root.dcp-recs-side-panel .dcp-rail__header {
        box-sizing:border-box !important;
        height:92px !important;
        min-height:92px !important;
        max-height:92px !important;
    }
    .dcp-root.dcp-recs-side-panel .dcp-rail__header h2 {
        display:-webkit-box !important;
        overflow:hidden !important;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
}

/* v1.8.5 final precedence overrides. */
.dcp-root .dcp-recommendations-trigger { width:var(--dcp-recs-trigger-width,44px) !important; min-width:var(--dcp-recs-trigger-width,44px) !important; height:var(--dcp-recs-config-trigger-height,var(--dcp-recs-trigger-height,52px)) !important; min-height:var(--dcp-recs-config-trigger-height,var(--dcp-recs-trigger-height,52px)) !important; }
.dcp-root .dcp-recommendations-trigger__icon,
.dcp-root .dcp-recommendations-trigger__icon svg { width:var(--dcp-recs-trigger-icon-size,18px) !important; height:var(--dcp-recs-trigger-icon-size,18px) !important; }
.dcp-root .dcp-rail__header--icon-only { display:flex !important; align-items:center !important; justify-content:flex-end !important; }
.dcp-root .dcp-rail__header--icon-only .dcp-icon-button { margin-left:auto !important; }
.dcp-root .dcp-recommendation__actions { grid-area:action !important; display:flex !important; min-width:0; flex-direction:column; align-items:stretch; gap:6px; }
.dcp-root .dcp-rail > .dcp-recommendations { align-content:start !important; grid-auto-rows:max-content !important; }
.dcp-root .dcp-rail > .dcp-recommendations .dcp-recommendation { align-self:start; }
.dcp-root .dcp-recommendation__actions > * { box-sizing:border-box; width:100% !important; min-width:0; height:34px !important; min-height:34px !important; flex:0 0 34px; }
.dcp-root .dcp-recommendation__actions .dcp-recommendation__action { padding-inline:9px !important; font-size:11px !important; }
.dcp-root .dcp-recommendation__secondary { display:inline-flex !important; align-items:center; justify-content:center; gap:6px; padding:0 8px; border:1px solid var(--dcp-border); border-radius:11px; color:var(--dcp-text) !important; background:#fff; font-size:11px; font-weight:720; line-height:1; white-space:nowrap; text-decoration:none !important; }
.dcp-root .dcp-recommendation__secondary--soft { border-color:transparent; background:color-mix(in srgb,var(--dcp-text) 6%,#fff); }
.dcp-root .dcp-recommendation__secondary--text { min-height:32px; border-color:transparent; background:transparent; text-decoration:underline !important; text-underline-offset:3px; }
.dcp-root .dcp-recommendation__secondary[data-content="icon"] { flex:0 0 38px; width:38px; padding:0; }
.dcp-root .dcp-recommendation__secondary .dcp-recommendation__action-icon { color:currentColor; background:transparent; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation,
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation { grid-template-columns:64px minmax(0,1fr) minmax(84px,auto) !important; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__actions,
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__actions { flex-direction:row; align-items:center; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__actions > *,
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__actions > * { width:38px !important; min-width:38px !important; flex:0 0 38px; }
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__secondary span:first-child:not(:last-child),
.dcp-root .dcp-rail > .dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__secondary span:first-child:not(:last-child) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media (max-width:767px) {
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions { width:100%; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation { grid-template-columns:72px minmax(0,1fr) minmax(84px,auto) !important; }
}
@media (min-width:768px) {
    .dcp-launcher--floating[data-dcp-launcher-visibility="nonempty"][data-dcp-cart-count="0"] { display:none !important; }
}

/* MPA_CART_UI_COHESION_1_8_9_LAST — must remain the last precedence block. */
@media (min-width:621px) {
    .dcp-root.dcp-recs-side-panel { --dcp-recs-companion-duration:max(360ms,var(--dcp-duration,480ms)) !important; --dcp-recs-companion-easing:cubic-bezier(.22,.78,.24,1) !important; }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail { opacity:1 !important; visibility:visible !important; transition:clip-path var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),box-shadow 220ms ease !important; }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger { transition:transform var(--dcp-recs-companion-duration) var(--dcp-recs-companion-easing),background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 180ms ease !important; }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations,
    .dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-recommendations { opacity:1 !important; transform:none !important; transition:none !important; }
}
.dcp-root .dcp-recommendations-trigger[data-icon="plus"] .dcp-recommendations-trigger__icon { transition:transform 180ms ease; }
.dcp-root .dcp-recommendations-trigger[data-icon="plus"][aria-expanded="true"] .dcp-recommendations-trigger__icon { transform:rotate(45deg); }
.dcp-root .dcp-rail > .dcp-recommendations { box-sizing:border-box !important; flex:1 1 auto !important; min-height:0 !important; height:100% !important; align-content:start !important; gap:12px !important; padding:14px !important; overflow-x:hidden !important; overflow-y:auto !important; background:color-mix(in srgb,var(--dcp-text) 2%,var(--dcp-surface)) !important; }
.dcp-root .dcp-rail > .dcp-recommendations .dcp-recommendation { box-sizing:border-box !important; width:100% !important; min-width:0 !important; gap:10px !important; padding:10px !important; overflow:hidden !important; border-radius:max(12px,calc(var(--dcp-radius) * .72)) !important; box-shadow:0 8px 24px rgb(15 23 42 / 6%) !important; }
.dcp-root .dcp-rail .dcp-recommendation__content { min-width:0 !important; align-self:center; gap:5px !important; }
.dcp-root .dcp-rail .dcp-recommendation__name { display:-webkit-box !important; overflow:hidden !important; white-space:normal !important; font-size:12px !important; font-weight:720 !important; line-height:1.28 !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.dcp-root .dcp-rail .dcp-recommendation__image { border-radius:10px !important; }
.dcp-root .dcp-items { box-sizing:border-box !important; padding-inline:clamp(12px,3vw,18px) !important; }
.dcp-root .dcp-item { box-sizing:border-box !important; min-width:0 !important; overflow:hidden !important; }
.dcp-root .dcp-item > *, .dcp-root .dcp-item__content, .dcp-root .dcp-item__top, .dcp-root .dcp-item__bottom { min-width:0 !important; }
.dcp-root .dcp-item__image { overflow:hidden !important; }
@media (max-width:620px) {
    .dcp-root .dcp-items { padding-inline:12px !important; }
    .dcp-root .dcp-item, .dcp-root .dcp-items-editorial .dcp-item, .dcp-root .dcp-items-editorial-compact .dcp-item, .dcp-root .dcp-items-media .dcp-item, .dcp-root .dcp-items-split .dcp-item, .dcp-root .dcp-items-image-top .dcp-item, .dcp-root .dcp-items-compact-row .dcp-item, .dcp-root .dcp-items-borderless .dcp-item { padding:10px !important; }
    .dcp-root .dcp-item__remove { margin:0 !important; box-shadow:0 6px 18px rgb(15 23 42 / 12%) !important; }
}

/* MPA_CART_RECOMMENDATIONS_UX_1_9_0_FINAL — final cascade authority. */
.dcp-root .dcp-recommendation__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;min-width:0!important}.dcp-root .dcp-recommendation__actions>*{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:40px!important;height:40px!important;flex:none!important;overflow:hidden!important}.dcp-root .dcp-recommendation__actions span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:621px){.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail{clip-path:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(24px,0,0) scale(.985)!important;transform-origin:right center!important;transition:transform 420ms cubic-bezier(.2,.8,.2,1),opacity 220ms ease,visibility 0s linear 420ms,box-shadow 220ms ease!important;will-change:transform,opacity}.dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail{transform:translate3d(-24px,0,0) scale(.985)!important;transform-origin:left center!important}.dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail,.dcp-root.dcp-side-left.dcp-recs-side-panel.is-recommendations-open .dcp-recommendations-companion .dcp-rail{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0) scale(1)!important;transition:transform 420ms cubic-bezier(.2,.8,.2,1),opacity 220ms ease,visibility 0s linear 0s,box-shadow 220ms ease!important}.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__actions>*,.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__actions>*{width:100%!important;min-width:0!important;flex:none!important}.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="compact"] .dcp-recommendation__secondary span:first-child:not(:last-child),.dcp-root .dcp-rail>.dcp-recommendations[data-recommendation-style="minimal"] .dcp-recommendation__secondary span:first-child:not(:last-child){position:static!important;width:auto!important;height:auto!important;overflow:hidden!important;clip-path:none!important}}
@media(max-width:620px){.dcp-root .dcp-mobile-recommendations{box-sizing:border-box!important;margin:12px 0 2px!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations{gap:12px!important;padding:2px 1px 8px!important;background:transparent!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation{box-sizing:border-box!important;margin:0!important;border:1px solid var(--dcp-border)!important;border-radius:14px!important;background:var(--dcp-surface)!important;box-shadow:0 8px 22px rgb(15 23 42 / 7%)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"]{grid-auto-columns:clamp(224px,82vw,286px)!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"],.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"]{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:clamp(260px,88vw,320px)!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"] .dcp-recommendation,.dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"] .dcp-recommendation{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;grid-template-areas:"image content" "actions actions"!important;gap:10px!important;scroll-snap-align:start}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__image{grid-area:image}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__content{grid-area:content;min-width:0}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions{grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr))!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions>*{min-height:42px!important;height:42px!important}.dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary span:first-child:not(:last-child){position:static!important;width:auto!important;height:auto!important;overflow:hidden!important;clip-path:none!important}}
@media(prefers-reduced-motion:reduce){.dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail,.dcp-root .dcp-recommendations-trigger{transition:none!important}}

/* MPA_CART_RECOMMENDATIONS_UX_1_9_1_LAST_FINAL — keep this last. */
@media(max-width:620px){
    .dcp-root [data-dcp-mobile-recommendations-shell],
    .dcp-root .dcp-mobile-recommendations,
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile{
        max-width:none!important;border:0!important;border-radius:0!important;
        background:transparent!important;box-shadow:none!important;
    }
    .dcp-root [data-dcp-mobile-recommendations-shell],
    .dcp-root .dcp-mobile-recommendations{
        box-sizing:border-box!important;width:100%!important;margin:8px 0 0!important;
        padding:0!important;overflow:visible!important;
    }
    .dcp-root .dcp-mobile-recommendations__header,
    .dcp-root .dcp-mobile-recommendations__heading{
        margin:0 2px 8px!important;padding:0!important;border:0!important;
        background:transparent!important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile:not([hidden]){
        display:grid!important;width:auto!important;max-width:none!important;margin:0!important;
        padding:4px 22px 16px 2px!important;grid-auto-flow:column!important;
        grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;
        overflow-y:visible!important;overscroll-behavior-x:contain!important;
        scroll-padding-inline:2px 22px!important;scroll-snap-type:x proximity!important;
        scrollbar-width:none!important;-webkit-overflow-scrolling:touch;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile::-webkit-scrollbar{display:none!important}
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"]{grid-auto-columns:minmax(232px,82%)!important}
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="compact-snap"],
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="stack"]{grid-auto-columns:minmax(248px,88%)!important}
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation{
        box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;
        overflow:visible!important;border:1px solid var(--dcp-border)!important;border-radius:14px!important;
        background:var(--dcp-surface,#fff)!important;box-shadow:0 8px 22px rgb(15 23 42 / 7%)!important;
        scroll-snap-align:start!important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions{
        display:grid!important;width:100%!important;grid-template-columns:1fr!important;gap:7px!important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__actions>*{
        width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"]{
        display:inline-grid!important;width:100%!important;min-width:42px!important;min-height:42px!important;
        place-items:center!important;padding:0!important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation__secondary[data-content="icon"]>span:not(.dcp-recommendation__action-icon){
        position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
        clip-path:inset(50%)!important;white-space:nowrap!important;
    }
    .dcp-root .dcp-recommendation__action-icon,
    .dcp-root .dcp-recommendation__action-icon svg{width:18px!important;height:18px!important;min-width:18px!important}
}

/* MPA_CART_PREMIUM_INTERACTIONS_1_9_1_ABSOLUTE_FINAL */
.dcp-root :where(a,.dcp-link,.dcp-text-link,.dcp-recommendation__name,.dcp-recommendation__secondary),
.dcp-root :where(a,.dcp-link,.dcp-text-link,.dcp-recommendation__name,.dcp-recommendation__secondary):visited{
    color:var(--dcp-text,currentColor)!important;text-decoration-color:currentColor!important;
}
.dcp-root :where(.dcp-recommendation__action,.dcp-recommendation__secondary,.dcp-button,.dcp-empty__button,.dcp-clear,.dcp-extra-links a):hover{
    transform:none!important;translate:none!important;
}
.dcp-root :where(.dcp-recommendation__action,.dcp-recommendation__secondary,.dcp-button,.dcp-empty__button,.dcp-clear,.dcp-extra-links a):active{
    transform:scale(.985)!important;translate:none!important;filter:saturate(.96);transition-duration:80ms!important;
}
.dcp-root .dcp-recommendation__image{overflow:hidden!important}
.dcp-root .dcp-recommendation__image img{
    transform:scale(1.001);transition:transform 360ms cubic-bezier(.22,.78,.24,1),filter 240ms ease!important;will-change:transform;
}
.dcp-root .dcp-recommendation:hover .dcp-recommendation__image img{
    transform:scale(1.035)!important;filter:saturate(1.04) contrast(1.015);
}
@keyframes dcp-launcher-premium-confirmed{
    0%{scale:.92;opacity:.58}48%{scale:1.045;opacity:1}72%{scale:.992}100%{scale:1;opacity:1}
}
.dcp-launcher--floating{
    will-change:left,right,bottom,opacity,scale;
    transition:left 420ms cubic-bezier(.22,.78,.24,1),right 420ms cubic-bezier(.22,.78,.24,1),bottom 320ms ease,opacity 220ms ease,scale 320ms cubic-bezier(.22,.78,.24,1)!important;
}
.dcp-launcher--floating.dcp-launcher--confirmed{
    animation:dcp-launcher-premium-confirmed 620ms cubic-bezier(.22,.78,.24,1) both!important;
}
@media(min-width:621px){
    .dcp-root.dcp-recs-side-panel{--dcp-recs-motion-duration:420ms;--dcp-recs-motion-easing:cubic-bezier(.22,.78,.24,1)}
    .dcp-root.dcp-recs-side-panel .dcp-rail{
        transition:transform var(--dcp-recs-motion-duration) var(--dcp-recs-motion-easing),opacity 220ms ease,visibility 0s linear var(--dcp-recs-motion-duration)!important;will-change:transform,opacity;
    }
    .dcp-root.dcp-recs-side-panel.is-recommendations-open .dcp-rail{transition-delay:0s!important}
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger{
        transition:transform var(--dcp-recs-motion-duration) var(--dcp-recs-motion-easing),background-color 180ms ease,color 180ms ease!important;will-change:transform;
    }
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-trigger:hover{translate:none!important}
}
@media(max-width:620px){
    .dcp-root .dcp-mobile-recommendations,
    .dcp-root .dcp-mobile-recommendations__viewport,
    .dcp-root .dcp-mobile-recommendations__track{
        background:transparent!important;border:0!important;box-shadow:none!important;contain:none!important;clip-path:none!important;
    }
    .dcp-root .dcp-mobile-recommendations__viewport{
        overflow-x:auto!important;overflow-y:visible!important;padding-inline:2px 28px!important;scroll-padding-inline:2px 28px!important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendation{overflow:visible!important;clip-path:none!important}
}
@media(prefers-reduced-motion:reduce){
    .dcp-launcher--floating.dcp-launcher--confirmed{animation:none!important}
    .dcp-root .dcp-recommendation__image img,.dcp-root .dcp-rail,.dcp-root .dcp-recommendations-trigger{transition:none!important}
}

/* MPA_CART_RECOMMENDATION_ASSEMBLY_1_9_2_FINAL */
@media (min-width: 621px) {
    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-rail {
        overflow: visible !important;
    }

    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        position: absolute !important;
        top: 50% !important;
        right: 100% !important;
        left: auto !important;
        transform: translateY(-50%) !important;
        transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 180ms ease !important;
        will-change: auto !important;
    }

    .dcp-root.dcp-side-left.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations-trigger {
        right: auto !important;
        left: 100% !important;
    }

    .dcp-root.dcp-recs-side-panel .dcp-recommendations-companion .dcp-recommendations {
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
}

@media (max-width: 620px) {
    .dcp-root .dcp-recommendations-companion {
        display: none !important;
    }
}
