/*
Theme Name: Prismal
Theme URI: https://prismal.com.ar
Author: Prismal
Description: Theme de bloques a medida para la tienda Prismal: objetos impresos en 3D, juguetes, material didáctico y herramientas de ejercitación. WooCommerce con checkout clásico.
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.5.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: prismal
Update URI: false
Tags: full-site-editing, block-styles, block-patterns, e-commerce, custom-colors
*/

/*
 * "Update URI: false" es imprescindible: en WordPress.org existe un theme de terceros
 * con el mismo slug (prismal, de ExtendThemes). Sin esta cabecera, WordPress lo ofrece
 * como "actualización" y reemplaza esta carpeta entera. Ya pasó una vez.
 */

/* =========================================================
   1. Base y tokens de componente
   ========================================================= */
:root {
	--prismal-transicion: 180ms cubic-bezier(0.2, 0, 0, 1);
	--prismal-control-alto: 3rem;
	--prismal-control-radio: var(--wp--custom--radio--medio);
	--prismal-control-borde: 1px solid var(--wp--preset--color--borde);
	--prismal-foco: 0 0 0 3px rgba(65, 119, 183, 0.35);
	--prismal-header-alto: 104px; /* barra principal (76px) + barra superior con el lema */
}

/* Barra de desplazamiento "Silk": theme.js actualiza --prismal-scroll según cuánto se bajó
   (naranja arriba, verde en el medio, azul abajo), como un filamento multicolor. */
html {
	scrollbar-color: var(--prismal-scroll, #F7782F) transparent;
}

/* Safari no entiende scrollbar-color: la misma idea con las barras de WebKit. */
@supports not (scrollbar-color: auto) {
	::-webkit-scrollbar {
		width: 12px;
	}

	::-webkit-scrollbar-track {
		background: transparent;
	}

	::-webkit-scrollbar-thumb {
		background: var(--prismal-scroll, #F7782F);
		background-clip: padding-box;
		border: 3px solid transparent;
		border-radius: 999px;
	}
}

*:focus-visible {
	outline: 2px solid var(--wp--preset--color--azul);
	outline-offset: 2px;
}

/* Títulos con renglones parejos: sin una palabra o letra suelta en el último renglón.
   Los guiones entre letras ("A–Z") no se cortan: ver inc/tipografia.php. */
h1,
h2,
h3,
.wp-block-post-title {
	text-wrap: balance;
}

/* Cualquier regla de display con clase le gana al atributo hidden del navegador. */
[hidden] {
	display: none !important;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

img {
	max-width: 100%;
	height: auto;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

/* Sin separación automática entre header, main y footer: cada plantilla define la suya. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Botones: los del theme y los de Woo comparten exactamente la misma métrica. */
.wp-block-button__link,
.wp-element-button,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	box-sizing: border-box;
	max-width: 100%;
	min-height: var(--prismal-control-alto);
	padding: 0.6rem 1.4rem;
	border: 0;
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--azul-oscuro);
	color: var(--wp--preset--color--base);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--prismal-transicion), color var(--prismal-transicion), box-shadow var(--prismal-transicion), transform var(--prismal-transicion);
}

.wp-block-button__link:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

.wp-block-button__link:focus-visible,
.woocommerce .button:focus-visible,
.woocommerce #place_order:focus-visible {
	outline: none;
	box-shadow: var(--prismal-foco);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.woocommerce .button.prismal-secundario {
	background: transparent;
	color: var(--wp--preset--color--contraste);
	box-shadow: inset 0 0 0 2px currentColor;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.woocommerce .button.prismal-secundario:hover {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--contraste);
}

/* Botón de acción principal: naranja oscuro con texto blanco (4,9:1; el naranja de marca con
   blanco da 2,7:1 y no pasa AA). Al pasar el mouse, más oscuro todavía (6,3:1). */
.wp-block-button.is-style-naranja .wp-block-button__link,
.woocommerce .button.alt,
.woocommerce #place_order,
.woocommerce .checkout-button {
	background: var(--wp--preset--color--naranja-accion);
	color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-naranja .wp-block-button__link:hover,
.woocommerce .button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover {
	background: var(--wp--preset--color--naranja-accion-hover);
	color: var(--wp--preset--color--base);
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button:disabled:hover {
	background: var(--wp--preset--color--azul-oscuro);
	color: var(--wp--preset--color--base);
	opacity: 0.45;
	cursor: not-allowed;
}

/* Campos de formulario: una sola métrica para todo el sitio. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart .coupon .input-text,
.woocommerce .quantity .qty,
.prismal-opcion select,
.prismal-opcion input[type="text"],
.select2-container--default .select2-selection--single,
.wc-block-catalog-sorting select,
.woocommerce .woocommerce-ordering select {
	box-sizing: border-box;
	min-height: var(--prismal-control-alto);
	padding: 0.6rem 0.9rem;
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contraste);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.4;
	box-shadow: none;
	transition: border-color var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-cart .coupon .input-text:focus,
.woocommerce .quantity .qty:focus,
.prismal-opcion select:focus,
.prismal-opcion input[type="text"]:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single,
.wc-block-catalog-sorting select:focus {
	outline: none;
	border-color: var(--wp--preset--color--azul);
	box-shadow: var(--prismal-foco);
}

.woocommerce form .form-row textarea {
	min-height: 7rem;
	resize: vertical;
}

/* Selects nativos con chevron propio */
.woocommerce form .form-row select,
.prismal-opcion select,
.wc-block-catalog-sorting select,
.woocommerce .woocommerce-ordering select {
	appearance: none;
	padding-right: 2.6rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%2319243D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	background-size: 16px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.4;
	padding-left: 0;
	color: inherit;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 0.6rem;
}

.select2-dropdown {
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	box-shadow: var(--wp--custom--sombra--flotante);
	overflow: hidden;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--wp--preset--color--azul-oscuro);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--chico);
	padding: 0.5rem 0.7rem;
	font-family: inherit;
}

.woocommerce form .form-row label {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0.35rem;
}

.woocommerce form .form-row .required {
	color: var(--wp--preset--color--naranja-oscuro);
	text-decoration: none;
}

.woocommerce form .form-row.woocommerce-invalid .select2-container,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--wp--preset--color--naranja-oscuro);
}

.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--wp--preset--color--borde);
}

/* Cantidad */
.woocommerce .quantity {
	display: inline-flex;
}

.woocommerce .quantity .qty {
	width: 4.5rem;
	text-align: center;
	padding-left: 0.4rem;
	padding-right: 0.4rem;
}

/* =========================================================
   2. Encabezado
   ========================================================= */
.prismal-header {
	position: sticky;
	top: 0;
	z-index: 100; /* por encima de la lupa de la galería de Woo (z-index 99), que tapaba el submenú */
	transition: box-shadow var(--prismal-transicion);
}

.prismal-header.is-scrolled {
	box-shadow: 0 6px 24px rgba(25, 36, 61, 0.08);
}

.admin-bar .prismal-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

.prismal-header__barra {
	gap: 2rem;
}

/* Barra superior: lema y "Botón de arrepentimiento" (Resolución 424/2020, primera pantalla). */
.prismal-header__superior {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: calc(var(--wp--preset--spacing--30) * -0.4) !important;
	margin-bottom: 0.55rem !important;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid var(--wp--preset--color--borde);
	font-size: 0.75rem;
	line-height: 1.3;
}

.prismal-header__lema {
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

/* En móvil la barra superior no entra: queda solo la principal. */
@media (max-width: 599px) {
	:root {
		--prismal-header-alto: 76px;
	}

	.prismal-header__superior {
		display: none;
	}
}

/* Botón de arrepentimiento: confirmación con el código */
.prismal-arrepentimiento__listo p {
	margin: 0 0 0.5rem;
}

.prismal-arrepentimiento__codigo {
	display: inline-block;
	margin: 0.25rem 0 0.75rem !important;
	padding: 0.45rem 0.9rem;
	border: 1px dashed var(--wp--preset--color--verde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--contraste);
}

.prismal-logo {
	margin: 0;
	flex: 0 0 auto;
}

.prismal-logo img {
	display: block;
	height: 38px;
	width: auto;
}

.prismal-footer .prismal-logo img {
	height: 44px;
}

.prismal-header .wp-block-navigation {
	flex: 1 1 auto;
}

.prismal-header .wp-block-navigation-item > a {
	padding: 0.35rem 0;
	border-bottom: 2px solid transparent;
	transition: color var(--prismal-transicion), border-color var(--prismal-transicion);
}

.prismal-header .wp-block-navigation-item.current-menu-item > a,
.prismal-header .wp-block-navigation-item.current-menu-ancestor > a {
	color: var(--wp--preset--color--azul-oscuro);
	border-bottom-color: var(--wp--preset--color--naranja);
}

.prismal-header .wp-block-navigation__responsive-container-open,
.prismal-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--contraste);
}

.prismal-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--base);
}

.prismal-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a {
	font-size: var(--wp--preset--font-size--large);
	border-bottom: 0;
}

.prismal-header__acciones {
	gap: 0.5rem;
	flex: 0 0 auto;
}

.prismal-header .wp-block-search__inside-wrapper {
	border: var(--prismal-control-borde);
	border-radius: 999px;
	background: var(--wp--preset--color--superficie);
	padding: 2px 2px 2px 6px;
	transition: border-color var(--prismal-transicion), box-shadow var(--prismal-transicion), background var(--prismal-transicion);
}

.prismal-header .wp-block-search__inside-wrapper:focus-within {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--azul);
	box-shadow: var(--prismal-foco);
}

.prismal-header .wp-block-search__input {
	border: 0;
	background: transparent;
	font-size: var(--wp--preset--font-size--small);
	padding: 0.45rem 0.6rem;
	min-height: 0;
}

.prismal-header .wp-block-search__input:focus {
	outline: none;
	box-shadow: none;
}

.prismal-header .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--contraste);
	border: 0;
	padding: 0.3rem 0.5rem;
	margin: 0;
	min-height: 0;
	border-radius: 999px;
}

.prismal-header .wp-block-search__button:hover {
	background: var(--wp--preset--color--borde);
	color: var(--wp--preset--color--contraste);
}

/* Íconos de cuenta y carrito: misma caja, mismo hover */
.prismal-header .wc-block-customer-account__account-icon,
.prismal-header .wc-block-mini-cart__button {
	color: var(--wp--preset--color--contraste);
}

.prismal-header .wp-block-woocommerce-customer-account a,
.prismal-header .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border-radius: 999px;
	transition: background var(--prismal-transicion);
}

.prismal-header .wp-block-woocommerce-customer-account a:hover,
.prismal-header .wc-block-mini-cart__button:hover {
	background: var(--wp--preset--color--superficie);
	opacity: 1;
}

.prismal-header .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--naranja);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--naranja);
	font-weight: 700;
}

.wc-block-mini-cart__drawer .wc-block-components-button {
	border-radius: var(--prismal-control-radio);
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	border-radius: 999px;
}

@media (max-width: 1100px) {
	.prismal-header .wp-block-search {
		display: none;
	}

	.prismal-header__barra {
		gap: 1.25rem;
	}
}

/* Hasta 1023 px: menú plegado a la izquierda, logo al centro, cuenta y carrito a la derecha.
   Con cinco ítems (Productos, A medida, Profesionales, Ayuda, Contacto) el menú abierto no entra
   en pantallas medianas: entre 782 y 1023 px partía "A medida" y dejaba el carrito afuera. */
@media (max-width: 1023px) {
	.prismal-header__barra {
		gap: 0.5rem;
	}

	.prismal-logo {
		order: 1;
		margin: 0 auto;
	}

	.prismal-logo img {
		height: 28px;
	}

	.prismal-header .wp-block-navigation {
		flex: 0 0 auto;
		order: 0;
	}

	.prismal-header__acciones {
		order: 2;
		gap: 0;
	}

	.prismal-header .wp-block-woocommerce-customer-account a,
	.prismal-header .wc-block-mini-cart__button,
	.prismal-header .wp-block-navigation__responsive-container-open {
		width: 2.5rem;
		height: 2.5rem;
	}

	/* WordPress muestra el menú desplegado a partir de 600 px; acá el botón vale hasta 1023 px. */
	.prismal-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center;
		justify-content: center;
		border-radius: 999px;
	}

	.prismal-header .wp-block-navigation__responsive-container-open:hover {
		background: var(--wp--preset--color--superficie);
	}

	.prismal-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
}

/* Submenú de navegación */
.prismal-header .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 240px;
	padding: 0.5rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
	box-shadow: var(--wp--custom--sombra--flotante);
}

.prismal-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
	display: block;
	padding: 0.55rem 0.75rem;
	border-bottom: 0;
	border-radius: var(--wp--custom--radio--chico);
	font-weight: 500;
}

.prismal-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover,
.prismal-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item > a {
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child > a {
	font-weight: 600;
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-header .wp-block-navigation .wp-block-navigation__submenu-icon {
	margin-left: 0.15rem;
}

/* Con el menú abierto, el submenú toma el ancho de su ítem más largo: ningún texto se parte
   ("Preguntas frecuentes", "Botón de arrepentimiento", "Herramientas de ejercitación"). */
@media (min-width: 1024px) {
	.prismal-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		width: max-content;
		min-width: 240px;
	}

	.prismal-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
		white-space: nowrap;
	}
}

/* =========================================================
   3. Utilidades y estilos de bloque
   ========================================================= */
/* Hero: la foto del taller es el fondo; el texto ocupa la pared y la mesa queda abajo. */
.prismal-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #EFECE8;
	/* La foto es 3200x1312 (2,44:1): a ancho completo su alto natural es 41vw. */
	min-height: clamp(560px, 41vw, 760px);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding-top: clamp(2.5rem, 6vw, 5.5rem);
	/* La mesa ocupa el 40 % inferior de la foto: este espacio la deja libre de texto. */
	padding-bottom: clamp(260px, 22vw, 340px);
}

.prismal-hero__fondo {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: 50% 100%;
}

.prismal-hero__texto {
	position: relative;
	width: 100%;
}

@media (max-width: 781px) {
	.prismal-hero {
		min-height: 0;
		padding-top: var(--wp--preset--spacing--60);
		padding-bottom: 360px;
	}

	.prismal-hero__fondo {
		object-position: 42% 100%;
	}
}

/* Tarjeta enlazada: toda la superficie lleva al destino del título. */
.prismal-tarjeta-enlace {
	position: relative;
}

.prismal-tarjeta-enlace h3 a {
	color: inherit;
	text-decoration: none;
}

.prismal-tarjeta-enlace h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.prismal-tarjeta-enlace__cta {
	color: var(--wp--preset--color--azul-oscuro);
	transition: transform var(--prismal-transicion);
}

