/* ValuriStories WooCommerce Custom Styles */

/* General & Buttons */
.woocommerce .button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit {
    font-family: var(--font-secondary);
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none !important;
    border-radius: 3px !important;
    padding: 12px 25px !important;
    transition: var(--transition);
    font-weight: 600;
}

.woocommerce .button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover, 
.woocommerce #respond input#submit:hover {
    background-color: var(--color-secondary) !important;
    transform: translateY(-2px);
}

.woocommerce-message, .woocommerce-info {
    border-top-color: var(--color-primary) !important;
}

.woocommerce-message::before, .woocommerce-info::before {
    color: var(--color-primary) !important;
}

/* Shop / Archive Page */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-primary);
    font-size: 22px;
    color: var(--color-secondary);
    margin-bottom: 10px;
}

.woocommerce ul.products li.product .price {
    font-family: var(--font-secondary);
    color: var(--color-primary) !important;
    font-size: 18px;
    font-weight: 600;
}

.woocommerce ul.products li.product a img {
    border-radius: 5px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: var(--transition);
}

.woocommerce ul.products li.product a img:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

.woocommerce ul.products li.product .button {
    margin-top: 15px;
}

/* Single Product Page */
.woocommerce div.product h1.product_title {
    font-family: var(--font-primary);
    font-size: 42px;
    color: var(--color-secondary);
}

.woocommerce div.product p.price, .woocommerce div.product span.price {
    font-family: var(--font-primary);
    font-size: 28px;
    color: var(--color-primary);
}

.woocommerce div.product .woocommerce-product-gallery {
    border-radius: 5px;
    overflow: hidden;
}

.woocommerce .quantity .qty {
    border-color: rgba(0,0,0,0.1);
    border-radius: 3px;
    padding: 8px;
}

.woocommerce .tabs ul.tabs li a {
    font-family: var(--font-secondary);
    color: var(--color-text-light);
}

.woocommerce .tabs ul.tabs li.active a {
    color: var(--color-secondary);
    font-weight: 600;
}

/* Cart & Checkout */
.woocommerce-cart table.cart th, 
.woocommerce-checkout table.shop_table th {
    font-family: var(--font-primary);
    font-size: 18px;
    color: var(--color-secondary);
}

.woocommerce-cart .cart-collaterals .cart_totals h2, 
#add_payment_method #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
    font-family: var(--font-primary);
}

.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-1, .woocommerce-page .col2-set .col-2 {
    padding: 0 20px;
}

/* --- Mobile Responsive Styles --- */

@media (max-width: 768px) {
    /* Shop Page */
    .woocommerce ul.products[class*='columns-'] li.product,
    .woocommerce-page ul.products[class*='columns-'] li.product {
        width: 100%;
        float: none;
        margin: 0 0 30px 0;
    }

    .woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-1, .woocommerce-page .col2-set .col-2 {
        float: none;
        width: 100%;
        padding: 0;
    }

    /* Single Product */
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary {
        float: none;
        width: 100%;
    }

    .woocommerce div.product .summary {
        margin-top: 30px;
    }

    .woocommerce div.product h1.product_title {
        font-size: 28px;
    }

    .woocommerce div.product p.price, .woocommerce div.product span.price {
        font-size: 24px;
    }

    /* Cart */
    .woocommerce-cart-form, .cart-collaterals {
        width: 100%;
        float: none;
        padding: 0;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 20px;
    }

    .woocommerce ul.products li.product .price {
        font-size: 16px;
    }

    .woocommerce div.product h1.product_title {
        font-size: 24px;
    }
}
