/* ==========================================================================
   Shop at New Horizons — WooCommerce
   Tarjetas, ficha de producto, avisos, carrito y checkout por bloques.
   ========================================================================== */

/* --- Migas de pan y paginación ------------------------------------------- */

.woocommerce-breadcrumb.nh-crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-size: 13.5px;
	color: var(--nh-muted);
	margin: 22px 0;
}
.woocommerce-breadcrumb.nh-crumb a { color: var(--nh-muted); text-decoration: none; }
.nh-crumb-sep { opacity: .7; }

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 8px;
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	display: grid;
	place-items: center;
	border: 1.5px solid var(--nh-line);
	border-radius: var(--nh-pill);
	font-weight: 600;
	color: var(--nh-ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--nh-ink);
	border-color: var(--nh-ink);
	color: #fff;
}

/* --- Ordenar y conteo ---------------------------------------------------- */

.woocommerce .woocommerce-result-count { color: var(--nh-muted); font-size: 14px; }
.woocommerce .woocommerce-ordering select {
	border-radius: var(--nh-pill);
	padding: 10px 40px 10px 16px;
	font-weight: 600;
}

/* --- Tarjetas de producto ------------------------------------------------ */

.woocommerce ul.products {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 20px;
	margin: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.woocommerce ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* Tarjeta: caja blanca con borde que se levanta al pasar el cursor */
.woocommerce ul.products li.product {
	--nh-card-pad: 12px;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
	padding: var(--nh-card-pad) var(--nh-card-pad) 16px;
	background: #fff;
	color: var(--nh-ink);
	border: 1px solid var(--nh-line);
	border-radius: var(--nh-radius-lg);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -28px rgba(15, 30, 51, .45);
	border-color: #CBD5E1;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: inherit;
	text-decoration: none;
	margin-bottom: 14px;
}

.woocommerce ul.products li.product a img {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: var(--nh-mist);
	border-radius: 16px;
	padding: 16px;
	margin: 0 0 6px;
	transition: transform .3s ease;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }

/* Insignias arriba a la izquierda de la foto */
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .nh-badge {
	position: absolute;
	top: calc(var(--nh-card-pad) + 12px);
	left: calc(var(--nh-card-pad) + 12px);
	right: auto;
	margin: 0;
	min-height: 0;
	min-width: 0;
	line-height: 1.3;
	z-index: 2;
}
.woocommerce span.onsale.nh-badge--sale { background: var(--nh-orange); color: #fff; padding: 4px 10px; border-radius: var(--nh-pill); font-size: 12px; font-weight: 700; line-height: 1.3; min-height: 0; min-width: 0; }
.nh-badge--low { background: var(--nh-peach) !important; color: var(--nh-warn) !important; }
.nh-badge--out { background: var(--nh-ink) !important; color: #fff !important; }
.woocommerce ul.products li.product.outofstock a img { opacity: .55; }

/* Corazón de la lista de deseos dentro de la foto */
.woocommerce ul.products li.product .nhr-heart--card { top: calc(var(--nh-card-pad) + 12px) !important; right: calc(var(--nh-card-pad) + 12px) !important; }

/* Vista rápida: aparece abajo de la foto al pasar el cursor */
.nh-card__over {
	position: absolute;
	top: var(--nh-card-pad);
	left: var(--nh-card-pad);
	right: var(--nh-card-pad);
	aspect-ratio: 1 / 1;
	pointer-events: none;
	z-index: 2;
}
.nh-qv-btn {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	height: 40px;
	border: 0;
	border-radius: var(--nh-pill);
	background: rgba(15, 30, 51, .88);
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	pointer-events: auto;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover .nh-qv-btn,
.nh-qv-btn:focus-visible { opacity: 1; transform: none; }
.nh-qv-btn:hover { background: var(--nh-ink); }

.nh-card__media { display: block; }
.nh-card-meta { font-size: 12px; font-weight: 700; color: var(--nh-muted); text-transform: uppercase; letter-spacing: .06em; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nh-card-meta .nh-lang { text-transform: none; letter-spacing: 0; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--nh-font-body);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	color: var(--nh-ink);
	padding: 0;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
}

.woocommerce ul.products li.product .star-rating {
	font-size: 13px;
	margin: 0;
	color: #F5A623;
}

.woocommerce ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	font-family: var(--nh-font-display);
	font-weight: 800;
	font-size: 24px;
	line-height: 1.1;
	color: var(--nh-ink);
	margin: 2px 0 0;
}
.woocommerce ul.products li.product .price del {
	order: 2;
	font-family: var(--nh-font-body);
	font-weight: 500;
	font-size: 14px;
	color: var(--nh-muted);
	opacity: 1;
}
.woocommerce ul.products li.product .price ins { text-decoration: none; }

.nh-card-lines { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.nh-pickup,
.nh-shipline {
	display: flex;
	gap: 6px;
	align-items: center;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--nh-green);
}
.nh-shipline { color: #3D4A5C; font-weight: 500; }
.nh-pickup .nh-icon, .nh-shipline .nh-icon { flex: none; width: 16px; height: 16px; }

/* Botón: ancho completo abajo, con ícono de carrito */
.woocommerce ul.products li.product .button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	margin-top: auto;
	text-decoration: none;
	background: var(--nh-blue);
	color: #fff;
	border-radius: var(--nh-pill);
	padding: 12px 16px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}
.woocommerce ul.products li.product .button.add_to_cart_button::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h15l-1.5 8h-12z'/%3E%3Cpath d='M6 7L5 3H2'/%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h15l-1.5 8h-12z'/%3E%3Cpath d='M6 7L5 3H2'/%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce ul.products li.product .button:not(.add_to_cart_button) { background: #fff; color: var(--nh-blue); box-shadow: inset 0 0 0 1.5px var(--nh-blue); }
.woocommerce ul.products li.product .button:hover { background: var(--nh-blue-dark); color: #fff; }
.woocommerce ul.products li.product .button.loading { opacity: .75; }
.woocommerce ul.products li.product .button.loading::after { position: static; margin-left: 4px; }
.woocommerce ul.products li.product .button.added::after { position: static; margin-left: 2px; }
.woocommerce ul.products li.product .added_to_cart {
	text-align: center;
	margin: 6px 0 -6px;
	font-size: 13px;
	font-weight: 700;
}

/* Ventana de vista rápida */
.nh-qv[hidden] { display: none; }
.nh-qv {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(15, 30, 51, .55);
	opacity: 0;
	transition: opacity .2s ease;
}
.nh-qv.is-on { opacity: 1; }
.nh-qv__box {
	position: relative;
	box-sizing: border-box;
	width: min(960px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	background: #fff;
	border-radius: 28px;
	padding: 28px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px;
	box-shadow: var(--nh-shadow);
	transform: translateY(12px);
	transition: transform .25s ease;
}
.nh-qv.is-on .nh-qv__box { transform: none; }
.nh-qv__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	border-radius: var(--nh-pill);
	border: 0;
	background: var(--nh-mist);
	color: var(--nh-ink);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}
.nh-qv__close:hover { background: var(--nh-line); }
.nh-qv__media img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; background: var(--nh-mist); border-radius: 20px; padding: 18px; box-sizing: border-box; display: block; }
.nh-qv__thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.nh-qv__thumbs button { width: 60px; height: 60px; padding: 4px; border-radius: 12px; border: 1px solid var(--nh-line); background: var(--nh-mist); cursor: pointer; }
.nh-qv__thumbs button.is-on { border: 2px solid var(--nh-blue); }
.nh-qv__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.nh-qv__info { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding-top: 8px; }
.nh-qv__info h2 { margin: 0; font-size: 26px; line-height: 1.2; padding-right: 36px; }
.nh-qv__info .price { font-family: var(--nh-font-display); font-weight: 800; font-size: 28px; color: var(--nh-ink); margin: 0; }
.nh-qv__info .price del { font-size: 16px; color: var(--nh-muted); font-weight: 500; }
.nh-qv__info .price ins { text-decoration: none; }
.nh-qv__desc { color: #3D4A5C; font-size: 15px; }
.nh-qv__desc > :first-child { margin-top: 0; }
.nh-qv__desc > :last-child { margin-bottom: 0; }
.nh-qv__info form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 4px 0 0; }
.nh-qv__info form.variations_form { display: block; }
.nh-qv__info form.cart .quantity .qty { height: 48px; width: 72px; border-radius: var(--nh-pill); border: 1px solid var(--nh-line); text-align: center; font: inherit; }
.nh-qv__info .single_add_to_cart_button { flex: 1; min-height: 48px; border-radius: var(--nh-pill) !important; background: var(--nh-orange) !important; color: #fff !important; font-weight: 700 !important; }
.nh-qv__info .stock { margin: 0; font-weight: 600; color: var(--nh-green); }
.nh-qv__info .stock.out-of-stock { color: var(--nh-muted); }
.nh-qv__more { font-weight: 700; text-decoration: none; }
.nh-qv__loading { grid-column: 1 / -1; min-height: 200px; display: grid; place-items: center; color: var(--nh-muted); }
body.nh-qv-open { overflow: hidden; }

/* --- Ficha de producto --------------------------------------------------- */

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images img {
	border-radius: var(--nh-radius-xl);
	background: var(--nh-sky);
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: 16px;
	border: 2px solid transparent;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { border-color: var(--nh-blue); }

.woocommerce div.product .product_title {
	font-size: clamp(30px, 3vw, 40px);
	font-weight: 800;
	margin-bottom: 12px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--nh-font-display);
	font-weight: 800;
	font-size: clamp(30px, 3vw, 40px);
	color: var(--nh-ink);
	margin: 18px 0 4px;
}
.nh-itbis { font-size: 13.5px; color: var(--nh-muted); margin: 0 0 12px; }

.woocommerce div.product .stock {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	font-weight: 700;
	font-size: 14px;
}
.woocommerce div.product .stock.in-stock { color: var(--nh-green); }
.woocommerce div.product .stock.in-stock::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}
.woocommerce div.product .stock.nh-low-stock { color: var(--nh-warn); }
.woocommerce div.product .stock.out-of-stock { color: var(--nh-muted); }

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
	margin: 24px 0 0;
}
.woocommerce div.product form.cart .quantity .qty {
	height: 56px;
	width: 96px;
	border-radius: var(--nh-pill);
	text-align: center;
	font-weight: 700;
	font-size: 16px;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1;
	min-height: 56px;
	background: var(--nh-blue);
	color: #fff;
	font-size: 16px;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--nh-blue-dark); }

.woocommerce div.product form.cart .variations select { border-radius: var(--nh-pill); }

.nh-delivery {
	margin-top: 26px;
	border: 1px solid var(--nh-line);
	border-radius: var(--nh-radius-lg);
}
.nh-delivery__row { display: flex; gap: 14px; align-items: center; padding: 16px 20px; }
.nh-delivery__row + .nh-delivery__row { border-top: 1px solid var(--nh-line); }
.nh-delivery__icon {
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: var(--nh-sky);
	color: var(--nh-blue);
	display: grid;
	place-items: center;
	flex: none;
}
.nh-delivery p { margin: 0; line-height: 1.35; }
.nh-delivery strong { display: block; font-size: 14.5px; }
.nh-delivery p span { font-size: 13.5px; color: var(--nh-muted); }
.nh-delivery em { margin-left: auto; font-style: normal; font-weight: 700; font-size: 14px; color: var(--nh-green); white-space: nowrap; }

.nh-secure { display: flex; gap: 8px; align-items: center; color: var(--nh-muted); font-size: 13.5px; margin-top: 14px; }
.nh-secure .nh-icon { color: var(--nh-green); }

/* Pestañas de descripción */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 34px;
	padding: 0;
	margin: 72px 0 30px;
	border-bottom: 1.5px solid var(--nh-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; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: 0;
	margin: 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0 0 14px;
	font-weight: 700;
	font-size: 16px;
	color: var(--nh-muted);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--nh-ink);
	box-shadow: inset 0 -3px 0 var(--nh-blue);
}
.woocommerce table.shop_attributes { border: 1px solid var(--nh-line); border-radius: var(--nh-radius-lg); overflow: hidden; border-collapse: separate; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { border: 0; padding: 14px 20px; font-style: normal; }
.woocommerce table.shop_attributes tr:nth-child(odd) th,
.woocommerce table.shop_attributes tr:nth-child(odd) td { background: var(--nh-mist); }

/* --- Avisos (agregado al carrito, errores) ------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border: 0 !important;
	border-radius: var(--nh-radius) !important;
	padding: 16px 20px !important;
	font-size: 15px;
}
.woocommerce-message,
.wc-block-components-notice-banner.is-success {
	background: var(--nh-green-soft) !important;
	color: var(--nh-ink) !important;
}
.woocommerce-message::before { color: var(--nh-green); }
.woocommerce-message,
.woocommerce-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.woocommerce-message .button,
.woocommerce-info .button {
	float: none !important;
	order: 2;
	padding: 8px 16px !important;
	text-decoration: none;
	font-weight: 700;
	background: var(--nh-orange) !important;
	color: #fff !important;
	border-radius: var(--nh-pill) !important;
}
.woocommerce-info { background: var(--nh-sky) !important; color: var(--nh-ink) !important; }
.woocommerce-info::before { color: var(--nh-blue); }
.woocommerce-error,
.wc-block-components-notice-banner.is-error { background: #FDECEC !important; }

/* --- Carrito y checkout por bloques -------------------------------------- */

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: var(--nh-pill) !important;
	min-height: 56px;
	font-weight: 800 !important;
	font-size: 16px !important;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--nh-orange) !important;
	color: #fff !important;
	border: 0 !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--nh-orange-dark) !important; }

