/*
Theme Name: Penetrit

WooCommerce styles override
*/

/**
 * Shop tables
 */
table.shop_table_responsive thead {
	display: none;
}

table.shop_table_responsive tbody th {
	display: none;
}

table.shop_table_responsive tr td {
	display: block;
	text-align: right;
	clear: both;
}

table.shop_table_responsive tr td::before {
	content: attr(data-title) ": ";
	float: left;
}

table.shop_table_responsive tr td.product-remove a {
	text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
	display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
	display: none;
}

table.shop_table_responsive tr td.download-actions .button {
	display: block;
	text-align: center;
}

@media screen and (min-width: 768px) {

	table.shop_table_responsive thead {
		display: table-header-group;
	}

	table.shop_table_responsive tbody th {
		display: table-cell;
	}

	table.shop_table_responsive tr th,
	table.shop_table_responsive tr td {
		text-align: left;
	}

	table.shop_table_responsive tr td {
		display: table-cell;
	}

	table.shop_table_responsive tr td::before {
		display: none;
	}
}

/**
 * Products
 */
ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1rem;
	margin: 2rem 0!important;
	padding: 0;
}

ul.products li.product,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product {
	display: flex;
	flex-direction: column;
	list-style: none;
	position: relative;
	margin: 0!important;
	text-align: center;
	box-shadow: none!important;
	padding: 0.5rem!important;
}

ul.products li.product {
	width: 100%!important;
}

ul.products li.product .onsale,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product .wp-block-woocommerce-product-sale-badge > div {
	position: absolute;
	right: 1rem !important;
	top: 1rem !important;
	background-color: var(--color-primary) !important;
	color: white !important;
	font-weight: 600;
	padding: 0.4rem 0.7rem;
	border: none !important;
	border-radius: 0 !important;
	font-size: 0.8rem;
}

ul.products li.product .penetrit-out-of-stock-badge {
	left: 1rem !important;
	right: auto !important;
	background-color: #111 !important;
	color: #fff !important;
}

.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product .penetrit-out-of-stock-badge {
	left: 1rem !important;
	right: auto !important;
	background-color: #111 !important;
	color: #fff !important;
}

ul.products li.product a,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product a {
	display: flex;
	flex-direction: column;
	align-items: center;
}
ul.products li.product a:first-child,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product a:first-child {
	flex-grow: 1;
	overflow: hidden;
}

ul.products li.product h2,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product h2 {
	font-size: 0.8rem !important;
	font-weight: 400;
	margin-bottom: 0.2rem !important;
	min-height: 2rem;
}

ul.products li.product img,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product img {
	border: 2px solid var(--color-ligth-gray);
	padding: 0.3rem;
	display: block;
	width: 100%;
	transition: transform 0.4s ease;
}

/* When the JS wrapper is present it carries the border — remove it from the img. */
.product .penetrit-img-wrapper img {
	border: none;
}

/* Wrapper created by JS: provides overflow clip and contains the border.
 * The border lives here so it is never affected by the inner scale transform. */
.penetrit-img-wrapper {
	width: 100%;
	position: relative;
	z-index: 2;
	display: grid;
	overflow: hidden;
	line-height: 0;
	border: 2px solid var(--color-ligth-gray);
	box-sizing: border-box;
}

.penetrit-img-wrapper > img {
	grid-area: 1 / 1;
}

/* Keep hover image at the same size as the base image (crossfade only). */
ul.products li.product:hover .penetrit-img-wrapper img,
ul.products li.product:hover .penetrit-img-wrapper .penetrit-hover-overlay,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product:hover .penetrit-img-wrapper img,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product:hover .penetrit-img-wrapper .penetrit-hover-overlay {
	transform: scale(1);
}

/* Overlay img for crossfade — starts transparent, fades in on hover */
.penetrit-hover-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
	opacity: 0;
	transition: opacity 0.4s ease, transform 0.4s ease;
	pointer-events: none;
	padding: 0.3rem;
	box-sizing: border-box;
}

.product img[data-hover-image] {
	cursor: pointer;
}

.wp-block-woocommerce-product-collection .wc-block-components-product-image-link {
	position: relative;
}

.wp-block-woocommerce-product-collection .wc-block-components-product-image a {
	display: block;
	position: relative;
}

.wp-block-woocommerce-product-collection .wc-block-components-product-image__inner-container {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

/* Keep the product collection as a horizontal carousel while allowing
 * card internals to match the classic product grid appearance. */
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	align-items: stretch;
}

.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product {
	width: calc((100% - 3rem) / 4) !important;
	flex: 0 0 calc((100% - 3rem) / 4);
	max-width: none;
	min-width: calc((100% - 3rem) / 4);
	scroll-snap-align: start;
}

.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product a:first-child {
	flex-grow: 0;
}

.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product .wp-block-woocommerce-product-price,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product .wc-block-components-product-price {
	flex-grow: 1;
}

/* Hide the default heading used by the product collection block header row. */
.wp-block-woocommerce-product-collection > .wp-block-group > h2.wp-block-heading {
	display: none;
}

