/* Sihab Siddik: isolated, responsive cart drawer. */
html.sp-cart-drawer-open,html.sp-cart-drawer-open body{overflow:hidden}
.sp-cart-drawer:not([open]){display:none}
dialog.sp-cart-drawer{position:fixed;inset:0 0 0 auto;box-sizing:border-box;width:min(440px,100%);max-width:100%;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:20px 0 0 20px;background:#fff;color:#111827;box-shadow:-12px 0 48px rgba(15,23,42,.16);font-family:var(--sp-body-font,system-ui,sans-serif);font-size:14px;line-height:1.5;overflow:hidden}
dialog.sp-cart-drawer[open]{display:flex;flex-direction:column;animation:sp-cart-enter .22s ease-out}
.sp-cart-drawer::backdrop{background:rgba(15,23,42,.46)}
.sp-cart-drawer *{box-sizing:border-box}
.sp-cart-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid #e7ebf2;flex-shrink:0}
.sp-cart-drawer-head>div{display:flex;align-items:center;gap:10px}
.sp-cart-drawer-head h2{margin:0;color:#111827;font-family:inherit;font-size:21px;line-height:1.3;font-weight:700}
.sp-cart-drawer button.sp-cart-close{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid #e7ebf2;border-radius:10px;background:#fff;color:#334155;cursor:pointer;box-shadow:none}
.sp-cart-drawer button.sp-cart-close:hover{background:#f6f8fb}
.sp-cart-drawer-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px}
.sp-cart-drawer .widget_shopping_cart_content{display:flex;flex-direction:column;gap:20px}
.sp-cart-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.sp-cart-drawer .woocommerce-mini-cart li.mini_cart_item{position:relative;display:block;min-height:92px;margin:0;padding:0 30px 20px 84px;border-bottom:1px solid #e7ebf2;list-style:none;overflow-wrap:anywhere}
.sp-cart-drawer .woocommerce-mini-cart li.mini_cart_item+li{margin-top:20px}
.sp-cart-drawer .woocommerce-mini-cart li a:not(.remove){display:block;padding:0;color:#111827;text-decoration:none;font-size:14px;font-weight:650;line-height:1.5}
.sp-cart-drawer .woocommerce-mini-cart li img{position:absolute;left:0;top:0;float:none;width:68px;height:76px;max-width:68px;margin:0;border:1px solid #e7ebf2;border-radius:10px;background:#f6f8fb;object-fit:contain}
.sp-cart-drawer .woocommerce-mini-cart li a.remove{position:absolute;inset:0 0 auto auto;display:grid;place-items:center;width:26px;height:26px;border:1px solid #e7ebf2;border-radius:50%;color:#64748b!important;background:#fff;font-size:20px;line-height:1;font-weight:400;text-decoration:none}
.sp-cart-drawer .woocommerce-mini-cart li a.remove:hover{background:#fef2f2;color:#b91c1c!important;border-color:#fecaca}
.sp-cart-drawer .woocommerce-mini-cart .quantity{display:block;margin-top:8px;color:#64748b;font-size:13px}
.sp-cart-drawer .woocommerce-mini-cart dl.variation{margin:6px 0;padding:0;border:0;color:#64748b;font-size:12px}
.sp-cart-drawer dl.variation dt,.sp-cart-drawer dl.variation dd,.sp-cart-drawer dl.variation p{margin:0;padding:0}
.sp-cart-drawer dl.variation dt{float:left;clear:left;margin-right:5px}
.sp-cart-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:0;border:0;font-size:16px;color:#111827}
.sp-cart-drawer .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.sp-cart-drawer .woocommerce-mini-cart__buttons a.button{display:flex;justify-content:center;align-items:center;min-height:46px;margin:0;padding:12px 14px;border:1px solid #e7ebf2;border-radius:10px!important;background:#f6f8fb;color:#111827;box-shadow:none;text-decoration:none;font-size:14px;line-height:1.3;text-align:center;font-weight:650;white-space:normal}
.sp-cart-drawer .woocommerce-mini-cart__buttons a.checkout{background:var(--sp-primary,#2563eb);border-color:var(--sp-primary,#2563eb);color:#fff}
.sp-cart-drawer .woocommerce-mini-cart__empty-message{margin:0;padding:54px 12px;color:#64748b;text-align:center;font-size:15px}
.sp-cart-drawer-foot{flex-shrink:0;padding:18px 24px max(18px,env(safe-area-inset-bottom));border-top:1px solid #e7ebf2;text-align:center;background:#fafbfd}
.sp-cart-drawer-foot a{color:var(--sp-primary,#2563eb);text-decoration:none;font-weight:600}
.sp-cart-drawer :is(a,button):focus-visible{outline:2px solid var(--sp-primary,#2563eb);outline-offset:3px}
@keyframes sp-cart-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:480px){dialog.sp-cart-drawer{width:100%;border-radius:0}.sp-cart-drawer-head{padding:18px}.sp-cart-drawer-body{padding:20px 18px}.sp-cart-drawer-head h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){dialog.sp-cart-drawer[open]{animation:none}}
/* Keep controls anchored and avoid native widget image/button overrides. */
.sp-cart-drawer .widget_shopping_cart_content{min-height:100%}
.sp-cart-drawer .woocommerce-mini-cart{flex:1}
.sp-cart-drawer .widget_shopping_cart .woocommerce-mini-cart li img{position:absolute;left:0;top:0;float:none;width:68px;height:76px;max-width:68px;margin:0;object-fit:contain}
.sp-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total{margin:0;padding:0;border:0}
.sp-cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout){background:#f6f8fb!important;border-color:#e7ebf2!important;color:#111827!important}
