/* ==========================================================================
   Diseño moderno WooCommerce
   Estiliza el marcado nativo de WooCommerce (plantillas clásicas y bloques).
   Las variables se definen en línea desde los ajustes del plugin.
   ========================================================================== */

body.nx-modern {
	--nx-accent: #2e8b3a;
	--nx-accent-hover: #277631;
	--nx-accent-soft: #eaf3eb;
	--nx-on-accent: #fff;
	--nx-ink: #141a16;
	--nx-on-ink: #fff;
	--nx-soft: #f4f7f3;
	--nx-surface: #fff;
	--nx-muted: #66706a;
	--nx-border: #e4e8e5;
	--nx-border-strong: #cfd6d1;
	--nx-danger: #c62828;
	--nx-radius: 14px;
	--nx-radius-sm: 8px;
	--nx-btn-radius: var(--nx-radius-sm);
	--nx-shadow-sm: 0 1px 2px rgba(16, 24, 20, .06);
	--nx-shadow: 0 1px 2px rgba(16, 24, 20, .05), 0 6px 20px rgba(16, 24, 20, .07);
	--nx-shadow-lg: 0 2px 6px rgba(16, 24, 20, .06), 0 18px 40px rgba(16, 24, 20, .12);
	--nx-ease: cubic-bezier(.2, .7, .2, 1);
	--nx-font: inherit;
}
body.nx-modern.nx-btn-pill { --nx-btn-radius: 999px; }

body.nx-modern .woocommerce,
body.nx-modern .wc-block-cart,
body.nx-modern .wc-block-checkout,
body.nx-modern .wp-block-woocommerce-product-collection,
body.nx-modern .wc-block-grid,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template),
body.nx-modern div.product,
body.nx-modern ul.products {
	font-family: var(--nx-font);
}

/* --------------------------------------------------------------------------
   1. Botones
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce a.button,
body.nx-modern .woocommerce button.button,
body.nx-modern .woocommerce input.button,
body.nx-modern .woocommerce #respond input#submit,
body.nx-modern a.button.add_to_cart_button,
body.nx-modern a.button.product_type_simple,
body.nx-modern a.button.product_type_variable,
body.nx-modern a.button.product_type_grouped,
body.nx-modern a.button.product_type_external,
body.nx-modern .wc-block-components-product-button__button,
body.nx-modern .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.nx-modern .wc-block-components-button:not(.is-link),
body.nx-modern .wc-block-mini-cart__footer-actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 44px;
	padding: .7em 1.4em;
	border: 1.5px solid var(--nx-accent);
	border-radius: var(--nx-btn-radius);
	background: var(--nx-accent);
	color: var(--nx-on-accent);
	font-family: inherit;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .01em;
	text-decoration: none;
	text-shadow: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s var(--nx-ease), border-color .2s var(--nx-ease), color .2s var(--nx-ease), transform .15s var(--nx-ease), box-shadow .2s var(--nx-ease);
}
body.nx-modern .woocommerce a.button:hover,
body.nx-modern .woocommerce button.button:hover,
body.nx-modern .woocommerce input.button:hover,
body.nx-modern a.button.add_to_cart_button:hover,
body.nx-modern a.button.product_type_simple:hover,
body.nx-modern a.button.product_type_variable:hover,
body.nx-modern .wc-block-components-product-button__button:hover,
body.nx-modern .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.nx-modern .wc-block-components-button:not(.is-link):hover,
body.nx-modern .wc-block-mini-cart__footer-actions .wp-block-button__link:hover {
	background: var(--nx-accent-hover);
	border-color: var(--nx-accent-hover);
	color: var(--nx-on-accent);
	box-shadow: 0 6px 16px color-mix(in srgb, var(--nx-accent) 30%, transparent);
}
body.nx-modern .woocommerce a.button:active,
body.nx-modern .woocommerce button.button:active,
body.nx-modern .wc-block-components-button:not(.is-link):active,
body.nx-modern .wc-block-components-product-button__button:active { transform: translateY(1px); }

body.nx-modern .woocommerce a.button:focus-visible,
body.nx-modern .woocommerce button.button:focus-visible,
body.nx-modern .wc-block-components-button:focus-visible,
body.nx-modern .wc-block-components-product-button__button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--nx-accent) 40%, transparent);
	outline-offset: 2px;
}

/* Botones secundarios (actualizar carrito, ver carrito, cupón) */
body.nx-modern .woocommerce button[name="update_cart"],
body.nx-modern .woocommerce .coupon button.button,
body.nx-modern .woocommerce a.added_to_cart,
body.nx-modern .wc-block-mini-cart__footer-cart.wp-block-button__link,
body.nx-modern .woocommerce-message a.button,
body.nx-modern .woocommerce-info a.button {
	background: transparent;
	color: var(--nx-ink);
	border-color: var(--nx-border-strong);
}
body.nx-modern .woocommerce button[name="update_cart"]:hover,
body.nx-modern .woocommerce .coupon button.button:hover,
body.nx-modern .woocommerce a.added_to_cart:hover,
body.nx-modern .woocommerce-message a.button:hover,
body.nx-modern .woocommerce-info a.button:hover {
	background: var(--nx-ink);
	border-color: var(--nx-ink);
	color: var(--nx-on-ink);
	box-shadow: none;
}
body.nx-modern .woocommerce button.button:disabled,
body.nx-modern .woocommerce button.button:disabled[disabled],
body.nx-modern .woocommerce button.button.disabled {
	opacity: .45;
	cursor: not-allowed;
	box-shadow: none;
	padding: .7em 1.4em;
}
body.nx-modern .woocommerce a.added_to_cart {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	padding: .35em .9em;
	margin-top: .5em;
	border: 1.5px solid var(--nx-border-strong);
	border-radius: var(--nx-btn-radius);
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
}
body.nx-modern .woocommerce a.button.loading,
body.nx-modern .woocommerce button.button.loading { opacity: .7; }

/* Botón principal de compra: color oscuro para que destaque */
body.nx-modern .woocommerce #place_order,
body.nx-modern .woocommerce .checkout-button,
body.nx-modern .wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link),
body.nx-modern .wc-block-cart__submit-button.wc-block-components-button:not(.is-link) {
	width: 100%;
	min-height: 54px;
	font-size: 1.05rem;
	font-weight: 700;
	background: var(--nx-accent);
	border-color: var(--nx-accent);
	color: var(--nx-on-accent);
}
body.nx-modern .woocommerce #place_order:hover,
body.nx-modern .woocommerce .checkout-button:hover,
body.nx-modern .wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link):hover,
body.nx-modern .wc-block-cart__submit-button.wc-block-components-button:not(.is-link):hover {
	background: var(--nx-accent-hover);
	border-color: var(--nx-accent-hover);
	color: var(--nx-on-accent);
	box-shadow: 0 8px 20px color-mix(in srgb, var(--nx-accent) 30%, transparent);
}