/* Excepción desktop-first: el carrusel de products se achica desde escritorio.
 * Se conservan max-width intencionalmente (no son mobile-first). */
@media (max-width: 1024px) {

	.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product {
		width: calc((100% - 2rem) / 3) !important;
		flex-basis: calc((100% - 2rem) / 3);
		min-width: calc((100% - 2rem) / 3);
	}
}

@media (max-width: 768px) {

	.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product {
		width: calc((100% - 1rem) / 2) !important;
		flex-basis: calc((100% - 1rem) / 2);
		min-width: calc((100% - 1rem) / 2);
	}
}

ul.products li.product .button,
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	display: block;
	padding: 0.2rem 0.2rem;
	background-color: var(--color-primary);
	border-radius: 0;
	color: white;
	margin: 1rem 0;
	width: 100%!important;
}
ul.products li.product .button:hover, 
.wp-block-woocommerce-product-collection ul.is-product-collection-layout-carousel li.product .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover  {
	background-color: var(--color-primary-hover);
}

/**
 * Hide "View Cart" link wrapper after adding product to cart
 */
span[data-wp-bind--hidden] {
	display: none !important;
}

/* Product collection navigation buttons: match WCSP slider controls. */
.wc-block-next-previous-buttons {
	gap: 0;
}

.wc-block-next-previous-buttons .wc-block-next-previous-buttons__button {
	background: transparent;
	color: #aaa;
	border: 1px solid #aaa;
	border-radius: 0;
	width: 30px;
	height: 30px;
	min-width: 30px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 28px;
}

.wc-block-next-previous-buttons .wc-block-next-previous-buttons__button svg {
	padding: 0!important;
}

.wc-block-next-previous-buttons .wc-block-next-previous-buttons__button + .wc-block-next-previous-buttons__button {
	margin-left: 8px;
}

.wc-block-next-previous-buttons .wc-block-next-previous-buttons__button:hover,
.wc-block-next-previous-buttons .wc-block-next-previous-buttons__button:focus-visible {
	background: var(--color-primary);
	color: white;
	border-color: var(--color-primary);
	outline: none;
}

.wc-block-next-previous-buttons .wc-block-next-previous-buttons__button[aria-disabled="true"],
.wc-block-next-previous-buttons .wc-block-next-previous-buttons__button[aria-disabled="true"]:hover {
	background-color: white;
	border: 1px solid #aaa;
	color: #aaa;
	cursor: default;
}

/* Contenedor principal */
.woocommerce-pagination {
    text-align: center;
    margin: 40px 0;
}

/* Lista de números */
.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    padding: 0;
    margin: 0;
    list-style: none;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    overflow: hidden;
}

/* Cada elemento de la lista */
.woocommerce-pagination ul.page-numbers li {
    border-right: 1px solid #e2e2e2;
    margin: 0;
}

.woocommerce-pagination ul.page-numbers li:last-child {
    border-right: none;
}

/* Estilo común para links y el número actual */
.woocommerce-pagination ul.page-numbers li .page-numbers {
    display: block;
    padding: 10px 18px;
    text-decoration: none;
    color: #333;
    font-weight: 500;
    transition: all 0.3s ease;
    background: #fff;
    min-width: 45px;
}

/* Estado Hover (al pasar el mouse) */
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
    background-color: #f8f8f8;
    color: #000;
}

/* Página Actual (Current) */
.woocommerce-pagination ul.page-numbers li .current {
    background-color: var(--color-primary); 
    color: #fff;
    cursor: default;
}

/* Puntos suspensivos (...) */
.woocommerce-pagination ul.page-numbers li .dots {
    background-color: #fff;
    color: #999;
    cursor: default;
}

/* Flecha "Next" */
.woocommerce-pagination ul.page-numbers li a.next {
    font-size: 1.2em;
    line-height: 1;
}

/* Excepción desktop-first: reduce tamaño de paginación en pantallas muy pequeñas. */
@media (max-width: 480px) {
    .woocommerce-pagination ul.page-numbers li .page-numbers {
        padding: 8px 12px;
        min-width: 35px;
        font-size: 14px;
    }
}

@media screen and (min-width: 768px) {

	ul.products li.product {
		width: 30.7966666667%;
		float: left;
		margin-right: 3.8%;
	}

	ul.products li.product.first {
		clear: both;
	}

	ul.products li.product.last {
		margin-right: 0;
	}

	ul.products.columns-1 li.product {
		float: none;
		width: 100%;
	}

	ul.products.columns-2 li.product {
		width: 48.1%;
	}

	ul.products.columns-3 li.product {
		width: 30.7966666667%;
	}

	ul.products.columns-4 li.product {
		width: 22.15%;
	}

	ul.products.columns-5 li.product {
		width: 16.96%;
	}

	ul.products.columns-6 li.product {
		width: 13.4933333333%;
	}
}

/*
 * Price
 */

.price,
.apsw-price,
.wc-block-components-product-price {
	font-size: 0.95rem !important;
	text-align: left;
	font-weight: 800;
	margin-bottom: 0;
	flex-grow: 1;
	text-align: center;
}

