/* ==========================================================================
   Airea Shop · piezas del lienzo «Webs de Airea Digital» (tableros Airea Shop)
   Medidas, colores y tipos copiados del lienzo: caja de 1280 px con 24 px de
   margen; en móvil (≤ 860 px), 20 px y el diseño del tablero móvil.
   1. Base   2. Cinta   3. Cabecera   4. Menú y cajón   5. Barra móvil
   6. Portada (carrusel y laterales)   7. Secciones   8. Tarjeta de producto
   9. Bandas   10. Pie   11. Avisos   12. Móvil   13. Menos movimiento
   ========================================================================== */

/* ---------- 1. Base ---------- */
body.airea-tienda {
	--ts-tinta: #0d2b3e;
	--ts-tinta-hover: #163f59;
	--ts-alisio: #12a68e;
	--ts-claro: #46e3c8;
	--ts-claro-hover: #7aeed9;
	--ts-arena: #f5f2ec;
	--ts-borde: rgba(13, 43, 62, 0.12);
	--ts-borde-suave: rgba(13, 43, 62, 0.10);
	--ts-suave: rgba(13, 43, 62, 0.72);
	--ts-display: "Airea Display", Inter, system-ui, sans-serif;
	--ts-texto: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	--ts-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--ts-cinta: 38px;
	background: #ffffff;
	color: var(--ts-tinta);
}

.ts-caja {
	box-sizing: border-box;
	width: 100%;
	max-width: 1328px; /* 1280 px de contenido + 24 px a cada lado, como el lienzo */
	margin-inline: auto;
	padding-inline: 24px;
}

.airea-tienda .airea-contenido > *,
.airea-tienda .airea-landing > * {
	margin-block: 0;
}

.ts-cab-bloque button,
.ts-portada button,
.ts-seccion button,
.ts-pie button {
	font: inherit;
	color: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.ts-cab-bloque a,
.ts-portada a,
.ts-seccion a,
.ts-pie a {
	text-decoration: none;
}

.ts-px {
	display: inline-block;
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 26%;
	background: var(--ts-alisio);
}

.ts-px.is-claro {
	background: var(--ts-claro);
}

.ts-px.is-grande {
	width: 10px;
	height: 10px;
}

.ts-eti {
	font-family: var(--ts-mono);
	font-size: 12px;
	letter-spacing: 0.15em;
	color: var(--ts-suave);
	text-transform: uppercase;
}

.ts-eti.is-claro {
	color: var(--ts-claro);
}

.ts-verde {
	color: var(--ts-alisio);
}

.ts-verde-claro {
	color: var(--ts-claro);
}

.ts-blanco {
	color: #ffffff;
}

.ts-h2 {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
	letter-spacing: 0;
	color: var(--ts-tinta);
}

.ts-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: 14px 24px;
	border: 0;
	border-radius: 12px;
	background: var(--ts-tinta);
	color: #ffffff !important;
	font-family: var(--ts-texto);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ts-btn:hover {
	background: var(--ts-tinta-hover);
	color: #ffffff !important;
}

.ts-btn.is-claro {
	background: var(--ts-claro);
	color: var(--ts-tinta) !important;
}

.ts-btn.is-claro:hover {
	background: var(--ts-claro-hover);
}

.ts-btn.is-contorno {
	background: transparent;
	color: var(--ts-tinta) !important;
	border: 1px solid rgba(13, 43, 62, 0.20);
}

.ts-btn.is-contorno:hover {
	border-color: var(--ts-tinta);
	background: transparent;
}

.ts-btn.is-contorno-claro {
	background: transparent;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.ts-btn.is-contorno-claro:hover {
	border-color: #ffffff;
	background: rgba(255, 255, 255, 0.06);
}

.ts-flecha-txt {
	display: inline-block;
	transition: transform 0.25s ease;
}

a:hover > .ts-flecha-txt {
	transform: translateX(4px);
}

.ts-solo-movil {
	display: none !important;
}

.ts-saltar {
	position: absolute;
	left: 12px;
	top: -60px;
	z-index: 100;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--ts-tinta);
	color: #ffffff !important;
}

.ts-saltar:focus {
	top: 12px;
}

/* Solo la cabecera (logo, buscador y menú) se queda pegada arriba; la cinta se
   va con el scroll. Los envoltorios no cuentan como caja, así la cabecera se
   pega durante toda la página y no solo dentro de la parte de plantilla. */
.airea-tienda .wp-block-template-part:has(> .ts-cab-bloque),
.airea-tienda header:has(> .ts-cab-bloque),
.airea-tienda .ts-cab-bloque {
	display: contents;
}

.airea-tienda .ts-cab {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}

/* En móvil pequeño la barra de WordPress no está fija: la cabecera, arriba del todo. */
@media (max-width: 600px) {
	.airea-tienda .ts-cab {
		top: 0;
	}
}

/* ---------- 2. Cinta ---------- */
.ts-cinta {
	height: var(--ts-cinta);
	overflow: hidden;
	overflow: clip;
	background: var(--ts-tinta);
	color: #ffffff;
	font-family: var(--ts-texto);
	font-size: 13px;
	line-height: 18px;
	white-space: nowrap;
}

/* Sin hueco entre tandas: cada tanda lleva su espacio al final, así -50 % cae
   justo donde empieza la segunda mitad y el bucle no da salto. */
.ts-cinta__pista {
	display: inline-flex;
	padding: 10px 0;
	animation: ts-cinta 84s linear infinite;
}

.ts-cinta:hover .ts-cinta__pista,
.ts-cinta:focus-within .ts-cinta__pista {
	animation-play-state: paused;
}

.ts-cinta__tramo {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 48px;
	padding-right: 48px;
}

.ts-cinta__aviso {
	color: #ffffff !important;
	text-decoration: none !important;
}

a.ts-cinta__aviso:hover,
a.ts-cinta__aviso:focus-visible {
	color: var(--ts-claro) !important;
	text-decoration: none !important;
}

.ts-cinta__px {
	color: var(--ts-claro);
}

@keyframes ts-cinta {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ---------- 3. Cabecera ---------- */
.ts-cab {
	position: relative;
	background: #ffffff;
	border-bottom: 1px solid var(--ts-borde-suave);
	font-family: var(--ts-texto);
}

.ts-cab__fila {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
	padding-block: 14px;
}

.ts-cab__logo {
	display: flex;
	align-items: center;
}

.ts-cab__logo-img {
	display: block;
	height: 46px !important;
	width: auto !important;
}

.ts-buscador {
	flex: 1 1 380px;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 5px 5px 5px 16px;
	border: 1px solid var(--ts-borde);
	border-radius: 14px;
	background: var(--ts-arena);
}

.ts-buscador:focus-within {
	border-color: var(--ts-tinta);
}

.ts-buscador__lupa {
	display: flex;
	color: var(--ts-tinta);
}

.ts-buscador input[type="search"] {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 10px 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font: inherit;
	font-size: 15px;
	color: var(--ts-tinta);
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.ts-buscador input::placeholder {
	color: rgba(13, 43, 62, 0.6);
}

.ts-buscador input::-webkit-search-cancel-button {
	display: none;
}

.ts-buscador__btn {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 16px;
	border: 0;
	border-radius: 10px;
	background: var(--ts-tinta);
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	cursor: pointer;
}

.ts-buscador__btn:hover {
	background: var(--ts-tinta-hover);
}

.ts-cab__acciones {
	display: flex;
	align-items: center;
	gap: 4px;
}

.ts-icono-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--ts-tinta) !important;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.ts-icono-btn:hover {
	background: var(--ts-arena);
}

.ts-icono-btn.is-texto {
	padding: 0 10px;
}

.ts-icono-btn.is-carrito {
	padding: 0 12px;
	font-weight: 600;
}

.ts-num {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 6px;
	background: var(--ts-alisio);
	color: var(--ts-tinta);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.ts-fav-num {
	position: absolute;
	top: 4px;
	right: 4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	box-sizing: border-box;
	border-radius: 5px;
	background: var(--ts-alisio);
	color: var(--ts-tinta);
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
}

.ts-cab__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 24px;
	padding-bottom: 10px;
	font-size: 14px;
	font-weight: 500;
}

.ts-cab__categorias {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 40px;
	padding: 8px 14px;
	border: 0;
	border-radius: 10px;
	background: var(--ts-tinta);
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	cursor: pointer;
}

.ts-cab__categorias:hover,
.ts-cab__categorias[aria-expanded="true"] {
	background: var(--ts-tinta-hover);
}

.ts-cab__enlace {
	color: var(--ts-tinta) !important;
	transition: color 0.15s ease;
}

.ts-cab__enlace.is-fuerte {
	font-weight: 600;
}

.ts-cab__enlace:hover {
	color: var(--ts-alisio) !important;
}

/* ---------- 4. Menú de categorías y cajón ---------- */
.ts-desplegable {
	position: relative;
}

.ts-desplegable__panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 60;
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 2px 8px;
	padding: 12px;
	border: 1px solid var(--ts-borde);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(13, 43, 62, 0.16);
	animation: ts-abre 0.2s ease both;
}

.ts-desplegable__panel[hidden] {
	display: none;
}

@keyframes ts-abre {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

.ts-cajon__enlace {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 4px 8px;
	border-radius: 12px;
	color: var(--ts-tinta) !important;
	font-size: 15px;
	font-weight: 500;
	transition: background-color 0.15s ease;
}

.ts-cajon__enlace.is-fuerte {
	font-weight: 600;
}

.ts-cajon__enlace:hover {
	background: var(--ts-arena);
}

.ts-cajon__ico {
	display: flex;
	flex: 0 0 38px;
	align-items: center;
	justify-content: center;
	height: 38px;
	border-radius: 11px;
	background: var(--ts-arena);
	color: var(--ts-tinta);
}

.ts-cajon__ico.is-oscura {
	background: var(--ts-tinta);
	color: var(--ts-claro);
}

.ts-cajon__txt {
	flex: 1;
}

.ts-cajon {
	position: fixed;
	inset: 0;
	z-index: 200;
}

.ts-cajon[hidden] {
	display: none;
}

.ts-cajon__velo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(13, 43, 62, 0.55);
	cursor: pointer;
	animation: ts-velo 0.25s ease both;
}

@keyframes ts-velo {
	from { opacity: 0; }
	to { opacity: 1; }
}

.ts-cajon__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(318px, 86vw);
	height: 100%;
	overflow: hidden;
	overflow: clip;
	border-radius: 0 22px 22px 0;
	background: #ffffff;
	box-shadow: 18px 0 48px rgba(13, 43, 62, 0.25);
	animation: ts-cajon 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes ts-cajon {
	from { transform: translateX(-100%); }
	to { transform: none; }
}

.ts-cajon__cabeza {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 12px 12px 20px;
	border-bottom: 1px solid var(--ts-borde-suave);
}

.ts-cajon__cuerpo {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 12px;
	overflow-y: auto;
}

.ts-cajon__cuerpo .ts-eti {
	padding: 4px 8px 8px;
	font-size: 11px;
}

.ts-cajon__linea {
	height: 1px;
	margin: 10px 8px;
	background: var(--ts-borde-suave);
}

.ts-cajon__pie {
	padding: 12px 16px 18px;
	border-top: 1px solid var(--ts-borde-suave);
}

.ts-cajon__alisio {
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	min-height: 56px;
	padding: 12px 14px;
	border-radius: 16px;
	background: var(--ts-tinta);
	color: #ffffff !important;
}

.ts-cajon__alisio-ico {
	display: flex;
	flex: 0 0 38px;
	align-items: center;
	justify-content: center;
	height: 38px;
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.10);
}

.ts-cajon__alisio-txt {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.ts-cajon__alisio-txt strong {
	font-weight: 600;
	font-size: 15px;
}

.ts-cajon__alisio-txt span {
	font-size: 12px;
	color: var(--ts-claro);
}

html.ts-sin-scroll {
	overflow: hidden;
}

/* ---------- 5. Barra inferior (móvil) y botón flotante (escritorio) ---------- */
.ts-barra {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 90;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: end;
	padding: 6px 6px calc(10px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--ts-borde);
	background: #ffffff;
	box-shadow: 0 -8px 24px rgba(13, 43, 62, 0.08);
	font-family: var(--ts-texto);
}

.ts-barra__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 3px;
	min-height: 52px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ts-suave) !important;
	font-size: 11px !important;
	font-weight: 500;
	cursor: pointer;
}

.ts-barra__item.is-actual {
	color: var(--ts-tinta) !important;
	font-weight: 600;
}

.ts-barra__px {
	display: none;
	position: absolute;
	top: -2px;
	width: 6px;
	height: 6px;
}

.ts-barra__item.is-actual .ts-barra__px {
	display: block;
}

.ts-barra__item.is-alisio {
	min-height: 0;
	color: var(--ts-tinta) !important;
	font-weight: 700;
}

.ts-barra__alisio {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 58px;
	height: 58px;
	margin-top: -26px;
	border: 3px solid #ffffff;
	border-radius: 18px;
	background: var(--ts-tinta);
	box-shadow: 0 10px 24px rgba(13, 43, 62, 0.30);
}

.ts-barra__carrito {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
}

.ts-barra__carrito .ts-num {
	position: absolute;
	top: -6px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 5px;
	font-size: 11px;
}

.ts-flotante {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 80;
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	min-height: 56px;
	padding: 10px 18px 10px 10px;
	border-radius: 16px;
	background: var(--ts-tinta);
	box-shadow: 0 16px 40px rgba(13, 43, 62, 0.30);
	color: #ffffff !important;
	font-family: var(--ts-texto);
	font-weight: 600;
	font-size: 15px;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.ts-flotante:hover {
	background: var(--ts-tinta-hover);
	transform: translateY(-2px);
}

.ts-flotante__ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.10);
}

.ts-simbolo {
	display: block;
}

/* ---------- 6. Portada: carrusel y laterales ---------- */
.ts-portada__caja {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding-top: 24px;
}

.ts-carrusel {
	position: relative;
	flex: 999 1 640px;
	min-width: 0;
	min-height: 460px;
	display: flex;
	overflow: hidden;
	overflow: clip;
	border-radius: 24px;
}

.ts-lamina {
	flex: 1;
	min-width: 0;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 32px;
	padding: 48px 48px 72px;
	animation: ts-entra 0.6s ease both;
}

.ts-lamina[hidden] {
	display: none;
}

@keyframes ts-entra {
	from { opacity: 0; transform: translateX(24px); }
	to { opacity: 1; transform: none; }
}