.prismal-tarjeta-enlace:hover .prismal-tarjeta-enlace__cta {
	transform: translateX(4px);
}

/* Página Profesionales */
.prismal-pro-hero__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-top: var(--wp--preset--spacing--40);
}

.prismal-pro-hero__acciones .wp-element-button {
	text-decoration: none;
}

.prismal-boton-naranja,
.prismal-pro-hero .is-style-naranja {
	background: var(--wp--preset--color--naranja-accion) !important;
	color: var(--wp--preset--color--base) !important;
}

.prismal-boton-naranja:hover,
.prismal-pro-hero .is-style-naranja:hover {
	background: var(--wp--preset--color--naranja-accion-hover) !important;
}

.prismal-boton-claro {
	background: transparent !important;
	color: var(--wp--preset--color--base) !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6);
}

.prismal-boton-claro:hover {
	background: rgba(255, 255, 255, 0.12) !important;
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--base);
}

.prismal-pro-estado {
	flex: 1 1 100%;
	margin: 0 0 0.25rem;
	color: #C9D6E4;
}

.prismal-pro-estado--ok {
	color: var(--wp--preset--color--verde-claro);
	font-weight: 600;
}

.prismal-areas {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.prismal-areas__item {
	padding: 1.25rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
}

.prismal-areas__item h3 {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
}

.prismal-areas__item p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-beneficios {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.prismal-beneficios li {
	display: grid;
	gap: 0.35rem;
	padding: 1.25rem;
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--base);
	box-shadow: var(--wp--custom--sombra--tarjeta);
}

.prismal-beneficios strong {
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-beneficios span {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-pasos-pro {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: pasos;
}

.prismal-pasos-pro li {
	position: relative;
	padding: 1.5rem 1.25rem 1.25rem;
	border-top: 3px solid var(--wp--preset--color--verde);
	background: var(--wp--preset--color--superficie);
	border-radius: 0 0 var(--wp--custom--radio--grande) var(--wp--custom--radio--grande);
}

.prismal-pasos-pro__numero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin-bottom: 0.75rem;
	border-radius: 999px;
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--small);
}

.prismal-pasos-pro h3 {
	margin: 0 0 0.35rem;
	font-size: var(--wp--preset--font-size--large);
}

.prismal-pasos-pro p {
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-faq {
	display: grid;
	gap: 0.75rem;
}

.prismal-faq__item {
	padding: 0 1.25rem;
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
	border: var(--prismal-control-borde);
}

.prismal-faq__item summary {
	padding: 1rem 0;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2rem;
}

.prismal-faq__item summary::-webkit-details-marker {
	display: none;
}

.prismal-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	height: 1.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--contraste);
	font-weight: 700;
}

.prismal-faq__item[open] summary::after {
	content: "−";
}

.prismal-faq__item p {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-chips-nav--centro {
	justify-content: center;
	margin-top: 0;
}

@media (max-width: 1023px) {
	.prismal-areas {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.prismal-areas,
	.prismal-beneficios,
	.prismal-pasos-pro {
		grid-template-columns: minmax(0, 1fr);
	}

	.prismal-chips-nav--centro {
		justify-content: flex-start;
	}
}

/* Destaques: envíos, pagos, compra segura e impreso a pedido.
   Arriba del footer en todo el sitio; en la portada, debajo del hero. */
.prismal-destaques {
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--50) var(--wp--style--root--padding-right) var(--wp--preset--spacing--50) var(--wp--style--root--padding-left);
}

.prismal-destaques--portada {
	border-bottom: 1px solid var(--wp--preset--color--borde);
	background: var(--wp--preset--color--base);
}

.prismal-destaques--pie {
	border-top: 1px solid var(--wp--preset--color--borde);
	background: var(--wp--preset--color--superficie);
}

.prismal-destaques__lista {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.prismal-destaque {
	--destaque: var(--wp--preset--color--azul);
	padding: 0.2rem clamp(1rem, 2.2vw, 2rem);
	border-left: 1px solid var(--wp--preset--color--borde);
}

.prismal-destaque:first-child {
	padding-left: 0;
	border-left: 0;
}

.prismal-destaque:last-child {
	padding-right: 0;
}

.prismal-destaque--envio {
	--destaque: var(--wp--preset--color--verde-oscuro);
}

.prismal-destaque--pago {
	--destaque: var(--wp--preset--color--azul);
}

.prismal-destaque--seguro {
	--destaque: var(--wp--preset--color--azul-oscuro);
}

.prismal-destaque--taller {
	--destaque: var(--wp--preset--color--naranja-oscuro);
}

.prismal-destaque a {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	color: inherit;
	text-decoration: none;
}

.prismal-destaque__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 2.9rem;
	height: 2.9rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--destaque) 12%, var(--wp--preset--color--base));
	color: var(--destaque);
	transition: background var(--prismal-transicion), color var(--prismal-transicion);
}

.prismal-destaques--pie .prismal-destaque__icono {
	background: var(--wp--preset--color--base);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--destaque) 18%, transparent);
}

.prismal-destaque a:hover .prismal-destaque__icono,
.prismal-destaque a:focus-visible .prismal-destaque__icono {
	background: var(--destaque);
	color: var(--wp--preset--color--base);
}

.prismal-destaque__texto {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
	padding-top: 0.15rem;
}

.prismal-destaque__texto strong {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contraste);
}

.prismal-destaque__texto span {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	color: var(--wp--preset--color--texto-suave);
}

@media (max-width: 1023px) {
	.prismal-destaques__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 1.5rem;
	}

	.prismal-destaque:nth-child(odd) {
		padding-left: 0;
		border-left: 0;
	}

	.prismal-destaque:nth-child(even) {
		padding-right: 0;
	}
}

@media (max-width: 599px) {
	.prismal-destaques {
		padding-top: var(--wp--preset--spacing--40);
		padding-bottom: var(--wp--preset--spacing--40);
	}

	.prismal-destaques__lista {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 0;
	}

	.prismal-destaque,
	.prismal-destaque:nth-child(odd),
	.prismal-destaque:nth-child(even) {
		padding: 0.9rem 0;
		border-left: 0;
		border-top: 1px solid var(--wp--preset--color--borde);
	}

	.prismal-destaque:first-child {
		padding-top: 0;
		border-top: 0;
	}

	.prismal-destaque:last-child {
		padding-bottom: 0;
	}
}

/* Páginas de ayuda: desplegables y avisos */
.wp-block-details.prismal-detalle {
	margin: 0 0 0.75rem;
	padding: 0 1.25rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
}

.wp-block-details.prismal-detalle summary {
	position: relative;
	padding: 1rem 2rem 1rem 0;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.wp-block-details.prismal-detalle summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.prismal-detalle summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--superficie);
	font-weight: 700;
}

.wp-block-details.prismal-detalle[open] summary::after {
	content: "−";
}

.wp-block-details.prismal-detalle > :not(summary) {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-aviso-pagina {
	margin-top: var(--wp--preset--spacing--50);
	padding: 1.25rem 1.5rem;
	border-left: 3px solid var(--wp--preset--color--naranja);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
}

.prismal-aviso-pagina p {
	margin: 0;
}

.page .wp-block-post-content > h2 {
	margin-top: var(--wp--preset--spacing--50);
}

.page .wp-block-post-content ul.wp-block-list li {
	margin-bottom: 0.5rem;
}

/* Contacto */
.prismal-datos {
	display: grid;
	gap: 1.25rem;
	margin: var(--wp--preset--spacing--40) 0 0;
}

.prismal-datos dt {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--azul-oscuro);
	margin-bottom: 0.2rem;
}

.prismal-datos dd {
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-datos dd a {
	color: var(--wp--preset--color--contraste);
	text-decoration: none;
	font-weight: 600;
}

.prismal-datos dd a:hover {
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-form {
	padding: var(--wp--preset--spacing--40);
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--base);
}

.prismal-form__fila {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.prismal-form__campo {
	margin: 0 0 1rem;
}

.prismal-form__campo label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.prismal-form__campo .required {
	color: var(--wp--preset--color--naranja-oscuro);
}

.prismal-form__opcional {
	font-weight: 400;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-form__campo input,
.prismal-form__campo select,
.prismal-form__campo textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: var(--prismal-control-alto);
	padding: 0.6rem 0.9rem;
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contraste);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.4;
	transition: border-color var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.prismal-form__campo select {
	appearance: none;
	padding-right: 2.6rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%2319243D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	background-size: 16px;
}

.prismal-form__campo textarea {
	min-height: 9rem;
	resize: vertical;
}

.prismal-form__campo input:focus,
.prismal-form__campo select:focus,
.prismal-form__campo textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--azul);
	box-shadow: var(--prismal-foco);
}

.prismal-form__campo input:user-invalid,
.prismal-form__campo textarea:user-invalid {
	border-color: var(--wp--preset--color--naranja-oscuro);
}

.prismal-form__trampa {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.prismal-form__pie {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 0.5rem 0 0;
}

.prismal-form__legal {
	flex: 1 1 200px;
	font-size: 0.75rem;
	color: var(--wp--preset--color--texto-suave);
}

.grecaptcha-badge {
	visibility: hidden;
}

.prismal-aviso {
	padding: 1rem 1.25rem;
	margin: 0 0 1.25rem;
	border-left: 4px solid var(--wp--preset--color--verde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--superficie);
	font-weight: 500;
}

.prismal-aviso--error {
	border-left-color: var(--wp--preset--color--naranja-oscuro);
}

/* Personalizados e impresiones a medida: sin derecho de arrepentimiento (inc/campos-producto.php). */
.prismal-aviso--revocacion {
	margin: 0 0 1rem;
	border-left-color: var(--wp--preset--color--naranja-oscuro);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	line-height: 1.5;
}

.prismal-opcion__ayuda--revocacion {
	margin-top: 0.5rem;
	padding-left: 0.6rem;
	border-left: 3px solid var(--wp--preset--color--naranja-oscuro);
}

@media (max-width: 599px) {
	.prismal-form__fila {
		grid-template-columns: minmax(0, 1fr);
	}
}
.prismal-etiqueta {
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.wp-block-group.is-style-tarjeta {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--wp--custom--radio--grande);
	box-shadow: var(--wp--custom--sombra--tarjeta);
	padding: var(--wp--preset--spacing--40);
	transition: transform var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.wp-block-group.is-style-tarjeta:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--custom--sombra--flotante);
}

.wp-block-image.is-style-redondeada img {
	border-radius: var(--wp--custom--radio--grande);
}

.prismal-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.prismal-chip {
	display: inline-block;
	padding: 0.25rem 0.7rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #DCE5EF;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.prismal-migas__sep {
	margin: 0 0.5em;
	opacity: 0.45;
}

.wp-block-woocommerce-breadcrumbs a:hover {
	color: var(--wp--preset--color--azul-oscuro);
}

/* Avisos de Woo (clásicos y de bloques) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	padding: 1rem 1.25rem 1rem 3rem;
	border: 0;
	border-left: 4px solid var(--wp--preset--color--azul);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--contraste);
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	top: 50%;
	left: 1rem;
	transform: translateY(-50%);
}

.woocommerce-message {
	border-left-color: var(--wp--preset--color--verde);
}

.woocommerce-message::before {
	color: var(--wp--preset--color--verde);
}

.woocommerce-info::before {
	color: var(--wp--preset--color--azul);
}

.woocommerce-error {
	border-left-color: var(--wp--preset--color--naranja-oscuro);
}

.woocommerce-error::before {
	color: var(--wp--preset--color--naranja-oscuro);
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
	list-style: none;
	margin: 0;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	margin-left: auto;
	min-height: 2.5rem;
	padding: 0.4rem 1rem;
	font-size: var(--wp--preset--font-size--small);
}

.wc-block-store-notices .wc-block-components-notice-banner {
	border-radius: var(--prismal-control-radio);
}

/* =========================================================
   4. Tienda: cabecera, filtros, orden y grilla
   ========================================================= */
/* Banner del catálogo: foto a todo el ancho, velo de marca, migas, título y categorías.
   La foto es la de la categoría, la destacada de la página Productos o la del taller. */
.prismal-catalogo {
	margin-block-start: 0;
}

.prismal-banner-catalogo {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: clamp(280px, 26vw, 380px);
	overflow: hidden;
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

.prismal-banner-catalogo__fondo {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: 65% 70%;
}

.prismal-banner-catalogo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(25, 36, 61, 0.94) 0%, rgba(25, 36, 61, 0.82) 38%, rgba(25, 36, 61, 0.35) 100%);
}

.prismal-banner-catalogo__contenido {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--wp--style--global--wide-size) + var(--wp--style--root--padding-left) + var(--wp--style--root--padding-right));
	margin-inline: auto;
	padding: clamp(2.25rem, 4.5vw, 3.75rem) var(--wp--style--root--padding-right) clamp(2rem, 4vw, 3.25rem) var(--wp--style--root--padding-left);
}

.prismal-banner-catalogo__migas {
	margin-bottom: 0.85rem;
	font-size: var(--wp--preset--font-size--small);
	color: rgba(255, 255, 255, 0.72);
}

.prismal-banner-catalogo__migas a {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
}

.prismal-banner-catalogo__migas a:hover {
	color: var(--wp--preset--color--base);
	text-decoration: underline;
}

.prismal-banner-catalogo__migas .prismal-migas__sep {
	margin: 0 0.4em;
	opacity: 0.6;
}

.prismal-banner-catalogo__titulo {
	max-width: 18ch;
	margin: 0;
	color: var(--wp--preset--color--base);
	font-size: clamp(2.25rem, 4.2vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.prismal-banner-catalogo__bajada {
	max-width: 52ch;
	margin: 0.9rem 0 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
}

/* Categorías sobre la foto: cápsulas translúcidas; la actual, blanca. */
.prismal-banner-catalogo__chips {
	margin-top: 1.6rem;
}

.prismal-banner-catalogo .prismal-chip-nav {
	border-color: rgba(255, 255, 255, 0.38);
	background: rgba(255, 255, 255, 0.1);
	color: var(--wp--preset--color--base);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.prismal-banner-catalogo .prismal-chip-nav:hover {
	border-color: var(--wp--preset--color--base);
	background: rgba(255, 255, 255, 0.2);
	color: var(--wp--preset--color--base);
}

.prismal-banner-catalogo .prismal-chip-nav.is-actual {
	border-color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contraste);
}

.prismal-catalogo > .wc-block-store-notices,
.prismal-catalogo > .woocommerce-notices-wrapper {
	margin-top: var(--wp--preset--spacing--40);
}

.prismal-catalogo__columnas {
	margin-top: var(--wp--preset--spacing--50);
}

.prismal-chips-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.prismal-chip-nav {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.95rem;
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contraste);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	transition: background var(--prismal-transicion), border-color var(--prismal-transicion), color var(--prismal-transicion);
}

.prismal-chip-nav:hover {
	border-color: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--contraste);
}