/* --------------------------------------------------------------------------
   2. Precios y etiquetas
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce .price,
body.nx-modern ul.products li.product .price,
body.nx-modern .wc-block-components-product-price,
body.nx-modern .wc-block-grid__product-price {
	color: var(--nx-ink);
	font-weight: 700;
}
body.nx-modern .price del,
body.nx-modern .wc-block-components-product-price del {
	color: var(--nx-muted);
	font-weight: 400;
	opacity: 1;
	font-size: .85em;
	margin-right: .35em;
}
body.nx-modern .price ins,
body.nx-modern .wc-block-components-product-price ins {
	text-decoration: none;
	color: var(--nx-accent);
	background: none;
}

body.nx-modern .woocommerce span.onsale,
body.nx-modern span.onsale,
body.nx-modern .wc-block-components-product-sale-badge,
body.nx-modern .wc-block-grid__product-onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: .35em .8em;
	border: 0;
	border-radius: 999px;
	background: var(--nx-accent);
	color: var(--nx-on-accent);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: var(--nx-shadow-sm);
}
body.nx-modern .wc-block-components-product-sale-badge span { color: inherit; }
body.nx-modern .wc-block-components-product-image { position: relative; }

body.nx-modern .star-rating span::before,
body.nx-modern .wc-block-components-product-rating__stars span::before,
body.nx-modern p.stars a { color: #f5a623; }

/* --------------------------------------------------------------------------
   3. Catálogo (tienda, categorías, relacionados)
   -------------------------------------------------------------------------- */
body.nx-modern ul.products li.product,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) > li.product,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) > li.wc-block-product,
body.nx-modern .wc-block-grid__product {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 12px 12px 16px;
	background: var(--nx-surface);
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	text-align: left;
	box-shadow: var(--nx-shadow-sm);
	transition: transform .25s var(--nx-ease), box-shadow .25s var(--nx-ease), border-color .25s var(--nx-ease);
	box-sizing: border-box;
}
body.nx-modern.nx-hover ul.products li.product:hover,
body.nx-modern.nx-hover :is(.wc-block-product-template, .products-block-post-template) > li.product:hover,
body.nx-modern.nx-hover :is(.wc-block-product-template, .products-block-post-template) > li.wc-block-product:hover,
body.nx-modern.nx-hover .wc-block-grid__product:hover {
	transform: translateY(-4px);
	box-shadow: var(--nx-shadow-lg);
	border-color: transparent;
}

/* Imagen */
body.nx-modern ul.products li.product a img,
body.nx-modern .wc-block-components-product-image img,
body.nx-modern .wc-block-grid__product-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin: 0 0 12px;
	padding: 0;
	background: transparent;
	border-radius: calc(var(--nx-radius) - 4px);
	box-shadow: none;
	box-sizing: border-box;
	mix-blend-mode: multiply;
	transition: transform .4s var(--nx-ease);
}
body.nx-modern .wc-block-components-product-image,
body.nx-modern .wc-block-grid__product-image { margin-bottom: 0 !important; }
body.nx-modern.nx-hover ul.products li.product:hover a img,
body.nx-modern.nx-hover :is(.wc-block-product-template, .products-block-post-template) > li:hover .wc-block-components-product-image img,
body.nx-modern.nx-hover .wc-block-grid__product:hover .wc-block-grid__product-image img {
	transform: scale(1.03);
}
body.nx-modern ul.products li.product > a:first-child,
body.nx-modern .wc-block-components-product-image a { display: block; overflow: hidden; border-radius: calc(var(--nx-radius) - 4px); }

/* Título */
body.nx-modern ul.products li.product .woocommerce-loop-product__title,
body.nx-modern ul.products li.product h2,
body.nx-modern ul.products li.product h3,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wp-block-post-title,
body.nx-modern .wc-block-grid__product-title {
	margin: 0 4px 6px;
	padding: 0;
	color: var(--nx-ink);
	font-family: var(--nx-font);
	font-size: 1rem !important;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	text-align: left !important;
}
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wp-block-post-title a,
body.nx-modern .wc-block-grid__product-link { color: inherit; text-decoration: none; }

body.nx-modern ul.products li.product .price,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wc-block-components-product-price,
body.nx-modern .wc-block-grid__product-price {
	display: block;
	margin: 0 4px 14px;
	font-size: 1.1rem !important;
	text-align: left !important;
}

/* Botón al fondo de la tarjeta, a todo el ancho */
body.nx-modern ul.products li.product .button,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wc-block-components-product-button,
body.nx-modern .wc-block-grid__product-add-to-cart {
	margin-top: auto !important;
	width: 100%;
}
body.nx-modern ul.products li.product .button,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wc-block-components-product-button__button,
body.nx-modern .wc-block-grid__product-add-to-cart .wp-block-button__link {
	width: 100%;
	margin: 0;
	font-size: .92rem !important;
}
body.nx-modern .wc-block-components-product-button { flex-direction: column; align-items: stretch !important; }

/* Ordenar y contador */
body.nx-modern .woocommerce-ordering select,
body.nx-modern .wc-block-catalog-sorting select,
body.nx-modern .woocommerce-ordering .orderby {
	min-height: 42px;
	padding: .5em 2.4em .5em 1em;
	border: 1px solid var(--nx-border-strong);
	border-radius: var(--nx-btn-radius);
	background-color: var(--nx-surface);
	color: var(--nx-ink);
	font: inherit;
	font-size: .9rem;
}
body.nx-modern .woocommerce-result-count,
body.nx-modern .wc-block-product-results-count { color: var(--nx-muted); font-size: .9rem; }

/* Paginación */
body.nx-modern .woocommerce nav.woocommerce-pagination ul,
body.nx-modern .woocommerce nav.woocommerce-pagination ul li { border: 0; }
body.nx-modern .woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 6px; }
body.nx-modern .woocommerce nav.woocommerce-pagination ul li a,
body.nx-modern .woocommerce nav.woocommerce-pagination ul li span,
body.nx-modern .wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 .6em;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-btn-radius);
	color: var(--nx-ink);
	text-decoration: none;
	font-weight: 600;
}
body.nx-modern .woocommerce nav.woocommerce-pagination ul li span.current,
body.nx-modern .wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--nx-ink);
	border-color: var(--nx-ink);
	color: var(--nx-on-ink);
}
body.nx-modern .woocommerce nav.woocommerce-pagination ul li a:hover,
body.nx-modern .wp-block-query-pagination-numbers a.page-numbers:hover { border-color: var(--nx-accent); color: var(--nx-accent); background: transparent; }

/* Migas de pan */
body.nx-modern .woocommerce-breadcrumb,
body.nx-modern .wc-block-breadcrumbs { color: var(--nx-muted); font-size: .85rem; }
body.nx-modern .woocommerce-breadcrumb a,
body.nx-modern .wc-block-breadcrumbs a { color: var(--nx-muted); text-decoration: none; }
body.nx-modern .woocommerce-breadcrumb a:hover,
body.nx-modern .wc-block-breadcrumbs a:hover { color: var(--nx-accent); }

/* --------------------------------------------------------------------------
   4. Ficha de producto
   -------------------------------------------------------------------------- */
body.nx-modern div.product .woocommerce-product-gallery,
body.nx-modern .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery {
	position: relative;
}
body.nx-modern div.product .woocommerce-product-gallery .flex-viewport,
body.nx-modern div.product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child,
body.nx-modern div.product .woocommerce-product-gallery__image {
	background: var(--nx-soft);
	border-radius: var(--nx-radius);
	overflow: hidden;
}
body.nx-modern div.product .woocommerce-product-gallery__image img {
	mix-blend-mode: multiply;
	padding: 4%;
	box-sizing: border-box;
}
body.nx-modern div.product .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px !important;
}
body.nx-modern div.product .flex-control-thumbs li {
	width: calc(25% - 7.5px) !important;
	float: none !important;
	margin: 0 !important;
}
body.nx-modern div.product .flex-control-thumbs li img {
	border-radius: var(--nx-radius-sm);
	background: var(--nx-soft);
	border: 2px solid transparent;
	opacity: .7;
	transition: opacity .2s, border-color .2s;
}
body.nx-modern div.product .flex-control-thumbs li img.flex-active,
body.nx-modern div.product .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--nx-accent); }
body.nx-modern .woocommerce-product-gallery__trigger {
	top: 14px !important;
	right: 14px !important;
	width: 40px !important;
	height: 40px !important;
	background: var(--nx-surface) !important;
	border-radius: 999px !important;
	box-shadow: var(--nx-shadow);
	display: flex !important;
	align-items: center;
	justify-content: center;
}

