/* Common extras: cart drawer, qty buttons, pincode, sticky bar, badges (sab skins ke liye). */

body.no-scroll{overflow:hidden}
/* Cart drawer */
.cart-drawer{position:fixed;inset:0;z-index:90;visibility:hidden}
.cart-drawer.open{visibility:visible}
.cd-overlay{position:absolute;inset:0;background:rgba(36,18,47,.55);opacity:0;transition:opacity .2s}
.cart-drawer.open .cd-overlay{opacity:1}
.cd-panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--paper);border-left:var(--bw) solid var(--line);transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column}
.cart-drawer.open .cd-panel{transform:none}
.cd-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:var(--bw) solid var(--line)}
.cd-head h2{margin:0;font-size:1.4rem}
.cd-close{background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--ink)}
.cd-panel .widget_shopping_cart_content{flex:1;overflow:auto;padding:1rem 1.2rem;display:flex;flex-direction:column}
.cd-panel ul.cart_list{list-style:none;margin:0;padding:0;flex:1}
.cd-panel ul.cart_list li{display:grid;grid-template-columns:64px 1fr;gap:.2rem .8rem;padding:.8rem 0;border-bottom:1px solid var(--soft);position:relative}
.cd-panel ul.cart_list li img{grid-row:1/4;width:64px;height:64px;object-fit:cover;border-radius:8px;float:none;margin:0}
.cd-panel ul.cart_list li a:not(.remove){font-weight:600;text-decoration:none}
.cd-panel a.remove{position:absolute;right:0;top:.8rem;color:var(--sale)!important;text-decoration:none;font-size:1.3rem}
.cd-panel .woocommerce-mini-cart__total{display:flex;justify-content:space-between;padding:1rem 0;font-weight:700}
.cd-panel .woocommerce-mini-cart__buttons{display:grid;gap:.6rem}
.cd-panel .woocommerce-mini-cart__buttons a{text-align:center}
.cd-panel .woocommerce-mini-cart__empty-message{padding:2rem 0;text-align:center}
/* Qty buttons */
.woocommerce .quantity{display:inline-flex;align-items:stretch;border:var(--bw) solid var(--line);border-radius:999px;overflow:hidden;background:var(--card)}
.woocommerce .quantity .qty{width:3.2rem;border:0;border-radius:0;text-align:center;padding:.5rem 0;-moz-appearance:textfield;background:transparent}
.woocommerce .quantity .qty::-webkit-outer-spin-button,.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{border:0;background:var(--soft);color:var(--ink);width:2.4rem;font:700 1.2rem var(--f-head);cursor:pointer}
.qty-btn:hover{background:var(--accent)}
/* Product page */
.pin-check{margin:1rem 0;padding:1rem;border:var(--bw) dashed var(--line);border-radius:var(--r);background:var(--soft)}
.pin-check label{font-weight:700;display:block;margin-bottom:.5rem}
.pin-row{display:flex;gap:.6rem}
.pin-row input{flex:1;min-width:0;border-radius:999px}
.pin-out{margin:.6rem 0 0;font-weight:600;min-height:1.2em}
.pin-out.ok{color:#1B7F3B}.pin-out.no{color:var(--sale)}
.pdp-trust{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.4rem}
.pdp-trust li{padding-left:1.6rem;position:relative;font-weight:500}
.pdp-trust li::before{content:"";position:absolute;left:0;top:.55em;width:.9rem;height:.9rem;border-radius:50%;background:var(--accent2);border:var(--bw) solid var(--line)}
.sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:58;background:var(--paper);border-top:var(--bw) solid var(--line);padding:.6rem 1rem;display:none;align-items:center;justify-content:space-between;gap:1rem}
.sa-info{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.sa-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--f-head)}
@media (max-width:640px){.sticky-atc:not([hidden]){display:flex;bottom:52px}}
/* Cart + shop */
.wa-order{display:block;text-align:center;margin-top:.8rem}
.filters{border:var(--bw) solid var(--line);border-radius:var(--r);background:var(--card);margin-bottom:1.2rem}
.filters summary{cursor:pointer;padding:.7rem 1.1rem;font:700 1rem var(--f-head)}
.filters-body{padding:0 1.1rem 1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.badge{position:absolute;top:-10px;right:-6px;z-index:3;border:var(--bw) solid var(--line);border-radius:6px;padding:.3rem .6rem;font:800 .8rem var(--f-head);transform:rotate(4deg)}
.badge-new{background:var(--accent2)}
.badge-low{background:var(--accent)}