.price ins,
.apsw-price ins,
.wc-block-components-product-price ins {
	color: var(--color-primary);
	background-color: transparent;
	display: block;
	margin: 0 !important;
}

.apsw-price del span {
	text-decoration: line-through!important;
}

/*
 * Quantity
 */

.penetrit-quantity {
	display: flex;
	flex-direction: row;
	margin: 0 2rem;
	max-width: 10rem;
	justify-self: center;
}
.penetrit-quantity .penetrit-qty-btn {
	min-width: fit-content;
	background-color: white;
	color: black;
	border: 1px solid black;
}
.penetrit-quantity .penetrit-qty-minus {
	border-right: none;
}
.penetrit-quantity .penetrit-qty-plus {
	border-left: none;
}
.penetrit-quantity input {
	width: 4rem;
	padding: 0;
	text-align: center;
	border-radius: 0;
	height: auto;
	border-left: none;
	border-right: none;
}
/* Remove native spin buttons so the number stays centered */
.penetrit-quantity input[type="number"]::-webkit-outer-spin-button,
.penetrit-quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.penetrit-quantity input[type="number"] {
    -moz-appearance: textfield; /* Firefox */
    appearance: textfield;
}
.penetrit-quantity input:focus-visible,
.penetrit-quantity input:focus {
	outline: none;
}

/**
 * Shop
 */

.penetrit-shop-header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 2rem;
}

.penetrit-shop-header .penetrit-shop-title {
	margin: 0;
}

.penetrit-shop-category-filter {
	text-align: center;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
}

.penetrit-shop-category-filter li {
	list-style: none;
	display: inline-block;
	margin: 2px;
	padding: 0;
}

.penetrit-shop-category-filter li a {
	padding: 5px 20px;
}

.penetrit-shop-category-filter li a.active,
.penetrit-shop-category-filter li a:hover {
	border: none !important;
	border-bottom: 3px solid var(--color-primary) !important;
}

.woocommerce-result-count {
	font-size: 0.9rem;
	font-weight: 600;
}

.woocommerce-ordering .orderby {
	width: fit-content;
	font-size: 0.9rem;
	padding: 0.8rem 0.5rem;
	border-radius: 0;
	border: 1px solid var(--color-middle-gray);
}

/**
 * Single product
 */

.single-product div.product {
	position: relative;
	display: grid;
	grid-template-areas:
			"image"
			"summary"
			"tabs"
			"related";
	grid-template-columns: 1fr;
	row-gap: 2rem;
	column-gap: 2rem;
	margin-top: 2rem;
}

/* Badge de oferta posicionado absolutamente sobre la imagen principal.
 * El span es hijo directo de .woocommerce-product-gallery (position: relative),
 * por lo que queda fijo mientras FlexSlider anima el wrapper interno. */
.single-product div.product .woocommerce-product-gallery .penetrit-gallery-onsale {
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	z-index: 20;
	background-color: var(--color-primary);
	color: white;
	font-weight: 600;
	font-size: 0.8rem;
	padding: 0.4rem 0.7rem;
	pointer-events: none;
}

.single-product div.product .woocommerce-product-gallery .penetrit-gallery-out-of-stock {
	position: absolute;
	top: 0.8rem;
	left: 0.8rem;
	z-index: 20;
	background-color: #111;
	color: #fff;
	font-weight: 600;
	font-size: 0.8rem;
	padding: 0.4rem 0.7rem;
	pointer-events: none;
}

.single-product div.product .woocommerce-product-gallery {
	grid-area: image;
	display: flex;
	flex-direction: row-reverse;
	align-items: stretch;
	position: relative;
	float: left;
	gap: 0.4rem;
}

.single-product div.product .woocommerce-product-gallery img {
	border: 2px solid var(--color-middle-gray);
}

/* Main viewport images fill the full gallery height */
.single-product div.product .woocommerce-product-gallery .flex-viewport img {
	height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

/* Thumbnail images use their natural height */
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	height: auto;
	width: 100%;
	object-fit: cover;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 2em;
	right: 1em;
	display: block;
	z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	flex: 1 1 auto;
	height: 100% !important; /* override FlexSlider inline style */
	min-height: 0;
	overflow: hidden;
	margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0;
	padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	cursor: pointer;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
	width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
	width: 30.7966666667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
	width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
	width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
	clear: both;
}

.stock.out-of-stock {
	color: white!important;
	background-color: black;
	text-align: center;
	padding: 0.5rem 1rem;
	font-weight: 600;
}

/* El contenedor padre es el que limita el tamaño visual */
.woocommerce-product-gallery {
    overflow: hidden !important; /* Esconde las imágenes que están "en cola" */
    position: relative;
    width: 100% !important;
}

/* El WRAPPER debe ser una fila horizontal infinita */
.woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-direction: row !important; /* Obliga a que estén una al lado de la otra */
    flex-wrap: nowrap !important;  /* Impide que bajen a la siguiente línea */
    transition: transform 0.5s ease-in-out; /* Suaviza el movimiento del slide */
    width: 100% !important; /* WooCommerce JS calculará el desplazamiento internamente */
    height: 100% !important;
}