/* Resumen */
body.nx-modern div.product .product_title,
body.nx-modern .wp-block-post-title.wc-block-product-title,
body.nx-modern.single-product .wp-block-post-title {
	color: var(--nx-ink);
	font-family: var(--nx-font);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.02em;
}
body.nx-modern div.product .summary .price,
body.nx-modern div.product p.price,
body.nx-modern.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price {
	display: inline-flex;
	align-items: baseline;
	gap: .3em;
	margin: .4em 0 1em;
	font-size: 1.75rem !important;
	font-weight: 800;
	color: var(--nx-ink);
}
body.nx-modern div.product .woocommerce-product-details__short-description,
body.nx-modern.single-product .wp-block-post-excerpt {
	color: var(--nx-muted);
	font-size: 1.02rem;
	line-height: 1.65;
}
body.nx-modern div.product p.stock {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	padding: .3em .8em;
	border-radius: 999px;
	font-size: .85rem;
	font-weight: 600;
}
body.nx-modern div.product p.stock.in-stock { background: var(--nx-accent-soft); color: var(--nx-accent-hover); }
body.nx-modern div.product p.stock.out-of-stock { background: #fdecec; color: var(--nx-danger); }

/* Formulario añadir al carrito */
body.nx-modern div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 1.25em 0 1.5em;
	padding: 0;
}
body.nx-modern div.product form.cart::before,
body.nx-modern div.product form.cart::after { display: none; }
body.nx-modern div.product form.cart .quantity { margin: 0 !important; float: none; }
body.nx-modern div.product form.cart .single_add_to_cart_button,
body.nx-modern .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 52px;
	margin: 0 !important;
	float: none;
	font-size: 1.02rem;
	font-weight: 700;
	background: var(--nx-accent);
	border: 1.5px solid var(--nx-accent);
	border-radius: var(--nx-btn-radius);
	color: var(--nx-on-accent);
}
body.nx-modern div.product form.cart .single_add_to_cart_button:hover,
body.nx-modern .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:hover {
	background: var(--nx-accent-hover);
	border-color: var(--nx-accent-hover);
}
body.nx-modern div.product form.cart .variations { margin-bottom: 0; border: 0; flex-basis: 100%; }
body.nx-modern div.product form.cart .variations th,
body.nx-modern div.product form.cart .variations td { padding: 0 0 10px; border: 0; background: none; }
body.nx-modern div.product form.cart .variations label { font-weight: 600; color: var(--nx-ink); }
body.nx-modern div.product form.cart .reset_variations { color: var(--nx-muted); font-size: .85rem; }
body.nx-modern div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; }
body.nx-modern div.product form.cart .single_variation_wrap { width: 100%; }

/* Cantidad */
body.nx-modern .quantity {
	display: inline-flex;
	align-items: stretch;
	vertical-align: middle;
}
body.nx-modern .quantity input.qty {
	width: 4.2em;
	min-height: 44px;
	padding: .4em .3em;
	border: 1.5px solid var(--nx-border-strong);
	border-radius: var(--nx-btn-radius);
	background: var(--nx-surface);
	color: var(--nx-ink);
	font: inherit;
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
	box-shadow: none;
}
body.nx-modern div.product form.cart .quantity input.qty { min-height: 52px; }
body.nx-modern .quantity.nx-qty {
	border: 1.5px solid var(--nx-border-strong);
	border-radius: var(--nx-btn-radius);
	background: var(--nx-surface);
	overflow: hidden;
}
body.nx-modern .quantity.nx-qty input.qty {
	width: 2.8em;
	border: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
}
body.nx-modern .quantity.nx-qty input.qty:focus { outline: none; box-shadow: none; }
body.nx-modern .quantity.nx-qty:focus-within { border-color: var(--nx-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--nx-accent) 20%, transparent); }
body.nx-modern .quantity input.qty::-webkit-outer-spin-button,
body.nx-modern .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.nx-modern .nx-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	min-height: 42px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	color: var(--nx-ink);
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
body.nx-modern .nx-qty__btn:hover { background: var(--nx-soft); color: var(--nx-accent); }

/* Meta (SKU, categoría, etiquetas) */
body.nx-modern div.product .product_meta,
body.nx-modern .wp-block-woocommerce-product-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 1.1em;
	margin-top: 1em;
	border-top: 1px solid var(--nx-border);
	font-size: .85rem;
	color: var(--nx-muted);
}
body.nx-modern div.product .product_meta > span {
	display: inline-flex;
	flex-wrap: wrap;
	gap: .3em;
	padding: .35em .85em;
	border-radius: 999px;
	background: var(--nx-soft);
}
body.nx-modern div.product .product_meta a,
body.nx-modern .wp-block-woocommerce-product-meta a { color: var(--nx-ink); font-weight: 600; text-decoration: none; }
body.nx-modern div.product .product_meta a:hover,
body.nx-modern .wp-block-woocommerce-product-meta a:hover { color: var(--nx-accent); }
body.nx-modern .wp-block-woocommerce-product-meta .wp-block-group { gap: 8px; }
body.nx-modern .wp-block-woocommerce-product-meta .wc-block-components-product-sku,
body.nx-modern .wp-block-woocommerce-product-meta .wp-block-post-terms {
	padding: .35em .85em;
	border-radius: 999px;
	background: var(--nx-soft);
	margin: 0;
}

