/* ═══════════════════════════════════════════════════
   MAGAZIN — E-Commerce Full Styles
   ═══════════════════════════════════════════════════ */

/* ── Shop layout ── */
.shop-layout { display:grid; grid-template-columns:260px 1fr; gap:var(--space-2xl); align-items:start; }

/* ── Sidebar ── */
.shop-sidebar { position:sticky; top:100px; }
.sidebar-card { background:var(--clr-surface); border:1px solid var(--clr-border); border-radius:var(--radius-md); padding:var(--space-lg); margin-bottom:var(--space-md); }
.sidebar-title { font-family:var(--font-condensed); font-size:0.75rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--clr-gold); margin-bottom:var(--space-md); padding-bottom:var(--space-sm); border-bottom:1px solid var(--clr-border); }
.filter-list { list-style:none; display:flex; flex-direction:column; gap:0.2em; }
.filter-item label { display:flex; align-items:center; gap:0.6em; font-size:0.88rem; color:var(--clr-text-dim); cursor:pointer; padding:0.35em 0.5em; border-radius:var(--radius-sm); transition:background var(--dur-fast), color var(--dur-fast); }
.filter-item label:hover { background:rgba(200,136,12,0.06); color:var(--clr-text); }
.filter-item input[type=checkbox] { accent-color:var(--clr-gold); width:15px; height:15px; flex-shrink:0; }
.filter-item .count { margin-left:auto; font-size:0.72rem; color:var(--clr-text-muted); background:rgba(42,64,48,0.4); padding:0.1em 0.45em; border-radius:10px; }
.price-range { display:flex; flex-direction:column; gap:var(--space-sm); }
.price-inputs { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-sm); }
.price-input { background:var(--clr-surface-2); border:1px solid var(--clr-border); border-radius:var(--radius-sm); color:var(--clr-text); font-family:var(--font-body); font-size:0.85rem; padding:0.5em 0.7em; outline:none; width:100%; }
.price-input:focus { border-color:var(--clr-gold); }
.sidebar-apply { width:100%; margin-top:var(--space-sm); font-size:0.8rem; padding:0.6em; }
.sidebar-reset { width:100%; margin-top:0.4em; font-size:0.78rem; padding:0.5em; color:var(--clr-text-muted); background:none; border:none; cursor:pointer; font-family:var(--font-condensed); letter-spacing:0.08em; text-transform:uppercase; transition:color var(--dur-fast); }
.sidebar-reset:hover { color:var(--clr-gold); }

/* ── Shop main ── */
.shop-main {}
.shop-topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--space-xl); flex-wrap:wrap; gap:var(--space-md); }
.results-count { font-size:0.88rem; color:var(--clr-text-dim); }
.results-count strong { color:var(--clr-text); }
.sort-row { display:flex; align-items:center; gap:var(--space-md); }
.sort-select { background:var(--clr-surface); border:1px solid var(--clr-border); border-radius:var(--radius-sm); color:var(--clr-text); font-family:var(--font-body); font-size:0.85rem; padding:0.5em 0.9em; outline:none; cursor:pointer; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A7E6E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; padding-right:28px; }
.view-btns { display:flex; gap:4px; }
.view-btn { width:32px; height:32px; background:transparent; border:1px solid var(--clr-border); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--clr-text-dim); transition:all var(--dur-fast); }
.view-btn.active, .view-btn:hover { border-color:var(--clr-gold); color:var(--clr-gold); background:rgba(200,136,12,0.08); }

