/* ==========================================================================
   Gallery Dark — WooCommerce Custom Styles
   Kateryna Reznichenko Fine Art
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. PRODUCT GRID (Shop Archive / Category Pages)
   -------------------------------------------------------------------------- */

.woocommerce ul.products,
.woocommerce-page ul.products {
	gap: 20px;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background-color: var(--gd-bg-card);
	border: 1px solid var(--gd-border);
	border-radius: 0;
	overflow: hidden;
	transition: border-color var(--gd-transition), transform var(--gd-transition);
	padding: 0;
	margin: 0;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	border-color: var(--gd-gold);
}

/* Product image zoom on hover */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	transition: transform 0.4s ease;
	display: block;
	width: 100%;
}

.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img {
	transform: scale(1.04);
}

/* Product image wrapper */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link {
	display: block;
	overflow: hidden;
}

/* Product info area */
.woocommerce ul.products li.product .product-info-wrapper,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2.woocommerce-loop-product__title {
	padding: 16px 16px 0;
}

.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2.woocommerce-loop-product__title {
	font-family: var(--gd-font-heading);
	color: var(--gd-text);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin: 0 0 8px;
}

/* Price */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	color: var(--gd-gold);
	font-family: var(--gd-font-button);
	font-size: 1rem;
	font-weight: 500;
	padding: 0 16px 8px;
	display: block;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
	color: var(--gd-text-dim);
	font-size: 0.85rem;
	margin-right: 6px;
}

/* Add to Cart button — full width, gold */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	display: block;
	width: 100%;
	text-align: center;
	background-color: var(--gd-gold);
	color: var(--gd-bg) !important;
	font-family: var(--gd-font-button);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	border: none;
	border-radius: 0;
	padding: 12px 16px;
	margin-top: 12px;
	transition: background-color var(--gd-transition);
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
	background-color: var(--gd-gold-hover);
	color: var(--gd-bg) !important;
}

/* --------------------------------------------------------------------------
   2. SINGLE PRODUCT PAGE
   -------------------------------------------------------------------------- */

.woocommerce div.product {
	background-color: var(--gd-bg);
}

/* Product title */
.woocommerce div.product h1.product_title {
	font-family: var(--gd-font-heading);
	color: var(--gd-text);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin-bottom: 12px;
}

/* Product price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--gd-gold);
	font-family: var(--gd-font-button);
	font-size: 1.375rem;
	font-weight: 500;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: var(--gd-text-dim);
	font-size: 1rem;
}

/* Product short description */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product div.woocommerce-product-details__short-description p {
	color: var(--gd-text-muted);
	font-size: 0.95rem;
	line-height: 1.7;
}

/* Quantity input */
.woocommerce div.product form.cart .quantity input.qty {
	background-color: var(--gd-bg-light);
	color: var(--gd-text);
	border: 1px solid var(--gd-border);
	border-radius: 0;
	font-family: var(--gd-font-body);
	font-size: 1rem;
	text-align: center;
	width: 70px;
}

.woocommerce div.product form.cart .quantity input.qty:focus {
	border-color: var(--gd-gold);
	outline: none;
}

/* Add to Cart — single product */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button[type="submit"] {
	background-color: var(--gd-gold);
	color: var(--gd-bg) !important;
	font-family: var(--gd-font-button);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	border: 2px solid var(--gd-gold);
	border-radius: 0;
	padding: 14px 36px;
	transition: background-color var(--gd-transition), border-color var(--gd-transition);
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart button[type="submit"]:hover {
	background-color: var(--gd-gold-hover);
	border-color: var(--gd-gold-hover);
	color: var(--gd-bg) !important;
}

/* --------------------------------------------------------------------------
   3. PRODUCT TABS
   -------------------------------------------------------------------------- */

.woocommerce div.product .woocommerce-tabs ul.tabs {
	background: transparent;
	border-bottom: 1px solid var(--gd-border);
	padding: 0;
	margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-color: var(--gd-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background-color: var(--gd-bg-card);
	border: 1px solid var(--gd-border);
	border-bottom: none;
	border-radius: 0;
	margin-right: 4px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--gd-text-muted);
	font-family: var(--gd-font-button);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 10px 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
	background-color: var(--gd-bg-light);
	border-color: var(--gd-gold);
	border-bottom-color: var(--gd-bg-light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
	color: var(--gd-gold);
}

.woocommerce div.product .woocommerce-tabs .panel {
	background-color: var(--gd-bg-light);
	border: 1px solid var(--gd-border);
	border-top: none;
	padding: 28px;
	color: var(--gd-text-muted);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	color: var(--gd-text);
	font-size: 1rem;
	margin-bottom: 16px;
}

/* --------------------------------------------------------------------------
   4. RELATED PRODUCTS
   -------------------------------------------------------------------------- */

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
	font-family: var(--gd-font-button);
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--gd-gold);
	text-transform: uppercase;
	letter-spacing: 4px;
	margin-bottom: 24px;
	position: relative;
}