/* Cada imagen individual debe ocupar el 100% del contenedor padre */
.woocommerce-product-gallery__image {
    min-width: 100% !important; /* Cada foto ocupa todo el ancho disponible */
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.woocommerce-product-gallery__image a {
    display: block;
    height: 100%;
}

/* Ajuste para las miniaturas abajo */
.flex-control-thumbs {
    display: flex !important;
    flex-direction: column;
    flex-wrap: wrap !important;
    padding: 0 !important;
    list-style: none !important;
}

.flex-control-thumbs li {
    width: 80px !important; /* Tamaño fijo para las miniaturas */
    flex: 0 0 auto;
}

.single-product div.product .summary {
	grid-area: summary;
	display: grid;
	grid-template-areas: "meta" "title" "short-description" "price" "add-to-cart";
	margin: 0;
}

.single-product div.product .summary .entry-title {
	grid-area: title;
	font-size: 1.6rem;
}
.single-product div.product .summary .price {
	grid-area: price;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-middle-gray);
	padding-bottom: 1rem;
	margin-bottom: 2rem;
}
.single-product div.product .summary .short-description {
	grid-area: short-description;
}
.single-product div.product .summary .product_meta {
	grid-area: meta;
}
.single-product div.product .summary .cart {
	grid-area: add-to-cart;
}


.single-product div.product .summary form.cart {
	display: flex;
	gap: 1rem;
}
.single-product div.product .summary form.cart .penetrit-quantity {
	margin: 0;
}
.single-product div.product .summary form.cart .single_add_to_cart_button {
	flex-grow: 1;
}
.single-product div.product .summary form.variations_form {
	flex-direction: column;
}
.single-product div.product .summary form.variations_form table.variations {
	margin: 0!important;
}
.single-product div.product .summary form.variations_form table.variations select {
	padding: 8px 13px;
}
.single-product div.product .summary form.variations_form table.variations a.reset_variations {
	display: none!important;
}
.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-direction: row;
	gap: 1rem;
}

.single-product div.product .summary .single_add_to_cart_button {
	background-color: var(--color-primary);
	color: white;
	border-radius: 0;
	padding: 0.5rem 1rem;
	font-weight: 600;
}

.single-product div.product .summary .product_meta {
	display: flex;
	gap: 2rem;
	font-size: 0.9rem;
	font-weight: 600;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--color-middle-gray);
}
.single-product div.product .summary .product_meta .sku,
.single-product div.product .summary .product_meta .posted_in a {
	font-weight: 400;
}

.single-product div.product .summary .price del bdi {
	vertical-align: middle;
	vertical-align: -webkit-baseline-middle;
}
.single-product div.product .summary .price ins {
	font-size: 1.4rem;
}

.single-product div.product .woocommerce-tabs {
	grid-area: tabs;
}

.single-product div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 1rem;
	border-bottom: 1px solid #ddd;
}
.woocommerce-tabs ul.tabs li a {
	padding: 1rem!important;
}

.woocommerce-tabs ul.tabs li:hover,
.woocommerce-tabs ul.tabs li.active {
	border-bottom: 2px solid var(--color-primary);
	font-weight: 600;
}
.woocommerce-tabs ul.tabs li.active a {
	color: var(--color-primary)!important;
}

.single-product div.product .related {
	grid-area: related;
}

.stock:empty::before {
	display: none;
}

.stock.in-stock {
	color: #0f834d;
}

.stock.out-of-stock {
	color: #e2401c;
}

/**
 * Cart
 */
