:root { --cart-navy:#071426; --cart-green:#17683b; --cart-gold:#d6a62f; --cart-border:#dfe6e2; }
body.cart-lock { overflow:hidden; }
[data-cart-count] { min-width:20px; height:20px; padding:0 5px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:var(--cart-gold); color:var(--cart-navy); font-size:.7rem; font-weight:900; }
.cart-overlay { position:fixed; inset:0; z-index:9998; background:rgba(4,13,24,.58); opacity:0; pointer-events:none; transition:opacity .2s ease; }
.cart-overlay.open { opacity:1; pointer-events:auto; }
.cart-drawer { position:fixed; z-index:9999; top:0; right:0; width:min(440px,100%); height:100dvh; background:#fff; box-shadow:-18px 0 48px rgba(0,0,0,.2); transform:translateX(105%); transition:transform .25s ease; display:flex; flex-direction:column; color:#17211c; }
.cart-drawer.open { transform:translateX(0); }
.cart-drawer-head { padding:20px 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--cart-border); }
.cart-drawer-title { margin:0; font-size:1.15rem; font-weight:900; }
.cart-close { border:0; background:#eef3f0; width:38px; height:38px; border-radius:50%; cursor:pointer; font-size:1.2rem; }
.cart-items { padding:16px 18px; overflow:auto; flex:1; }
.cart-empty { text-align:center; padding:60px 20px; color:#637169; }
.cart-empty-icon { font-size:3.2rem; margin-bottom:12px; }
.cart-line { display:grid; grid-template-columns:78px 1fr auto; gap:12px; padding:14px 0; border-bottom:1px solid #edf1ef; }
.cart-line img { width:78px; height:78px; border-radius:10px; object-fit:contain; background:#f6f8f7; }
.cart-line-name { color:#132118; text-decoration:none; font-weight:800; font-size:.88rem; line-height:1.35; }
.cart-line-price { margin-top:5px; color:var(--cart-green); font-weight:900; }
.cart-qty { display:flex; align-items:center; gap:7px; margin-top:9px; }
.cart-qty button { width:28px; height:28px; border:1px solid #cbd6d0; background:#fff; border-radius:7px; cursor:pointer; font-weight:900; }
.cart-qty span { min-width:20px; text-align:center; font-weight:800; }
.cart-remove { border:0; background:transparent; color:#a03939; cursor:pointer; align-self:start; padding:4px; }
.cart-drawer-foot { padding:18px 22px 22px; border-top:1px solid var(--cart-border); background:#fbfcfb; }
.cart-total-row { display:flex; justify-content:space-between; gap:20px; margin-bottom:14px; font-size:1.05rem; font-weight:900; }
.cart-checkout-btn { display:flex; align-items:center; justify-content:center; width:100%; min-height:50px; border-radius:10px; background:linear-gradient(135deg,#155f37,#1c7a48); color:#fff; text-decoration:none; font-weight:900; }
.cart-continue { display:block; width:100%; margin-top:10px; border:0; background:transparent; color:#405048; font-weight:700; cursor:pointer; }
.cart-toast { position:fixed; z-index:10000; left:50%; bottom:28px; transform:translate(-50%,30px); background:#092016; color:#fff; border:1px solid rgba(255,255,255,.15); border-radius:10px; padding:12px 18px; opacity:0; pointer-events:none; transition:.22s ease; box-shadow:0 12px 30px rgba(0,0,0,.25); font-weight:800; }
.cart-toast.show { opacity:1; transform:translate(-50%,0); }
.btn-add-to-cart { border:0; border-radius:8px; padding:10px 14px; background:var(--cart-green); color:#fff; cursor:pointer; font-weight:900; }
.btn-add-to-cart:disabled { background:#aeb8b2; cursor:not-allowed; }
.cart-drawer-head { background:linear-gradient(120deg,#071b25,#103d2d); color:#fff; }
.cart-close { background:rgba(255,255,255,.12); color:#fff; transition:background .2s ease,transform .2s ease; }
.cart-close:hover { background:rgba(255,255,255,.2); transform:rotate(4deg); }
.cart-line { transition:background .2s ease; }
.cart-line:hover { background:#fbfdfb; }
.cart-qty button { transition:border-color .2s ease,background .2s ease; }
.cart-qty button:hover { border-color:#609676; background:#f0f8f3; }
.cart-checkout-btn { min-height:54px; box-shadow:0 9px 22px rgba(21,95,55,.22); transition:transform .2s ease,box-shadow .2s ease; }
.cart-checkout-btn:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(21,95,55,.28); }
.cart-checkout-btn:focus-visible,.cart-close:focus-visible,.cart-qty button:focus-visible,.cart-remove:focus-visible { outline:3px solid rgba(214,166,47,.55); outline-offset:2px; }
@media (max-width:600px) { .cart-drawer-head{padding:16px}.cart-items{padding:10px 14px}.cart-line{grid-template-columns:66px 1fr auto}.cart-line img{width:66px;height:66px}.cart-toast{width:calc(100% - 28px);text-align:center} }
@media (prefers-reduced-motion:reduce) { .cart-overlay,.cart-drawer,.cart-toast,.cart-close,.cart-checkout-btn { transition:none; } }
