/**
 * R-eCycle — WooCommerce Grit Overrides
 *
 * Applies Grit design system to WooCommerce pages:
 *   - Shop archive (product grid)
 *   - Single product pages
 *   - Cart & Checkout
 *   - Stock badges
 *
 * Loaded site-wide when WooCommerce is active.
 */

/* ─── Global WooCommerce Dark Theme ─────────────── */
body.woocommerce-page,
body.woocommerce,
body.archive.tax-product_cat {
    background: #1E1D1B !important;
}

body.woocommerce-page #page,
body.woocommerce-page .site-content,
body.woocommerce #page,
body.woocommerce .site-content {
    background: #1E1D1B !important;
}

.woocommerce .content-area,
.woocommerce-page .content-area {
    background: #1E1D1B;
    color: #E8E4DC;
}

/* ─── Shop Archive Grid ─────────────────────────── */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px !important;
    padding: 2px;
}

.woocommerce ul.products li.product {
    background: #2A2825;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
    border-radius: 0 !important;
    transition: transform 0.2s, box-shadow 0.2s;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    z-index: 2;
}

/* Product image in grid */
.woocommerce ul.products li.product a img {
    border-radius: 0 !important;
    margin: 0 !important;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

/* Product title in grid */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Oswald', 'Arial Black', Impact, sans-serif !important;
    font-weight: 700;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #E8E4DC !important;
    padding: 12px 12px 4px !important;
    line-height: 1.2;
}

/* Price in grid */
.woocommerce ul.products li.product .price {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 14px !important;
    color: #E8E4DC !important;
    padding: 0 12px 12px !important;
}

.woocommerce ul.products li.product .price del {
    color: #5A5650 !important;
}

.woocommerce ul.products li.product .price ins {
    color: #CC4422 !important;
    text-decoration: none;
}

/* Add to cart button in grid */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
    background: #CC4422 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 10px 16px !important;
    margin: 0 12px 12px !important;
    transition: background 0.2s;
}

.woocommerce ul.products li.product .button:hover {
    background: #E05533 !important;
}

/* ─── Single Product Page ───────────────────────── */
.single-product .product {
    background: #1E1D1B;
    color: #E8E4DC;
}

/* Product title */
.single-product .product .product_title,
.single-product .product h1.product_title {
    font-family: 'Oswald', 'Arial Black', Impact, sans-serif !important;
    font-weight: 700;
    font-size: 32px !important;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: #E8E4DC !important;
}

/* Price on single product */
.single-product .product .price,
.single-product .product p.price {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 24px !important;
    color: #E8E4DC !important;
}

