/* The drawer is independent of archive, product and checkout layout styles. */
body.bimb-cart-open { overflow: hidden; }
#bimb-cart-drawer[hidden], .bimb-cart-backdrop[hidden] { display: none; }
#bimb-cart-drawer {
    --drawer-ink: var(--bimb-ui-ink, #1f2226);
    --drawer-muted: #7f8792;
    --drawer-line: #d4dde3;
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 100001;
    display: flex;
    flex-direction: column;
    width: min(100%, 480px);
    height: 100dvh;
    max-height: 100dvh;
    padding: 0;
    overflow: hidden;
    color: var(--drawer-ink);
    background: linear-gradient(155deg, #f5f8fa, #edf3f6);
    border-radius: 26px 0 0 26px;
    box-shadow: -16px 0 60px rgb(31 34 38 / 16%);
    text-align: left;
    font-family: var(--bimb-ui-font-body, inherit);
}
#bimb-cart-drawer *, #bimb-cart-drawer *::before, #bimb-cart-drawer *::after { box-sizing: border-box; }
#bimb-cart-drawer .bimb-cart-heading {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 25px 28px;
    margin: 0;
    border-bottom: 1px solid var(--drawer-line);
}
#bimb-cart-drawer .bimb-cart-heading h2 { margin: 0; font-size: 19px; line-height: 1.4; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
#bimb-cart-drawer .bimb-cart-close { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid transparent; border-radius: 50%; padding: 0; background: transparent; color: var(--drawer-ink); font: 32px/1 sans-serif; cursor: pointer; }
#bimb-cart-drawer .bimb-cart-close:hover { background: #e8edf0; }
#bimb-cart-drawer .widget_shopping_cart_content { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
#bimb-cart-drawer ul.woocommerce-mini-cart { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; margin: 0; padding: 26px 24px; list-style: none; }
#bimb-cart-drawer li.woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 18px; margin: 0 0 16px; padding: 24px 20px; border: 1px solid var(--drawer-line); border-radius: 24px; background: #fff; font-size: 14px; line-height: 1.5; }
#bimb-cart-drawer li.woocommerce-mini-cart-item:last-child { margin-bottom: 0; }
#bimb-cart-drawer .bimb-mini-cart__image { padding-top: 1px; }
#bimb-cart-drawer li.woocommerce-mini-cart-item a:not(.remove) { display: block; padding: 0; text-decoration: none; color: inherit; }
#bimb-cart-drawer li.woocommerce-mini-cart-item img { display: block; float: none; width: 82px; height: 108px; max-width: 100%; margin: 0; border-radius: 12px; object-fit: cover; }
#bimb-cart-drawer .bimb-mini-cart__body { min-width: 0; padding-top: 23px; }
#bimb-cart-drawer .bimb-mini-cart__name { margin: 0 0 12px; color: var(--drawer-ink); font-size: 16px; line-height: 1.4; font-weight: 600; letter-spacing: -.015em; text-transform: none; overflow-wrap: anywhere; }
#bimb-cart-drawer .bimb-mini-cart__price { font-size: 21px; font-weight: 500; line-height: 1.3; }
#bimb-cart-drawer .bimb-price { display: flex; flex-direction: column; gap: 0; max-width: 100%; }
#bimb-cart-drawer .bimb-price__values { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
#bimb-cart-drawer .bimb-price__values ins { order: 1; color: inherit; background: transparent; font: inherit; text-decoration: none; }
#bimb-cart-drawer .bimb-price__values del { order: 2; color: var(--drawer-muted); font-size: 14px; font-weight: 400; opacity: 1; }
#bimb-cart-drawer .woocommerce-Price-amount { color: inherit; font: inherit; white-space: nowrap; }
#bimb-cart-drawer .bimb-omnibus-price { display: block; margin-top: 8px; font-size: 11px; line-height: 1.5; font-weight: 400; letter-spacing: 0; color: var(--drawer-muted); }
#bimb-cart-drawer .bimb-omnibus-price strong { font: inherit; }
#bimb-cart-drawer dl.variation { display: block; margin: 0 0 10px; padding: 0; border: 0; color: var(--drawer-muted); font-size: 12px; }
#bimb-cart-drawer dl.variation dt { float: left; clear: left; margin-right: 5px; font-weight: 500; }
#bimb-cart-drawer dl.variation dd, #bimb-cart-drawer dl.variation p { margin: 0; padding: 0; }
#bimb-cart-drawer .bimb-mini-cart__quantity { display: flex; align-items: center; gap: 6px; width: fit-content; margin-top: 15px; }
#bimb-cart-drawer .bimb-mini-cart__quantity button { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; margin: 0; padding: 0; border: 1px solid #d9dde2; border-radius: 9px; background: #fff; color: var(--drawer-ink); font-family: inherit; font-size: 21px; line-height: 1; cursor: pointer; }
#bimb-cart-drawer .bimb-mini-cart__quantity button:hover:not(:disabled) { border-color: var(--drawer-ink); background: #f3f5f6; }
#bimb-cart-drawer .bimb-mini-cart__quantity button:disabled { opacity: .4; cursor: default; }
#bimb-cart-drawer .bimb-mini-cart__quantity input { appearance: textfield; width: 42px; height: 38px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--drawer-ink); font-size: 15px; line-height: 38px; text-align: center; box-shadow: none; transition: background .45s ease, color .45s ease, border-color .45s ease, transform .4s ease; }
#bimb-cart-drawer .bimb-mini-cart__quantity input::-webkit-inner-spin-button, #bimb-cart-drawer .bimb-mini-cart__quantity input::-webkit-outer-spin-button { appearance: none; margin: 0; }
#bimb-cart-drawer .bimb-mini-cart__fixed-quantity { margin: 12px 0 0; color: var(--drawer-muted); font-size: 12px; }
#bimb-cart-drawer .bimb-mini-cart__line-total { margin: 10px 0 0; color: var(--drawer-muted); font-size: 12px; }
#bimb-cart-drawer .bimb-mini-cart__line-total strong { color: var(--drawer-ink); font-weight: 500; }
#bimb-cart-drawer .bimb-mini-cart__availability { margin: 8px 0 0; color: var(--drawer-muted); font-size: 12px; }
#bimb-cart-drawer li.woocommerce-mini-cart-item a.remove { position: absolute; top: 13px; right: 14px; display: inline-flex; align-items: center; justify-content: center; width: auto; height: 32px; padding: 0 6px; border-radius: 5px; background: transparent; color: var(--drawer-muted) !important; font-size: 10px; font-weight: 400; line-height: 1; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
#bimb-cart-drawer li.woocommerce-mini-cart-item a.remove:hover { color: var(--drawer-ink) !important; background: #f2f4f5; }
#bimb-cart-drawer .bimb-mini-cart__footer { flex: 0 0 auto; padding: 23px 28px max(26px, env(safe-area-inset-bottom)); border-top: 1px solid var(--drawer-line); background: #f7f9fa; }
#bimb-cart-drawer .woocommerce-mini-cart__total { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; border: 0; font-size: 30px; font-weight: 600; }
#bimb-cart-drawer .woocommerce-mini-cart__total > strong { font-size: 12px; line-height: 1.4; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--drawer-muted); }
#bimb-cart-drawer .woocommerce-mini-cart__total .tax_label { font-size: 11px; font-weight: 400; color: var(--drawer-muted); }
#bimb-cart-drawer .bimb-mini-cart__footnote { margin: 12px 0 18px; color: var(--drawer-muted); font-size: 11px; line-height: 1.6; }
#bimb-cart-drawer .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 10px; margin: 0; }
#bimb-cart-drawer .woocommerce-mini-cart__buttons a.button, #bimb-cart-drawer a.bimb-mini-cart__shop { display: flex; align-items: center; justify-content: center; min-height: 54px; width: 100%; margin: 0; padding: 15px 20px; border: 1px solid var(--drawer-ink); border-radius: 6px; background: var(--drawer-ink); color: #fff; font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; text-align: center; box-shadow: none; transition: background .45s ease, color .45s ease, border-color .45s ease, transform .4s ease; }
#bimb-cart-drawer .woocommerce-mini-cart__buttons a.button:hover, #bimb-cart-drawer a.bimb-mini-cart__shop:hover { background: var(--bimb-ui-graphite, #2b2e31); border-color: var(--bimb-ui-graphite, #2b2e31); color: #fff; }
#bimb-cart-drawer .bimb-mini-cart__empty { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; padding: 40px 32px; text-align: center; }
#bimb-cart-drawer .bimb-mini-cart__empty svg { margin-bottom: 24px; color: #a4aeb7; }
#bimb-cart-drawer .bimb-mini-cart__empty h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.4; }
#bimb-cart-drawer .woocommerce-mini-cart__empty-message { margin: 0 0 26px; color: var(--drawer-muted); font-size: 14px; line-height: 1.7; }
#bimb-cart-drawer .bimb-mini-cart-status:not(:empty) { flex: 0 0 auto; padding: 10px 28px; font-size: 12px; line-height: 1.5; background: #fff; }
#bimb-cart-drawer :is(a, button, input):focus-visible { outline: 2px solid var(--drawer-ink); outline-offset: 3px; }
#bimb-cart-drawer[aria-busy="true"] .widget_shopping_cart_content { opacity: .65; }
@media (max-width: 480px) {
    #bimb-cart-drawer { width: 100%; border-radius: 0; }
    #bimb-cart-drawer .bimb-cart-heading { padding: 15px 18px; }
    #bimb-cart-drawer .bimb-cart-heading h2 { font-size: 17px; }
    #bimb-cart-drawer ul.woocommerce-mini-cart { padding: 18px 14px; }
    #bimb-cart-drawer li.woocommerce-mini-cart-item { grid-template-columns: 65px minmax(0, 1fr); gap: 14px; padding: 20px 15px; border-radius: 20px; }
    #bimb-cart-drawer li.woocommerce-mini-cart-item img { width: 65px; height: 88px; border-radius: 9px; }
    #bimb-cart-drawer .bimb-mini-cart__name { font-size: 14px; }
    #bimb-cart-drawer .bimb-mini-cart__price { font-size: 20px; }
    #bimb-cart-drawer .bimb-mini-cart__footer { padding: 18px 20px max(20px, env(safe-area-inset-bottom)); }
    #bimb-cart-drawer .woocommerce-mini-cart__total { font-size: 27px; }
}
@media (prefers-reduced-motion: no-preference) {
    #bimb-cart-drawer:not([hidden]) { animation: bimb-drawer-enter .22s ease-out; }
    @keyframes bimb-drawer-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
}
/* Woo's float clearfix must not become extra grid items in the card. */
#bimb-cart-drawer li.woocommerce-mini-cart-item::before,
#bimb-cart-drawer li.woocommerce-mini-cart-item::after { display:none; content:none; }

