/* WooCommerce dark-theme skin — relies on the CSS custom properties
   defined in the theme's root style.css (loaded as a dependency). */

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	background: var(--surface);
	border: 1px solid var(--border);
	border-inline-start: 3px solid var(--accent);
	border-radius: var(--radius-sm);
	padding: 16px 20px;
	color: var(--text);
	list-style: none;
	margin-block-end: 24px;
}
.woocommerce-error{ border-inline-start-color: #ef4444; }
.woocommerce-message .button, .woocommerce-error .button{
	background: var(--gradient-accent); color: var(--accent-contrast); padding: 8px 16px; border-radius: 8px; font-weight:700; margin-inline-start: 12px;
}

/* ---------- Shop / product loop ---------- */
.woocommerce ul.products{
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 320px)) !important;
	justify-content: center;
	gap: 22px; list-style: none; margin: 0 !important; padding: 0;
}
.woocommerce ul.products li.product{
	width: auto !important; margin: 0 !important; float: none !important;
}
@media (max-width: 600px){
	.woocommerce ul.products{ grid-template-columns: minmax(0, 1fr) !important; }
}

.woocommerce ul.products li.product{
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 18px; box-shadow: var(--shadow-1);
	transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .3s ease, box-shadow .4s ease;
	position: relative;
}
.woocommerce ul.products li.product:hover{ transform: translateY(-4px); border-color: rgba(23,217,196,.4); box-shadow: var(--shadow-elevated); }
.woocommerce ul.products li.product a{ text-decoration:none; }
.woocommerce ul.products li.product img{
	border-radius: var(--radius-sm); aspect-ratio: 4/3; object-fit: cover; margin-block-end: 14px;
	background: var(--surface-2);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	color: #fff; font-size: 1.02rem; font-weight: 800; margin-block: 6px 8px;
}
.woocommerce ul.products li.product .price{
	color: var(--accent); font-weight: 800; font-size: .98rem;
}
.woocommerce ul.products li.product .price del{ color: var(--text-faint); opacity:.7; margin-inline-end: 8px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{
	display: inline-flex; margin-block-start: 14px; width:100%; justify-content:center;
	background: var(--surface-2); color: var(--text); border:1px solid var(--border);
	padding: 11px 14px; border-radius: var(--radius-sm); font-weight:700; font-size:.88rem;
	text-align:center; white-space: nowrap;
}
.woocommerce ul.products li.product .button:hover, .woocommerce ul.products li.product .added_to_cart{
	border-color: var(--accent); color: var(--accent);
}
.woocommerce span.onsale{
	position:absolute; inset-inline-start:14px; top:14px; background: var(--gradient-accent); color: var(--accent-contrast);
	font-size:.72rem; font-weight:800; padding: 4px 10px; border-radius: 999px;
}
.woocommerce .star-rating{ color: var(--accent-warn); }

/* Sorting / result count bar */
.woocommerce-ordering select, .woocommerce-result-count{ color: var(--text-muted); }
.woocommerce-ordering select{
	background: var(--surface); border:1px solid var(--border); color: var(--text); padding: 8px 12px; border-radius: 8px;
}
.woocommerce-notices-wrapper:empty, .woocommerce-result-count{ margin-block-end: 20px; }

/* ---------- Single product ---------- */
.woocommerce div.product{ display:grid; grid-template-columns: .9fr 1.1fr; gap: 44px; align-items:start; }
@media (max-width: 860px){ .woocommerce div.product{ grid-template-columns: 1fr; } }

.woocommerce div.product .woocommerce-product-gallery{
	background: var(--surface); border:1px solid var(--border); border-radius: var(--radius); padding: 14px;
}
.woocommerce div.product .woocommerce-product-gallery img{ border-radius: var(--radius-sm); }

.woocommerce div.product .summary{ color: var(--text-muted); }
.woocommerce div.product .summary h1.product_title{ color:#fff; font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight:900; margin-block-end: 14px; }
.woocommerce div.product .summary .price{ color: var(--accent); font-size:1.4rem; font-weight:900; margin-block-end: 18px; display:block; }
.woocommerce div.product .summary .price del{ color: var(--text-faint); font-size:1rem; margin-inline-end:10px; }

.woocommerce div.product form.cart{ display:flex; align-items:center; gap:14px; margin-block:26px; flex-wrap:wrap; }
.woocommerce div.product form.cart .quantity{ display:inline-flex; }
.woocommerce div.product form.cart .quantity input.qty{
	width: 70px; background: var(--surface); border:1px solid var(--border); color: var(--text);
	border-radius: var(--radius-sm); padding: 12px; text-align:center; font-size:1rem;
}
.woocommerce div.product form.cart .single_add_to_cart_button{
	background: var(--gradient-accent); color: var(--accent-contrast); border:none;
	padding: 14px 30px; border-radius: var(--radius-sm); font-weight:800; font-size:.98rem; box-shadow: var(--shadow-glow);
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{ transform: translateY(-2px); }

.woocommerce div.product .product_meta{ font-size:.85rem; color: var(--text-faint); border-block-start:1px solid var(--border); padding-block-start:16px; }
.woocommerce div.product .product_meta a{ color: var(--accent); }

.woocommerce-tabs{ margin-block-start: 56px; grid-column: 1 / -1; }
.woocommerce-tabs ul.tabs{ display:flex; gap:8px; border-block-end:1px solid var(--border); margin-block-end:24px; flex-wrap:wrap; }
.woocommerce-tabs ul.tabs li{ list-style:none; }
.woocommerce-tabs ul.tabs li a{
	display:block; padding: 12px 20px; color: var(--text-muted); font-weight:700; font-size:.92rem; border-radius: 8px 8px 0 0;
}
.woocommerce-tabs ul.tabs li.active a{ color: var(--accent); background: var(--surface); }
.woocommerce-tabs .panel{ color: var(--text-muted); }
.woocommerce-tabs .panel h2{ color:#fff; margin-block-end:14px; }

/* Related products reuse ul.products styles above */
.related.products{ grid-column: 1 / -1; margin-block-start: 56px; }
.related.products > h2{ color:#fff; font-size:1.3rem; font-weight:800; margin-block-end:22px; }

/* ---------- Cart ---------- */
table.shop_table{
	width:100%; border-collapse: collapse; background: var(--surface); border:1px solid var(--border); border-radius: var(--radius); overflow:hidden;
}
table.shop_table th{ background: var(--surface-2); color: var(--text-muted); font-size:.82rem; text-align:start; padding: 14px 16px; }
table.shop_table td{ padding: 16px; border-block-start: 1px solid var(--border); color: var(--text); }
table.shop_table td.product-name a{ color: #fff; font-weight:700; }
table.shop_table td.product-remove a{ color: var(--text-faint); font-size:1.2rem; }
table.shop_table img{ border-radius: 8px; width:56px; height:56px; object-fit:cover; }
.woocommerce .quantity input.qty{
	width:64px; background: var(--bg-alt); border:1px solid var(--border); color: var(--text); border-radius: 8px; padding: 8px; text-align:center;
}

.cart-collaterals{ margin-block-start: 32px; display:flex; justify-content:flex-end; }
.cart_totals{ background: var(--surface); border:1px solid var(--border); border-radius: var(--radius); padding: 24px; min-width: 320px; }
.cart_totals h2{ color:#fff; font-weight:800; margin-block-end:16px; }
.cart_totals table{ width:100%; }
.cart_totals table th, .cart_totals table td{ padding: 10px 0; color: var(--text-muted); border-block-start:1px solid var(--border); }
.cart_totals .order-total .amount{ color: var(--accent); font-weight:900; font-size:1.15rem; }

.wc-proceed-to-checkout .checkout-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	background: var(--gradient-accent); color: var(--accent-contrast) !important; border:none;
	padding: 13px 26px; border-radius: var(--radius-sm); font-weight:800; font-size:.95rem; width:100%; text-align:center;
}
.woocommerce a.button.alt, .woocommerce #respond input#submit.alt{ box-shadow: var(--shadow-glow); }

/* ---------- Checkout ---------- */
.woocommerce-checkout #customer_details{ background: var(--surface); border:1px solid var(--border); border-radius: var(--radius); padding: 26px; margin-block-end: 26px; }
.woocommerce-checkout h3{ color:#fff; font-weight:800; font-size:1.1rem; margin-block-end:18px; }
.woocommerce-billing-fields .form-row, .woocommerce-additional-fields .form-row{ margin-block-end:16px; }
.woocommerce form .form-row label{ color: var(--text-muted); font-size:.88rem; margin-block-end:6px; display:block; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select, .select2-container .select2-selection--single{
	width:100%; background: var(--bg-alt) !important; border:1px solid var(--border) !important; color: var(--text) !important;
	border-radius: var(--radius-sm); padding: 12px 14px !important; font-size:.95rem;
}
#order_review{ background: var(--surface); border:1px solid var(--border); border-radius: var(--radius); padding: 26px; }
#order_review table.shop_table{ border:none; background:transparent; }
.woocommerce-checkout-payment{ background: var(--bg-alt); border-radius: var(--radius-sm); padding: 18px; margin-block-start:16px; }
.woocommerce-checkout-payment ul.payment_methods{ list-style:none; padding:0; margin:0 0 16px; }
.woocommerce-checkout-payment ul.payment_methods li{ padding: 12px 0; border-block-end:1px solid var(--border); color: var(--text); }
.woocommerce-checkout-payment .payment_box{ background: var(--surface); border-radius: 8px; padding: 14px; margin-block-start: 10px; color: var(--text-muted); font-size:.88rem; }

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce{ display:grid; grid-template-columns: 240px 1fr; gap: 32px; align-items:start; }
@media (max-width: 780px){ .woocommerce-account .woocommerce{ grid-template-columns: 1fr; } }

.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px; background: var(--surface); border:1px solid var(--border); border-radius: var(--radius); padding: 10px; }
.woocommerce-MyAccount-navigation li a{ display:block; padding: 12px 16px; border-radius: var(--radius-sm); color: var(--text-muted); font-weight:600; font-size:.92rem; }
.woocommerce-MyAccount-navigation li a:hover{ background: var(--surface-2); color: #fff; }
.woocommerce-MyAccount-navigation li.is-active a{ background: var(--gradient-accent); color: var(--accent-contrast); }

.woocommerce-MyAccount-content{ background: var(--surface); border:1px solid var(--border); border-radius: var(--radius); padding: 30px; color: var(--text-muted); }
.woocommerce-MyAccount-content h2{ color:#fff; }
.woocommerce-MyAccount-content mark{ background:none; color: var(--accent); font-weight:700; }
.woocommerce-orders-table, .account-orders-table{ width:100%; }
.woocommerce-orders-table th, .woocommerce-orders-table td{ padding: 12px; border-block-end: 1px solid var(--border); }
.woocommerce-orders-table .button{ width:auto; padding: 8px 16px; font-size:.82rem; }
.woocommerce-order-downloads table th, .woocommerce-order-downloads table td{ padding: 10px; border-block-end:1px solid var(--border); }

/* Login / register */
.woocommerce-form-login, .woocommerce-form-register{
	max-width: 420px; background: var(--surface); border:1px solid var(--border); border-radius: var(--radius);
	padding: 30px; margin: 0 auto 24px;
}
.woocommerce-form-login-toggle, .woocommerce-form-register-toggle{ display:none; }
.woocommerce-form-row label, .woocommerce-form-login label, .woocommerce-form-register label{ color: var(--text-muted); font-size:.88rem; }
.woocommerce-form-login .form-row, .woocommerce-form-register .form-row{ margin-block-end:16px; }
.woocommerce-form-login .button, .woocommerce-form-register .button{ width:100%; margin-block-start:6px; }
.woocommerce-LostPassword{ color: var(--text-faint); font-size:.85rem; margin-block-start:14px; display:block; text-align:center; }
.woocommerce-LostPassword a{ color: var(--accent); }
.woocommerce-account-fields .form-row, .woocommerce-address-fields .form-row{ margin-block-end:16px; }

/* Breadcrumb (WooCommerce's own, hidden since page-hero already has one) */
.woocommerce-breadcrumb{ display:none; }