.ts-lamina.is-arena { background: var(--ts-arena); color: var(--ts-tinta); }
.ts-lamina.is-tinta { background: var(--ts-tinta); color: #ffffff; }
.ts-lamina.is-alisio { background: var(--ts-alisio); color: var(--ts-tinta); }
.ts-lamina.is-blanca { background: #ffffff; color: var(--ts-tinta); border: 1px solid var(--ts-borde); border-radius: 24px; }

.ts-lamina__texto {
	flex: 1 1 320px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ts-insignia {
	align-self: flex-start;
	padding: 6px 10px;
	border-radius: 6px;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-family: var(--ts-mono);
	font-size: 12px;
	letter-spacing: 0.15em;
}

.ts-insignia.is-clara {
	background: var(--ts-claro);
	color: var(--ts-tinta);
}

.ts-insignia.is-arena {
	background: var(--ts-arena);
	color: var(--ts-tinta);
}

.ts-lamina__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(36px, 4.2vw, 58px);
	line-height: 1.05;
	letter-spacing: 0;
	color: inherit;
}

.ts-lamina__titulo.is-medio {
	font-size: clamp(32px, 3.6vw, 50px);
	line-height: 1.08;
}

.ts-lamina__lead {
	margin: 0;
	font-family: var(--ts-texto);
	font-size: 17px;
	line-height: 1.5;
	color: rgba(13, 43, 62, 0.80);
}

.ts-lamina.is-tinta .ts-lamina__lead {
	color: rgba(255, 255, 255, 0.78);
}

.ts-lamina__precio {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0;
}

.ts-lamina__precio span {
	font-family: var(--ts-display);
	font-size: 44px;
	color: var(--ts-claro);
}

.ts-lamina__precio del {
	font-size: 18px;
	color: rgba(255, 255, 255, 0.6);
}

.ts-lamina__hasta {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 300;
	font-size: 28px;
}

.ts-lamina .ts-btn {
	align-self: flex-start;
}

.ts-lamina__visual {
	position: relative;
	flex: 1 1 260px;
	min-width: 0;
	display: flex;
	justify-content: center;
}

.ts-lamina__foto {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 280px;
	height: 280px;
	overflow: hidden;
	overflow: clip;
	border: 1px dashed rgba(255, 255, 255, 0.3);
	border-radius: 32px;
	background: rgba(255, 255, 255, 0.08);
	font-family: var(--ts-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.72);
}

.ts-lamina__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #ffffff;
}

.ts-lamina__dto {
	position: absolute;
	top: -10px;
	right: 12%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 104px;
	height: 104px;
	border-radius: 26%;
	background: var(--ts-claro);
	color: var(--ts-tinta);
	font-family: var(--ts-display);
	font-size: 30px;
	transform: rotate(8deg);
}

.ts-lamina__mosaico {
	flex: 1 1 280px;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.ts-lamina__mosaico span {
	aspect-ratio: 1 / 1;
	border-radius: 18px;
	background: var(--ts-arena);
}

.ts-lamina__mosaico span:nth-child(2n) {
	transform: translateY(20px);
}

.ts-lamina__mosaico span.is-tinta {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-family: var(--ts-display);
	font-size: 26px;
}

.ts-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ts-chip {
	min-height: 44px;
	padding: 9px 14px;
	border: 1px solid rgba(13, 43, 62, 0.20);
	border-radius: 999px;
	background: #ffffff;
	color: var(--ts-tinta) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.ts-chip:hover {
	border-color: var(--ts-tinta);
}

.ts-chip[aria-pressed="true"] {
	border-color: var(--ts-tinta);
	background: var(--ts-tinta);
	color: #ffffff !important;
}

.ts-chat {
	flex: 1 1 300px;
	min-width: 0;
	max-width: 400px;
	overflow: hidden;
	overflow: clip;
	border-radius: 20px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(13, 43, 62, 0.16);
	font-family: var(--ts-texto);
}

.ts-chat__cabeza {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-chat__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
}

.ts-chat__quien {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.ts-chat__quien strong {
	font-weight: 600;
	font-size: 15px;
}

.ts-chat__quien > span {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--ts-claro);
}

.ts-chat__cuerpo {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
}

.ts-chat__cuerpo[hidden] {
	display: none;
}

.ts-chat__yo,
.ts-chat__alisio {
	margin: 0;
	padding: 10px 14px;
	font-size: 14px;
	line-height: 1.5;
}

.ts-chat__yo {
	align-self: flex-end;
	max-width: 85%;
	border-radius: 14px 14px 4px 14px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-chat__alisio {
	align-self: flex-start;
	max-width: 90%;
	border-radius: 14px 14px 14px 4px;
	background: var(--ts-arena);
	color: var(--ts-tinta);
}

.ts-chat__items {
	display: flex;
	gap: 8px;
}

.ts-chat__item {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 8px;
	border: 1px solid var(--ts-borde);
	border-radius: 12px;
}

.ts-chat__foto {
	height: 56px;
	border-radius: 8px;
	background: var(--ts-arena);
}

.ts-chat__nombre {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
}

.ts-chat__precio {
	font-size: 11px;
	color: var(--ts-suave);
}

.ts-carrusel__controles {
	position: absolute;
	right: 24px;
	bottom: 22px;
	left: 48px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ts-carrusel__puntos,
.ts-carrusel__flechas {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ts-punto {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ts-punto span {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 26%;
	background: rgba(13, 43, 62, 0.35);
	outline: 1px solid rgba(255, 255, 255, 0.6);
	transition: width 0.2s ease;
}

.ts-punto[aria-current="true"] span {
	width: 22px;
	border-radius: 3px;
	background: var(--ts-claro);
	outline: 2px solid var(--ts-tinta);
}

.ts-flecha {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: #ffffff;
	color: var(--ts-tinta) !important;
	box-shadow: 0 6px 18px rgba(13, 43, 62, 0.18);
	cursor: pointer;
}

.ts-flecha span {
	display: flex;
}

.ts-flecha:hover {
	background: var(--ts-arena);
}

.ts-laterales {
	flex: 1 1 280px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ts-lateral {
	position: relative;
	flex: 1;
	min-height: 210px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	padding: 28px;
	overflow: hidden;
	overflow: clip;
	border-radius: 24px;
	font-family: var(--ts-texto);
	transition: transform 0.2s ease;
}

.ts-lateral:hover {
	transform: translateY(-3px);
}

.ts-lateral.is-tinta {
	background: var(--ts-tinta);
	color: #ffffff !important;
}

.ts-lateral.is-arena {
	background: var(--ts-arena);
	color: var(--ts-tinta) !important;
}

.ts-lateral__titulo {
	font-family: var(--ts-display);
	font-size: 30px;
	line-height: 1.1;
}

.ts-lateral__reloj {
	font-family: var(--ts-mono);
	font-size: 18px;
	letter-spacing: 0.08em;
}

.ts-lateral__mas {
	font-weight: 600;
}

.ts-estela {
	display: flex;
	gap: 6px;
}

.ts-estela span {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 26%;
	background: var(--ts-claro);
	animation: ts-estela 1.2s ease-in-out infinite;
}

.ts-estela span:nth-child(2) { animation-delay: 0.2s; }
.ts-estela span:nth-child(3) { animation-delay: 0.4s; }

.ts-estela.is-grande span {
	width: 12px;
	height: 12px;
	background: var(--ts-alisio);
}

.ts-lateral .ts-estela {
	position: absolute;
	top: 24px;
	right: 20px;
}

@keyframes ts-estela {
	0%, 100% { opacity: 0.15; transform: scale(0.7); }
	50% { opacity: 1; transform: scale(1); }
}

.ts-flota {
	animation: ts-flota 5s ease-in-out infinite;
}

@keyframes ts-flota {
	0%, 100% { transform: translateY(0) rotate(-4deg); }
	50% { transform: translateY(-12px) rotate(3deg); }
}

/* ---------- 7. Secciones ---------- */
.ts-seccion {
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-categorias > .ts-caja {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 56px;
	padding-bottom: 24px;
}

.ts-categorias .airea-b-cats__lista {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-categorias .airea-b-cats__lista li {
	margin: 0;
}

.ts-categorias .airea-b-cats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ts-tinta) !important;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	transition: transform 0.15s ease;
}

.ts-categorias .airea-b-cats__item:hover {
	transform: translateY(-3px);
	background: transparent;
	box-shadow: none;
}

.ts-categorias .airea-b-cats__ico {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 96px;
	height: 96px;
	border: 2px solid transparent;
	border-radius: 28px;
	background: var(--ts-arena);
	color: var(--ts-tinta);
	transition: border-color 0.15s ease;
}

.ts-categorias .airea-b-cats__item:hover .airea-b-cats__ico {
	border-color: var(--ts-tinta);
}

.ts-categorias .airea-b-cats__item.is-destacada {
	background: transparent;
	color: var(--ts-tinta) !important;
}

.ts-categorias .airea-b-cats__item.is-destacada .airea-b-cats__ico {
	background: var(--ts-tinta);
	color: var(--ts-claro);
}

.ts-categorias .airea-b-cats__nombre {
	font-weight: 600;
	font-size: 14px;
	color: var(--ts-tinta);
}

.ts-flash > .ts-caja {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-block: 48px;
}

.ts-seccion__cabeza {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.ts-seccion__titulos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

.ts-reloj {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	border-radius: 10px;
	background: var(--ts-tinta);
	color: #ffffff;
	font-size: 14px;
}

.ts-reloj__cifras {
	font-family: var(--ts-mono);
	letter-spacing: 0.06em;
	color: var(--ts-claro);
}

.ts-reloj .ts-estela span {
	width: 7px;
	height: 7px;
}

.ts-ver {
	font-weight: 600;
	color: var(--ts-tinta) !important;
}

.ts-ver:hover {
	color: var(--ts-alisio) !important;
}

.ts-rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}

/* Pestañas: cuatro por fila, como el lienzo; aunque haya menos, no se estiran. */
.ts-rejilla.is-lista {
	grid-template-columns: repeat(auto-fill, minmax(max(220px, calc((100% - 48px) / 4)), 1fr));
}

.ts-rejilla[hidden] {
	display: none;
}

.ts-pestanas > .ts-caja {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 24px;
	padding-bottom: 56px;
}

.ts-pestanas__cabeza {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-bottom: 1px solid var(--ts-borde);
}

.ts-pestanas__cabeza .ts-ver {
	padding-bottom: 8px;
}

.ts-pestanas__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.ts-pestana {
	min-height: 52px;
	padding: 12px 14px !important;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: transparent;
	font-family: var(--ts-display) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	color: rgba(13, 43, 62, 0.6) !important;
	cursor: pointer;
}

.ts-pestana:hover {
	color: var(--ts-tinta) !important;
}

.ts-pestana[aria-selected="true"] {
	border-bottom-color: var(--ts-alisio);
	color: var(--ts-tinta) !important;
}

.ts-favoritos > .ts-caja {
	padding-block: 24px 56px;
}

.ts-vacio[hidden] {
	display: none !important;
}

.ts-vacio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 32px;
	border-radius: 24px;
	background: var(--ts-arena);
}

.ts-vacio p {
	margin: 0;
}

.ts-vacio__titulo {
	font-family: var(--ts-display);
	font-size: 24px;
}

.ts-vacio .ts-btn {
	margin-top: 8px;
}

/* ---------- 8. Tarjeta de producto ---------- */
.ts-prod {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	box-sizing: border-box;
	padding: 14px;
	border: 1px solid var(--ts-borde);
	border-radius: 20px;
	background: #ffffff;
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ts-prod:hover {
	box-shadow: 0 18px 40px rgba(13, 43, 62, 0.12);
	transform: translateY(-3px);
}

.ts-prod__foto {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	overflow: clip;
	border-radius: 14px;
	background: var(--ts-arena);
}

.ts-prod__foto-enlace {
	display: block;
	width: 100%;
	height: 100%;
}

.ts-prod__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ts-prod__dto {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 4px 8px;
	border-radius: 6px;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-weight: 700;
	font-size: 13px;
}

.ts-prod__sello {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	align-items: center;
	gap: 6px;
	max-width: calc(100% - 64px);
	padding: 4px 8px;
	border-radius: 6px;
	background: #ffffff;
	color: var(--ts-tinta);
	font-weight: 600;
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
	overflow: clip;
}

.ts-prod__sello .ts-px {
	width: 7px;
	height: 7px;
}

.ts-prod__fav {
	position: absolute;
	top: 6px;
	right: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: #ffffff;
	color: var(--ts-tinta) !important;
	cursor: pointer;
	transition: transform 0.15s ease;
}

.ts-prod__fav:hover {
	transform: scale(1.06);
}

.ts-prod__fav[aria-pressed="true"] svg {
	fill: var(--ts-alisio);
	stroke: var(--ts-alisio);
}

.ts-prod__cat {
	font-family: var(--ts-mono);
	font-size: 11px;
	letter-spacing: 0.15em;
	color: var(--ts-suave);
}

.ts-prod__nombre {
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	color: var(--ts-tinta) !important;
	text-decoration: none;
}

.ts-prod__nombre:hover {
	color: var(--ts-alisio) !important;
}

.ts-prod__precio {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.ts-prod__importe {
	font-weight: 700;
	font-size: 19px;
}

.ts-prod__antes {
	font-size: 13px;
	color: rgba(13, 43, 62, 0.6);
}

.ts-prod__stock {
	height: 6px;
	overflow: hidden;
	overflow: clip;
	border-radius: 3px;
	background: var(--ts-arena);
}

.ts-prod__stock span {
	display: block;
	height: 6px;
	background: var(--ts-alisio);
}

.ts-prod__quedan,
.ts-prod__envio {
	font-size: 12px;
	color: var(--ts-suave);
}

.ts-prod__envio {
	font-size: 13px;
}

.ts-prod__anadir {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	margin-top: auto;
	padding: 12px;
	border-radius: 12px;
	background: var(--ts-tinta);
	color: #ffffff !important;
	font-weight: 600;
	font-size: 14px;
	transition: background-color 0.2s ease;
}

.ts-prod__anadir:hover {
	background: var(--ts-tinta-hover);
}

.ts-prod__pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
}

.ts-prod__mas {
	display: flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--ts-tinta);
	color: #ffffff !important;
	font-size: 20px;
	transition: background-color 0.2s ease;
}

.ts-prod__mas:hover {
	background: var(--ts-tinta-hover);
}

.ts-prod .is-cargando {
	opacity: 0.6;
	pointer-events: none;
}

.ts-prod .is-hecho {
	background: var(--ts-alisio) !important;
}

/* ---------- 9. Bandas ---------- */
.ts-banda3d > .ts-caja {
	padding-top: 24px;
	padding-bottom: 48px;
}

.ts-banda3d__caja {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	padding: 48px;
	overflow: hidden;
	overflow: clip;
	border-radius: 28px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-banda3d__texto {
	flex: 1 1 460px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ts-banda3d__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(30px, 3.4vw, 46px);
	line-height: 1.1;
	letter-spacing: 0;
	color: #ffffff;
}

.ts-chips-fijos {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-chips-fijos li {
	margin: 0;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 999px;
	font-size: 14px;
}

.ts-botones {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ts-banda3d__visual {
	flex: 1 1 280px;
	min-width: 0;
	display: flex;
	justify-content: center;
}

.ts-empresas > .ts-caja {
	padding-bottom: 56px;
}

.ts-empresas__caja {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	padding: 28px 32px;
	border-radius: 24px;
	background: var(--ts-arena);
}

.ts-empresas__titulos {
	flex: 1 1 260px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ts-empresas__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-size: 28px;
	line-height: 1.15;
}

.ts-empresas__lista {
	flex: 2 1 420px;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-empresas__lista li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.ts-empresas__lista li > span:last-child {
	display: flex;
	flex-direction: column;
	line-height: 1.35;
}

.ts-empresas__lista strong {
	font-weight: 600;
}

.ts-empresas__lista li > span:last-child > span {
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-boletin > .ts-caja {
	padding-bottom: 56px;
}

.ts-boletin__caja {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 28px 32px;
	border: 1px solid var(--ts-borde);
	border-radius: 24px;
}

.ts-boletin__titulo {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ts-boletin__titulo p {
	margin: 0;
	font-family: var(--ts-display);
	font-size: 24px;
	line-height: 1.2;
}

.ts-boletin__form {
	flex: 0 1 460px;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.ts-boletin__form input[type="email"] {
	flex: 1 1 200px;
	min-width: 0;
	box-sizing: border-box;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid rgba(13, 43, 62, 0.2);
	border-radius: 12px;
	background: #ffffff;
	font: inherit;
	font-size: 15px;
	color: var(--ts-tinta);
}

.ts-boletin__form input[type="email"]:focus {
	border-color: var(--ts-tinta);
	outline: 2px solid var(--ts-tinta);
	outline-offset: 1px;
}

.ts-boletin__form .ts-btn {
	padding: 12px 20px;
}

.ts-boletin__legal,
.ts-boletin__error,
.ts-boletin__ok {
	flex: 1 0 100%;
	margin: 0;
	font-size: 12px;
	color: var(--ts-suave);
}

.ts-boletin__legal a {
	color: var(--ts-tinta) !important;
	text-decoration: underline !important;
}

.ts-boletin__error {
	color: #b42318;
	font-size: 14px;
}

.ts-boletin__ok {
	flex: 0 1 auto;
	font-size: 16px;
	font-weight: 600;
	color: var(--ts-tinta);
}

.ts-boletin__trampa {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ts-ventajas {
	border-top: 1px solid rgba(13, 43, 62, 0.08);
}

.ts-ventajas > .ts-caja {
	padding-block: 40px;
}

.ts-ventajas .airea-b-ventajas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-ventajas .airea-b-ventajas__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
}

.ts-ventajas .airea-b-ventajas__ico {
	display: flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--ts-arena);
	color: var(--ts-tinta);
}

.ts-ventajas .airea-b-ventajas__txt {
	display: flex;
	flex-direction: column;
	gap: 0;
	line-height: 1.5;
}

.ts-ventajas .airea-b-ventajas__txt strong {
	font-weight: 600;
	font-size: 16px;
	color: var(--ts-tinta);
}

.ts-ventajas .airea-b-ventajas__txt span {
	font-size: 14px;
	color: var(--ts-suave);
}

/* ---------- 10. Pie ---------- */
.ts-pie {
	background: var(--ts-tinta);
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--ts-texto);
}

.ts-pie__caja {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding-top: 64px;
	padding-bottom: 36px;
}

.ts-pie__arriba {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px;
}

.ts-pie__marca {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 340px;
}

.ts-pie__logo {
	align-self: flex-start;
	display: block;
	height: 50px !important;
	width: auto !important;
}

.ts-pie__redes {
	display: flex;
	gap: 10px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.ts-pie__redes a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 12px;
	color: #ffffff !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ts-pie__redes a:hover,
.ts-pie__redes a:focus-visible {
	border-color: var(--ts-claro);
	background: rgba(70, 227, 200, 0.12);
	color: var(--ts-claro) !important;
}

.ts-pie__lema {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 300;
	font-size: 20px;
	line-height: 1.4;
	color: #ffffff;
}

.ts-pie__grupos {
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
	font-size: 15px;
}

.ts-pie__grupo summary {
	display: block;
	list-style: none;
	pointer-events: none;
	margin-bottom: 10px;
}

.ts-pie__grupo summary::-webkit-details-marker {
	display: none;
}

.ts-pie__signo {
	display: none;
}

.ts-pie__grupo ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-pie__grupo li {
	margin: 0;
}

.ts-pie__grupo a {
	color: #ffffff !important;
}

.ts-pie__grupo a:hover {
	color: var(--ts-claro) !important;
}

.ts-pie__pago {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 13px;
}

.ts-pie__pago > span:first-child {
	margin-right: 6px;
}

.ts-pie__medio {
	padding: 4px 10px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 6px;
	font-size: 12px;
}

.ts-pie__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 13px;
}

.ts-pie__legales {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.ts-pie__legales a {
	color: rgba(255, 255, 255, 0.78) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.ts-pie__legales a:hover {
	color: #ffffff !important;
}

/* ---------- 11. Avisos ---------- */
.ts-aviso {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 300;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: calc(100vw - 40px);
	box-sizing: border-box;
	padding: 12px 18px;
	border-radius: 14px;
	background: var(--ts-tinta);
	color: #ffffff;
	font-family: var(--ts-texto);
	font-size: 14px;
	box-shadow: 0 16px 40px rgba(13, 43, 62, 0.30);
	transform: translateX(-50%);
	animation: ts-abre 0.25s ease both;
}

.ts-aviso[hidden] {
	display: none;
}

.ts-aviso a {
	color: var(--ts-claro) !important;
	font-weight: 600;
	text-decoration: underline;
}

/* ---------- 12. Móvil (tablero «Móvil · Airea Shop home») ---------- */
@media (max-width: 860px) {
	.ts-solo-escritorio {
		display: none !important;
	}

	.ts-solo-movil {
		display: inline-flex !important;
	}

	.ts-barra.ts-solo-movil {
		display: grid !important;
	}

	/* Ficha: en vez de la barra de navegación, precio y «Añadir al carrito» (lienzo) */
	body:has(.ts-ficha__barra) .ts-barra.ts-solo-movil {
		display: none !important;
	}

	.ts-ficha__barra.ts-solo-movil {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 90;
		display: flex !important;
		align-items: center;
		gap: 14px;
		padding: 12px 20px calc(14px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid rgba(13, 43, 62, 0.12);
		background: #ffffff;
		box-shadow: 0 -10px 30px rgba(13, 43, 62, 0.10);
		font-family: var(--ts-texto);
		color: var(--ts-tinta);
	}

	.ts-ficha__barra-alisio {
		position: absolute;
		top: -66px;
		right: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 54px;
		height: 54px;
		border-radius: 16px;
		background: var(--ts-tinta);
		box-shadow: 0 12px 30px rgba(13, 43, 62, 0.30);
	}

	.ts-ficha__barra-precio {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-width: 0;
		margin: 0;
		line-height: 1.1;
	}

	.ts-ficha__barra-precio strong {
		font-family: var(--ts-display);
		font-weight: 400;
		font-size: 30px;
		white-space: nowrap;
	}

	.ts-ficha__barra-precio span {
		font-size: 12px;
		color: rgba(13, 43, 62, 0.70);
	}

	.ts-ficha__barra-btn {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		gap: 8px;
		min-height: 52px;
		padding: 0 20px;
		border: 0;
		border-radius: 14px;
		background: var(--ts-tinta);
		color: #ffffff;
		font: inherit;
		font-weight: 600;
		font-size: 16px;
		cursor: pointer;
	}

	body.airea-tienda {
		padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
	}

	.ts-caja {
		padding-inline: 20px;
	}

	.ts-cinta__tramo {
		gap: 32px;
		padding-right: 32px;
	}

	.ts-cinta__pista {
		animation-duration: 72s;
	}

	.ts-cab__fila {
		display: grid;
		grid-template-columns: 44px 1fr 44px;
		gap: 10px 8px;
		padding: 10px 20px 12px;
	}

	.ts-cab__logo {
		justify-content: center;
	}

	.ts-buscador {
		grid-column: 1 / -1;
		grid-row: 2;
		padding: 4px 4px 4px 14px;
	}

	.ts-buscador input[type="search"] {
		font-size: 16px;
	}

	.ts-buscador__btn {
		flex: 0 0 44px;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: 11px;
	}

	.ts-buscador__btn > .ts-px {
		display: none;
	}

	.ts-pregunta .ts-buscador__btn {
		flex: 0 0 auto;
		width: auto;
		gap: 8px;
		padding: 0 14px;
		font-size: 14px;
	}

	.ts-pregunta .ts-buscador__btn > .ts-px {
		display: block;
	}

	.ts-cab__acciones {
		grid-column: 3;
		grid-row: 1;
	}

	.ts-icono-btn.is-carrito {
		width: 44px;
		padding: 0;
	}

	.ts-icono-btn.is-carrito .ts-num {
		position: absolute;
		top: 3px;
		right: 1px;
		min-width: 18px;
		height: 18px;
		padding: 0 5px;
		border-radius: 5px;
		font-size: 11px;
	}

	/* Portada a ancho completo */
	.ts-portada__caja {
		padding: 0;
		gap: 0;
	}

	.ts-carrusel {
		flex: 1 1 100%;
		min-height: 600px;
		border-radius: 0;
	}

	.ts-lamina {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 14px;
		padding: 26px 20px 76px;
	}

	.ts-lamina.is-blanca {
		border: 0;
		border-radius: 0;
	}

	.ts-lamina__texto {
		flex: 0 0 auto;
		gap: 14px;
	}

	.ts-insignia {
		padding: 5px 9px;
		font-size: 11px;
	}

	.ts-lamina__titulo,
	.ts-lamina__titulo.is-medio {
		font-size: 38px;
	}

	.ts-lamina__lead {
		font-size: 16px;
	}

	.ts-chips {
		flex-wrap: nowrap;
		margin: 0 -20px;
		padding: 0 20px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 20px;
		scrollbar-width: none;
	}

	.ts-chips::-webkit-scrollbar {
		display: none;
	}

	.ts-chip {
		flex: 0 0 auto;
		scroll-snap-align: start;
		white-space: nowrap;
	}

	.ts-chat {
		flex: 0 0 auto;
		max-width: none;
		border-radius: 18px;
		box-shadow: 0 18px 44px rgba(13, 43, 62, 0.14);
	}

	.ts-chat__cabeza {
		padding: 9px 14px;
	}

	.ts-chat__quien {
		flex: 1;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.ts-chat__cuerpo {
		padding: 12px 14px 14px;
	}

	.ts-chat__item {
		flex-direction: row;
		align-items: center;
		flex-wrap: wrap;
		gap: 0 6px;
		padding: 6px;
	}

	.ts-chat__foto {
		width: 28px;
		height: 28px;
		flex: 0 0 28px;
		border-radius: 6px;
	}

	.ts-chat__nombre,
	.ts-chat__precio {
		font-size: 11px;
	}

	.ts-lamina__visual,
	.ts-lamina__mosaico {
		flex: 1 1 auto;
		align-items: center;
	}

	.ts-lamina__foto {
		width: 200px;
		height: 200px;
	}

	.ts-lamina__dto {
		width: 76px;
		height: 76px;
		font-size: 22px;
	}

	.ts-lamina .ts-btn {
		align-self: stretch;
		min-height: 50px;
	}

	.ts-carrusel__controles {
		right: 14px;
		bottom: 12px;
		left: 14px;
		gap: 8px;
	}

	.ts-carrusel__puntos,
	.ts-carrusel__flechas {
		gap: 0;
	}

	.ts-punto {
		width: 44px;
		height: 44px;
		margin-right: -14px;
	}

	.ts-punto span {
		width: 8px;
		height: 8px;
		background: rgba(13, 43, 62, 0.40);
		outline-color: rgba(255, 255, 255, 0.7);
	}

	.ts-punto[aria-current="true"] span {
		width: 20px;
		height: 8px;
	}

	.ts-flecha {
		background: transparent;
		box-shadow: none;
	}

	.ts-flecha span {
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border-radius: 10px;
		background: #ffffff;
		box-shadow: 0 4px 14px rgba(13, 43, 62, 0.20);
	}

	.ts-flecha span svg {
		width: 16px;
		height: 16px;
	}

	.ts-laterales {
		flex: 1 1 100%;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		padding: 16px 20px 0;
	}

	.ts-lateral {
		min-height: 176px;
		gap: 10px;
		padding: 16px;
		border-radius: 20px;
	}

	.ts-lateral .ts-eti {
		font-size: 10px;
	}

	.ts-lateral__titulo {
		font-size: 22px;
		line-height: 1.12;
	}

	.ts-lateral__reloj {
		align-self: flex-start;
		padding: 4px 8px;
		border-radius: 6px;
		background: rgba(255, 255, 255, 0.10);
		font-size: 14px;
		letter-spacing: 0.06em;
	}

	.ts-lateral__mas {
		font-size: 14px;
	}

	.ts-lateral .ts-estela {
		top: 16px;
		right: 14px;
		gap: 4px;
	}

	.ts-lateral .ts-estela span {
		width: 7px;
		height: 7px;
	}

	/* Secciones */
	.ts-h2 {
		font-size: 26px;
	}

	.ts-categorias > .ts-caja {
		gap: 14px;
		padding: 32px 0 8px;
	}

	.ts-categorias .ts-h2 {
		padding-inline: 20px;
	}

	.ts-categorias .airea-b-cats__lista {
		display: flex;
		gap: 12px;
		padding: 2px 20px 6px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 20px;
		scrollbar-width: none;
	}

	.ts-categorias .airea-b-cats__lista::-webkit-scrollbar,
	.ts-rejilla.is-flash::-webkit-scrollbar,
	.ts-pestanas__lista::-webkit-scrollbar,
	.ts-chips-fijos::-webkit-scrollbar {
		display: none;
	}

	.ts-categorias .airea-b-cats__lista li {
		flex: 0 0 76px;
		scroll-snap-align: start;
	}

	.ts-categorias .airea-b-cats__item {
		gap: 8px;
	}

	.ts-categorias .airea-b-cats__ico {
		width: 72px;
		height: 72px;
		border-radius: 22px;
	}

	.ts-categorias .airea-b-cats__ico svg {
		width: 32px;
		height: 32px;
	}

	.ts-categorias .airea-b-cats__nombre {
		font-size: 12px;
		line-height: 1.25;
	}

	.ts-flash > .ts-caja {
		gap: 14px;
		padding: 28px 0 8px;
	}

	.ts-flash .ts-seccion__cabeza {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding-inline: 20px;
	}

	.ts-flash .ts-seccion__titulos {
		display: contents;
	}

	.ts-flash .ts-h2 {
		order: 1;
		font-size: 30px;
	}

	.ts-flash .ts-ver {
		position: absolute;
		right: 20px;
		display: flex;
		align-items: center;
		min-height: 44px;
		margin-top: -4px;
		font-size: 14px;
	}

	.ts-flash .ts-seccion__cabeza {
		position: relative;
	}

	.ts-flash .ts-reloj {
		order: 2;
		justify-content: space-between;
		padding: 10px 14px;
		border-radius: 12px;
	}

	.ts-flash .ts-reloj > span:nth-child(2) {
		margin-right: auto;
	}

	.ts-flash .ts-reloj__cifras {
		font-size: 16px;
	}

	.ts-rejilla.is-flash {
		display: flex;
		gap: 12px;
		padding: 2px 20px 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 20px;
		scrollbar-width: none;
	}

	.ts-rejilla.is-flash .ts-prod {
		flex: 0 0 164px;
		scroll-snap-align: start;
	}

	.ts-prod {
		gap: 7px;
		padding: 10px;
		border-radius: 18px;
	}

	.ts-prod.is-flash {
		gap: 8px;
	}

	.ts-prod:hover {
		transform: none;
		box-shadow: none;
	}

	.ts-prod:active {
		transform: scale(0.98);
	}

	.ts-prod__foto {
		border-radius: 12px;
	}

	.ts-prod__dto {
		top: 8px;
		left: 8px;
		padding: 3px 7px;
		font-size: 12px;
	}

	.ts-prod__sello {
		top: 8px;
		left: 8px;
		gap: 5px;
		padding: 3px 7px;
		font-size: 11px;
		max-width: calc(100% - 16px);
	}

	.ts-prod__fav {
		display: none;
	}

	.ts-prod__cat {
		font-size: 10px;
	}

	.ts-prod__nombre {
		font-size: 14px;
	}

	.ts-prod__importe {
		font-size: 16px;
	}

	.ts-prod.is-flash .ts-prod__importe {
		font-size: 17px;
	}

	.ts-prod__antes,
	.ts-prod__envio {
		font-size: 12px;
	}

	.ts-prod__quedan {
		font-size: 11px;
	}

	.ts-prod__stock,
	.ts-prod__stock span {
		height: 5px;
	}

	.ts-prod__anadir {
		padding: 10px;
		border-radius: 11px;
		font-size: 13px;
	}

	.ts-prod__pie {
		gap: 8px;
	}

	.ts-banda3d > .ts-caja {
		padding: 16px 20px 8px;
	}

	.ts-banda3d__caja {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 14px;
		padding: 22px 20px;
		border-radius: 22px;
	}

	.ts-banda3d__cubo-movil {
		position: absolute;
		top: 14px;
		right: 12px;
		opacity: 0.9;
	}

	.ts-banda3d__texto {
		flex: 0 0 auto;
		gap: 14px;
	}

	.ts-banda3d .ts-eti {
		font-size: 11px;
	}

	.ts-banda3d__titulo {
		padding-right: 84px;
		font-size: 24px;
		line-height: 1.15;
	}

	.ts-chips-fijos {
		flex-wrap: nowrap;
		gap: 8px;
		margin: 0 -20px;
		padding: 0 20px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ts-chips-fijos li {
		flex: 0 0 auto;
		padding: 6px 12px;
		font-size: 13px;
		white-space: nowrap;
	}

	.ts-botones {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.ts-botones .ts-btn {
		padding: 10px 12px;
		font-size: 14px;
		text-align: center;
	}

	.ts-pestanas > .ts-caja {
		gap: 14px;
		padding: 24px 0 8px;
	}

	.ts-pestanas__lista {
		flex-wrap: nowrap;
		padding: 0 20px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 20px;
		scrollbar-width: none;
	}

	.ts-pestana {
		flex: 0 0 auto;
		min-height: 48px;
		padding: 10px !important;
		font-size: 20px !important;
		white-space: nowrap;
		scroll-snap-align: start;
	}

	.ts-pestanas__cabeza {
		display: block;
	}

	.ts-rejilla.is-lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		padding: 0 20px;
	}

	.ts-pestanas__todo {
		display: flex !important;
		margin: 4px 20px 0;
		min-height: 48px;
		padding: 12px;
	}

	.ts-empresas > .ts-caja {
		padding: 24px 20px 8px;
	}

	.ts-empresas__caja {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 16px;
		padding: 22px 20px;
		border-radius: 22px;
	}

	.ts-empresas__titulos,
	.ts-empresas__lista {
		flex: 0 0 auto;
	}

	.ts-empresas .ts-eti {
		font-size: 11px;
	}

	.ts-empresas__titulo {
		font-size: 26px;
	}

	.ts-empresas__lista {
		flex-direction: column;
		gap: 12px;
	}

	.ts-empresas .ts-btn {
		min-height: 50px;
	}

	.ts-boletin > .ts-caja {
		padding: 16px 20px 24px;
	}

	.ts-boletin__caja {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 14px;
		padding: 22px 20px;
		border-radius: 22px;
	}

	.ts-boletin__titulo {
		gap: 12px;
	}

	.ts-boletin__titulo .ts-estela span {
		width: 10px;
		height: 10px;
	}

	.ts-boletin__titulo p {
		font-size: 22px;
	}

	.ts-boletin__form {
		flex: 0 0 auto;
		flex-direction: column;
	}

	.ts-boletin__form input[type="email"] {
		flex: 0 0 auto;
		font-size: 16px;
	}

	.ts-boletin__form .ts-btn {
		min-height: 50px;
	}

	.ts-ventajas > .ts-caja {
		padding: 24px 20px;
	}

	.ts-ventajas .airea-b-ventajas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 14px;
	}

	.ts-ventajas .airea-b-ventajas__item {
		flex-direction: column;
		gap: 8px;
	}

	.ts-ventajas .airea-b-ventajas__txt {
		line-height: 1.35;
	}

	.ts-ventajas .airea-b-ventajas__txt strong {
		font-size: 15px;
	}

	.ts-ventajas .airea-b-ventajas__txt span {
		font-size: 13px;
	}

	/* Pie con grupos plegables */
	.ts-pie__caja {
		gap: 24px;
		padding: 36px 20px 28px;
	}

	.ts-pie__arriba {
		flex-direction: column;
		gap: 24px;
	}

	.ts-pie__marca {
		gap: 12px;
	}

	.ts-pie__logo {
		height: 46px !important;
	}

	.ts-pie__lema {
		font-size: 19px;
	}

	.ts-pie__grupos {
		flex-direction: column;
		gap: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}

	.ts-pie__grupo {
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.ts-pie__grupo summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 56px;
		margin: 0;
		color: #ffffff;
		cursor: pointer;
		pointer-events: auto;
	}

	.ts-pie__signo {
		display: flex;
	}

	.ts-pie__grupo[open] .ts-pie__signo svg path {
		d: path("M5 12h14");
	}

	.ts-pie__grupo ul {
		gap: 0;
		padding-bottom: 12px;
	}

	.ts-pie__grupo a {
		display: flex;
		align-items: center;
		min-height: 44px;
	}

	.ts-pie__pago {
		gap: 8px;
	}

	.ts-pie__legal {
		flex-direction: column;
		gap: 12px;
		padding-top: 18px;
	}

	.ts-pie__legales {
		gap: 6px 18px;
	}

	.ts-pie__legales a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.ts-aviso {
		bottom: calc(92px + env(safe-area-inset-bottom, 0px));
	}

	/* Complianz: su botón no tapa la barra inferior. */
	.airea-tienda #cmplz-manage-consent .cmplz-manage-consent {
		bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
	}
}

/* ---------- 13. Menos movimiento ---------- */
@media (prefers-reduced-motion: reduce) {
	.ts-cinta__pista,
	.ts-estela span,
	.ts-flota,
	.ts-lamina,
	.ts-cajon__panel,
	.ts-cajon__velo,
	.ts-desplegable__panel,
	.ts-aviso {
		animation: none !important;
	}

	.ts-prod,
	.ts-lateral,
	.ts-flotante,
	.ts-categorias .airea-b-cats__item {
		transition: none;
	}

	.ts-prod:hover,
	.ts-lateral:hover,
	.ts-flotante:hover,
	.ts-categorias .airea-b-cats__item:hover {
		transform: none;
	}

	.ts-cinta__tramo[aria-hidden] {
		display: none;
	}

	.ts-cinta {
		overflow-x: auto;
		scrollbar-width: none;
	}
}

/* ---------- 14. Página de espera («Próximamente») a pantalla completa ---------- */
body.airea-tienda .airea-hero.is-pantalla {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 100vh;
	min-height: 100svh;
	margin-inline: 0 !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media (max-width: 860px) {
	body.airea-tienda .airea-hero.is-pantalla {
		padding-inline: 24px !important;
	}
}

/* El carrito lateral y el cajón tapan la barra fija de compra de la ficha. */
body:has(.ts-carrito:not([hidden])) .ts-ficha__barra,
body:has(.ts-cajon:not([hidden])) .ts-ficha__barra,
body:has(.ts-config.is-hoja) .ts-ficha__barra {
	display: none !important;
}

/* ---------- 15. Listado (tablero «Listado con filtros») ---------- */
.ts-listado {
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-listado a {
	text-decoration: none;
}

.ts-listado__cabeza {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 24px;
}

.ts-migas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-migas li {
	margin: 0;
}

.ts-migas a {
	color: rgba(13, 43, 62, 0.80) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.ts-migas [aria-current] {
	color: var(--ts-tinta);
	font-weight: 600;
}

.ts-listado__titulo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 18px;
}

.ts-listado__titulo h1 {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(38px, 4.4vw, 56px);
	line-height: 1.05;
	letter-spacing: 0;
}

.ts-listado__total {
	font-family: var(--ts-mono);
	font-size: 13px;
	letter-spacing: 0.15em;
	color: var(--ts-suave);
}

.ts-listado__alisio-caja {
	padding-top: 20px;
}

.ts-listado__alisio {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 28px;
	padding: 22px 26px;
	border-radius: 24px;
	background: var(--ts-arena);
}

.ts-listado__alisio-titulo {
	flex: 1 1 300px;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 16px;
}

.ts-listado__alisio-titulo > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.ts-listado__alisio-titulo h2 {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: 0;
}

.ts-listado__alisio-ico {
	display: flex;
	flex: 0 0 52px;
	align-items: center;
	justify-content: center;
	height: 52px;
	border-radius: 14px;
	background: var(--ts-tinta);
}

.ts-listado__alisio-pregunta {
	flex: 1 1 420px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-pregunta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 5px 5px 5px 14px;
	border: 1px solid rgba(13, 43, 62, 0.14);
	border-radius: 14px;
	background: #ffffff;
}

.ts-pregunta input {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 10px 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font: inherit;
	font-size: 15px;
	color: var(--ts-tinta);
	outline: none;
}

.ts-listado .ts-chip {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	padding: 8px 14px;
	text-decoration: none;
}

.ts-listado .ts-chip.is-activa {
	border-color: var(--ts-tinta);
	background: var(--ts-tinta);
	color: #ffffff !important;
}

.ts-listado__subs-caja {
	padding-top: 20px;
}

.ts-listado__subs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ts-sub {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid rgba(13, 43, 62, 0.20);
	border-radius: 12px;
	background: #ffffff;
	color: var(--ts-tinta) !important;
	font-size: 14px;
	font-weight: 500;
	transition: border-color 0.15s ease;
}

.ts-sub .ts-px {
	display: none;
	width: 7px;
	height: 7px;
}

.ts-sub:hover {
	border-color: var(--ts-tinta);
}

.ts-sub.is-activa {
	border-color: var(--ts-tinta);
	background: var(--ts-tinta);
	color: #ffffff !important;
	font-weight: 600;
}

.ts-sub.is-activa .ts-px {
	display: block;
}

.ts-listado__cuerpo {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px 32px;
	padding-top: 24px;
	padding-bottom: 48px;
}

.ts-filtros {
	flex: 0 0 280px;
	min-width: 0;
	box-sizing: border-box;
}

.ts-filtros__cabeza {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 10px;
}

.ts-filtros__cabeza h2 {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 24px;
	letter-spacing: 0;
}

.ts-filtros__activos {
	font-family: var(--ts-mono);
	font-size: 11px;
	letter-spacing: 0.15em;
	color: var(--ts-suave);
}

.ts-filtros__limpiar {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 4px;
	color: var(--ts-tinta) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.ts-filtro {
	padding: 4px 0;
	border-top: 1px solid var(--ts-borde);
}

.ts-filtro summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	font-weight: 600;
	font-size: 15px;
	color: var(--ts-tinta);
	list-style: none;
	cursor: pointer;
}

.ts-filtro summary::-webkit-details-marker {
	display: none;
}

.ts-filtro summary svg {
	transform: rotate(90deg);
	transition: transform 0.2s ease;
}

.ts-filtro[open] summary svg {
	transform: rotate(-90deg) translateX(0);
}

.ts-filtro__der {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ts-filtro__n {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 6px;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-size: 12px;
	font-weight: 700;
}

.ts-filtro__precio {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 4px 0 12px;
}

.ts-filtro__dos {
	display: flex;
	gap: 10px;
}

.ts-filtro__dos label {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	color: var(--ts-suave);
}

.ts-filtro__dos input {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid rgba(13, 43, 62, 0.24);
	border-radius: 10px;
	background: #ffffff;
	font: inherit;
	font-size: 15px;
	color: var(--ts-tinta);
}

.ts-filtro__tramos {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding-bottom: 14px;
}

.ts-filtro__tramos .ts-chip {
	padding: 6px 12px;
}

.ts-filtro__opciones {
	display: flex;
	flex-direction: column;
	padding: 0 0 10px;
}

.ts-opcion {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0 -8px;
	padding: 0 8px;
	border-radius: 10px;
	color: var(--ts-tinta) !important;
	font-size: 15px;
}

.ts-opcion:hover {
	background: var(--ts-arena);
}

.ts-opcion__caja {
	display: flex;
	flex: 0 0 20px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 20px;
	border: 2px solid rgba(13, 43, 62, 0.40);
	border-radius: 26%;
	background: #ffffff;
	color: #ffffff;
}

.ts-opcion[aria-checked="true"] .ts-opcion__caja {
	border-color: var(--ts-tinta);
	background: var(--ts-tinta);
}

.ts-opcion__txt {
	flex: 1;
	min-width: 0;
}

.ts-opcion__n {
	font-size: 13px;
	color: var(--ts-suave);
}

.ts-filtros__pie {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 16px;
	border-top: 1px solid var(--ts-borde);
}

.ts-filtros__pie .ts-btn {
	gap: 8px;
	font-size: 14px;
}

.ts-listado__resultados {
	flex: 1 1 560px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ts-listado__barra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--ts-borde);
}

.ts-listado__activos {
	flex: 1 1 300px;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.ts-listado__sin {
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-etiqueta {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 36px;
	padding: 0 4px 0 14px;
	border-radius: 999px;
	background: var(--ts-arena);
	font-size: 13px;
	font-weight: 500;
}

.ts-etiqueta a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 2px 0;
	border-radius: 999px;
	background: var(--ts-tinta);
	color: #ffffff !important;
}

.ts-listado__herramientas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.ts-orden {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.ts-orden label {
	font-size: 14px;
	color: rgba(13, 43, 62, 0.80);
	white-space: nowrap;
}

.ts-orden select {
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid rgba(13, 43, 62, 0.24);
	border-radius: 10px;
	background-color: #ffffff;
	font: inherit;
	font-size: 14px;
	color: var(--ts-tinta);
	cursor: pointer;
}

.ts-vista {
	gap: 4px;
	padding: 3px;
	border-radius: 12px;
	background: var(--ts-arena);
}

.ts-vista.ts-solo-escritorio {
	display: flex !important;
}

.ts-vista button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--ts-tinta);
	cursor: pointer;
}

.ts-vista button[aria-pressed="true"] {
	background: var(--ts-tinta);
	color: var(--ts-claro);
}

.ts-sin-resultados {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 40px 28px;
	border-radius: 24px;
	background: var(--ts-arena);
}

.ts-sin-resultados p {
	margin: 0;
	font-size: 15px;
	color: rgba(13, 43, 62, 0.80);
}

.ts-sin-resultados .ts-sin-resultados__titulo {
	font-family: var(--ts-display);
	font-size: 28px;
	line-height: 1.15;
	color: var(--ts-tinta);
}

.ts-rejilla.is-catalogo {
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}

/* Tarjeta del listado */
.ts-prod.is-catalogo {
	gap: 8px;
}

.ts-prod__info {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 4px;
}

.ts-prod__datos {
	font-size: 13px;
	color: rgba(13, 43, 62, 0.80);
}

.ts-prod__puntos {
	display: none;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	color: rgba(13, 43, 62, 0.80);
}

.ts-prod__puntos li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.ts-prod__puntos .ts-px {
	width: 7px;
	height: 7px;
}

.ts-prod__envio.is-icono {
	display: flex;
	align-items: center;
	gap: 6px;
}

.ts-prod__compra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 6px;
}

.ts-prod__compra .ts-prod__precio {
	gap: 2px 8px;
}

.ts-prod__botones {
	display: flex;
	gap: 8px;
}

.ts-prod__botones .is-lista {
	display: none;
}

.ts-prod__compra .ts-prod__anadir {
	margin-top: 0;
}

/* Vista en lista */
.ts-rejilla.is-catalogo.is-vista-lista {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.is-vista-lista .ts-prod.is-catalogo {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 16px 22px;
}

.is-vista-lista .ts-prod.is-catalogo .ts-prod__foto {
	flex: 0 1 190px;
	min-width: 150px;
	align-self: flex-start;
}

.is-vista-lista .ts-prod.is-catalogo > .ts-prod__foto > .ts-prod__fav {
	display: none;
}

.is-vista-lista .ts-prod__info {
	flex: 1 1 260px;
	min-width: 0;
	justify-content: center;
	margin: 0;
}

.is-vista-lista .ts-prod__info .ts-prod__nombre {
	font-size: 18px;
}

.is-vista-lista .ts-prod__datos {
	display: none;
}

.is-vista-lista .ts-prod__puntos {
	display: flex;
}

.is-vista-lista .ts-prod__compra {
	flex: 0 1 200px;
	min-width: 170px;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.is-vista-lista .ts-prod__compra .ts-prod__importe {
	font-size: 22px;
}

.is-vista-lista .ts-prod__mas {
	display: none;
}

.is-vista-lista .ts-prod__botones .is-lista {
	display: flex;
}

.is-vista-lista .ts-prod__botones .ts-prod__anadir {
	flex: 1;
	padding: 0 14px;
}

.is-vista-lista .ts-prod__fav.is-lista {
	position: static;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(13, 43, 62, 0.20);
	border-radius: 12px;
}

/* Tarjeta de Alisio dentro del listado */
.ts-promo {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	padding: 22px;
	overflow: hidden;
	overflow: clip;
	border-radius: 20px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-promo .ts-estela {
	position: absolute;
	top: 22px;
	right: 18px;
}

.ts-promo .ts-estela span {
	width: 9px;
	height: 9px;
}

.ts-promo__ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.08);
}

.ts-promo__texto {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ts-promo__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-size: 26px;
	line-height: 1.12;
}

.ts-promo__vs {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ts-promo__vs > span:not(.ts-eti) {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	height: 54px;
	border: 1px dashed rgba(255, 255, 255, 0.3);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.08);
	font-family: var(--ts-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.72);
}

.ts-promo__lead {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.80);
}

.ts-promo .ts-btn {
	margin-top: auto;
	min-height: 44px;
	padding: 12px 16px;
	font-size: 14px;
}

.is-vista-lista .ts-promo {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	padding: 22px 26px;
}

.is-vista-lista .ts-promo .ts-estela,
.is-vista-lista .ts-promo__vs {
	display: none;
}

.is-vista-lista .ts-promo__texto {
	flex: 1 1 300px;
	gap: 4px;
}

.is-vista-lista .ts-promo .ts-btn {
	margin-top: 0;
}

/* Paginación */
.ts-paginas {
	display: flex !important;
	justify-content: center;
	padding-top: 16px;
}

.ts-paginas ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-paginas li {
	margin: 0;
}

.ts-pag {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 44px;
	height: 44px;
	border: 1px solid rgba(13, 43, 62, 0.20);
	border-radius: 12px;
	background: #ffffff;
	color: var(--ts-tinta) !important;
	font-size: 15px;
	font-weight: 500;
}

.ts-pag:hover {
	border-color: var(--ts-tinta);
}

.ts-pag.is-texto {
	gap: 6px;
	padding: 0 14px;
	font-size: 14px;
	font-weight: 600;
}

.ts-pag.is-actual {
	border-color: var(--ts-tinta);
	background: var(--ts-tinta);
	color: #ffffff !important;
	font-weight: 700;
}

.ts-pag.is-off {
	border-color: var(--ts-borde);
	color: rgba(13, 43, 62, 0.55) !important;
}

.ts-pag__puntos {
	width: 32px;
	text-align: center;
	color: var(--ts-suave);
}

.ts-mas {
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.ts-mas__barra {
	display: block;
	width: 160px;
	height: 4px;
	overflow: hidden;
	overflow: clip;
	border-radius: 2px;
	background: rgba(13, 43, 62, 0.12);
}

.ts-mas__barra span {
	display: block;
	height: 4px;
	background: var(--ts-alisio);
}

.ts-mas .ts-btn {
	align-self: stretch;
	min-height: 50px;
}

.ts-listado__seo {
	padding-bottom: 56px;
}

.ts-listado__seo-caja {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 48px;
	padding-top: 32px;
	border-top: 1px solid var(--ts-borde);
}

.ts-listado__seo-caja h2 {
	flex: 1 1 260px;
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 300;
	font-size: 26px;
	line-height: 1.2;
	letter-spacing: 0;
}

.ts-listado__seo-txt {
	flex: 2 1 480px;
	min-width: 0;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(13, 43, 62, 0.80);
}

.ts-listado__seo-txt p {
	margin: 0 0 12px;
}

@media (max-width: 860px) {
	.ts-listado__cabeza {
		padding-top: 16px;
	}

	.ts-listado__titulo h1 {
		font-size: 34px;
	}

	.ts-listado__alisio {
		padding: 18px;
		border-radius: 20px;
	}

	.ts-listado__alisio-titulo h2 {
		font-size: 20px;
	}

	.ts-listado__alisio-ico {
		flex-basis: 44px;
		height: 44px;
	}

	.ts-listado__subs {
		flex-wrap: nowrap;
		margin: 0 -20px;
		padding: 0 20px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ts-sub {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.ts-listado__cuerpo {
		gap: 16px;
		padding-top: 16px;
	}

	.ts-listado__abrir-filtros {
		flex: 1 1 100%;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-height: 48px;
		border: 1px solid rgba(13, 43, 62, 0.20);
		border-radius: 12px;
		background: #ffffff;
		color: var(--ts-tinta);
		font-weight: 600 !important;
		font-size: 15px !important;
		cursor: pointer;
	}

	/* Filtros como hoja que sube desde abajo */
	.ts-filtros {
		position: fixed;
		inset: 0;
		z-index: 210;
		display: none;
		flex: none;
		background: rgba(13, 43, 62, 0.55);
	}

	.ts-filtros.is-abierta {
		display: flex;
		align-items: flex-end;
	}

	.ts-filtros__panel {
		display: flex;
		flex-direction: column;
		width: 100%;
		max-height: 88vh;
		max-height: 88svh;
		border-radius: 22px 22px 0 0;
		background: #ffffff;
		animation: ts-sube 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) both;
	}

	.ts-filtros__panel::before {
		content: "";
		align-self: center;
		width: 40px;
		height: 4px;
		margin-top: 8px;
		border-radius: 2px;
		background: rgba(13, 43, 62, 0.20);
	}

	@keyframes ts-sube {
		from { transform: translateY(100%); }
		to { transform: none; }
	}

	.ts-filtros__cabeza {
		padding: 8px 12px 10px 20px;
		border-bottom: 1px solid var(--ts-borde);
	}

	.ts-filtros__cabeza h2 {
		font-size: 28px;
	}

	.ts-filtros__cuerpo {
		flex: 1;
		min-height: 0;
		padding: 0 20px;
		overflow-y: auto;
	}

	.ts-filtros__cuerpo .ts-filtro:first-child {
		border-top: 0;
	}

	.ts-filtro__tramos {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.ts-filtro__tramos .ts-chip {
		justify-content: center;
		border-radius: 12px;
	}

	.ts-filtros__pie {
		flex-direction: row;
		padding: 12px 20px calc(16px + env(safe-area-inset-bottom, 0px));
		box-shadow: 0 -8px 24px rgba(13, 43, 62, 0.08);
	}

	.ts-filtros__pie .ts-btn.is-contorno {
		flex: 0 0 38%;
	}

	.ts-filtros__pie .ts-btn.ts-solo-movil {
		display: flex !important;
		flex: 1;
	}

	.ts-listado__resultados {
		flex-basis: 100%;
		gap: 14px;
	}

	.ts-listado__barra {
		padding-bottom: 10px;
	}

	.ts-listado__activos {
		flex-basis: 100%;
	}

	.ts-listado__sin {
		display: none;
	}

	.ts-orden {
		flex: 1;
		justify-content: space-between;
	}

	.ts-vista.ts-solo-escritorio {
		display: none !important;
	}

	.ts-rejilla.is-catalogo,
	.ts-rejilla.is-catalogo.is-vista-lista {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.ts-rejilla.is-catalogo .ts-promo {
		grid-column: 1 / -1;
	}

	.ts-prod.is-catalogo .ts-prod__fav {
		display: flex;
		width: 34px;
		height: 34px;
	}

	.ts-prod.is-catalogo .ts-prod__dto,
	.ts-prod.is-catalogo .ts-prod__sello {
		top: auto;
		bottom: 8px;
	}

	.ts-prod.is-catalogo .ts-prod__datos {
		display: none;
	}

	.ts-prod.is-catalogo .ts-prod__puntos {
		display: flex;
		font-size: 13px;
	}

	.ts-prod.is-catalogo .ts-prod__envio {
		display: none;
	}

	.ts-prod.is-catalogo .ts-prod__compra {
		align-items: flex-end;
	}

	.ts-prod.is-catalogo .ts-prod__compra .ts-prod__precio {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	.ts-prod.is-catalogo .ts-prod__importe {
		font-size: 17px;
	}

	.ts-mas.ts-solo-movil {
		display: flex !important;
		padding-top: 8px;
	}

	.ts-listado__seo-caja h2 {
		font-size: 24px;
	}
}

/* ---------- 16. Páginas de la tienda (plantilla page-tienda: ofertas, favoritos, Mi cuenta) ---------- */
.ts-pagina {
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-pagina__cabeza {
	padding-top: 24px;
}

.ts-pagina .ts-pagina__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(38px, 4.4vw, 56px);
	line-height: 1.05;
	letter-spacing: 0;
	color: var(--ts-tinta);
}

.ts-pagina__contenido > :not(.ts-seccion):not(.alignfull) {
	box-sizing: border-box;
	max-width: 1328px;
	margin-inline: auto !important;
	padding-inline: 24px;
}

.ts-pagina__contenido > .ts-pagina-lead {
	margin-top: 12px;
	margin-bottom: 0;
	font-size: 17px;
	line-height: 1.5;
	color: rgba(13, 43, 62, 0.80);
}

.ts-flash.is-pagina > .ts-caja {
	padding-top: 24px;
	padding-bottom: 56px;
}

@media (max-width: 860px) {
	.ts-pagina__contenido > :not(.ts-seccion):not(.alignfull) {
		padding-inline: 20px;
	}

	.ts-pagina .ts-pagina__titulo {
		font-size: 34px;
	}

	.ts-flash.is-pagina > .ts-caja {
		padding: 20px 20px 40px;
	}

	.ts-rejilla.is-flash.is-pagina {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 0;
		overflow: visible;
	}

	.ts-flash.is-pagina .ts-reloj {
		flex: 1;
		justify-content: space-between;
	}
}

/* ---------- 17. Ficha de producto (tablero «Ficha de producto + carrito») ---------- */
.ts-ficha {
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-ficha__migas {
	padding-top: 20px;
}

.ts-migas.is-suave {
	gap: 6px 10px;
}

.ts-migas.is-suave a {
	text-decoration: none !important;
}

.ts-migas.is-suave li[aria-hidden] {
	color: rgba(13, 43, 62, 0.45);
}

.ts-ficha__principal {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 40px;
	padding-top: 24px;
	padding-bottom: 48px;
}

.ts-galeria {
	flex: 1 1 480px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ts-galeria__grande {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	overflow: clip;
	border-radius: 24px;
	background: var(--ts-arena);
}

.ts-galeria__vista {
	width: 100%;
	height: 100%;
}

.ts-galeria__vista[hidden] {
	display: none;
}

.ts-galeria__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ts-galeria__dto {
	position: absolute;
	top: 18px;
	left: 18px;
	padding: 6px 12px;
	border-radius: 8px;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-weight: 700;
	font-size: 15px;
}

.ts-galeria__fav {
	position: absolute;
	top: 14px;
	right: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: #ffffff;
	color: var(--ts-tinta) !important;
	box-shadow: 0 6px 18px rgba(13, 43, 62, 0.14);
	cursor: pointer;
}

.ts-galeria__fav[aria-pressed="true"] {
	background: var(--ts-tinta);
	color: var(--ts-claro) !important;
}

.ts-galeria__fav[aria-pressed="true"] svg {
	fill: currentColor;
}

.ts-galeria__grande > .ts-estela {
	position: absolute;
	right: 22px;
	bottom: 22px;
}

.ts-galeria__grande > .ts-estela span {
	background: var(--ts-alisio);
}

.ts-galeria__minis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.ts-galeria__mini {
	aspect-ratio: 1 / 1;
	width: 100%;
	min-height: 44px;
	padding: 0;
	overflow: hidden;
	overflow: clip;
	border: 2px solid transparent;
	border-radius: 16px;
	background: var(--ts-arena);
	cursor: pointer;
}

.ts-galeria__mini[aria-pressed="true"] {
	border-color: var(--ts-tinta);
}

.ts-galeria__mini img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ts-ficha__info {
	flex: 1 1 440px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.ts-ficha__titulos {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-ficha__nombre {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(32px, 3.4vw, 46px);
	line-height: 1.08;
	letter-spacing: 0;
	color: var(--ts-tinta);
}

.ts-ficha__precio {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 16px;
	margin: 0;
}

.ts-ficha__importe {
	font-family: var(--ts-display);
	font-size: clamp(40px, 4vw, 54px);
	line-height: 1;
}

.ts-ficha__precio del {
	font-size: 20px;
	color: rgba(13, 43, 62, 0.60);
}

.ts-ficha__igic {
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-ficha__corta {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(13, 43, 62, 0.85);
}

.ts-ficha__corta p {
	margin: 0;
}

.ts-comprar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0;
}

.ts-cantidad {
	display: flex;
	align-items: center;
	overflow: hidden;
	overflow: clip;
	border: 1px solid rgba(13, 43, 62, 0.20);
	border-radius: 14px;
	background: #ffffff;
}

.ts-cantidad button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 54px;
	padding: 0;
	border: 0;
	background: #ffffff;
	color: var(--ts-tinta);
	cursor: pointer;
}

.ts-cantidad button:hover {
	background: var(--ts-arena);
}

.ts-cantidad input {
	width: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-weight: 700;
	font-size: 17px;
	text-align: center;
	color: var(--ts-tinta);
	-moz-appearance: textfield;
	appearance: textfield;
}

.ts-cantidad input::-webkit-outer-spin-button,
.ts-cantidad input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ts-comprar__anadir,
.ts-comprar__ya {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 56px;
	padding: 0 20px;
	border: 0;
	border-radius: 14px;
	font-family: var(--ts-texto) !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ts-comprar__anadir {
	flex: 1 1 200px;
	background: var(--ts-tinta);
	color: #ffffff !important;
}

.ts-comprar__anadir:hover {
	background: var(--ts-tinta-hover);
}

.ts-comprar__ya {
	flex: 1 1 160px;
	background: var(--ts-claro);
	color: var(--ts-tinta) !important;
}

.ts-comprar__ya:hover {
	background: var(--ts-claro-hover);
}

.ts-comprar .is-cargando {
	opacity: 0.6;
	pointer-events: none;
}

.ts-agotado {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 20px;
	border-radius: 18px;
	background: var(--ts-arena);
}

.ts-agotado p {
	margin: 0;
}

.ts-ficha__puntos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 12px 20px;
	margin: 0;
	padding: 18px 20px;
	border: 1px solid var(--ts-borde);
	border-radius: 18px;
	list-style: none;
	font-size: 14px;
}

.ts-ficha__puntos li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.ts-ficha__puntos strong {
	font-weight: 600;
}

.ts-ficha__puntos a {
	color: var(--ts-tinta) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.ts-ficha__alisio {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 22px;
	border-radius: 22px;
	background: var(--ts-arena);
}

.ts-ficha__alisio-cabeza {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ts-ficha__alisio-ico {
	display: flex;
	flex: 0 0 40px;
	align-items: center;
	justify-content: center;
	height: 40px;
	border-radius: 11px;
	background: var(--ts-tinta);
}

.ts-ficha__alisio-titulo {
	font-family: var(--ts-display);
	font-size: 22px;
	line-height: 1.2;
}

.ts-ficha .ts-chip {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	text-decoration: none;
}

.ts-ficha__burbuja {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	align-self: flex-start;
	max-width: 92%;
	margin: 0;
	padding: 12px 14px;
	border-radius: 14px 14px 14px 4px;
	background: #ffffff;
	font-size: 14px;
	line-height: 1.5;
}

.ts-ficha__burbuja .ts-px {
	margin-top: 7px;
}

.ts-ficha__alisio .ts-ver {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	font-size: 14px;
}

.ts-ficha__pestanas {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 56px;
}

.ts-pestanas__lista.is-ficha {
	border-bottom: 1px solid var(--ts-borde);
}

.ts-pestanas__lista.is-ficha .ts-pestana {
	font-size: 22px !important;
}

.ts-ficha__panel[hidden] {
	display: none !important;
}

.ts-ficha__panel.is-desc {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.ts-ficha__desc {
	flex: 2 1 480px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(13, 43, 62, 0.85);
}

.ts-ficha__desc p,
.ts-ficha__desc ul {
	margin: 0;
}

.ts-ficha__dice {
	flex: 1 1 260px;
	min-width: 0;
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px;
	border-radius: 20px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-ficha__dice p {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 300;
	font-size: 20px;
	line-height: 1.3;
}

.ts-tabla {
	max-width: 760px;
	overflow: hidden;
	overflow: clip;
	border: 1px solid var(--ts-borde);
	border-radius: 18px;
}

.ts-tabla table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 15px;
}

.ts-tabla tr {
	border-bottom: 1px solid rgba(13, 43, 62, 0.08);
}

.ts-tabla tr:last-child {
	border-bottom: 0;
}

.ts-tabla th {
	width: 40%;
	padding: 14px 20px;
	background: var(--ts-arena);
	font-weight: 600;
	text-align: left;
}

.ts-tabla td {
	padding: 14px 20px;
	color: rgba(13, 43, 62, 0.80);
}

.ts-ficha__panel.is-envio {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.ts-ficha__envio-caja {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px;
	border: 1px solid var(--ts-borde);
	border-radius: 18px;
}

.ts-ficha__envio-caja strong {
	font-weight: 600;
	font-size: 17px;
}

.ts-ficha__envio-caja > span:last-child {
	font-size: 15px;
	color: rgba(13, 43, 62, 0.80);
}

.ts-ficha__envio-caja a {
	color: var(--ts-tinta) !important;
	text-decoration: underline !important;
}

.ts-ficha__sugerencias {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 56px;
}

.ts-ficha__sug-cabeza {
	display: flex;
	align-items: center;
	gap: 14px;
}

/* Formulario de WooCommerce (productos con variaciones) con el estilo de la ficha */
.ts-comprar.is-woo form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

.ts-comprar.is-woo .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 56px;
	border-radius: 14px !important;
	background: var(--ts-tinta) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
}

/* ---------- 18. Carrito lateral ---------- */
.ts-carrito {
	position: fixed;
	inset: 0;
	z-index: 220;
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-carrito[hidden],
.ts-carrito [hidden] {
	display: none !important;
}

.ts-carrito__velo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(13, 43, 62, 0.45);
	cursor: pointer;
	animation: ts-velo 0.25s ease both;
}

.ts-carrito__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: min(420px, 100%);
	background: #ffffff;
	box-shadow: -24px 0 60px rgba(13, 43, 62, 0.20);
	animation: ts-carrito-entra 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes ts-carrito-entra {
	from { transform: translateX(100%); }
	to { transform: none; }
}

.ts-carrito.is-cargando .ts-carrito__cuerpo {
	opacity: 0.6;
	pointer-events: none;
}

.ts-carrito__cabeza {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--ts-borde-suave);
}

.ts-carrito__titulo {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
	font-family: var(--ts-display);
	font-size: 26px;
	line-height: 1.1;
}

.ts-carrito__n {
	font-family: var(--ts-texto);
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-carrito__cuerpo {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 18px 20px;
	overflow-y: auto;
}

.ts-carrito__ok {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--ts-tinta);
	color: #ffffff;
	font-size: 14px;
	font-weight: 500;
}

.ts-carrito__ok .ts-px {
	width: 12px;
	height: 12px;
}

.ts-carrito__lineas {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-linea {
	display: flex;
	gap: 12px;
	margin: 0;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(13, 43, 62, 0.08);
}

.ts-linea__foto {
	display: flex;
	flex: 0 0 68px;
	align-items: center;
	justify-content: center;
	height: 68px;
	overflow: hidden;
	overflow: clip;
	border-radius: 12px;
	background: var(--ts-arena);
}

.ts-linea__foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ts-linea__cuerpo {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ts-linea__arriba,
.ts-linea__abajo {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}

.ts-linea__abajo {
	align-items: center;
}

.ts-linea__nombre {
	display: flex;
	flex-direction: column;
	min-width: 0;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
}

.ts-linea__nombre span {
	font-weight: 400;
	font-size: 12px;
	color: var(--ts-suave);
}

.ts-linea__quitar {
	flex: 0 0 44px;
	margin: -8px -8px 0 0;
	color: var(--ts-suave) !important;
}

.ts-cantidad.is-pequena {
	border-radius: 10px;
}

.ts-cantidad.is-pequena button {
	width: 40px;
	height: 44px;
}

.ts-cantidad.is-pequena span {
	min-width: 28px;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
}

.ts-linea__abajo strong {
	font-weight: 700;
	font-size: 15px;
}

.ts-carrito__vacio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 24px;
	border-radius: 16px;
	background: var(--ts-arena);
}

.ts-carrito__vacio > span:last-child {
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-carrito__sug {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	border-left: 4px solid var(--ts-alisio);
	border-radius: 18px;
	background: var(--ts-arena);
}

.ts-carrito__sug-titulo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-weight: 600;
	font-size: 15px;
}

.ts-carrito__sug-ico {
	display: flex;
	flex: 0 0 30px;
	align-items: center;
	justify-content: center;
	height: 30px;
	border-radius: 9px;
	background: var(--ts-tinta);
}

.ts-carrito__sug [data-ts-carrito-sug-lista] {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-sug {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	border-radius: 12px;
	background: #ffffff;
}

.ts-sug__foto {
	display: flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	height: 44px;
	overflow: hidden;
	overflow: clip;
	border-radius: 10px;
	background: var(--ts-arena);
}

.ts-sug__foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ts-sug__txt {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.ts-sug__txt strong {
	font-weight: 600;
	font-size: 13px;
}

.ts-sug__txt span {
	font-size: 12px;
	color: var(--ts-suave);
}

.ts-btn.ts-sug__btn {
	min-height: 44px;
	padding: 0 12px;
	border-radius: 10px;
	font-size: 13px;
}

.ts-carrito__pie {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px 20px;
	border-top: 1px solid var(--ts-borde-suave);
}

.ts-carrito__subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	font-weight: 600;
}

.ts-carrito__subtotal strong {
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 28px;
	line-height: 1;
}

.ts-carrito__nota {
	margin: 0;
	font-size: 13px;
	color: var(--ts-suave);
}

.ts-carrito__pie .ts-btn {
	gap: 8px;
	width: 100%;
	min-height: 52px;
}

@media (max-width: 860px) {
	.ts-ficha__principal {
		gap: 24px;
		padding-top: 16px;
		padding-bottom: 32px;
	}

	.ts-galeria {
		flex-basis: 100%;
		margin-inline: -20px;
	}

	.ts-galeria__grande {
		border-radius: 0;
	}

	.ts-galeria__minis {
		display: flex;
		gap: 8px;
		padding: 0 20px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ts-galeria__mini {
		flex: 0 0 64px;
		border-radius: 12px;
	}

	.ts-ficha__info {
		flex-basis: 100%;
		gap: 18px;
	}

	.ts-ficha__nombre {
		font-size: 30px;
	}

	.ts-ficha__importe {
		font-size: 40px;
	}

	.ts-comprar__ya {
		flex-basis: 100%;
	}

	.ts-ficha__alisio {
		padding: 18px;
		border-radius: 20px;
	}

	.ts-ficha__alisio-titulo {
		font-size: 20px;
	}

	.ts-ficha .ts-chips {
		flex-wrap: nowrap;
		margin: 0 -18px;
		padding: 0 18px;
	}

	.ts-pestanas__lista.is-ficha {
		flex-wrap: nowrap;
		margin: 0 -20px;
		padding: 0 20px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ts-pestanas__lista.is-ficha .ts-pestana {
		font-size: 19px !important;
	}

	.ts-ficha__dice p {
		font-size: 18px;
	}

	.ts-ficha__sugerencias .ts-rejilla.is-lista {
		padding: 0;
	}
}

/* ---------- 19. Plantillas nuevas: sin la caja antigua de 1200 px (tienda.css §1 y §12) ---------- */
body.airea-tienda main.wp-block-group.airea-tlistado:not(.airea-landing),
body.airea-tienda main.wp-block-group.airea-tficha-pagina:not(.airea-landing),
body.airea-tienda main.wp-block-group.ts-pagina:not(.airea-landing),
body.airea-tienda main.wp-block-group.airea-tpedido:not(.airea-landing) {
	max-width: none;
	margin: 0;
	padding: 0;
}

body.airea-tienda main > .wp-block-group.ts-seccion:not(.airea-landing),
body.airea-tienda main.ts-pagina > * + * {
	max-width: none;
	margin: 0;
	padding: 0;
}

body.airea-tienda main > .wp-block-group.ts-caja:not(.airea-landing) {
	max-width: 1328px;
	margin-inline: auto;
	padding: 24px 24px 0;
}

body.airea-tienda .ts-listado__titulo h1,
body.airea-tienda .ts-pagina .ts-pagina__titulo {
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(38px, 4.4vw, 56px);
	line-height: 1.05;
	letter-spacing: 0;
}

body.airea-tienda h1.ts-ficha__nombre {
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(32px, 3.4vw, 46px);
	line-height: 1.08;
	letter-spacing: 0;
}

body.airea-tienda h1.ts-lamina__titulo {
	font-weight: 400;
	font-size: clamp(36px, 4.2vw, 58px);
	line-height: 1.05;
	letter-spacing: 0;
}

@media (max-width: 860px) {
	body.airea-tienda main > .wp-block-group.ts-caja:not(.airea-landing) {
		padding: 16px 20px 0;
	}

	body.airea-tienda .ts-listado__titulo h1,
	body.airea-tienda .ts-pagina .ts-pagina__titulo {
		font-size: 34px;
	}

	body.airea-tienda h1.ts-ficha__nombre {
		font-size: 30px;
	}

	body.airea-tienda h1.ts-lamina__titulo {
		font-size: 38px;
	}
}

/* ---------- 20. Impresión 3D (tablero «Airea Shop · Impresión 3D») ---------- */
.ts-3d {
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-3d a {
	text-decoration: none;
}

.ts-h2.is-34 {
	font-size: 34px;
}

.ts-3d__hero {
	position: relative;
	overflow: hidden;
	overflow: clip;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-3d__viento {
	position: absolute;
	left: -60px;
	border-radius: 26%;
	background: var(--ts-claro);
	animation: ts-viento linear infinite;
}

@keyframes ts-viento {
	0% { transform: translateX(0); opacity: 0; }
	10% { opacity: 1; }
	85% { opacity: 1; }
	100% { transform: translateX(1600px); opacity: 0; }
}

.ts-3d__hero-caja {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 48px;
	padding-top: 64px;
	padding-bottom: 72px;
}

.ts-3d__hero-texto {
	flex: 1 1 520px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

body.airea-tienda .ts-3d__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(36px, 4.4vw, 60px);
	line-height: 1.05;
	letter-spacing: 0;
	color: #ffffff;
}

.ts-3d__lead {
	max-width: 560px;
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.80);
}

.ts-3d__buscar {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 640px;
	margin: 0;
	padding: 8px 8px 8px 20px;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
	color: var(--ts-tinta);
}

.ts-3d__buscar input[type="search"] {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 14px 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font: inherit;
	font-size: 17px;
	color: var(--ts-tinta);
	outline: none;
}

.ts-3d__buscar .ts-buscador__btn {
	min-height: 52px;
	padding: 0 22px;
	border-radius: 12px;
	font-size: 15px !important;
}

.ts-3d__populares {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.ts-3d__populares .ts-eti {
	margin-right: 4px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.72);
}

.ts-chip.is-oscura {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	border-color: rgba(255, 255, 255, 0.30);
	background: transparent;
	color: #ffffff !important;
}

.ts-chip.is-oscura:hover {
	border-color: var(--ts-claro);
	color: var(--ts-claro) !important;
}

.ts-3d__impresora {
	flex: 1 1 360px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.ts-3d__maquina {
	position: relative;
	width: 360px;
	max-width: 100%;
	height: 380px;
}

.ts-3d__bobina {
	position: absolute;
	top: -28px;
	right: 6px;
}

.ts-3d__marco {
	position: absolute;
	inset: 10px 20px 30px;
	border: 3px solid rgba(255, 255, 255, 0.85);
	border-radius: 22px;
}

.ts-3d__pata {
	position: absolute;
	bottom: 14px;
	box-sizing: border-box;
	width: 26px;
	height: 16px;
	border: 3px solid rgba(255, 255, 255, 0.85);
	border-top: 0;
	border-radius: 0 0 8px 8px;
}

.ts-3d__pata.is-izq { left: 44px; }
.ts-3d__pata.is-der { right: 44px; }

.ts-3d__cama {
	position: absolute;
	top: 316px;
	right: 50px;
	left: 50px;
	height: 8px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.85);
}

.ts-3d__capa {
	position: absolute;
	left: 50%;
	height: 13px;
	border-radius: 4px;
	background: var(--ts-claro);
	animation-duration: 8s;
	animation-timing-function: ease-out;
	animation-iteration-count: infinite;
}

.ts-3d__capa.is-blanca {
	background: #ffffff;
}

@keyframes ts-capa0 { 0% { opacity: 0; transform: scaleX(0.2); } 4%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }
@keyframes ts-capa1 { 0%, 10% { opacity: 0; transform: scaleX(0.2); } 14%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }
@keyframes ts-capa2 { 0%, 20% { opacity: 0; transform: scaleX(0.2); } 24%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }
@keyframes ts-capa3 { 0%, 30% { opacity: 0; transform: scaleX(0.2); } 34%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }
@keyframes ts-capa4 { 0%, 40% { opacity: 0; transform: scaleX(0.2); } 44%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }
@keyframes ts-capa5 { 0%, 50% { opacity: 0; transform: scaleX(0.2); } 54%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }
@keyframes ts-capa6 { 0%, 60% { opacity: 0; transform: scaleX(0.2); } 64%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }
@keyframes ts-capa7 { 0%, 70% { opacity: 0; transform: scaleX(0.2); } 74%, 90% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; transform: none; } }

.ts-3d__eje {
	position: absolute;
	top: 262px;
	right: 23px;
	left: 23px;
	height: 40px;
	animation: ts-sube 8s linear infinite;
}

@keyframes ts-sube {
	0% { transform: translateY(0); }
	70%, 92% { transform: translateY(-112px); }
	100% { transform: translateY(0); }
}

.ts-3d__guia {
	position: absolute;
	top: 10px;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.45);
}

.ts-3d__boquilla {
	position: absolute;
	top: 0;
	left: 60px;
	width: 44px;
	height: 38px;
	animation: ts-boquilla 1.1s ease-in-out infinite alternate;
}

@keyframes ts-boquilla {
	from { transform: translateX(0); }
	to { transform: translateX(150px); }
}

.ts-3d__chispas {
	position: absolute;
	top: 9px;
	left: -30px;
	display: flex;
	gap: 4px;
}

.ts-3d__chispas span {
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 26%;
	background: var(--ts-claro);
	animation: ts-estela 1.2s ease-in-out infinite;
}

.ts-3d__chispas span:nth-child(2) { animation-delay: 0.2s; }
.ts-3d__chispas span:nth-child(1) { animation-delay: 0.4s; }

.ts-3d__cabezal {
	box-sizing: border-box;
	width: 44px;
	height: 26px;
	border: 3px solid #ffffff;
	border-radius: 8px;
	background: var(--ts-tinta);
}

.ts-3d__punta {
	width: 0;
	height: 0;
	margin: 0 auto;
	border-top: 12px solid var(--ts-claro);
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
}

.ts-3d__estado {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
	font-family: var(--ts-mono);
	font-size: 12px;
	letter-spacing: 0.15em;
	color: rgba(255, 255, 255, 0.85);
}

.ts-3d__estado .ts-px {
	animation: ts-punto 1.4s ease-in-out infinite;
}

@keyframes ts-punto {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

.ts-3d__cabeza {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ts-3d__pasos-caja {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding-top: 64px;
	padding-bottom: 32px;
}

.ts-3d__pasos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.ts-3d__paso {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 28px;
	border-radius: 24px;
	background: var(--ts-arena);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ts-3d__paso:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 50px rgba(13, 43, 62, 0.14);
}

.ts-3d__paso.is-tinta {
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-3d__paso-arriba {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ts-3d__paso-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #ffffff;
}

.ts-3d__paso.is-tinta .ts-3d__paso-ico {
	background: rgba(255, 255, 255, 0.08);
}

.ts-3d__paso-n {
	font-family: var(--ts-display);
	font-weight: 200;
	font-size: 48px;
	line-height: 1;
	color: var(--ts-alisio);
}

.ts-3d__paso.is-tinta .ts-3d__paso-n {
	color: var(--ts-claro);
}

.ts-3d__paso h3 {
	margin: 0;
	font-family: var(--ts-texto);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	color: inherit;
}

.ts-3d__paso p {
	margin: 0;
	font-size: 15px;
	color: rgba(13, 43, 62, 0.78);
}

.ts-3d__paso.is-tinta p {
	color: rgba(255, 255, 255, 0.78);
}

.ts-3d__cats > .ts-caja {
	padding-top: 40px;
}

.ts-3d__cats .airea-b-cats__item:hover svg {
	transform: rotate(-8deg) scale(1.08);
}

.ts-3d__cats .airea-b-cats__ico svg {
	transition: transform 0.25s ease;
}

.ts-3d__catalogo {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 48px;
	padding-bottom: 56px;
}

.ts-3d__cat-cabeza {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.ts-3d__total {
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-3d__cuerpo {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 28px;
}

.ts-3d__modelos-col {
	flex: 999 1 600px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ts-3d__filtros {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	border-radius: 18px;
	background: var(--ts-arena);
}

.ts-3d__chips {
	flex: 1 1 420px;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ts-3d__chips .ts-chip {
	padding: 8px 13px;
	border-color: rgba(13, 43, 62, 0.18);
}

.ts-3d .ts-chip[aria-pressed="true"] {
	font-weight: 600 !important;
}

.ts-3d .ts-orden label {
	font-weight: 500;
	color: var(--ts-tinta);
}

.ts-3d__modelos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}

.ts-modelo {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 13px;
	border: 2px solid var(--ts-borde);
	border-radius: 20px;
	background: #ffffff;
	color: var(--ts-tinta);
	text-align: left;
	cursor: pointer;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ts-modelo[hidden] {
	display: none;
}

.ts-modelo:hover {
	box-shadow: 0 18px 40px rgba(13, 43, 62, 0.12);
	transform: translateY(-3px);
}

.ts-modelo[aria-pressed="true"] {
	border-color: var(--ts-tinta);
	box-shadow: 0 18px 40px rgba(13, 43, 62, 0.12);
}

.ts-modelo__foto {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	overflow: clip;
	border-radius: 14px;
	background: var(--ts-arena);
}

.ts-modelo__foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ts-modelo__cubo svg {
	transition: transform 0.35s ease;
}

.ts-modelo:hover .ts-modelo__cubo svg {
	transform: rotate(-10deg) scale(1.08);
}

.ts-modelo__elegido {
	position: absolute;
	top: 10px;
	left: 10px;
	display: none;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	border-radius: 6px;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-family: var(--ts-mono);
	font-size: 10px;
	letter-spacing: 0.15em;
}

.ts-modelo[aria-pressed="true"] .ts-modelo__elegido {
	display: flex;
}

.ts-modelo__elegido .ts-px {
	width: 6px;
	height: 6px;
}

.ts-modelo__nombre {
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
}

.ts-modelo__pie {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	font-size: 14px;
}

.ts-modelo__pie strong {
	font-size: 18px;
}

.ts-modelo__horas {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	color: var(--ts-suave);
}

.ts-3d__vacio {
	margin: 0;
	padding: 24px;
	border-radius: 18px;
	background: var(--ts-arena);
}

.ts-3d__vacio a {
	font-weight: 600;
	text-decoration: underline !important;
}

/* Configurador */
.ts-config {
	flex: 1 1 360px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 24px;
	border: 1px solid var(--ts-borde);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(13, 43, 62, 0.08);
}

.ts-config__cabeza {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ts-ficha__plegable {
	border-bottom: 1px solid var(--ts-borde);
}

.ts-ficha__plegable summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 60px;
	list-style: none;
	font-family: var(--ts-display);
	font-size: 22px;
	color: var(--ts-tinta);
	cursor: pointer;
}

.ts-ficha__plegable summary::-webkit-details-marker {
	display: none;
}

.ts-ficha__plegable summary::after {
	content: "";
	width: 9px;
	height: 9px;
	margin: -4px 4px 0 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.ts-ficha__plegable[open] summary::after {
	margin-top: 4px;
	transform: rotate(-135deg);
}

.ts-ficha__plegable > .ts-ficha__panel {
	padding-bottom: 20px;
}

.ts-config__cerrar {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-left: auto;
	border: 0;
	border-radius: 12px;
	background: var(--ts-arena);
	color: var(--ts-tinta);
	cursor: pointer;
}

html.ts-sin-scroll {
	overflow: clip;
}

@keyframes ts-hoja-sube {
	from {
		transform: translateY(100%);
	}

	to {
		transform: none;
	}
}

.ts-config__cabeza .ts-estela span {
	width: 9px;
	height: 9px;
	background: var(--ts-alisio);
}

.ts-config__titulos {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

body.airea-tienda .ts-config__nombre {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 28px;
	line-height: 1.15;
	letter-spacing: 0;
}

.ts-config__vista {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	overflow: clip;
	border-radius: 18px;
	background: var(--ts-arena);
}

.ts-config__vista img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ts-config__vista [hidden] {
	display: none !important;
}

.ts-config__chapa {
	position: absolute;
	bottom: 12px;
	left: 12px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 10px;
	border-radius: 8px;
	background: #ffffff;
	font-size: 12px;
	font-weight: 600;
}

.ts-config__muestra {
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid rgba(13, 43, 62, 0.25);
	border-radius: 26%;
}

.ts-config__grupo {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
}

.ts-config__grupo legend {
	margin-bottom: 8px;
	padding: 0;
	font-weight: 600;
	font-size: 15px;
}

.ts-config__grupo legend span {
	font-weight: 400;
	color: var(--ts-suave);
}

.ts-opcion3d {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 10px 14px;
	border: 2px solid rgba(13, 43, 62, 0.14);
	border-radius: 14px;
	background: #ffffff;
	cursor: pointer;
}

.ts-opcion3d:hover {
	border-color: var(--ts-tinta);
}

.ts-opcion3d input,
.ts-muestra input,
.ts-relleno input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ts-opcion3d__px {
	flex: 0 0 12px;
	box-sizing: border-box;
	height: 12px;
	border: 2px solid rgba(13, 43, 62, 0.3);
	border-radius: 26%;
}

.ts-opcion3d__txt {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.ts-opcion3d__txt strong {
	font-weight: 600;
	font-size: 15px;
}

.ts-opcion3d__txt span {
	font-size: 13px;
	color: var(--ts-suave);
}

.ts-opcion3d:has(input:checked) {
	border-color: var(--ts-tinta);
	background: var(--ts-arena);
}

.ts-opcion3d:has(input:checked) .ts-opcion3d__px {
	border: 0;
	background: var(--ts-alisio);
}

.ts-opcion3d:has(input:checked) strong {
	font-weight: 700;
}

.ts-opcion3d:has(input:focus-visible),
.ts-muestra:has(input:focus-visible),
.ts-relleno:has(input:focus-visible) {
	outline: 2px solid var(--ts-alisio);
	outline-offset: 2px;
}

.ts-config__consejo {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.ts-config__alisio {
	display: flex;
	flex: 0 0 38px;
	align-items: center;
	justify-content: center;
	height: 38px;
	border-radius: 11px;
	background: var(--ts-tinta);
}

.ts-config__consejo p {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 12px 14px;
	border-radius: 4px 14px 14px 14px;
	background: var(--ts-tinta);
	color: #ffffff;
	font-size: 14px;
}

.ts-config__consejo .ts-eti {
	font-size: 10px;
}

.ts-config__colores {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ts-muestra {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	border: 2px solid transparent;
	border-radius: 14px;
	background: #ffffff;
	cursor: pointer;
	transition: transform 0.15s ease;
}

.ts-muestra:hover {
	transform: scale(1.08);
}

.ts-muestra > span:not(.screen-reader-text) {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(13, 43, 62, 0.25);
	border-radius: 26%;
	font-size: 12px;
	font-weight: 700;
}

.ts-muestra.is-otro > span:not(.screen-reader-text) {
	border-style: dashed;
}

.ts-muestra:has(input:checked) {
	border-color: var(--ts-tinta);
}

.ts-config__rellenos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.ts-relleno {
	position: relative;
	display: flex;
	min-height: 56px;
	padding: 10px 12px;
	border: 2px solid rgba(13, 43, 62, 0.14);
	border-radius: 14px;
	background: #ffffff;
	cursor: pointer;
}

.ts-relleno > span {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.ts-relleno strong {
	font-weight: 600;
	font-size: 15px;
}

.ts-relleno > span > span {
	font-size: 12px;
	color: var(--ts-suave);
}

.ts-relleno:has(input:checked) {
	border-color: var(--ts-tinta);
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-relleno:has(input:checked) strong {
	font-weight: 700;
}

.ts-relleno:has(input:checked) > span > span {
	color: rgba(255, 255, 255, 0.80);
}

.ts-config__cantidad {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-weight: 600;
	font-size: 15px;
}

.ts-config__cantidad .ts-cantidad {
	border-radius: 12px;
}

.ts-config__cantidad .ts-cantidad button {
	height: 48px;
}

.ts-config__cantidad .ts-cantidad input {
	width: 48px;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 22px;
}

.ts-config__precio {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	border-radius: 18px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-config__precio p {
	margin: 0;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.80);
}

.ts-config__precio .ts-eti {
	font-size: 11px;
}

.ts-config__precio p.ts-config__importe {
	font-family: var(--ts-display);
	font-size: 34px;
	line-height: 1.1;
	color: var(--ts-claro);
}

.ts-config__resumen {
	margin-top: 4px !important;
	padding-top: 8px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.ts-btn.ts-config__pedir {
	gap: 10px;
	min-height: 52px;
	border-radius: 14px;
}

/* ¿No está en el catálogo? */
.ts-3d__medida {
	padding-bottom: 48px;
}

.ts-3d__medida-caja {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	padding: 48px;
	border-radius: 28px;
	background: var(--ts-arena);
}

.ts-3d__medida-texto {
	flex: 1 1 440px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ts-3d__medida-titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.1;
	letter-spacing: 0;
}

.ts-3d__medida-texto p {
	max-width: 520px;
	margin: 0;
	font-size: 17px;
	color: rgba(13, 43, 62, 0.80);
}

.ts-3d__medida-texto .ts-btn {
	align-self: flex-start;
	gap: 10px;
}

.ts-3d__medida-chat {
	flex: 1 1 320px;
	max-width: 420px;
}

.ts-3d__medida-chat .ts-chat__alisio {
	background: var(--ts-arena);
}

.ts-3d__medida-chat .ts-estela {
	padding: 8px 4px;
}

.ts-3d__medida-chat .ts-estela span {
	width: 8px;
	height: 8px;
	background: var(--ts-alisio);
}

.ts-3d__empresas {
	padding-bottom: 56px;
}

.ts-empresas__caja.is-borde {
	border: 1px solid var(--ts-borde);
	background: #ffffff;
}

@media (max-width: 860px) {
	.ts-h2.is-34 {
		font-size: 28px;
	}

	.ts-3d__hero-caja {
		gap: 28px;
		padding-top: 36px;
		padding-bottom: 40px;
	}

	body.airea-tienda .ts-3d__titulo {
		font-size: 36px;
	}

	.ts-3d__lead {
		font-size: 16px;
	}

	.ts-3d__buscar {
		padding: 6px 6px 6px 14px;
	}

	.ts-3d__buscar input[type="search"] {
		font-size: 16px;
	}

	.ts-3d__buscar .ts-buscador__btn {
		flex: 0 0 auto;
		width: auto;
		padding: 0 14px;
	}

	/* Configurador como hoja desde abajo */
	.ts-config.is-hoja {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1002;
		max-height: 88vh;
		max-height: 88dvh;
		overflow-y: auto;
		overscroll-behavior: contain;
		margin: 0;
		padding: 20px 20px 28px;
		border: 0;
		border-radius: 24px 24px 0 0;
		background: #ffffff;
		box-shadow: 0 -12px 40px rgba(13, 43, 62, 0.25);
		animation: ts-hoja-sube 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
	}

	.ts-config.is-hoja .ts-config__cerrar {
		display: flex;
	}

	.ts-config__velo {
		position: fixed;
		inset: 0;
		z-index: 1001;
		background: rgba(13, 43, 62, 0.55);
	}

	.ts-config__velo[hidden] {
		display: none;
	}

	.ts-3d__populares {
		flex-wrap: nowrap;
		margin: 0 -20px;
		padding: 0 20px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ts-3d__populares .ts-chip,
	.ts-3d__populares .ts-eti {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.ts-3d__impresora {
		flex-basis: 100%;
	}

	.ts-3d__maquina {
		transform: scale(0.8);
		transform-origin: top center;
		height: 304px;
	}

	.ts-3d__pasos-caja {
		padding-top: 40px;
	}

	.ts-3d__paso {
		padding: 22px;
	}

	.ts-3d__filtros {
		padding: 10px;
	}

	.ts-3d__chips {
		flex-wrap: nowrap;
		flex-basis: 100%;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ts-3d__chips .ts-chip {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.ts-3d__modelos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.ts-modelo {
		padding: 10px;
		border-radius: 18px;
	}

	.ts-modelo__pie {
		flex-direction: column;
		gap: 2px;
	}

	.ts-config {
		flex-basis: 100%;
		padding: 20px;
		scroll-margin-top: 140px;
	}

	.ts-3d__medida-caja {
		gap: 24px;
		padding: 24px 20px;
		border-radius: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ts-3d__viento,
	.ts-3d__capa,
	.ts-3d__eje,
	.ts-3d__boquilla,
	.ts-3d__chispas span,
	.ts-3d__estado .ts-px,
	.ts-config.is-hoja {
		animation: none !important;
	}

	.ts-3d__paso,
	.ts-modelo,
	.ts-muestra {
		transition: none;
	}
}

/* ---------- 21. Pago (tablero «Pago y confirmación») ---------- */
.ts-cabpago {
	border-bottom: 1px solid var(--ts-borde-suave);
	background: #ffffff;
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-cabpago a {
	text-decoration: none;
}

.ts-cabpago__fila {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	padding-block: 14px;
}

.ts-pasos {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-pasos li {
	margin: 0;
}

.ts-pasos__raya {
	width: 28px;
	height: 2px;
	background: rgba(13, 43, 62, 0.15);
}

.ts-paso,
.ts-paso a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	color: rgba(13, 43, 62, 0.72) !important;
}

.ts-paso__n {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border: 1px solid rgba(13, 43, 62, 0.25);
	border-radius: 6px;
	font-family: var(--ts-mono);
	font-size: 10px;
}

.ts-paso.is-hecho .ts-paso__n {
	border-color: var(--ts-alisio);
	background: var(--ts-alisio);
	color: #ffffff;
}

.ts-paso.is-hecho,
.ts-paso.is-hecho a {
	color: var(--ts-tinta) !important;
}

.ts-paso.is-actual {
	color: var(--ts-tinta) !important;
	font-weight: 600;
}

.ts-paso.is-actual .ts-paso__n {
	border-color: var(--ts-tinta);
	background: var(--ts-tinta);
	color: var(--ts-claro);
}

.ts-cabpago__der {
	display: flex;
	align-items: center;
	gap: 28px;
	font-size: 15px;
	font-weight: 600;
}

.ts-cabpago__seguro,
.ts-cabpago__alisio {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--ts-tinta) !important;
}

.ts-cabpago__alisio-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--ts-tinta);
}

/* Contenido del pago a 1280 px */
body.airea-tienda.woocommerce-checkout main.wp-block-group:not(.airea-landing),
body.airea-tienda.woocommerce-checkout main > .wp-block-group:not(.airea-landing) {
	max-width: 1328px;
	padding: 0 24px 64px;
}

.ts-pago-intro {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 32px 0 28px;
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-pago-intro__volver {
	align-self: flex-start;
	margin-bottom: 8px;
	font-size: 15px;
	color: rgba(13, 43, 62, 0.80) !important;
	text-decoration: none !important;
}

body.airea-tienda h1.ts-pago-intro__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(34px, 4.2vw, 56px);
	line-height: 1.08;
	letter-spacing: 0;
}

.ts-pago-intro p {
	margin: 0;
	font-size: 17px;
	color: rgba(13, 43, 62, 0.80);
}

body.airea-tienda .wc-block-checkout {
	counter-reset: ts-paso;
	margin-top: 0;
}

body.airea-tienda .wc-block-checkout__main .wc-block-components-checkout-step {
	counter-increment: ts-paso;
	margin: 0 0 20px !important;
	padding: 28px !important;
	border: 1px solid var(--ts-borde);
	border-radius: 24px;
	background: #ffffff;
}

body.airea-tienda .wc-block-components-checkout-step__heading {
	margin: 0 0 18px;
}

body.airea-tienda .wc-block-components-checkout-step__title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--ts-display) !important;
	font-weight: 400 !important;
	font-size: 26px !important;
	line-height: 1.2;
	color: var(--ts-tinta);
}

body.airea-tienda .wc-block-components-checkout-step__title::before {
	content: counter(ts-paso, decimal-leading-zero);
	display: flex;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	height: 28px;
	border-radius: 6px;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-family: var(--ts-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
}

/* Sin la numeración y la línea de WooCommerce: la del lienzo va en el título. */
body.airea-tienda .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::after,
body.airea-tienda .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before {
	border: 0;
}

body.airea-tienda .wc-block-components-checkout-step--with-step-number {
	padding-left: 28px !important;
}

body.airea-tienda .wc-block-components-checkout-step__container::after {
	display: none !important;
}

body.airea-tienda .wc-block-checkout__sidebar {
	padding: 24px !important;
	border-radius: 24px !important;
	background: var(--ts-arena) !important;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-title {
	font-family: var(--ts-display) !important;
	font-weight: 400 !important;
	font-size: 28px !important;
	text-transform: none;
	letter-spacing: 0;
}

body.airea-tienda .wc-block-components-checkout-place-order-button {
	min-height: 60px;
	border-radius: 16px !important;
	background: var(--ts-tinta) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 17px !important;
}

body.airea-tienda .wc-block-components-checkout-place-order-button:hover {
	background: var(--ts-tinta-hover) !important;
}

.ts-pago-extra {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 18px;
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-pago-extra__lista {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
}

.ts-pago-extra__lista li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.ts-pago-extra__lista a {
	color: var(--ts-tinta) !important;
	text-decoration: underline !important;
}

.ts-pago-extra__alisio {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border-radius: 18px;
	background: #ffffff;
}

.ts-pago-extra__ico {
	display: flex;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	height: 36px;
	border-radius: 10px;
	background: var(--ts-tinta);
}

.ts-pago-extra__alisio > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ts-pago-extra__alisio strong {
	font-weight: 600;
}

.ts-pago-extra__alisio .ts-ver {
	font-size: 14px;
}

.ts-pago-extra__wa {
	font-size: 14px;
	color: rgba(13, 43, 62, 0.80) !important;
	text-decoration: underline !important;
}

/* Ajustes al lienzo: ancho completo, columnas 868 + 380 y piezas de WooCommerce */
body.airea-tienda.woocommerce-checkout main .entry-content.alignwide,
body.airea-tienda.woocommerce-cart main .entry-content.alignwide,
body.airea-tienda.woocommerce-checkout main .wp-block-woocommerce-checkout.alignwide,
body.airea-tienda.woocommerce-cart main .wp-block-woocommerce-cart.alignwide {
	max-width: none !important;
	width: 100%;
}

body.airea-tienda.woocommerce-checkout main.wp-block-group:not(.airea-landing) {
	padding-top: 0;
}

.ts-pago-intro {
	padding: 40px 0 28px;
}

body.airea-tienda h1.ts-pago-intro__titulo {
	font-size: clamp(34px, 3.7vw, 54px);
}

body.airea-tienda .wc-block-checkout.is-large .wc-block-checkout__main {
	width: calc(100% - 412px);
	padding-right: 32px;
}

body.airea-tienda .wc-block-checkout.is-large .wc-block-checkout__sidebar {
	width: 380px;
	margin-left: 0;
}

body.airea-tienda .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border: 0 !important;
	border-radius: 0;
	background: transparent;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-order-summary {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
	border-color: rgba(13, 43, 62, 0.12) !important;
}

/* «Resumen del pedido» → «Tu pedido», como en el lienzo */
body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text {
	font-size: 0 !important;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text::before {
	content: "Tu pedido";
	font-size: 28px;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-product-badge,
body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-prices,
body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-product-metadata__description {
	display: none !important;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-order-summary-item__image img {
	border-radius: 12px;
	background: #ffffff;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-order-summary-item__description {
	font-size: 15px;
	font-weight: 600;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price {
	font-weight: 700;
}

body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 34px !important;
}

/* «Acceso» → «¿Ya tienes cuenta? Entra» */
body.airea-tienda .wc-block-checkout__login-prompt {
	font-size: 0 !important;
	font-weight: 600;
	color: var(--ts-tinta) !important;
}

body.airea-tienda .wc-block-checkout__login-prompt::after {
	content: "¿Ya tienes cuenta? Entra";
	font-size: 15px;
}

/* Campos redondeados y opciones como tarjetas separadas */
body.airea-tienda .wc-block-checkout .wc-block-components-text-input input,
body.airea-tienda .wc-block-checkout .wc-block-components-text-input textarea,
body.airea-tienda .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
body.airea-tienda .wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
	border: 1px solid rgba(13, 43, 62, 0.25) !important;
	border-radius: 12px !important;
	background: #ffffff;
}

body.airea-tienda .wc-block-checkout .wc-block-components-text-input input:focus,
body.airea-tienda .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--ts-tinta) !important;
	box-shadow: 0 0 0 1px var(--ts-tinta) !important;
}

body.airea-tienda .wc-block-checkout .wc-block-components-radio-control {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body.airea-tienda .wc-block-checkout .wc-block-components-radio-control--highlight-checked::after,
body.airea-tienda .wc-block-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option::after,
body.airea-tienda .wc-block-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option::after {
	display: none !important;
}

body.airea-tienda .wc-block-checkout .wc-block-components-radio-control__option,
body.airea-tienda .wc-block-checkout .wc-block-components-radio-control-accordion-option {
	margin: 0 !important;
	border: 1px solid rgba(13, 43, 62, 0.20);
	border-radius: 16px !important;
	background: #ffffff;
}

body.airea-tienda .wc-block-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
	border: 0;
}

body.airea-tienda .wc-block-checkout .wc-block-components-radio-control__option-checked,
body.airea-tienda .wc-block-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--ts-tinta);
	box-shadow: inset 0 0 0 1px var(--ts-tinta) !important;
}

body.airea-tienda .wc-block-checkout .wc-block-components-radio-control__label {
	font-weight: 600;
	font-size: 16px;
}

@media (max-width: 860px) {
	body.airea-tienda.woocommerce-checkout main.wp-block-group:not(.airea-landing) {
		padding: 0 20px 48px;
	}

	.ts-pago-intro {
		padding: 24px 0 20px;
	}

	body.airea-tienda h1.ts-pago-intro__titulo {
		font-size: 32px;
	}

	body.airea-tienda .wc-block-checkout__main .wc-block-components-checkout-step {
		padding: 20px !important;
		border-radius: 20px;
	}

	body.airea-tienda .wc-block-components-checkout-step__title {
		font-size: 22px !important;
	}

	body.airea-tienda .wc-block-components-checkout-step__heading {
		flex-wrap: wrap;
		gap: 8px;
	}

	body.airea-tienda .wc-block-checkout__login-prompt {
		position: static !important;
		order: 2;
		width: 100%;
	}

	/* Resumen arriba como franja plegable (lienzo «Ver tu pedido») */
	body.airea-tienda .wc-block-checkout__sidebar {
		margin-bottom: 20px;
		padding: 0 16px !important;
		border-radius: 16px !important;
	}

	body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:first-child,
	body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title {
		border-top: 0 !important;
	}

	body.airea-tienda .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text::before {
		font-size: 22px;
	}
}

/* Pedido recibido */
.ts-pedido__botones {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

@media (max-width: 860px) {
	.ts-pedido__botones .ts-btn {
		flex: 1 1 140px;
		justify-content: center;
	}
}

body.airea-tienda main.airea-tpedido,
body.airea-tienda.woocommerce-checkout main.wp-block-group.airea-tpedido:not(.airea-landing) {
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--ts-arena);
}

.ts-pedido {
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

.ts-pedido a {
	text-decoration: none;
}

.ts-pedido__caja {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 1168px;
	padding-top: 72px;
	padding-bottom: 72px;
}

.ts-pedido__hecho {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 28px 40px;
	padding: 44px;
	border-radius: 28px;
	background: #ffffff;
}

.ts-pedido__hecho-texto {
	flex: 1 1 460px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ts-pedido__hecho-texto .ts-estela span {
	background: var(--ts-alisio);
}

body.airea-tienda h1.ts-pedido__titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(36px, 4.2vw, 56px);
	line-height: 1.08;
	letter-spacing: 0;
}

.ts-pedido__hecho-texto p {
	margin: 0;
	font-size: 17px;
	color: rgba(13, 43, 62, 0.80);
}

.ts-pedido__hecho-texto .ts-btn {
	align-self: flex-start;
}

.ts-pedido__numero {
	flex: 0 1 304px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px;
	border-radius: 20px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-pedido__numero strong {
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
}

.ts-pedido__numero span:last-child {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.80);
}

.ts-pedido__dos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
}

.ts-pedido__tarjeta {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px;
	border-radius: 24px;
	background: #ffffff;
}

.ts-pedido__h2 {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 26px;
	letter-spacing: 0;
}

.ts-linea-tiempo {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ts-linea-tiempo li {
	position: relative;
	display: flex;
	gap: 14px;
	margin: 0;
	padding-bottom: 22px;
}

.ts-linea-tiempo li:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 34px;
	bottom: 2px;
	left: 15px;
	width: 2px;
	background: rgba(13, 43, 62, 0.12);
}

.ts-linea-tiempo li.is-hecho::before {
	background: var(--ts-alisio) !important;
}

.ts-linea-tiempo__n {
	display: flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 32px;
	border: 1px solid rgba(13, 43, 62, 0.25);
	border-radius: 8px;
	background: #ffffff;
	font-family: var(--ts-mono);
	font-size: 11px;
}

.ts-linea-tiempo li.is-hecho .ts-linea-tiempo__n {
	border-color: var(--ts-alisio);
	background: var(--ts-alisio);
	color: #ffffff;
}

.ts-linea-tiempo li > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 4px;
}

.ts-linea-tiempo strong {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 16px;
}

.ts-linea-tiempo li > div > span {
	font-size: 14px;
	color: var(--ts-suave);
}

.ts-linea-tiempo__ahora {
	padding: 2px 7px;
	border-radius: 5px;
	background: var(--ts-tinta);
	color: var(--ts-claro);
	font-family: var(--ts-mono);
	font-size: 10px;
	letter-spacing: 0.15em;
}

.ts-pedido__lineas {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 14px;
	border-radius: 16px;
	background: var(--ts-arena);
	list-style: none;
}

.ts-pedido__lineas li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.ts-pedido__foto {
	position: relative;
	display: flex;
	flex: 0 0 52px;
	align-items: center;
	justify-content: center;
	height: 52px;
	border-radius: 10px;
	background: #ffffff;
}

.ts-pedido__foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 10px;
}

.ts-pedido__cant {
	position: absolute;
	top: -8px;
	right: -8px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	border-radius: 6px;
	background: var(--ts-tinta);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
}

.ts-pedido__nombre {
	flex: 1;
	min-width: 0;
	font-weight: 600;
	font-size: 14px;
}

.ts-pedido__datos {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	font-size: 15px;
}

.ts-pedido__datos > div {
	display: flex;
	gap: 16px;
}

.ts-pedido__datos dt {
	flex: 0 0 52px;
	color: var(--ts-suave);
}

.ts-pedido__datos dd {
	margin: 0;
}

.ts-pedido__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0;
	padding-top: 14px;
	border-top: 1px solid var(--ts-borde);
	font-size: 13px;
	color: var(--ts-suave);
}

.ts-pedido__total span strong {
	font-size: 17px;
	color: var(--ts-tinta);
}

.ts-pedido__total > strong {
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 34px;
	color: var(--ts-tinta);
}

.ts-pedido__alisio {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 28px;
	padding: 32px 36px;
	border-radius: 28px;
	background: var(--ts-tinta);
	color: #ffffff;
}

.ts-pedido__alisio-ico {
	display: flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	height: 48px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.10);
}

.ts-pedido__alisio > div:nth-child(2) {
	flex: 1 1 360px;
	min-width: 0;
}

.ts-pedido__alisio h2 {
	margin: 0 0 6px;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 28px;
	letter-spacing: 0;
	color: #ffffff;
}

.ts-pedido__alisio p {
	margin: 0;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.80);
}

.ts-pedido__alisio-botones {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-pedido__alisio-botones .ts-btn {
	gap: 10px;
	min-width: 260px;
}

.ts-pedido__error {
	padding-top: 48px;
	padding-bottom: 48px;
}

@media (max-width: 860px) {
	.ts-cabpago__fila {
		padding: 10px 20px;
	}

	.ts-cabpago .ts-pasos {
		order: 3;
		flex-basis: 100%;
		justify-content: center;
	}

	.ts-paso__txt {
		font-size: 13px;
	}

	.ts-paso:not(.is-actual) .ts-paso__txt {
		display: none;
	}

	.ts-cabpago__der {
		gap: 12px;
	}

	.ts-cabpago__seguro span,
	.ts-cabpago__alisio > span:last-child {
		display: none;
	}

	body.airea-tienda.woocommerce-checkout main.wp-block-group:not(.airea-landing),
	body.airea-tienda.woocommerce-checkout main > .wp-block-group:not(.airea-landing) {
		padding: 0 20px 48px;
	}

	.ts-pago-intro {
		padding: 20px 0;
	}

	body.airea-tienda .wc-block-checkout__main .wc-block-components-checkout-step {
		padding: 20px !important;
		border-radius: 20px;
	}

	body.airea-tienda .wc-block-components-checkout-step__title {
		font-size: 22px !important;
	}

	.ts-pedido__caja {
		padding: 24px 20px 48px;
	}

	.ts-pedido__hecho {
		padding: 24px;
		border-radius: 22px;
	}

	.ts-pedido__tarjeta {
		padding: 20px;
	}

	.ts-pedido__alisio {
		padding: 24px 20px;
	}

	.ts-pedido__alisio-botones,
	.ts-pedido__alisio-botones .ts-btn {
		width: 100%;
		min-width: 0;
	}
}

/* ---------- 22. Mi cuenta (tablero «Mi cuenta y pedidos») ---------- */
body.woocommerce-account .ts-pagina__cabeza {
	display: none;
}

body.woocommerce-account .ts-pagina__contenido > .woocommerce {
	padding-top: 40px;
	padding-bottom: 64px;
	font-family: var(--ts-texto);
	color: var(--ts-tinta);
}

body.airea-tienda h1.ts-cuenta-titulo {
	margin: 0;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: clamp(36px, 4.2vw, 56px);
	line-height: 1.08;
	letter-spacing: 0;
	color: var(--ts-tinta);
}

body.airea-tienda .airea-tcuenta-intro {
	max-width: 1120px;
	margin: 0 auto 32px;
}

body.airea-tienda .airea-tcuenta-intro .airea-lead,
body.airea-tienda .ts-cuenta-hola .airea-lead {
	max-width: 680px;
	margin: 8px 0 0;
	font-family: var(--ts-texto);
	font-size: 17px;
	line-height: 1.5;
	color: rgba(13, 43, 62, 0.80);
}

/* Sin sesión: dos tarjetas */
.ts-cuenta-pestanas,
.ts-cuenta-pestanas[hidden] {
	display: none !important;
}

@media (max-width: 860px) {
	.ts-cuenta-pestanas:not([hidden]) {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 4px;
		margin: 0 0 20px;
		padding: 4px;
		border-radius: 16px;
		background: var(--ts-arena);
	}

	.ts-cuenta-pestanas button {
		min-height: 48px;
		border: 0;
		border-radius: 12px;
		background: transparent;
		color: var(--ts-tinta);
		font: inherit;
		font-weight: 500;
		font-size: 15px;
		cursor: pointer;
	}

	.ts-cuenta-pestanas button[aria-selected="true"] {
		background: #ffffff;
		font-weight: 600;
		box-shadow: 0 1px 3px rgba(13, 43, 62, 0.12);
	}

	body.airea-tienda.woocommerce-account #customer_login.is-entrar > div.u-column2,
	body.airea-tienda.woocommerce-account #customer_login.is-crear > div.u-column1 {
		display: none;
	}

	body.airea-tienda.woocommerce-account #customer_login > div.u-column2 {
		border-color: var(--ts-borde);
		background: #ffffff;
	}

	body.airea-tienda.woocommerce-account #customer_login h2 {
		display: none;
	}
}

body.airea-tienda .woocommerce-account .u-columns,
body.airea-tienda.woocommerce-account .u-columns,
body.airea-tienda.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
	max-width: 1120px;
	margin: 0 auto;
}

body.airea-tienda.woocommerce-account #customer_login::before,
body.airea-tienda.woocommerce-account #customer_login::after {
	display: none;
}

body.airea-tienda.woocommerce-account #customer_login > div {
	float: none;
	width: auto;
	display: flex;
	flex-direction: column;
	padding: 28px;
	border: 1px solid var(--ts-borde);
	border-radius: 24px;
	background: #ffffff;
}

body.airea-tienda.woocommerce-account #customer_login > div.u-column2 {
	border-color: transparent;
	background: var(--ts-arena);
}

body.airea-tienda.woocommerce-account #customer_login h2 {
	margin: 0 0 16px;
	font-family: var(--ts-display);
	font-weight: 400;
	font-size: 34px;
	letter-spacing: 0;
}

body.airea-tienda.woocommerce-account form.woocommerce-form-login,
body.airea-tienda.woocommerce-account form.woocommerce-form-register {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

body.airea-tienda.woocommerce-account .woocommerce-form-row,
body.airea-tienda.woocommerce-account .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
}

body.airea-tienda.woocommerce-account .ts-pagina__contenido form label {
	font-weight: 600;
	font-size: 14px;
	color: var(--ts-tinta);
}

body.airea-tienda.woocommerce-account .ts-pagina__contenido form .required {
	color: var(--ts-alisio);
	text-decoration: none;
}

body.airea-tienda.woocommerce-account .ts-pagina__contenido form input.input-text,
body.airea-tienda.woocommerce-account .ts-pagina__contenido form input[type="text"],
body.airea-tienda.woocommerce-account .ts-pagina__contenido form input[type="email"],
body.airea-tienda.woocommerce-account .ts-pagina__contenido form input[type="password"],
body.airea-tienda.woocommerce-account .ts-pagina__contenido form select {
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid rgba(13, 43, 62, 0.24);
	border-radius: 12px;
	background: #ffffff;
	font: inherit;
	font-size: 15px;
	color: var(--ts-tinta);
}

body.airea-tienda.woocommerce-account .ts-pagina__contenido form input:focus {
	border-color: var(--ts-tinta);
	outline: 2px solid var(--ts-tinta);
	outline-offset: 1px;
}

body.airea-tienda.woocommerce-account .ts-pagina__contenido form .woocommerce-button,
body.airea-tienda.woocommerce-account .ts-pagina__contenido form button[type="submit"],
body.airea-tienda .airea-tcuenta-seguir button[type="submit"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	margin: 6px 0 0;
	padding: 12px 20px;
	border: 0;
	border-radius: 12px !important;
	background: var(--ts-tinta) !important;
	color: #ffffff !important;
	font-family: var(--ts-texto) !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	cursor: pointer;
}

body.airea-tienda.woocommerce-account .ts-pagina__contenido form .woocommerce-button:hover,
body.airea-tienda.woocommerce-account .ts-pagina__contenido form button[type="submit"]:hover {
	background: var(--ts-tinta-hover) !important;
}

body.airea-tienda.woocommerce-account .woocommerce-form-login__rememberme {
	flex-direction: row;
	align-items: center;
	gap: 8px;
	font-weight: 500 !important;
}

body.airea-tienda.woocommerce-account .woocommerce-LostPassword {
	order: 9;
	margin: 0;
}

body.airea-tienda.woocommerce-account .woocommerce-LostPassword a,
body.airea-tienda.woocommerce-account .woocommerce-privacy-policy-text a {
	color: var(--ts-tinta) !important;
	font-weight: 600;
	text-decoration: underline !important;
}

body.airea-tienda.woocommerce-account .woocommerce-privacy-policy-text p,
body.airea-tienda.woocommerce-account form.woocommerce-form-register > p:not(.form-row) {
	margin: 0;
	font-size: 14px;
	color: rgba(13, 43, 62, 0.80);
}

/* ¿Compraste sin cuenta? */
body.airea-tienda .airea-tcuenta-seguir {
	max-width: 1120px;
	box-sizing: border-box;
	margin: 28px auto 0;
	padding: 24px 26px;
	border: 1px solid var(--ts-borde);
	border-radius: 24px;
	background: #ffffff;
}

body.airea-tienda .airea-tcuenta-seguir h2 {
	margin: 0;
	font-family: var(--ts-texto);
	font-weight: 600;
	font-size: 17px;
}

body.airea-tienda .airea-tcuenta-seguir__lead {
	margin: 4px 0 16px;
	font-size: 14px;
	color: var(--ts-suave);
}

body.airea-tienda .airea-tcuenta-seguir form.track_order {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	align-items: end;
	gap: 16px;
	margin: 0;
	padding: 0;
	border: 0;
}

body.airea-tienda .airea-tcuenta-seguir form.track_order > p:first-child {
	display: none;
}

body.airea-tienda .airea-tcuenta-seguir form.track_order .form-row {
	float: none;
	width: auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
}

body.airea-tienda .airea-tcuenta-seguir form.track_order .clear {
	display: none;
}

body.airea-tienda .airea-tcuenta-seguir form.track_order label {
	font-weight: 600;
	font-size: 14px;
}

body.airea-tienda .airea-tcuenta-seguir form.track_order input {
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid rgba(13, 43, 62, 0.24);
	border-radius: 12px;
	font: inherit;
	font-size: 15px;
}

body.airea-tienda .airea-tcuenta-seguir form.track_order button[type="submit"] {
	width: 100%;
	min-width: 280px;
	margin: 0;
}

/* Con sesión: menú a la izquierda, contenido a la derecha */
body.airea-tienda.woocommerce-account.logged-in .ts-pagina__contenido > .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: start;
	gap: 32px;
}

body.airea-tienda.woocommerce-account .woocommerce-MyAccount-navigation,
body.airea-tienda.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

body.airea-tienda.woocommerce-account.logged-in .ts-pagina__contenido > .woocommerce > .ts-cuenta-yo,
body.airea-tienda.woocommerce-account.logged-in .ts-pagina__contenido > .woocommerce > .woocommerce-MyAccount-navigation,
body.airea-tienda.woocommerce-account.logged-in .ts-pagina__contenido > .woocommerce > .ts-cuenta-alisio {
	grid-column: 1;
}

body.airea-tienda.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	grid-column: 2;
	grid-row: 1 / span 4;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ts-cuenta-yo {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px 4px 16px;
}

.ts-cuenta-yo__inicial {
	display: flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	height: 48px;
	border-radius: 14px;
	background: var(--ts-arena);
	font-family: var(--ts-display);
	font-size: 22px;
}

.ts-cuenta-yo__txt {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ts-cuenta-yo__txt strong {
	font-weight: 600;
	font-size: 16px;
}

.ts-cuenta-yo__txt span {
	overflow: hidden;
	font-size: 13px;
	color: var(--ts-suave);
	text-overflow: ellipsis;
}

body.airea-tienda .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 !important;
	background: transparent !important;
}

body.airea-tienda .woocommerce-MyAccount-navigation li a {
	display: flex !important;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 0 16px !important;
	border-radius: 12px !important;
	font-size: 15px;
	font-weight: 500 !important;
	color: var(--ts-tinta) !important;
	text-decoration: none !important;
}

body.airea-tienda .woocommerce-MyAccount-navigation li a:hover {
	background: var(--ts-arena) !important;
}

body.airea-tienda .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--ts-tinta) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
}

body.airea-tienda .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--ts-borde);
}

.ts-cuenta-alisio {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 16px;
	padding: 16px;
	border-radius: 18px;
	background: var(--ts-arena);
}

.ts-cuenta-alisio__ico {
	display: flex;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	height: 36px;
	border-radius: 10px;
	background: var(--ts-tinta);
}

.ts-cuenta-alisio > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ts-cuenta-alisio strong {
	font-weight: 600;
	font-size: 15px;
}

.ts-cuenta-alisio .ts-ver {
	font-size: 14px;
}

body.airea-tienda.woocommerce-account .woocommerce-MyAccount-content > p:has(a[href*="customer-logout"]) {
	display: none;
}

@media (max-width: 860px) {
	body.woocommerce-account .ts-pagina__contenido > .woocommerce {
		padding-top: 24px;
	}

	body.airea-tienda.woocommerce-account #customer_login {
		grid-template-columns: 1fr;
	}

	body.airea-tienda.woocommerce-account #customer_login > div {
		padding: 22px 20px;
	}

	body.airea-tienda .airea-tcuenta-seguir form.track_order {
		grid-template-columns: 1fr;
	}

	body.airea-tienda .airea-tcuenta-seguir form.track_order button[type="submit"] {
		min-width: 0;
	}

	body.airea-tienda.woocommerce-account.logged-in .ts-pagina__contenido > .woocommerce {
		grid-template-columns: 1fr;
	}

	body.airea-tienda.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: auto;
	}
}

/* Todo lo de la tienda que lleve «hidden» se oculta, aunque su clase ponga display. */
[class*="ts-"][hidden] {
	display: none !important;
}
