/* MPA Cart Lab v1.8.9 — final responsive authority loaded after frontend.css. */
.dcp-root .dcp-item__remove { margin:0 !important; }
@media (max-width:767px) {
    .dcp-launcher--floating[data-dcp-launcher-visibility="nonempty"][data-dcp-cart-count="0"],
    .dcp-launcher--floating[data-dcp-launcher-visibility="nonempty"][hidden] {
        display:none !important;
        visibility:hidden !important;
    }
    .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; }

    /* Mobile cart cards own their gutters. No composition may touch or exceed
       the drawer edge, and the absolute remove control always stays inside the
       same visual inset used by the card content. */
    .dcp-root .dcp-items {
        box-sizing:border-box !important; width:100% !important; min-width:0 !important;
        padding-inline:clamp(12px,3.8vw,18px) !important; overflow-x:clip !important;
    }
    .dcp-root .dcp-item {
        box-sizing:border-box !important; width:100% !important; max-width:100% !important; min-width:0 !important;
        margin-inline:0 !important; padding-inline:12px !important; overflow:hidden !important;
    }
    .dcp-root .dcp-item__content,
    .dcp-root .dcp-item__top,
    .dcp-root .dcp-item__bottom,
    .dcp-root .dcp-item__heading { box-sizing:border-box !important; min-width:0 !important; max-width:100% !important; }
    .dcp-root .dcp-item__name { overflow-wrap:anywhere !important; word-break:normal; }
    .dcp-root .dcp-item__bottom { flex-wrap:wrap; }
    .dcp-root .dcp-quantity { max-width:100% !important; flex:0 1 auto; }
    .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,
    .dcp-root.dcp-mobile-items-auto.dcp-items-compact-row .dcp-item__image,
    .dcp-root.dcp-mobile-items-compact-row .dcp-item__image { border-radius:10px !important; }

    .dcp-root.dcp-remove-top-right .dcp-item__remove { top:12px !important; right:12px !important; }
    .dcp-root.dcp-remove-bottom-right .dcp-item__remove { right:12px !important; bottom:12px !important; }
    .dcp-root.dcp-remove-center-right .dcp-item__remove { right:12px !important; }
    .dcp-root.dcp-remove-top-left .dcp-item__remove { top:12px !important; left:12px !important; }
    .dcp-root.dcp-remove-bottom-left .dcp-item__remove { bottom:12px !important; left:12px !important; }
    .dcp-root.dcp-remove-center-left .dcp-item__remove { left:12px !important; }

    .dcp-root.dcp-remove-top-right .dcp-item__top { padding-inline-end:calc(max(34px,var(--dcp-remove-size,34px)) + 10px) !important; }
    .dcp-root.dcp-remove-bottom-right .dcp-item__bottom { padding-inline-end:calc(max(34px,var(--dcp-remove-size,34px)) + 10px) !important; }
    .dcp-root.dcp-remove-center-right .dcp-item__content { padding-inline-end:calc(max(34px,var(--dcp-remove-size,34px)) + 10px) !important; }
    .dcp-root.dcp-remove-top-left.dcp-image-hidden .dcp-item__top { padding-inline-start:calc(max(34px,var(--dcp-remove-size,34px)) + 10px) !important; }
    .dcp-root.dcp-remove-bottom-left.dcp-image-hidden .dcp-item__bottom { padding-inline-start:calc(max(34px,var(--dcp-remove-size,34px)) + 10px) !important; }
    .dcp-root.dcp-remove-center-left.dcp-image-hidden .dcp-item__content { padding-inline-start:calc(max(34px,var(--dcp-remove-size,34px)) + 10px) !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; box-shadow:0 -8px 24px rgb(15 23 42 / 4%);
    }

    .dcp-root .dcp-mobile-recommendations:not([hidden]) {
        display:block !important; box-sizing:border-box; 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; overscroll-behavior-x:contain;
        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;
        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;
    }

    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] {
        grid-auto-flow:column !important; grid-auto-columns:minmax(272px,92%) !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:74px 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:74px !important; height:84px !important;
        aspect-ratio:auto !important; border-radius:9px !important;
    }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__actions { gap:3px !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__actions > * { padding:0 4px !important; font-size:8.5px !important; }
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__action-icon,
    .dcp-root .dcp-mobile-recommendations .dcp-recommendations--mobile[data-recommendation-style="premium-carousel"] .dcp-recommendation__action-icon svg { width:15px !important; height:15px !important; min-width:15px !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; 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;
    }

    .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;
        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;
    }
    .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;
    }
}