.woocommerce .related.products > h2::after,
.woocommerce .upsells.products > h2::after {
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	background-color: var(--gd-gold);
	margin-top: 8px;
}

/* --------------------------------------------------------------------------
   5. CART
   -------------------------------------------------------------------------- */

.woocommerce-cart table.cart {
	border-collapse: collapse;
	width: 100%;
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
	background-color: var(--gd-bg-card);
	border: 1px solid var(--gd-border);
	color: var(--gd-text-muted);
	padding: 14px 16px;
}

.woocommerce-cart table.cart th {
	color: var(--gd-text);
	font-family: var(--gd-font-button);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 600;
}

.woocommerce-cart table.cart .product-name a {
	color: var(--gd-text);
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
	color: var(--gd-gold);
	font-family: var(--gd-font-button);
}

/* Cart totals */
.cart_totals h2 {
	font-family: var(--gd-font-button);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--gd-gold);
	text-transform: uppercase;
	letter-spacing: 3px;
	margin-bottom: 16px;
}

.cart_totals table {
	border-collapse: collapse;
	width: 100%;
}

.cart_totals table th,
.cart_totals table td {
	background-color: var(--gd-bg-card);
	border: 1px solid var(--gd-border);
	color: var(--gd-text-muted);
	padding: 12px 16px;
}

.cart_totals table .order-total td {
	color: var(--gd-gold);
	font-family: var(--gd-font-button);
	font-size: 1.1rem;
	font-weight: 600;
}

/* Proceed to checkout button */
.woocommerce .wc-proceed-to-checkout .checkout-button {
	background-color: var(--gd-gold);
	color: var(--gd-bg) !important;
	border-radius: 0;
	font-family: var(--gd-font-button);
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 0.8rem;
	font-weight: 600;
}

.woocommerce .wc-proceed-to-checkout .checkout-button:hover {
	background-color: var(--gd-gold-hover);
	color: var(--gd-bg) !important;
}

/* --------------------------------------------------------------------------
   6. CHECKOUT
   -------------------------------------------------------------------------- */

.woocommerce-checkout #payment {
	background-color: var(--gd-bg-card);
	border: 1px solid var(--gd-border);
	border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--gd-border);
}

.woocommerce-checkout #payment ul.payment_methods li label {
	color: var(--gd-text-muted);
	font-size: 0.9rem;
}

.woocommerce-checkout #payment div.payment_box {
	background-color: var(--gd-bg-light);
	color: var(--gd-text-muted);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--gd-bg-light);
}

.woocommerce-checkout h3#order_review_heading {
	color: var(--gd-text);
	font-family: var(--gd-font-heading);
}

/* Checkout form inputs */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
	background-color: var(--gd-bg-light);
	color: var(--gd-text);
	border-color: var(--gd-border);
}

/* Checkout labels */
.woocommerce-checkout label,
.woocommerce-checkout .form-row label {
	color: var(--gd-text-muted);
}

/* Order review table */
.woocommerce-checkout table.shop_table {
	border-collapse: collapse;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	background-color: var(--gd-bg-card);
	border: 1px solid var(--gd-border);
	color: var(--gd-text-muted);
	padding: 12px 16px;
}

.woocommerce-checkout table.shop_table tfoot tr:last-child td,
.woocommerce-checkout table.shop_table tfoot tr:last-child th {
	color: var(--gd-gold);
	font-family: var(--gd-font-button);
	font-size: 1rem;
}

