/* ============ VØLATIL SHOP — Shared cart, drawer, toast ============ */

/* Cart icon button (in nav) */
.cart-btn{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#C8870A;border:1px solid rgba(200,135,10,.4);padding:.5rem 1.2rem;text-decoration:none;background:transparent;cursor:none;transition:background .3s,color .3s;position:relative;display:inline-flex;align-items:center;gap:.55rem;font-weight:400;}
.cart-btn:hover{background:#C8870A;color:#07050F;}
.cart-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.4;}
.cart-count{position:absolute;top:-9px;right:-9px;width:19px;height:19px;background:#8C1C13;color:#F0E5CC;border-radius:50%;font-size:.58rem;font-family:'Cinzel',serif;display:flex;align-items:center;justify-content:center;letter-spacing:0;font-weight:600;}
.cart-count.hidden{display:none;}

/* Overlay + drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);z-index:1100;opacity:0;pointer-events:none;transition:opacity .35s;}
.cart-overlay.open{opacity:1;pointer-events:auto;}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100vw;background:#0E0A1A;border-left:1px solid rgba(200,135,10,.18);z-index:1200;transform:translateX(100%);transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;color:#F0E5CC;font-family:'EB Garamond',serif;}
.cart-drawer.open{transform:translateX(0);}
body.cart-open{overflow:hidden;}
.cart-head{padding:1.8rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(200,135,10,.12);}
.cart-title{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:#E8B060;}
.cart-close{background:transparent;border:none;color:#F0E5CC;font-size:1.6rem;cursor:none;opacity:.55;transition:opacity .3s,transform .3s;line-height:1;padding:0 .3rem;}
.cart-close:hover{opacity:1;transform:rotate(90deg);}

/* Drawer body */
.cart-body{flex:1;overflow-y:auto;padding:.5rem 2rem;}
.cart-empty{text-align:center;padding:5rem 0;}
.cart-empty-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.25rem;opacity:.6;margin-bottom:1.8rem;}
.cart-empty a{color:#E8B060;text-decoration:none;border-bottom:1px solid rgba(232,176,96,.35);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;font-family:'Cinzel',serif;padding-bottom:3px;}

.cart-item{display:grid;grid-template-columns:80px 1fr auto;gap:1rem;padding:1.3rem 0;border-bottom:1px solid rgba(200,135,10,.08);align-items:flex-start;position:relative;}
.cart-item img{width:80px;height:96px;object-fit:cover;background:#07050F;}
.cart-item-name{font-family:'Cinzel',serif;font-size:.98rem;letter-spacing:.1em;font-weight:600;}
.cart-item-meta{font-size:.85rem;opacity:.82;margin-top:.3rem;color:#F0E5CC;}
.cart-item-row{display:flex;justify-content:space-between;align-items:center;margin-top:.85rem;}
.qty{display:inline-flex;align-items:center;border:1px solid rgba(200,135,10,.22);}
.qty button{background:transparent;border:none;color:#F0E5CC;width:26px;height:26px;cursor:none;font-size:.95rem;line-height:1;transition:color .25s;}
.qty button:hover{color:#E8B060;}
.qty span{padding:0 .55rem;font-family:'Cinzel',serif;font-size:.78rem;min-width:30px;text-align:center;}
.cart-item-price{font-family:'Cinzel',serif;color:#C8870A;font-size:.88rem;letter-spacing:.04em;}
.cart-item-x{position:absolute;top:1.3rem;right:0;background:transparent;border:none;color:#F0E5CC;opacity:.32;cursor:none;font-size:1.15rem;transition:opacity .3s;padding:0 .3rem;}
.cart-item-x:hover{opacity:.9;}

/* Drawer foot */
.cart-foot{padding:1.5rem 2rem 2rem;border-top:1px solid rgba(200,135,10,.18);}
.cart-subtotal{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;}
.cart-subtotal-label{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;opacity:.72;}
.cart-subtotal-val{font-family:'Cinzel',serif;font-size:1.45rem;color:#C8870A;letter-spacing:.05em;font-weight:600;}
.cart-foot-note{font-size:.85rem;opacity:.78;margin-bottom:1.2rem;line-height:1.65;color:#F0E5CC;}
.cart-checkout-btn{display:block;width:100%;text-align:center;background:#C8870A;color:#07050F;font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;padding:1rem;text-decoration:none;font-weight:600;transition:background .3s;cursor:none;margin-bottom:.7rem;border:none;}
.cart-checkout-btn:hover{background:#E8B060;}
.cart-view-link{display:block;text-align:center;font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:#F0E5CC;opacity:.55;text-decoration:none;padding:.55rem;cursor:none;transition:opacity .3s;}
.cart-view-link:hover{opacity:1;}

/* Toast */
.shop-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);background:#C8870A;color:#07050F;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;padding:.9rem 2rem;opacity:0;transition:all .4s;z-index:1300;pointer-events:none;font-weight:600;}
.shop-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* Mobile */
@media(max-width:768px){
  .cart-drawer{width:100vw;}
  .cart-head{padding:1.4rem 1.4rem;}
  .cart-body{padding:.4rem 1.4rem;}
  .cart-foot{padding:1.3rem 1.4rem 1.8rem;}
  .cart-btn{padding:.45rem .85rem;font-size:.6rem;}
  .cart-btn span.cart-btn-label{display:none;}
}