.prismal-chip-nav.is-actual {
	background: var(--wp--preset--color--contraste);
	border-color: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

/* Columnas del catálogo: filtros fijos a la izquierda */
.prismal-catalogo__columnas {
	align-items: flex-start;
}

.prismal-catalogo__filtros {
	position: sticky;
	top: calc(var(--prismal-header-alto) + 1rem);
}

.prismal-catalogo__barra {
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

/* Panel de filtros (bloque de Woo) */
.prismal-filtros {
	--prismal-filtro-gap: 1.75rem;
}

.prismal-filtros .wc-block-product-filters__overlay-content,
.prismal-filtros .wc-block-product-filters__content {
	display: grid;
	gap: var(--prismal-filtro-gap);
}

.prismal-filtros .wp-block-heading {
	margin: 0 0 0.75rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contraste);
}

.prismal-filtros .wc-block-product-filter--hidden {
	display: none;
}

.prismal-filtros .wc-block-product-filter-checkbox-list__items {
	display: grid;
	gap: 0.5rem;
}

.prismal-filtros .wc-block-product-filter-checkbox-list__label {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contraste);
}

.prismal-filtros .wc-block-product-filter-checkbox-list__input-wrapper::before {
	display: none;
}

.prismal-filtros input[type="checkbox"].wc-block-product-filter-checkbox-list__input {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	border: 1.5px solid #B7C2D0;
	border-radius: 5px;
	background: var(--wp--preset--color--base);
	transition: background var(--prismal-transicion), border-color var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.prismal-filtros input[type="checkbox"].wc-block-product-filter-checkbox-list__input:hover {
	border-color: var(--wp--preset--color--contraste);
}

.prismal-filtros input[type="checkbox"].wc-block-product-filter-checkbox-list__input:checked {
	background: var(--wp--preset--color--contraste);
	border-color: var(--wp--preset--color--contraste);
}

.prismal-filtros input[type="checkbox"].wc-block-product-filter-checkbox-list__input:focus-visible {
	outline: none;
	box-shadow: var(--prismal-foco);
}

.prismal-filtros .wc-block-product-filter-checkbox-list__mark {
	color: var(--wp--preset--color--base);
}

.prismal-filtros .wc-block-product-filter-checkbox-list__text-wrapper {
	display: inline;
	flex: 1 1 auto;
	line-height: 1.35;
}

.prismal-filtros .wc-block-product-filter-checkbox-list__count {
	margin-left: 0.3rem;
	color: var(--wp--preset--color--texto-suave);
	font-size: 0.8rem;
	white-space: nowrap;
}

.prismal-filtros .wc-block-product-filter__show-more {
	color: var(--wp--preset--color--azul-oscuro);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

/* Filtros activos */
.prismal-filtros .wp-block-woocommerce-product-filter-active {
	padding: 1rem;
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
}

.prismal-filtros .wp-block-woocommerce-product-filter-active .wp-block-heading {
	margin-bottom: 0;
}

.prismal-filtros .wc-block-product-filter-clear-button,
.prismal-filtros .wc-block-product-filter-clear-button .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--azul-oscuro);
	min-height: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	box-shadow: none;
}

.prismal-filtros .wc-block-product-filter-removable-chips__items {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.prismal-filtros .wc-block-product-filter-removable-chips__item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.25rem 0.4rem 0.25rem 0.75rem;
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--borde);
	font-size: 0.8rem;
	font-weight: 600;
}

.prismal-filtros .wc-block-product-filter-removable-chips__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.4rem;
	height: 1.4rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--contraste);
	cursor: pointer;
}

.prismal-filtros .wc-block-product-filter-removable-chips__remove:hover {
	background: var(--wp--preset--color--naranja-oscuro);
	color: var(--wp--preset--color--base);
}

/* Precio */
.prismal-filtros .wc-block-product-filter-price-slider {
	--wc-product-filter-price-slider-slider: var(--wp--preset--color--borde);
	--wc-product-filter-price-slider-slider-handle: var(--wp--preset--color--contraste);
	--wc-product-filter-price-slider-slider-handle-border: var(--wp--preset--color--contraste);
	--wc-product-filter-price-slider-range: var(--wp--preset--color--azul-oscuro);
}

.prismal-filtros .wc-block-product-filter-price-slider input[type="text"],
.prismal-filtros .wc-block-product-filter-price-slider input[type="number"] {
	min-height: 2.5rem;
	padding: 0.35rem 0.6rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--chico);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
}

/* Botón del cajón (móvil) y cajón */
.prismal-filtros .wc-block-product-filters__open-overlay {
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.5rem 1.1rem;
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contraste);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	cursor: pointer;
}

.prismal-filtros .wc-block-product-filters__overlay-dialog {
	font-family: inherit;
}

.prismal-filtros .wc-block-product-filters__overlay-header {
	padding: 1rem var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

.prismal-filtros .wc-block-product-filters__close-overlay {
	font-weight: 600;
	gap: 0.5rem;
	cursor: pointer;
}

.prismal-filtros .wc-block-product-filters__overlay-content {
	padding: var(--wp--preset--spacing--40);
}

.prismal-filtros .wc-block-product-filters__overlay-footer {
	padding: 1rem var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--borde);
}

.prismal-filtros .wc-block-product-filters__apply {
	width: 100%;
}

@media (max-width: 781px) {
	.prismal-catalogo__filtros {
		position: static;
		flex-basis: auto !important;
		margin-bottom: 0.5rem;
	}

	.prismal-banner-catalogo {
		min-height: 0;
	}

	.prismal-banner-catalogo::after {
		background: linear-gradient(180deg, rgba(25, 36, 61, 0.9) 0%, rgba(25, 36, 61, 0.8) 100%);
	}

	.prismal-banner-catalogo__bajada {
		font-size: var(--wp--preset--font-size--medium);
	}

	.prismal-chips-nav {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 0.25rem;
		margin-left: calc(-1 * var(--wp--preset--spacing--50));
		margin-right: calc(-1 * var(--wp--preset--spacing--50));
		padding-left: var(--wp--preset--spacing--50);
		padding-right: var(--wp--preset--spacing--50);
		scrollbar-width: none;
	}

	.prismal-chips-nav::-webkit-scrollbar {
		display: none;
	}

	.prismal-chip-nav {
		flex: 0 0 auto;
	}
}

/* Etiquetas y segunda foto en la tarjeta */
.wc-block-product-template .wc-block-components-product-image a {
	position: relative;
}

.wc-block-product-template .prismal-imagen-hover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	opacity: 0;
	transition: opacity 320ms ease;
	pointer-events: none;
}

.wc-block-product-template li.wc-block-product:hover .prismal-imagen-hover {
	opacity: 1;
}

.wc-block-product-template li.wc-block-product:hover .wc-block-components-product-image a > img:not(.prismal-imagen-hover):has(+ .prismal-imagen-hover) {
	transform: none;
}

.prismal-etiquetas-producto {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	z-index: 1;
	pointer-events: none;
}

.prismal-etiqueta-producto {
	display: inline-block;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--wp--preset--color--contraste);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(25, 36, 61, 0.1);
}

.prismal-etiqueta-producto--nuevo {
	background: var(--wp--preset--color--verde-oscuro);
	color: var(--wp--preset--color--base);
}

.prismal-etiqueta-producto--agotado {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

/* Paginación */
.wp-block-query-pagination {
	gap: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border-radius: var(--prismal-control-radio);
	color: var(--wp--preset--color--contraste);
	text-decoration: none;
	transition: background var(--prismal-transicion), color var(--prismal-transicion);
}

.wp-block-query-pagination a:hover {
	background: var(--wp--preset--color--superficie);
}

.wp-block-query-pagination .page-numbers.current {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

.wp-block-query-pagination .page-numbers.dots {
	color: var(--wp--preset--color--texto-suave);
}

.prismal-sin-resultados {
	padding: var(--wp--preset--spacing--60) 0;
}
.prismal-tienda__barra {
	padding: 0.75rem 0;
	border-top: 1px solid var(--wp--preset--color--borde);
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

.wc-block-catalog-sorting select,
.woocommerce .woocommerce-ordering select {
	min-height: 2.5rem;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
	background-color: var(--wp--preset--color--base);
}

.wc-block-product-results-count {
	color: var(--wp--preset--color--texto-suave);
}

/* Tarjeta de producto: limpia. Foto cuadrada, título, precio; el botón aparece sobre la foto al pasar el mouse. */
.wc-block-product-template > li.wc-block-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-rows: max-content;
	align-content: start;
	row-gap: 0.35rem;
}

.wc-block-product-template > li.wc-block-product > :not(:last-child) {
	margin-bottom: 0;
}

.wc-block-product-template .wc-block-components-product-image {
	grid-column: 1;
	grid-row: 1;
	margin: 0 0 0.5rem;
	border-radius: var(--wp--custom--radio--grande);
	overflow: hidden;
	background: var(--wp--preset--color--superficie);
}

.wc-block-product-template .wc-block-components-product-image a {
	display: block;
}

.wc-block-product-template .wc-block-components-product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--wp--preset--color--superficie);
	transition: transform 400ms cubic-bezier(0.2, 0, 0, 1);
}

.wc-block-product-template li.wc-block-product:hover .wc-block-components-product-image img {
	transform: scale(1.03);
}

.wc-block-product-template .wc-block-components-product-sale-badge {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	padding: 0.2rem 0.7rem;
	background: var(--wp--preset--color--naranja);
	color: var(--wp--preset--color--base);
	border: 0;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.wc-block-product-template .wp-block-post-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.35;
}

.wc-block-product-template .wp-block-post-title a {
	color: var(--wp--preset--color--contraste);
	text-decoration: none;
}

.wc-block-product-template .wp-block-post-title a:hover {
	color: var(--wp--preset--color--azul-oscuro);
}

.wc-block-product-template .wp-block-woocommerce-product-price {
	margin: 0 !important;
	color: var(--wp--preset--color--texto-suave);
	font-weight: 600;
}

.wc-block-product-template .wp-block-woocommerce-product-price ins {
	text-decoration: none;
	color: var(--wp--preset--color--contraste);
}

/* El botón vive sobre la foto: misma celda de grilla, alineado abajo. */
.wc-block-product-template > li.wc-block-product > .wp-block-woocommerce-product-button,
.wc-block-product-template > li.wc-block-product > .wc-block-components-product-button {
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	justify-self: stretch;
	z-index: 2;
	margin: 0 0.75rem 1.25rem !important;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity var(--prismal-transicion), transform var(--prismal-transicion);
	pointer-events: none;
}

.wc-block-product-template > li.wc-block-product:hover > .wp-block-woocommerce-product-button,
.wc-block-product-template > li.wc-block-product:hover > .wc-block-components-product-button,
.wc-block-product-template > li.wc-block-product:focus-within > .wp-block-woocommerce-product-button,
.wc-block-product-template > li.wc-block-product:focus-within > .wc-block-components-product-button {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.wc-block-product-template .wc-block-components-product-button .wp-block-button__link {
	width: 100%;
	min-height: 2.75rem;
	background: rgba(255, 255, 255, 0.94);
	color: var(--wp--preset--color--contraste);
	box-shadow: 0 6px 20px rgba(25, 36, 61, 0.18);
	backdrop-filter: blur(6px);
	font-size: var(--wp--preset--font-size--small);
}

.wc-block-product-template .wc-block-components-product-button .wp-block-button__link:hover {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

.wc-block-product-template .added_to_cart {
	display: none;
}

/* En táctil no hay hover: la tarjeta entera lleva a la ficha y el botón no aparece. */
@media (hover: none) {
	.wc-block-product-template > li.wc-block-product > .wp-block-woocommerce-product-button,
	.wc-block-product-template > li.wc-block-product > .wc-block-components-product-button {
		display: none;
	}
}

/* Sección de relacionados */
.prismal-relacionados {
	margin-top: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--borde);
}

/* =========================================================
   5. Ficha de producto
   ========================================================= */
.prismal-categoria a {
	color: var(--wp--preset--color--texto-suave);
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.prismal-categoria a:hover {
	color: var(--wp--preset--color--azul-oscuro);
}

/* Galería: contenedor cuadrado fijo, foto contenida sobre fondo neutro, miniaturas cuadradas. */
.woocommerce div.product div.images.woocommerce-product-gallery {
	width: 100%;
	float: none;
	margin-bottom: 0;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
	aspect-ratio: 1 / 1;
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--superficie);
	overflow: hidden;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child a,
.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child a > img,
.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a,
.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a > img {
	display: block;
	width: 100%;
	height: 100%;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image a > img,
.woocommerce-product-gallery .woocommerce-product-gallery__image .zoomImg {
	object-fit: contain;
}

.woocommerce-product-gallery .flex-viewport {
	aspect-ratio: 1 / 1;
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--superficie);
	overflow: hidden;
}

.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
	aspect-ratio: 1 / 1;
	border-radius: 0;
}

.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.6rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

/* Woo pone margin:0 con este mismo selector, más específico que el de arriba: sin esto las
   miniaturas quedan pegadas a la foto grande. */
.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: 0.75rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto;
	float: none;
	margin: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
	opacity: 0.6;
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--borde);
	cursor: pointer;
	transition: opacity var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
	opacity: 1;
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--contraste);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: 0.9rem;
	right: 0.9rem;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 4px 16px rgba(25, 36, 61, 0.16);
	transition: transform var(--prismal-transicion);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
	transform: scale(1.06);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
	top: 0.7rem;
	left: 0.7rem;
	width: 0.7rem;
	height: 0.7rem;
	border-color: var(--wp--preset--color--contraste);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after {
	top: 1.35rem;
	left: 1.4rem;
	width: 0.45rem;
	background: var(--wp--preset--color--contraste);
}

