/**
 * PinPress WooCommerce Styles
 *
 * Aligns WooCommerce pages with PinPress design tokens
 * including dark mode support.
 *
 * @package Pinpress
 */

/* ═══════════════════════════════════════════════════════════════
   SIDEBAR PROTECTION — prevent WC styles from affecting sidebar nav
   ═══════════════════════════════════════════════════════════════ */

aside a {
	color: inherit !important;
	text-decoration: none !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

aside a:hover,
aside a:focus {
	color: inherit !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   GENERAL — Typography, links, buttons
   ═══════════════════════════════════════════════════════════════ */

.woocommerce {
	color: #211922; /* pin-text */
	font-family: var(--font-body, 'Roboto', sans-serif);
}

.dark .woocommerce {
	color: #f2f2f7; /* pin-dark-text */
}

main .woocommerce a {
	color: var(--color-primary, #CC0000);
}

main .woocommerce a:hover {
	color: var(--color-primary-hover, #A30000);
}

/* Buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce .wc-block-components-button {
	background-color: var(--color-primary, #CC0000) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 9999px !important;
	font-weight: 600 !important;
	padding: 0.625rem 1.5rem !important;
	font-size: 0.875rem !important;
	transition: background-color 0.2s !important;
	cursor: pointer;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce #respond input#submit:hover {
	background-color: var(--color-primary-hover, #A30000) !important;
}

.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt,
.woocommerce #respond input#submit.alt {
	background-color: var(--color-primary, #CC0000) !important;
}

.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background-color: var(--color-primary-hover, #A30000) !important;
}

/* Outline / secondary buttons */
.woocommerce .button.wc-backward,
.woocommerce a.button.wc-backward {
	background-color: transparent !important;
	color: #211922 !important;
	border: 1px solid #CDCDCD !important;
}

.dark .woocommerce .button.wc-backward,
.dark .woocommerce a.button.wc-backward {
	color: #f2f2f7 !important;
	border-color: #3a3a3c !important;
}

/* ═══════════════════════════════════════════════════════════════
   FORMS — Inputs, selects, textareas
   ═══════════════════════════════════════════════════════════════ */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .woocommerce-input-wrapper input,
.woocommerce .woocommerce-input-wrapper select,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="number"],
.woocommerce-page input[type="password"],
.woocommerce-page select,
.woocommerce-page textarea {
	background-color: #fff;
	border: 1px solid #CDCDCD; /* pin-border */
	border-radius: 0.5rem;
	padding: 0.625rem 0.875rem;
	color: #211922; /* pin-text */
	font-size: 0.875rem;
	transition: border-color 0.2s;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--color-primary, #CC0000);
	outline: none;
	box-shadow: 0 0 0 1px var(--color-primary, #CC0000);
}

.dark .woocommerce form .form-row input.input-text,
.dark .woocommerce form .form-row textarea,
.dark .woocommerce form .form-row select,
.dark .woocommerce-page input[type="text"],
.dark .woocommerce-page input[type="email"],
.dark .woocommerce-page input[type="tel"],
.dark .woocommerce-page input[type="number"],
.dark .woocommerce-page input[type="password"],
.dark .woocommerce-page select,
.dark .woocommerce-page textarea {
	background-color: #2c2c2e; /* pin-dark-surface */
	border-color: #3a3a3c; /* pin-dark-border */
	color: #f2f2f7; /* pin-dark-text */
}

/* Labels */
.woocommerce form .form-row label {
	color: #211922; /* pin-text */
	font-weight: 500;
	font-size: 0.875rem;
	margin-bottom: 0.25rem;
}

.dark .woocommerce form .form-row label {
	color: #f2f2f7; /* pin-dark-text */
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT PAGE
   ═══════════════════════════════════════════════════════════════ */

/* Product page is already wrapped in a card by woocommerce.php */
.woocommerce div.product {
	background: transparent;
	border: none;
	padding: 0;
	box-shadow: none;
}

/* Product title */
.woocommerce div.product .product_title {
	color: #211922; /* pin-text */
	font-size: 1.5rem;
	font-weight: 700;
}

.dark .woocommerce div.product .product_title {
	color: #f2f2f7; /* pin-dark-text */
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--color-primary, #CC0000) !important;
	font-size: 1.25rem;
	font-weight: 700;
}

.woocommerce div.product p.price del {
	color: #767676; /* pin-text-muted */
	font-weight: 400;
}

.dark .woocommerce div.product p.price del {
	color: #aeaeb2; /* pin-dark-muted */
}

/* Product description */
.woocommerce div.product .woocommerce-product-details__short-description {
	color: #767676; /* pin-text-muted */
	line-height: 1.6;
}

.dark .woocommerce div.product .woocommerce-product-details__short-description {
	color: #aeaeb2; /* pin-dark-muted */
}

/* Product image — ensure visibility */
.woocommerce div.product div.images img {
	border-radius: 0.75rem;
	opacity: 1 !important;
	visibility: visible !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	border-radius: 0.75rem;
	overflow: hidden;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
	display: block;
}

/* Fix zoom overlay hiding the image */
.woocommerce div.product div.images .woocommerce-product-gallery__image a img {
	position: relative !important;
	display: block !important;
	opacity: 1 !important;
	width: 100%;
	height: auto;
}

/* Gallery thumbnails */
.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: 0.75rem;
	display: flex;
	gap: 0.5rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	border-radius: 0.5rem;
	overflow: hidden;
	flex: 0 0 auto;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: 0.5rem;
	cursor: pointer;
	transition: opacity 0.2s;
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	opacity: 0.8;
}

/* Stock status */
.woocommerce div.product .stock {
	font-weight: 600;
	font-size: 0.875rem;
}

.woocommerce div.product .stock.in-stock {
	color: #00a32a;
}

.woocommerce div.product .stock.out-of-stock {
	color: #d63638;
}

/* Zoom icon */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	background: rgba(255, 255, 255, 0.9);
	border-radius: 9999px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dark .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	background: rgba(44, 44, 46, 0.9); /* pin-dark-surface */
}

/* Product meta (SKU, categories, tags) */
.woocommerce div.product .product_meta {
	color: #767676; /* pin-text-muted */
	font-size: 0.8125rem;
}

.dark .woocommerce div.product .product_meta {
	color: #aeaeb2; /* pin-dark-muted */
}

.woocommerce div.product .product_meta a {
	color: var(--color-primary, #CC0000);
}

/* Tabs — full override to remove WC default styling */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid #CDCDCD !important; /* pin-border */
	padding: 0 !important;
	margin: 2rem 0 1rem !important;
	list-style: none !important;
	overflow: visible !important;
	position: relative !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none !important;
}

.dark .woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom-color: #3a3a3c !important; /* pin-dark-border */
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none !important;
	background: none !important;
	background-color: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-block !important;
	position: relative !important;
	border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.dark .woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none !important;
	background-color: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: #767676 !important; /* pin-text-muted */
	font-weight: 600 !important;
	padding: 0.625rem 1rem !important;
	border-bottom: 2px solid transparent !important;
	display: inline-block !important;
	text-decoration: none !important;
	transition: color 0.2s, border-color 0.2s !important;
}

.dark .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: #aeaeb2 !important; /* pin-dark-muted */
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: #211922 !important;
}

.dark .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: #f2f2f7 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: none !important;
	background-color: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #211922 !important; /* pin-text */
	border-bottom-color: var(--color-primary, #CC0000) !important;
}

.dark .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: none !important;
	background-color: transparent !important;
}

