#cart-count{ background:#d7c07a; color:#0a0a0a; border-radius:1rem; padding:.05rem .45rem; margin-left:.35rem; font-size:.9rem; }
.cart-toast{ position:fixed; bottom:24px; right:24px; background:#111; color:#f3f3f3; border:1px solid #2a2a2a; padding:.7rem 1rem; border-radius:999px; opacity:0; transform:translateY(6px); transition:all .25s ease; z-index:9999; }
.cart-toast.show{ opacity:1; transform:translateY(0); }

/* Cart page layout */
.cart-grid{ display:grid; grid-template-columns: 1.6fr .9fr; gap:28px; max-width:1180px; margin:0 auto; padding:calc(var(--header-h) + 32px) 20px 80px; }
@media (max-width: 900px){ .cart-grid{ grid-template-columns:1fr; } }

.cart-items{ display:flex; flex-direction:column; gap:16px; }
.cart-item{ display:grid; grid-template-columns: 96px 1fr auto; gap:16px; align-items:center; padding:14px; background:#0e0e0e; border:1px solid #1f1f1f; border-radius:12px; }
.cart-item img{ width:96px; height:96px; object-fit:contain; background:#000; border-radius:10px; }
.ci-meta h3{ margin:.1rem 0 .25rem; font-family:Cinzel,serif; }
.ci-price{ color:#d7c07a; margin-bottom:.35rem; }
.ci-qty{ display:flex; align-items:center; gap:10px; }
.ci-qty input{ width:64px; background:#111; border:1px solid #2a2a2a; color:#f3f3f3; padding:.4rem .5rem; border-radius:8px; }
.ci-remove{ background:transparent; border:1px solid #2a2a2a; color:#f3f3f3; padding:.4rem .7rem; border-radius:999px; }
.ci-line{ font-weight:600; }

.cart-summary{ background:#0e0e0e; border:1px solid #1f1f1f; border-radius:16px; padding:20px; height:fit-content; position:sticky; top:calc(var(--header-h) + 20px); }
.cart-summary h2{ font-family:Cinzel,serif; margin-top:.2rem; }
.cart-summary .row{ display:flex; justify-content:space-between; padding:.5rem 0; }
.cart-summary .row.small{ color:#bbb; font-size:.95rem; }
.cart-summary .row.total{ font-size:1.15rem; font-weight:700; }
.cart-summary .divider{ border-top:1px solid #2a2a2a; margin:.7rem 0; }
.link-under{ display:inline-block; margin-top:10px; text-decoration:underline; }

.cart-empty{ text-align:center; padding:calc(var(--header-h) + 40px) 20px 100px; }
.cart-empty h1{ font-family:Cinzel,serif; margin-bottom:14px; }

.cart-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.4);
  opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:9998;
}
.cart-overlay.show{ opacity:1; pointer-events:auto; }

.cart-drawer{
  position:fixed; top:0; right:0; height:100vh; width:min(420px, 94vw);
  background:#0e0e0e; border-left:1px solid #1f1f1f; box-shadow:-16px 0 40px rgba(0,0,0,.35);
  transform:translateX(100%); transition:transform .28s ease; z-index:9999; color:#f3f3f3;
  display:flex; flex-direction:column;
}
.cart-drawer.show{ transform:translateX(0); }
.cd-header{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid #1f1f1f; }
.cd-header h2{ font-family:Cinzel,serif; margin:0; font-size:1.2rem; letter-spacing:.5px; }
.cd-close{ background:transparent; border:0; color:#f3f3f3; font-size:1.6rem; line-height:1; cursor:pointer; }
.cd-body{ padding:14px 16px; overflow:auto; flex:1; display:flex; flex-direction:column; gap:12px; }
.cd-footer{ border-top:1px solid #1f1f1f; padding:14px 16px; }
.cd-footer .row{ display:flex; justify-content:space-between; margin-bottom:.4rem; }
.cd-footer .tiny{ color:#bdbdbd; font-size:.9rem; margin:.2rem 0 .8rem; }

.mini-item{ display:grid; grid-template-columns:72px 1fr auto; gap:12px; align-items:center; padding:10px; background:#0a0a0a; border:1px solid #1f1f1f; border-radius:12px; }
.mini-item img{ width:72px; height:72px; object-fit:contain; background:#000; border-radius:10px; }
.mini-meta h4{ margin:0 0 .2rem; font-family:Cinzel,serif; font-size:1rem; }
.mini-meta .price{ color:#d7c07a; font-size:.98rem; }
.mini-qty{ display:flex; align-items:center; gap:8px; margin-top:.3rem; }
.mini-qty input{ width:58px; background:#111; border:1px solid #2a2a2a; color:#f3f3f3; padding:.35rem .45rem; border-radius:8px; }
.mini-remove{ background:transparent; border:1px solid #2a2a2a; color:#f3f3f3; padding:.35rem .6rem; border-radius:999px; font-size:.9rem; }
.mini-line{ font-weight:600; }

@media (max-width: 420px){
  .mini-item{ grid-template-columns:56px 1fr; }
  .mini-line{ display:none; }
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}
/* CART ACTION BUTTONS — GARMR style */
.cart-drawer .cd-footer .btn-gold,
.cart-drawer .cd-footer .btn-outline,
.cart-summary .btn-gold,
.cart-summary .btn-outline,
.cart-empty .btn-gold {
  display: block;
  width: 100%;
  padding: 14px 22px;
  margin-top: 12px;
  border-radius: 999px;
  font: 700 16px/1.1 'Poppins', system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: none;
  text-align: center;
  text-decoration: none;           /* remove link underline */
  outline: 0;
  -webkit-appearance: none;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    color .18s ease,
    border-color .18s ease;
}

/* Primary: Checkout */
.cart-drawer .cd-footer .btn-gold,
.cart-summary .btn-gold,
.cart-empty .btn-gold {
  background: linear-gradient(180deg, #d8bb6a 0%, #b8923a 100%);
  color: #0a0a0a;
  border: 1px solid #c7a24e;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 8px 24px rgba(200,166,82,.22);
}
.cart-drawer .cd-footer .btn-gold:hover,
.cart-summary .btn-gold:hover,
.cart-empty .btn-gold:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 12px 28px rgba(200,166,82,.30);
  filter: saturate(1.05);
}
.cart-drawer .cd-footer .btn-gold:active,
.cart-summary .btn-gold:active,
.cart-empty .btn-gold:active {
  transform: translateY(0);
  filter: brightness(.96);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 6px 16px rgba(200,166,82,.22);
}
.cart-drawer .cd-footer .btn-gold:focus-visible,
.cart-summary .btn-gold:focus-visible,
.cart-empty .btn-gold:focus-visible {
  outline: 2px solid rgba(200,166,82,.65);
  outline-offset: 3px;
}

/* Secondary: Clear Cart */
.cart-drawer .cd-footer .btn-outline,
.cart-summary .btn-outline {
  background: transparent;
  color: var(--gold);
  border: 1px solid rgba(200,166,82,.6);
  box-shadow: inset 0 0 0 0 rgba(200,166,82,0);
}
.cart-drawer .cd-footer .btn-outline:hover,
.cart-summary .btn-outline:hover {
  background: rgba(200,166,82,.10);
  color: #fff;
  border-color: rgba(200,166,82,.85);
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 9999px rgba(200,166,82,.05);
}
.cart-drawer .cd-footer .btn-outline:active,
.cart-summary .btn-outline:active {
  transform: translateY(0);
  background: rgba(200,166,82,.08);
}
.cart-drawer .cd-footer .btn-outline:focus-visible,
.cart-summary .btn-outline:focus-visible {
  outline: 2px solid rgba(200,166,82,.55);
  outline-offset: 3px;
}

/* Disabled / loading states (optional) */
.cart-drawer .cd-footer .btn-gold.is-loading,
.cart-drawer .cd-footer .btn-outline.is-loading,
.cart-drawer .cd-footer .btn-gold[aria-busy="true"],
.cart-drawer .cd-footer .btn-outline[aria-busy="true"],
.cart-summary .btn-gold.is-loading,
.cart-summary .btn-outline.is-loading,
.cart-summary .btn-gold[aria-busy="true"],
.cart-summary .btn-outline[aria-busy="true"],
.cart-empty .btn-gold.is-loading,
.cart-empty .btn-gold[aria-busy="true"] {
  pointer-events: none;
  opacity: .65;
  filter: grayscale(.1);
}
