/* ==========================================================================
   XPERT — WOOCOMMERCE OVERRIDES
   ========================================================================== */

/* Wrapper */
.woocommerce-page,
.archive.woocommerce {
    background: var(--xpert-bg);
}
.woocommerce-page .xpert-main,
.archive.woocommerce .xpert-main { padding: 0 0 80px; }

.woocommerce .woocommerce-notices-wrapper { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: #fff !important;
    border-left: 4px solid var(--xpert-accent) !important;
    color: var(--xpert-text) !important;
    padding: 16px 22px !important;
    font-family: var(--font-body) !important;
    border-radius: 0 !important;
    margin: 20px 0 !important;
    box-shadow: var(--shadow-sm);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--xpert-primary) !important; }

/* Shop archive */
.woocommerce .xpert-shop {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--gutter);
}
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 22px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    border: 1px solid var(--xpert-border);
    transition: all .25s ease;
    text-align: left !important;
}
.woocommerce ul.products li.product:hover {
    border-color: var(--xpert-deep);
    box-shadow: var(--shadow);
    transform: translateY(-2px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    padding: 0 !important;
    display: block !important;
    color: inherit !important;
}
.woocommerce ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 1;
    object-fit: cover;
    margin: 0 !important;
    background: var(--xpert-bg);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: var(--xpert-deep) !important;
    padding: 16px 18px 8px !important;
    margin: 0 !important;
    min-height: 3.2em;
}
.woocommerce ul.products li.product .price {
    font-family: var(--font-display) !important;
    font-weight: 800 !important;
    font-size: 22px !important;
    color: var(--xpert-deep) !important;
    padding: 0 18px 14px !important;
    margin: 0 !important;
    display: block !important;
}
.woocommerce ul.products li.product .price ins { background: none !important; text-decoration: none !important; }
.woocommerce ul.products li.product .price del { color: var(--xpert-muted) !important; font-weight: 400 !important; font-size: 15px !important; }
.woocommerce ul.products li.product .button {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    background: transparent !important;
    color: var(--xpert-deep) !important;
    border-top: 1px solid var(--xpert-border) !important;
    border-radius: 0 !important;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}
.woocommerce ul.products li.product .button:hover {
    background: var(--xpert-accent) !important;
    color: #fff !important;
    border-color: var(--xpert-accent) !important;
}
.woocommerce ul.products li.product .added_to_cart {
    display: block !important;
    text-align: center !important;
    padding: 12px !important;
    color: var(--xpert-success) !important;
    font-family: var(--font-mono);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.woocommerce span.onsale {
    background: var(--xpert-accent) !important;
    color: #fff !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    border-radius: 0 !important;
    padding: 6px 10px !important;
    min-height: 0 !important;
    min-width: 0 !important;
    line-height: 1 !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    text-transform: uppercase;
}

.woocommerce-result-count {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--xpert-muted);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.woocommerce-ordering select {
    padding: 10px 14px;
    border: 1.5px solid var(--xpert-border);
    background: #fff;
    font-family: var(--font-body);
    border-radius: 0;
}

/* Single product */
.single-product div.product {
    background: #fff;
    padding: 40px;
    margin-top: 30px;
    border: 1px solid var(--xpert-border);
    box-shadow: var(--shadow-sm);
}
.single-product div.product .product_title {
    font-family: var(--font-display);
    font-size: clamp(28px, 4vw, 48px);
    text-transform: uppercase;
    color: var(--xpert-deep);
    line-height: 1;
    margin: 0 0 14px;
}
.single-product div.product .price {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 36px !important;
    color: var(--xpert-accent) !important;
    margin: 14px 0 !important;
}
.single-product div.product .woocommerce-product-rating { margin-bottom: 14px; }
.single-product div.product .stock {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 4px 10px;
    display: inline-block;
    border-radius: 0;
}
.single-product div.product .stock.in-stock {
    background: rgba(16, 185, 129, .1);
    color: var(--xpert-success);
}
.single-product div.product .stock.out-of-stock {
    background: rgba(255, 107, 26, .1);
    color: var(--xpert-accent);
}
.single-product div.product form.cart {
    margin: 26px 0 !important;
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap;
    align-items: stretch;
}
.single-product div.product .quantity input[type="number"] {
    border: 1.5px solid var(--xpert-border);
    padding: 0 14px;
    height: 52px;
    font-family: var(--font-mono);
    font-size: 16px;
    font-weight: 500;
    border-radius: 0;
    width: 80px;
}
.single-product div.product .single_add_to_cart_button,
.woocommerce .button.alt {
    background: var(--xpert-accent) !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    padding: 0 32px !important;
    height: 52px !important;
    line-height: 52px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.single-product div.product .single_add_to_cart_button:hover,
.woocommerce .button.alt:hover { background: var(--xpert-accent-deep) !important; }
.single-product div.product .product_meta {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--xpert-muted);
    padding-top: 20px;
    border-top: 1px solid var(--xpert-border);
}
.single-product div.product .product_meta > span { display: block; margin: 6px 0; letter-spacing: .04em; text-transform: uppercase; }
.single-product div.product .product_meta a { color: var(--xpert-primary) !important; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 40px 0 0 !important;
    border-bottom: 2px solid var(--xpert-border) !important;
    background: none !important;
    display: flex;
    gap: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 16px 22px !important;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--xpert-muted) !important;
    background: transparent !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--xpert-deep) !important;
    border-bottom-color: var(--xpert-accent) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 30px 0 !important;
    background: none !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--font-display);
    font-size: 28px;
    text-transform: uppercase;
    color: var(--xpert-deep);
    margin-bottom: 18px;
}