.dark .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #f2f2f7 !important; /* pin-dark-text */
	border-bottom-color: var(--color-primary, #CC0000) !important;
}

/* Tab panels */
.woocommerce div.product .woocommerce-tabs .panel {
	color: #211922; /* pin-text */
	padding: 1.5rem 0;
}

.dark .woocommerce div.product .woocommerce-tabs .panel {
	color: #f2f2f7; /* pin-dark-text */
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	color: #211922; /* pin-text */
	font-size: 1.125rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
}

.dark .woocommerce div.product .woocommerce-tabs .panel h2 {
	color: #f2f2f7; /* pin-dark-text */
}

/* Additional information table */
.woocommerce div.product .woocommerce-tabs .panel table {
	color: #211922;
}

.dark .woocommerce div.product .woocommerce-tabs .panel table {
	color: #f2f2f7;
}

.dark .woocommerce div.product .woocommerce-tabs .panel table th {
	color: #aeaeb2; /* pin-dark-muted */
	border-color: #3a3a3c;
}

.dark .woocommerce div.product .woocommerce-tabs .panel table td {
	color: #f2f2f7;
	border-color: #3a3a3c;
}

/* Related products */
.woocommerce div.product .related.products h2,
.woocommerce div.product .upsells.products h2 {
	color: #211922; /* pin-text */
	font-size: 1.25rem;
	font-weight: 700;
}