form.woocommerce-cart-form {
	display: grid;
	grid-template-areas:
			"cart"
			"coupon"
			"totals";
	grid-template-columns: 1fr;
	column-gap: 3rem;
}
form.woocommerce-cart-form table.cart {
	grid-area: cart;
}
form.woocommerce-cart-form .cart-coupon-wrapper {
	grid-area: coupon;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
form.woocommerce-cart-form .cart-collaterals {
	grid-area: totals;
	background-color: var(--color-ligth-gray);
	padding: 1rem;
}

table.cart th.product-name,
table.penetrit-thankyou-items-table th.product-name {
	width: 45%;
}
table.cart th.product-price,
table.cart th.product-quantity,
table.cart th.product-subtotal,
table.penetrit-thankyou-items-table th.product-price,
table.penetrit-thankyou-items-table th.product-quantity,
table.penetrit-thankyou-items-table th.product-subtotal {
	text-align: center;
	width: 15%;
}
table.cart th,
table.cart td:not(.actions),
table.penetrit-thankyou-items-table th,
table.penetrit-thankyou-items-table td {
	border-bottom: 1px solid var(--color-ligth-gray);
	padding: 0.5rem 0;
}

.cart_item .product-thumbnail img,
.order_item .product-thumbnail img {
	padding: 1rem;
}

.cart_item .product-name,
.order_item .product-name {
	font-size: 0.9rem;
}
.order_item .product-quantity {
	text-align: center;
	font-size: 0.9rem;
}
.cart_item .product-price,
.order_item .product-price {
	text-align: center;
	font-weight: 600;
	font-size: 0.9rem;
}

.cart_item .product-subtotal,
.order_item .product-subtotal {
	text-align: center;
	font-weight: 600;
	font-size: 0.9rem;
}
.cart_item .product-remove a {
	padding: 0.7rem 1rem;
	background-color: black;
	color: white;
	font-weight: 600;
	font-size: 0.9rem;
}
.cart_item .product-remove a:hover {
	background-color: var(--color-gray);
}


table.cart .actions button {
	float: right;
	font-size: 0.9rem;
	margin-top: 0.5rem;
}

form.woocommerce-cart-form .cart-coupon-wrapper label {
	font-weight: 600;
}
form.woocommerce-cart-form .cart-coupon-wrapper .coupon {
	display: flex;
	flex-direction: row;
	margin-top: 0.5rem;
}
form.woocommerce-cart-form .cart-coupon-wrapper .coupon input {
	border-radius: 0;
	padding: 1rem;
}
form.woocommerce-cart-form .cart-coupon-wrapper .penetrit-minimum-order-notice {
	color:var(--color-primary);
	font-weight: 600;
}

form.woocommerce-cart-form .cart-coupon-wrapper .penetrit-continue-shopping {
 	margin-top: auto;
	padding: 0.7rem;
	background-color: black;
	color: white;
	width: 100%;
	display: block;
	text-align: center;
	font-weight: 600;
}
form.woocommerce-cart-form .cart-coupon-wrapper .penetrit-continue-shopping:hover {
	background-color: var(--color-gray);
}


form.woocommerce-cart-form .cart-collaterals h2 {
	margin-top: 0;
	font-size: 1.2rem;
}
form.woocommerce-cart-form .cart-collaterals table tr:not(:last-child) th,
form.woocommerce-cart-form .cart-collaterals table tr:not(:last-child) td {
	border-bottom: 1px solid var(--color-middle-gray);
}
form.woocommerce-cart-form .cart-collaterals table th {
	line-height: 2.5;
}
form.woocommerce-cart-form .cart-collaterals table td {
	text-align: right;
}
form.woocommerce-cart-form .cart-collaterals table tr.cart-subtotal td {
	font-weight: 600;
}
.cart-collaterals .checkout-button {
	padding: 0.7rem;
	background-color: var(--color-primary);
	color: white;
	width: 100%;
	display: block;
	text-align: center;
	font-weight: 600;
}
.cart-collaterals .checkout-button:hover {
	background-color: var(--color-primary-hover);
}
.cart-collaterals .checkout-button.disabled {
	background-color: var(--color-gray);
	cursor: not-allowed;
}

.wc-block-components-product-badge {
	background-color: var(--color-primary);
	color: white;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background-color: var(--color-primary);
	color: white!important;
	border-radius: 0;
	padding: 0.5rem 1rem;
	font-weight: 600;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--color-primary-hover)!important;
	color: white!important;
}

/**
 * Checkout
 */

.wc-block-components-country-input {
	margin-top: 12px!important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
	font-size: 0.7rem!important;
}

.wc-block-components-product-metadata {
	display: none;
}

.woocommerce-checkout .woocommerce-order-overview {
	display: flex;
	flex-direction: row;
	background-color: var(--color-primary);
	color: white;
	padding: 1rem 2rem;
	margin: 0;
	border-radius: 0;
	gap: 1rem;
	list-style-type: none;
	justify-content: space-between;
}

.woocommerce-checkout .woocommerce-order-overview li {
	display: flex;
	flex-direction: column;
	text-align: center;
}

.woocommerce-checkout table.order_details {
	text-align: center;
}