#bimb-cart-drawer .woocommerce-mini-cart__buttons { display:grid; grid-template-columns:1fr 1.3fr; gap:10px; }
#bimb-cart-drawer .woocommerce-mini-cart__buttons a.button { font-size:10px; padding:14px 8px; }
#bimb-cart-drawer .woocommerce-mini-cart__buttons a.bimb-mini-cart__checkout { background:transparent; color:var(--drawer-ink); }
@media(prefers-reduced-motion:no-preference) {
 #bimb-cart-drawer.bimb-cart-closing { animation:bimb-drawer-exit .22s ease-in forwards; }
 .bimb-cart-backdrop { animation:bimb-backdrop-enter .22s ease-out; }
 .bimb-cart-backdrop.bimb-cart-closing { animation:bimb-backdrop-exit .22s ease-in forwards; }
 @keyframes bimb-drawer-exit { to { transform:translateX(100%); } }
 @keyframes bimb-backdrop-enter { from { opacity:0; } to { opacity:1; } }
 @keyframes bimb-backdrop-exit { to { opacity:0; } }
}

#bimb-cart-drawer.bimb-cart-refreshing .widget_shopping_cart_content { pointer-events:none; opacity:.65; }

/* Brand outline variant: fill and label change together on hover. */
#bimb-cart-drawer .woocommerce-mini-cart__buttons a.bimb-mini-cart__checkout:hover { background:var(--drawer-ink); border-color:var(--drawer-ink); color:#fff; }
#bimb-cart-drawer .woocommerce-mini-cart__buttons a.button:active,
#bimb-cart-drawer a.bimb-mini-cart__shop:active { transform:scale(.97); }
@media(prefers-reduced-motion:reduce) {
 #bimb-cart-drawer .woocommerce-mini-cart__buttons a.button,
 #bimb-cart-drawer a.bimb-mini-cart__shop { transition:none; }
}