.dark .woocommerce div.product .related.products h2,
.dark .woocommerce div.product .upsells.products h2 {
	color: #f2f2f7; /* pin-dark-text */
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT CARDS (archive, related, upsells)
   ═══════════════════════════════════════════════════════════════ */

.woocommerce ul.products li.product {
	background: #fff;
	border-radius: 1rem;
	border: 1px solid rgba(205, 205, 205, 0.3);
	overflow: hidden;
	transition: box-shadow 0.2s;
}

.dark .woocommerce ul.products li.product {
	background: #2c2c2e; /* pin-dark-surface */
	border-color: rgba(58, 58, 60, 0.5);
}

.woocommerce ul.products li.product:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.woocommerce ul.products li.product a img {
	border-radius: 0.75rem 0.75rem 0 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #211922; /* pin-text */
	font-size: 0.875rem;
	font-weight: 600;
	padding: 0.5rem 0.75rem 0;
}

.dark .woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #f2f2f7; /* pin-dark-text */
}

.woocommerce ul.products li.product .price {
	color: var(--color-primary, #CC0000);
	font-weight: 700;
	padding: 0 0.75rem 0.5rem;
}

/* Star ratings */
.woocommerce .star-rating {
	color: #CC0000;
}

/* Product card dark mode — titles, prices, buttons, badges */
.dark .woocommerce ul.products li.product a {
	color: #f2f2f7; /* pin-dark-text */
}

.dark .woocommerce ul.products li.product .price {
	color: #f2f2f7 !important;
}

.dark .woocommerce ul.products li.product .price del {
	color: #aeaeb2; /* pin-dark-muted */
}

.dark .woocommerce ul.products li.product .price ins {
	color: #f2f2f7;
	text-decoration: none;
}

.dark .woocommerce ul.products li.product .button,
.dark .woocommerce ul.products li.product .add_to_cart_button {
	background-color: var(--color-primary, #CC0000) !important;
	color: #fff !important;
	border: none !important;
}

/* Sale badge on product cards */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	background: var(--color-primary, #CC0000) !important;
	color: #fff !important;
	border-radius: 9999px !important;
	font-weight: 600 !important;
	font-size: 0.75rem !important;
	padding: 0.25rem 0.75rem !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1.5 !important;
	border: none !important;
}

/* Product card image container in dark mode */
.dark .woocommerce ul.products li.product a img {
	background: #f5f5f5;
}

/* ═══════════════════════════════════════════════════════════════
   CART
   ═══════════════════════════════════════════════════════════════ */

.woocommerce table.shop_table {
	border: 1px solid #CDCDCD; /* pin-border */
	border-radius: 0.75rem;
	overflow: hidden;
}

.dark .woocommerce table.shop_table {
	border-color: #3a3a3c; /* pin-dark-border */
}

.woocommerce table.shop_table th {
	background: #EFEFEF; /* pin-surface */
	color: #211922; /* pin-text */
	font-weight: 600;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.dark .woocommerce table.shop_table th {
	background: #2c2c2e; /* pin-dark-surface */
	color: #f2f2f7; /* pin-dark-text */
}

.woocommerce table.shop_table td {
	border-top-color: #CDCDCD; /* pin-border */
	color: #211922; /* pin-text */
}

.dark .woocommerce table.shop_table td {
	border-top-color: #3a3a3c; /* pin-dark-border */
	color: #f2f2f7; /* pin-dark-text */
	background: #1c1c1e; /* pin-dark-bg */
}

.woocommerce table.shop_table img {
	border-radius: 0.5rem;
}

/* Cart totals */
.woocommerce .cart_totals h2 {
	color: #211922; /* pin-text */
	font-weight: 700;
}

.dark .woocommerce .cart_totals h2 {
	color: #f2f2f7; /* pin-dark-text */
}

/* Coupon */
.woocommerce .coupon .input-text {
	border-radius: 9999px !important;
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT
   ═══════════════════════════════════════════════════════════════ */

.woocommerce-checkout h3 {
	color: #211922; /* pin-text */
	font-weight: 700;
}

.dark .woocommerce-checkout h3 {
	color: #f2f2f7; /* pin-dark-text */
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	gap: 0.75rem;
}

/* Order review */
.woocommerce-checkout #order_review {
	background: #EFEFEF; /* pin-surface */
	border-radius: 0.75rem;
	padding: 1.5rem;
}

.dark .woocommerce-checkout #order_review {
	background: #2c2c2e; /* pin-dark-surface */
}

/* ═══════════════════════════════════════════════════════════════
   MY ACCOUNT
   ═══════════════════════════════════════════════════════════════ */

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.5rem 1rem;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 0.875rem;
	color: #211922; /* pin-text */
	background: #EFEFEF; /* pin-surface */
	transition: background-color 0.2s;
	text-decoration: none;
}

.dark .woocommerce-MyAccount-navigation ul li a {
	color: #f2f2f7; /* pin-dark-text */
	background: #3a3a3c; /* pin-dark-border — more contrast against dark bg */
}

.woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--color-primary, #CC0000);
	color: #fff;
}