.woocommerce-checkout table.order_details tfoot {
	font-weight: 600;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item {
	flex-wrap: wrap;
	justify-content: center;
}

/**
 * Thankyou page
 */

.woocommerce-thankyou-order-received {
	font-size: 1.2rem;
	font-weight: 600;
}

.penetrit-thankyou-columns {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 3rem;
}
.penetrit-thankyou-columns > * {
	flex-basis: 50%;
}

.penetrit-thankyou-columns .penetrit-order-totals {
	background-color: var(--color-ligth-gray);
	padding: 1rem;
}

.penetrit-thankyou-columns .penetrit-order-totals h2 {
    margin-top: 0;
    font-size: 1.2rem;
}

.penetrit-thankyou-columns .penetrit-order-totals table tr:not(:last-child) th, 
.penetrit-thankyou-columns .penetrit-order-totals table tr:not(:last-child) td {
    border-bottom: 1px solid var(--color-middle-gray);
}

.penetrit-thankyou-columns .penetrit-order-totals table th {
		line-height: 2.5;
		text-align: left;
}

.penetrit-thankyou-columns .penetrit-order-totals table td {
	text-align: right;
}

.penetrit-thankyou-columns .penetrit-order-totals table tr:first-child td,
.penetrit-thankyou-columns .penetrit-order-totals table tr:last-child td {
	font-weight: 600;
}

.penetrit-thankyou-columns .penetrit-order-totals a {
	padding: 0.7rem;
	background-color: var(--color-primary);
	color: white;
	width: 100%;
	display: block;
	text-align: center;
	font-weight: 600;
}

.penetrit-thankyou-columns .penetrit-order-meta .penetrit-continue-shopping {
	padding: 0.7rem;
	background-color: black;
	color: white;
	width: 100%;
	display: block;
	text-align: center;
	font-weight: 600;
}

.penetrit-thankyou-columns .penetrit-order-meta {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1rem;
}
.penetrit-thankyou-columns .penetrit-order-meta ul {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.penetrit-thankyou-columns .penetrit-order-meta ul span.label {
	font-weight: 600;
}



@media screen and (min-width: 768px) {

	.penetrit-thankyou-columns {
		flex-direction: row;
	}

	.col2-set .form-row-first {
		float: left;
		margin-right: 3.8%;
	}

	.col2-set .form-row-last {
		float: right;
		margin-right: 0;
	}

	.col2-set .form-row-first,
	.col2-set .form-row-last {
		width: 48.1%;
	}
}

/**
 * My Account
 */
.woocommerce-account div.woocommerce {
	display:grid;
	grid-template-areas:
		"greeting"
		"navigation"
		"content";
	grid-template-columns: 1fr;
	grid-gap: 2rem;
}

.penetrit-myaccount-greeting {
	grid-area: greeting;
	display: grid;
	grid-template-areas: "hello logout" "intro intro";
	grid-template-columns: 1fr 1fr;
}
.penetrit-myaccount-greeting .penetrit-myaccount-hello {
	grid-area: hello;
	font-size: 1.2rem;
	font-weight: 800;
	margin: 0;
	align-self: center;
}
.penetrit-myaccount-greeting .penetrit-myaccount-switch {
	grid-area: logout;
	padding: 0.7rem;
	background-color: var(--color-primary);
	color: white;
	text-align: center;
	font-weight: 600;
	width: fit-content;
	justify-self: end;
}
.penetrit-myaccount-greeting .penetrit-myaccount-intro {
	grid-area: intro;
	margin-top: 1rem;
	font-weight: 600;
}

@media (max-width: 767px) {
	.penetrit-myaccount-greeting {
		grid-template-areas:
			"hello"
			"logout"
			"intro";
		grid-template-columns: 1fr;
	}

	.penetrit-myaccount-greeting .penetrit-myaccount-switch {
		justify-self: start;
	}
}

nav.woocommerce-MyAccount-navigation {
	grid-area: navigation;
}

nav.woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	margin: 0;
	padding: 0;;
}

nav.woocommerce-MyAccount-navigation ul li {
	list-style: none;
}

nav.woocommerce-MyAccount-navigation ul li a {
	text-decoration: underline;
	font-size: 0.9rem;
	font-weight: 600;
}

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

nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 2rem;
}
nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
	background-color: black;
	text-decoration: none;
	color: white;
	padding: 0.7rem;
	width: 100%;
	display: block;
	text-align: center;
}
nav.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: '\f2f5';
	margin-left: 0.5em;
}

.woocommerce-MyAccount-content {
	grid-area: content;
}

form.penetrit-orders-filter .penetrit-orders-filter__fields {
	display: flex;
	flex-direction: row;
	gap: 1rem;
	margin-bottom: 1rem;
}

form.penetrit-orders-filter .penetrit-orders-filter__fields .penetrit-orders-filter__field:first-child {
	flex-grow: 1;
}
form.penetrit-orders-filter .penetrit-orders-filter__fields .penetrit-orders-filter__field {
	position: relative;
}
form.penetrit-orders-filter .penetrit-orders-filter__fields .penetrit-orders-filter__field label {
	position: absolute;
	top: 5px;
	left: 10px;
	color: #404040;
	font-family: var(--font-family-main);
	font-size: 0.75rem;
	line-height: 1.5;
}
form.penetrit-orders-filter .penetrit-orders-filter__fields button {
	height: 100%;
}

@media (max-width: 767px) {
	form.penetrit-orders-filter .penetrit-orders-filter__fields {
		flex-direction: column;
	}
}