.woocommerce div.product .onsale {
	top: 0.9rem;
	left: 0.9rem;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	background: var(--wp--preset--color--naranja);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Columna de compra */
.woocommerce div.product .wp-block-woocommerce-product-price {
	margin: 0.25rem 0 0.75rem;
}

.woocommerce div.product .wp-block-woocommerce-product-price del {
	color: var(--wp--preset--color--texto-suave);
	font-weight: 400;
	font-size: 0.7em;
	margin-right: 0.4em;
}

.woocommerce div.product .wp-block-woocommerce-product-price ins {
	text-decoration: none;
}

.woocommerce div.product form.cart {
	margin: 1.5rem 0;
}

.woocommerce div.product form.cart .quantity {
	margin-right: 0.6rem;
	float: none;
}

.woocommerce div.product form.cart .button {
	flex: 1 1 auto;
}

.woocommerce div.product form.cart .prismal-compra {
	display: flex;
	align-items: stretch;
	gap: 0.6rem;
}

.prismal-ficha-envio p {
	margin: 0;
	padding-left: 1.5em;
	position: relative;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-ficha-envio p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	background: var(--wp--preset--color--verde);
}

.prismal-ficha-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	margin-top: 0.75rem;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-ficha-meta .sku_wrapper,
.prismal-ficha-meta .wp-block-post-terms {
	margin: 0;
}

/* Pestañas: de ancho completo, sin título repetido */
.wc-block-components-product-details.is-style-minimal,
.woocommerce div.product .woocommerce-tabs {
	margin-top: var(--wp--preset--spacing--60);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 2rem;
	margin: 0 0 1.5rem;
	padding: 0;
	border-bottom: 1px solid var(--wp--preset--color--borde);
	overflow: visible;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.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 {
	margin: 0 0 -1px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.75rem 0;
	color: var(--wp--preset--color--texto-suave);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--wp--preset--color--azul-oscuro);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wp--preset--color--contraste);
}

.woocommerce div.product .woocommerce-tabs .panel {
	max-width: 760px;
}

.woocommerce div.product .woocommerce-tabs .panel > h2:first-child {
	display: none;
}

.woocommerce table.woocommerce-product-attributes {
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--wp--custom--radio--medio);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td {
	padding: 0.7rem 1rem;
	border-top: 1px solid var(--wp--preset--color--borde);
	border-bottom: 0;
	background: transparent;
	font-style: normal;
}

.woocommerce table.woocommerce-product-attributes tr:first-child th,
.woocommerce table.woocommerce-product-attributes tr:first-child td {
	border-top: 0;
}

.woocommerce table.woocommerce-product-attributes th {
	width: 40%;
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--texto-suave);
	font-weight: 600;
}

.woocommerce table.woocommerce-product-attributes td p {
	margin: 0;
	padding: 0;
}

/* Opciones de impresión (color, tamaño, personalización) */
.prismal-opciones {
	display: grid;
	gap: 1.25rem;
	margin: 0 0 1.5rem;
}

.prismal-opcion {
	border: 0;
	padding: 0;
	margin: 0;
	min-width: 0;
}

.prismal-opcion legend,
.prismal-opcion > label {
	display: block;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0.5rem;
}

.prismal-opcion__valor {
	font-weight: 400;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-opcion__valor:empty::before {
	content: attr(data-vacio);
}

.prismal-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.prismal-swatch {
	position: relative;
	cursor: pointer;
}

.prismal-swatch input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.prismal-swatch__color {
	display: block;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: var(--swatch);
	border: 0;
	box-shadow: 0 0 0 1px rgba(25, 36, 61, 0.18);
	transition: transform var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.prismal-swatch:hover .prismal-swatch__color {
	transform: scale(1.08);
}

/* "La armo yo": la opción que abre los colores de cada parte. */
.prismal-swatch__texto {
	display: flex;
	align-items: center;
	height: 2.25rem;
	padding: 0 0.9rem;
	border: 1px dashed var(--wp--preset--color--borde);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--azul-oscuro);
	transition: border-color var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.prismal-swatch:hover .prismal-swatch__texto {
	border-color: var(--wp--preset--color--azul);
}

.prismal-swatch input:checked + .prismal-swatch__texto {
	border-style: solid;
	border-color: var(--wp--preset--color--contraste);
	box-shadow: 0 0 0 1px var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--contraste);
}

.prismal-swatch input:focus-visible + .prismal-swatch__texto {
	outline: 2px solid var(--wp--preset--color--azul);
	outline-offset: 2px;
}

.prismal-opciones__propia {
	display: grid;
	gap: 1.1rem;
	padding: 1rem 1.1rem 1.1rem;
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
}

.prismal-opciones__propia-titulo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--contraste);
}

.prismal-opciones__vista {
	width: 2rem;
	height: 2rem;
	flex: none;
	border-radius: 50%;
	background: var(--swatch, var(--wp--preset--color--base));
	box-shadow: 0 0 0 1px rgba(25, 36, 61, 0.18);
}

/* "Armá tu combinación": cada parte es una tarjeta numerada, con el color elegido a la vista */
.prismal-opciones__propia {
	counter-reset: parte;
}

.prismal-opciones__propia .prismal-opcion--color {
	counter-increment: parte;
	padding: 0.85rem 0.9rem 0.95rem;
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
}

/* La leyenda flota para quedar dentro de la tarjeta y no sobre su borde. */
.prismal-opciones__propia .prismal-opcion legend {
	float: left;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	margin-bottom: 0.75rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--wp--preset--color--contraste);
}

.prismal-opciones__propia .prismal-opcion legend::before {
	content: counter(parte);
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
	font-size: 0.75rem;
	font-weight: 700;
}

.prismal-opciones__propia .prismal-opcion .prismal-swatches {
	clear: both;
}

/* "Un color / Fondo y detalles": no es una parte, va sin número. */
.prismal-opciones__propia .prismal-opcion--cantidad legend::before {
	content: none;
}

/* Tarjetas plegables (theme.js les pone role="button" cuando hay más de una parte). */
.prismal-opciones__propia .prismal-opcion legend[role="button"] {
	cursor: pointer;
	user-select: none;
}

.prismal-opciones__propia .prismal-opcion legend[role="button"]::after {
	content: "";
	flex: none;
	width: 0.5rem;
	height: 0.5rem;
	margin: 0 0.2rem 0 auto;
	border-right: 2px solid var(--wp--preset--color--texto-suave);
	border-bottom: 2px solid var(--wp--preset--color--texto-suave);
	transform: translateY(0.12rem) rotate(-135deg);
	transition: transform var(--prismal-transicion);
}

.prismal-opciones__propia .prismal-opcion legend[role="button"]:focus-visible {
	outline: 2px solid var(--wp--preset--color--azul);
	outline-offset: 4px;
	border-radius: 4px;
}

.prismal-opciones__propia .prismal-opcion.is-cerrada legend {
	margin-bottom: 0;
}

.prismal-opciones__propia .prismal-opcion.is-cerrada legend[role="button"]::after {
	transform: translateY(-0.12rem) rotate(45deg);
}

.prismal-opciones__propia .prismal-opcion.is-cerrada .prismal-swatches {
	display: none;
}

.prismal-opciones__propia .prismal-opcion.is-cerrada:hover {
	border-color: var(--wp--preset--color--azul);
}

/* Punto con el color elegido junto a su nombre (theme.js pone --prismal-elegido). */
.prismal-opcion.tiene-eleccion .prismal-opcion__valor::before {
	content: "";
	display: inline-block;
	width: 0.9rem;
	height: 0.9rem;
	margin-right: 0.35rem;
	vertical-align: -0.12rem;
	border-radius: 50%;
	background: var(--prismal-elegido);
	box-shadow: 0 0 0 1px rgba(25, 36, 61, 0.18);
}

/* Con la paleta completa, cada parte muestra decenas de colores: muestras más chicas para que entren más por fila. */
.prismal-opciones__propia .prismal-swatches {
	gap: 0.45rem;
}

.prismal-opciones__propia .prismal-swatch__color {
	width: 1.8rem;
	height: 1.8rem;
}

.prismal-swatch input:checked + .prismal-swatch__color {
	outline: 2px solid var(--wp--preset--color--contraste);
	outline-offset: 3px;
}

.prismal-swatch input:focus-visible + .prismal-swatch__color {
	outline: 2px solid var(--wp--preset--color--azul);
	outline-offset: 3px;
}

.prismal-opcion select,
.prismal-opcion input[type="text"] {
	width: 100%;
	max-width: 22rem;
}

.prismal-opcion__ayuda {
	display: block;
	margin-top: 0.3rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

/* Diseños: tarjetas con la foto de cada variante del producto */
.prismal-disenos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.prismal-diseno {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 0.3rem;
	width: 5.75rem;
	padding: 0.35rem 0.35rem 0.45rem;
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
	cursor: pointer;
	transition: border-color var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.prismal-diseno input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.prismal-diseno__foto img {
	display: block;
	width: 4.9rem;
	height: 4.9rem;
	object-fit: cover;
	border-radius: calc(var(--wp--custom--radio--medio) - 3px);
}

.prismal-diseno__nombre {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

.prismal-diseno:hover {
	border-color: var(--wp--preset--color--azul);
}

.prismal-diseno:has(input:checked) {
	border-color: var(--wp--preset--color--contraste);
	box-shadow: 0 0 0 1px var(--wp--preset--color--contraste);
}

.prismal-diseno:has(input:focus-visible) {
	outline: 2px solid var(--wp--preset--color--azul);
	outline-offset: 2px;
}

/* Colores agrupados por línea de filamento (PLA, Silk, PETG) con su recargo */
.prismal-swatches__linea {
	flex-basis: 100%;
	margin-top: 0.4rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-swatches__linea:first-child {
	margin-top: 0;
}

.prismal-opciones__recargo {
	margin: -0.5rem 0 0;
}

.prismal-precio--recargo .woocommerce-Price-amount {
	transition: color var(--prismal-transicion);
}

/* Galería de la ficha: videos del producto en movimiento. Son verticales: se muestran enteros
   dentro del cuadro (contain), porque recortarlos al cuadrado cortaba el producto. */
.woocommerce div.product div.images .prismal-galeria-video {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

/* Con .wp-post-video le gana a la regla de Woo (height: auto), que dejaba el video con su alto
   natural y el cuadro lo cortaba; sin esa clase es el caso de "reducir movimiento". */
.woocommerce div.product div.images .prismal-galeria-video video,
.woocommerce div.product div.images .prismal-galeria-video video.wp-post-video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	background: var(--wp--preset--color--superficie);
}

/* Miniatura de un video: la portada con un ▶ encima. */
.woocommerce div.product div.images .flex-control-thumbs li:has(> img[alt^="Video"]) {
	position: relative;
}

.woocommerce div.product div.images .flex-control-thumbs li:has(> img[alt^="Video"])::after {
	content: "";
	position: absolute;
	inset: 0;
	width: 1.9rem;
	height: 1.9rem;
	margin: auto;
	border-radius: 50%;
	background: rgba(25, 36, 61, 0.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3.5 2.2 8 5l-4.5 2.8z' fill='white'/%3E%3C/svg%3E") center / 0.9rem no-repeat;
	pointer-events: none;
}

.prismal-ficha__nota a {
	display: block;
	margin-top: 0.4rem;
	font-weight: 600;
}


.prismal-precio-profesional {
	display: inline-block;
	margin-left: 0.5em;
	padding: 0.1em 0.6em;
	border-radius: 999px;
	background: var(--wp--preset--color--verde-oscuro);
	color: var(--wp--preset--color--base);
	font-size: 0.7em;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	vertical-align: middle;
}

/* Columna de compra fija mientras se recorre la galería */
.prismal-producto__columnas {
	align-items: flex-start;
}

.prismal-producto__compra {
	position: sticky;
	top: calc(var(--prismal-header-alto) + 1rem);
}

/* Aviso profesional y compartir */
.prismal-compra-extra {
	display: grid;
	gap: 1rem;
	margin-top: 1.25rem;
}

.prismal-aviso-pro {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0.9rem 1rem;
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--contraste);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
	transition: background var(--prismal-transicion);
}

.prismal-aviso-pro:hover {
	background: #E9EEF5;
	color: var(--wp--preset--color--contraste);
}

.prismal-aviso-pro strong {
	display: block;
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-aviso-pro__icono {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	background: var(--wp--preset--color--verde-oscuro);
	color: var(--wp--preset--color--base);
	font-weight: 800;
}

.prismal-aviso-pro--pendiente {
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-compartir {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
}

.prismal-compartir__etiqueta {
	color: var(--wp--preset--color--texto-suave);
	margin-right: 0.25rem;
}

.prismal-compartir__enlace {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.8rem;
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contraste);
	font: inherit;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: border-color var(--prismal-transicion), background var(--prismal-transicion);
}

.prismal-compartir__enlace:hover {
	border-color: var(--wp--preset--color--contraste);
}

.prismal-compartir__enlace.is-listo {
	background: var(--wp--preset--color--verde-oscuro);
	border-color: var(--wp--preset--color--verde-oscuro);
	color: var(--wp--preset--color--base);
}

/* Descripción + ficha técnica */
.prismal-ficha {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: var(--wp--preset--spacing--70);
	margin-top: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--borde);
}

.prismal-ficha--simple {
	grid-template-columns: minmax(0, 760px);
}

.prismal-ficha__titulo {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--large);
}

.prismal-ficha__titulo--para-que {
	margin-top: var(--wp--preset--spacing--50);
}

.prismal-ficha__cuerpo {
	color: var(--wp--preset--color--texto-suave);
}

.prismal-ficha__cuerpo > :first-child {
	margin-top: 0;
}

.prismal-ficha__cuerpo strong {
	color: var(--wp--preset--color--contraste);
}

.prismal-ficha__para-que {
	padding: 1.25rem 1.5rem;
	border-left: 3px solid var(--wp--preset--color--verde);
	background: var(--wp--preset--color--superficie);
	border-radius: var(--wp--custom--radio--medio);
}

.prismal-ficha__datos {
	padding: var(--wp--preset--spacing--40);
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
	align-self: start;
}

.prismal-ficha__tabla {
	margin: 0;
	display: grid;
}

.prismal-ficha__fila {
	display: grid;
	grid-template-columns: 42% 1fr;
	gap: 1rem;
	padding: 0.65rem 0;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: var(--wp--preset--font-size--small);
}

.prismal-ficha__fila:first-child {
	border-top: 0;
	padding-top: 0;
}

.prismal-ficha__fila dt {
	color: var(--wp--preset--color--texto-suave);
	font-weight: 500;
}

.prismal-ficha__fila dd {
	margin: 0;
	font-weight: 600;
}

.prismal-ficha__subtitulo {
	margin: 1.5rem 0 0.5rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contraste);
}

.prismal-ficha__incluye {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
}

.prismal-ficha__incluye li {
	padding-left: 1.4em;
	position: relative;
}

.prismal-ficha__incluye li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.6em;
	height: 0.6em;
	border-radius: 50%;
	background: var(--wp--preset--color--naranja);
}

.prismal-ficha__nota {
	margin: 1.5rem 0 0;
	font-size: 0.8rem;
	color: var(--wp--preset--color--texto-suave);
}

/* Reseñas (marcado clásico de Woo dentro del bloque product-reviews) */
.prismal-resenas {
	margin-top: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--borde);
}

.prismal-resenas:has(#reviews:empty) {
	display: none;
}

.prismal-resenas #reviews {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: var(--wp--preset--spacing--70);
}

.prismal-resenas .woocommerce-Reviews-title {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--large);
}

