/* ══════════════════════════════════════════
   HURT.3GUN.SHOP — dark theme, spójny z brandingiem 3gun.shop
   ══════════════════════════════════════════ */

:root {
    --c-bg:       #0d0d0d;
    --c-surface:  #181818;
    --c-surface2: #1e1e1e;
    --c-border:   #2a2a2a;
    --c-muted:    #aeaeae;
    --c-text:     #ccc;
    --c-white:    #f0f0f0;
    --c-accent:   #c0392b;
    --c-accent2:  #e8a000;
    --c-green:    #27ae60;
    --c-danger:   #e74c3c;
}

* , *::before, *::after { box-sizing: border-box; }

body {
    background: var(--c-bg);
    color: var(--c-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

a { color: var(--c-accent2); text-decoration: none; }
a:hover { color: var(--c-white); }

/* Bootstrap's .text-muted domyślnie liczy kontrast pod jasne tło — na czarnym jest
   prawie nieczytelny, więc nadpisujemy naszym jaśniejszym --c-muted. */
.text-muted { color: var(--c-muted) !important; }

/* ── Navbar ── */
.navbar-hurt {
    background: #000;
    border-bottom: 1px solid var(--c-border);
}
.navbar-hurt .navbar-brand {
    font-weight: 800;
    letter-spacing: .04em;
    color: var(--c-white) !important;
}
.navbar-hurt .navbar-brand span { color: var(--c-accent); }
.navbar-hurt .nav-link {
    color: var(--c-text) !important;
}
.navbar-hurt .nav-link.active,
.navbar-hurt .nav-link:hover {
    color: var(--c-accent2) !important;
}
.cart-badge {
    background: var(--c-accent);
    color: #fff;
    border-radius: 999px;
    font-size: .7rem;
    padding: .1rem .4rem;
    margin-left: .25rem;
}

/* ── Cards / surfaces ── */
.card-hurt {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: .5rem;
}
.card-hurt:hover { border-color: #3a3a3a; }

.product-card img {
    background: var(--c-surface2);
    border-radius: .4rem .4rem 0 0;
    aspect-ratio: 1/1;
    object-fit: contain;
    padding: .5rem;
}

.price {
    font-weight: 700;
    color: var(--c-accent2);
}
.price-retail {
    color: var(--c-muted);
    text-decoration: line-through;
    font-size: .85em;
}
.badge-discount {
    background: var(--c-accent);
    color: #fff;
}

/* ── Tables (koszyk / zamówienia) ── */
.table-hurt {
    --bs-table-bg: var(--c-surface);
    --bs-table-color: var(--c-text);
    --bs-table-border-color: var(--c-border);
}
.table-hurt thead th {
    color: var(--c-muted);
    font-weight: 600;
    text-transform: uppercase;
    font-size: .75rem;
    border-bottom-width: 1px;
}

/* ── Forms ── */
.form-control, .form-select {
    background: var(--c-surface2);
    border-color: var(--c-border);
    color: var(--c-text);
}
.form-control:focus, .form-select:focus {
    background: var(--c-surface2);
    color: var(--c-white);
    border-color: var(--c-accent2);
    box-shadow: 0 0 0 .2rem rgba(232, 160, 0, .15);
}
.form-control::placeholder { color: var(--c-muted); }
label.form-label { color: var(--c-muted); font-size: .85rem; }

/* ── Buttons ── */
.btn-accent {
    background: var(--c-accent);
    border-color: var(--c-accent);
    color: #fff;
}
.btn-accent:hover {
    background: #a53023;
    border-color: #a53023;
    color: #fff;
}
.btn-outline-hurt {
    border-color: var(--c-border);
    color: var(--c-text);
}
.btn-outline-hurt:hover {
    border-color: var(--c-accent2);
    color: var(--c-accent2);
    background: transparent;
}

/* ── Status badges ── */
.status-0 { background: var(--c-accent2); color: #000; }
.status-1 { background: #3498db; color: #fff; }
.status-2 { background: var(--c-green); color: #fff; }
.status-3 { background: var(--c-danger); color: #fff; }

/* ── Footer ── */
.footer-hurt {
    border-top: 1px solid var(--c-border);
    color: var(--c-muted);
    font-size: .85rem;
}

/* ── Kolumna kategorii (wzorem starego #tabs-nav) ── */
.catalog-sidebar {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: .5rem;
    padding: 1rem;
    position: sticky;
    top: 4.5rem;
}
.sidebar-dept-title {
    color: var(--c-white);
    font-weight: 700;
    font-size: .9rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: .35rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid var(--c-border);
}
.sidebar-link {
    display: block;
    padding: .2rem 0;
    color: var(--c-text);
    font-size: .9rem;
}
.sidebar-link:hover { color: var(--c-accent2); }
.sidebar-link.active {
    color: var(--c-accent2);
    font-weight: 600;
}

/* ── Misc ── */
.department-tile {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: .5rem;
    padding: 1.25rem;
    transition: border-color .15s;
}
.department-tile:hover { border-color: var(--c-accent2); }

.qty-input { max-width: 5.5rem; }

/* ── Lista wariantów na karcie produktu (wzorem starego #product-cart) ── */
.variant-list { border-top: 1px solid var(--c-border); }
.variant-row {
    padding: .6rem 0;
    border-bottom: 1px solid var(--c-border);
}
.variant-row:last-child { border-bottom: none; }
.qty-stepper .qty-input { max-width: 4rem; }
.qty-stepper .btn { width: 2rem; padding: 0; line-height: 1.5; }

@media (max-width: 767.98px) {
    .table-hurt thead { display: none; }
    .table-hurt tr { display: block; border-bottom: 1px solid var(--c-border); padding: .5rem 0; }
    .table-hurt td { display: flex; justify-content: space-between; border: none !important; }
    .table-hurt td::before { content: attr(data-label); color: var(--c-muted); font-size: .75rem; }
}