.account-orders-table,
.woocommerce-table--order-details {
	background-color: var(--color-ligth-gray);
	padding: 1rem;
	font-size: 0.8rem;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 0.5rem 0;
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details .product-name {
	text-align: left;
}
.woocommerce-table--order-details td:not(.product-name),
.woocommerce-table--order-details .product-total {
	text-align: right;
}
.woocommerce-table--order-details tfoot {
	font-weight: 600;
}


.account-orders-table th,
.account-orders-table td {
	padding: 1rem 0;
	text-align: center!important;
}

.account-orders-table thead tr th {
	border-bottom: 1px solid var(--color-middle-gray);
}

.account-orders-table td.woocommerce-orders-table__cell-order-quantity {
	text-align: center;
	width: 5rem;
}

.account-orders-table td.woocommerce-orders-table__cell-order-actions {
	text-align: center;
	border-bottom: 1px solid var(--color-middle-gray);
}
.account-orders-table td.woocommerce-orders-table__cell-order-actions a {
	background-color: transparent;
	border: 1px solid black;
	color: black;
	font-weight: 600;
	padding: 0.5rem 1rem;
}

.addresses {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	justify-content: center;
}

.addresses header {
	margin-bottom: 2rem;
}

.addresses > * {
	flex-basis: 50%;
	background-color: var(--color-ligth-gray);
	padding: 1rem;
}

.addresses h2 {
	margin-top: 0;
	font-size: 1.2rem;
}

.addresses a {
	padding: 0.7rem;
	background-color: var(--color-primary);
	color: white;
	width: 100%;
	display: block;
	text-align: center;
	font-weight: 600;
}

.edit-account p,
.woocommerce-address-fields p {
	position: relative;
}
.edit-account label,
.woocommerce-address-fields label {
	position: absolute;
	top: 5px;
	left: 10px;
	color: #404040;
	font-family: var(--font-family-main);
	font-size: 0.75rem;
	line-height: 1.5;
}
.edit-account #account_display_name_description {
	font-size: 0.7rem!important;
}

.edit-account legend {
	padding: 0 1rem;
	font-weight: 600;
}

.password-input {
    position: relative;
    display: block;
}

.password-input input.input-text {
    width: 100%;
    padding-right: 3rem;
    box-sizing: border-box;
}

.password-input .show-password-input {
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0 0.75rem;
	height: 100%;
	color: var(--color-gray);
	font-size: 1rem;
	line-height: 1;
	min-width: auto;
}

.password-input .show-password-input::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: '\f06e';
}

.password-input .show-password-input.display-password::after {
	content: '\f070';
}

.password-input .show-password-input:hover {
	color: var(--color-primary);
}

.password-input .show-password-input:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: -2px;
}



/**
 * Login
 */

.penetrit-login-wrapper {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 4rem;
}

.penetrit-login-welcome {
	font-size: 1.2rem;
	font-weight: 600;
}

.penetrit-login-fields {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.penetrit-login-fields > * {
	flex-basis: 50%;
}
.penetrit-login-fields label {
	font-size: 0.7rem;
}
.penetrit-login-fields .show-password-input {
	display: none;
}

.penetrit-login-actions {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
.penetrit-login-actions label {
	font-size: 0.8rem;
}
.penetrit-login-actions button {
	padding: 0.7rem;
}

.penetrit-login-footer {
	margin: 2rem 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	font-size: 0.9rem;
}
.penetrit-login-footer a {
	text-decoration: underline;
}
.penetrit-login-footer .penetrit-login-footer__register {
	color: var(--color-primary);
}
.penetrit-login-footer .penetrit-login-footer__register a {
	color: var(--color-primary);
	text-decoration: underline;
	font-weight: 600;
}

/**
 * New account
 */

.new-account {
	margin-bottom: 2rem;
}

.new-account form .nf-form-content > * {
	display: grid;
	grid-template-areas: 
		"name surname email" 
		"phone company company-id" 
		"captcha login login" 
		"dummy dummy submit";
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 1rem;
}

.new-account form .nf-form-content > * > *:nth-child(1) {
	grid-area: name;
}
.new-account form .nf-form-content > * > *:nth-child(2) {
	grid-area: surname;
}
.new-account form .nf-form-content > * > *:nth-child(3) {
	grid-area: email;
}
.new-account form .nf-form-content > * > *:nth-child(4) {
	grid-area: phone;
}
.new-account form .nf-form-content > * > *:nth-child(5) {
	grid-area: company;
}
.new-account form .nf-form-content > * > *:nth-child(6) {
	grid-area: company-id;
}
.new-account form .nf-form-content > * > *:nth-child(7) {
	grid-area: captcha;
}
.new-account form .nf-form-content > * > *:nth-child(8) {
	grid-area: login;
}
.new-account form .nf-form-content > * > *:nth-child(8) > div {
	float: right;
}
.new-account form .nf-form-content > * > *:nth-child(9) {
	grid-area: submit;
}

.has-an-account {
	float: right;
	font-size: 0.9rem;
}
.has-an-account a {
	color: var(--color-primary);
	text-decoration: underline;
	font-weight: 600;
}

.new-account .contact-send,
.new-account .contact-send input {
	width: 100%!important;
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
	position: relative;
	margin: 0;
	padding: 0;
}

.site-header-cart .cart-contents {
	text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
	display: none;
}

.site-header-cart .product_list_widget {
	margin: 0;
	padding: 0;
}

/**
 * Star rating
 */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.618em;
	line-height: 1.618;
	width: 5.3em;
	font-family: star;
	font-weight: 400;
}

.star-rating::before {
	content: "SSSSS";
	opacity: 0.25;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "SSSSS";
	top: 0;
	position: absolute;
	left: 0;
	color: #4169e1;
}

p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 1px;
	font-weight: 400;
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: star;
	content: "S";
	color: #404040;
	text-indent: 0;
	opacity: 0.25;
}

