/* =========================================================
   KONIRY — CART DRAWER (Phase 6)
   Loaded site-wide whenever WooCommerce is active — add-to-cart (and
   therefore the drawer opening) can happen from the homepage, shop,
   category, related-products, search, or single product page.
   ========================================================= */

html.koniry-scroll-lock,
html.koniry-scroll-lock body{
  overflow:hidden;
}

.cart-drawer-overlay{
  position:fixed;inset:0;background:rgba(20,26,22,.45);
  opacity:0;transition:opacity .3s ease;z-index:300;
}
.cart-drawer-overlay.is-visible{opacity:1}

.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(440px,92vw);
  background:#fff;
  box-shadow:-24px 0 60px rgba(20,26,22,.2);
  z-index:301;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
.cart-drawer.is-open{transform:translateX(0)}
.cart-drawer.is-loading .cart-drawer-inner{opacity:.55;pointer-events:none}

.cart-drawer-inner{
  display:flex;flex-direction:column;height:100%;
  transition:opacity .2s ease;
}

.cart-drawer-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 26px;border-bottom:1px solid #EEEAE2;flex-shrink:0;
}
.cart-drawer-title{
  font-family:'Fraunces',serif;font-size:21px;font-weight:500;
  display:flex;align-items:center;gap:10px;margin:0;
}
.cart-drawer-title .cart-count{
  position:static;background:var(--accent);color:#fff;font-size:12px;
  font-weight:700;min-width:22px;height:22px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;padding:0 6px;
}
.cart-drawer-close{
  background:none;border:none;font-size:28px;line-height:1;cursor:pointer;
  color:var(--ink);padding:4px 8px;border-radius:8px;
}
.cart-drawer-close:hover{background:var(--sand)}
.cart-drawer-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

.cart-drawer-notices{padding:16px 26px 0}
.cart-drawer-notices .woocommerce-message,
.cart-drawer-notices .woocommerce-error,
.cart-drawer-notices .woocommerce-info{margin-bottom:0;font-size:13.5px;padding:14px 18px}

.cart-drawer-empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:20px;padding:40px;text-align:center;color:var(--body);
}

.cart-drawer-items{
  flex:1;overflow-y:auto;padding:8px 26px;
}
.cart-drawer-item{
  display:flex;gap:16px;padding:20px 0;border-bottom:1px solid #F1EEE6;
}
.cart-drawer-item:last-child{border-bottom:none}
.cdi-image{flex-shrink:0;width:76px;height:76px;border-radius:14px;overflow:hidden;background:var(--sand)}
.cdi-image img{width:100%;height:100%;object-fit:cover}
.cdi-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cdi-title{font-size:15px;font-weight:600;margin:0;line-height:1.35}
.cdi-title a{text-decoration:none;color:var(--ink)}
.cdi-variation{font-size:12.5px;color:var(--body)}
.cdi-variation dl{display:flex;flex-wrap:wrap;gap:4px 10px;margin:2px 0 0}
.cdi-variation dt,.cdi-variation dd{margin:0;font-size:12.5px}
.cdi-variation dt{font-weight:600}
.cdi-variation dt::after{content:":"}
.cdi-price{font-size:14.5px;font-weight:700;color:var(--ink)}
.cdi-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.cdi-qty{display:inline-flex;align-items:center;gap:0;border:1px solid #E7E2D8;border-radius:var(--r-pill);overflow:hidden}
.cdi-qty-btn{width:30px;height:30px;background:none;border:none;cursor:pointer;font-size:16px;color:var(--ink);display:flex;align-items:center;justify-content:center;line-height:1}
.cdi-qty-btn:hover:not(:disabled){background:var(--sand)}
.cdi-qty-btn:disabled{opacity:.35;cursor:not-allowed}
.cdi-qty-value{min-width:26px;text-align:center;font-size:14px;font-weight:600}
.cdi-remove{background:none;border:none;padding:0;font-size:12.5px;color:var(--body);text-decoration:underline;cursor:pointer}
.cdi-remove:hover{color:var(--accent)}

.cart-drawer-footer{
  flex-shrink:0;padding:22px 26px 26px;border-top:1px solid #EEEAE2;
  box-shadow:0 -8px 20px rgba(20,26,22,.04);
}
.cdf-subtotal{display:flex;align-items:center;justify-content:space-between;font-size:16px;margin-bottom:4px}
.cdf-subtotal strong{font-size:19px;color:var(--ink)}
.cdf-note{font-size:12px;color:var(--body);margin-bottom:18px}
.cdf-actions{display:flex;flex-direction:column;gap:10px}
.cdf-actions .btn{width:100%;justify-content:center;padding:15px}
.cdf-continue{background:none;border:none;padding:8px;font-size:13.5px;color:var(--body);text-decoration:underline;cursor:pointer;text-align:center}
.cdf-continue:hover{color:var(--accent)}

@media(max-width:480px){
  .cart-drawer{width:100vw}
  .cart-drawer-header,.cart-drawer-items,.cart-drawer-footer{padding-left:20px;padding-right:20px}
  .cdi-qty-btn{width:34px;height:34px;font-size:18px}
}