.prismal-resenas .woocommerce-noreviews {
	color: var(--wp--preset--color--texto-suave);
}

/* Sin valoraciones: una franja compacta; el formulario se despliega con un botón (theme.js le
   pone .is-plegable). Sin JS, el formulario sigue visible. */
.prismal-resenas:has(.woocommerce-noreviews) {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
}

.prismal-resenas #reviews:has(.woocommerce-noreviews) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding: 1.1rem 1.4rem;
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--superficie);
}

.prismal-resenas #reviews:has(.woocommerce-noreviews) #comments {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.9rem;
}

.prismal-resenas #reviews:has(.woocommerce-noreviews) .woocommerce-Reviews-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
}

.prismal-resenas #reviews:has(.woocommerce-noreviews) .woocommerce-noreviews {
	margin: 0;
}

.prismal-resenas #reviews:has(.woocommerce-noreviews) .clear {
	display: none;
}

.prismal-resenas #reviews.is-plegable:not(.is-abierto) #review_form_wrapper {
	display: none;
}

/* Abierto: el título arriba y el formulario debajo, alineados a la izquierda. */
.prismal-resenas #reviews.is-abierto {
	flex-direction: column;
	align-items: stretch;
}

.prismal-resenas #reviews.is-abierto #review_form_wrapper {
	width: 100%;
	max-width: 38rem;
}

/* La franja ya tiene fondo y relleno: el formulario no suma los suyos y queda alineado al título. */
.woocommerce .prismal-resenas #reviews.is-abierto #review_form #respond {
	padding: 0;
	background: transparent;
}

.prismal-resenas__abrir {
	padding: 0.6rem 1.15rem;
	border: 0;
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--contraste);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	cursor: pointer;
	transition: background var(--prismal-transicion), color var(--prismal-transicion);
}

.prismal-resenas__abrir:hover {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

.woocommerce #reviews #comments ol.commentlist {
	padding: 0;
	margin: 0;
	display: grid;
	gap: 1rem;
}

.woocommerce #reviews #comments ol.commentlist li {
	margin: 0;
	padding: 1.25rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--medio);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	position: static;
	float: left;
	width: 40px;
	height: 40px;
	margin: 0 0.9rem 0 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--superficie);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong {
	color: var(--wp--preset--color--contraste);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description {
	clear: both;
	padding-top: 0.75rem;
}

.woocommerce .star-rating span::before,
.woocommerce .star-rating::before,
.woocommerce p.stars a {
	color: var(--wp--preset--color--naranja-claro);
}

.woocommerce #review_form #respond {
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--superficie);
}

.woocommerce #review_form #respond .comment-reply-title {
	display: block;
	margin-bottom: 1rem;
	font-weight: 700;
}

.woocommerce #review_form #respond p {
	margin: 0 0 1rem;
}

.woocommerce #review_form #respond label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
	width: 100%;
	box-sizing: border-box;
	min-height: var(--prismal-control-alto);
	padding: 0.6rem 0.9rem;
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium);
}

.woocommerce #review_form #respond .comment-form-cookies-consent {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce #review_form #respond .comment-form-cookies-consent label {
	font-weight: 400;
	margin: 0;
}

.woocommerce #review_form #respond .form-submit input {
	width: 100%;
}

/* Barra de compra fija (solo móvil) */
.prismal-barra-compra {
	display: none;
}

@media (max-width: 781px) {
	.prismal-producto__compra {
		position: static;
	}

	.prismal-ficha,
	.prismal-resenas #reviews {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--50);
	}

	.prismal-barra-compra {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 60;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.75rem var(--wp--preset--spacing--50) calc(0.75rem + env(safe-area-inset-bottom));
		background: var(--wp--preset--color--base);
		border-top: 1px solid var(--wp--preset--color--borde);
		box-shadow: 0 -8px 24px rgba(25, 36, 61, 0.08);
	}

	.prismal-barra-compra[hidden] {
		display: none;
	}

	.prismal-barra-compra__precio {
		font-weight: 700;
		font-size: var(--wp--preset--font-size--large);
	}

	.prismal-barra-compra__precio .prismal-precio-profesional {
		display: none;
	}

	.prismal-barra-compra__boton {
		flex: 0 0 auto;
		background: var(--wp--preset--color--naranja-accion);
		color: var(--wp--preset--color--base);
	}
}

/* =========================================================
   6. Compra: pasos, carrito, checkout, confirmación
   ========================================================= */
.prismal-pasos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-pasos__paso {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	position: relative;
}

.prismal-pasos__paso a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: inherit;
	text-decoration: none;
}

.prismal-pasos__paso a:hover {
	color: var(--wp--preset--color--contraste);
}

.prismal-pasos__paso + .prismal-pasos__paso::before {
	content: "";
	position: absolute;
	left: -1.5rem;
	top: 50%;
	width: 1rem;
	height: 1px;
	background: var(--wp--preset--color--borde);
}

.prismal-pasos__numero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 999px;
	border: 1.5px solid var(--wp--preset--color--borde);
	font-size: 0.75rem;
}

.prismal-pasos__paso.is-actual {
	color: var(--wp--preset--color--contraste);
}

.prismal-pasos__paso.is-actual .prismal-pasos__numero {
	background: var(--wp--preset--color--contraste);
	border-color: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
}

.prismal-pasos__paso.is-hecho .prismal-pasos__numero {
	background: var(--wp--preset--color--verde-oscuro);
	border-color: var(--wp--preset--color--verde-oscuro);
	color: var(--wp--preset--color--base);
}

.prismal-compra-pagina .wp-block-post-title {
	margin-bottom: var(--wp--preset--spacing--40);
}

.prismal-seguir-comprando {
	margin: 1.25rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.prismal-seguir-comprando a {
	text-decoration: none;
}

.prismal-nota-pago {
	margin: 0.75rem 0 0;
	font-size: 0.8rem;
	color: var(--wp--preset--color--texto-suave);
	text-align: center;
}

/* Pedido recibido (woocommerce/checkout/thankyou.php): mismos componentes que Mi cuenta */
.prismal-recibido {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

.prismal-recibido__cabecera {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--superficie);
}

.prismal-recibido__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--wp--preset--color--verde-oscuro);
	color: var(--wp--preset--color--base);
}

.prismal-recibido__cabecera--espera .prismal-recibido__icono {
	background: var(--wp--preset--color--azul-oscuro);
}

.prismal-recibido__cabecera--error {
	background: #FDEDE4;
}

.prismal-recibido__cabecera--error .prismal-recibido__icono {
	background: var(--wp--preset--color--naranja-accion);
}

.prismal-recibido__texto {
	min-width: 0;
}

.prismal-recibido__cabecera .prismal-etiqueta {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-recibido__cabecera h1 {
	margin: 0.3rem 0 0.5rem;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.1;
}

.prismal-recibido__bajada {
	max-width: 44rem;
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

/* Resumen */
.prismal-recibido__resumen,
.prismal-recibido .woocommerce-order-details,
.prismal-recibido .woocommerce-customer-details .woocommerce-column {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--base);
}

.prismal-recibido__datos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1rem 1.5rem;
	margin: 0;
}

.prismal-recibido__datos > div {
	min-width: 0;
}

.prismal-recibido__datos dt {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-recibido__datos dd {
	margin: 0.3rem 0 0;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.prismal-recibido__mail {
	margin: 1.25rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-recibido__mail strong {
	color: var(--wp--preset--color--contraste);
	overflow-wrap: anywhere;
}

/* Qué sigue */
.prismal-recibido__sigue h2,
.prismal-recibido .woocommerce-order-details__title,
.woocommerce .prismal-recibido .woocommerce-customer-details .woocommerce-column__title {
	margin: 0 0 0.9rem;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
}

.prismal-recibido__pasos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.prismal-recibido__pasos li {
	display: grid;
	align-content: start;
	gap: 0.35rem;
	margin: 0;
	padding: 1.25rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-recibido__pasos strong {
	font-size: 1rem;
	color: var(--wp--preset--color--contraste);
}

.prismal-recibido__numero {
	display: grid;
	place-items: center;
	width: 1.9rem;
	height: 1.9rem;
	margin-bottom: 0.35rem;
	border-radius: 50%;
	background: var(--wp--preset--color--superficie);
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-recibido__pasos .is-hecho .prismal-recibido__numero {
	background: var(--wp--preset--color--verde);
	color: var(--wp--preset--color--base);
}

.prismal-recibido__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.prismal-recibido__acciones a {
	text-decoration: none;
}

.prismal-recibido .woocommerce-thankyou-order-received {
	display: none;
}

/* Detalle y direcciones de WooCommerce, como tarjetas */
.prismal-recibido .woocommerce-order-details,
.prismal-recibido .woocommerce-customer-details {
	margin: 0;
}

.prismal-recibido .woocommerce-table--order-details {
	margin: 0;
	border: 0;
}

.prismal-recibido .woocommerce-table--order-details tr > :first-child {
	padding-left: 0;
}

.prismal-recibido .woocommerce-table--order-details tr > :last-child {
	padding-right: 0;
	text-align: right;
}

.prismal-recibido .woocommerce-table--order-details tfoot tr:last-child > * {
	border-bottom: 0;
}

.prismal-recibido .woocommerce-table--order-details td.product-name a {
	color: var(--wp--preset--color--contraste);
	font-weight: 600;
	text-decoration: none;
}

.prismal-recibido .woocommerce-table--order-details .wc-item-meta {
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-recibido .woocommerce-table--order-details .wc-item-meta li {
	display: block;
	margin: 0.15rem 0;
}

.prismal-recibido .woocommerce-table--order-details .wc-item-meta li strong {
	display: inline;
	font-weight: 600;
	color: var(--wp--preset--color--contraste);
}

.prismal-recibido .woocommerce-table--order-details .wc-item-meta p {
	display: inline;
	margin: 0 0 0 0.25rem;
}

/* Con .woocommerce adelante para ganarle a las columnas flotantes de woocommerce-layout.css. */
.woocommerce .prismal-recibido .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--wp--preset--spacing--40);
}

/* El clearfix de WooCommerce (::before/::after) ocuparía celdas de la grilla. */
.woocommerce .prismal-recibido .woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce .prismal-recibido .woocommerce-customer-details .woocommerce-columns--addresses::after {
	display: none;
}

.woocommerce .prismal-recibido .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

.prismal-recibido .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	font-style: normal;
	line-height: 1.65;
	color: var(--wp--preset--color--contraste);
}

.prismal-recibido .woocommerce-customer-details address p {
	margin: 0.5rem 0 0;
	color: var(--wp--preset--color--texto-suave);
}

@media (max-width: 781px) {
	.prismal-recibido__cabecera {
		flex-direction: column;
		gap: 1rem;
	}

	.prismal-recibido__cabecera h1 {
		font-size: var(--wp--preset--font-size--x-large);
	}

	.prismal-recibido__pasos {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Cross-sells en el carrito */
.woocommerce-cart .cross-sells {
	grid-column: 1;
	margin-top: var(--wp--preset--spacing--50);
}

.woocommerce-cart .cross-sells > h2 {
	font-size: var(--wp--preset--font-size--large);
	margin-bottom: 1rem;
}

/* Mini-carrito (cajón de Woo) */
.wc-block-mini-cart__drawer {
	font-family: inherit;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	font-weight: 800;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name {
	color: var(--wp--preset--color--contraste);
	font-weight: 600;
	text-decoration: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details {
	color: var(--wp--preset--color--texto-suave);
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
	border-radius: var(--prismal-control-radio);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
	border-top: 1px solid var(--wp--preset--color--borde);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout {
	background: var(--wp--preset--color--naranja-accion) !important;
	border-color: var(--wp--preset--color--naranja-accion) !important;
	color: var(--wp--preset--color--base) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart.is-style-outline {
	background: transparent !important;
	color: var(--wp--preset--color--contraste) !important;
	border: 0 !important;
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--contraste) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart.is-style-outline:hover {
	background: var(--wp--preset--color--contraste) !important;
	color: var(--wp--preset--color--base) !important;
}

/* En el cajón no hace falta la descripción del producto: nombre, opciones y precio alcanzan. */
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description {
	display: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details {
	margin-top: 0.35rem;
	font-size: 0.8rem;
}

/* Mi cuenta: tablas de pedidos y direcciones */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
	min-height: 2.25rem;
	padding: 0.35rem 0.9rem;
	margin-right: 0.35rem;
	font-size: 0.8rem;
	background: transparent;
	color: var(--wp--preset--color--contraste);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--borde);
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:hover {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--contraste);
}

.woocommerce-account .woocommerce-orders-table__cell-order-status {
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	font-size: var(--wp--preset--font-size--large);
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
	margin: 1.5rem 0 0;
	padding: 1.25rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--medio);
}

.woocommerce-account .woocommerce-MyAccount-content legend {
	padding: 0 0.5rem;
	font-weight: 700;
}

@media (max-width: 781px) {
	.prismal-pasos {
		gap: 0.5rem 1.75rem;
	}

	.prismal-pasos__paso + .prismal-pasos__paso::before {
		left: -1.25rem;
		width: 0.75rem;
	}
}

/* Las páginas de Woo (shortcode) usan el ancho amplio, no el de lectura. */
.woocommerce-cart .wp-block-post-content > .woocommerce,
.woocommerce-checkout .wp-block-post-content > .woocommerce,
.woocommerce-account .wp-block-post-content > .woocommerce {
	max-width: var(--wp--style--global--wide-size) !important;
	margin-left: auto;
	margin-right: auto;
}

/* ---- Carrito ---- */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: var(--wp--preset--spacing--50);
	align-items: start;
}

.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .cart-empty,
.woocommerce-cart .woocommerce > .return-to-shop,
.woocommerce-cart .woocommerce > .wc-empty-cart-message {
	grid-column: 1 / -1;
}

.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-cart .woocommerce .cart-collaterals {
	width: 100%;
	position: sticky;
	top: calc(var(--prismal-header-alto) + 1rem);
}

.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
	float: none;
	box-sizing: border-box;
	width: 100%;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--superficie);
	border-radius: var(--wp--custom--radio--grande);
}

.woocommerce-cart .cart_totals h2 {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--large);
}

/* La tabla de totales se maqueta como filas flexibles: así la fila "Envío" puede
   ocupar todo el ancho con sus métodos y el selector de sucursales. */
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals table.shop_table tbody {
	display: block;
	width: 100%;
	border: 0;
}

.woocommerce-cart .cart_totals table.shop_table {
	margin-bottom: 1rem;
}

.woocommerce-cart .cart_totals table.shop_table tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce-cart .cart_totals table.shop_table th {
	font-weight: 500;
	color: var(--wp--preset--color--texto-suave);
	width: auto;
}

.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total {
	border-bottom: 0;
	padding-top: 1rem;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	color: var(--wp--preset--color--contraste);
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
}

/* ---------------------------------------------------------------------------
 * Métodos de envío (carrito y checkout)
 * La fila "Envío" ocupa todo el ancho: cada método es una tarjeta con su radio,
 * y el selector de sucursales de Correo Argentino se acomoda debajo del método.
 * ------------------------------------------------------------------------- */
.woocommerce table.shop_table tr.woocommerce-shipping-totals {
	flex-direction: column;
	align-items: stretch;
	gap: 0.5rem;
}

.woocommerce table.shop_table tr.woocommerce-shipping-totals th,
.woocommerce table.shop_table tr.woocommerce-shipping-totals td,
.woocommerce ul.woocommerce-shipping-methods,
.woocommerce .woocommerce-shipping-destination,
.woocommerce .woocommerce-shipping-calculator {
	width: 100%;
	text-align: left;
}

.woocommerce ul.woocommerce-shipping-methods {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce ul.woocommerce-shipping-methods li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 0.65rem;
	align-items: start;
	margin: 0;
	padding: 0.8rem 1rem;
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	line-height: 1.4;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce ul.woocommerce-shipping-methods li:has(input[type="radio"]:checked) {
	border-color: var(--wp--preset--color--azul);
	box-shadow: 0 0 0 1px var(--wp--preset--color--azul);
}

.woocommerce ul.woocommerce-shipping-methods li input[type="radio"] {
	margin: 0.2rem 0 0;
}

.woocommerce ul.woocommerce-shipping-methods li label {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	margin: 0;
	font-weight: 600;
	color: var(--wp--preset--color--contraste);
	cursor: pointer;
}

.woocommerce ul.woocommerce-shipping-methods li label .woocommerce-Price-amount {
	margin-left: auto;
	font-weight: 700;
	white-space: nowrap;
}

/* Un solo método: Woo lo muestra como texto, sin radio. */
.woocommerce ul.woocommerce-shipping-methods li input[type="hidden"] + label {
	grid-column: 1 / -1;
	cursor: default;
}

/* Avisos de Correo Argentino que llegan como "tarifa": dirección incompleta o sin cobertura. */
.woocommerce ul.woocommerce-shipping-methods li:has(input[value*="direccion_incompleta"]),
.woocommerce ul.woocommerce-shipping-methods li:has(input[value*="excess_dimensions"]),
.woocommerce ul.woocommerce-shipping-methods li:has(input[value$="_error"]) {
	grid-template-columns: minmax(0, 1fr);
	border-style: dashed;
	background: var(--wp--preset--color--superficie);
	box-shadow: none;
}

.woocommerce ul.woocommerce-shipping-methods li:has(input[value*="direccion_incompleta"]) input,
.woocommerce ul.woocommerce-shipping-methods li:has(input[value*="excess_dimensions"]) input,
.woocommerce ul.woocommerce-shipping-methods li:has(input[value$="_error"]) input {
	display: none;
}

.woocommerce ul.woocommerce-shipping-methods li:has(input[value*="direccion_incompleta"]) label,
.woocommerce ul.woocommerce-shipping-methods li:has(input[value*="excess_dimensions"]) label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--texto-suave);
	cursor: default;
}

.woocommerce ul.woocommerce-shipping-methods .corrarfo-warning-text {
	display: block;
	flex-basis: 100%;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--naranja-oscuro);
}

/* Selector de sucursales: provincia y sucursal, con el aspecto de los campos del theme. */
.woocommerce ul.woocommerce-shipping-methods .corrarfo-selection-wrapper {
	grid-column: 2;
	display: grid !important;
	gap: 0.5rem;
	margin-top: 0.65rem;
}

.woocommerce .corrarfo-selection-wrapper select {
	width: 100%;
	min-height: var(--prismal-control-alto);
}

.woocommerce .corrarfo-selection-wrapper .select2-container .select2-selection--single {
	min-height: var(--prismal-control-alto) !important;
	padding: 0 !important;
	border: var(--prismal-control-borde) !important;
	border-radius: var(--prismal-control-radio) !important;
	background: var(--wp--preset--color--base) !important;
}

.woocommerce .corrarfo-selection-wrapper .select2-container--focus .select2-selection--single,
.woocommerce .corrarfo-selection-wrapper .select2-container--open .select2-selection--single {
	border-color: var(--wp--preset--color--azul) !important;
	box-shadow: 0 0 0 1px var(--wp--preset--color--azul) !important;
}

.woocommerce .corrarfo-selection-wrapper .select2-container .select2-selection__rendered {
	padding: 0.55rem 2.25rem 0.55rem 0.9rem !important;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small) !important;
	font-weight: 500;
	color: var(--wp--preset--color--contraste) !important;
}

