/* WooCommerce (classic templates) in the Emitrix look. No motion in shop, cart or checkout. */
.emx-shop .woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: .875rem; color: var(--emx-text-muted); margin-bottom: 24px; }
.emx-shop .woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--emx-text-muted); }
.woocommerce .woocommerce-products-header__title, .woocommerce-products-header h1 { font-family: var(--emx-font-display); font-size: var(--wp--preset--font-size--heading-l); margin: 0 0 12px; }
.woocommerce .term-description { color: var(--emx-text-muted); max-width: 65ch; margin-bottom: 32px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { font-size: .875rem; color: var(--emx-text-muted); }
.woocommerce .woocommerce-ordering select { min-height: 44px; border-radius: var(--emx-r-field); background: var(--emx-surface-2); color: var(--emx-text); border: 1px solid var(--emx-line-strong); padding: 0 12px; }

/* Product grid */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; margin: 0 0 48px !important; padding: 0; }
@media (min-width: 768px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; } }
@media (min-width: 1200px) { .woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; gap: 8px; }
.woocommerce ul.products li.product a img { border-radius: var(--emx-r-media); background: #121513; aspect-ratio: 1; object-fit: cover; margin: 0 0 8px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .woocommerce-loop-category__title { font-family: var(--emx-font-body); font-size: 1.0625rem !important; font-weight: 600; color: var(--emx-text); padding: 0 !important; }
.woocommerce ul.products li.product .price { color: var(--emx-text) !important; font-size: 1rem; font-variant-numeric: tabular-nums; display: grid; gap: 2px; }
.woocommerce ul.products li.product .price .woocommerce-price-suffix { font-size: .8125rem; color: var(--emx-text-muted); }
.woocommerce ul.products li.product .button { margin-top: auto !important; }
.woocommerce ul.products li.product-category mark { background: none; color: var(--emx-text-muted); }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px !important; border-radius: 999px !important; background: var(--emx-accent) !important; color: var(--emx-on-accent) !important; font-weight: 600 !important; font-size: 1rem !important; border: 0 !important; line-height: 1.2; }
.woocommerce a.button:hover, .woocommerce button.button:hover { filter: brightness(1.06); }
.woocommerce a.button.product_type_variable, .woocommerce a.button.product_type_simple:not(.add_to_cart_button), .woocommerce a.button.product_type_external { background: transparent !important; color: var(--emx-text) !important; border: 1px solid var(--emx-line-strong) !important; }
.woocommerce .button:disabled, .woocommerce .button.disabled { opacity: .5 !important; }