/* Place order button */
#place_order {
	background-color: var(--gd-gold);
	color: var(--gd-bg) !important;
	font-family: var(--gd-font-button);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	border: none;
	border-radius: 0;
	width: 100%;
	padding: 16px;
}

#place_order:hover {
	background-color: var(--gd-gold-hover);
}

/* --------------------------------------------------------------------------
   7. SALE BADGE
   -------------------------------------------------------------------------- */

.woocommerce span.onsale {
	background-color: var(--gd-gold);
	color: var(--gd-bg);
	font-family: var(--gd-font-button);
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-radius: 0;
	min-width: auto;
	min-height: auto;
	line-height: 1;
	padding: 6px 10px;
}

/* --------------------------------------------------------------------------
   8. WOOCOMMERCE NOTICES
   -------------------------------------------------------------------------- */

.woocommerce-message,
.woocommerce-info {
	background-color: var(--gd-bg-card);
	color: var(--gd-text-muted);
	border-top: 4px solid var(--gd-gold);
	border-left: none;
	box-shadow: none;
}

.woocommerce-message a,
.woocommerce-info a {
	color: var(--gd-gold);
}

.woocommerce-error {
	background-color: var(--gd-bg-card);
	color: var(--gd-text-muted);
	border-top: 4px solid #c0392b;
	border-left: none;
	box-shadow: none;
}

.woocommerce-error a {
	color: #e74c3c;
}

/* --------------------------------------------------------------------------
   9. BREADCRUMBS
   -------------------------------------------------------------------------- */

.woocommerce .woocommerce-breadcrumb {
	color: var(--gd-text-dim);
	font-size: 0.8rem;
	letter-spacing: 0.03em;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--gd-text-muted);
	transition: color var(--gd-transition);
}

.woocommerce .woocommerce-breadcrumb a:hover {
	color: var(--gd-gold);
}

/* --------------------------------------------------------------------------
   10. WIDGET LAYERED NAV & FILTER WIDGETS
   -------------------------------------------------------------------------- */

.woocommerce .widget_layered_nav ul li a,
.woocommerce .widget_product_categories ul li a,
.woocommerce .widget_rating_filter ul li a {
	color: var(--gd-text-muted);
	transition: color var(--gd-transition);
}

.woocommerce .widget_layered_nav ul li a:hover,
.woocommerce .widget_product_categories ul li a:hover,
.woocommerce .widget_rating_filter ul li a:hover {
	color: var(--gd-gold);
}

.woocommerce .widget_layered_nav ul li.chosen a {
	color: var(--gd-gold);
	font-weight: 600;
}

/* Price slider */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider {
	background-color: var(--gd-border);
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range {
	background-color: var(--gd-gold);
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle {
	background-color: var(--gd-gold);
	border-color: var(--gd-gold);
}

.woocommerce .widget_price_filter .price_slider_amount .button {
	background-color: transparent;
	color: var(--gd-gold) !important;
	border: 1px solid var(--gd-gold);
	font-size: 0.75rem;
	padding: 6px 14px;
}

.woocommerce .widget_price_filter .price_slider_amount .price_label {
	color: var(--gd-text-muted);
	font-size: 0.85rem;
}

/* Widget headings */
.woocommerce-widget-layered-nav .widget-title,
.widget_product_categories .widget-title,
.widget_price_filter .widget-title {
	font-family: var(--gd-font-button);
	color: var(--gd-text);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	margin-bottom: 16px;
}

/* --------------------------------------------------------------------------
   11. ACCOUNT PAGE
   -------------------------------------------------------------------------- */

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 16px;
	color: var(--gd-text-muted);
	border-bottom: 1px solid var(--gd-border);
	font-size: 0.85rem;
	transition: all var(--gd-transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--gd-gold);
	background-color: var(--gd-bg-card);
	padding-left: 20px;
}

/* --------------------------------------------------------------------------
   12. RESULT COUNT & ORDERING
   -------------------------------------------------------------------------- */

.woocommerce .woocommerce-result-count {
	color: var(--gd-text-dim);
	font-size: 0.85rem;
}

.woocommerce .woocommerce-ordering select {
	background-color: var(--gd-bg-card);
	color: var(--gd-text-muted);
	border: 1px solid var(--gd-border);
	border-radius: 0;
	font-size: 0.85rem;
	padding: 8px 12px;
}