.wc-block-components-sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart .wc-block-components-sidebar {
	background: var(--nh-mist);
	border-radius: var(--nh-radius-lg);
	padding: 26px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--nh-font-display);
	font-size: 28px;
	font-weight: 800;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-select select,
.wc-block-components-textarea {
	border: 1.5px solid var(--nh-line) !important;
	border-radius: var(--nh-radius) !important;
}
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus {
	border-color: var(--nh-blue) !important;
	box-shadow: 0 0 0 3px rgba(0, 84, 166, .12) !important;
}

.wc-block-checkout__form .wc-block-components-checkout-step {
	border: 1px solid var(--nh-line);
	border-radius: 24px;
	padding: 26px 28px 20px;
	margin-bottom: 20px;
}
.wc-block-components-checkout-step__title {
	font-family: var(--nh-font-display);
	font-weight: 700;
	font-size: 21px;
}

.wc-block-components-radio-control__option,
.wc-block-checkout__shipping-method-option,
.wc-block-components-radio-control-accordion-option {
	border: 1.5px solid var(--nh-line) !important;
	border-radius: 18px !important;
}
.wc-block-components-radio-control__option-checked,
.wc-block-checkout__shipping-method-option--selected,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--nh-blue) !important;
	box-shadow: 0 0 0 1px var(--nh-blue) !important;
	background: #F5FAFF;
}
.wc-block-components-radio-control__input:checked { border-color: var(--nh-blue); }
.wc-block-components-radio-control__input:checked::before { background: var(--nh-blue); }