/* Pestañas: estilo segmentado */
body.nx-modern .woocommerce-tabs {
	margin-top: 2.5em;
	padding: 0;
}
body.nx-modern .woocommerce-tabs ul.tabs,
body.nx-modern div.product .woocommerce-tabs ul.tabs {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 1.5em !important;
	padding: 5px !important;
	border: 0 !important;
	border-radius: calc(var(--nx-radius) + 2px);
	background: var(--nx-soft);
	list-style: none;
	overflow: visible;
}
body.nx-modern .woocommerce-tabs ul.tabs::before,
body.nx-modern .woocommerce-tabs ul.tabs::after,
body.nx-modern .woocommerce-tabs ul.tabs li::before,
body.nx-modern .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.nx-modern .woocommerce-tabs ul.tabs li,
body.nx-modern div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--nx-radius);
	background: transparent !important;
	opacity: 1;
}
body.nx-modern .woocommerce-tabs ul.tabs li a,
body.nx-modern div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: .6em 1.15em !important;
	border-radius: var(--nx-radius);
	color: var(--nx-muted) !important;
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}
body.nx-modern .woocommerce-tabs ul.tabs li a:hover { color: var(--nx-ink) !important; }
body.nx-modern .woocommerce-tabs ul.tabs li.active,
body.nx-modern div.product .woocommerce-tabs ul.tabs li.active { background: var(--nx-surface) !important; box-shadow: var(--nx-shadow-sm); }
body.nx-modern .woocommerce-tabs ul.tabs li.active a { color: var(--nx-ink) !important; }
body.nx-modern .woocommerce-tabs .panel,
body.nx-modern .woocommerce-tabs .woocommerce-Tabs-panel {
	margin: 0 0 2em;
	padding: clamp(18px, 3vw, 32px);
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-surface);
	line-height: 1.7;
}
body.nx-modern .woocommerce-tabs .panel > h2:first-child { display: none; }
body.nx-modern .woocommerce-tabs .panel h3,
body.nx-modern .woocommerce-tabs .panel h4,
body.nx-modern .woocommerce-tabs .panel h5 {
	margin: 1.6em 0 .6em;
	color: var(--nx-ink);
	font-family: var(--nx-font);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.25;
}
body.nx-modern .woocommerce-tabs .panel h3 { font-size: 1.35rem; margin-top: 0; }
body.nx-modern .woocommerce-tabs .panel h4 { font-size: 1.08rem; }
body.nx-modern .woocommerce-tabs .panel h5 { font-size: .95rem; color: var(--nx-muted); }
body.nx-modern .woocommerce-tabs .panel table,
body.nx-modern table.woocommerce-product-attributes {
	width: 100%;
	max-width: 640px;
	margin: 0 0 1.2em;
	border: 1px solid var(--nx-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--nx-radius-sm);
	overflow: hidden;
	font-size: .95rem;
}
body.nx-modern .woocommerce-tabs .panel table td,
body.nx-modern .woocommerce-tabs .panel table th,
body.nx-modern table.woocommerce-product-attributes td,
body.nx-modern table.woocommerce-product-attributes th {
	padding: .65em 1em;
	border: 0;
	border-bottom: 1px solid var(--nx-border);
	background: none;
	text-align: left;
	font-style: normal;
}
body.nx-modern .woocommerce-tabs .panel table tr:last-child td,
body.nx-modern .woocommerce-tabs .panel table tr:last-child th { border-bottom: 0; }
body.nx-modern .woocommerce-tabs .panel table tr:nth-child(even) td,
body.nx-modern .woocommerce-tabs .panel table tr:nth-child(even) th { background: var(--nx-soft); }
body.nx-modern .woocommerce-tabs .panel table td:last-child { text-align: right; font-weight: 600; color: var(--nx-ink); white-space: nowrap; }
body.nx-modern table.woocommerce-product-attributes th { width: 35%; font-weight: 600; color: var(--nx-ink); }
body.nx-modern table.woocommerce-product-attributes td p { margin: 0; }
body.nx-modern .woocommerce-tabs .panel ul { padding-left: 1.2em; }
body.nx-modern .woocommerce-tabs .panel li::marker { color: var(--nx-accent); }

/* Relacionados / venta cruzada */
body.nx-modern .related.products > h2,
body.nx-modern .upsells.products > h2,
body.nx-modern .cross-sells > h2 {
	margin-bottom: 1em;
	color: var(--nx-ink);
	font-weight: 800;
	letter-spacing: -.01em;
}

/* --------------------------------------------------------------------------
   5. Avisos
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce-message,
body.nx-modern .woocommerce-info,
body.nx-modern .woocommerce-error,
body.nx-modern .woocommerce-notices-wrapper .woocommerce-message,
body.nx-modern .wc-block-components-notice-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75em 1em;
	margin: 0 0 1.5em;
	padding: 14px 18px 14px 50px;
	border: 1px solid var(--nx-border);
	border-left-width: 1px;
	border-radius: var(--nx-radius);
	background: var(--nx-surface);
	color: var(--nx-ink);
	font-size: .95rem;
	line-height: 1.5;
	box-shadow: var(--nx-shadow-sm);
	list-style: none;
	position: relative;
}
body.nx-modern .woocommerce-message::after,
body.nx-modern .woocommerce-info::after,
body.nx-modern .woocommerce-error::after { display: none; }
body.nx-modern .woocommerce-message::before,
body.nx-modern .woocommerce-info::before,
body.nx-modern .woocommerce-error::before {
	position: absolute;
	top: 50%;
	left: 16px;
	width: 22px;
	height: 22px;
	margin: 0;
	transform: translateY(-50%);
	border-radius: 999px;
	font-size: 13px;
	line-height: 22px;
	text-align: center;
	font-family: inherit;
	font-weight: 700;
}
body.nx-modern .woocommerce-message { background: var(--nx-accent-soft); border-color: color-mix(in srgb, var(--nx-accent) 25%, transparent); }
body.nx-modern .woocommerce-message::before { content: "✓"; background: var(--nx-accent); color: var(--nx-on-accent); }
body.nx-modern .woocommerce-info { background: #eef4fb; border-color: #d4e2f3; }
body.nx-modern .woocommerce-info::before { content: "i"; background: #2f6fb7; color: #fff; }
body.nx-modern .woocommerce-error { background: #fdf0f0; border-color: #f4cfcf; flex-direction: column; align-items: flex-start; }
body.nx-modern .woocommerce-error::before { content: "!"; background: var(--nx-danger); color: #fff; top: 24px; }
body.nx-modern .woocommerce-message a.button,
body.nx-modern .woocommerce-info a.button { order: 2; margin-left: auto; float: none; min-height: 38px; padding: .45em 1.1em; font-size: .88rem; }
body.nx-modern .wc-block-components-notice-banner { padding-left: 18px; }
body.nx-modern .wc-block-components-notice-banner.is-success { background: var(--nx-accent-soft); border-color: color-mix(in srgb, var(--nx-accent) 25%, transparent); }
body.nx-modern .wc-block-components-notice-banner.is-success > svg { background: var(--nx-accent); }
body.nx-modern .wc-block-components-notice-banner.is-error { background: #fdf0f0; border-color: #f4cfcf; }
body.nx-modern .wc-block-components-notice-banner.is-info { background: #eef4fb; border-color: #d4e2f3; }

/* --------------------------------------------------------------------------
   6. Campos de formulario (checkout, cuenta, cupones)
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce form .form-row label,
body.nx-modern .woocommerce-page form .form-row label {
	margin-bottom: .35em;
	color: var(--nx-ink);
	font-size: .88rem;
	font-weight: 600;
	line-height: 1.4;
}
body.nx-modern .woocommerce form .form-row .required { color: var(--nx-danger); text-decoration: none; }
body.nx-modern .woocommerce form .form-row input.input-text,
body.nx-modern .woocommerce form .form-row textarea,
body.nx-modern .woocommerce form .form-row select,
body.nx-modern .woocommerce-page form .form-row input.input-text,
body.nx-modern .woocommerce .coupon input.input-text,
body.nx-modern .woocommerce form input[type="email"],
body.nx-modern .woocommerce form input[type="password"],
body.nx-modern .woocommerce form input[type="text"],
body.nx-modern .woocommerce form input[type="tel"],
body.nx-modern .select2-container .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: .7em 1em;
	border: 1.5px solid var(--nx-border-strong);
	border-radius: var(--nx-radius-sm);
	background: var(--nx-surface);
	color: var(--nx-ink);
	font: inherit;
	font-size: .98rem;
	line-height: 1.3;
	box-shadow: none;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s;
}
body.nx-modern .woocommerce form .form-row textarea { min-height: 110px; }
body.nx-modern .woocommerce .coupon input.input-text { width: auto; min-width: 180px; }
body.nx-modern .woocommerce form .form-row input.input-text:focus,
body.nx-modern .woocommerce form .form-row textarea:focus,
body.nx-modern .woocommerce form .form-row select:focus,
body.nx-modern .woocommerce .coupon input.input-text:focus,
body.nx-modern .woocommerce form input:focus,
body.nx-modern .select2-container--focus .select2-selection--single,
body.nx-modern .select2-container--open .select2-selection--single {
	outline: none;
	border-color: var(--nx-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--nx-accent) 20%, transparent);
}
body.nx-modern .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.nx-modern .woocommerce form .form-row.woocommerce-invalid select { border-color: var(--nx-danger); }
body.nx-modern .woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--nx-border-strong); }
body.nx-modern .select2-container .select2-selection--single { display: flex; align-items: center; padding: 0 .4em; }
body.nx-modern .select2-container .select2-selection--single .select2-selection__rendered { color: var(--nx-ink); line-height: 1.3; padding-left: .6em; }
body.nx-modern .select2-container .select2-selection--single .select2-selection__arrow { height: 100%; right: 8px; }
body.nx-modern .select2-dropdown { border: 1.5px solid var(--nx-border-strong); border-radius: var(--nx-radius-sm); overflow: hidden; box-shadow: var(--nx-shadow); }
body.nx-modern .select2-container--default .select2-results__option--highlighted[aria-selected],
body.nx-modern .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--nx-accent); color: var(--nx-on-accent); }
body.nx-modern .select2-search--dropdown .select2-search__field { border-radius: var(--nx-radius-sm); border: 1px solid var(--nx-border-strong); padding: .5em; }
body.nx-modern .woocommerce form .form-row input[type="checkbox"],
body.nx-modern .woocommerce form .form-row input[type="radio"],
body.nx-modern .woocommerce #payment input[type="radio"],
body.nx-modern .woocommerce ul#shipping_method input[type="radio"] { accent-color: var(--nx-accent); width: 18px; height: 18px; vertical-align: middle; }

/* Bloques: campos */
body.nx-modern .wc-block-components-text-input input[type],
body.nx-modern .wc-block-components-text-input input[type]:-webkit-autofill,
body.nx-modern .wc-blocks-components-select .wc-blocks-components-select__select,
body.nx-modern .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.nx-modern .wc-block-components-textarea,
body.nx-modern .wc-block-components-address-form textarea {
	border: 1.5px solid var(--nx-border-strong) !important;
	border-radius: var(--nx-radius-sm) !important;
	background: var(--nx-surface) !important;
	color: var(--nx-ink) !important;
	box-shadow: none !important;
	transition: border-color .15s, box-shadow .15s;
}
body.nx-modern .wc-block-components-text-input input[type]:focus,
body.nx-modern .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.nx-modern .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
body.nx-modern .wc-block-components-textarea:focus {
	border-color: var(--nx-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--nx-accent) 20%, transparent) !important;
	outline: none !important;
}
body.nx-modern .wc-block-components-text-input.has-error input,
body.nx-modern .wc-block-components-combobox.has-error input { border-color: var(--nx-danger) !important; }
body.nx-modern .wc-block-components-text-input label,
body.nx-modern .wc-block-components-combobox .wc-block-components-combobox-control label,
body.nx-modern .wc-blocks-components-select__label { color: var(--nx-muted); }
body.nx-modern .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border-color: var(--nx-border-strong);
	border-radius: 5px;
	border-width: 1.5px;
}
body.nx-modern .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--nx-accent);
	border-color: var(--nx-accent);
}
body.nx-modern .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--nx-on-accent); }

