/* ===== Basket drawer, cart button, order status page ===== */

.cart-button{
  position:relative;
  border:2px solid var(--mint);background:var(--white);
  border-radius:999px;width:46px;height:46px;
  display:grid;place-items:center;cursor:pointer;font-size:1.15rem;
  transition:transform .15s ease, border-color .15s ease;
}
.cart-button:hover{transform:translateY(-2px);border-color:var(--pink);}
.cart-button:focus-visible{outline:3px solid var(--pink);outline-offset:2px;}
.cart-count{
  position:absolute;top:-6px;right:-6px;
  min-width:22px;height:22px;padding:0 6px;
  background:var(--pink);color:var(--white);border-radius:999px;
  font-family:'Baloo 2',sans-serif;font-size:.78rem;font-weight:700;
  display:grid;place-items:center;
}

.cart-backdrop{position:fixed;inset:0;background:rgba(107,88,77,.45);z-index:40;}
.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(420px,100vw);
  background:var(--white);
  border-left:3px solid var(--mint);
  box-shadow:-18px 0 44px -22px rgba(107,88,77,.45);
  z-index:50;display:flex;flex-direction:column;
}
.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;border-bottom:2px dashed var(--mint);
}
.cart-head h2{font-size:1.4rem;color:var(--pink);}
.cart-close{
  border:none;background:transparent;font-size:2rem;line-height:1;
  color:var(--pink);cursor:pointer;padding:0 4px;
}
.cart-close:focus-visible{outline:3px solid var(--pink);outline-offset:2px;}

.cart-body{flex:1;overflow-y:auto;padding:16px 24px;}
.cart-empty{text-align:center;padding:40px 8px;color:var(--green);}
.cart-line{
  display:grid;grid-template-columns:1fr auto;
  grid-template-areas:"name price" "qty remove";
  gap:6px 12px;padding:14px 0;border-bottom:1px solid var(--line);
}
.cart-line-name{grid-area:name;font-weight:700;color:var(--green);}
.cart-line-price{grid-area:price;color:var(--pink);font-weight:700;}
.cart-qty{grid-area:qty;display:flex;align-items:center;gap:10px;}
.cart-qty button{
  width:30px;height:30px;border:2px solid var(--mint);background:var(--white);
  border-radius:999px;cursor:pointer;font-size:1rem;line-height:1;color:var(--green);
}
.cart-qty button:focus-visible{outline:3px solid var(--pink);outline-offset:1px;}
.cart-qty-value{min-width:2ch;text-align:center;font-weight:700;}
.cart-remove{
  grid-area:remove;justify-self:end;border:none;background:transparent;
  color:var(--ink-soft);text-decoration:underline;cursor:pointer;
  font-size:.85rem;font-family:inherit;
}

.cart-foot{padding:18px 24px 24px;border-top:2px dashed var(--mint);}
.cart-totals{margin:0 0 14px;}
.cart-totals div{display:flex;justify-content:space-between;padding:3px 0;}
.cart-totals dt{color:var(--ink-soft);}
.cart-totals dd{margin:0;font-weight:700;}
.cart-grand{
  border-top:1px solid var(--line);margin-top:8px;padding-top:10px !important;
  font-family:'Baloo 2',sans-serif;font-size:1.2rem;
}
.cart-grand dd{color:var(--pink);font-weight:800;}
.cart-note{min-height:1.3em;font-size:.88rem;color:#B3245F;margin-bottom:8px;}
.cart-checkout{width:100%;}
.cart-secure{margin-top:12px;text-align:center;font-size:.76rem;color:var(--ink-soft);}

/* --- Order status page --- */
.order-page{max-width:640px;margin:56px auto;padding:0 22px;}
.order-card{
  background:var(--white);border-radius:var(--radius);
  padding:34px 30px;box-shadow:var(--shadow-lg);
}
.order-card h1{font-size:1.5rem;color:var(--pink);margin-bottom:14px;}
.order-status{
  display:inline-block;padding:6px 16px;border-radius:999px;
  font-family:'Baloo 2',sans-serif;font-weight:700;font-size:.88rem;
}
.order-status.is-paid{background:var(--mint);color:var(--green);}
.order-status.is-pending{background:var(--cream);color:#8A6A12;}
.order-status.is-failed,.order-status.is-cancelled{background:#FFE1EC;color:#B3245F;}
.order-items{list-style:none;padding:0;margin:22px 0 0;}
.order-items li{
  display:flex;justify-content:space-between;gap:12px;
  padding:10px 0;border-bottom:1px solid var(--line);
}
.join-status{margin-top:10px;font-size:.9rem;color:var(--green);}
