/* ========================================= */
/* CART DRAWER + TOGGLE */
/* ========================================= */

/* Header cart button (injected into .navbar) */
.cart-toggle {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--forest);
  background: transparent;
  transition: opacity 0.3s var(--ease), border-color 0.3s var(--ease), background 0.3s var(--ease), transform 0.3s var(--ease);
  z-index: 95;
}
.cart-toggle:hover {
  border-color: var(--forest);
  background: rgba(11, 46, 29, 0.04);
  color: var(--forest-deep);
  transform: translateY(-50%) scale(1.05);
}
.cart-toggle svg {
  width: 1.3rem;
  height: 1.3rem;
}
.cart-toggle__count {
  position: absolute;
  top: -0.2rem;
  right: -0.2rem;
  display: grid;
  place-items: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  border-radius: 50%;
  background: var(--gold);
  color: var(--forest-deep);
  font-family: var(--mono);
  font-size: 0.6rem;
  font-weight: 600;
  line-height: 1;
  border: 2.2px solid var(--paper); /* Cut-out gap styling */
  transform: scale(0);
  transition: transform 0.25s var(--ease);
}
.cart-toggle__count.is-shown {
  transform: scale(1);
}
@media(min-width:64.01rem){.navbar{padding-right:3.4rem}}
@media(max-width:64rem){
  .cart-toggle {
    right: 0;
  }
}

/* Overlay */
.cart-overlay{position:fixed;inset:0;z-index:140;background:rgba(3,18,11,.55);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.cart-overlay.is-open{opacity:1;visibility:visible}

/* Drawer */
.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:145;display:flex;flex-direction:column;width:min(90vw,27rem);background:var(--ivory);box-shadow:-2.5rem 0 5rem rgba(3,18,11,.3);transform:translateX(100%);transition:transform .45s var(--ease)}
.cart-drawer.is-open{transform:none}
.cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.6rem;border-bottom:1px solid var(--line)}
.cart-drawer__head h2{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.cart-drawer__close{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:border-color .25s var(--ease)}
.cart-drawer__close:hover{border-color:var(--forest)}
.cart-drawer__close svg{width:1.1rem;height:1.1rem}

.cart-drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.5rem 1.6rem}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--muted);text-align:center}
.cart-empty svg{width:2.5rem;height:2.5rem;opacity:.4}
.cart-empty p{font-size:.9rem}

.cart-line{display:flex;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}
.cart-line__thumb{flex:none;width:4.5rem;height:4.5rem;overflow:hidden;background:#e9e2d3}
.cart-line__thumb img{width:100%;height:100%;object-fit:cover}
.cart-line__main{flex:1;display:flex;flex-direction:column;gap:.35rem}
.cart-line__main h3{font-size:.9rem;font-weight:600}
.cart-line__main small{color:var(--muted);font-family:var(--mono);font-size:.56rem;text-transform:uppercase}
.cart-line__row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.cart-line__price{font-weight:600;letter-spacing:-.02em}
.cart-line__remove{margin-top:.3rem;color:var(--muted);font-size:.66rem;text-decoration:underline;text-underline-offset:2px;width:max-content;transition:color .2s var(--ease)}
.cart-line__remove:hover{color:#b4452f}

/* qty stepper (shared look with checkout) */
.cart-qty{display:inline-flex;align-items:center;border:1px solid var(--line)}
.cart-qty button{display:grid;place-items:center;width:1.8rem;height:1.8rem;color:var(--ink);font-size:.95rem;line-height:1;transition:background .2s var(--ease)}
.cart-qty button:hover{background:rgba(11,46,29,.06)}
.cart-qty span{min-width:2rem;text-align:center;font-family:var(--mono);font-size:.74rem}

.cart-drawer__foot{padding:1.4rem 1.6rem;border-top:1px solid var(--line);background:var(--ivory)}
.cart-drawer__totals{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.3rem}
.cart-drawer__totals span{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cart-drawer__totals strong{font-size:1.4rem;font-weight:500;letter-spacing:-.03em}
.cart-drawer__note{margin-bottom:1.1rem;color:var(--success);font-family:var(--mono);font-size:.56rem;text-transform:uppercase}
.cart-drawer__foot .button{width:100%}
.cart-drawer__continue{display:block;width:max-content;margin:1rem auto 0;color:var(--muted);font-size:.74rem;text-decoration:underline;text-underline-offset:3px}
/* END CART DRAWER */