/* --------------------------------------------------------------------------
   7. Carrito clásico
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce table.shop_table {
	border: 1px solid var(--nx-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--nx-radius);
	background: var(--nx-surface);
	overflow: hidden;
	margin-bottom: 1.5em;
}
body.nx-modern .woocommerce table.shop_table th {
	padding: 14px 16px;
	background: var(--nx-soft);
	color: var(--nx-muted);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	border: 0;
}
body.nx-modern .woocommerce table.shop_table td {
	padding: 16px;
	border: 0;
	border-top: 1px solid var(--nx-border);
	vertical-align: middle;
	color: var(--nx-ink);
}
body.nx-modern .woocommerce table.shop_table tbody tr:first-child td { border-top: 0; }
body.nx-modern .woocommerce table.cart img,
body.nx-modern .woocommerce table.shop_table .product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: contain;
	padding: 4px;
	border-radius: var(--nx-radius-sm);
	background: var(--nx-soft);
	box-sizing: border-box;
}
body.nx-modern .woocommerce table.cart td.product-name a { color: var(--nx-ink); font-weight: 600; text-decoration: none; }
body.nx-modern .woocommerce table.cart td.product-name a:hover { color: var(--nx-accent); }
body.nx-modern .woocommerce table.cart td.product-subtotal { font-weight: 700; }
body.nx-modern .woocommerce a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--nx-soft);
	color: var(--nx-muted) !important;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	transition: background-color .15s, color .15s;
}
body.nx-modern .woocommerce a.remove:hover { background: #fdecec; color: var(--nx-danger) !important; }
body.nx-modern .woocommerce table.cart td.actions { padding: 16px; background: var(--nx-surface); }
body.nx-modern .woocommerce table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
body.nx-modern .woocommerce table.cart td.actions .coupon label { display: none; }
body.nx-modern .woocommerce table.cart td.actions .coupon .input-text { margin: 0; float: none; }

body.nx-modern .woocommerce .cart-collaterals .cart_totals,
body.nx-modern .woocommerce-page .cart-collaterals .cart_totals {
	padding: 24px;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-soft);
	box-sizing: border-box;
}
body.nx-modern .woocommerce .cart_totals h2 { margin-top: 0; font-size: 1.25rem; font-weight: 800; color: var(--nx-ink); }
body.nx-modern .woocommerce .cart_totals table.shop_table { border: 0; background: transparent; border-radius: 0; margin-bottom: 1em; }
body.nx-modern .woocommerce .cart_totals table.shop_table th,
body.nx-modern .woocommerce .cart_totals table.shop_table td {
	padding: 12px 0;
	background: transparent;
	border-top: 1px solid var(--nx-border-strong);
	text-transform: none;
	letter-spacing: 0;
	font-size: .95rem;
	color: var(--nx-ink);
}
body.nx-modern .woocommerce .cart_totals table.shop_table th { font-weight: 500; color: var(--nx-muted); }
body.nx-modern .woocommerce .cart_totals table.shop_table tr:first-child th,
body.nx-modern .woocommerce .cart_totals table.shop_table tr:first-child td { border-top: 0; }
body.nx-modern .woocommerce .cart_totals table.shop_table td { text-align: right; }
body.nx-modern .woocommerce .cart_totals .order-total th,
body.nx-modern .woocommerce .cart_totals .order-total td,
body.nx-modern .woocommerce .cart_totals .order-total strong { font-size: 1.2rem; font-weight: 800; color: var(--nx-ink); }
body.nx-modern .woocommerce .wc-proceed-to-checkout { padding: 0; }
body.nx-modern .woocommerce .wc-proceed-to-checkout a.checkout-button { margin-bottom: 0; display: flex; }
body.nx-modern .woocommerce ul#shipping_method li { margin-bottom: .4em; }
body.nx-modern .woocommerce .cart-empty { font-size: 1.1rem; }

/* --------------------------------------------------------------------------
   8. Checkout clásico y pasarela de pago
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce form.checkout h3,
body.nx-modern .woocommerce #order_review_heading {
	margin: 0 0 1em;
	color: var(--nx-ink);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -.01em;
}
body.nx-modern .woocommerce form.checkout #customer_details .col-1,
body.nx-modern .woocommerce form.checkout #customer_details .col-2,
body.nx-modern .woocommerce form.checkout #customer_details > div {
	padding: clamp(18px, 3vw, 28px);
	margin-bottom: 20px;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-surface);
	box-sizing: border-box;
}
body.nx-modern .woocommerce form.checkout .col2-set { display: grid; gap: 20px; }
body.nx-modern .woocommerce form.checkout .col2-set::before,
body.nx-modern .woocommerce form.checkout .col2-set::after { display: none; }
body.nx-modern .woocommerce form.checkout #customer_details .col-1,
body.nx-modern .woocommerce form.checkout #customer_details .col-2 { width: 100%; float: none; margin-bottom: 0; }
body.nx-modern .woocommerce form.checkout #order_review {
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-soft);
	box-sizing: border-box;
}
body.nx-modern .woocommerce form.checkout #order_review table.shop_table { border: 0; background: transparent; border-radius: 0; }
body.nx-modern .woocommerce form.checkout #order_review table.shop_table th,
body.nx-modern .woocommerce form.checkout #order_review table.shop_table td {
	padding: 12px 0;
	background: transparent;
	border-top: 1px solid var(--nx-border-strong);
	font-size: .95rem;
	text-transform: none;
	letter-spacing: 0;
	color: var(--nx-ink);
}
body.nx-modern .woocommerce form.checkout #order_review table.shop_table thead th { border-top: 0; color: var(--nx-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
body.nx-modern .woocommerce form.checkout #order_review table.shop_table td:last-child,
body.nx-modern .woocommerce form.checkout #order_review table.shop_table th:last-child { text-align: right; }
body.nx-modern .woocommerce form.checkout #order_review .order-total th,
body.nx-modern .woocommerce form.checkout #order_review .order-total td { font-size: 1.2rem; font-weight: 800; }

body.nx-modern .woocommerce #payment,
body.nx-modern .woocommerce-checkout #payment {
	margin-top: 1.25em;
	border-radius: var(--nx-radius);
	background: transparent;
}
body.nx-modern .woocommerce #payment ul.payment_methods {
	display: grid;
	gap: 10px;
	padding: 0 0 1.25em;
	margin: 0;
	border: 0;
}
body.nx-modern .woocommerce #payment ul.payment_methods::before,
body.nx-modern .woocommerce #payment ul.payment_methods::after { display: none; }
body.nx-modern .woocommerce #payment ul.payment_methods li {
	position: relative;
	margin: 0;
	padding: 14px 16px;
	border: 1.5px solid var(--nx-border);
	border-radius: var(--nx-radius-sm);
	background: var(--nx-surface);
	line-height: 1.4;
	list-style: none;
	transition: border-color .15s, box-shadow .15s;
}
body.nx-modern .woocommerce #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--nx-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--nx-accent) 15%, transparent);
}
body.nx-modern .woocommerce #payment ul.payment_methods li > label { display: inline; margin-left: .45em; font-weight: 600; color: var(--nx-ink); cursor: pointer; }
body.nx-modern .woocommerce #payment ul.payment_methods li img { max-height: 24px; vertical-align: middle; margin-left: .4em; }
body.nx-modern .woocommerce #payment div.payment_box {
	margin: 12px 0 0;
	padding: 12px 14px;
	border-radius: var(--nx-radius-sm);
	background: var(--nx-soft);
	color: var(--nx-muted);
	font-size: .9rem;
}
body.nx-modern .woocommerce #payment div.payment_box::before { display: none; }
body.nx-modern .woocommerce #payment div.payment_box p:last-child { margin-bottom: 0; }
body.nx-modern .woocommerce #payment div.form-row.place-order { padding: 0; margin: 0; }
body.nx-modern .woocommerce .woocommerce-terms-and-conditions-wrapper { font-size: .85rem; color: var(--nx-muted); margin-bottom: 1em; }
body.nx-modern .woocommerce .woocommerce-privacy-policy-text p { margin-bottom: 1em; }
body.nx-modern .woocommerce form.checkout_coupon,
body.nx-modern .woocommerce form.login,
body.nx-modern .woocommerce form.register {
	padding: 20px;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-surface);
}
body.nx-modern .woocommerce form.checkout_coupon { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
body.nx-modern .woocommerce form.checkout_coupon p { margin: 0; }
body.nx-modern .woocommerce form.checkout_coupon .form-row-first { flex: 1 1 220px; width: auto; float: none; }
body.nx-modern .woocommerce form.checkout_coupon .form-row-last { width: auto; float: none; }

body.nx-modern.woocommerce-checkout .woocommerce:has(> form.checkout) { container-type: inline-size; }
@container (min-width: 820px) {
	body.nx-modern.woocommerce-checkout .woocommerce form.checkout:not(.nx-no-grid) {
		display: grid;
		grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr);
		grid-template-areas: "details heading" "details review";
		grid-template-rows: auto 1fr;
		column-gap: 32px;
		align-items: start;
	}
	body.nx-modern.woocommerce-checkout .woocommerce form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
	body.nx-modern.woocommerce-checkout .woocommerce form.checkout #customer_details { grid-area: details; width: auto; float: none; }
	body.nx-modern.woocommerce-checkout .woocommerce form.checkout #order_review_heading { grid-area: heading; width: auto; float: none; padding: 0; }
	body.nx-modern.woocommerce-checkout .woocommerce form.checkout #order_review { grid-area: review; width: auto; float: none; position: sticky; top: 24px; }
}

/* Página de gracias / pedido recibido */
body.nx-modern .woocommerce ul.order_details,
body.nx-modern .woocommerce .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	padding: 0;
	margin: 0 0 2em;
	list-style: none;
}
body.nx-modern .woocommerce ul.order_details::before,
body.nx-modern .woocommerce ul.order_details::after { display: none; }
body.nx-modern .woocommerce ul.order_details li {
	float: none;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius-sm);
	background: var(--nx-soft);
	color: var(--nx-muted);
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .05em;
}
body.nx-modern .woocommerce ul.order_details li strong { display: block; margin-top: .3em; color: var(--nx-ink); font-size: 1rem; text-transform: none; letter-spacing: 0; }
body.nx-modern .woocommerce .woocommerce-thankyou-order-received {
	padding: 18px 20px;
	border-radius: var(--nx-radius);
	background: var(--nx-accent-soft);
	color: var(--nx-ink);
	font-size: 1.1rem;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   9. Carrito y checkout por bloques
   -------------------------------------------------------------------------- */
body.nx-modern .wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 2%; }
body.nx-modern .wc-block-cart .wc-block-components-sidebar,
body.nx-modern .wc-block-checkout .wc-block-components-sidebar,
body.nx-modern .wp-block-woocommerce-checkout-order-summary-block {
	box-sizing: border-box;
}
body.nx-modern .wc-block-cart .wc-block-cart__sidebar > .wp-block-woocommerce-cart-totals-block,
body.nx-modern .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper:first-child {
	border-top: 0;
}
body.nx-modern .wc-block-cart .wc-block-components-sidebar,
body.nx-modern .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	padding: clamp(12px, 1.8vw, 22px) !important;
	border: 1px solid var(--nx-border) !important;
	border-radius: var(--nx-radius);
	background: var(--nx-soft);
}
body.nx-modern .wc-block-checkout .wc-block-components-sidebar { padding-left: 1%; }
body.nx-modern .wc-block-components-totals-wrapper { border-color: var(--nx-border-strong) !important; }
body.nx-modern .wc-block-cart .wc-block-cart__totals-title,
body.nx-modern .wc-block-components-checkout-order-summary__title-text,
body.nx-modern .wc-block-components-order-summary .wc-block-components-panel__button {
	color: var(--nx-ink);
	font-weight: 800 !important;
	font-size: 1.1rem !important;
	letter-spacing: -.01em;
	text-transform: none !important;
}
body.nx-modern .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.nx-modern .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.2rem; font-weight: 800; color: var(--nx-ink); }
body.nx-modern .wc-block-components-totals-item__label { color: var(--nx-muted); }