.woocommerce-MyAccount-navigation ul li a:hover {
	background: #CDCDCD; /* pin-border */
}

.dark .woocommerce-MyAccount-navigation ul li a:hover {
	background: #3a3a3c; /* pin-dark-border */
}

.woocommerce-MyAccount-navigation ul li.is-active a:hover {
	background: var(--color-primary-hover, #A30000);
}

/* Account content */
.woocommerce-MyAccount-content {
	color: #211922; /* pin-text */
}

.dark .woocommerce-MyAccount-content {
	color: #f2f2f7; /* pin-dark-text */
}

/* ═══════════════════════════════════════════════════════════════
   NOTICES (success, error, info)
   ═══════════════════════════════════════════════════════════════ */

.woocommerce-message {
	border-top-color: var(--color-primary, #CC0000) !important;
	background: #fff;
	color: #211922; /* pin-text */
}

.dark .woocommerce-message {
	background: #2c2c2e; /* pin-dark-surface */
	color: #f2f2f7; /* pin-dark-text */
}

.woocommerce-error {
	border-top-color: #d63638 !important;
	background: #fff;
}

.dark .woocommerce-error {
	background: #2c2c2e; /* pin-dark-surface */
	color: #f2f2f7; /* pin-dark-text */
}

.woocommerce-info {
	border-top-color: #0074E8 !important; /* pin-focus */
	background: #fff;
}

.dark .woocommerce-info {
	background: #2c2c2e; /* pin-dark-surface */
	color: #f2f2f7; /* pin-dark-text */
}

/* ═══════════════════════════════════════════════════════════════
   BREADCRUMBS
   ═══════════════════════════════════════════════════════════════ */

.woocommerce .woocommerce-breadcrumb {
	color: #767676; /* pin-text-muted */
	font-size: 0.8125rem;
	margin-bottom: 1.5rem;
}

.dark .woocommerce .woocommerce-breadcrumb {
	color: #aeaeb2; /* pin-dark-muted */
}

.woocommerce .woocommerce-breadcrumb a {
	color: #767676; /* pin-text-muted */
}

.dark .woocommerce .woocommerce-breadcrumb a {
	color: #aeaeb2; /* pin-dark-muted */
}

/* ═══════════════════════════════════════════════════════════════
   PAGINATION
   ═══════════════════════════════════════════════════════════════ */

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current {
	border-radius: 9999px;
	min-width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 0.875rem;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--color-primary, #CC0000);
	color: #fff;
	border-color: var(--color-primary, #CC0000);
}

/* ═══════════════════════════════════════════════════════════════
   QUANTITY INPUT
   ═══════════════════════════════════════════════════════════════ */

.woocommerce .quantity .qty {
	border: 1px solid #CDCDCD; /* pin-border */
	border-radius: 0.5rem;
	padding: 0.5rem;
	width: 4rem;
	text-align: center;
}

.dark .woocommerce .quantity .qty {
	background: #2c2c2e; /* pin-dark-surface */
	border-color: #3a3a3c; /* pin-dark-border */
	color: #f2f2f7; /* pin-dark-text */
}

/* ═══════════════════════════════════════════════════════════════
   SALE BADGE
   ═══════════════════════════════════════════════════════════════ */

.woocommerce span.onsale {
	background: var(--color-primary, #CC0000) !important;
	color: #fff;
	border-radius: 9999px;
	font-weight: 600;
	font-size: 0.75rem;
	min-height: auto;
	min-width: auto;
	padding: 0.25rem 0.75rem;
	line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   WC BLOCKS (Cart/Checkout blocks in newer WooCommerce)
   ═══════════════════════════════════════════════════════════════ */

/* Block buttons */
.wc-block-components-button:not(.is-link) {
	background-color: var(--color-primary, #CC0000) !important;
	border-radius: 9999px !important;
	font-weight: 600 !important;
}

.wc-block-components-button:not(.is-link):hover {
	background-color: var(--color-primary-hover, #A30000) !important;
}

/* Block inputs */
.dark .wc-block-components-text-input input,
.dark .wc-block-components-textarea textarea,
.dark .wc-block-components-select .wc-block-components-select__container select {
	background-color: #2c2c2e !important; /* pin-dark-surface */
	border-color: #3a3a3c !important; /* pin-dark-border */
	color: #f2f2f7 !important; /* pin-dark-text */
}

.dark .wc-block-components-text-input label,
.dark .wc-block-components-textarea label {
	color: #aeaeb2 !important; /* pin-dark-muted */
}

/* Block totals */
.dark .wc-block-components-totals-wrapper,
.dark .wc-block-components-totals-item {
	color: #f2f2f7; /* pin-dark-text */
	border-color: #3a3a3c; /* pin-dark-border */
}

/* Block order summary */
.dark .wc-block-components-order-summary {
	background-color: #2c2c2e; /* pin-dark-surface */
	border-color: #3a3a3c;
}

/* Block checkout */
.dark .wp-block-woocommerce-checkout {
	color: #f2f2f7; /* pin-dark-text */
}

.dark .wc-block-components-checkout-step__heading {
	color: #f2f2f7 !important;
}

/* Block cart items */
.dark .wc-block-cart-items .wc-block-cart-items__row {
	border-color: #3a3a3c; /* pin-dark-border */
}

.dark .wc-block-components-product-name {
	color: #f2f2f7 !important; /* pin-dark-text */
}

.dark .wc-block-components-product-metadata {
	color: #aeaeb2 !important; /* pin-dark-muted */
}

/* Block quantity selector */
.dark .wc-block-components-quantity-selector input {
	background-color: #2c2c2e !important;
	color: #f2f2f7 !important;
	border-color: #3a3a3c !important;
}

.dark .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	color: #f2f2f7 !important;
	border-color: #3a3a3c !important;
}

/* Empty cart */
.dark .wc-block-cart__empty-cart__title,
.dark .wp-block-woocommerce-empty-cart-block h2,
.dark .wc-block-cart .wc-block-cart__empty-cart__title {
	color: #f2f2f7 !important; /* pin-dark-text */
}

.dark .wp-block-woocommerce-empty-cart-block p,
.dark .wc-block-cart .wp-block-paragraph {
	color: #aeaeb2 !important; /* pin-dark-muted */
}

/* Empty cart links / buttons — hidden in dark mode due to matching text color */
.dark .wp-block-woocommerce-empty-cart-block a,
.dark .wc-block-cart .wp-block-woocommerce-empty-cart-block a {
	color: var(--color-primary, #CC0000) !important;
	text-decoration: underline !important;
}

/* Empty cart block — show all children */
.dark .wp-block-woocommerce-empty-cart-block * {
	color: inherit;
}

/* WC cart page — "Return to shop" and other links */
.dark .woocommerce .wc-empty-cart-message a,
.dark .woocommerce .return-to-shop a,
.dark .woocommerce-cart .wc-block-cart a:not(.wc-block-components-button) {
	color: var(--color-primary, #CC0000) !important;
}

/* WC empty cart navigation dots/links between message and products */
.dark .wp-block-woocommerce-cart .wp-block-page-list a,
.dark .wp-block-woocommerce-cart .wp-block-navigation a,
.dark .wp-block-woocommerce-cart .wp-block-navigation__container a,
.dark .wp-block-woocommerce-cart-cross-sells-block a {
	color: #f2f2f7 !important; /* pin-dark-text */
}

/* WC page list / navigation block inside cart */
.dark .wp-block-page-list,
.dark .wp-block-page-list a,
.dark .wp-block-navigation-link a,
.dark .wp-block-navigation-link__content {
	color: #f2f2f7 !important;
}

/* All WC block text and headings in dark mode */
.dark .wp-block-woocommerce-cart h2,
.dark .wp-block-woocommerce-cart p,
.dark .wp-block-woocommerce-cart span,
.dark .wp-block-woocommerce-cart label,
.dark .wp-block-woocommerce-cart a:not(.wc-block-components-button),
.dark .wp-block-woocommerce-checkout h2,
.dark .wp-block-woocommerce-checkout p,
.dark .wp-block-woocommerce-checkout span,
.dark .wp-block-woocommerce-checkout label,
.dark .wp-block-woocommerce-checkout a:not(.wc-block-components-button) {
	color: #f2f2f7; /* pin-dark-text */
}

/* Block notices */
.dark .wc-block-components-notice-banner {
	background-color: #2c2c2e !important; /* pin-dark-surface */
	color: #f2f2f7 !important;
	border-color: #3a3a3c !important;
}

.dark .wc-block-components-notice-banner.is-error {
	border-left-color: #d63638 !important;
}

.dark .wc-block-components-notice-banner.is-success {
	border-left-color: #00a32a !important;
}

.dark .wc-block-components-notice-banner.is-info {
	border-left-color: #0074E8 !important;
}

/* Block sidebar / totals panel */
.dark .wc-block-components-sidebar .wc-block-components-panel,
.dark .wc-block-components-totals-wrapper {
	border-color: #3a3a3c !important; /* pin-dark-border */
}

.dark .wc-block-components-panel__button {
	color: #f2f2f7 !important;
}

/* Block coupon input */
.dark .wc-block-components-totals-coupon__input-wrapper input {
	background-color: #2c2c2e !important;
	border-color: #3a3a3c !important;
	color: #f2f2f7 !important;
}

/* Block shipping / radio buttons */
.dark .wc-block-components-radio-control__label,
.dark .wc-block-components-radio-control__description,
.dark .wc-block-components-radio-control__secondary-label {
	color: #f2f2f7 !important;
}

.dark .wc-block-components-radio-control__option {
	border-color: #3a3a3c !important;
}

/* Block checkout step descriptions */
.dark .wc-block-components-checkout-step__description {
	color: #aeaeb2 !important; /* pin-dark-muted */
}

/* Block links */
.dark .wc-block-components-button.is-link {
	color: var(--color-primary, #CC0000) !important;
}

/* Block product images in cart */
.dark .wc-block-cart-items .wc-block-components-product-image img {
	border-radius: 0.5rem;
}

/* Block price */
.dark .wc-block-components-product-price {
	color: #f2f2f7 !important;
}

.dark .wc-block-components-product-price .wc-block-components-product-price__value {
	color: #f2f2f7 !important;
}

/* Block empty state icons/SVGs */
.dark .wc-block-cart .wp-block-woocommerce-empty-cart-block svg,
.dark .wc-block-cart .wc-block-cart__empty-cart__image {
	opacity: 0.6;
}

/* Block separator lines */
.dark .wc-block-components-totals-item::after,
.dark .wc-block-components-totals-footer-item::before {
	border-color: #3a3a3c !important;
}

/* General dark overrides for WC block wrappers */
.dark .is-large.wc-block-cart,
.dark .is-large.wc-block-checkout {
	color: #f2f2f7;
}

.dark .wc-block-components-main,
.dark .wc-block-components-sidebar {
	color: #f2f2f7;
}

/* ═══════════════════════════════════════════════════════════════
   WC PRODUCT PAGE — Additional dark mode fixes
   ═══════════════════════════════════════════════════════════════ */

/* Variations table */
.dark .woocommerce div.product .variations td,
.dark .woocommerce div.product .variations th {
	color: #f2f2f7; /* pin-dark-text */
}

.dark .woocommerce div.product .variations select {
	background-color: #2c2c2e; /* pin-dark-surface */
	border-color: #3a3a3c; /* pin-dark-border */
	color: #f2f2f7; /* pin-dark-text */
}

/* Reviews */
.dark .woocommerce #reviews #comments ol.commentlist li .comment-text {
	background-color: #2c2c2e; /* pin-dark-surface */
	border-color: #3a3a3c; /* pin-dark-border */
	color: #f2f2f7;
}

.dark .woocommerce #reviews #comments ol.commentlist li .meta {
	color: #aeaeb2; /* pin-dark-muted */
}

/* "You may also like" / Upsells heading */
.dark .woocommerce .up-sells h2,
.dark .woocommerce .cross-sells h2,
.dark .woocommerce .related h2 {
	color: #f2f2f7; /* pin-dark-text */
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
	.woocommerce-MyAccount-navigation ul {
		flex-direction: column;
	}
}
