.pn-shop-page {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding: 34px clamp( 20px, 2.4vw, 46px ) 40px;
}

.pn-shop-layout {
	display: grid;
	grid-template-columns: 220px minmax( 0, 1fr );
	column-gap: 40px;
	align-items: start;
	padding: 6px 0 40px;
}

.pn-shop-rail {
	grid-column: 1;
	width: 220px;
	margin: 0;
}

.pn-shop-page__head {
	margin: 0 0 28px;
	text-align: left;
}

.pn-shop-page__head .entry-title {
	margin: 0 0 8px;
	font-family: var( --pn-font-head, inherit );
	font-size: 34px;
	line-height: 1.1;
	text-align: left;
}

.pn-shop-page__head .entry-title small {
	display: block;
	margin-top: .2em;
	font: inherit;
	font-size: .52em;
	line-height: 1.15;
}

.pn-shop-filters {
	display: flex;
	position: static;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	font-family: var( --pn-font-head, inherit );
}

.pn-shop-filters__label {
	color: color-mix( in srgb, var( --pn-body-color, #16181d ) 72%, var( --pn-page-bg, #f4f1eb ) );
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.pn-shop-filters__tree {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px;
}

.pn-shop-filters__group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.pn-shop-filter {
	padding: 6px 13px;
	border: 1px solid #d9dce0;
	border-radius: 999px;
	background: #fff;
	color: #444;
	font: inherit;
	font-size: .9em;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}

.pn-shop-filter:hover {
	border-color: #1a1a1a;
}

.pn-shop-filter:focus-visible {
	outline: 2px solid var( --brand-cta-fg, #16181d );
	outline-offset: 2px;
	box-shadow: 0 0 0 4px var( --brand-accent, #57ad68 );
}

.pn-shop-filter.is-active {
	border-color: var( --brand-accent, #57ad68 );
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
}

.pn-shop-filters__children {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin-left: 12px;
}

.pn-shop-filters__children[hidden] {
	display: none;
}

.pn-shop-filter--child {
	position: relative;
	margin-left: 18px;
	padding: 5px 11px;
	font-size: .84em;
}

.pn-shop-filter--child::before {
	position: absolute;
	top: -8px;
	bottom: 50%;
	left: -14px;
	width: 10px;
	border-bottom: 2px solid #c9ced4;
	border-left: 2px solid #c9ced4;
	border-bottom-left-radius: 6px;
	content: "";
}

/* En las categorías el filtro navega: los enlaces se ven exactamente igual que
   los botones de la portada, sin el subrayado editorial del tema. */
.pn-shop-filters a.pn-shop-filter,
.pn-shop-filters a.pn-shop-filter:hover {
	display: inline-block;
	text-decoration: none;
	box-shadow: none;
}

.pn-shop-filters a.pn-shop-filter.is-active,
.pn-shop-filters a.pn-shop-filter.is-active:hover {
	color: var( --brand-cta-fg, #fff );
}

.pn-shop-main {
	grid-column: 2;
	min-width: 0;
	width: 100%;
	max-width: none;
	margin: 0;
}

.pn-shop-main .pn-shop-content > .woocommerce {
	width: 100%;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-body, Georgia, "Times New Roman", serif );
}

/* El orden de WooCommerce replica exactamente el control de /recursos/. */
.pn-shop-toolbar {
	display: flex;
	clear: both;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	margin: 0 0 18px;
}

.pn-shop-main .woocommerce-ordering {
	float: none;
	width: auto;
	margin: 0;
}

.pn-shop-main .pn-shop-order {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	color: color-mix( in srgb, var( --pn-body-color, #16181d ) 72%, var( --pn-page-bg, #f4f1eb ) );
	font-family: var( --pn-font-head, inherit );
	font-size: 13px;
	font-weight: 700;
}

.pn-shop-main .woocommerce-ordering select.orderby {
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 6px 14px;
	border: 1px solid #e4e7ec;
	border-radius: 999px;
	background: #fff;
	color: var( --pn-body-color, #16181d );
	font: inherit;
	cursor: pointer;
}

.pn-shop-main .woocommerce-ordering select.orderby:focus {
	border-color: var( --brand-accent, #57ad68 );
	outline: 2px solid var( --brand-cta-fg, #16181d );
	outline-offset: 2px;
}

/* WooCommerce asigna clases first/last antes de que el filtro oculte tarjetas.
 * Grid evita huecos visuales al filtrar sin tocar la tarjeta ni el carrito. */
.pn-shop-main .woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 28px 18px;
	clear: both;
	width: 100%;
	margin: 0;
}

.pn-shop-main .woocommerce ul.products::before,
.pn-shop-main .woocommerce ul.products::after {
	display: none;
}

.pn-shop-main .woocommerce ul.products li.product {
	display: grid;
	position: relative;
	grid-template-columns: minmax( 0, 1fr ) auto;
	grid-template-rows: auto 1fr auto;
	column-gap: 12px;
	align-items: end;
	float: none;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 12px 12px 14px;
	border: 1px solid rgba( 22, 24, 29, .07 );
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 6px 18px rgba( 16, 24, 40, .08 );
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.pn-shop-main .woocommerce ul.products li.product:hover {
	border-color: var( --brand-accent, #57ad68 );
	box-shadow: 0 12px 28px rgba( 16, 24, 40, .14 );
	transform: translateY( -3px );
}

.pn-shop-main .woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: block;
	grid-column: 1 / -1;
	grid-row: 1;
	align-self: start;
	color: var( --pn-body-color, #16181d );
	text-decoration: none;
}

.pn-shop-main .woocommerce ul.products li.product .woocommerce-LoopProduct-link:focus-visible {
	border-radius: 14px;
	outline: 2px solid var( --brand-cta-fg, #16181d );
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var( --brand-accent, #57ad68 );
}

.pn-shop-main .woocommerce ul.products li.product a img {
	width: 100%;
	margin: 0 0 16px;
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
	transition: transform .3s ease;
}

.pn-shop-main .woocommerce ul.products li.product:hover a img {
	transform: scale( 1.015 );
}

.pn-shop-main .woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 0;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 1.04rem;
	font-weight: 700;
	line-height: 1.25;
	transition: color .15s ease;
}

.pn-shop-main .woocommerce ul.products li.product .woocommerce-loop-product__title :is( b, strong ) {
	font-weight: inherit;
}

.pn-shop-main .woocommerce ul.products li.product .woocommerce-loop-product__title small {
	font: inherit;
	font-size: .82em;
}

.pn-shop-main .woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
	color: var( --pn-body-color, #16181d );
	text-decoration: underline;
	text-decoration-color: var( --brand-accent, #57ad68 );
	text-decoration-thickness: 3px;
	text-underline-offset: 3px;
}

.pn-shop-main .woocommerce ul.products li.product .price {
	display: block;
	grid-column: 1;
	grid-row: 3;
	align-self: center;
	min-width: 0;
	margin: 12px 0 0;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: .94rem;
	font-weight: 700;
	line-height: 1.3;
}

.pn-shop-main .woocommerce ul.products li.product .price .pn-shop-price-from,
body.woocommerce-page .woocommerce ul.products li.product .price .pn-shop-price-from {
	display: block;
	margin-bottom: 1px;
	font: inherit;
	font-size: .72em;
	font-weight: 600;
	line-height: 1;
}

.pn-shop-main .woocommerce ul.products li.product .price :is( del, ins ) {
	color: inherit;
	font-weight: inherit;
	text-decoration-thickness: 1px;
}

.pn-shop-main .woocommerce ul.products li.product .price .woocommerce-price-suffix {
	display: block;
	margin-top: 3px;
	color: color-mix( in srgb, var( --pn-body-color, #16181d ) 72%, var( --pn-page-bg, #f4f1eb ) );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: .75rem;
	font-weight: 600;
}

.pn-shop-main .woocommerce ul.products li.product .button {
	display: inline-flex;
	grid-column: 2;
	grid-row: 3;
	align-items: center;
	justify-content: center;
	align-self: center;
	justify-self: end;
	min-height: 42px;
	box-sizing: border-box;
	margin: 12px 0 0;
	padding: 9px 16px;
	border: 2px solid var( --brand-accent, #57ad68 );
	border-radius: 999px;
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.pn-shop-main .woocommerce ul.products li.product.pn-shop-product--no-price > .button {
	grid-column: 1 / -1;
	justify-self: center;
}

.pn-shop-main .woocommerce ul.products li.product .button:hover,
.pn-shop-main .woocommerce ul.products li.product .button:focus-visible {
	background: var( --brand-cta-fg, #fff );
	color: var( --brand-accent, #57ad68 );
	box-shadow: 0 9px 20px rgba( 16, 24, 40, .16 );
	transform: translateY( -2px );
}

.pn-shop-main .woocommerce ul.products li.product .button:focus-visible {
	outline: 2px solid var( --brand-cta-fg, #16181d );
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var( --brand-accent, #57ad68 );
}

.pn-shop-main .woocommerce ul.products li.product .added_to_cart {
	grid-column: 1 / -1;
	justify-self: end;
	margin-top: 9px;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: .78rem;
	font-weight: 700;
}

.pn-shop-main .woocommerce ul.products li.product .added_to_cart:hover {
	color: var( --pn-body-color, #16181d );
	text-decoration: underline;
	text-decoration-color: var( --brand-accent, #57ad68 );
	text-decoration-thickness: 3px;
	text-underline-offset: 3px;
}

.pn-shop-main .woocommerce span.onsale {
	min-width: 0;
	min-height: 0;
	padding: 7px 11px;
	border-radius: 999px;
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: .72rem;
	font-weight: 700;
	line-height: 1;
}

.pn-shop-main .woocommerce .star-rating,
.pn-shop-main .woocommerce .star-rating::before {
	color: var( --pn-body-color, #16181d );
	text-shadow: 0 1px 0 var( --brand-accent, #57ad68 );
}

.pn-shop-main .woocommerce .star-rating span::before {
	color: var( --brand-accent, #57ad68 );
	text-shadow: 0 1px 0 var( --pn-body-color, #16181d );
}

.pn-shop-main .woocommerce-result-count {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	float: none;
	margin: 0;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-body, Georgia, "Times New Roman", serif );
}

/* Aspa que quita los filtros de categoría (gemela de .mpc-clear en /podcast/). */
.pn-shop-main .pn-shop-clear {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 1px solid var( --brand-accent, #57ad68 );
	border-radius: 999px;
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	transition: border-color .15s, background .15s, color .15s;
}

.pn-shop-main .pn-shop-clear:hover {
	background: #fff;
	color: var( --pn-body-color, #16181d );
	border-color: #e4e7ec;
}

.pn-shop-main .pn-shop-clear[hidden] {
	display: none;
}

/* ==========================================================================
   WooCommerce completo — todos los componentes heredan el lenguaje visual de
   Pau Ninja sin alterar la lógica de carrito, variaciones ni pasarelas.
   ========================================================================== */
body.woocommerce-page {
	color: var( --pn-body-color, #16181d );
}

body.woocommerce-page .woocommerce,
body.woocommerce-page .wc-block-components-main,
body.woocommerce-page .wc-block-components-sidebar {
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-body, Georgia, "Times New Roman", serif );
}

body.woocommerce-page :is( .entry-title, .woocommerce h2, .woocommerce h3, .related > h2, .upsells > h2, .cross-sells > h2, .wc-block-components-title, .wc-block-components-checkout-step__title, .wp-block-woocommerce-cart-order-summary-heading-block, .wp-block-woocommerce-checkout-order-summary-block ) {
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
}

body.woocommerce-page article#post-0.page-wrap,
body.woocommerce-cart .page-wrap,
body.woocommerce-checkout .page-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1320px;
	padding-right: clamp( 20px, 2.4vw, 46px );
	padding-left: clamp( 20px, 2.4vw, 46px );
}

body.woocommerce-account .page-wrap {
	max-width: 920px;
}

body.single-product .pn-product .page-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1180px;
	padding-right: 20px;
	padding-left: 20px;
}

.pn-product__title {
	margin: 0 0 34px;
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: clamp( 2rem, 4vw, 3.25rem );
	line-height: 1.08;
	text-align: left;
}

body.woocommerce-page .woocommerce a:not( .button ) {
	color: var( --pn-body-color, #16181d );
}

body.woocommerce-page .woocommerce :is( input.input-text, input.qty, textarea, select ),
body.woocommerce-page :is( .wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-select .wc-block-components-select__select ) {
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 13px;
	border: 1px solid #d9dce0;
	border-radius: 12px;
	background: #fff;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
}

body.woocommerce-page .woocommerce :is( input.input-text, input.qty, textarea, select ):focus,
body.woocommerce-page :is( .wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-select .wc-block-components-select__select ):focus {
	border-color: var( --brand-accent, #57ad68 );
	outline: 2px solid var( --brand-accent, #57ad68 );
	outline-offset: 1px;
}

/* El selector de modelo conserva siempre el mismo doble borde CTA que antes
   solo aparecía al recibir foco. No afecta al orden de la tienda. */
body.single-product .pn-product .woocommerce form.variations_form table.variations select {
	border-color: var( --brand-accent, #57ad68 );
	outline: 2px solid var( --brand-accent, #57ad68 );
	outline-offset: 1px;
}

/* El zoom de la ficha está desactivado, así que NINGUNA lupa del slider de
   galería (icono propio del plugin) tiene sentido: ni la de las imágenes ni la
   de la diapositiva de vídeo (`.nfancybox-media`), que se veía al activarla.
   El vídeo se sigue reproduciendo en línea dentro del propio slider. */
body.single-product :is( span.nickx-popup, span.nickx-popup_trigger ) {
	display: none !important;
}

body.woocommerce-page .woocommerce :is( button.button, a.button, input.button, .button.alt ),
body.woocommerce-page :is( .wc-block-components-button, .wp-element-button, .wc-block-grid__product-add-to-cart a ) {
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 18px;
	border: 2px solid var( --brand-accent, #57ad68 );
	border-radius: 999px;
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

body.woocommerce-page .woocommerce :is( button.button, a.button, input.button, .button.alt ):hover,
body.woocommerce-page :is( .wc-block-components-button, .wp-element-button, .wc-block-grid__product-add-to-cart a ):hover {
	background: var( --brand-cta-fg, #fff );
	color: var( --brand-accent, #57ad68 );
	box-shadow: 0 9px 20px rgba( 16, 24, 40, .16 );
	transform: translateY( -2px );
}

/* Inversión exclusiva del CTA de compra dentro de una ficha individual. */
body.single-product .pn-product .woocommerce form.cart .single_add_to_cart_button {
	border-color: var( --brand-bg, #0a0a0a );
	background: var( --brand-bg, #0a0a0a );
	color: var( --brand-accent, #57ad68 );
}

body.single-product .pn-product .woocommerce form.cart .single_add_to_cart_button:hover,
body.single-product .pn-product .woocommerce form.cart .single_add_to_cart_button:focus-visible {
	border-color: var( --brand-accent, #57ad68 );
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #0a0a0a );
}

body.woocommerce-page .woocommerce :is( .woocommerce-message, .woocommerce-info, .woocommerce-error ),
body.woocommerce-page :is( .wc-block-components-notice-banner, .wc-block-store-notice ) {
	border-color: var( --brand-accent, #57ad68 );
	border-radius: 14px;
	background: color-mix( in srgb, var( --pn-page-bg, #f4f1eb ) 58%, #fff );
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-body, Georgia, "Times New Roman", serif );
}

body.woocommerce-page .woocommerce :is( .woocommerce-message, .woocommerce-info, .woocommerce-error )::before {
	color: var( --brand-accent, #57ad68 );
}

body.woocommerce-page .woocommerce :is( table.shop_table, .woocommerce-orders-table, .woocommerce-table ) {
	overflow: hidden;
	border: 1px solid rgba( 22, 24, 29, .1 );
	border-radius: 16px;
	background: #fff;
}

body.woocommerce-page .woocommerce :is( table.shop_table, .woocommerce-orders-table, .woocommerce-table ) th {
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
}

body.woocommerce-page .woocommerce form.login,
body.woocommerce-page .woocommerce form.register,
body.woocommerce-page .woocommerce form.checkout_coupon,
body.woocommerce-page .woocommerce form.lost_reset_password {
	padding: clamp( 20px, 4vw, 34px );
	border: 1px solid rgba( 22, 24, 29, .08 );
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba( 16, 24, 40, .08 );
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: inline-flex;
	padding: 7px 13px;
	border: 1px solid #d9dce0;
	border-radius: 999px;
	background: #fff;
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: .9rem;
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	border-color: var( --brand-accent, #57ad68 );
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
}

/* Archivo de categorías y productos relacionados: mismas tarjetas Pau Ninja. */
body.woocommerce-page article#post-0 .woocommerce ul.products,
.pn-product .woocommerce :is( .related, .upsells ) ul.products {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 28px 18px;
	clear: both;
	width: 100%;
	margin: 24px 0 0;
}

body.woocommerce-page article#post-0 .woocommerce ul.products::before,
body.woocommerce-page article#post-0 .woocommerce ul.products::after,
.pn-product .woocommerce :is( .related, .upsells ) ul.products::before,
.pn-product .woocommerce :is( .related, .upsells ) ul.products::after {
	display: none;
}

body.woocommerce-page article#post-0 .woocommerce ul.products li.product,
.pn-product .woocommerce :is( .related, .upsells ) ul.products li.product,
body.woocommerce-page .wc-block-grid__product {
	float: none;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 12px 12px 14px;
	border: 1px solid rgba( 22, 24, 29, .07 );
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 6px 18px rgba( 16, 24, 40, .08 );
}

body.woocommerce-page .woocommerce ul.products li.product {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	grid-template-rows: auto 1fr auto;
	column-gap: 12px;
	align-items: end;
}

body.woocommerce-page .woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: block;
	grid-column: 1 / -1;
	grid-row: 1;
	align-self: start;
	color: var( --pn-body-color, #16181d );
	text-decoration: none;
}

/* El resaltado editorial de enlaces no pertenece a las tarjetas relacionadas. */
.pn-product .woocommerce :is( .related, .upsells ) ul.products li.product .woocommerce-LoopProduct-link,
.pn-product .woocommerce :is( .related, .upsells ) ul.products li.product .woocommerce-LoopProduct-link:hover,
.pn-product .woocommerce :is( .related, .upsells ) ul.products li.product .woocommerce-LoopProduct-link:focus-visible {
	text-decoration: none;
	box-shadow: none;
}

.pn-product .woocommerce :is( .related, .upsells ) ul.products li.product .woocommerce-LoopProduct-link:focus-visible {
	outline: 2px solid var( --brand-accent, #57ad68 );
	outline-offset: 3px;
}

body.woocommerce-page .woocommerce ul.products li.product > .price {
	display: block;
	grid-column: 1;
	grid-row: 3;
	align-self: center;
	min-width: 0;
	margin: 12px 0 0;
}

body.woocommerce-page .woocommerce ul.products li.product > .button {
	display: inline-flex;
	grid-column: 2;
	grid-row: 3;
	align-items: center;
	justify-content: center;
	align-self: center;
	justify-self: end;
	margin: 12px 0 0;
}

body.woocommerce-page .woocommerce ul.products li.product.pn-shop-product--no-price > .button {
	grid-column: 1 / -1;
	justify-self: center;
}

/* La nota fiscal pertenece a la ficha individual, nunca a una tarjeta/lista. */
body.woocommerce-page .woocommerce ul.products .woocommerce-price-suffix,
body.woocommerce-page .wc-block-grid__product-price .woocommerce-price-suffix {
	display: none;
}

body.woocommerce-page article#post-0 .woocommerce ul.products li.product img,
.pn-product .woocommerce :is( .related, .upsells ) ul.products li.product img,
body.woocommerce-page .wc-block-grid__product-image img {
	border-radius: 14px;
}

body.woocommerce-page article#post-0 .woocommerce ul.products li.product :is( .woocommerce-loop-product__title, .price ),
.pn-product .woocommerce :is( .related, .upsells ) ul.products li.product :is( .woocommerce-loop-product__title, .price ),
body.woocommerce-page .wc-block-grid__product :is( .wc-block-grid__product-title, .wc-block-grid__product-price ) {
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-weight: 700;
}

/* Ficha individual. */
.pn-product .woocommerce div.product .summary,
.pn-product .woocommerce div.product div.images {
	margin-bottom: 42px;
}

.pn-product .woocommerce div.product div.images img {
	border-radius: 18px;
}

.pn-product .woocommerce-product-details__short-description,
.pn-product .woocommerce-tabs .panel {
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-body, Georgia, "Times New Roman", serif );
	line-height: 1.62;
}

.pn-product .woocommerce-product-details__short-description :is( ul, ol ) {
	padding-left: 1.45em;
}

.pn-product .woocommerce-product-details__short-description li::marker,
.pn-product .woocommerce-tabs .panel li::marker {
	color: var( --brand-accent, #57ad68 );
}

.pn-product .woocommerce form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.pn-product .woocommerce form.cart .quantity {
	float: none;
	margin: 0;
}

/* Fichas con tramos de cantidad (WooCommerce Quantity Manager): cajas
   redondeadas, de igual alto y centradas, con el CTA en su propia línea. */
.pn-product .woocommerce form.cart:has( .wqm-qty-wrapper ) {
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

.pn-product .woocommerce form.cart .wqm-qty-wrapper {
	width: 100%;
	/* El gap del formulario ya separa los bloques: los márgenes propios del
	   plugin solo añadían hueco muerto sobre y bajo las cajas. */
	margin-block: 0;
}

.pn-product .woocommerce form.cart .wqm-qty-label {
	text-align: center;
}

.pn-product .woocommerce form.cart .wqm-qty-dyo {
	box-sizing: border-box;
	width: 100%;
	max-width: 520px;
	margin: 0 auto;
}

.pn-product .woocommerce form.cart .wqm-swatch {
	justify-content: stretch;
}

.pn-product .woocommerce form.cart .wqm-swatch .wqm-inner {
	height: 100%;
	border-radius: 14px;
}

/* Contador de unidades (−/+) en la misma línea que el CTA, como en pau.ninja.
   El envoltorio .pn-cart-row lo añade inc/shop-filters.php. */
.pn-product .woocommerce form.cart .pn-cart-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.pn-product .woocommerce form.cart .pn-cart-row .quantity {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0 5px;
	border: 2px solid var( --brand-accent, #57ad68 );
	border-radius: 999px;
	background: #fff;
}

.pn-product .woocommerce form.cart .pn-qty-btn {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var( --brand-accent, #57ad68 );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease;
}

.pn-product .woocommerce form.cart .pn-qty-btn:hover {
	background: color-mix( in srgb, var( --brand-accent, #57ad68 ) 16%, #fff );
}

.pn-product .woocommerce form.cart .pn-cart-row .qty {
	width: 46px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var( --brand-accent, #57ad68 );
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.pn-product .woocommerce form.cart .pn-cart-row .qty::-webkit-outer-spin-button,
.pn-product .woocommerce form.cart .pn-cart-row .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* El anillo de foco de la tienda se conserva para el teclado; solo se retira
   cuando el foco llega con el ratón. */
.pn-product .woocommerce form.cart .pn-cart-row .qty:focus:not( :focus-visible ) {
	outline: none;
}

/* Productos de unidad única (o cuyos tramos gobiernan la cantidad): el campo
   llega oculto, así que ni la caja ni los botones deben dibujarse. */
.pn-product .woocommerce form.cart .quantity:has( input[type="hidden"] ) {
	display: contents;
}

.pn-product .woocommerce form.cart .quantity:has( input[type="hidden"] ) .pn-qty-btn {
	display: none;
}

/* Contenedores auxiliares del plugin que llegan vacíos (config de tramos y
   tabla de precios): sin contenido no deben consumir el gap del formulario. */
.pn-product .woocommerce form.cart > .wqm-config:empty,
.pn-product .woocommerce form.cart > .wqm-pricing-table-wrapper:empty {
	display: none;
}

/* El SKU es dato interno: no se muestra al visitante. Sigue disponible para
   WooCommerce y los datos estructurados. */
.pn-product .woocommerce div.product .product_meta .sku_wrapper {
	display: none;
}

/* La categoría cierra el contenido, en la misma columna editorial que las
   pestañas, justo antes de los productos relacionados. */
.pn-product .woocommerce div.product .product_meta {
	box-sizing: border-box;
	width: 100%;
	max-width: 768px;
	margin: 0 auto clamp( 26px, 4vw, 44px );
	padding: 0 24px;
}

@media ( max-width: 600px ) {
	.pn-product .woocommerce div.product .product_meta {
		padding-right: 16px;
		padding-left: 16px;
	}
}

.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}

/* Las etiquetas de pestaña son navegación, no enlaces editoriales subrayados. */
.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs li a,
.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
	text-decoration: none;
	box-shadow: none;
}

.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
	outline: 2px solid var( --brand-accent, #57ad68 );
	outline-offset: 3px;
}

/* Las pestañas y su panel forman una única columna editorial centrada,
   con la misma anchura que el cuerpo de una entrada del blog. */
.pn-product .woocommerce div.product .woocommerce-tabs {
	box-sizing: border-box;
	width: 100%;
	max-width: 768px;
	margin-right: auto;
	margin-left: auto;
}

.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-color: #d9dce0;
}

.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-color: #d9dce0;
	border-radius: 12px 12px 0 0;
	background: #fff;
}

.pn-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: #fff;
	background: #fff;
}

.pn-product .woocommerce div.product .woocommerce-tabs .panel {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0 auto 2em;
	padding: clamp( 18px, 3vw, 30px ) 24px;
	border-radius: 0;
	background: transparent;
}

@media ( max-width: 600px ) {
	.pn-product .woocommerce div.product .woocommerce-tabs .panel {
		padding-right: 16px;
		padding-left: 16px;
	}
}

/* En categorías, el catálogo va primero y el texto editorial termina la
   página con la misma columna centrada que la descripción de un producto. */
.pn-shop-page--category .pn-shop-content > .term-description {
	box-sizing: border-box;
	width: 100%;
	max-width: 768px;
	margin: clamp( 42px, 6vw, 72px ) auto 0;
	padding: clamp( 18px, 3vw, 30px ) 24px;
}

@media ( max-width: 600px ) {
	.pn-shop-page--category .pn-shop-content > .term-description {
		padding-right: 16px;
		padding-left: 16px;
	}
}

/* Carrito y checkout de bloques. */
body.woocommerce-page :is( .wc-block-cart-items, .wc-block-components-order-summary, .wc-block-cart__totals-title, .wc-block-components-sidebar-layout .wc-block-components-sidebar ) {
	border-color: rgba( 22, 24, 29, .1 );
	border-radius: 16px;
}

body.woocommerce-page :is( .wc-block-components-order-summary, .wc-block-components-sidebar-layout .wc-block-components-sidebar ) {
	background: #fff;
}

body.woocommerce-page :is( .wc-block-components-product-name, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-grid__product-title ) {
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-weight: 700;
}

.pn-shop-main .woocommerce :is( .woocommerce-message, .woocommerce-info, .woocommerce-error ) {
	border-top-color: var( --brand-accent, #57ad68 );
	background: color-mix( in srgb, var( --pn-page-bg, #f4f1eb ) 58%, #fff );
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-body, Georgia, "Times New Roman", serif );
}

.pn-shop-main .woocommerce :is( .woocommerce-message, .woocommerce-info, .woocommerce-error )::before {
	color: var( --pn-body-color, #16181d );
}

.pn-shop-main .woocommerce :is( .woocommerce-message, .woocommerce-info, .woocommerce-error ) a {
	color: var( --pn-body-color, #16181d );
	text-decoration: none;
	box-shadow: 0 -7px 0 var( --brand-accent, #57ad68 ) inset;
}

.pn-shop-main .woocommerce :is( .woocommerce-message, .woocommerce-info, .woocommerce-error ) a:hover,
.pn-shop-main .woocommerce :is( .woocommerce-message, .woocommerce-info, .woocommerce-error ) a:focus-visible {
	box-shadow: 0 -1.1em 0 var( --brand-accent, #57ad68 ) inset;
}

.pn-shop-empty {
	margin: 28px 0 0;
	color: color-mix( in srgb, var( --pn-body-color, #16181d ) 72%, var( --pn-page-bg, #f4f1eb ) );
	font-family: var( --pn-font-body, Georgia, "Times New Roman", serif );
}

@media ( max-width: 1279px ) {
	.pn-shop-layout {
		display: block;
	}

	.pn-shop-rail {
		width: 100%;
		max-width: 760px;
		margin: 0 auto 20px;
	}
}

@media ( max-width: 1160px ) {
	.pn-shop-main .woocommerce ul.products,
	body.woocommerce-page article#post-0 .woocommerce ul.products,
	.pn-product .woocommerce :is( .related, .upsells ) ul.products {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 900px ) {
	.pn-shop-main .woocommerce ul.products,
	body.woocommerce-page article#post-0 .woocommerce ul.products,
	.pn-product .woocommerce :is( .related, .upsells ) ul.products {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 480px ) {
	.pn-shop-main .woocommerce ul.products,
	body.woocommerce-page article#post-0 .woocommerce ul.products,
	.pn-product .woocommerce :is( .related, .upsells ) ul.products {
		grid-template-columns: 1fr;
	}
}

@media ( max-width: 560px ) {
	.pn-shop-page__head .entry-title {
		font-size: 27px;
	}

	/* Recuento a la izquierda y orden a la derecha, con su etiqueta encima. */
	.pn-shop-toolbar {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: 12px;
		text-align: left;
	}

	.pn-shop-main .woocommerce-result-count {
		flex: 1 1 auto;
		order: 1;
		min-width: 0;
	}

	.pn-shop-main .woocommerce-ordering {
		flex: 0 0 auto;
		float: none;
		order: 2;
		width: auto;
		margin: 0;
	}

	.pn-shop-main .pn-shop-order {
		display: inline-flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 4px;
		width: auto;
	}

	.pn-shop-main .woocommerce-ordering select.orderby {
		width: auto;
		max-width: min( 100%, 200px );
	}

	body.woocommerce-page .woocommerce :is( table.shop_table, .woocommerce-orders-table, .woocommerce-table ) {
		display: block;
		overflow-x: auto;
	}
}

@media ( forced-colors: active ) {
	.pn-shop-filter:focus-visible,
	.pn-shop-main .woocommerce-ordering select.orderby:focus,
	.pn-shop-main .woocommerce ul.products li.product .woocommerce-LoopProduct-link:focus-visible,
	.pn-shop-main .woocommerce ul.products li.product .button:focus-visible {
		outline-color: CanvasText;
		box-shadow: none;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.pn-shop-filter,
	.pn-shop-main .woocommerce ul.products li.product,
	.pn-shop-main .woocommerce ul.products li.product a img,
	.pn-shop-main .woocommerce ul.products li.product .woocommerce-loop-product__title,
	.pn-shop-main .woocommerce ul.products li.product .button {
		transition-duration: .01ms;
	}

	.pn-shop-main .woocommerce ul.products li.product:hover,
	.pn-shop-main .woocommerce ul.products li.product:hover a img,
	.pn-shop-main .woocommerce ul.products li.product .button:hover,
	.pn-shop-main .woocommerce ul.products li.product .button:focus-visible {
		transform: none;
	}
}

/* ==========================================================================
   Carrito en el topbar (.pn-topcart) — icono junto a la lupa + desplegable.
   Solo se imprime en pantallas WooCommerce (ver inc/shop-filters.php).
   ========================================================================== */
.pn-topcart {
	position: relative;
	display: inline-flex;
	align-items: center;
}

/* Con dos iconos (carrito + lupa) el bloque absoluto de acciones es más ancho:
   reservamos su hueco para que no pise el menú derecho en anchos medios. */
@media ( min-width: 601px ) {
	.site-topbar__right {
		padding-right: 96px;
	}
}

.pn-topcart__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	background: none;
	color: #fff;
	cursor: pointer;
}

.pn-topcart__toggle svg {
	width: 22px;
	height: 22px;
}

.pn-topcart__toggle:hover,
.pn-topcart.is-open .pn-topcart__toggle {
	color: var( --brand-accent, #57ad68 );
}

.pn-topcart__count {
	position: absolute;
	top: 2px;
	right: 0;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	box-sizing: border-box;
	border-radius: 999px;
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 11px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
}

.pn-topcart__count.is-empty {
	display: none;
}

/* Desplegable: tarjeta blanca con el mini-carrito nativo de WooCommerce. */
.pn-topcart__drop {
	position: absolute;
	top: calc( 100% + 12px );
	right: -6px;
	z-index: 1200;
	display: none;
	width: min( 370px, calc( 100vw - 24px ) );
	padding: 20px;
	border-radius: 14px;
	background: #fff;
	color: var( --pn-body-color, #16181d );
	box-shadow: 0 14px 34px rgba( 16, 24, 40, .22 );
	text-align: left;
}

.pn-topcart.is-open .pn-topcart__drop {
	display: block;
}

.pn-topcart__drop .woocommerce-mini-cart {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	max-height: 300px;
	overflow-y: auto;
}

/* Fila clásica de mini-carrito: miniatura izquierda, nombre + cantidad al
   lado, aspa a la derecha. La imagen vive DENTRO del enlace del producto en
   el markup nativo de Woo, así que el enlace es una sub-rejilla propia. */
.pn-topcart__drop .woocommerce-mini-cart-item {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) 24px;
	grid-template-rows: auto auto;
	column-gap: 12px;
	row-gap: 4px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #edeff2;
}

.pn-topcart__drop .woocommerce-mini-cart-item > a:not( .remove_from_cart_button ) {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	grid-template-columns: 48px minmax( 0, 1fr );
	column-gap: 12px;
	align-items: center;
	min-width: 0;
	overflow-wrap: anywhere;
}

.pn-topcart__drop .woocommerce-mini-cart-item a {
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.35;
}

.pn-topcart__drop .woocommerce-mini-cart-item a:hover {
	color: var( --brand-accent, #57ad68 );
}

/* Más específico que `.woocommerce ul.cart_list li img` (Woo la fija a 32px). */
.pn-topcart__drop .woocommerce-mini-cart .woocommerce-mini-cart-item img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 8px;
	margin: 0;
	float: none;
}

.pn-topcart__drop .woocommerce-mini-cart-item .remove_from_cart_button {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	width: 24px;
	height: 24px;
	line-height: 22px;
	border-radius: 999px;
	text-align: center;
	color: #8a9099;
	font-size: 18px;
	font-weight: 400;
}

.pn-topcart__drop .woocommerce-mini-cart-item .remove_from_cart_button:hover {
	color: #fff;
	background: #d9534f;
}

.pn-topcart__drop .quantity {
	grid-column: 1;
	grid-row: 2;
	margin: 0 0 0 60px; /* 48px de miniatura + 12px de hueco: alinea bajo el nombre. */
	white-space: nowrap;
	color: #6b7280;
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 14px;
}

.pn-topcart__drop .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0 0 14px;
	padding-top: 4px;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 15px;
}

.pn-topcart__drop .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}

.pn-topcart__drop .woocommerce-mini-cart__buttons .button {
	box-sizing: border-box;
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 18px;
	border: 2px solid var( --brand-accent, #57ad68 );
	border-radius: 999px;
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.pn-topcart__drop .woocommerce-mini-cart__buttons .button:hover {
	background: #fff;
	color: var( --brand-accent, #57ad68 );
}

.pn-topcart__drop .woocommerce-mini-cart__buttons .button.checkout {
	border-color: var( --brand-bg, #0a0a0a );
	background: var( --brand-bg, #0a0a0a );
	color: var( --brand-accent, #57ad68 );
}

.pn-topcart__drop .woocommerce-mini-cart__buttons .button.checkout:hover {
	border-color: var( --brand-accent, #57ad68 );
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
}

.pn-topcart__drop .woocommerce-mini-cart__empty-message {
	margin: 4px 0;
	color: #6b7280;
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 14px;
	text-align: center;
}

/* ==========================================================================
   Aviso «Sin existencias» — formulario del plugin Back In Stock Notifier
   (.cwginstock-subscribe-form) reestilizado con la identidad del sitio:
   fuera el azul Bootstrap, dentro tarjeta clara + botón píldora de la marca.
   ========================================================================== */
.pn-product .cwginstock-subscribe-form {
	margin: 18px 0 6px;
}

.pn-product .cwginstock-subscribe-form .panel.cwginstock-panel-primary {
	border: 1px solid #e4e7ec;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 6px 18px rgba( 16, 24, 40, .08 );
	overflow: hidden;
}

/* !important: el Bootstrap del plugin carga después y repinta la cabecera. */
.pn-product .cwginstock-subscribe-form .cwginstock-panel-heading {
	background: var( --brand-bg, #0a0a0a ) !important;
	border: 0 !important;
	padding: 14px 18px;
}

/* Neutraliza la rejilla Bootstrap (.row con márgenes negativos) dentro de la
   tarjeta: sin esto los campos y el botón se salen del borde derecho. */
.pn-product .cwginstock-subscribe-form .row {
	margin-left: 0;
	margin-right: 0;
}

.pn-product .cwginstock-subscribe-form [class*="col-"] {
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.pn-product .cwginstock-subscribe-form .cwginstock-panel-heading h4 {
	margin: 0;
	color: #fff;
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

.pn-product .cwginstock-subscribe-form .cwginstock-panel-body {
	padding: 18px;
}

.pn-product .cwginstock-subscribe-form .cwginstock-panel-body .form-group {
	margin-bottom: 12px;
}

.pn-product .cwginstock-subscribe-form input.cwgstock_name,
.pn-product .cwginstock-subscribe-form input.cwgstock_email {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid #d9dce0;
	border-radius: 999px;
	background: #fff;
	color: var( --pn-body-color, #16181d );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 14px;
	text-align: center;
}

.pn-product .cwginstock-subscribe-form input.cwgstock_name:focus,
.pn-product .cwginstock-subscribe-form input.cwgstock_email:focus {
	outline: none;
	border-color: var( --brand-accent, #57ad68 );
	box-shadow: 0 0 0 3px color-mix( in srgb, var( --brand-accent, #57ad68 ) 25%, transparent );
}

.pn-product .cwginstock-subscribe-form .cwgstock_button {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 10px 18px;
	border: 2px solid var( --brand-accent, #57ad68 );
	border-radius: 999px;
	background: var( --brand-accent, #57ad68 );
	color: var( --brand-cta-fg, #fff );
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}

.pn-product .cwginstock-subscribe-form .cwgstock_button:hover {
	background: #fff;
	color: var( --brand-accent, #57ad68 );
}

.pn-product .cwginstock-subscribe-form .cwgstock_iagree_div,
.pn-product .cwginstock-subscribe-form .cwgstock_iagree_div label {
	color: #6b7280;
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 13px;
	text-align: center;
}

.pn-product .cwginstock-subscribe-form .cwginstock-success,
.pn-product .cwginstock-subscribe-form .cwginstock-error,
.pn-product .cwginstock-subscribe-form .cwg-alert {
	border-radius: 10px;
	font-family: var( --pn-font-head, "Montserrat", Helvetica, Arial, sans-serif );
	font-size: 14px;
	text-align: center;
}