/* Lista de productos del carrito por bloques */
body.nx-modern table.wc-block-cart-items {
	border: 1px solid var(--nx-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--nx-radius);
	overflow: hidden;
	background: var(--nx-surface);
}
body.nx-modern table.wc-block-cart-items .wc-block-cart-items__header th {
	padding: 14px 16px !important;
	background: var(--nx-soft);
	color: var(--nx-muted);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.nx-modern table.wc-block-cart-items .wc-block-cart-items__row td { border-top: 1px solid var(--nx-border) !important; }
body.nx-modern table.wc-block-cart-items .wc-block-cart-items__row:first-child td { border-top: 0 !important; }
body.nx-modern table.wc-block-cart-items .wc-block-cart-items__row td:first-child { padding-left: 16px !important; }
body.nx-modern table.wc-block-cart-items .wc-block-cart-items__row td:last-child { padding-right: 16px !important; }
body.nx-modern .wc-block-cart-item__image img,
body.nx-modern .wc-block-components-order-summary-item__image img {
	padding: 4px;
	border-radius: var(--nx-radius-sm);
	background: var(--nx-soft);
	box-sizing: border-box;
}
body.nx-modern .wc-block-components-order-summary-item__image img { background: var(--nx-surface); }
body.nx-modern .wc-block-components-product-name { color: var(--nx-ink) !important; font-weight: 600; text-decoration: none; }
body.nx-modern a.wc-block-components-product-name:hover { color: var(--nx-accent) !important; }
body.nx-modern .wc-block-cart-item__total .wc-block-components-product-price__value,
body.nx-modern .wc-block-components-order-summary-item__total-price { font-weight: 700; }
body.nx-modern .wc-block-components-quantity-badge { background: var(--nx-ink); color: var(--nx-on-ink); border-color: var(--nx-surface); }
body.nx-modern .wc-block-components-product-badge,
body.nx-modern .wc-block-components-sale-badge {
	border: 0 !important;
	border-radius: 999px;
	padding: .2em .65em !important;
	background: var(--nx-accent-soft);
	color: var(--nx-accent-hover);
	font-weight: 700;
	text-transform: uppercase;
	font-size: .7rem !important;
	letter-spacing: .04em;
}

/* Selector de cantidad por bloques */
body.nx-modern .wc-block-components-quantity-selector {
	border-radius: var(--nx-btn-radius) !important;
	border: 1.5px solid var(--nx-border-strong) !important;
	overflow: hidden;
	background: var(--nx-surface);
}
body.nx-modern .wc-block-components-quantity-selector::after { display: none !important; }
body.nx-modern .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { font-weight: 600; color: var(--nx-ink); }
body.nx-modern .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--nx-ink); opacity: 1; }
body.nx-modern .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { background: var(--nx-soft); color: var(--nx-accent); }
body.nx-modern .wc-block-cart-item__remove-link { color: var(--nx-muted) !important; font-size: .82rem !important; }
body.nx-modern .wc-block-cart-item__remove-link:hover { color: var(--nx-danger) !important; }