/* ── Cat tabs ── */
.cat-tabs { display:flex; gap:var(--space-xs); margin-bottom:var(--space-xl); flex-wrap:wrap; }
.cat-tab { font-family:var(--font-condensed); font-size:0.8rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; padding:0.5em 1.2em; border-radius:var(--radius-sm); border:1.5px solid var(--clr-border); background:transparent; color:var(--clr-text-dim); cursor:pointer; transition:all var(--dur-fast); display:flex; align-items:center; gap:0.4em; }
.cat-tab:hover { border-color:var(--clr-gold); color:var(--clr-gold); }
.cat-tab.active { background:var(--clr-gold); border-color:var(--clr-gold); color:var(--clr-forest); }
.cat-tab .tab-count { background:rgba(0,0,0,0.15); padding:0.1em 0.4em; border-radius:10px; font-size:0.7rem; }
.cat-tab.active .tab-count { background:rgba(0,0,0,0.2); }

/* ── Product Grid ── */
.produse-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); }
.produse-grid.list-view { grid-template-columns:1fr; }

/* ── Product Card ── */
.produs-card { background:var(--clr-surface); border:1px solid var(--clr-border); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column; transition:all var(--dur-mid) var(--ease-out); position:relative; }
.produs-card:hover { border-color:rgba(200,136,12,0.35); transform:translateY(-4px); box-shadow:var(--shadow-gold); }
.produs-card.hidden { display:none; }
.produs-card.list-mode { flex-direction:row; transform:none!important; }
.produs-card.list-mode:hover { transform:none!important; box-shadow:var(--shadow-sm)!important; }

