/* ─── WooCommerce Overrides — DRESS ON NOW ─── */

/* Shop wrapper */
.don-shop { padding: var(--don-section-sm) 0; }

/* ─── Product Archive ─── */
.woocommerce-products-header__title { font-size: var(--don-text-3xl); margin-bottom: var(--don-space-lg); }
.woocommerce-result-count { font-size: var(--don-text-sm); color: var(--don-text-muted); }
.woocommerce-ordering select { padding: 8px 12px; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); font-size: var(--don-text-sm); background: var(--don-white); }

/* Products grid */
ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 16px; list-style: none; padding: 0; margin: 24px 0; }
ul.products li.product { margin: 0 !important; padding: 0 !important; }

/* ─── Single Product ─── */
/* Layout handled by .don-single-product in main.css */
.woocommerce div.product div.images { position: relative; }
.woocommerce div.product div.images img { border-radius: var(--don-radius-md); }
.woocommerce div.product div.summary { padding: 0; }

/* Product title */
.woocommerce div.product .product_title { font-size: var(--don-text-3xl); margin-bottom: 8px; }

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size: var(--don-text-xl); color: var(--don-dark); font-weight: 500; margin-bottom: 16px; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product p.price del { opacity: 0.5; font-size: 0.85em; }

/* Variations */
.woocommerce div.product form.variations_form .variations { margin-bottom: 24px; }
.woocommerce div.product form.variations_form .variations td { padding: 8px 0; }
.woocommerce div.product form.variations_form .variations select { padding: 10px 14px; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); min-width: 200px; }
.woocommerce div.product form.variations_form .variations .label label { font-weight: 500; font-size: var(--don-text-sm); text-transform: uppercase; letter-spacing: 0.04em; }

/* Quantity */
.woocommerce .quantity { display: inline-flex; align-items: center; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); overflow: hidden; }
.woocommerce .quantity .qty { width: 60px; text-align: center; border: none; padding: 10px; font-size: var(--don-text-base); -moz-appearance: textfield; }
.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Add to cart */
.woocommerce div.product .single_add_to_cart_button { background: var(--don-primary); color: var(--don-white); border: 2px solid var(--don-primary); padding: 14px 32px; font-size: var(--don-text-sm); font-weight: 500; text-transform: uppercase; letter-spacing: 0.04em; border-radius: var(--don-radius-sm); transition: all var(--don-transition); cursor: pointer; }
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--don-primary-dark); border-color: var(--don-primary-dark); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 48px; grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 0; border-bottom: 2px solid var(--don-border); list-style: none; padding: 0; margin: 0 0 24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 24px; font-size: var(--don-text-sm); font-weight: 500; color: var(--don-text-muted); text-transform: uppercase; letter-spacing: 0.04em; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all var(--don-transition-fast); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--don-primary); border-bottom-color: var(--don-primary); }

/* Reviews */
.don-review-photo { margin-top: 16px; }
.don-review-photo label { display: block; font-weight: 500; margin-bottom: 4px; font-size: var(--don-text-sm); }
.don-review-photo input[type="file"] { font-size: var(--don-text-sm); }
.don-review-photo small { display: block; color: var(--don-text-muted); margin-top: 4px; }
.don-review-photo-display { margin-top: 12px; }
.don-review-photo__img { border-radius: var(--don-radius-sm); max-width: 200px; }

/* Star rating */
.woocommerce .star-rating { color: var(--don-gold); font-size: 14px; }
.woocommerce p.stars a { color: var(--don-border); }
.woocommerce p.stars a:hover,
.woocommerce p.stars a.active { color: var(--don-gold); }

/* ─── Cart ─── */
.woocommerce-cart table.shop_table { border-collapse: collapse; width: 100%; }
.woocommerce-cart table.shop_table th { background: var(--don-light); padding: 12px 16px; font-size: var(--don-text-sm); text-transform: uppercase; letter-spacing: 0.04em; text-align: left; }
.woocommerce-cart table.shop_table td { padding: 16px; border-bottom: 1px solid var(--don-border-light); vertical-align: middle; }
.woocommerce-cart table.shop_table img { width: 80px; height: auto; border-radius: var(--don-radius-sm); }

/* ─── Checkout ─── */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 { font-size: var(--don-text-2xl); margin-bottom: 24px; }
.woocommerce form .form-row { margin-bottom: 16px; }
.woocommerce form .form-row label { font-size: var(--don-text-sm); font-weight: 500; margin-bottom: 6px; display: block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { width: 100%; padding: 12px 16px; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); font-size: var(--don-text-base); background: var(--don-lightest); }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus { border-color: var(--don-primary); box-shadow: 0 0 0 3px rgba(164,141,120,0.15); outline: none; }

/* Place order button */
.woocommerce #place_order { background: var(--don-gold); color: var(--don-white); border: 2px solid var(--don-gold); padding: 16px 40px; font-size: var(--don-text-base); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; border-radius: var(--don-radius-sm); cursor: pointer; transition: all var(--don-transition); }
.woocommerce #place_order:hover { background: var(--don-gold-dark); border-color: var(--don-gold-dark); }

/* ─── Notices ─── */
.woocommerce-message { background: var(--don-success-bg); color: var(--don-success); border: 1px solid #A8D5A8; padding: 16px; border-radius: var(--don-radius-sm); margin-bottom: 16px; }
.woocommerce-error { background: var(--don-error-bg); color: var(--don-error); border: 1px solid #F5C6C6; padding: 16px; border-radius: var(--don-radius-sm); margin-bottom: 16px; list-style: none; }
.woocommerce-info { background: var(--don-info-bg); color: var(--don-info); border: 1px solid #BFDBFE; padding: 16px; border-radius: var(--don-radius-sm); margin-bottom: 16px; }

/* ─── Breadcrumbs ─── */
.don-breadcrumb { padding: 12px 0; font-size: var(--don-text-xs); color: var(--don-text-muted); }
.don-breadcrumb a { color: var(--don-text-muted); }
.don-breadcrumb a:hover { color: var(--don-primary); }
.don-breadcrumb__sep { margin: 0 4px; opacity: 0.5; }

/* ─── Pagination ─── */
.woocommerce nav.woocommerce-pagination ul { display: flex; justify-content: center; gap: 4px; list-style: none; padding: 32px 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--don-border); border-radius: var(--don-radius-sm); font-size: var(--don-text-sm); color: var(--don-text); transition: all var(--don-transition-fast); }
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--don-primary); color: var(--don-primary); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--don-primary); color: var(--don-white); border-color: var(--don-primary); }

/* ─── Responsive ─── */
@media (min-width: 768px) {
    ul.products { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}

@media (min-width: 1024px) {
    ul.products { grid-template-columns: repeat(4, 1fr); }
}