/* Pasos del checkout por bloques */
body.nx-modern .wc-block-checkout__form .wc-block-components-checkout-step {
	position: relative;
	margin: 0 0 20px !important;
	padding: clamp(18px, 3vw, 28px) clamp(18px, 3vw, 28px) clamp(10px, 2vw, 18px) !important;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-surface);
}
body.nx-modern .wc-block-checkout__form .wc-block-components-checkout-step::after { display: none !important; }
body.nx-modern .wc-block-components-checkout-step__heading { margin-bottom: 1em !important; }
body.nx-modern .wc-block-components-checkout-step__title {
	color: var(--nx-ink);
	font-weight: 800 !important;
	font-size: 1.2rem !important;
	letter-spacing: -.01em;
}
body.nx-modern .wc-block-components-checkout-step__container::after,
body.nx-modern .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before { display: none !important; }
body.nx-modern .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container,
body.nx-modern .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__heading { padding-left: 0 !important; margin-left: 0 !important; }
body.nx-modern .wc-block-components-checkout-step__description { color: var(--nx-muted); }

/* Métodos de envío / pago por bloques */
body.nx-modern .wc-block-components-radio-control--highlight-checked,
body.nx-modern .wc-block-checkout__payment-method .wc-block-components-radio-control,
body.nx-modern .wc-block-components-radio-control.disable-radio-control {
	display: grid;
	gap: 10px;
	border: 0 !important;
	box-shadow: none !important;
}
body.nx-modern .wc-block-components-radio-control--highlight-checked::after,
body.nx-modern .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option::after,
body.nx-modern .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option::after,
body.nx-modern .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted::after,
body.nx-modern .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option--checked-option-highlighted::after { display: none !important; box-shadow: none !important; }
body.nx-modern .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
body.nx-modern .wc-block-components-radio-control--highlight-checked > .wc-block-components-radio-control__option,
body.nx-modern .wc-block-checkout__shipping-method-option {
	border: 1.5px solid var(--nx-border) !important;
	border-radius: var(--nx-radius-sm) !important;
	background: var(--nx-surface);
	box-shadow: none !important;
	transition: border-color .15s, box-shadow .15s;
}
body.nx-modern .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.nx-modern .wc-block-components-radio-control--highlight-checked > .wc-block-components-radio-control__option--checked-option-highlighted,
body.nx-modern .wc-block-checkout__shipping-method-option--selected {
	border-color: var(--nx-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--nx-accent) 15%, transparent) !important;
}
body.nx-modern .wc-block-components-radio-control__input {
	border-color: var(--nx-border-strong) !important;
	border-width: 1.5px !important;
}
body.nx-modern .wc-block-components-radio-control__input:checked { border-color: var(--nx-accent) !important; }
body.nx-modern .wc-block-components-radio-control__input:checked::before { background: var(--nx-accent) !important; }
body.nx-modern .wc-block-components-radio-control__label { font-weight: 600; color: var(--nx-ink); }
body.nx-modern .wc-block-components-radio-control-accordion-content {
	margin: 0 16px 14px !important;
	padding: 12px 14px !important;
	border-radius: var(--nx-radius-sm);
	background: var(--nx-soft);
	color: var(--nx-muted);
	font-size: .9rem;
}
body.nx-modern .wc-block-checkout__actions { padding-top: 0 !important; }
body.nx-modern .wc-block-components-checkout-return-to-cart-button { color: var(--nx-muted); text-decoration: none; font-weight: 600; }
body.nx-modern .wc-block-components-checkout-return-to-cart-button:hover { color: var(--nx-accent); }
body.nx-modern .wc-block-checkout__terms { color: var(--nx-muted); font-size: .85rem; }
body.nx-modern .wc-block-components-totals-coupon-link,
body.nx-modern .wc-block-components-panel__button { color: var(--nx-ink); font-weight: 600; }
body.nx-modern .wc-block-components-panel__button:hover { color: var(--nx-accent); }
body.nx-modern .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content { border-radius: var(--nx-radius) !important; }
body.nx-modern .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
body.nx-modern .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after { border-radius: var(--nx-radius) var(--nx-radius) 0 0 !important; }