.woocommerce .corrarfo-selection-wrapper .select2-container .select2-selection__arrow {
	width: 2rem !important;
	right: 0.35rem !important;
}

.woocommerce .corrarfo-selection-wrapper .select2-container .select2-selection__arrow b {
	border-color: var(--wp--preset--color--contraste) transparent transparent;
}

.woocommerce .corrarfo-selection-wrapper .select2-container--disabled .select2-selection--single {
	background: var(--wp--preset--color--superficie) !important;
	cursor: not-allowed;
}

.woocommerce .corrarfo-selection-wrapper .select2-container--disabled .select2-selection__rendered {
	color: var(--wp--preset--color--texto-suave) !important;
}

.corrarfo-select2.select2-dropdown {
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	box-shadow: var(--wp--custom--sombra--media);
	font-family: var(--wp--preset--font-family--montserrat, inherit);
	overflow: hidden;
}

.corrarfo-select2 .select2-search--dropdown .select2-search__field {
	min-height: 2.5rem;
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	font-family: inherit;
}

.corrarfo-select2 .select2-results__option {
	color: var(--wp--preset--color--contraste);
}

.corrarfo-select2 .select2-results__option--highlighted[aria-selected] {
	background: var(--wp--preset--color--azul) !important;
	color: var(--wp--preset--color--base) !important;
}

/* Destino y calculadora del carrito, a la izquierda como el resto de la fila. */
.woocommerce .woocommerce-shipping-destination {
	margin: 0.75rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.woocommerce .woocommerce-shipping-destination strong {
	color: var(--wp--preset--color--contraste);
}

.woocommerce .woocommerce-shipping-calculator {
	margin: 0.35rem 0 0;
}

.woocommerce .woocommerce-shipping-calculator .shipping-calculator-button {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--azul-oscuro);
}

.woocommerce .woocommerce-shipping-calculator .shipping-calculator-button::after {
	display: none;
}

.woocommerce .woocommerce-shipping-calculator .shipping-calculator-form {
	margin-top: 0.75rem;
}

.woocommerce .woocommerce-shipping-calculator .shipping-calculator-form .form-row {
	margin-bottom: 0.5rem;
}

.woocommerce .woocommerce-shipping-calculator .shipping-calculator-form .button {
	width: 100%;
}

/* Ayuda del código postal: enlace al buscador oficial, debajo del campo. */
.woocommerce form .form-row .prismal-cp-ayuda {
	display: block;
	margin-top: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce form .form-row .prismal-cp-ayuda a {
	font-weight: 600;
	color: var(--wp--preset--color--azul-oscuro);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Código postal → localidad: aviso y opciones de localidad debajo de los campos. */
.woocommerce form .form-row .prismal-cp-aviso {
	display: block;
	margin-top: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--naranja-oscuro);
}

.woocommerce form .form-row select.prismal-localidad-select {
	width: 100%;
}

/* Checkout: sucursal elegida, que el plugin muestra antes de los medios de pago. */
.woocommerce-checkout .correo_argentino_review_order_section {
	margin-bottom: 1rem;
}

.woocommerce-checkout .correo_argentino_review_order_section:not(:has(address:not(:empty))) {
	display: none;
}

.woocommerce-checkout .correo_argentino_review_order_section table.shop_table,
.woocommerce-checkout .correo_argentino_review_order_section table.shop_table td {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce-checkout .correo_argentino_review_order_section address {
	display: block;
	padding: 0.8rem 1rem;
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--superficie);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	line-height: 1.5;
	color: var(--wp--preset--color--texto-suave);
}

.woocommerce-checkout .correo_argentino_review_order_section address strong {
	color: var(--wp--preset--color--contraste);
}

/* Envío a sucursal: el plugin guarda la sucursal como "dirección de envío"; esa sección
   (casilla y campos bloqueados) no se le muestra al cliente. Ver assets/js/checkout.js. */
body.prismal-envio-sucursal .woocommerce-checkout .woocommerce-shipping-fields {
	display: none;
}

.woocommerce-checkout .shipping_address .form-row select.non-interactive,
.woocommerce-checkout .shipping_address .form-row input.input-text[readonly] {
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--texto-suave);
}

/* Tabla de productos */
.woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	margin: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 1rem 0.75rem;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--borde);
	vertical-align: middle;
}

.woocommerce table.shop_table thead th {
	padding-top: 0;
	background: transparent;
	color: var(--wp--preset--color--texto-suave);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce-cart table.cart {
	width: 100%;
	table-layout: auto;
}

.woocommerce-cart table.cart td.product-remove {
	width: 2.5rem;
	padding-left: 0;
}

.woocommerce-cart table.cart td.product-thumbnail {
	width: 88px;
}

.woocommerce-cart table.cart td.product-name {
	width: auto;
	min-width: 200px;
}

.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart th.product-subtotal {
	white-space: nowrap;
	text-align: right;
}

.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart th.product-quantity {
	text-align: center;
}

.woocommerce-cart table.cart td.product-subtotal {
	font-weight: 600;
	padding-right: 0;
}

.woocommerce-cart table.cart th.product-subtotal {
	padding-right: 0;
}

.woocommerce-cart table.cart img {
	width: 72px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
}

.woocommerce-cart table.cart td.product-name a {
	color: var(--wp--preset--color--contraste);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-cart table.cart td.product-name a:hover {
	color: var(--wp--preset--color--azul-oscuro);
}

.woocommerce-cart table.cart td.product-name dl.variation {
	margin: 0.35rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.woocommerce table.shop_table dl.variation dt,
.woocommerce table.shop_table dl.variation dd {
	display: inline;
	float: none;
	margin: 0;
	padding: 0;
	font-weight: 400;
}

.woocommerce table.shop_table dl.variation dd p {
	display: inline;
	margin: 0;
}

.woocommerce table.shop_table dl.variation dd::after {
	content: " · ";
}

.woocommerce table.shop_table dl.variation dd:last-child::after {
	content: "";
}

.woocommerce a.remove {
	width: 1.75rem;
	height: 1.75rem;
	line-height: 1.6rem;
	color: var(--wp--preset--color--texto-suave) !important;
	background: transparent;
	border: 1px solid var(--wp--preset--color--borde);
	font-weight: 400;
	transition: background var(--prismal-transicion), color var(--prismal-transicion), border-color var(--prismal-transicion);
}

.woocommerce a.remove:hover {
	color: var(--wp--preset--color--base) !important;
	background: var(--wp--preset--color--naranja-oscuro);
	border-color: var(--wp--preset--color--naranja-oscuro);
}

.woocommerce-cart table.cart td.actions {
	padding: 1.25rem 0 0;
	border-bottom: 0;
}

.woocommerce-cart table.cart td.actions::after {
	content: "";
	display: block;
	clear: both;
}

.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	gap: 0.5rem;
	float: left;
}

.woocommerce-cart table.cart td.actions > .button {
	float: right;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: 12rem;
	float: none;
	margin: 0;
}

.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions > .button {
	background: transparent;
	color: var(--wp--preset--color--contraste);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--borde);
	font-size: var(--wp--preset--font-size--small);
	padding: 0.5rem 1.1rem;
}

.woocommerce-cart table.cart td.actions .coupon .button:hover,
.woocommerce-cart table.cart td.actions > .button:hover:not(:disabled) {
	background: var(--wp--preset--color--contraste);
	color: var(--wp--preset--color--base);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--contraste);
}

.woocommerce-cart table.cart td.actions > .button:disabled {
	background: transparent;
	color: var(--wp--preset--color--texto-suave);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--borde);
	opacity: 0.6;
}

.woocommerce-cart .cart-empty,
.woocommerce .wc-empty-cart-message .cart-empty {
	border-left: 0;
	background: transparent;
	padding: var(--wp--preset--spacing--60) 0 0;
	text-align: center;
	font-size: var(--wp--preset--font-size--large);
	justify-content: center;
}

.woocommerce .wc-empty-cart-message .cart-empty::before {
	display: none;
}

.woocommerce-cart .return-to-shop {
	text-align: center;
	padding-bottom: var(--wp--preset--spacing--60);
}

@media (max-width: 1023px) {
	.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-cart .woocommerce .cart-collaterals {
		position: static;
	}
}

@media (max-width: 767px) {
	.woocommerce table.shop_table_responsive tr td {
		padding: 0.6rem 0;
		border-bottom: 0;
	}

	.woocommerce table.shop_table_responsive tr {
		display: block;
		padding: 1rem 0;
		border-bottom: 1px solid var(--wp--preset--color--borde);
	}

	.woocommerce table.shop_table_responsive tr td::before {
		color: var(--wp--preset--color--texto-suave);
		font-weight: 500;
	}

	.woocommerce-cart .cart_totals table.shop_table_responsive tr {
		display: flex;
		padding: 0.7rem 0;
	}

	.woocommerce-cart .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals {
		flex-direction: column;
	}

	.woocommerce-cart .cart_totals table.shop_table_responsive tr th {
		display: block;
	}

	.woocommerce-cart .cart_totals table.shop_table_responsive tr td {
		padding: 0;
	}

	.woocommerce-cart .cart_totals table.shop_table_responsive tr td::before {
		display: none;
	}

	.woocommerce-cart table.cart td.product-thumbnail {
		display: block;
		width: 100%;
	}

	.woocommerce-cart table.cart td.product-thumbnail::before {
		display: none;
	}

	.woocommerce-cart table.cart td.product-remove {
		text-align: right;
	}

	.woocommerce-cart table.cart td.actions .coupon {
		flex-wrap: wrap;
	}

	.woocommerce-cart table.cart td.actions .coupon .input-text {
		width: 100%;
	}

	.woocommerce-cart table.cart td.actions > .button {
		width: 100%;
		margin-top: 0.75rem;
	}
}

/* =========================================================
   7. Checkout
   ========================================================= */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-bottom: 1rem;
}

.woocommerce-checkout form.checkout_coupon {
	display: flex;
	gap: 0.75rem;
	padding: 1rem;
	margin: 0 0 1.5rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
}

