/* ============================================
   Campus Hearts — WooCommerce Overrides
   ============================================ */

.woocommerce ul.products {
    display: grid !important; grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg); margin: 0 !important; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product {
    width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important;
    background: var(--color-white); border-radius: var(--radius-xl); overflow: hidden;
    box-shadow: var(--shadow-md); transition: all var(--transition-base); border: 1px solid var(--color-gray-200);
}
.woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: var(--shadow-xl); }

.woocommerce ul.products li.product a img {
    border-radius: 0; margin: 0; width: 100%; height: 300px;
    object-fit: contain; padding: var(--space-lg); background: var(--color-cream);
}

.product-badge {
    position: absolute; top: var(--space-md); left: var(--space-md); z-index: 2;
    padding: 0.3rem 0.75rem; border-radius: var(--radius-full);
    font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
}
.product-badge--new { background: var(--color-rose); color: var(--color-white); }

.woocommerce ul.products li.product .onsale {
    background: var(--color-gold); color: var(--color-midnight);
    border-radius: var(--radius-full); padding: 0.3rem 0.75rem;
    font-size: 0.625rem; font-weight: 700; min-height: auto; min-width: auto;
    top: var(--space-md); right: var(--space-md); left: auto; line-height: 1.5;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-heading); font-size: 1.125rem; font-weight: 700;
    padding: var(--space-lg) var(--space-lg) var(--space-xs); color: var(--color-gray-900);
}

.woocommerce ul.products li.product .price {
    padding: 0 var(--space-lg); color: var(--color-rose); font-size: 1.125rem; font-weight: 700;
}

.woocommerce ul.products li.product .button {
    display: block; margin: var(--space-lg) !important; padding: 0.7rem 1.25rem;
    background: var(--color-gray-900) !important; color: var(--color-white) !important;
    border-radius: var(--radius-full) !important; text-align: center;
    font-weight: 600; font-size: 0.8125rem; transition: all var(--transition-base);
}
.woocommerce ul.products li.product .button:hover {
    background: var(--color-rose) !important; transform: translateY(-1px);
}

/* Value Props */
.shop-value-props { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); margin-top: var(--space-4xl); padding-top: var(--space-3xl); border-top: 1px solid var(--color-gray-200); }
.value-prop { text-align: center; padding: var(--space-xl); }
.value-prop__icon { font-size: 2rem; margin-bottom: var(--space-md); }
.value-prop h3 { font-family: var(--font-heading); font-size: 1.125rem; margin-bottom: var(--space-sm); }
.value-prop p { color: var(--color-gray-500); font-size: 0.875rem; }

/* Single Product */
.woocommerce div.product { padding: var(--space-3xl) 0; }
.woocommerce div.product .product_title { font-family: var(--font-heading); font-size: 2rem; }
.woocommerce div.product p.price { font-size: 1.5rem; color: var(--color-rose); font-weight: 700; }
.woocommerce div.product .woocommerce-product-gallery { border-radius: var(--radius-xl); overflow: hidden; }
.woocommerce div.product .single_add_to_cart_button {
    background: var(--color-rose) !important; color: var(--color-white) !important;
    border-radius: var(--radius-full) !important; padding: 0.875rem 2.5rem !important;
    font-weight: 600; transition: all var(--transition-base); border: none !important;
}
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--color-rose-dark) !important; transform: translateY(-2px); box-shadow: var(--shadow-rose); }

/* Checkout */
.woocommerce-checkout #place_order {
    background: var(--color-rose) !important; border-radius: var(--radius-full) !important;
    font-size: 1rem; padding: 1rem 2rem; font-weight: 600; border: none !important;
}
.woocommerce-checkout .form-row input, .woocommerce-checkout .form-row select {
    border: 1px solid var(--color-gray-200); border-radius: var(--radius-md);
    padding: 0.75rem 1rem; font-family: var(--font-body); width: 100%;
}
.woocommerce-checkout .form-row input:focus, .woocommerce-checkout .form-row select:focus {
    border-color: var(--color-rose); outline: none; box-shadow: 0 0 0 3px rgba(196,91,110,0.08);
}

.woocommerce .woocommerce-message { background: #f0fdf4; border-left: 3px solid #22c55e; border-radius: var(--radius-md); padding: var(--space-lg); border-top: none; }
.woocommerce .woocommerce-info { background: #eff6ff; border-left: 3px solid var(--color-dan); border-radius: var(--radius-md); padding: var(--space-lg); border-top: none; }
.woocommerce .woocommerce-error { background: #fef2f2; border-left: 3px solid var(--color-tyler); border-radius: var(--radius-md); padding: var(--space-lg); border-top: none; }

@media (max-width: 768px) { .woocommerce ul.products { grid-template-columns: 1fr !important; max-width: 380px; margin: 0 auto !important; } .shop-value-props { grid-template-columns: 1fr; } }
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