.single-product .product .price del { color: #5A5650 !important; }
.single-product .product .price ins { color: #CC4422 !important; text-decoration: none; }

/* Product image */
.single-product .product .woocommerce-product-gallery img {
    border-radius: 0 !important;
}

/* Short description */
.single-product .product .woocommerce-product-details__short-description {
    font-size: 15px;
    color: #A09A90;
    line-height: 1.6;
}

.single-product .product .woocommerce-product-details__short-description p {
    color: #A09A90;
}

/* Long description */
.single-product .product .woocommerce-Tabs-panel--description {
    color: #A09A90;
    font-size: 15px;
    line-height: 1.6;
}

.single-product .product .woocommerce-Tabs-panel--description h3 {
    font-family: 'Oswald', 'Arial Black', Impact, sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #E8E4DC;
    margin-top: 24px;
}

.single-product .product .woocommerce-Tabs-panel--description p {
    color: #A09A90;
}

.single-product .product .woocommerce-Tabs-panel--description strong {
    color: #E8E4DC;
}

/* SKU */
.single-product .product .sku_wrapper {
    font-family: 'JetBrains Mono', Menlo, monospace;
    font-size: 12px;
    color: #8A857C;
}

/* Quantity input */
.single-product .product .quantity input.qty {
    background: #3D3A35 !important;
    border: 1px solid #5A5650 !important;
    color: #E8E4DC !important;
    border-radius: 0 !important;
    font-family: 'JetBrains Mono', Menlo, monospace;
}

/* Add to cart button — single product */
.single-product .product .single_add_to_cart_button,
.single-product .product button.single_add_to_cart_button {
    background: #CC4422 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 14px 32px !important;
    transition: background 0.2s, transform 0.1s;
}

.single-product .product .single_add_to_cart_button:hover {
    background: #E05533 !important;
}

.single-product .product .single_add_to_cart_button:active {
    background: #AA3618 !important;
    transform: scale(0.98);
}

/* Tabs */
.single-product .product .woocommerce-tabs ul.tabs {
    background: #2A2825 !important;
    border-bottom: 1px solid #3D3A35 !important;
    padding: 0 !important;
    margin: 32px 0 0 !important;
}

.single-product .product .woocommerce-tabs ul.tabs::before {
    border-bottom-color: #3D3A35 !important;
}

.single-product .product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .product .woocommerce-tabs ul.tabs li a {
    font-family: 'Oswald', 'Arial Black', Impact, sans-serif;
    font-weight: 500;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8A857C !important;
    padding: 14px 20px !important;
    border-bottom: 2px solid transparent;
    transition: color 0.2s;
}

.single-product .product .woocommerce-tabs ul.tabs li a:hover {
    color: #A09A90 !important;
}

.single-product .product .woocommerce-tabs ul.tabs li.active a {
    color: #E8E4DC !important;
    border-bottom-color: #CC4422;
}

.single-product .product .woocommerce-tabs .panel {
    background: #1E1D1B !important;
    border: none !important;
    padding: 24px 0 !important;
}

/* Meta (categories, tags) */
.single-product .product .product_meta {
    color: #8A857C;
    font-size: 12px;
}

.single-product .product .product_meta a {
    color: #CC4422;
    text-decoration: none;
}

.single-product .product .product_meta a:hover { color: #E05533; }

/* ─── Stock Status Badges ───────────────────────── */
.single-product .product .stock,
.woocommerce .stock {
    font-size: 11px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 4px 10px;
    border-radius: 4px;
    display: inline-block;
}

.single-product .product .stock.in-stock,
.woocommerce .stock.in-stock {
    background: #1A3324;
    color: #A8D4B0 !important;
}

.single-product .product .stock.out-of-stock,
.woocommerce .stock.out-of-stock {
    background: #2A2825;
    color: #B0AA9E !important;
}

.single-product .product .stock.available-on-backorder {
    background: #3D2E10;
    color: #FFEFC4 !important;
}

/* ─── Related / Cross-sell Products ──────────────── */
.single-product .related.products > h2,
.single-product .cross-sells > h2 {
    font-family: 'Oswald', 'Arial Black', Impact, sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #E8E4DC;
}

/* ─── Cart ──────────────────────────────────────── */
.woocommerce-cart .woocommerce table.cart,
.woocommerce-cart .woocommerce table.cart th {
    background: #2A2825;
    color: #E8E4DC;
    border-color: #3D3A35;
}

.woocommerce-cart .woocommerce table.cart td {
    background: #1E1D1B;
    color: #E8E4DC;
    border-color: #3D3A35;
}

.woocommerce-cart .woocommerce table.cart .product-name a {
    color: #E8E4DC;
    text-decoration: none;
    font-weight: 600;
}

.woocommerce-cart .woocommerce table.cart .product-price,
.woocommerce-cart .woocommerce table.cart .product-subtotal {
    font-family: 'JetBrains Mono', Menlo, monospace;
}

/* Cart totals */
.woocommerce-cart .cart_totals {
    background: #2A2825;
    border-radius: 0 !important;
}

.woocommerce-cart .cart_totals h2 {
    font-family: 'Oswald', 'Arial Black', Impact, sans-serif;
    text-transform: uppercase;
    color: #E8E4DC;
}

.woocommerce-cart .cart_totals table {
    border-color: #3D3A35;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    color: #E8E4DC;
    border-color: #3D3A35;
}

/* Checkout / proceed buttons */
.woocommerce a.button.checkout-button,
.woocommerce .checkout-button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: #CC4422 !important;
    color: #fff !important;
    border-radius: 0 !important;
    border: none !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.woocommerce a.button.checkout-button:hover,
.woocommerce button.button.alt:hover {
    background: #E05533 !important;
}

/* ─── Breadcrumbs ───────────────────────────────── */
.woocommerce .woocommerce-breadcrumb {
    font-size: 11px;
    color: #8A857C;
    padding: 12px 0;
}

.woocommerce .woocommerce-breadcrumb a {
    color: #8A857C;
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover { color: #CC4422; }

/* ─── Notices ───────────────────────────────────── */
.woocommerce .woocommerce-message {
    background: #2A2825;
    border-top-color: #CC4422;
    color: #E8E4DC;
}

.woocommerce .woocommerce-info {
    background: #2A2825;
    border-top-color: #1A7ACC;
    color: #E8E4DC;
}

.woocommerce .woocommerce-error {
    background: #2A2825;
    border-top-color: #CC4422;
    color: #E8E4DC;
}

/* ─── Category Page Title ───────────────────────── */
.woocommerce .woocommerce-products-header__title,
.woocommerce .page-title {
    font-family: 'Oswald', 'Arial Black', Impact, sans-serif !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: #E8E4DC !important;
}

/* ─── Pagination ────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: #2A2825;
    color: #8A857C;
    border-color: #3D3A35;
    border-radius: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #CC4422;
    color: #fff;
    border-color: #CC4422;
}

/* ─── Responsive ────────────────────────────────── */
@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr 1fr !important;
    }

    .single-product .product .product_title {
        font-size: 24px !important;
    }

    .single-product .product .price {
        font-size: 20px !important;
    }
}

@media (max-width: 400px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}