.woocommerce-checkout form.checkout_coupon .form-row {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce-checkout form.checkout_coupon .form-row-first {
	flex: 1 1 auto;
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	grid-template-rows: auto 1fr;
	column-gap: var(--wp--preset--spacing--60);
	row-gap: 0;
	align-items: start;
}

.woocommerce-checkout form.checkout #customer_details {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.woocommerce-checkout form.checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--large);
}

.woocommerce-checkout form.checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	position: sticky;
	top: calc(var(--prismal-header-alto) + 1rem);
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--superficie);
	border-radius: var(--wp--custom--radio--grande);
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	float: none;
	width: 100%;
}

.woocommerce-checkout .col2-set .col-2 {
	margin-top: var(--wp--preset--spacing--40);
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--large);
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1rem;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
	float: none;
	width: auto;
	grid-column: 1 / -1;
	margin: 0 0 1rem;
}

.woocommerce-checkout .form-row-first {
	grid-column: 1 !important;
}

.woocommerce-checkout .form-row-last {
	grid-column: 2 !important;
}

.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: var(--wp--preset--spacing--40);
}

/* Resumen del pedido */
.woocommerce-checkout table.woocommerce-checkout-review-order-table,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot {
	display: block;
	width: 100%;
	border: 0;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table {
	margin-bottom: 1rem;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table thead {
	display: none;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr {
	align-items: flex-start;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table th {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 56px;
	padding-left: 68px;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contraste);
	line-height: 1.4;
}

.woocommerce-checkout .prismal-resumen__foto {
	position: absolute;
	left: 0;
	top: 0;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: var(--wp--custom--radio--chico);
	background: var(--wp--preset--color--base);
}

.woocommerce-checkout .prismal-resumen__texto {
	font-weight: 600;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity {
	margin-left: 0.25rem;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity {
	color: var(--wp--preset--color--texto-suave);
	font-weight: 500;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation {
	margin: 0.2rem 0 0;
	color: var(--wp--preset--color--texto-suave);
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total {
	flex: none;
	text-align: right;
	white-space: nowrap;
	font-weight: 600;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th {
	font-weight: 500;
	color: var(--wp--preset--color--texto-suave);
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total {
	border-bottom: 0;
	padding-top: 1rem;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	color: var(--wp--preset--color--contraste);
}

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border-bottom: 0;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: 0.85rem 1rem;
	margin-bottom: 0.5rem;
	border: var(--prismal-control-borde);
	border-radius: var(--prismal-control-radio);
	background: var(--wp--preset--color--base);
	line-height: 1.4;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline;
	font-weight: 600;
}

.woocommerce-checkout #payment ul.payment_methods li img {
	max-height: 26px;
	margin-left: 0.5rem;
	vertical-align: middle;
}

.woocommerce-checkout #payment div.payment_box {
	margin: 0.75rem 0 0;
	padding: 0.75rem 0 0;
	background: transparent;
	border-top: 1px solid var(--wp--preset--color--borde);
	border-radius: 0;
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment div.form-row.place-order {
	padding: 0.5rem 0 0;
}

.woocommerce-checkout #payment #place_order {
	width: 100%;
	float: none;
	font-size: var(--wp--preset--font-size--medium);
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-account .woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

@media (max-width: 1023px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce-checkout form.checkout #order_review_heading {
		margin-top: var(--wp--preset--spacing--40);
	}

	.woocommerce-checkout form.checkout #order_review {
		position: static;
	}
}

@media (max-width: 599px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		grid-column: 1 !important;
	}

	.woocommerce-checkout form.checkout_coupon {
		flex-direction: column;
	}
}

/* =========================================================
   8. Mi cuenta
   ========================================================= */
.woocommerce-account #customer_login.u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
}

/* Los pseudo-elementos de limpieza de Woo ocuparían celdas de la grilla. */
.woocommerce-account #customer_login.u-columns::before,
.woocommerce-account #customer_login.u-columns::after,
.woocommerce-cart .woocommerce::before,
.woocommerce-cart .woocommerce::after,
.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after {
	display: none;
}

.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
	float: none;
	width: 100%;
}

.woocommerce-account #customer_login h2 {
	font-size: var(--wp--preset--font-size--large);
	margin-bottom: 1rem;
}

.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-account form.woocommerce-ResetPassword {
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--base);
}

.woocommerce-account .u-column2 form.woocommerce-form-register {
	background: var(--wp--preset--color--superficie);
	border-color: transparent;
}

.woocommerce-account form .woocommerce-form-row,
.woocommerce-account form .form-row {
	margin: 0 0 1rem;
}

.woocommerce-account form .woocommerce-form-row label,
.woocommerce-account form .form-row label {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-account form .woocommerce-Input {
	width: 100%;
}

.woocommerce-account form .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1rem;
	font-weight: 400;
}

.woocommerce-account form .woocommerce-form-login__submit,
.woocommerce-account form .woocommerce-form-register__submit,
.woocommerce-account form.woocommerce-ResetPassword .button {
	width: 100%;
}

.woocommerce-account .woocommerce-LostPassword {
	margin: 1rem 0 0;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-account .woocommerce-password-strength,
.woocommerce-account .woocommerce-password-hint {
	font-size: var(--wp--preset--font-size--small);
}

/* Casillas del registro: promociones y términos y condiciones. */
.woocommerce form .prismal-registro-casilla {
	margin-bottom: 0.6rem;
}

.woocommerce form .prismal-registro-casilla label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-weight: 400;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	cursor: pointer;
}

.woocommerce form .prismal-registro-casilla input {
	flex: none;
	margin-top: 0.2rem;
}

/* Solicitud profesional: salud o educación muestran sus campos (matrícula o documento), sin JS. */
.prismal-registro--salud,
.prismal-registro--educacion {
	display: none;
}

.prismal-registro-ayuda {
	display: block;
	margin-top: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

/* Solicitud de cuenta profesional (página Profesionales, #solicitud) y pedido de cotización
   (Impresiones a medida, #cotizacion): la misma métrica. */
.prismal-solicitud,
.prismal-cotizacion {
	scroll-margin-top: calc(var(--prismal-header-alto) + 1rem);
}

.prismal-solicitud__form,
.prismal-cotizacion__form {
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--superficie);
}

.prismal-solicitud__grupo,
.prismal-cotizacion__grupo {
	min-width: 0;
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
}

.prismal-solicitud__grupo > legend,
.prismal-cotizacion__grupo > legend {
	margin-bottom: 0.85rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	color: var(--wp--preset--color--contraste);
}

.prismal-solicitud__cuenta {
	margin: 0 0 1.25rem;
}

.prismal-solicitud .prismal-registro-area {
	margin-bottom: 1rem;
}

.prismal-registro-area__titulo {
	display: block;
	margin-bottom: 0.4rem;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.prismal-solicitud .prismal-registro-area label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-right: 1.5rem;
	font-weight: 500;
	cursor: pointer;
}

.prismal-solicitud:has(input[value="salud"]:checked) .prismal-registro--salud,
.prismal-solicitud:has(input[value="educacion"]:checked) .prismal-registro--educacion {
	display: block;
}

.prismal-solicitud .prismal-registro-casilla,
.prismal-cotizacion .prismal-registro-casilla {
	margin: 0 0 0.6rem;
}

.prismal-solicitud .prismal-registro-casilla label,
.prismal-cotizacion .prismal-registro-casilla label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-weight: 400;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	cursor: pointer;
}

.prismal-solicitud .prismal-registro-casilla input,
.prismal-cotizacion .prismal-registro-casilla input {
	flex: none;
	margin-top: 0.2rem;
}

/* Pedido con un color sin stock: el cliente elige otro color o cancela (página pedido-color). */
.prismal-eleccion {
	max-width: 720px;
}

.prismal-eleccion__intro {
	margin-bottom: 1.5rem;
}

.prismal-eleccion__item {
	min-width: 0;
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
}

.prismal-eleccion__item > legend {
	margin-bottom: 0.6rem;
	font-weight: 700;
}

.prismal-eleccion__botones {
	gap: 0.75rem;
}

.prismal-eleccion .wp-element-button.prismal-eleccion__cancelar {
	background: transparent;
	color: var(--wp--preset--color--contraste);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--borde);
}

.prismal-eleccion .wp-element-button.prismal-eleccion__cancelar:hover {
	background: var(--wp--preset--color--superficie);
}

.prismal-form__error {
	display: block;
	margin-top: 0.3rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--naranja-accion);
}

.prismal-form__campo.tiene-error input,
.prismal-form__campo.tiene-error select,
.prismal-form__campo.tiene-error textarea {
	border-color: var(--wp--preset--color--naranja-accion);
}

/* Cotización: los dos caminos como tarjetas; cada camino muestra sus campos y textos, sin JS. */
.prismal-cot-tipos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.prismal-cot-tipo {
	position: relative;
	display: grid;
	align-content: start;
	gap: 0.25rem;
	padding: 1rem 1.1rem 1rem 2.9rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
	cursor: pointer;
	transition: border-color var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.prismal-cot-tipo input {
	position: absolute;
	top: 1.2rem;
	left: 1.1rem;
	margin: 0;
}

.prismal-cot-tipo:has(input:checked),
.prismal-cot-opciones .prismal-cot-opcion:has(input:checked) {
	border-color: var(--wp--preset--color--azul);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--azul);
}

.prismal-cot-tipo:has(input:focus-visible),
.prismal-cot-opciones .prismal-cot-opcion:has(input:focus-visible) {
	box-shadow: var(--prismal-foco);
}

.prismal-cot-tipo__titulo {
	font-weight: 700;
}

.prismal-cot-tipo__texto {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cot-tipos.tiene-error .prismal-cot-tipo,
.prismal-cot-materiales.tiene-error .prismal-cot-opcion {
	border-color: var(--wp--preset--color--naranja-accion);
}

.prismal-cotizacion__pieza {
	display: flex;
	flex-direction: column;
}

.prismal-cotizacion:has(input[name="tipo"][value="diseno"]:checked) .prismal-cot-descripcion {
	order: -1;
}

.prismal-cotizacion:not(:has(input[name="tipo"][value="diseno"]:checked)) .prismal-cot--diseno,
.prismal-cotizacion:has(input[name="tipo"][value="diseno"]:checked) .prismal-cot--archivo {
	display: none;
}

.prismal-cot-opciones {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.5rem;
}

.prismal-cot-opciones .prismal-cot-opcion {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-content: start;
	gap: 0.15rem 0.5rem;
	margin: 0;
	padding: 0.75rem 0.9rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
	font-weight: 400;
	cursor: pointer;
	transition: border-color var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.prismal-cot-opciones .prismal-cot-opcion input {
	grid-row: span 2;
	align-self: start;
	width: auto;
	height: auto;
	min-height: 0;
	margin: 0.2rem 0 0;
	padding: 0;
	box-shadow: none;
}

.prismal-cot-opcion__nombre {
	font-weight: 700;
}

.prismal-cot-opcion__texto {
	font-size: 0.75rem;
	line-height: 1.35;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cot-telefono {
	max-width: calc(50% - 0.5rem);
}

@media (max-width: 781px) {
	.prismal-cot-opciones {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.prismal-cot-tipos {
		grid-template-columns: minmax(0, 1fr);
	}

	.prismal-cot-telefono {
		max-width: none;
	}
}

/* Página Impresiones a medida: los dos caminos y los pasos. */
.prismal-caminos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	list-style: none;
}

.prismal-caminos__item {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--base);
	box-shadow: var(--wp--custom--sombra--tarjeta);
}

.prismal-caminos__item h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
}

.prismal-caminos__item p {
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-caminos__item ul {
	display: grid;
	gap: 0.4rem;
	margin: 0;
	padding-left: 1.1rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-caminos__enlace {
	margin-top: auto;
	padding-top: 0.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--azul-oscuro);
	text-decoration: none;
}

.prismal-caminos__enlace:hover {
	text-decoration: underline;
}

.prismal-pasos-pro--cuatro {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1023px) {
	.prismal-pasos-pro--cuatro {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Página Nosotros: las tres disciplinas del equipo y las imágenes ilustrativas. */
.prismal-beneficios--tres {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.prismal-nosotros-imagen {
	margin-top: 0;
	margin-bottom: var(--wp--preset--spacing--50) !important;
}

.prismal-nosotros-imagen img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--custom--radio--grande);
	box-shadow: var(--wp--custom--sombra--tarjeta);
}

@media (max-width: 781px) {
	.prismal-caminos,
	.prismal-pasos-pro--cuatro,
	.prismal-beneficios--tres {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Mi cuenta (rediseño del 14/09/2026: inc/cuenta.php y woocommerce/myaccount/) */

/* Con sesión, el encabezado propio reemplaza al título de la página. */
.woocommerce-account.logged-in .wp-block-post-title {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

.woocommerce-account.logged-in .woocommerce {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
	align-items: start;
}

.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none;
}

.prismal-cuenta__cabecera {
	grid-column: 1 / -1;
	padding-bottom: var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

.prismal-cuenta__cabecera .prismal-etiqueta {
	margin: 0;
	color: var(--wp--preset--color--azul-oscuro);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.prismal-cuenta__cabecera h1 {
	margin: 0.35rem 0 0;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.1;
}

.prismal-cuenta__bajada {
	margin: 0.5rem 0 0;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-icono {
	flex: none;
}

/* Menú lateral: los estilos de WooCommerce para temas de bloques separaban mucho las opciones. */
.prismal-cuenta-menu {
	position: sticky;
	top: calc(var(--prismal-header-alto) + 1.5rem);
}

.woocommerce-account .woocommerce-MyAccount-navigation.prismal-cuenta-menu ul {
	display: grid;
	gap: 0.25rem;
	margin: 0;
	padding: 0.5rem;
	list-style: none;
	background: var(--wp--preset--color--superficie);
	border-radius: var(--wp--custom--radio--grande);
}

.woocommerce-account .woocommerce-MyAccount-navigation.prismal-cuenta-menu ul li {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation.prismal-cuenta-menu ul li a {
	text-decoration: none;
}

.woocommerce-account .prismal-cuenta-menu a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.7rem 0.9rem;
	border-radius: var(--wp--custom--radio--medio);
	color: var(--wp--preset--color--contraste);
	font-weight: 500;
	text-decoration: none;
	transition: background var(--prismal-transicion), box-shadow var(--prismal-transicion);
}

.woocommerce-account .prismal-cuenta-menu a:hover {
	background: var(--wp--preset--color--base);
}

.woocommerce-account .prismal-cuenta-menu .is-active a {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--azul-oscuro);
	font-weight: 700;
	box-shadow: var(--wp--custom--sombra--tarjeta);
}

.woocommerce-account .prismal-cuenta-menu .is-active .prismal-cuenta-icono {
	color: var(--wp--preset--color--verde);
}

.woocommerce-account .woocommerce-MyAccount-navigation.prismal-cuenta-menu .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 0.35rem;
	padding-top: 0.35rem;
	border-top: 1px solid var(--wp--preset--color--borde);
}

.woocommerce-account .prismal-cuenta-menu .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--wp--preset--color--texto-suave);
}

/* Tarjetas */
.prismal-cuenta-pedido,
.prismal-cuenta-detalle,
.prismal-cuenta-novedades,
.prismal-cuenta-direccion,
.prismal-cuenta-bloque,
.prismal-cuenta-vacio,
.woocommerce-account .woocommerce-MyAccount-content > form:not(.prismal-cuenta-form) {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--wp--preset--color--base);
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
}

/* Al editar una dirección, el título ya está en el encabezado. */
.woocommerce-account .woocommerce-MyAccount-content > form > h2:first-child {
	display: none;
}

.prismal-cuenta-inicio__titulo h2,
.prismal-cuenta-novedades h2,
.prismal-cuenta-bloque h2,
.prismal-cuenta-direccion h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
}

.prismal-cuenta-ayuda {
	display: block;
	margin: 0.35rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.woocommerce-account .prismal-cuenta-menu a,
.woocommerce-account .prismal-cuenta-acceso,
.woocommerce-account .prismal-cuenta-pedido .wp-element-button,
.woocommerce-account .prismal-cuenta-direccion .wp-element-button {
	text-decoration: none;
}

.prismal-boton-contorno {
	background: transparent !important;
	color: var(--wp--preset--color--contraste) !important;
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--borde);
}

.prismal-boton-contorno:hover {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--contraste);
}

.prismal-boton-texto {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--texto-suave);
}