p.stars a:hover ~ a::before {
	content: "S";
	color: #404040;
	opacity: 0.25;
}

p.stars:hover a::before {
	content: "S";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active::before {
	content: "S";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active ~ a::before {
	content: "S";
	color: #404040;
	opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
	content: "S";
	color: #4169e1;
	opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.woocommerce-tabs ul.tabs li {
	display: block;
	margin: 0;
	position: relative;
}

.woocommerce-tabs ul.tabs li a {
	padding: 1em 0;
	display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
	margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
	text-align: right;
}

.woocommerce-password-strength.strong {
	color: #0f834d;
}

.woocommerce-password-strength.short {
	color: #e2401c;
}

.woocommerce-password-strength.bad {
	color: #e2401c;
}

.woocommerce-password-strength.good {
	color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
	box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
	box-shadow: inset 2px 0 0 #e2401c;
}

.required {
	color: #f00;
}

/**
 * Notices
 */

.woocommerce-notices-wrapper ul {
	list-style: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background-color: #aaeacc;
	padding: 1rem;
	border-radius: 5px;
	margin: 1rem 0;
	clear: both;
	font-size: 0.8rem;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: #a1d1ec;
}

.woocommerce-error {
	background-color: #e59c8c;
}

.woocommerce-message a {
	background-color: white;
	padding: 0.5rem 1rem;
	margin-left: 1rem;
	border-radius: 0;
	color: var(--color-primary);
	font-weight: 600;
}

.woocommerce-message a:hover {
	background-color: var(--color-primary-hover);
	color: white;
}

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1em;
	background-color: #3d9cd2;
	z-index: 9999;
}

@media screen and (min-width: 768px) {

	/**
   * Header cart
   */
	.site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 999999;
		left: -999em;
		display: block;
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	}

	.site-header-cart:hover .widget_shopping_cart,
	.site-header-cart.focus .widget_shopping_cart {
		left: 0;
		display: block;
	}

	.account-orders-table td.woocommerce-orders-table__cell-order-actions {
		border: none;
	}
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
	margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
	text-align: right;
	line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
	float: left;
}

.widget_price_filter .ui-slider {
	position: relative;
	text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	cursor: ew-resize;
	outline: none;
	background: #4169e1;
	box-sizing: border-box;
	margin-top: -0.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
	height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
	height: 100%;
}

/**
 * Zoom safety net.
 * Neutraliza cualquier comportamiento residual de zoom en la galería
 * de producto individual, incluyendo galerías basadas en bloques (WC 8+).
 */
.woocommerce-product-gallery figure img {
	cursor: default !important;
}

.zoomImg {
	display: none !important;
}
/*--------------------------------------------------------------
# Responsive — Mobile First
  --bp-sm:  480px  | teléfonos landscape
  --bp-md:  600px  | tablet pequeña
  --bp-lg:  768px  | tablet portrait (breakpoint principal)
  --bp-xl: 1024px  | laptop / escritorio
  Regla: solo min-width, solo px, orden sm → md → lg → xl.
  Excepciones documentadas: carrusel de productos y paginación
  usan max-width por naturaleza del componente (desktop-first).
--------------------------------------------------------------*/

/* --bp-sm: 480px
--------------------------------------------- */
@media screen and (min-width: 480px) {

	/* Productos: mantener 2 columnas, pequeños ajustes de spacing */
	ul.products {
		grid-gap: 1.25rem;
	}
}

/* --bp-lg: 768px — layouts principales en modo tablet/escritorio
--------------------------------------------- */
@media screen and (min-width: 768px) {

	/* Grid de productos: 2 → 3 columnas */
	ul.products {
		grid-template-columns: repeat(3, 1fr);
	}

	/* Single product: imagen y resumen lado a lado */
	.single-product div.product {
		grid-template-areas:
				"image summary"
				"tabs tabs"
				"related related";
		grid-template-columns: 1fr 1fr;
	}

	/* Carrito: tabla arriba, cupón y totales abajo lado a lado */
	form.woocommerce-cart-form {
		grid-template-areas:
				"cart cart"
				"coupon totals";
		grid-template-columns: 1fr 1fr;
	}

	/* My Account: nav lateral + contenido */
	.woocommerce-account div.woocommerce {
		grid-template-areas:
			"greeting greeting"
			"navigation content";
		grid-template-columns: 1fr 4fr;
	}

	/* Direcciones: dos columnas */
	.addresses {
		flex-direction: row;
		gap: 3rem;
	}

	/* Login: formularios de login/registro en fila */
	.penetrit-login-wrapper {
		flex-direction: row;
	}

	/* Login fields: usuario y contraseña en fila */
	.penetrit-login-fields {
		flex-direction: row;
	}

	.penetrit-login-fields > * {
		flex-basis: 50%;
	}
}

/* --bp-xl: 1024px — escritorio: grilla completa de 4 columnas
--------------------------------------------- */
@media screen and (min-width: 1024px) {

	/* Productos: 3 → 4 columnas */
	ul.products {
		grid-template-columns: repeat(4, 1fr);
	}
}