/* Badges */
.produs-badges { position:absolute; top:var(--space-md); left:var(--space-md); display:flex; flex-direction:column; gap:4px; z-index:2; }
.badge { font-family:var(--font-condensed); font-size:0.65rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:0.25em 0.6em; border-radius:2px; }
.badge-nou { background:var(--clr-gold); color:var(--clr-forest); }
.badge-stoc { background:#c04040; color:#fff; }
.badge-limitat { background:#b07010; color:#fff; }
.badge-popular { background:#2D6A4F; color:#a8d5b5; }

/* Wish/compare -->
.produs-actions-overlay { position:absolute; top:var(--space-md); right:var(--space-md); display:flex; flex-direction:column; gap:4px; opacity:0; transition:opacity var(--dur-fast); z-index:2; }
.produs-card:hover .produs-actions-overlay { opacity:1; }
.action-icon-btn { width:32px; height:32px; background:rgba(11,26,14,0.85); border:1px solid var(--clr-border); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--clr-text-dim); transition:all var(--dur-fast); backdrop-filter:blur(4px); }
.action-icon-btn:hover { border-color:var(--clr-gold); color:var(--clr-gold); }

/* Thumb */
.produs-thumb { height:185px; overflow:hidden; position:relative; flex-shrink:0; }
.produs-card.list-mode .produs-thumb { width:180px; height:auto; min-height:140px; }
.produs-thumb svg { width:100%; height:100%; display:block; }

/* Info */
.produs-info { padding:var(--space-lg); display:flex; flex-direction:column; flex:1; }
.produs-card.list-mode .produs-info { padding:var(--space-xl); justify-content:space-between; }
.produs-cat-badge { font-family:var(--font-condensed); font-size:0.65rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--clr-gold); margin-bottom:var(--space-xs); }
.produs-info h3 { font-size:1.05rem; margin-bottom:var(--space-xs); line-height:1.3; }
.produs-card.list-mode .produs-info h3 { font-size:1.2rem; }
.produs-specs-row { display:flex; gap:0.4em; flex-wrap:wrap; margin-bottom:var(--space-sm); }
.spec-tag { font-family:var(--font-condensed); font-size:0.65rem; letter-spacing:0.08em; text-transform:uppercase; padding:0.18em 0.5em; border:1px solid var(--clr-border); border-radius:2px; color:var(--clr-text-muted); }
.produs-desc { font-size:0.83rem; color:var(--clr-text-dim); margin-bottom:var(--space-md); flex:1; line-height:1.5; max-width:none; }
.produs-card.list-mode .produs-desc { font-size:0.88rem; }

/* Meta / price row */
.produs-meta { border-top:1px solid var(--clr-border); padding-top:var(--space-md); margin-top:auto; display:flex; flex-direction:column; gap:var(--space-md); }
.produs-card.list-mode .produs-meta { flex-direction:row; align-items:center; border-top:none; padding-top:0; margin-top:0; }
.produs-pret-col {}
.produs-pret-label { font-family:var(--font-condensed); font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--clr-text-muted); margin-bottom:2px; }
.produs-pret-val { font-family:var(--font-display); font-size:1.5rem; color:var(--clr-gold-pale); line-height:1; }
.produs-pret-range { font-size:0.95rem; }
.produs-pret-unit { font-family:var(--font-body); font-size:0.72rem; color:var(--clr-text-muted); display:block; margin-top:2px; }
.produs-availability { display:flex; align-items:center; gap:0.4em; font-size:0.78rem; font-family:var(--font-condensed); letter-spacing:0.06em; }
.avail-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.avail-yes { background:#4acd6a; box-shadow:0 0 6px rgba(74,205,106,0.4); }
.avail-limited { background:#e8a020; }
.avail-no { background:#c04040; }
.avail-yes-text { color:#4acd6a; }
.avail-limited-text { color:#e8a020; }
.avail-no-text { color:#c04040; }

/* CTA buttons */
.produs-cta { display:flex; gap:var(--space-sm); }
.btn-cos { flex:1; font-size:0.8rem; padding:0.65em 0.8em; display:flex; align-items:center; justify-content:center; gap:0.4em; }
.btn-detalii { font-size:0.8rem; padding:0.65em 0.9em; background:transparent; border:1px solid var(--clr-border); border-radius:var(--radius-sm); color:var(--clr-text-dim); cursor:pointer; font-family:var(--font-condensed); letter-spacing:0.06em; text-transform:uppercase; transition:all var(--dur-fast); display:flex; align-items:center; gap:0.4em; text-decoration:none; }
.btn-detalii:hover { border-color:var(--clr-gold); color:var(--clr-gold); }

/* ── Float Cart ── */
.cart-float { position:fixed; bottom:var(--space-xl); right:var(--space-xl); z-index:500; display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-sm); }
.cart-fab { width:56px; height:56px; background:var(--clr-gold); border-radius:50%; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--clr-forest); box-shadow:0 4px 20px rgba(200,136,12,0.4); transition:all var(--dur-fast); position:relative; }
.cart-fab:hover { background:var(--clr-gold-light); transform:scale(1.08); }
.cart-fab svg { width:22px; height:22px; }
.cart-count { position:absolute; top:-4px; right:-4px; width:20px; height:20px; background:#e84040; border-radius:50%; font-family:var(--font-condensed); font-size:0.7rem; font-weight:700; color:#fff; display:flex; align-items:center; justify-content:center; display:none; }
.cart-count.show { display:flex; }

/* ── Cart Panel ── */
.cart-panel { position:fixed; right:0; top:0; bottom:0; width:400px; max-width:100vw; background:var(--clr-dark); border-left:1px solid var(--clr-border); z-index:600; display:flex; flex-direction:column; transform:translateX(100%); transition:transform var(--dur-mid) var(--ease-out); box-shadow:var(--shadow-lg); }
.cart-panel.open { transform:none; }
.cart-panel-head { padding:var(--space-lg) var(--space-xl); border-bottom:1px solid var(--clr-border); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.cart-panel-head h3 { font-size:1.2rem; }
.cart-close { width:36px; height:36px; background:transparent; border:1px solid var(--clr-border); border-radius:50%; cursor:pointer; color:var(--clr-text-dim); display:flex; align-items:center; justify-content:center; transition:all var(--dur-fast); }
.cart-close:hover { border-color:var(--clr-gold); color:var(--clr-gold); }
.cart-body { flex:1; overflow-y:auto; padding:var(--space-lg) var(--space-xl); }
.cart-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; gap:var(--space-lg); text-align:center; }
.cart-empty-icon { width:64px; height:64px; background:var(--clr-surface); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--clr-text-muted); }
.cart-empty p { color:var(--clr-text-dim); font-size:0.9rem; }
.cart-items { display:flex; flex-direction:column; gap:var(--space-md); }
.cart-item { background:var(--clr-surface); border:1px solid var(--clr-border); border-radius:var(--radius-md); padding:var(--space-md); display:flex; gap:var(--space-md); align-items:flex-start; }
.cart-item-info { flex:1; }
.cart-item-info h5 { font-size:0.9rem; font-family:var(--font-body); font-weight:600; color:var(--clr-white); margin-bottom:4px; }
.cart-item-spec { font-size:0.78rem; color:var(--clr-text-muted); font-family:var(--font-condensed); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:var(--space-sm); }
.qty-row { display:flex; align-items:center; gap:var(--space-sm); }
.qty-label { font-size:0.75rem; color:var(--clr-text-dim); }
.qty-input { width:70px; background:var(--clr-surface-2); border:1px solid var(--clr-border); border-radius:var(--radius-sm); color:var(--clr-white); font-size:0.85rem; padding:0.3em 0.5em; text-align:center; outline:none; }
.qty-unit { font-size:0.72rem; color:var(--clr-text-muted); }
.cart-item-remove { background:transparent; border:none; color:var(--clr-text-muted); cursor:pointer; padding:4px; border-radius:4px; transition:color var(--dur-fast); flex-shrink:0; }
.cart-item-remove:hover { color:#e05050; }
.cart-footer { padding:var(--space-lg) var(--space-xl); border-top:1px solid var(--clr-border); flex-shrink:0; }
.cart-note { font-size:0.8rem; color:var(--clr-text-muted); margin-bottom:var(--space-md); line-height:1.5; background:rgba(200,136,12,0.06); border:1px solid rgba(200,136,12,0.15); border-radius:var(--radius-sm); padding:var(--space-sm) var(--space-md); }
.btn-cerere { width:100%; justify-content:center; margin-bottom:var(--space-sm); }
.btn-clear-cart { width:100%; font-size:0.75rem; color:var(--clr-text-muted); background:transparent; border:none; cursor:pointer; padding:0.4em; font-family:var(--font-condensed); letter-spacing:0.08em; text-transform:uppercase; transition:color var(--dur-fast); }
.btn-clear-cart:hover { color:#e05050; }

/* ── Cart overlay ── */
.cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:590; opacity:0; pointer-events:none; transition:opacity var(--dur-mid); }
.cart-overlay.show { opacity:1; pointer-events:all; }

/* ── Product Modal ── */
.product-modal-wrap { position:fixed; inset:0; z-index:700; display:flex; align-items:center; justify-content:center; padding:var(--space-lg); opacity:0; pointer-events:none; transition:opacity var(--dur-mid); }
.product-modal-wrap.open { opacity:1; pointer-events:all; }
.product-modal-bg { position:absolute; inset:0; background:rgba(0,0,0,0.7); }
.product-modal { position:relative; background:var(--clr-dark); border:1px solid var(--clr-border); border-radius:var(--radius-lg); width:100%; max-width:760px; max-height:90vh; overflow-y:auto; display:grid; grid-template-columns:1fr 1fr; box-shadow:var(--shadow-lg); }
.modal-thumb { height:320px; overflow:hidden; border-radius:var(--radius-lg) 0 0 var(--radius-lg); }
.modal-thumb svg { width:100%; height:100%; }
.modal-body { padding:var(--space-2xl); display:flex; flex-direction:column; }
.modal-close { position:absolute; top:var(--space-md); right:var(--space-md); width:34px; height:34px; background:rgba(0,0,0,0.5); border:1px solid var(--clr-border); border-radius:50%; cursor:pointer; color:var(--clr-text-dim); display:flex; align-items:center; justify-content:center; transition:all var(--dur-fast); z-index:1; }
.modal-close:hover { border-color:var(--clr-gold); color:var(--clr-gold); }
.modal-cat { font-family:var(--font-condensed); font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--clr-gold); margin-bottom:var(--space-sm); }
.modal-body h2 { font-size:1.6rem; margin-bottom:var(--space-sm); }
.modal-specs-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-sm); margin:var(--space-lg) 0; }
.modal-spec { background:var(--clr-surface); border:1px solid var(--clr-border); border-radius:var(--radius-sm); padding:var(--space-sm) var(--space-md); }
.modal-spec dt { font-family:var(--font-condensed); font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--clr-text-muted); }
.modal-spec dd { font-size:0.9rem; color:var(--clr-text); margin:2px 0 0; }
.modal-pret { font-family:var(--font-display); font-size:2rem; color:var(--clr-gold-pale); margin:var(--space-md) 0 var(--space-sm); line-height:1; }
.modal-pret small { font-family:var(--font-body); font-size:0.75rem; color:var(--clr-text-muted); display:block; margin-top:4px; }
.modal-cta { display:flex; gap:var(--space-sm); margin-top:auto; padding-top:var(--space-lg); border-top:1px solid var(--clr-border); }
.modal-cta .btn-cos { flex:1; justify-content:center; }

/* ── Toast notification ── */
.toast { position:fixed; bottom:90px; right:var(--space-xl); z-index:800; background:var(--clr-surface); border:1px solid var(--clr-gold); border-radius:var(--radius-md); padding:var(--space-md) var(--space-lg); display:flex; align-items:center; gap:var(--space-md); box-shadow:var(--shadow-md); transform:translateY(20px); opacity:0; transition:all var(--dur-mid) var(--ease-out); pointer-events:none; max-width:320px; }
.toast.show { transform:none; opacity:1; }
.toast-icon { color:var(--clr-gold); flex-shrink:0; }
.toast-text { font-size:0.88rem; color:var(--clr-text); }
.toast-text strong { color:var(--clr-white); display:block; font-size:0.85rem; }

/* ── Pagination ── */
.pagination { display:flex; align-items:center; justify-content:center; gap:var(--space-sm); margin-top:var(--space-3xl); }
.page-btn { width:36px; height:36px; background:var(--clr-surface); border:1px solid var(--clr-border); border-radius:var(--radius-sm); font-family:var(--font-condensed); font-size:0.85rem; color:var(--clr-text-dim); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--dur-fast); }
.page-btn:hover, .page-btn.active { border-color:var(--clr-gold); color:var(--clr-gold); background:rgba(200,136,12,0.08); }
.page-btn.active { background:var(--clr-gold); color:var(--clr-forest); }

/* ── Trust bar ── */
.trust-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--clr-border); border:1px solid var(--clr-border); border-radius:var(--radius-md); overflow:hidden; margin-top:var(--space-3xl); }
.trust-item { background:var(--clr-surface); padding:var(--space-xl) var(--space-lg); text-align:center; }
.trust-icon { font-size:1.8rem; margin-bottom:var(--space-sm); }
.trust-item h5 { font-size:0.85rem; margin-bottom:4px; }
.trust-item p { font-size:0.78rem; color:var(--clr-text-dim); max-width:none; }

/* ── Responsive ── */
@media (max-width:1100px) { .shop-layout { grid-template-columns:220px 1fr; } .produse-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .shop-layout { grid-template-columns:1fr; } .shop-sidebar { position:static; } .produse-grid { grid-template-columns:1fr 1fr; } .product-modal { grid-template-columns:1fr; } .modal-thumb { border-radius:var(--radius-lg) var(--radius-lg) 0 0; height:220px; } .cart-panel { width:100%; } .trust-bar { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .produse-grid { grid-template-columns:1fr; } .trust-bar { grid-template-columns:1fr; } .cart-float { right:var(--space-md); bottom:var(--space-md); } }