/* Estado del pedido en color */
.prismal-estado {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 0.45rem;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.prismal-estado::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: currentColor;
}

.prismal-estado--curso {
	background: #E7EFF8;
	color: #04598D;
}

.prismal-estado--viaje {
	background: #E0F3F2;
	color: #04707E;
}

.prismal-estado--listo {
	background: #E6F4EA;
	color: #1F6E3F;
}

.prismal-estado--aviso {
	background: #FDEDE4;
	color: #A3420C;
}

.prismal-estado--apagado {
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--texto-suave);
}

/* Inicio */
.prismal-cuenta-inicio {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

.prismal-cuenta-inicio__titulo {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.75rem;
}

.prismal-cuenta-inicio__titulo a {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-cuenta-accesos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--30);
}

.prismal-cuenta-acceso {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 1rem 1.1rem;
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contraste);
	transition: box-shadow var(--prismal-transicion), transform var(--prismal-transicion);
}

.prismal-cuenta-acceso:hover {
	box-shadow: var(--wp--custom--sombra--tarjeta);
	transform: translateY(-2px);
}

.prismal-cuenta-acceso__icono,
.prismal-cuenta-direccion__icono,
.prismal-cuenta-pro__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--superficie);
	color: var(--wp--preset--color--azul-oscuro);
}

.prismal-cuenta-acceso__texto {
	display: grid;
	flex: 1;
	min-width: 0;
}

.prismal-cuenta-acceso__texto span {
	overflow: hidden;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.prismal-cuenta-acceso > .prismal-cuenta-icono {
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-pro {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	border-radius: var(--wp--custom--radio--grande);
	background: var(--wp--preset--color--superficie);
}

.prismal-cuenta-pro h2 {
	margin: 0 0 0.3rem;
	font-size: var(--wp--preset--font-size--large);
}

.prismal-cuenta-pro p {
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-pro__icono {
	background: var(--wp--preset--color--base);
	color: #04707E;
}

.prismal-cuenta-pro__enlace {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.75rem;
	font-weight: 700;
	color: var(--wp--preset--color--azul-oscuro);
	text-decoration: none;
}

.prismal-cuenta-pro__enlace:hover {
	text-decoration: underline;
}

.prismal-cuenta-pro.is-activa {
	background: #E0F3F2;
}

.prismal-cuenta-pro.is-pendiente {
	background: #FFF4E8;
}

.prismal-cuenta-pro.is-pendiente .prismal-cuenta-pro__icono {
	color: #A3420C;
}

.prismal-cuenta-pro.is-invitacion {
	background: var(--wp--preset--gradient--profundo);
	color: var(--wp--preset--color--base);
}

.prismal-cuenta-pro.is-invitacion h2 {
	color: #FFFFFF;
}

.prismal-cuenta-pro.is-invitacion p {
	color: #C9D6E4;
}

.prismal-cuenta-pro.is-invitacion .prismal-cuenta-pro__icono {
	background: rgba(255, 255, 255, 0.12);
	color: var(--wp--preset--color--verde-claro);
}

.prismal-cuenta-pro.is-invitacion .prismal-cuenta-pro__enlace {
	color: var(--wp--preset--color--base);
}

.prismal-cuenta-vacio {
	display: grid;
	justify-items: center;
	gap: 0.75rem;
	text-align: center;
	background: var(--wp--preset--color--superficie);
	border-style: dashed;
}

.prismal-cuenta-vacio > .prismal-cuenta-icono {
	width: 2.5rem;
	height: 2.5rem;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-vacio p {
	max-width: 32rem;
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

/* Pedidos */
.prismal-cuenta-pedidos {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding: 0;
	list-style: none;
}

.prismal-cuenta-pedidos > li {
	margin: 0;
}

.prismal-cuenta-pedido {
	display: grid;
	gap: 1rem;
}

.prismal-cuenta-pedido__cabecera {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.prismal-cuenta-pedido__numero {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
}

.prismal-cuenta-pedido__numero a {
	color: inherit;
	text-decoration: none;
}

.prismal-cuenta-pedido__numero a:hover {
	text-decoration: underline;
}

.prismal-cuenta-pedido__meta {
	margin: 0.2rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-pedido__cuerpo {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1rem;
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
}

.prismal-cuenta-pedido__fotos {
	display: flex;
	flex: none;
}

.prismal-cuenta-pedido__fotos img {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border: 2px solid var(--wp--preset--color--base);
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--base);
}

.prismal-cuenta-pedido__fotos img + img {
	margin-left: -14px;
}

.prismal-cuenta-pedido__productos {
	flex: 1;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
}

.prismal-cuenta-pedido__total {
	margin: 0;
	font-weight: 700;
	white-space: nowrap;
}

.prismal-cuenta-pedido__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
}

.prismal-cuenta-pedido__acciones .wp-element-button,
.prismal-cuenta-direccion .wp-element-button,
.prismal-cuenta-paginas .wp-element-button {
	min-height: 2.5rem;
	padding: 0.55rem 1.15rem;
	font-size: var(--wp--preset--font-size--small);
}

.prismal-cuenta-paginas {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: var(--wp--preset--spacing--40);
}

/* Pasos del circuito */
.prismal-cuenta-pasos {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.prismal-cuenta-pasos li {
	position: relative;
	margin: 0;
	padding-top: 1.6rem;
	text-align: center;
	font-size: 0.8rem;
	line-height: 1.3;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-pasos li::before {
	content: "";
	position: absolute;
	top: 0.3rem;
	left: 50%;
	z-index: 1;
	width: 0.9rem;
	height: 0.9rem;
	border: 2px solid var(--wp--preset--color--borde);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	transform: translateX(-50%);
}

.prismal-cuenta-pasos li + li::after {
	content: "";
	position: absolute;
	top: 0.7rem;
	right: 50%;
	width: 100%;
	height: 2px;
	background: var(--wp--preset--color--borde);
}

.prismal-cuenta-pasos .is-hecho::before {
	border-color: var(--wp--preset--color--verde);
	background: var(--wp--preset--color--verde);
}

.prismal-cuenta-pasos .is-hecho::after,
.prismal-cuenta-pasos .is-actual::after {
	background: var(--wp--preset--color--verde);
}

.prismal-cuenta-pasos .is-actual {
	color: var(--wp--preset--color--contraste);
	font-weight: 700;
}

.prismal-cuenta-pasos .is-actual::before {
	border-color: var(--wp--preset--color--verde);
	box-shadow: 0 0 0 4px rgba(49, 186, 184, 0.25);
}

/* Avisos del pedido */
.prismal-cuenta-aviso {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border-radius: var(--wp--custom--radio--medio);
	background: var(--wp--preset--color--superficie);
	font-size: var(--wp--preset--font-size--small);
}

.prismal-cuenta-aviso p {
	margin: 0;
}

.prismal-cuenta-aviso a {
	font-weight: 700;
}

.prismal-cuenta-aviso--atencion {
	background: #FDEDE4;
	color: #7A3009;
}

.prismal-cuenta-aviso--atencion a {
	color: inherit;
}

.prismal-cuenta-aviso--envio {
	background: #E0F3F2;
}

.prismal-cuenta-aviso--envio .prismal-cuenta-icono {
	color: #04707E;
}

/* Detalle del pedido */
.prismal-cuenta-detalle {
	display: grid;
	gap: 1.25rem;
}

.prismal-cuenta-detalle__datos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1rem;
	margin: 0;
}

.prismal-cuenta-detalle__datos dt {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-detalle__datos dd {
	margin: 0.3rem 0 0;
	font-weight: 600;
}

.prismal-cuenta-novedades,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
	margin-top: var(--wp--preset--spacing--40);
}

/* Detalle de productos y direcciones de WooCommerce, como tarjetas del mismo sistema. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--wp--preset--color--base);
	border: var(--prismal-control-borde);
	border-radius: var(--wp--custom--radio--grande);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details table.shop_table {
	margin: 0;
	border: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details table.shop_table tr > :first-child {
	padding-left: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details table.shop_table tr > :last-child {
	padding-right: 0;
	text-align: right;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details table.shop_table tfoot tr:last-child > * {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
}

/* El clearfix de WooCommerce (::before/::after) ocuparía celdas de la grilla. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses::after {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	font-style: normal;
	line-height: 1.65;
}

@media (max-width: 781px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: minmax(0, 1fr);
	}
}

.prismal-cuenta-novedades ol {
	display: grid;
	gap: 0.85rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.prismal-cuenta-novedades li {
	margin: 0;
	padding-left: 1rem;
	border-left: 3px solid var(--wp--preset--color--verde);
}

.prismal-cuenta-novedades time {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-novedades li p {
	margin: 0.2rem 0 0;
}

/* Direcciones */
.prismal-cuenta-direcciones {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
}

.woocommerce-account .prismal-cuenta-direccion {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	float: none;
	width: auto;
	max-width: none;
}

.prismal-cuenta-direccion__cabecera {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.prismal-cuenta-direccion address {
	flex: 1;
	margin: 0;
	font-style: normal;
	line-height: 1.65;
}

.prismal-cuenta-direccion__extra {
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-direccion__vacia {
	flex: 1;
	margin: 0;
	color: var(--wp--preset--color--texto-suave);
}

.prismal-cuenta-direccion .wp-element-button {
	align-self: flex-start;
}

/* Mis datos */
.woocommerce-account form.prismal-cuenta-form {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.prismal-cuenta-bloque > h2 {
	margin-bottom: 1rem;
}

.prismal-cuenta-bloque > .prismal-cuenta-ayuda {
	margin: -0.5rem 0 1rem;
}

.prismal-cuenta-bloque__fila {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.woocommerce-account .prismal-cuenta-bloque .form-row {
	float: none;
	width: auto;
}

.woocommerce-account form .prismal-cuenta-casilla label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-weight: 400;
}

.prismal-cuenta-form__acciones {
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	.prismal-cuenta-acceso:hover {
		transform: none;
	}
}

@media (max-width: 781px) {
	.woocommerce-account #customer_login.u-columns,
	.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}

	.prismal-cuenta-menu {
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation.prismal-cuenta-menu ul {
		display: flex;
		flex-wrap: wrap;
	}

	.woocommerce-account .prismal-cuenta-menu a {
		padding: 0.55rem 0.8rem;
		white-space: nowrap;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation.prismal-cuenta-menu .woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0;
		padding: 0;
		border: 0;
	}

	.prismal-cuenta-accesos,
	.prismal-cuenta-direcciones,
	.prismal-cuenta-bloque__fila {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Fotos y total arriba; los nombres de los productos, abajo a todo el ancho. */
	.prismal-cuenta-pedido__cuerpo {
		flex-wrap: wrap;
		row-gap: 0.6rem;
	}

	.prismal-cuenta-pedido__total {
		order: 1;
		margin-left: auto;
	}

	.prismal-cuenta-pedido__productos {
		order: 2;
		flex-basis: 100%;
	}

	.prismal-cuenta-pasos {
		grid-auto-flow: row;
		gap: 0.75rem;
	}

	.prismal-cuenta-pasos li {
		padding: 0 0 0 1.75rem;
		text-align: left;
	}

	.prismal-cuenta-pasos li::before {
		top: 0.1rem;
		left: 0;
		transform: none;
	}

	.prismal-cuenta-pasos li + li::after {
		top: -0.75rem;
		right: auto;
		left: calc(0.45rem - 1px);
		width: 2px;
		height: 0.85rem;
	}
}

/* =========================================================
   9. Pie de página
   ========================================================= */
/* Data Fiscal de ARCA, debajo de los medios de pago. */
.prismal-data-fiscal {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--40);
	line-height: 0;
}

.prismal-data-fiscal img {
	width: 64px;
	height: auto;
	border-radius: 4px;
}

.prismal-footer a,
.prismal-footer .wp-block-site-title a {
	color: inherit;
}

.prismal-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

.prismal-footer ul li {
	margin: 0;
}

.prismal-footer ul li a {
	color: #C9D6E4;
	text-decoration: none;
	transition: color var(--prismal-transicion);
}

.prismal-footer ul li a:hover {
	color: var(--wp--preset--color--base);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.prismal-footer .wp-block-heading {
	margin-bottom: 1rem;
}

.prismal-footer p {
	color: #C9D6E4;
}

@media (min-width: 782px) and (max-width: 1080px) {
	.prismal-footer .wp-block-columns {
		flex-wrap: wrap !important;
		row-gap: var(--wp--preset--spacing--50);
	}

	.prismal-footer .wp-block-column {
		flex-basis: calc(50% - var(--wp--style--block-gap, 2em) / 2) !important;
	}
}

/* =========================================================
   10. Pantallas chicas: producto y varios
   ========================================================= */
@media (max-width: 781px) {
	.woocommerce div.product form.cart .prismal-compra {
		flex-wrap: wrap;
	}

	.woocommerce div.product form.cart .button {
		width: 100%;
		flex-basis: 100%;
	}

	.woocommerce-product-gallery .flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs {
		gap: 1.25rem;
		overflow-x: auto;
	}
}
