/* CAMO — cart drawer (Style 02 Retail Bold). Ivory panel, charcoal type, DIN headings, EDGE green / GLOW gold accents. */
.cd-root{position:fixed; inset:0; z-index:2000; --cd-ink:#141513; --cd-ink2:#55574f; --cd-paper:#F6F2EA; --cd-line:rgba(20,21,19,.12);
  --cd-din:"DIN Alternate", Bahnschrift, "Roboto Condensed", "Arial Narrow", system-ui, sans-serif; --cd-ease:cubic-bezier(.4, 0, .2, 1)}
.cd-root[hidden]{display:none}
.cd-scrim{position:absolute; inset:0; background:rgba(8,9,10,.55); opacity:0; transition:opacity .35s var(--cd-ease)}
.cd-panel{position:absolute; top:0; right:0; bottom:0; display:flex; flex-direction:column; width:min(440px, 100vw); background:var(--cd-paper); color:var(--cd-ink);
  box-shadow:-24px 0 60px -20px rgba(0,0,0,.55); transform:translateX(100%); transition:transform .35s var(--cd-ease); outline:none}
.cd-root.is-open .cd-scrim{opacity:1}
.cd-root.is-open .cd-panel{transform:none}
.cd-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; background:#0d0f0e; color:#fff}
.cd-title{margin:0; font:700 18px/1 var(--cd-din); letter-spacing:.18em; text-transform:uppercase}
.cd-x{display:grid; place-items:center; width:40px; height:40px; margin:-6px -8px -6px 0; padding:0; border:0; border-radius:50%; background:transparent; color:#fff; cursor:pointer}
.cd-x svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round}
.cd-x:hover{background:rgba(255,255,255,.1)}
.cd-body{flex:1; overflow-y:auto; overscroll-behavior:contain; padding:6px 22px}
.cd-msg{margin:14px 0 4px; padding:10px 12px; border-radius:10px; background:#fbe9e2; color:#7a2a12; font:500 14px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif}
.cd-retry{margin-left:6px; padding:0; border:0; background:none; color:inherit; font:700 13px/1 inherit; text-decoration:underline; cursor:pointer}
.cd-list{margin:0; padding:0; list-style:none}
.cd-line{display:grid; grid-template-columns:88px minmax(0, 1fr) auto; gap:14px; padding:18px 0; border-bottom:1px solid var(--cd-line)}
.cd-img{width:88px; height:88px; border-radius:12px; background:#fff; box-shadow:0 0 0 1px var(--cd-line); overflow:hidden}
.cd-img img{display:block; width:100%; height:100%; object-fit:contain}
.cd-info{min-width:0}
.cd-info p{margin:0}
.cd-brand{font:700 11px/1.2 var(--cd-din); letter-spacing:.2em; text-transform:uppercase}
.cd-brand--edge{color:#2c7a12} .cd-brand--glow{color:#9A6A25}
.cd-name{margin-top:2px !important; font:800 16px/1.25 system-ui, -apple-system, "Segoe UI", sans-serif}
.cd-spec, .cd-unit{font:400 13px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; color:var(--cd-ink2)}
.cd-warn{margin-top:6px !important; font:600 13px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; color:#a1321b}
.cd-line.is-bad .cd-img{opacity:.55}
.cd-row{display:flex; align-items:center; gap:14px; margin-top:10px}
.cd-qty{display:inline-flex; align-items:center; border:1px solid rgba(20,21,19,.25); border-radius:999px}
.cd-qty button{display:grid; place-items:center; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--cd-ink); font:600 18px/1 system-ui, sans-serif; cursor:pointer}
.cd-qty button:disabled{color:rgba(20,21,19,.28); cursor:not-allowed}
.cd-qty button:not(:disabled):hover{background:rgba(20,21,19,.07)}
.cd-q{min-width:24px; text-align:center; font:700 15px/1 var(--cd-din)}
.cd-remove{padding:4px 0; border:0; background:none; color:var(--cd-ink2); font:600 13px/1 system-ui, sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.cd-remove:hover{color:var(--cd-ink)}
.cd-total{margin:0; font:700 16px/1.25 var(--cd-din); white-space:nowrap}
.cd-empty{padding:48px 0 24px; text-align:center}
.cd-empty p{margin:0 0 18px; font:600 16px/1.4 system-ui, sans-serif; color:var(--cd-ink2)}
.cd-shop{display:inline-flex; align-items:center; min-height:46px; padding:0 24px; border-radius:999px; background:#0d0f0e; color:#fff; text-decoration:none;
  font:700 13px/1 var(--cd-din); letter-spacing:.16em; text-transform:uppercase}
.cd-foot{padding:16px 22px 22px; border-top:1px solid var(--cd-line); background:#fff}
.cd-foot[hidden]{display:none}
.cd-sub{display:flex; justify-content:space-between; align-items:baseline; font:700 15px/1 var(--cd-din); letter-spacing:.14em; text-transform:uppercase}
.cd-sub strong{font-size:22px; letter-spacing:.02em}
.cd-note{margin:8px 0 14px; font:400 12.5px/1.4 system-ui, sans-serif; color:var(--cd-ink2)}
.cd-checkout{display:block; width:100%; min-height:52px; border:0; border-radius:999px; background:#0d0f0e; color:#fff; cursor:pointer;
  font:700 14px/1 var(--cd-din); letter-spacing:.18em; text-transform:uppercase; box-shadow:0 10px 24px -14px rgba(0,0,0,.6); transition:background .2s ease}
.cd-checkout:not(:disabled):hover{background:#1f2321}
.cd-checkout:disabled{background:#c9c5bc; color:#6d6a62; box-shadow:none; cursor:not-allowed}
.cd-continue{display:block; width:100%; margin-top:10px; padding:10px 0; border:0; background:none; color:var(--cd-ink); cursor:pointer;
  font:700 12.5px/1 var(--cd-din); letter-spacing:.16em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px}
.cd-root :is(button, a):focus-visible{outline:3px solid #2c7a12; outline-offset:2px}
.cd-head .cd-x:focus-visible{outline-color:#39FF14}
.cd-panel[aria-busy="true"] .cd-list{opacity:.6; transition:opacity .2s}
.cd-live{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
html.cd-lock{overflow:hidden}
html.cd-lock body{padding-right:var(--cd-sbw, 0)}
@media (max-width:480px){ .cd-head{padding:16px 18px} .cd-body{padding:4px 18px} .cd-foot{padding:14px 18px 18px} .cd-line{grid-template-columns:72px minmax(0, 1fr) auto; gap:12px} .cd-img{width:72px; height:72px} }
@media (prefers-reduced-motion:reduce){ .cd-scrim, .cd-panel, .cd-checkout{transition:none} }