/* Related products */
.related h2, .upsells h2 {
    font-family: var(--font-display);
    font-size: 32px;
    text-transform: uppercase;
    color: var(--xpert-deep);
    margin: 60px 0 30px;
}

/* Cart */
.woocommerce-cart table.cart,
.woocommerce-checkout {
    background: #fff;
    border-collapse: collapse;
}
.woocommerce-cart table.cart {
    border: 1px solid var(--xpert-border);
    margin-bottom: 30px !important;
}
.woocommerce-cart table.cart th {
    background: var(--xpert-deep) !important;
    color: #fff !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: 14px 18px !important;
}
.woocommerce-cart table.cart td {
    padding: 18px !important;
    border-color: var(--xpert-border) !important;
    vertical-align: middle !important;
}
.woocommerce-cart table.cart .product-name a {
    font-family: var(--font-display);
    font-size: 18px;
    color: var(--xpert-deep) !important;
    text-transform: uppercase;
    font-weight: 700;
}
.woocommerce-cart table.cart .product-thumbnail img { width: 80px; height: 80px; object-fit: cover; }
.woocommerce-cart table.cart .product-remove a.remove {
    background: var(--xpert-bg) !important;
    color: var(--xpert-deep) !important;
    width: 28px !important; height: 28px !important;
    line-height: 28px !important;
    border-radius: 0 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
}
.woocommerce-cart table.cart .product-remove a.remove:hover {
    background: var(--xpert-accent) !important;
    color: #fff !important;
}
.woocommerce-cart table.cart .actions {
    background: var(--xpert-bg) !important;
    padding: 18px !important;
}
.woocommerce-cart .cart-collaterals { background: #fff; padding: 30px; border: 1px solid var(--xpert-border); }
.woocommerce-cart .cart_totals h2 {
    font-family: var(--font-display);
    font-size: 26px;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.woocommerce-cart .cart_totals table {
    border: 0 !important;
}
.woocommerce-cart .cart_totals table th {
    background: transparent !important;
    color: var(--xpert-muted) !important;
    border-bottom: 1px solid var(--xpert-border) !important;
    padding: 14px 0 !important;
}
.woocommerce-cart .cart_totals table td { padding: 14px 0 !important; }
.woocommerce-cart .cart_totals .order-total .amount {
    font-family: var(--font-display);
    font-size: 26px;
    color: var(--xpert-accent);
    font-weight: 800;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    background: var(--xpert-accent) !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 18px !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--xpert-accent-deep) !important;
}

/* Checkout */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { background: #fff; }
.woocommerce-checkout h3 {
    font-family: var(--font-display);
    font-size: 26px;
    text-transform: uppercase;
    color: var(--xpert-deep);
    margin-bottom: 20px;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce form .form-row .input-text {
    padding: 12px 14px !important;
    border: 1.5px solid var(--xpert-border) !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    background: #fff;
}
.woocommerce-checkout .form-row label,
.woocommerce form .form-row label {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--xpert-muted) !important;
    margin-bottom: 4px !important;
}
.woocommerce-checkout #payment {
    background: var(--xpert-bg) !important;
    border: 1px solid var(--xpert-border);
}
.woocommerce-checkout #payment ul.payment_methods {
    border-bottom-color: var(--xpert-border) !important;
}
.woocommerce-checkout #payment div.payment_box {
    background: #fff !important;
    border-radius: 0 !important;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }
.woocommerce-checkout #place_order {
    background: var(--xpert-accent) !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    padding: 16px 28px !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Order received */
.woocommerce-order {
    background: #fff;
    padding: 40px;
    border: 1px solid var(--xpert-border);
}
.woocommerce-order .woocommerce-thankyou-order-received {
    font-family: var(--font-display);
    font-size: 32px;
    text-transform: uppercase;
    color: var(--xpert-deep);
}

/* Coupon form */
.woocommerce-cart-form .coupon input[type="text"] {
    padding: 10px 14px !important;
    border: 1.5px solid var(--xpert-border) !important;
    border-radius: 0 !important;
    height: 44px;
}
.woocommerce-cart-form .coupon button {
    background: var(--xpert-deep) !important;
    color: #fff !important;
    border-radius: 0 !important;
    height: 44px;
    padding: 0 18px !important;
}

/* Generic woocommerce button */
.woocommerce a.button,
.woocommerce button.button:not(.alt) {
    background: var(--xpert-deep) !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 12px 22px !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:not(.alt):hover {
    background: var(--xpert-ink) !important;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
    max-width: var(--container);
    margin: 22px auto !important;
    padding: 0 var(--gutter) !important;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--xpert-muted) !important;
}
.woocommerce-breadcrumb a { color: var(--xpert-muted) !important; }
.woocommerce-breadcrumb a:hover { color: var(--xpert-accent) !important; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
    border: 0 !important;
    display: flex;
    gap: 6px;
    justify-content: center;
    margin-top: 40px !important;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: #fff;
    border: 1px solid var(--xpert-border) !important;
    width: 42px; height: 42px;
    line-height: 42px;
    padding: 0 !important;
    font-family: var(--font-mono);
    font-weight: 500;
    color: var(--xpert-deep) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--xpert-deep) !important;
    color: #fff !important;
    border-color: var(--xpert-deep) !important;
}
