/* ──────────────────────────────────────────────────────────────
 * PanQube — koszyk: ikona w nawigacji + strona /koszyk
 * ────────────────────────────────────────────────────────────── */

/* ─── Ikona koszyka w nawigacji ─── */
.cart-nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px; height:38px;
  text-decoration:none;
  color:var(--charcoal);
  transition:color .2s;
}
.cart-nav-link:hover{ color:var(--accent); }
.cart-nav-link svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.7; }
.cart-nav-badge{
  position:absolute;
  top:2px; right:2px;
  min-width:18px; height:18px;
  padding:0 5px;
  background:var(--accent);
  color:var(--dark);
  border-radius:9px;
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0;
  display:flex;
  align-items:center;
  justify-content:center;
  visibility:hidden;
}
.cart-nav-badge.has-items{ visibility:visible; }

/* ─── Strona /koszyk ─── */
.cart-page{
  padding-top:64px;
  min-height:100vh;
}
.cart-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:4rem 2rem 6rem;
  display:grid;
  grid-template-columns:1fr 380px;
  gap:0;
}
.cart-main{ padding-right:4rem; }

.cart-back{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--stone);text-decoration:none;
  margin-bottom:2.5rem;transition:color .2s;
}
.cart-back:hover{ color:var(--charcoal); }
.cart-back svg{ width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2; }

.cart-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3vw,3rem);
  font-weight:300;line-height:1.1;margin-bottom:.4rem;
}
.cart-subtitle{
  font-size:0.88rem;color:var(--stone);font-weight:300;margin-bottom:3rem;
}

/* ─── Lista pozycji ─── */
.cart-empty{
  text-align:center;padding:4rem 1rem;
  background:var(--cream);
}
.cart-empty p{ font-size:0.95rem;color:var(--stone);margin-bottom:1.5rem; }

.cart-items{ margin-bottom:3rem; }
.cart-item{
  display:grid;
  grid-template-columns:96px 1fr auto;
  gap:1.4rem;
  align-items:center;
  padding:1.4rem 0;
  border-bottom:1px solid var(--border);
}
.cart-item:first-child{ border-top:1px solid var(--border); }
.cart-item-img{
  width:96px;height:96px;object-fit:cover;background:var(--cream);
}
.cart-item-info{ min-width:0; }
.cart-item-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;font-weight:400;color:var(--charcoal);
  line-height:1.1;margin-bottom:.3rem;
}
.cart-item-tag{
  font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--sage);margin-bottom:.4rem;
}
.cart-item-color{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:0.78rem;color:var(--stone);
  margin-bottom:.5rem;
}
.cart-item-color-dot{
  width:14px;height:14px;flex-shrink:0;
  border:1px solid rgba(0,0,0,.1);
}
.cart-item-line{
  font-size:0.78rem;color:var(--stone);
}
.cart-item-line strong{ color:var(--charcoal);font-weight:500; }

.cart-item-controls{
  display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;
}
.qty-input{
  display:inline-flex;align-items:center;
  border:1px solid var(--border);background:var(--cream);
}
.qty-btn{
  width:30px;height:30px;border:none;background:transparent;
  cursor:pointer;font-size:1rem;color:var(--charcoal);
  transition:background .15s;
}
.qty-btn:hover{ background:var(--sand); }
.qty-val{
  min-width:34px;text-align:center;
  font-size:0.85rem;font-weight:500;
}
.cart-item-remove{
  background:none;border:none;cursor:pointer;
  font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--stone);transition:color .2s;
}
.cart-item-remove:hover{ color:#c0392b; }
.cart-item-price{
  font-size:0.95rem;font-weight:500;color:var(--charcoal);
  white-space:nowrap;
}

/* ─── Formularz klienta ─── */
.cart-form-step{ margin-bottom:3rem; }
.cart-form-header{
  display:flex;align-items:center;gap:1rem;
  margin-bottom:1.5rem;padding-bottom:1rem;
  border-bottom:1px solid var(--border);
}
.cart-form-num{
  width:28px;height:28px;background:var(--charcoal);color:var(--cream);
  font-size:0.7rem;font-weight:500;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.cart-form-label{
  font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;
  font-weight:500;color:var(--charcoal);
}

/* ─── Podsumowanie (sticky) ─── */
.cart-summary{
  position:sticky;top:88px;align-self:start;
  background:var(--cream);padding:2.4rem;
}
.cart-summary-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;font-weight:400;color:var(--charcoal);
  margin-bottom:1.8rem;padding-bottom:1rem;
  border-bottom:1px solid var(--border);
}
.cart-summary-empty{
  font-size:0.85rem;color:var(--stone);text-align:center;padding:1rem 0;
}
.cart-summary-line{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:.6rem;font-size:0.82rem;
}
.cart-summary-line .lbl{ color:var(--stone); }
.cart-summary-line .val{ color:var(--charcoal);font-weight:500; }
.cart-summary-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding-top:1rem;border-top:1px solid var(--border);
  margin-top:1rem;margin-bottom:2rem;
}
.cart-summary-total-lbl{
  font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--charcoal);font-weight:500;
}
.cart-summary-total-val{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;font-weight:400;color:var(--charcoal);
}
.cart-checkout-actions{
  display:flex;flex-direction:column;gap:.75rem;
}
.cart-checkout-btn{
  width:100%;padding:1.1rem 1.5rem;
  background:var(--charcoal);color:var(--cream);
  font-family:'DM Sans',sans-serif;font-weight:500;
  font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  transition:background .22s;
}
.cart-checkout-btn:hover{ background:var(--accent);color:var(--dark); }
.cart-checkout-btn:disabled{ opacity:.6;cursor:not-allowed; }
.cart-checkout-btn-secondary{
  background:transparent;color:var(--charcoal);
  border:1px solid var(--border);
}
.cart-checkout-btn-secondary:hover{
  background:var(--warm-white);border-color:var(--charcoal);color:var(--charcoal);
}
.cart-checkout-btn-secondary:disabled{ opacity:.6;cursor:not-allowed; }

.cart-summary-note{
  font-size:0.68rem;color:var(--stone);
  margin-top:.9rem;line-height:1.65;text-align:center;
}
.cart-summary-note a{ color:var(--stone); }

/* ─── Toast „dodano do koszyka" ─── */
.cart-toast{
  position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(120%);
  background:var(--charcoal);color:var(--cream);
  padding:.95rem 1.5rem;
  font-size:0.82rem;letter-spacing:0.05em;
  display:flex;align-items:center;gap:.7rem;
  box-shadow:0 6px 24px rgba(0,0,0,.18);
  z-index:200;opacity:0;
  transition:transform .25s ease,opacity .25s ease;
  pointer-events:none;
}
.cart-toast.show{
  transform:translateX(-50%) translateY(0);
  opacity:1;
  pointer-events:auto;
}
.cart-toast svg{ width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2.2; }
.cart-toast a{
  color:var(--accent);text-decoration:underline;font-weight:500;
  margin-left:.4rem;
}

/* ─── RESPONSIVE ─── */
@media(max-width:960px){
  .cart-wrap{ grid-template-columns:1fr;padding:3rem 1.5rem 5rem; }
  .cart-main{ padding-right:0;margin-bottom:2.5rem; }
  .cart-summary{ position:static; }
}
@media(max-width:540px){
  .cart-item{ grid-template-columns:72px 1fr;grid-template-rows:auto auto;gap:.8rem 1rem; }
  .cart-item-img{ width:72px;height:72px;grid-row:1/3; }
  .cart-item-controls{ grid-column:2;align-items:flex-start; }
}
