/* Only the shell is new. Basket content styles are shared with Basket.twig. */
#one-star-sidecard-layer[hidden]{display:none!important}
#one-star-sidecard-layer{position:fixed;top:var(--sidecard-top,0px);right:0;bottom:0;left:0;z-index:1025;isolation:isolate;background:#0004}
#one-star-sidecard{position:absolute;right:0;top:0;bottom:0;width:min(100%,760px);display:flex;flex-direction:column;background:white;box-shadow:-8px 0 28px #0002;container:one-star-sidecard / size;overflow:hidden}
#one-star-sidecard-close{position:absolute;right:12px;top:4px;z-index:5;width:44px;height:44px;border:0;background:#fff;border-radius:50%;color:#34343a;font:32px/1 system-ui;cursor:pointer}
#one-star-sidecard-close:focus-visible{outline:2px solid #005e85;outline-offset:-4px}
#one-star-sidecard-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative;background:white}
#one-star-sidecard-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:12px}
#one-star-sidecard-scroll .page-content.basket{padding-top:0!important;margin-top:0!important}
#one-star-sidecard-scroll .one-star-basket-heading{padding-right:48px!important}
#one-star-sidecard-dock{flex:none;background:#f8f9fa;border-top:1px solid #dee2e6;padding:8px 15px calc(8px + env(safe-area-inset-bottom,0px));z-index:2;max-height:45%;overflow:auto;overscroll-behavior:contain}
#one-star-sidecard-dock .one-star-basket-action-group{display:block!important}
#one-star-sidecard-dock .one-star-basket-checkout{position:relative!important;display:flex!important;align-items:center;justify-content:center;width:100%;height:46px!important;min-height:46px!important;border-radius:999px!important;padding:0 3rem!important;font-size:1.25rem!important;font-weight:500!important}
#one-star-sidecard-dock .one-star-basket-checkout>i{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%)}
#one-star-sidecard-dock .one-star-mobile-basket-amount{display:inline-flex!important;gap:.4em}
#one-star-sidecard-dock .one-star-basket-checkout-label{display:inline-flex;align-items:baseline;justify-content:center;gap:.4em}
#one-star-sidecard-dock .one-star-basket-security-desktop{display:none!important}
#one-star-sidecard-scroll .one-star-basket-summary{position:static!important;max-height:none!important;overflow:visible!important}
#one-star-sidecard-status{padding:64px 24px;color:#34343a}
#one-star-sidecard-status button{background:#fafafa;color:#005e85;border:1px solid #005e85;border-radius:20px;padding:10px 20px}
html.one-star-sidecard-open{overflow:hidden!important;overscroll-behavior:none}
body.one-star-sidecard-open.one-star-sidecard-fixed-body{position:fixed!important;top:var(--sidecard-scroll-top)!important;left:0;right:0;width:100%;overflow:hidden!important}
/* The header is deliberately outside the modal layer and remains interactive. */
html.one-star-sidecard-open #page-header{z-index:1030!important}
/* Use the available tablet width; a narrow backdrop strip adds no useful space. */
@media(max-width:1199.98px){#one-star-sidecard{width:100%}}
/* A drawer always uses the compact basket column, even on a wide page. */
#one-star-sidecard-layer{bottom:var(--sidecard-bottom,0px)}
#one-star-sidecard-content .page-content.basket>.row>.col-md-8,
#one-star-sidecard-content .page-content.basket>.row>.col-md-4{flex:0 0 100%!important;width:100%!important;max-width:100%!important}
#one-star-sidecard-content .page-content.basket>.row>.col-md-8{padding-left:15px!important;padding-right:15px!important;margin-bottom:8px!important}
#one-star-sidecard-content .page-content.basket>.row>.col-md-4{padding-left:0!important;padding-right:0!important}
#one-star-sidecard-content .one-star-basket-security-mobile{display:block!important}
#one-star-sidecard-dock .one-star-basket-checkout-label{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:baseline;width:100%;gap:.4em}
#one-star-sidecard-dock .one-star-basket-checkout-label>span:first-child{grid-column:1;text-align:right}
#one-star-sidecard-dock .one-star-mobile-basket-amount{display:contents!important}
#one-star-sidecard-dock .one-star-mobile-basket-amount>span:first-child{grid-column:2;text-align:center}
#one-star-sidecard-dock .one-star-mobile-basket-amount>span:last-child{grid-column:3;text-align:left}

/* Same close control as the shop login overlay, aligned with the basket title. */
.one-star-sidecard-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
#one-star-sidecard-scroll .one-star-sidecard-heading-row .one-star-basket-heading{padding-right:0!important;flex:1;min-width:0}
#one-star-sidecard-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;padding:0;background:transparent;color:#5f6368;font-size:0;line-height:0;opacity:1;text-shadow:none;appearance:none}
.one-star-sidecard-heading-row #one-star-sidecard-close{position:relative;inset:auto}
#one-star-sidecard-close::before,#one-star-sidecard-close::after{position:absolute;top:50%;left:50%;width:18px;height:2px;border-radius:1px;background:currentColor;content:""}
#one-star-sidecard-close::before{transform:translate(-50%,-50%) rotate(45deg)}
#one-star-sidecard-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
#one-star-sidecard-close:hover,#one-star-sidecard-close:active{background:#f2f3f4;color:#1d1d1f}
#one-star-sidecard-dock .one-star-basket-action-group{position:relative!important;inset:auto!important;margin:0!important;padding:0!important;border:0!important;min-height:0!important}

/* Pin before locking body: iOS sticky positioning otherwise loses its scroll
   reference. VisualViewport updates account for Safari bars and keyboard. */
html.one-star-sidecard-open #page-header.one-star-sidecard-pinned-header{position:fixed!important;top:var(--sidecard-header-top,0px)!important;left:var(--sidecard-header-left,0px)!important;width:var(--sidecard-header-width,100%)!important;transform:none!important;z-index:1030!important}

/* Heading margins must not bias flex alignment against the close control. */
#one-star-sidecard-scroll .one-star-sidecard-heading-row{margin-bottom:18px}
#one-star-sidecard-scroll .one-star-sidecard-heading-row .one-star-basket-heading{margin:0!important}
/* Drawer spacing is independent of the full basket page's section padding. */
#one-star-sidecard-scroll{padding-top:0!important}
#one-star-sidecard-scroll .page-content.basket>.row.py-3{padding-top:1rem!important;margin-top:0!important}
#one-star-sidecard-scroll .one-star-sidecard-heading-row{position:relative;margin:20px 0 18px!important}

/* Desktop retains document flow and sticky product positioning. Compensate
   the removed scrollbar so image columns do not change width. */
body.one-star-sidecard-open:not(.one-star-sidecard-fixed-body){overflow:hidden!important;padding-right:var(--sidecard-scrollbar-gap,0px)!important}

/* Cover the page breadcrumb while leaving navigation above the drawer usable. */
#one-star-sidecard-layer{z-index:1031}
#one-star-sidecard-close{transform:translateX(var(--sidecard-close-shift,0px))}

/* Follow the actual header mode, including wider tablet/mobile navigation. */
#one-star-sidecard.one-star-sidecard-full-width{width:100%}

/* Mobile navigation uses a readable right-aligned action in the title row. */
#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-close{flex:0 0 auto;width:auto;min-height:44px;height:auto;padding:0 0 0 12px;border-radius:0;font:inherit;font-size:1rem;font-weight:300;line-height:1.25;color:#000;text-align:right;transform:none}
#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-close::before,
#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-close::after{display:none}

#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-close:hover,
#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-close:active{background:transparent;color:#000}

/* Desktop uses the original basket container and Bootstrap 8/4 split. */
#one-star-sidecard.one-star-sidecard-desktop{width:100%;box-shadow:none}
#one-star-sidecard.one-star-sidecard-desktop #one-star-sidecard-content .page-content.basket>.row>.col-md-8{flex:0 0 66.666667%!important;width:66.666667%!important;max-width:66.666667%!important}
#one-star-sidecard.one-star-sidecard-desktop #one-star-sidecard-content .page-content.basket>.row>.col-md-4{flex:0 0 33.333333%!important;width:33.333333%!important;max-width:33.333333%!important;padding-right:15px!important}
#one-star-sidecard.one-star-sidecard-desktop .one-star-basket-action-group{position:static!important;inset:auto!important}
#one-star-sidecard.one-star-sidecard-desktop .one-star-basket-security-mobile{display:none!important}
#one-star-sidecard.one-star-sidecard-desktop .one-star-basket-security-desktop{display:contents!important}
#one-star-sidecard.one-star-sidecard-desktop .one-star-mobile-basket-amount{display:none!important}
#one-star-sidecard-dock[hidden]{display:none!important}

/* The summary stays reachable while the article column scrolls to accessories. */
#one-star-sidecard.one-star-sidecard-desktop #one-star-sidecard-scroll .one-star-basket-summary{position:sticky!important;top:2rem!important;max-height:calc(100dvh - var(--sidecard-top,0px) - 2rem - 24px)!important;overflow:auto!important;overscroll-behavior:contain}
#one-star-sidecard.one-star-sidecard-full-width .one-star-sidecard-heading-row{align-items:baseline}
#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-close{min-height:0;height:auto;align-self:baseline;padding-top:0;padding-bottom:0}

/* Use the same heading spacing as Basket and WishListStyle. */
@media(min-width:768px) and (max-width:991.98px){
#one-star-sidecard-scroll .page-content.basket>.row.py-3{padding-top:20px!important}
#one-star-sidecard-scroll .one-star-sidecard-heading-row{margin:0 0 16px!important}
}
@media(max-width:767.98px){
#one-star-sidecard-scroll .page-content.basket>.row.py-3{padding-top:16px!important}
#one-star-sidecard-scroll .one-star-sidecard-heading-row{margin:0 0 16px!important}
}
/* The desktop close target must not enlarge the original heading line box. */
#one-star-sidecard.one-star-sidecard-desktop .one-star-sidecard-heading-row #one-star-sidecard-close{position:absolute;right:0;top:50%;transform:translateY(-50%)}

/* Keep the requested centered continue-shopping link within the native grid. */
#one-star-sidecard.one-star-sidecard-desktop #one-star-sidecard-scroll .one-star-summary-continue{display:flex;justify-content:center!important;width:100%;text-align:center!important}

/* Basket rows switch from stacked phone controls to side controls at 576px.
   Apply the tablet heading gap at that same boundary, including 576–767px.
   Do not let inherited landscape/short-window rules add another gap step. */
#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-scroll .one-star-basket-list-shell{padding-top:0!important}
@media(min-width:576px){
#one-star-sidecard.one-star-sidecard-full-width #one-star-sidecard-scroll .one-star-sidecard-heading-row{margin-bottom:28px!important}
}

/* Reserve the complete panel while native basket components mount. Visibility
   preserves geometry and prevents the dock/icons from painting ahead of items. */
#one-star-sidecard-content[data-loading="true"] #one-star-sidecard-scroll,
#one-star-sidecard-content[data-loading="true"] #one-star-sidecard-scroll *,
#one-star-sidecard-content[data-loading="true"] #one-star-sidecard-dock,
#one-star-sidecard-content[data-loading="true"] #one-star-sidecard-dock *{visibility:hidden!important}
#one-star-sidecard-content[data-loading="true"] #one-star-sidecard-close{visibility:visible!important}
#one-star-sidecard-loading{position:absolute;inset:0;display:flex;align-items:flex-start;padding:64px 24px;pointer-events:none;color:#34343a}

/* Match the normal basket's summary inset above the separate mobile checkout dock. */
#one-star-sidecard:not(.one-star-sidecard-desktop) .one-star-basket-summary{padding-bottom:1rem!important}

/* Keep space below the final desktop row inside the scrollable content. */
#one-star-sidecard.one-star-sidecard-desktop #one-star-sidecard-scroll .page-content.basket{padding-bottom:2rem!important}
