/* ══════════════════════════════════════════════
   NUFO CART — slide panel + overlay + badge
   Verzia: 1.0 | Pripravené pre WooCommerce sync
   ══════════════════════════════════════════════ */

/* ── OVERLAY ── */
.cart-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);
  z-index:900;opacity:0;pointer-events:none;
  transition:opacity .28s ease;
}
.cart-overlay.open{opacity:1;pointer-events:all;}

/* ── PANEL ── */
.cart-panel{
  position:fixed;top:0;right:0;height:100vh;width:420px;max-width:100vw;
  background:#fff;z-index:901;
  display:flex;flex-direction:column;
  box-shadow:-6px 0 32px rgba(0,0,0,.18);
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.cart-panel.open{transform:translateX(0);}

/* ── HLAVIČKA PANELU ── */
.cp-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid #e0e0de;
  background:#fff;flex-shrink:0;
}
.cp-title{font-size:17px;font-weight:900;color:#1a1a1a;display:flex;align-items:center;gap:8px;}
.cp-count{
  background:#7700ee;color:#fff;border-radius:20px;
  font-size:11px;font-weight:800;padding:2px 8px;
}
.cp-close{
  width:34px;height:34px;border-radius:50%;border:none;background:#f0f0ee;
  font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:#555;transition:background .15s;
}
.cp-close:hover{background:#e0e0de;color:#111;}

/* ── ZOZNAM POLOŽIEK ── */
.cp-items{
  flex:1;overflow-y:auto;padding:12px;
  scrollbar-width:thin;scrollbar-color:#7700ee #f0f0ee;
}
.cp-items::-webkit-scrollbar{width:4px;}
.cp-items::-webkit-scrollbar-thumb{background:#7700ee;border-radius:2px;}

.cp-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:100%;color:#aaa;font-size:14px;gap:12px;
}
.cp-empty-icon{font-size:48px;opacity:.4;}

/* ── JEDNA POLOŽKA ── */
.cp-item{
  display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:start;
  background:#fafafa;border:1px solid #e8e8e6;border-radius:10px;
  padding:10px;margin-bottom:10px;position:relative;
  transition:border-color .15s;
}
.cp-item:hover{border-color:#7700ee;}

/* Miniatura — canvas render konfiguratora */
.cp-thumb{
  width:120px;height:120px;border-radius:7px;
  object-fit:cover;background:#1a1a1a;
  display:block;flex-shrink:0;
}
.cp-thumb-placeholder{
  width:120px;height:120px;border-radius:7px;
  background:#1a1a1a;display:flex;align-items:center;justify-content:center;
  font-size:28px;color:#666;flex-shrink:0;
}

/* Info blok */
.cp-info{min-width:0;}
.cp-info-name{font-size:14px;font-weight:900;color:#1a1a1a;margin-bottom:3px;}
.cp-info-type{font-size:12px;color:#7700ee;font-weight:700;margin-bottom:6px;}
.cp-info-row{font-size:11px;color:#666;line-height:1.7;}
.cp-info-row b{color:#333;}
.cp-info-id{font-size:9px;color:#bbb;margin-top:6px;font-family:monospace;letter-spacing:.04em;}

/* Qty + cena */
.cp-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;}
.cp-price{font-size:16px;font-weight:900;color:#cc8800;white-space:nowrap;}
.cp-qty{display:flex;align-items:center;gap:4px;}
.cp-qty-btn{
  width:26px;height:26px;border-radius:50%;border:1.5px solid #ccc;
  background:#fff;font-size:14px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#555;transition:all .12s;line-height:1;
}
.cp-qty-btn:hover{border-color:#7700ee;color:#7700ee;}
.cp-qty-val{font-size:14px;font-weight:800;color:#1a1a1a;min-width:20px;text-align:center;}
.cp-del{
  width:24px;height:24px;border-radius:50%;border:none;background:none;
  font-size:14px;cursor:pointer;color:#ccc;transition:color .12s;
  display:flex;align-items:center;justify-content:center;padding:0;
}
.cp-del:hover{color:#cc2200;}

/* ── PÄTA PANELU ── */
.cp-foot{
  border-top:1px solid #e0e0de;padding:14px 18px;
  background:#fff;flex-shrink:0;
}
.cp-summary{margin-bottom:12px;}
.cp-summary-row{
  display:flex;justify-content:space-between;
  font-size:13px;color:#666;padding:3px 0;
}
.cp-summary-row.total{
  font-size:17px;font-weight:900;color:#1a1a1a;
  border-top:1px solid #e0e0de;margin-top:6px;padding-top:8px;
}
.cp-summary-row.total span:last-child{color:#cc8800;}
.cp-free-ship{
  font-size:11px;color:#7700ee;font-weight:600;text-align:center;
  margin-bottom:10px;background:rgba(119,0,238,.06);
  border-radius:6px;padding:5px 10px;
}
.cp-actions{display:flex;flex-direction:column;gap:8px;}
.cp-btn-checkout{
  background:#7700ee;border:none;color:#fff;border-radius:9px;
  padding:13px;font-size:15px;font-weight:900;cursor:pointer;
  transition:background .15s;width:100%;
}
.cp-btn-checkout:hover{background:#6600cc;}
.cp-btn-checkout:disabled{background:#ccc;cursor:not-allowed;}
.cp-btn-continue{
  background:none;border:1.5px solid #ddd;color:#666;border-radius:9px;
  padding:9px;font-size:13px;font-weight:700;cursor:pointer;
  transition:all .15s;width:100%;
}
.cp-btn-continue:hover{border-color:#7700ee;color:#7700ee;}

/* ── HEADER BADGE ── */
.cart-nav-btn{
  position:relative;background:none;border:1.5px solid #ddd;
  border-radius:8px;padding:6px 12px 6px 10px;cursor:pointer;
  display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  color:#555;transition:all .15s;white-space:nowrap;
}
.cart-nav-btn:hover{border-color:#7700ee;color:#7700ee;}
.cart-nav-btn.has-items{border-color:#7700ee;color:#7700ee;background:rgba(119,0,238,.05);}
.cart-badge{
  position:absolute;top:-7px;right:-7px;
  background:#7700ee;color:#fff;border-radius:50%;
  width:18px;height:18px;font-size:10px;font-weight:900;
  display:none;align-items:center;justify-content:center;
  border:2px solid #fff;
}
.cart-badge.visible{display:flex;}

/* ── ANIMÁCIA "PRIDANÉ" ── */
@keyframes cartPop{
  0%{transform:scale(1);}
  40%{transform:scale(1.25);}
  100%{transform:scale(1);}
}
.cart-badge.pop{animation:cartPop .3s ease;}

/* ── TOAST ── */
.cart-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:#1a1a1a;color:#fff;border-radius:10px;padding:11px 20px;
  font-size:13px;font-weight:700;z-index:950;
  transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s;
  opacity:0;white-space:nowrap;pointer-events:none;
  display:flex;align-items:center;gap:8px;box-shadow:0 4px 20px rgba(0,0,0,.25);
}
.cart-toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
.cart-toast-dot{width:8px;height:8px;border-radius:50%;background:#7700ee;flex-shrink:0;}

/* ── PRODUKCIA TLAČIDLO ── */
.cp-btn-produkcia{
  background:rgba(255,170,0,.12);border:1.5px solid rgba(255,170,0,.4);color:#cc8800;
  border-radius:9px;padding:9px;font-size:12px;font-weight:800;cursor:pointer;
  transition:all .15s;width:100%;display:flex;align-items:center;justify-content:center;gap:7px;
  letter-spacing:.04em;text-transform:uppercase;
}
.cp-btn-produkcia:hover{background:rgba(255,170,0,.22);border-color:#cc8800;color:#aa6600;}
.cp-btn-produkcia .prod-badge{
  background:rgba(255,170,0,.25);border-radius:8px;padding:1px 6px;
  font-size:10px;font-weight:900;
}

/* ── MOBILNÉ ÚPRAVY ── */
@media(max-width:460px){
  .cart-panel{width:100vw;}
  .cp-item{grid-template-columns:90px 1fr auto;}
  .cp-thumb,.cp-thumb-placeholder{width:90px;height:90px;}
}