/* Botones de la barra lateral por bloques */
body.nx-modern .wc-block-cart__submit-container,
body.nx-modern .wc-block-checkout__actions_row { gap: 14px; }
body.nx-modern .wc-block-cart__submit-button.wc-block-components-button,
body.nx-modern .wc-block-components-checkout-place-order-button.wc-block-components-button {
	border-radius: var(--nx-btn-radius) !important;
}

/* --------------------------------------------------------------------------
   10. Mi cuenta
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce-account .woocommerce-MyAccount-navigation ul,
body.nx-modern .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 4px;
	margin: 0 0 2em;
	padding: 8px;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-soft);
	list-style: none;
}
body.nx-modern .woocommerce-MyAccount-navigation ul li { margin: 0; padding: 0; border: 0; list-style: none; }
body.nx-modern .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: .7em 1em;
	border-radius: var(--nx-radius-sm);
	color: var(--nx-muted);
	font-weight: 600;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}
body.nx-modern .woocommerce-MyAccount-navigation ul li a:hover { background: var(--nx-surface); color: var(--nx-ink); }
body.nx-modern .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--nx-surface); color: var(--nx-ink); box-shadow: var(--nx-shadow-sm); }
body.nx-modern .woocommerce-MyAccount-navigation ul li.is-active a::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 .6em .15em 0; border-radius: 999px; background: var(--nx-accent); }
body.nx-modern .woocommerce-account .woocommerce-MyAccount-content { line-height: 1.65; }
body.nx-modern .woocommerce-account .addresses .woocommerce-Address {
	padding: 20px;
	border: 1px solid var(--nx-border);
	border-radius: var(--nx-radius);
	background: var(--nx-surface);
}
body.nx-modern mark.order-status,
body.nx-modern .woocommerce-orders-table__cell-order-status {
	font-weight: 600;
}
body.nx-modern mark.order-number,
body.nx-modern mark.order-date,
body.nx-modern mark.order-status { background: var(--nx-accent-soft); color: var(--nx-ink); padding: .1em .45em; border-radius: 6px; }

/* --------------------------------------------------------------------------
   11. Mini carrito (bloque) y widgets
   -------------------------------------------------------------------------- */
body.nx-modern .wc-block-mini-cart__badge { background: var(--nx-accent) !important; color: var(--nx-on-accent) !important; }
body.nx-modern .wc-block-mini-cart__drawer .components-modal__content { padding: 0; }
body.nx-modern .widget_shopping_cart .buttons a,
body.nx-modern .woocommerce.widget_shopping_cart .buttons a { border-radius: var(--nx-btn-radius); }
body.nx-modern .widget_price_filter .ui-slider .ui-slider-range,
body.nx-modern .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--nx-accent); }

/* --------------------------------------------------------------------------
   12. Móvil
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	body.nx-modern ul.products li.product,
	body.nx-modern :is(.wc-block-product-template, .products-block-post-template) > li { padding: 8px 8px 12px; }
	body.nx-modern ul.products li.product .woocommerce-loop-product__title,
	body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wp-block-post-title { font-size: .92rem !important; }
	body.nx-modern ul.products li.product .button,
	body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wc-block-components-product-button__button { font-size: .85rem !important; padding: .6em .8em; min-height: 40px; }
	body.nx-modern div.product .summary .price,
	body.nx-modern div.product p.price { font-size: 1.45rem !important; }
	body.nx-modern .woocommerce-tabs ul.tabs { display: flex; width: 100%; box-sizing: border-box; }
	body.nx-modern .woocommerce-tabs ul.tabs li { flex: 1 1 auto; text-align: center; }
	body.nx-modern .woocommerce table.shop_table_responsive tr,
	body.nx-modern .woocommerce-page table.shop_table_responsive tr { display: block; border-top: 1px solid var(--nx-border); }
	body.nx-modern .woocommerce table.shop_table_responsive tr td { border-top: 0; padding: 8px 16px; }
	body.nx-modern .woocommerce table.shop_table_responsive tbody tr:first-child { border-top: 0; }
	body.nx-modern .woocommerce table.shop_table_responsive tr td.product-remove { padding-top: 14px; }
	body.nx-modern .woocommerce table.cart td.actions .coupon { flex-direction: column; align-items: stretch; }
	body.nx-modern .woocommerce table.cart td.actions .coupon .input-text,
	body.nx-modern .woocommerce table.cart td.actions .coupon .button { width: 100%; }
	body.nx-modern .woocommerce table.cart td.actions > .button { width: 100%; margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	body.nx-modern * { transition: none !important; }
	body.nx-modern.nx-hover ul.products li.product:hover,
	body.nx-modern.nx-hover :is(.wc-block-product-template, .products-block-post-template) > li:hover { transform: none; }
}

/* --------------------------------------------------------------------------
   13. Ajustes finos
   -------------------------------------------------------------------------- */
body.nx-modern .woocommerce .checkout-button,
body.nx-modern .woocommerce #place_order { background: var(--nx-accent); border-color: var(--nx-accent); color: var(--nx-on-accent); }
body.nx-modern .woocommerce .checkout-button:hover,
body.nx-modern .woocommerce #place_order:hover { background: var(--nx-accent-hover); border-color: var(--nx-accent-hover); color: var(--nx-on-accent); box-shadow: 0 8px 20px color-mix(in srgb, var(--nx-accent) 30%, transparent); }
body.nx-modern .wc-block-components-notice-banner { flex-wrap: nowrap; align-items: center; }
body.nx-modern .wc-block-components-notice-banner > .wc-block-components-notice-banner__content { flex: 1 1 auto; }
body.nx-modern .wc-block-components-checkout-return-to-cart-button { white-space: nowrap; }
body.nx-modern .wc-block-cart .wc-block-cart__totals-title { text-align: left !important; padding: 0 0 8px !important; }
body.nx-modern .wc-block-components-sidebar-layout .wc-block-components-sidebar { align-self: flex-start; }
body.nx-modern .wp-block-woocommerce-product-meta .wc-block-components-product-sku { display: inline-flex; gap: .3em; align-items: baseline; }
body.nx-modern .wp-block-woocommerce-product-meta .wc-block-components-product-sku strong { font-weight: 600; color: var(--nx-ink); }
body.nx-modern .wp-block-woocommerce-product-meta .wp-block-post-terms { display: inline-flex; flex-wrap: wrap; gap: .3em; align-items: baseline; }
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) > li > *:last-child,
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wc-block-components-product-button { margin-bottom: 0 !important; }
body.nx-modern :is(.wc-block-product-template, .products-block-post-template) .wc-block-components-product-price { margin-top: 0 !important; }
body.nx-modern .woocommerce-message a:not(.button),
body.nx-modern .woocommerce-info a:not(.button),
body.nx-modern .woocommerce-error a:not(.button),
body.nx-modern .wc-block-components-notice-banner a:not(.button) { color: var(--nx-ink) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
/* Temas que dibujan su propio radio (p. ej. Storefront) */
body.nx-modern #payment .payment_methods > li input[type=radio]:first-child + label::before { color: var(--nx-border-strong); }
body.nx-modern #payment .payment_methods > li input[type=radio]:first-child:checked + label::before { color: var(--nx-accent); }