/* Single product */
.woocommerce div.product { display: grid; gap: 32px; }
@media (min-width: 1024px) { .woocommerce div.product { grid-template-columns: 7fr 5fr; gap: 56px; align-items: start; } .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; } }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images img { border-radius: var(--emx-r-media); background: #121513; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 10px; opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; outline: 2px solid var(--emx-accent-ink); }
.woocommerce div.product .product_title { font-family: var(--emx-font-display); font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1.12; margin: 0 0 12px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--emx-text) !important; font-size: 1.75rem !important; font-variant-numeric: tabular-nums; display: grid; gap: 4px; margin: 12px 0 16px; }
.woocommerce div.product p.price .woocommerce-price-suffix { font-size: .9375rem; color: var(--emx-text-muted); }
.emx-price-request { font-size: 1.25rem; color: var(--emx-text); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--emx-text-muted); margin-bottom: 20px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 20px 0 !important; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 8px !important; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 4px 0 !important; text-align: left; }
.woocommerce div.product form.cart .variations select { min-height: 48px; min-width: 220px; border-radius: var(--emx-r-field); background: var(--emx-surface-2); color: var(--emx-text); border: 1px solid var(--emx-line-strong); padding: 0 12px; }
.woocommerce .quantity .qty { min-height: 48px; width: 5em; border-radius: var(--emx-r-field); background: var(--emx-surface-2); color: var(--emx-text); border: 1px solid var(--emx-line-strong); text-align: center; }
.woocommerce div.product .product_meta { font-size: .875rem; color: var(--emx-text-muted); display: grid; gap: 4px; margin-top: 16px; }
.woocommerce div.product .product_meta a { color: var(--emx-text-muted); }
.emx-maker { color: var(--emx-text-muted); margin: 0 0 8px; font-size: .9375rem; }
.emx-facts { margin: 16px 0; display: grid; gap: 0; border-top: 1px solid var(--emx-line); }
.emx-facts > div { display: grid; grid-template-columns: 11rem 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--emx-line); font-size: .9375rem; }
.emx-facts dt { color: var(--emx-text-muted); }
.emx-facts dd { margin: 0; }
.emx-quote { margin: 16px 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 24px !important; display: flex; gap: 24px; border-bottom: 1px solid var(--emx-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--emx-text-muted) !important; padding: 12px 0 !important; display: inline-flex; min-height: 44px; font-weight: 600 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--emx-text) !important; box-shadow: inset 0 -2px 0 var(--emx-accent-ink); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 780px; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 0 !important; border-bottom: 1px solid var(--emx-line) !important; background: none !important; padding: 10px 12px 10px 0 !important; font-style: normal !important; text-align: left; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: var(--wp--preset--font-size--heading-m); margin: 32px 0 20px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice { background: var(--emx-surface) !important; color: var(--emx-text) !important; border: 1px solid var(--emx-line-strong) !important; border-radius: 12px; padding: 16px 20px 16px 48px !important; list-style: none; }
.woocommerce-error { border-color: var(--emx-danger) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { color: var(--emx-accent-ink) !important; top: 16px !important; }

/* Cart and checkout (classic) */
.woocommerce table.shop_table { border: 1px solid var(--emx-line) !important; border-radius: 16px !important; border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top: 1px solid var(--emx-line) !important; padding: 14px 16px !important; color: var(--emx-text); }
.woocommerce table.shop_table img { width: 64px; border-radius: 8px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order { background: var(--emx-surface); border-radius: 16px; padding: 20px; }
.woocommerce form .form-row label { font-weight: 500; font-size: .9375rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single {
	min-height: 48px; border-radius: var(--emx-r-field) !important; border: 1px solid var(--emx-line-strong) !important; background: var(--emx-surface-2) !important; color: var(--emx-text) !important; padding: 10px 14px !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--emx-text) !important; line-height: 28px !important; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--emx-danger) !important; }
.woocommerce-checkout #payment { background: var(--emx-surface) !important; border-radius: 16px !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--emx-surface-2) !important; color: var(--emx-text) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--emx-surface-2) !important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--emx-line) !important; }
.emx-licence-fields { margin-top: 24px; padding: 20px; border: 1px solid var(--emx-line-strong); border-radius: 16px; }
.emx-licence-fields h3 { margin-top: 0; }
.emx-checkout-note { font-size: .875rem; color: var(--emx-text-muted); }
.woocommerce .checkout .form-row .input-checkbox { width: 20px; height: 20px; vertical-align: middle; margin-right: 8px; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: .875rem; color: var(--emx-text-muted); }
[data-theme="light"] .woocommerce div.product div.images img, [data-theme="light"] .woocommerce ul.products li.product a img { background: #E9ECE7; }

.woocommerce div.product div.images .woocommerce-product-gallery__trigger { width: 44px; height: 44px; border-radius: 999px; background: rgba(11,13,12,.7); font-size: 0; display: grid; place-items: center; top: 12px; right: 12px; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before { content: ""; width: 16px; height: 16px; border: 2px solid #EDEFEC; border-radius: 50%; display: block; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger img { display: none !important; }
/* 1.0.9: phones. Form labels at body size. */
@media (max-width: 767px) { .woocommerce form .form-row label { font-size: 1rem; } }