.wc-block-components-product-name { font-weight: 700; color: var(--nh-ink); }
.wc-block-cart-items__row .wc-block-cart-item__image img { border-radius: 18px; background: var(--nh-sky); }

.wc-block-components-quantity-selector {
	border-radius: var(--nh-pill) !important;
	border: 1.5px solid var(--nh-line) !important;
	overflow: hidden;
}
.wc-block-components-quantity-selector::after { display: none; }

/* Pedido recibido */
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--nh-font-display);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 800;
	line-height: 1.05;
}
.woocommerce-order ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
}
.woocommerce-order ul.order_details li {
	background: var(--nh-mist);
	border: 0;
	border-radius: var(--nh-pill);
	padding: 8px 16px;
	margin: 0;
}

/* --- Mini carrito de la cabecera [nh_mini_carrito] ----------------------- */

.nh-mini-cart {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	background: var(--nh-blue);
	color: #fff !important;
	border-radius: var(--nh-pill);
	padding: 9px 18px 9px 10px;
	line-height: 1.15;
	text-decoration: none;
}
.nh-mini-cart:hover { background: var(--nh-blue-dark); }
.nh-mini-cart__icon {
	position: relative;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255,255,255,.14);
	display: grid;
	place-items: center;
}
.nh-mini-cart__icon i {
	position: absolute;
	top: -3px;
	right: -3px;
	min-width: 17px;
	height: 17px;
	border-radius: 9px;
	background: var(--nh-orange);
	font-style: normal;
	font-size: 10.5px;
	font-weight: 800;
	display: grid;
	place-items: center;
}
.nh-mini-cart__text small { display: block; font-size: 11.5px; opacity: .8; }
.nh-mini-cart__text b { font-size: 14.5px; }

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 1024px) {
	.woocommerce ul.products,
	.woocommerce ul.products.columns-5,
	.woocommerce ul.products.columns-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
	.woocommerce ul.products li.product { --nh-card-pad: 8px; padding-bottom: 12px; border-radius: 18px; }
	.woocommerce ul.products li.product:hover { transform: none; }
	.woocommerce ul.products li.product a img { border-radius: 12px; padding: 10px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
	.woocommerce ul.products li.product .price { font-size: 19px; }
	.woocommerce ul.products li.product .onsale,
	.woocommerce ul.products li.product .nh-badge { top: 14px; left: 14px; font-size: 11px; }
	.nh-shipline { display: none; }
	.nh-pickup { font-size: 12px; }
	.nh-qv-btn { display: none; }
	.woocommerce ul.products li.product .button { min-height: 40px; padding: 10px 12px; font-size: 13.5px; }
	.nh-qv { padding: 0; align-items: end; }
	.nh-qv__box { grid-template-columns: 1fr; gap: 16px; border-radius: 24px 24px 0 0; padding: 20px 16px calc(20px + env(safe-area-inset-bottom, 0px)); max-height: 92vh; }
	.nh-qv__info h2 { font-size: 21px; }

	/* Botón de agregar al carrito fijo abajo en la ficha (si el producto ofrece servicios, se queda en su caja para no tapar media pantalla) */
	.single-product div.product form.cart:not(.variations_form):not(:has(.nht-addons)) {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 50;
		margin: 0;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
		background: #fff;
		border-top: 1px solid var(--nh-line);
		box-shadow: 0 -10px 30px -10px rgba(15, 30, 51, .15);
	}
	.single-product div.product form.cart .quantity .qty,
	.single-product div.product form.cart .single_add_to_cart_button { min-height: 52px; height: 52px; }
	.single-product:not(:has(form.cart .nht-addons)) { padding-bottom: 84px; }

	.nh-mini-cart__text { display: none; }
	.nh-mini-cart { padding: 4px; }

	.wc-block-checkout__form .wc-block-components-checkout-step { padding: 18px 16px 14px; }
}

/* --- Mi cuenta: iniciar sesión y registrarse ----------------------------- */
.woocommerce-account #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 980px; }
.woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after { display: none; }
.woocommerce-account #customer_login > div { float: none; width: auto; padding: 32px; border: 1px solid var(--nh-line); border-radius: 24px; background: #fff; }
.woocommerce-account #customer_login .u-column2 { background: var(--nh-sky); border-color: transparent; }
.woocommerce-account #customer_login h2 { font-size: 26px; margin: 0 0 6px; }
.woocommerce-account form.login, .woocommerce-account form.register { border: 0 !important; padding: 0 !important; margin: 16px 0 0 !important; }
.woocommerce form .form-row { padding: 0; margin: 0 0 14px; }
.woocommerce form .form-row label { font-weight: 600; font-size: 14px; margin-bottom: 6px; display: block; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea {
	border: 1.5px solid var(--nh-line); border-radius: 14px; padding: 12px 14px; font-size: 15px; background: #fff; box-sizing: border-box;
}
.woocommerce form .form-row input.input-text:focus { outline: none; border-color: var(--nh-blue); box-shadow: 0 0 0 3px rgba(0, 84, 166, .12); }
.woocommerce-account .woocommerce form .woocommerce-button, .woocommerce-account .woocommerce form button[type="submit"] {
	min-height: 48px; padding: 12px 26px; border-radius: 999px !important; background: var(--nh-blue) !important; color: #fff !important; font-weight: 700;
}
.woocommerce-account .woocommerce form.register button[type="submit"] { background: var(--nh-orange) !important; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; gap: 6px; align-items: center; margin-right: 12px; }
.woocommerce-account .lost_password a { font-weight: 600; }
.nh-reg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nh-reg-perk { display: flex; gap: 10px; align-items: center; margin: 6px 0 0; padding: 12px 14px; border-radius: 14px; background: #fff; color: var(--nh-orange-dark); font-weight: 700; font-size: 14px; }
.nh-reg-check { display: flex !important; gap: 8px; align-items: flex-start; font-weight: 500 !important; color: var(--nh-muted); }
.nh-reg-check input { margin-top: 3px; accent-color: var(--nh-blue); }

/* Mi cuenta con sesión */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 12px; color: var(--nh-ink); font-weight: 600; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--nh-sky); color: var(--nh-blue); }

@media (max-width: 767px) {
	.woocommerce-account #customer_login { grid-template-columns: 1fr; }
	.woocommerce-account #customer_login > div { padding: 22px; }
	.nh-reg-row { grid-template-columns: 1fr; }
}

/* Caja: cantidades y quitar en el resumen */
.nh-co-ctrl { display: flex; align-items: center; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.nh-co-ctrl.is-busy { opacity: .5; pointer-events: none; }
.nh-co-qty { display: inline-flex; align-items: center; border: 1px solid var(--nh-line); border-radius: 999px; overflow: hidden; background: #fff; }
.nh-co-qty button { all: unset; cursor: pointer; width: 28px; height: 28px; display: grid; place-items: center; font-size: 16px; font-weight: 700; color: var(--nh-blue); }
.nh-co-qty button:hover, .nh-co-qty button:focus-visible { background: var(--nh-sky); }
.nh-co-qty span { min-width: 22px; text-align: center; font-weight: 700; font-size: 13px; }
.nh-co-remove { all: unset; cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--nh-muted); text-decoration: underline; text-underline-offset: 3px; }
.nh-co-remove:hover, .nh-co-remove:focus-visible { color: #B42318; }
a.nh-co-remove--classic { display: inline-block; margin-left: 8px; }

.nh-qv__desc ul { padding-left: 20px; margin: 0; display: grid; gap: 4px; }
.nh-qv--list .nh-qv__box { grid-template-columns: minmax(0, 1fr); width: min(560px, 100%); }
.nh-qv__list h2 { margin: 0 0 16px; font-size: 22px; padding-right: 40px; }

/* --- Tarjeta limpia (Panel del tema > Tienda > Estilo de las tarjetas) ---- */
body.nh-card-min ul.products li.product {
	--nh-card-pad: 0px;
	padding: 0 0 6px;
	background: transparent;
	border: 0;
	border-radius: 0;
}
body.nh-card-min ul.products li.product:hover { transform: none; box-shadow: none; }
body.nh-card-min ul.products li.product a.woocommerce-LoopProduct-link { gap: 6px; margin-bottom: 0; }
body.nh-card-min ul.products li.product .nh-card__media { display: block; background: #F1F3F6; border-radius: 18px; overflow: hidden; margin: 0 0 8px; transition: background .2s; }
body.nh-card-min ul.products li.product a .nh-card__media img {
	background: transparent;
	border-radius: 0;
	padding: 11%;
	margin: 0;
	mix-blend-mode: multiply;
}
body.nh-card-min ul.products li.product:hover .nh-card__media { background: #E9ECF1; }
body.nh-card-min ul.products li.product:hover a img { transform: scale(1.03); }
body.nh-card-min ul.products li.product .onsale,
body.nh-card-min ul.products li.product .nh-badge { top: 12px; left: 12px; }
body.nh-card-min ul.products li.product .nhr-heart--card { top: 12px !important; right: 12px !important; }
body.nh-card-min .nh-card__over { top: 0; left: 0; right: 0; }
body.nh-card-min ul.products li.product .woocommerce-loop-product__title {
	font-weight: 500;
	font-size: 15.5px;
	line-height: 1.38;
	color: var(--nh-ink);
}
body.nh-card-min ul.products li.product:hover .woocommerce-loop-product__title { text-decoration: underline; text-underline-offset: 3px; }
body.nh-card-min ul.products li.product .price {
	font-family: var(--nh-font-body);
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.01em;
	gap: 2px 8px;
	margin-top: 0;
}
body.nh-card-min ul.products li.product .price del { font-size: 14px; font-weight: 500; }
body.nh-card-min ul.products li.product .star-rating { margin: 0; }
body.nh-card-min:not(.nh-card-lines) ul.products:not(.nh-is-list) .nh-card-lines { display: none; }
body.nh-card-min:not(.nh-card-btn) ul.products:not(.nh-is-list) li.product .button,
body.nh-card-min:not(.nh-card-btn) ul.products:not(.nh-is-list) li.product .added_to_cart { display: none; }
body.nh-card-min.nh-card-btn ul.products li.product .button { margin-top: 10px; min-height: 40px; font-size: 14px; }

/* --- Listado estilo Amazon: filtros, barra de resultados y vista de lista -- */
.nh-shop--filters { grid-template-columns: 250px minmax(0, 1fr); gap: 36px; }
.nh-filters { font-size: 14px; align-self: start; }
.nh-filters__head, .nh-filters__foot { display: none; }
.nh-f { padding: 0 0 18px; margin: 0 0 18px; border-bottom: 1px solid var(--nh-line); }
.nh-f:last-of-type { border-bottom: 0; }
.nh-f__t { margin: 0 0 10px; font-family: var(--nh-font-body); font-size: 15px; font-weight: 800; color: var(--nh-ink); letter-spacing: 0; }
.nh-f__tree, .nh-f__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.nh-f__tree li { padding: 3px 0; line-height: 1.35; }
.nh-f__tree a { color: var(--nh-ink); text-decoration: none; }
.nh-f__tree a:hover { color: var(--nh-orange-dark, #C9520F); text-decoration: underline; }
.nh-f__back a { color: var(--nh-muted); font-size: 13.5px; }
.nh-f__cur { font-size: 14.5px; }
.nh-f__sub { padding-left: 12px !important; }
.nh-f__n { color: var(--nh-muted); font-size: 12.5px; margin-left: auto; padding-left: 6px; }
.nh-f__tree .nh-f__n { margin-left: 2px; }
.nh-f__opt a { display: flex; align-items: center; gap: 9px; padding: 5px 0; color: var(--nh-ink); text-decoration: none; line-height: 1.3; }
.nh-f__opt a:hover .nh-f__name { color: var(--nh-orange-dark, #C9520F); text-decoration: underline; }
.nh-f__box { flex: none; width: 17px; height: 17px; border: 1.5px solid #8A96A8; border-radius: 4px; background: #fff; display: grid; place-items: center; transition: background .15s, border-color .15s; }
.nh-f__box--radio { border-radius: 50%; }
.nh-f__opt.is-on .nh-f__box { background: var(--nh-blue); border-color: var(--nh-blue); }
.nh-f__opt.is-on .nh-f__box::after { content: ""; width: 9px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: translateY(-1px) rotate(-45deg); }
.nh-f__opt.is-on .nh-f__box--radio::after { width: 7px; height: 7px; border: 0; border-radius: 50%; background: #fff; transform: none; }
.nh-f__opt.is-on .nh-f__name { font-weight: 700; }
.nh-f__dot { flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(15,30,51,.18); }
.nh-f__stars .nh-f__box { display: none; }
.nh-f__starbar { flex: none; width: 88px; height: 16px; background: linear-gradient(90deg, #F5A623 calc(var(--r) * 20%), #D5DBE3 0); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 20'%3E%3Cg%3E%3Cpath id='s' d='M10 1l2.7 5.6 6.1.9-4.4 4.3 1 6.1L10 15l-5.4 2.9 1-6.1L1.2 7.5l6.1-.9Z'/%3E%3Cuse href='%23s' x='22'/%3E%3Cuse href='%23s' x='44'/%3E%3Cuse href='%23s' x='66'/%3E%3Cuse href='%23s' x='88'/%3E%3C/g%3E%3C/svg%3E") left center / 88px 16px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 20'%3E%3Cg%3E%3Cpath id='s' d='M10 1l2.7 5.6 6.1.9-4.4 4.3 1 6.1L10 15l-5.4 2.9 1-6.1L1.2 7.5l6.1-.9Z'/%3E%3Cuse href='%23s' x='22'/%3E%3Cuse href='%23s' x='44'/%3E%3Cuse href='%23s' x='66'/%3E%3Cuse href='%23s' x='88'/%3E%3C/g%3E%3C/svg%3E") left center / 88px 16px no-repeat; }
.nh-f__stars .nh-f__opt.is-on a { font-weight: 700; }
.nh-f .is-extra { display: none; }
.nh-f.is-more .is-extra { display: list-item; }
.nh-f.is-more .nh-f__list .is-extra { display: block; }
.nh-f__more { margin-top: 6px; padding: 0; border: 0; background: none; color: var(--nh-blue); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.nh-f__more:hover { text-decoration: underline; }
/* Precio con dos deslizadores */
.nh-price { margin: 0 0 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; align-items: center; }
.nh-price__val { grid-column: 1 / -1; margin: 0; font-weight: 700; }
.nh-price__range { position: relative; height: 22px; }
.nh-price__range::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; height: 4px; border-radius: 4px; background: #D5DBE3; }
.nh-price__range input { position: absolute; inset: 0; width: 100%; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.nh-price__range input::-webkit-slider-thumb { pointer-events: auto; -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 2px solid var(--nh-blue); box-shadow: 0 1px 4px rgba(15,30,51,.25); cursor: pointer; }
.nh-price__range input::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--nh-blue); cursor: pointer; }
.nh-price__range input::-webkit-slider-runnable-track { background: none; }
.nh-price__go { height: 32px; padding: 0 14px; border: 1px solid var(--nh-line); border-radius: var(--nh-pill); background: #fff; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--nh-ink); cursor: pointer; }
.nh-price__go:hover { border-color: var(--nh-ink); }

/* Barra de resultados */
.nh-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 10px 0 14px; margin-bottom: 18px; border-bottom: 1px solid var(--nh-line); }
.nh-toolbar__count { flex: 1; min-width: 0; }
.nh-toolbar__count .woocommerce-result-count { margin: 0; float: none; color: var(--nh-ink); font-weight: 600; }
.nh-toolbar__right { display: flex; align-items: center; gap: 12px; }
.nh-toolbar__right .woocommerce-ordering { margin: 0; float: none; }
.nh-toolbar__right .woocommerce-ordering select { height: 40px; padding-top: 0; padding-bottom: 0; font-size: 14px; }
.nh-toolbar__view { display: inline-flex; border: 1px solid var(--nh-line); border-radius: var(--nh-pill); padding: 3px; gap: 2px; }
.nh-toolbar__view button { width: 36px; height: 32px; border: 0; border-radius: var(--nh-pill); background: none; color: var(--nh-muted); display: grid; place-items: center; cursor: pointer; padding: 0; }
.nh-toolbar__view button:hover { color: var(--nh-ink); }
html.nh-view-list .nh-toolbar__view [data-nh-view="list"], html:not(.nh-view-list) .nh-toolbar__view [data-nh-view="grid"] { background: var(--nh-ink); color: #fff; }
.nh-toolbar__filters { display: none; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 1px solid var(--nh-line); border-radius: var(--nh-pill); background: #fff; font: inherit; font-weight: 700; color: var(--nh-ink); cursor: pointer; }
.nh-toolbar__filters b { min-width: 20px; height: 20px; border-radius: 10px; background: var(--nh-orange); color: #fff; font-size: 12px; display: grid; place-items: center; padding: 0 5px; }
.nh-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -6px 0 20px; }
.nh-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--nh-pill); background: var(--nh-sky); color: var(--nh-blue); font-size: 13.5px; font-weight: 700; text-decoration: none; }
.nh-chip span[aria-hidden] { font-size: 17px; line-height: 1; }
.nh-chip:hover { background: var(--nh-blue); color: #fff; }
.nh-chips__clear { font-size: 13.5px; font-weight: 700; color: var(--nh-muted); }
.nh-card-rc, .nh-card-desc { display: none; }
.nh-card-rate { display: flex; align-items: center; gap: 6px; }
.nh-card-rate .star-rating { margin: 0 !important; }
.nh-card-rc { font-size: 13px; color: var(--nh-blue); }
.nh-shop--filters h1.page-title, .nh-shop--filters .woocommerce-products-header__title { font-size: clamp(26px, 2.4vw, 34px); margin: 4px 0 6px; }

/* Vista de lista (una fila por producto) */
html.nh-view-list ul.products.nh-results { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
html.nh-view-list ul.products.nh-results li.product {
	display: grid; grid-template-columns: 210px minmax(0, 1fr); grid-template-rows: repeat(10, min-content) 1fr; column-gap: 26px; row-gap: 0; align-items: start;
	padding: 22px 0 !important; border: 0; border-bottom: 1px solid var(--nh-line); border-radius: 0; background: none; --nh-card-pad: 0px;
}
html.nh-view-list ul.products.nh-results li.product:hover { transform: none; box-shadow: none; }
html.nh-view-list ul.products.nh-results li.product a.woocommerce-LoopProduct-link { display: contents; }
html.nh-view-list ul.products.nh-results li.product > *,
html.nh-view-list ul.products.nh-results li.product a.woocommerce-LoopProduct-link > * { grid-column: 2; margin-top: 0; margin-bottom: 6px; }
html.nh-view-list ul.products.nh-results li.product .nh-card__media { grid-column: 1 !important; grid-row: 1 / span 11 !important; margin: 0; background: #F1F3F6; border-radius: 16px; overflow: hidden; }
html.nh-view-list ul.products.nh-results li.product a .nh-card__media img { margin: 0; padding: 10%; background: transparent; border-radius: 0; mix-blend-mode: multiply; }
html.nh-view-list ul.products.nh-results li.product .onsale,
html.nh-view-list ul.products.nh-results li.product .nh-badge { grid-column: 1 / 2 !important; grid-row: 1 / 2 !important; top: 10px; left: 10px; margin: 0; }
html.nh-view-list ul.products.nh-results li.product .nhr-heart--card { grid-column: 1 / 2 !important; grid-row: 1 / 2 !important; top: 10px !important; right: 10px !important; left: auto !important; margin: 0; }
html.nh-view-list ul.products.nh-results .nh-card__over { grid-column: 1 / 2 !important; grid-row: 1 / 2 !important; top: 0; left: 0; right: 0; width: auto; margin: 0; }
html.nh-view-list ul.products.nh-results li.product .woocommerce-loop-product__title { font-size: 18px; font-weight: 500; line-height: 1.35; min-height: 0; -webkit-line-clamp: 3; margin-bottom: 6px; }
html.nh-view-list ul.products.nh-results li.product a:hover .woocommerce-loop-product__title { color: var(--nh-orange-dark, #C9520F); text-decoration: none; }
html.nh-view-list ul.products.nh-results li.product .price { font-family: var(--nh-font-body); font-size: 24px; font-weight: 800; margin: 2px 0 6px; }
html.nh-view-list ul.products.nh-results .nh-card-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.45; color: var(--nh-muted); max-width: 72ch; }
html.nh-view-list ul.products.nh-results .nh-card-lines { display: flex !important; }
html.nh-view-list ul.products.nh-results li.product .button { display: inline-flex !important; justify-self: start; width: auto; min-height: 40px; margin-top: 8px; padding: 10px 22px; font-size: 14px; }
html.nh-view-list ul.products.nh-results li.product .added_to_cart { display: inline-block !important; justify-self: start; }
html.nh-view-list ul.products.nh-results .nh-card-rate .nh-card-rc { display: inline; }
@media (max-width: 1024px) {
	.nh-shop--filters { grid-template-columns: minmax(0, 1fr); }
	.nh-toolbar__filters { display: inline-flex; }
	.nh-filters {
		position: fixed; top: 0; bottom: 0; left: 0; z-index: 9991; width: min(360px, 88vw); overflow-y: auto; overscroll-behavior: contain;
		background: #fff; padding: 0 20px 90px; box-shadow: 20px 0 50px rgba(15,30,51,.2);
		transform: translateX(-105%); transition: transform .25s ease; visibility: hidden;
	}
	.nh-filters.is-open { transform: none; visibility: visible; }
	.nh-filters__head { display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 2; background: #fff; padding: 16px 0 12px; margin-bottom: 12px; border-bottom: 1px solid var(--nh-line); font-size: 18px; }
	.nh-filters__x { width: 40px; height: 40px; border: 0; background: var(--nh-mist); border-radius: 50%; font-size: 24px; line-height: 1; cursor: pointer; }
	.nh-filters__foot { display: block; position: fixed; left: 0; bottom: 0; width: inherit; box-sizing: border-box; padding: 12px 20px; background: #fff; border-top: 1px solid var(--nh-line); }
	.nh-filters__foot .nh-btn { width: 100%; }
	.nh-filters__scrim:not([hidden]) { position: fixed; inset: 0; z-index: 9990; background: rgba(15,30,51,.45); }
	.nh-filters .nh-f__opt a, .nh-filters .nh-f__tree a { padding: 8px 0; }
}
@media (max-width: 767px) {
	.nh-toolbar { gap: 10px; }
	.nh-toolbar__count { order: 3; flex-basis: 100%; font-size: 13px; }
	.nh-toolbar__right { margin-left: auto; }
	.nh-toolbar__right .woocommerce-ordering select { max-width: 150px; }
	html.nh-view-list ul.products.nh-results li.product { grid-template-columns: 120px minmax(0, 1fr); column-gap: 14px; padding: 16px 0 !important; }
	html.nh-view-list ul.products.nh-results li.product .nhr-heart--card { top: 6px !important; right: 6px !important; transform: scale(.85); }
	html.nh-view-list ul.products.nh-results .nh-card__over { display: none; }
	html.nh-view-list ul.products.nh-results li.product .woocommerce-loop-product__title { font-size: 15px; }
	html.nh-view-list ul.products.nh-results li.product .price { font-size: 19px; }
	html.nh-view-list ul.products.nh-results .nh-card-desc { display: none; }
	html.nh-view-list ul.products.nh-results li.product .onsale, html.nh-view-list ul.products.nh-results li.product .nh-badge { top: 6px; left: 6px; transform: scale(.85); transform-origin: left top; }
}
.nh-price__range::after { content: ""; position: absolute; top: 9px; height: 4px; border-radius: 4px; left: var(--a, 0%); right: calc(100% - var(--z, 100%)); background: var(--nh-blue); }
.nh-price__range input { z-index: 1; }

/* --- Ficha: Ofertas en productos relacionados ----------------------------- */
.nh-deals { --deal-n: 7; --deal-gap: 18px; margin: 8px 0 40px; padding-top: 22px; border-top: 1px solid var(--nh-line); }
.nh-deals__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.nh-deals__head h2 { margin: 0; font-size: clamp(21px, 2vw, 26px); }
.nh-deals__page { font-size: 14px; color: var(--nh-muted); white-space: nowrap; }
.nh-deals__wrap { position: relative; padding: 0 56px; }
.nh-deals__track { list-style: none; margin: 0; padding: 2px 0 6px; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--deal-n) - 1) * var(--deal-gap)) / var(--deal-n)); column-gap: var(--deal-gap); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.nh-deals__track::-webkit-scrollbar { display: none; }
.nh-deal { scroll-snap-align: start; display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: 13px; line-height: 1.4; }
.nh-deal__img { display: grid; place-items: center; aspect-ratio: 1; margin-bottom: 6px; border-radius: 14px; background: var(--nh-mist); overflow: hidden; }
.nh-deal__img img { width: 100%; height: 100%; object-fit: contain; padding: 8%; box-sizing: border-box; mix-blend-mode: multiply; transition: transform .3s; }
.nh-deal__img:hover img { transform: scale(1.04); }
.nh-deal__name { color: var(--nh-blue); text-decoration: none; font-size: 14.5px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nh-deal__name:hover { color: var(--nh-orange-dark); text-decoration: underline; }
.nh-deal__rate { display: flex; align-items: center; gap: 6px; }
.nh-deal__rate .star-rating { margin: 0; font-size: 13px; color: #F5A623; }
.nh-deal__rate > span { color: var(--nh-blue); font-size: 13.5px; }
.nh-deal__flash { align-self: flex-start; padding: 3px 8px; border-radius: 4px; background: #CC0C39; color: #fff; font-size: 12px; font-weight: 700; }
.nh-deal__price { display: flex; align-items: flex-start; gap: 8px; margin-top: 2px; }
.nh-deal__pct { color: #CC0C39; font-size: 20px; font-weight: 400; line-height: 1.1; }
.nh-px { display: inline-flex; align-items: flex-start; color: var(--nh-ink); line-height: 1; white-space: nowrap; }
.nh-px b { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
.nh-px sup { font-size: 11px; font-weight: 600; top: 0; line-height: 1.4; margin: 0 1px; }
.nh-deal__was { color: var(--nh-muted); font-size: 12.5px; }
.nh-deal__was del { color: inherit; }
.nh-deal__was del .woocommerce-Price-amount { color: inherit; }
.nh-deal__ship { color: var(--nh-ink); font-size: 12.5px; }
.nh-deals__nav { position: absolute; top: 34%; z-index: 2; width: 44px; height: 64px; display: grid; place-items: center; padding: 0; border: 1px solid #A6ADB8; border-radius: 10px; background: #fff; color: var(--nh-ink); cursor: pointer; box-shadow: 0 2px 6px rgba(15,30,51,.12); transition: background .15s, color .15s; }
.nh-deals__nav:hover:not(:disabled) { background: var(--nh-ink); border-color: var(--nh-ink); color: #fff; }
.nh-deals__nav:disabled { opacity: .35; cursor: default; }
.nh-deals__nav:focus-visible { outline: 3px solid var(--nh-orange); outline-offset: 2px; }
.nh-deals__nav--prev { left: 0; }
.nh-deals__nav--next { right: 0; }
.nh-deals[data-pages="1"] .nh-deals__nav, .nh-deals[data-pages="1"] .nh-deals__page { visibility: hidden; }
@media (max-width: 1400px) { .nh-deals { --deal-n: 6; } }
@media (max-width: 1180px) { .nh-deals { --deal-n: 5; } }
@media (max-width: 900px) { .nh-deals { --deal-n: 4; } }
@media (min-width: 1700px) { body.nh-wcols .nh-deals { --deal-n: calc(7 + var(--nh-xcols, 0)); } }
@media (max-width: 767px) {
	.nh-deals { --deal-gap: 12px; }
	.nh-deals__wrap { padding: 0; }
	.nh-deals__track { grid-auto-columns: 42%; }
	.nh-deals__nav { display: none; }
}
