/* =========================================================
   Estilo visual "Brisa" — claro, animado e intuitivo
   ---------------------------------------------------------
   Solo se carga cuando Tienda → Ajustes → Estilo visual
   está en "Nuevo: Claro y agradable — Brisa". Todo va acotado
   a [data-tsc-theme="brisa"], así que no afecta a otros estilos.

   Los colores salen de las variables del estilo (fondo,
   superficie, texto, acento y acento secundario), por lo que
   "Personalizar colores" en Ajustes sigue funcionando.
   ========================================================= */

/* ---------- Animaciones ---------- */
@keyframes brisa-rise {
	from { opacity: 0; transform: translateY(30px) scale(0.965); }
	to   { opacity: 1; transform: none; }
}
@keyframes brisa-rise-wide {
	from { opacity: 0; transform: translateY(22px) scale(0.985); }
	to   { opacity: 1; transform: none; }
}
@keyframes brisa-soft-in {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}
@keyframes brisa-failsafe { to { opacity: 1; } }
@keyframes brisa-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes brisa-pop {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.4); }
	70%  { transform: scale(0.9); }
	100% { transform: scale(1); }
}
@keyframes brisa-ring {
	from { transform: scale(0.6); opacity: 0.75; }
	to   { transform: scale(2.1); opacity: 0; }
}
@keyframes brisa-dot {
	0%   { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 45%, transparent); }
	70%, 100% { box-shadow: 0 0 0 9px transparent; }
}
@keyframes brisa-glow {
	from { transform: translate3d(-3%, -2%, 0) rotate(0deg); }
	to   { transform: translate3d(3%, 3%, 0) rotate(7deg); }
}
@keyframes brisa-load {
	from { background-position: -60% 0; }
	to   { background-position: 160% 0; }
}
@keyframes brisa-unfold {
	from { opacity: 0; transform: translateY(-10px); }
	to   { opacity: 1; transform: none; }
}
@keyframes brisa-attention {
	0%, 100% { transform: scale(1); }
	50%      { transform: scale(1.07); }
}
@keyframes brisa-sheen {
	0%, 62% { transform: translateX(-130%) skewX(-18deg); }
	100%    { transform: translateX(330%) skewX(-18deg); }
}
@keyframes brisa-lb-img {
	from { opacity: 0; transform: scale(0.94) translateY(10px); }
	to   { opacity: 1; transform: none; }
}
@keyframes brisa-check {
	0%   { transform: scale(0) rotate(-25deg); }
	60%  { transform: scale(1.18) rotate(5deg); }
	100% { transform: scale(1) rotate(0); }
}
@keyframes brisa-tick {
	0%   { transform: rotate(45deg) scale(0); }
	70%  { transform: rotate(45deg) scale(1.25); }
	100% { transform: rotate(45deg) scale(1); }
}
@keyframes brisa-shake {
	0%, 100% { transform: translateX(0); }
	20%, 60% { transform: translateX(-6px); }
	40%, 80% { transform: translateX(6px); }
}
@keyframes brisa-spotlight {
	0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--tsc-accent) 45%, transparent); }
	100% { box-shadow: 0 0 0 26px color-mix(in srgb, var(--tsc-accent) 0%, transparent); }
}

/* ---------- Base y variables propias ---------- */
[data-tsc-theme="brisa"] {
	--brisa-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--brisa-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
	--brisa-line: color-mix(in srgb, var(--tsc-accent) 15%, transparent);
	--brisa-line-strong: color-mix(in srgb, var(--tsc-accent) 30%, transparent);
	--brisa-tint: color-mix(in srgb, var(--tsc-accent) 8%, var(--tsc-surface));
	--brisa-tint-strong: color-mix(in srgb, var(--tsc-accent) 15%, var(--tsc-surface));
	--brisa-shadow-sm: 0 1px 2px color-mix(in srgb, var(--tsc-accent) 10%, transparent), 0 8px 18px -12px color-mix(in srgb, var(--tsc-accent) 36%, transparent);
	--brisa-shadow: 0 1px 2px color-mix(in srgb, var(--tsc-accent) 12%, transparent), 0 16px 34px -20px color-mix(in srgb, var(--tsc-accent) 42%, transparent);
	--brisa-shadow-lift: 0 2px 4px color-mix(in srgb, var(--tsc-accent) 10%, transparent), 0 30px 50px -24px color-mix(in srgb, var(--tsc-accent) 58%, transparent);
	--brisa-ok: #0F6B3F;
	--brisa-ok-bg: #DDF5E8;
	--brisa-danger: #C81E45;
	--brisa-danger-bg: #FFEBEF;
	--brisa-wa: #25D366;
	--brisa-wa-ink: #073B27;

	/* Iconos (máscaras SVG): se pintan con el color de acento */
	--brisa-i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.2-9.3C1.8 8 3.6 4.8 6.9 4.8c2 0 3.4 1.1 5.1 3 1.7-1.9 3.1-3 5.1-3 3.3 0 5.1 3.2 4.1 6.4-1.7 4.7-9.2 9.3-9.2 9.3z'/%3E%3C/svg%3E");
	--brisa-i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2M8.6 11h4.8'/%3E%3C/svg%3E");
	--brisa-i-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12.5a2 2 0 0 1-2 1.9H9a2 2 0 0 1-2-1.9L6 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");

	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
[data-tsc-theme="brisa"] *,
[data-tsc-theme="brisa"] *::before,
[data-tsc-theme="brisa"] *::after { box-sizing: border-box; }

[data-tsc-theme="brisa"] h1,
[data-tsc-theme="brisa"] h2,
[data-tsc-theme="brisa"] h3 { font-weight: 800; letter-spacing: -0.02em; color: var(--tsc-text); }

[data-tsc-theme="brisa"] :is(a, button, .tsc-gallery-item):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--tsc-accent) 55%, transparent);
	outline-offset: 3px;
}

/* ---------- Paneles: catálogo, ficha, carrito, checkout y favoritos ---------- */
.tsc-catalog[data-tsc-theme="brisa"],
.tsc-single-product[data-tsc-theme="brisa"],
.tsc-cart-page[data-tsc-theme="brisa"],
.tsc-checkout-page[data-tsc-theme="brisa"],
.tsc-wishlist-wrap[data-tsc-theme="brisa"] {
	position: relative;
	isolation: isolate;
	padding: 36px 32px 64px;
	border-radius: 32px;
	border: 1px solid var(--brisa-line);
}
.tsc-checkout-page[data-tsc-theme="brisa"] { max-width: 760px; }
.tsc-catalog[data-tsc-theme="brisa"] { margin-top: 12px; margin-bottom: 12px; }

/* Resplandor ambiental muy lento detrás del contenido */
@supports (overflow: clip) {
	.tsc-catalog[data-tsc-theme="brisa"],
	.tsc-single-product[data-tsc-theme="brisa"],
	.tsc-cart-page[data-tsc-theme="brisa"],
	.tsc-checkout-page[data-tsc-theme="brisa"],
	.tsc-wishlist-wrap[data-tsc-theme="brisa"] { overflow: clip; }

	.tsc-catalog[data-tsc-theme="brisa"]::before,
	.tsc-single-product[data-tsc-theme="brisa"]::before,
	.tsc-cart-page[data-tsc-theme="brisa"]::before,
	.tsc-checkout-page[data-tsc-theme="brisa"]::before,
	.tsc-wishlist-wrap[data-tsc-theme="brisa"]::before {
		content: "";
		position: absolute;
		inset: -25%;
		z-index: -1;
		pointer-events: none;
		background:
			radial-gradient(36% 32% at 84% 16%, color-mix(in srgb, var(--tsc-accent-2) 16%, #ffffff), transparent 70%),
			radial-gradient(40% 36% at 12% 88%, color-mix(in srgb, var(--tsc-accent) 16%, transparent), transparent 70%);
		animation: brisa-glow 32s ease-in-out infinite alternate;
	}
}

.tsc-catalog[data-tsc-theme="brisa"] .tsc-catalog-title {
	font-size: clamp(28px, 3.6vw, 40px);
	line-height: 1.1;
	margin: 0 0 24px;
}

/* ---------- Barra superior: búsqueda + vista ---------- */
.tsc-catalog[data-tsc-theme="brisa"] .tsc-catalog-toolbar { gap: 14px; margin-bottom: 28px; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search {
	max-width: 420px;
	transition: max-width 0.5s var(--brisa-ease);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search:focus-within { max-width: 540px; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-icon {
	left: 19px; width: 19px; height: 19px;
	color: var(--tsc-accent);
	transition: transform 0.4s var(--brisa-spring);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search:focus-within .tsc-search-icon { transform: translateY(-50%) scale(1.18) rotate(-10deg); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-input {
	height: 52px;
	padding: 0 18px 0 50px;
	border-radius: 999px;
	border: 1.5px solid var(--brisa-line);
	background: var(--tsc-surface);
	font-size: 15px;
	font-weight: 600;
	box-shadow: var(--brisa-shadow-sm);
	transition: border-color 0.25s ease, box-shadow 0.35s var(--brisa-ease), transform 0.35s var(--brisa-ease);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-input:hover { border-color: var(--brisa-line-strong); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-input:focus {
	border-color: var(--tsc-accent);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--tsc-accent) 16%, transparent), var(--brisa-shadow-sm);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-input::placeholder { color: var(--tsc-text-2); font-weight: 500; }
/* La "x" para limpiar (Chrome, Edge y Safari) */
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	width: 20px; height: 20px; margin-left: 8px;
	cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355747E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: 0.75;
	transition: opacity 0.2s ease, transform 0.3s var(--brisa-spring);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-input::-webkit-search-cancel-button:hover { opacity: 1; transform: scale(1.15) rotate(90deg); }

/* Selector de vista: la "pastilla" activa se desliza de un botón al otro */
.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle {
	position: relative;
	gap: 0;
	padding: 4px;
	border-radius: 999px;
	border: 1.5px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow-sm);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn {
	position: relative; z-index: 1;
	width: 44px; height: 44px;
	border-radius: 999px;
	color: var(--tsc-text-2);
	transition: color 0.3s ease, background 0.3s ease, transform 0.3s var(--brisa-spring);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn svg { width: 20px; height: 20px; transition: transform 0.4s var(--brisa-spring); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn:hover { background: var(--brisa-tint); color: var(--tsc-accent); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn:active svg { transform: scale(0.85); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn.is-active,
.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn.is-active:hover {
	background: var(--tsc-accent);
	color: #fff;
	box-shadow: 0 8px 16px -8px color-mix(in srgb, var(--tsc-accent) 70%, transparent);
}
@supports selector(:has(*)) {
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle::before {
		content: "";
		position: absolute; top: 4px; left: 4px;
		width: 44px; height: 44px;
		border-radius: 999px;
		background: var(--tsc-accent);
		box-shadow: 0 8px 16px -8px color-mix(in srgb, var(--tsc-accent) 70%, transparent);
		transition: transform 0.55s var(--brisa-spring);
	}
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle:has(.tsc-view-btn[data-view="list"].is-active)::before { transform: translateX(44px); }
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn.is-active,
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-view-toggle .tsc-view-btn.is-active:hover { background: transparent; box-shadow: none; }
}

/* ---------- Panel de filtros ---------- */
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters {
	flex-basis: 272px; width: 272px;
	border-radius: 28px;
	border: 1px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-head { padding: 22px 24px 16px; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-toggle {
	font-size: 19px; font-weight: 800; letter-spacing: -0.02em; color: var(--tsc-text);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-toggle:hover { color: var(--tsc-text); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-count {
	min-width: 24px; height: 24px; line-height: 24px;
	font-size: 12.5px; font-weight: 800;
	background: var(--tsc-accent); color: #fff;
	animation: brisa-pop 0.5s var(--brisa-spring);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-count[hidden] { display: none; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-clear-filters {
	padding: 6px 12px; border-radius: 999px;
	font-size: 13px; font-weight: 700; text-decoration: none;
	color: var(--tsc-accent);
	transition: background 0.25s ease, color 0.25s ease, transform 0.3s var(--brisa-spring);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-clear-filters:hover { background: var(--brisa-tint-strong); color: var(--tsc-accent); transform: scale(1.05); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-body {
	padding: 20px 24px 26px; gap: 22px;
	border-top: 1px solid var(--brisa-line);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filter-group h4 { font-size: 14px; font-weight: 800; margin-bottom: 10px; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filter-hint { font-weight: 700; color: var(--tsc-accent); }

.tsc-catalog[data-tsc-theme="brisa"] .tsc-select::after {
	right: 18px; width: 8px; height: 8px;
	border-color: var(--tsc-accent);
	transition: transform 0.35s var(--brisa-spring);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-select:focus-within::after { transform: translateY(-30%) rotate(225deg); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters select,
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters input[type="number"] {
	height: 48px;
	padding: 0 16px;
	border-radius: 16px;
	border: 1.5px solid transparent;
	background: var(--brisa-tint);
	font-size: 14.5px; font-weight: 600;
	transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.35s var(--brisa-ease);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters select { padding-right: 42px; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters select:hover,
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters input[type="number"]:hover { border-color: var(--brisa-line-strong); background: var(--brisa-tint-strong); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters select:focus,
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters input[type="number"]:focus {
	border-color: var(--tsc-accent);
	background: var(--tsc-surface);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--tsc-accent) 16%, transparent);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters input[type="number"]::placeholder { font-weight: 500; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-price-sep { background: var(--brisa-line-strong); height: 2px; border-radius: 2px; }

.tsc-catalog[data-tsc-theme="brisa"] .tsc-filter-group-switch { border-top: 1px solid var(--brisa-line); padding-top: 22px; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-switch { font-size: 14.5px; font-weight: 700; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-switch-track {
	width: 50px; height: 28px;
	background: color-mix(in srgb, var(--tsc-text-2) 32%, var(--tsc-surface));
	transition: background 0.3s ease;
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-switch-track::after {
	top: 4px; left: 4px; width: 20px; height: 20px;
	background: #fff;
	transition: transform 0.45s var(--brisa-spring);
}
.tsc-catalog[data-tsc-theme="brisa"] .tsc-switch input:checked + .tsc-switch-track::after { transform: translateX(22px); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-switch:hover .tsc-switch-track { background: color-mix(in srgb, var(--tsc-text-2) 44%, var(--tsc-surface)); }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-switch input:checked + .tsc-switch-track,
.tsc-catalog[data-tsc-theme="brisa"] .tsc-switch:hover input:checked + .tsc-switch-track { background: var(--tsc-accent); }

/* ---------- Cuadrícula y estado de carga ---------- */
[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) {
	grid-template-columns: repeat(auto-fill, minmax(236px, 1fr));
	gap: 26px;
}
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list { gap: 28px; }
[data-tsc-theme="brisa"] .tsc-products-grid { transition: opacity 0.3s ease, filter 0.3s ease; }

.tsc-catalog[data-tsc-theme="brisa"] .tsc-products-wrap { position: relative; }
.tsc-catalog[data-tsc-theme="brisa"] .tsc-products-wrap::before {
	content: "";
	position: absolute; left: 0; right: 0; top: -14px;
	height: 4px; border-radius: 4px;
	background-color: var(--brisa-line);
	background-image: linear-gradient(90deg, transparent, var(--tsc-accent), var(--tsc-accent-2), transparent);
	background-repeat: no-repeat;
	background-size: 34% 100%;
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}
.tsc-catalog[data-tsc-theme="brisa"].is-loading .tsc-products-wrap::before { opacity: 1; animation: brisa-load 1.1s ease-in-out infinite; }
.tsc-catalog[data-tsc-theme="brisa"].is-loading .tsc-products-grid { opacity: 0.45; filter: saturate(0.85); pointer-events: none; }

/* Sin resultados */
[data-tsc-theme="brisa"] .tsc-no-results {
	padding: 60px 24px;
	border-radius: 28px;
	border: 2px dashed var(--brisa-line-strong);
	background: var(--tsc-surface);
	color: var(--tsc-text);
	font-size: 17px; font-weight: 700;
	animation: brisa-soft-in 0.6s var(--brisa-ease) both;
}
[data-tsc-theme="brisa"] .tsc-no-results::before {
	content: "";
	display: block; width: 60px; height: 60px; margin: 0 auto 16px;
	background: var(--tsc-accent);
	-webkit-mask: var(--brisa-i-search) center / contain no-repeat;
	mask: var(--brisa-i-search) center / contain no-repeat;
}

/* ---------- Tarjeta de vehículo ---------- */
[data-tsc-theme="brisa"] .tsc-product-card {
	padding: 10px;
	border-radius: 28px;
	border: 1px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow);
	transition: transform 0.55s var(--brisa-ease), box-shadow 0.55s var(--brisa-ease), border-color 0.3s ease;
}
[data-tsc-theme="brisa"] .tsc-product-card:hover {
	transform: translateY(-9px);
	border-color: var(--brisa-line-strong);
	box-shadow: var(--brisa-shadow-lift);
}
[data-tsc-theme="brisa"] .tsc-product-card-media { border-radius: 20px; background: var(--brisa-tint-strong); }
[data-tsc-theme="brisa"] .tsc-product-image,
[data-tsc-theme="brisa"] .tsc-no-image { transition: transform 1.2s var(--brisa-ease); }
[data-tsc-theme="brisa"] .tsc-product-card:hover .tsc-product-image { transform: scale(1.08); }
[data-tsc-theme="brisa"] .tsc-no-image { background: linear-gradient(135deg, var(--brisa-tint-strong), var(--brisa-tint)); }

/* Destello de luz que cruza la foto al pasar el cursor */
[data-tsc-theme="brisa"] .tsc-product-card-media::after {
	content: "";
	position: absolute; top: 0; bottom: 0; left: 0; width: 36%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.6), transparent);
	transform: translateX(-140%) skewX(-18deg);
	pointer-events: none;
}
[data-tsc-theme="brisa"] .tsc-product-card:hover .tsc-product-card-media::after {
	transform: translateX(340%) skewX(-18deg);
	transition: transform 1s var(--brisa-ease);
}

/* Insignias */
[data-tsc-theme="brisa"] .tsc-badges { top: 14px; left: 14px; gap: 6px; }
[data-tsc-theme="brisa"] .tsc-badge {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 6px 12px 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--tsc-text);
	font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: none; line-height: 1.2;
	box-shadow: 0 6px 14px -8px rgba(23, 60, 68, 0.5);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
[data-tsc-theme="brisa"] .tsc-badge::before {
	content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--tsc-accent); flex-shrink: 0;
}
[data-tsc-theme="brisa"] .tsc-badge-oferta { background: var(--tsc-accent-2); color: #fff; animation: brisa-attention 2.8s ease-in-out infinite; transform-origin: left center; }
[data-tsc-theme="brisa"] .tsc-badge-oferta::before { background: #fff; }
[data-tsc-theme="brisa"] .tsc-badge-ultimas { background: var(--brisa-danger); color: #fff; animation: brisa-attention 2.8s ease-in-out 0.6s infinite; transform-origin: left center; }
[data-tsc-theme="brisa"] .tsc-badge-ultimas::before { background: #fff; }
[data-tsc-theme="brisa"] .tsc-badge-top::before,
[data-tsc-theme="brisa"] .tsc-badge-nuevo::before,
[data-tsc-theme="brisa"] .tsc-badge-edicion::before { background: var(--tsc-accent-2); }
[data-tsc-theme="brisa"] .tsc-badge-top,
[data-tsc-theme="brisa"] .tsc-badge-nuevo,
[data-tsc-theme="brisa"] .tsc-badge-edicion { background: rgba(255, 255, 255, 0.94); color: var(--tsc-text); }
[data-tsc-theme="brisa"] .tsc-badge-low-stock { bottom: 14px; left: 14px; }

/* Corazón de favoritos */
[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn {
	top: 14px; right: 14px; width: 44px; height: 44px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--tsc-text-2);
	font-size: 22px;
	box-shadow: 0 8px 18px -8px rgba(23, 60, 68, 0.55);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	transition: transform 0.4s var(--brisa-spring), color 0.2s ease, background 0.2s ease;
}
[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn:hover { background: #fff; color: var(--brisa-danger); transform: scale(1.14); }
[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn:active { transform: scale(0.9); }
[data-tsc-theme="brisa"] .tsc-wishlist-btn.is-in-wishlist,
[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn.is-in-wishlist:hover { color: var(--brisa-danger); }
[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn.is-pending { transform: scale(0.88); }
[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn.is-pop { animation: brisa-pop 0.6s var(--brisa-ease); }
[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn.is-pop::after {
	content: "";
	position: absolute; inset: 0; border-radius: 50%;
	border: 2px solid var(--brisa-danger);
	pointer-events: none;
	animation: brisa-ring 0.7s ease-out both;
}

/* Cuerpo de la tarjeta */
[data-tsc-theme="brisa"] .tsc-product-card-body { padding: 18px 10px 10px; gap: 10px; }
[data-tsc-theme="brisa"] .tsc-product-title {
	font-size: 18px; font-weight: 800; line-height: 1.22; letter-spacing: -0.02em;
	color: var(--tsc-text);
	text-decoration: none;
	transition: color 0.25s ease;
}
[data-tsc-theme="brisa"] .tsc-product-title:hover { color: var(--tsc-accent); text-decoration: none; }

[data-tsc-theme="brisa"] .tsc-rating-summary { color: var(--tsc-text-2); font-weight: 600; }
[data-tsc-theme="brisa"] .tsc-card-excerpt { font-size: 13.5px; }
[data-tsc-theme="brisa"] .tsc-discount-badge {
	border-radius: 999px; padding: 3px 10px; font-weight: 800;
	animation: brisa-pop 0.5s var(--brisa-spring);
}
[data-tsc-theme="brisa"] .tsc-card-shipping { gap: 4px; }
[data-tsc-theme="brisa"] .tsc-card-shipping-line,
[data-tsc-theme="brisa"] .tsc-card-footer-note { font-weight: 600; }

/* Precio y botón */
[data-tsc-theme="brisa"] .tsc-price-row { align-items: baseline; flex-wrap: wrap; gap: 0 10px; }
[data-tsc-theme="brisa"] .tsc-price { white-space: nowrap; }
[data-tsc-theme="brisa"] .tsc-product-card-body > .tsc-price-row {
	padding-top: 14px;
	border-top: 2px dashed var(--brisa-line);
}
/* En la cuadrícula, precio y botón quedan siempre pegados al fondo: las líneas se alinean entre tarjetas. */
[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-product-card-body > .tsc-price-row { margin-top: auto; }
[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-product-card-body > .tsc-btn { margin-top: 4px; }
[data-tsc-theme="brisa"] .tsc-price {
	font-family: var(--tsc-font-display);
	font-size: 23px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1;
	color: var(--tsc-accent);
}
[data-tsc-theme="brisa"] .tsc-price-regular { font-size: 14px; font-weight: 600; }

[data-tsc-theme="brisa"] .tsc-btn {
	position: relative; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 14px 22px;
	border-radius: 18px;
	background: var(--tsc-accent); color: #fff;
	font-size: 15px; font-weight: 800; letter-spacing: 0;
	box-shadow: 0 12px 22px -12px color-mix(in srgb, var(--tsc-accent) 80%, transparent);
	transition: transform 0.4s var(--brisa-spring), box-shadow 0.4s var(--brisa-ease), background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
[data-tsc-theme="brisa"] .tsc-btn:hover { opacity: 1; transform: translateY(-2px); box-shadow: 0 18px 28px -14px color-mix(in srgb, var(--tsc-accent) 85%, transparent); }
[data-tsc-theme="brisa"] .tsc-btn:active { transform: scale(0.97); }
[data-tsc-theme="brisa"] .tsc-product-card .tsc-btn::after {
	content: "";
	width: 8px; height: 8px; margin-left: 2px;
	border-right: 2.5px solid currentColor; border-top: 2.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.4s var(--brisa-spring);
}
[data-tsc-theme="brisa"] .tsc-product-card .tsc-btn:hover::after { transform: translateX(5px) rotate(45deg); }
[data-tsc-theme="brisa"] .tsc-btn-outline {
	background: var(--tsc-surface); color: var(--tsc-accent);
	border: 1.5px solid var(--brisa-line-strong);
	box-shadow: var(--brisa-shadow-sm);
}
[data-tsc-theme="brisa"] .tsc-btn-outline:hover { background: var(--brisa-tint); border-color: var(--tsc-accent); color: var(--tsc-accent); }

/* Botón pequeño "Ver detalle" de la tarjeta: secundario, sobrio, con el mismo lenguaje redondeado de Brisa */
[data-tsc-theme="brisa"] .tsc-product-card .tsc-card-detail-btn {
	padding: 8px 14px; border-radius: 14px;
	background: var(--tsc-surface); color: var(--tsc-accent);
	border: 1.5px solid var(--brisa-line-strong);
	font-size: 13px; font-weight: 800; letter-spacing: 0;
	transition: transform 0.4s var(--brisa-spring), background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
[data-tsc-theme="brisa"] .tsc-product-card .tsc-card-detail-btn:hover,
[data-tsc-theme="brisa"] .tsc-product-card .tsc-card-detail-btn:focus-visible { background: var(--brisa-tint); border-color: var(--tsc-accent); color: var(--tsc-accent); transform: translateY(-1px); }
[data-tsc-theme="brisa"] .tsc-product-card .tsc-card-detail-btn:active { transform: scale(0.97); }

/* ---------- Vista "grande" (segundo botón) ---------- */
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-product-card { padding: 12px; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-product-card-media { border-radius: 22px; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-product-card-body { padding: 24px 16px 14px; column-gap: 28px; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-product-title { font-size: 28px; letter-spacing: -0.03em; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-product-card-body > .tsc-price-row { margin-top: 0; padding-top: 0; border-top: 0; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-price { font-size: 32px; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-card-excerpt { font-size: 15px; margin-top: 10px; max-width: 56ch; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-card-shipping-line,
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-card-footer-note { font-size: 13.5px; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-btn { padding: 15px 34px; font-size: 16px; }
[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-badge { font-size: 13px; padding: 7px 14px 7px 11px; }

/* ---------- Paginación ---------- */
[data-tsc-theme="brisa"] .tsc-pagination { gap: 8px; margin: 34px 0 8px; }
[data-tsc-theme="brisa"] .tsc-page-btn {
	min-width: 46px; height: 46px; padding: 0 14px;
	border-radius: 999px;
	border: 1.5px solid var(--brisa-line);
	background: var(--tsc-surface); color: var(--tsc-text);
	font-size: 15px; font-weight: 800;
	box-shadow: var(--brisa-shadow-sm);
	transition: transform 0.35s var(--brisa-spring), background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
[data-tsc-theme="brisa"] .tsc-page-btn:hover:not(:disabled) { background: var(--brisa-tint-strong); border-color: var(--brisa-line-strong); transform: translateY(-3px); }
[data-tsc-theme="brisa"] .tsc-page-btn:active:not(:disabled) { transform: scale(0.92); }
[data-tsc-theme="brisa"] .tsc-page-btn.is-active,
[data-tsc-theme="brisa"] .tsc-page-btn.is-active:hover { background: var(--tsc-accent); border-color: var(--tsc-accent); color: #fff; transform: none; }

/* ---------- Ficha del vehículo ---------- */
.tsc-single-product[data-tsc-theme="brisa"] { padding-top: 32px; }
[data-tsc-theme="brisa"] .tsc-breadcrumbs {
	display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px;
	margin-bottom: 28px; padding: 9px 18px;
	border-radius: 999px;
	border: 1px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow-sm);
	font-size: 13.5px; font-weight: 600; color: var(--tsc-text-2);
}
[data-tsc-theme="brisa"] .tsc-breadcrumbs a { color: var(--tsc-accent); font-weight: 800; transition: color 0.2s ease; }
[data-tsc-theme="brisa"] .tsc-breadcrumbs a:hover { color: var(--tsc-text); text-decoration: none; }
[data-tsc-theme="brisa"] .tsc-breadcrumbs span { color: var(--tsc-text); }

[data-tsc-theme="brisa"] .tsc-single-grid { gap: 40px; align-items: start; margin-bottom: 56px; }

/* Galería */
[data-tsc-theme="brisa"] .tsc-gallery { gap: 12px; animation: brisa-soft-in 0.8s var(--brisa-ease) both; }
[data-tsc-theme="brisa"] .tsc-gallery-item {
	border: 0; border-radius: 18px;
	background: var(--brisa-tint-strong);
	box-shadow: var(--brisa-shadow-sm);
	transition: transform 0.45s var(--brisa-spring), box-shadow 0.35s ease;
}
[data-tsc-theme="brisa"] .tsc-gallery-item img { transition: transform 1.2s var(--brisa-ease); }
[data-tsc-theme="brisa"] .tsc-gallery-item:hover img { transform: scale(1.07); }
[data-tsc-theme="brisa"] .tsc-gallery-item:not(:first-child):hover { transform: translateY(-5px); box-shadow: var(--brisa-shadow); }
[data-tsc-theme="brisa"] .tsc-gallery-item.is-active { box-shadow: 0 0 0 3px var(--tsc-surface), 0 0 0 6px var(--tsc-accent); }
[data-tsc-theme="brisa"] .tsc-gallery-item:first-child { position: relative; border-radius: 28px; box-shadow: var(--brisa-shadow); cursor: zoom-in; }
[data-tsc-theme="brisa"] .tsc-gallery-item:first-child.is-active { box-shadow: var(--brisa-shadow); }
[data-tsc-theme="brisa"] .tsc-gallery-item:first-child::after {
	content: "";
	position: absolute; right: 16px; bottom: 16px;
	width: 46px; height: 46px; border-radius: 50%;
	background: rgba(255, 255, 255, 0.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F3A44' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2M11 8v6M8 11h6'/%3E%3C/svg%3E") center / 22px no-repeat;
	box-shadow: 0 8px 18px -8px rgba(23, 60, 68, 0.55);
	transition: transform 0.45s var(--brisa-spring);
}
[data-tsc-theme="brisa"] .tsc-gallery-item:first-child:hover::after { transform: scale(1.15); }
[data-tsc-theme="brisa"] .tsc-gallery-empty { border-radius: 28px; background: var(--brisa-tint-strong); font-weight: 700; }
[data-tsc-theme="brisa"] .tsc-video-wrap { border-radius: 24px; box-shadow: var(--brisa-shadow); margin-top: 16px; }

/* Columna de información */
[data-tsc-theme="brisa"] .tsc-single-info {
	position: sticky; top: 24px;
	padding: 34px;
	border-radius: 32px;
	border: 1px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow);
	animation: brisa-soft-in 0.8s var(--brisa-ease) 0.12s both;
}
[data-tsc-theme="brisa"] .tsc-single-title {
	margin: 0 0 4px;
	font-size: clamp(30px, 3.4vw, 42px); line-height: 1.05; letter-spacing: -0.035em;
}
[data-tsc-theme="brisa"] .tsc-single-brand {
	order: -1; align-self: flex-start;
	margin: 0 0 14px; padding: 6px 14px;
	border-radius: 999px;
	background: var(--brisa-tint-strong); color: var(--tsc-accent);
	font-size: 13px; font-weight: 800; letter-spacing: 0; text-transform: none;
}
[data-tsc-theme="brisa"] .tsc-price-row-single { margin: 18px 0 16px; font-size: 24px; }
[data-tsc-theme="brisa"] .tsc-price-row-single .tsc-price-regular { font-size: 19px; }
[data-tsc-theme="brisa"] .tsc-price-row-single .tsc-price { font-size: clamp(32px, 4.4vw, 52px); letter-spacing: -0.04em; line-height: 1; }
[data-tsc-theme="brisa"] .tsc-price-row-single .tsc-discount-badge { font-size: 13px; padding: 4px 12px; }

/* Disponibilidad */
[data-tsc-theme="brisa"] .tsc-stock-info span {
	display: inline-flex; align-items: center; gap: 9px;
	padding: 8px 16px; border-radius: 999px;
	font-size: 14px; font-weight: 800;
}
[data-tsc-theme="brisa"] .tsc-stock-ok { color: var(--brisa-ok); background: var(--brisa-ok-bg); }
[data-tsc-theme="brisa"] .tsc-stock-ok::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor;
	animation: brisa-dot 2.2s ease-out infinite;
}
[data-tsc-theme="brisa"] .tsc-stock-bajo-pedido,
[data-tsc-theme="brisa"] .tsc-stock-low { color: #7A5200; background: #FFF3C4; }
[data-tsc-theme="brisa"] .tsc-stock-agotado { color: #B42318; background: #FEECEB; }

/* Cantidad (carrito y ficha de producto) */
[data-tsc-theme="brisa"] .tsc-qty-row { margin: 4px 0 22px; gap: 14px; }
[data-tsc-theme="brisa"] .tsc-qty-row label { font-weight: 700; }
[data-tsc-theme="brisa"] .tsc-qty-stepper,
[data-tsc-theme="brisa"] .tsc-cart-item .tsc-qty-stepper {
	border: 1.5px solid var(--brisa-line); border-radius: 999px; overflow: hidden;
	background: var(--tsc-surface); box-shadow: var(--brisa-shadow-sm);
}
[data-tsc-theme="brisa"] .tsc-qty-btn { width: 38px; font-weight: 800; transition: background 0.25s ease; }
[data-tsc-theme="brisa"] .tsc-qty-btn:hover { background: var(--brisa-tint); }
[data-tsc-theme="brisa"] .tsc-qty-stepper input,
[data-tsc-theme="brisa"] .tsc-qty-input { border-color: var(--brisa-line); font-weight: 800; }

/* Botón principal (WhatsApp) */
[data-tsc-theme="brisa"] .tsc-btn-whatsapp,
[data-tsc-theme="brisa"] .tsc-checkout-form .tsc-btn-large {
	position: relative; overflow: hidden;
	display: flex; align-items: center; justify-content: center; gap: 10px;
	padding: 17px 24px;
	border: 0; border-radius: 20px;
	background: var(--brisa-wa); color: var(--brisa-wa-ink);
	font-size: 17px; font-weight: 800;
	box-shadow: 0 16px 28px -14px rgba(18, 140, 74, 0.75);
	margin: 0;
	transition: transform 0.4s var(--brisa-spring), box-shadow 0.4s var(--brisa-ease), background 0.25s ease;
}
[data-tsc-theme="brisa"] .tsc-btn-whatsapp:hover,
[data-tsc-theme="brisa"] .tsc-checkout-form .tsc-btn-large:hover {
	background: #2EE070; color: var(--brisa-wa-ink); opacity: 1;
	transform: translateY(-3px) scale(1.01);
	box-shadow: 0 22px 34px -14px rgba(18, 140, 74, 0.8);
}
[data-tsc-theme="brisa"] .tsc-btn-whatsapp:active,
[data-tsc-theme="brisa"] .tsc-checkout-form .tsc-btn-large:active { transform: scale(0.97); }
/* Brillo que cruza el botón de vez en cuando */
[data-tsc-theme="brisa"] .tsc-checkout-form .tsc-btn-large::before {
	content: "";
	position: absolute; top: 0; bottom: 0; left: 0; width: 34%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.65), transparent);
	transform: translateX(-130%) skewX(-18deg);
	animation: brisa-sheen 5.5s ease-in-out 1.6s infinite;
	pointer-events: none;
}
[data-tsc-theme="brisa"] .tsc-btn-whatsapp { margin: 22px 0; }

/* Favoritos (botón de la ficha) */
[data-tsc-theme="brisa"] .tsc-wishlist-btn-inline {
	padding: 14px; border-radius: 18px;
	border: 1.5px solid var(--brisa-line-strong);
	background: transparent; color: var(--tsc-text);
	font-size: 15px; font-weight: 800;
	transition: transform 0.4s var(--brisa-spring), background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
[data-tsc-theme="brisa"] .tsc-wishlist-btn-inline:hover { background: var(--brisa-danger-bg); border-color: var(--brisa-danger); color: var(--brisa-danger); transform: translateY(-2px); }
[data-tsc-theme="brisa"] .tsc-wishlist-btn-inline:active { transform: scale(0.97); }
[data-tsc-theme="brisa"] .tsc-wishlist-btn-inline.is-in-wishlist { background: var(--brisa-danger-bg); border-color: var(--brisa-danger); color: var(--brisa-danger); }
[data-tsc-theme="brisa"] .tsc-wishlist-btn-inline.is-pop { animation: brisa-pop 0.55s var(--brisa-ease); }

/* Envío, aviso de pedido y SKU */
[data-tsc-theme="brisa"] .tsc-shipping-note {
	margin-top: 16px; padding: 14px 16px;
	border-radius: 16px; background: var(--brisa-tint);
	font-size: 13.5px; font-weight: 600; color: var(--tsc-text);
}
[data-tsc-theme="brisa"] .tsc-shipping-zones-list li { padding: 4px 0; }
[data-tsc-theme="brisa"] .tsc-order-note { font-weight: 600; }
[data-tsc-theme="brisa"] .tsc-sku { font-weight: 600; }

/* Descripción, especificaciones y relacionados */
[data-tsc-theme="brisa"] .tsc-single-tabs { border-top: 0; padding-top: 8px; margin-bottom: 48px; }
[data-tsc-theme="brisa"] .tsc-single-tabs h2,
[data-tsc-theme="brisa"] .tsc-related-products h2 { font-size: clamp(24px, 2.6vw, 30px); margin-bottom: 18px; }
[data-tsc-theme="brisa"] .tsc-single-tabs h2:not(:first-child) { margin-top: 48px; }
[data-tsc-theme="brisa"] .tsc-description { font-size: 16.5px; line-height: 1.8; }
[data-tsc-theme="brisa"] .tsc-specs-table {
	border-collapse: separate; border-spacing: 0;
	border-radius: 24px; overflow: hidden;
	border: 1px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow-sm);
}
[data-tsc-theme="brisa"] .tsc-specs-table tr:nth-child(odd) { background: var(--brisa-tint); }
[data-tsc-theme="brisa"] .tsc-specs-table th,
[data-tsc-theme="brisa"] .tsc-specs-table td { padding: 14px 20px; font-size: 15px; }
[data-tsc-theme="brisa"] .tsc-specs-table th { color: var(--tsc-text-2); font-weight: 700; }
[data-tsc-theme="brisa"] .tsc-specs-table td { font-weight: 800; color: var(--tsc-text); }
[data-tsc-theme="brisa"] .tsc-related-products { margin-top: 56px; }

/* ---------- Formulario de checkout ---------- */
[data-tsc-theme="brisa"] .tsc-checkout-form {
	gap: 28px; padding: 32px;
	border-radius: 30px;
	border: 1px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow);
}
[data-tsc-theme="brisa"] .tsc-checkout-form.is-spotlight { animation: brisa-spotlight 1.3s ease-out 1; }
[data-tsc-theme="brisa"] .tsc-form-section + .tsc-form-section { padding-top: 26px; border-top: 2px dashed var(--brisa-line); }
[data-tsc-theme="brisa"] .tsc-form-section-title {
	margin: 0 0 12px;
	font-size: 18px; font-weight: 800; letter-spacing: -0.02em; text-transform: none; color: var(--tsc-text);
}
[data-tsc-theme="brisa"] .tsc-checkout-form label { font-size: 14px; font-weight: 700; }
[data-tsc-theme="brisa"] .tsc-required { color: var(--tsc-accent-2); }
[data-tsc-theme="brisa"] .tsc-checkout-form input:not([type="radio"]):not([type="checkbox"]),
[data-tsc-theme="brisa"] .tsc-checkout-form textarea {
	border-radius: 16px;
	border: 1.5px solid transparent;
	background: var(--brisa-tint);
	font-size: 15.5px; font-weight: 600;
	transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.35s var(--brisa-ease);
}
[data-tsc-theme="brisa"] .tsc-checkout-form input:not([type="radio"]):not([type="checkbox"]) { height: 52px; padding: 0 16px; }
[data-tsc-theme="brisa"] .tsc-checkout-form textarea { padding: 14px 16px; min-height: 110px; }
[data-tsc-theme="brisa"] .tsc-checkout-form input:not([type="radio"]):not([type="checkbox"]):hover,
[data-tsc-theme="brisa"] .tsc-checkout-form textarea:hover { border-color: var(--brisa-line-strong); background: var(--brisa-tint-strong); }
[data-tsc-theme="brisa"] .tsc-checkout-form input:not([type="radio"]):not([type="checkbox"]):focus,
[data-tsc-theme="brisa"] .tsc-checkout-form textarea:focus {
	border-color: var(--tsc-accent);
	background: var(--tsc-surface);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--tsc-accent) 16%, transparent);
}
[data-tsc-theme="brisa"] .tsc-checkout-form input::placeholder,
[data-tsc-theme="brisa"] .tsc-checkout-form textarea::placeholder { color: var(--tsc-text-2); font-weight: 500; }
@supports selector(:user-invalid) {
	[data-tsc-theme="brisa"] .tsc-checkout-form input:user-invalid,
	[data-tsc-theme="brisa"] .tsc-checkout-form textarea:user-invalid { border-color: var(--brisa-danger); background: var(--brisa-danger-bg); }
}

/* Opciones de contacto */
[data-tsc-theme="brisa"] .tsc-delivery-options { gap: 12px; }
[data-tsc-theme="brisa"] .tsc-delivery-option {
	position: relative;
	padding: 14px 18px 14px 14px;
	border-radius: 22px;
	border: 1.5px solid var(--brisa-line);
	background: var(--tsc-surface);
	transition: transform 0.4s var(--brisa-spring), border-color 0.25s ease, background 0.25s ease, box-shadow 0.35s var(--brisa-ease);
}
[data-tsc-theme="brisa"] .tsc-delivery-option:hover { transform: translateY(-2px); border-color: var(--brisa-line-strong); box-shadow: var(--brisa-shadow-sm); }
[data-tsc-theme="brisa"] .tsc-delivery-option:focus-within { box-shadow: 0 0 0 4px color-mix(in srgb, var(--tsc-accent) 22%, transparent); }
[data-tsc-theme="brisa"] .tsc-delivery-icon {
	display: grid; place-items: center;
	width: 50px; height: 50px; border-radius: 16px;
	background: var(--brisa-tint);
	font-size: 24px;
	transition: transform 0.5s var(--brisa-spring), background 0.25s ease;
}
[data-tsc-theme="brisa"] .tsc-delivery-text { gap: 3px; }
[data-tsc-theme="brisa"] .tsc-delivery-text strong { font-size: 15.5px; font-weight: 800; }
[data-tsc-theme="brisa"] .tsc-delivery-text small { font-size: 13px; font-weight: 500; line-height: 1.35; }
[data-tsc-theme="brisa"] .tsc-delivery-radio {
	width: 24px; height: 24px;
	border: 2px solid var(--brisa-line-strong);
	transition: border-color 0.25s ease, background 0.25s ease, transform 0.4s var(--brisa-spring);
}
[data-tsc-theme="brisa"] .tsc-delivery-option.is-selected {
	border-color: var(--tsc-accent);
	background: color-mix(in srgb, var(--tsc-accent) 6%, var(--tsc-surface));
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--tsc-accent) 12%, transparent);
}
[data-tsc-theme="brisa"] .tsc-delivery-option.is-selected .tsc-delivery-icon { background: var(--brisa-tint-strong); transform: scale(1.08) rotate(-5deg); }
[data-tsc-theme="brisa"] .tsc-delivery-option.is-selected .tsc-delivery-radio { border-color: var(--tsc-accent); background: var(--tsc-accent); transform: scale(1.08); }
[data-tsc-theme="brisa"] .tsc-delivery-option.is-selected .tsc-delivery-radio::after {
	inset: auto; left: 7px; top: 2.5px;
	width: 6px; height: 12px;
	border: solid #fff; border-width: 0 2.5px 2.5px 0;
	border-radius: 0; background: transparent;
	transform: rotate(45deg);
	animation: brisa-tick 0.45s var(--brisa-spring) both;
}

/* Avisos */
[data-tsc-theme="brisa"] .tsc-checkout-note {
	padding: 14px 16px; border: 0; border-radius: 16px;
	background: var(--brisa-tint); color: var(--tsc-text-2);
	font-size: 13.5px; font-weight: 500; line-height: 1.5;
}
[data-tsc-theme="brisa"] .tsc-checkout-error {
	padding: 14px 18px; border-radius: 16px;
	background: var(--brisa-danger-bg); color: #A3163A;
	font-size: 15px; font-weight: 700;
	animation: brisa-shake 0.5s ease 0.1s 1;
}

/* Pedido enviado */
[data-tsc-theme="brisa"] .tsc-order-success {
	max-width: 520px; padding: 48px 34px;
	border-radius: 34px;
	border: 1px solid var(--brisa-line);
	background: var(--tsc-surface);
	box-shadow: var(--brisa-shadow);
	animation: brisa-rise 0.8s var(--brisa-ease) both;
}
[data-tsc-theme="brisa"] .tsc-order-success h1 { font-size: 28px; }
[data-tsc-theme="brisa"] .tsc-order-success p { color: var(--tsc-text-2); font-weight: 500; }
[data-tsc-theme="brisa"] .tsc-order-success .tsc-checkout-note { border-radius: 16px; background: var(--brisa-tint); border: 0; }
[data-tsc-theme="brisa"] .tsc-success-icon {
	position: relative;
	width: 78px; height: 78px; margin-bottom: 22px;
	background: var(--brisa-wa); color: var(--brisa-wa-ink);
	font-size: 38px;
	animation: brisa-check 0.8s var(--brisa-spring) 0.2s both;
}
[data-tsc-theme="brisa"] .tsc-success-icon::before {
	content: ""; position: absolute; inset: 0; border-radius: 50%;
	border: 3px solid var(--brisa-wa);
	animation: brisa-ring 1.6s ease-out 0.5s 2 both;
}

/* ---------- Encabezado y avisos del checkout ---------- */
[data-tsc-theme="brisa"] .tsc-checkout-header h1 { font-size: clamp(26px, 3vw, 34px); letter-spacing: -0.02em; }
[data-tsc-theme="brisa"] .tsc-checkout-note {
	border-radius: 16px; border: 0; background: var(--brisa-tint); color: var(--tsc-text);
	font-weight: 600; padding: 12px 16px;
}
[data-tsc-theme="brisa"] .tsc-checkout-error {
	border-radius: 16px; background: var(--brisa-danger-bg); color: #A3163A; font-weight: 700;
	animation: brisa-shake 0.5s ease 0.1s 1;
}
[data-tsc-theme="brisa"] .tsc-checkout-grid { gap: 24px; }
@media (min-width: 801px) {
	[data-tsc-theme="brisa"] .tsc-checkout-grid { display: grid; grid-template-columns: 1.4fr 1fr; align-items: start; }
}

/* ---------- Resumen del pedido (checkout) ---------- */
[data-tsc-theme="brisa"] .tsc-checkout-summary {
	border-radius: 26px; border: 1px solid var(--brisa-line); background: var(--tsc-surface); box-shadow: var(--brisa-shadow-sm);
	padding: 24px; position: sticky; top: 24px;
}
[data-tsc-theme="brisa"] .tsc-checkout-summary h2 { font-size: 16px; font-weight: 800; }
[data-tsc-theme="brisa"] .tsc-checkout-summary li { border-bottom-color: var(--brisa-line); }
[data-tsc-theme="brisa"] .tsc-summary-thumb { border-radius: 12px; }
[data-tsc-theme="brisa"] .tsc-checkout-total { border-top: 2px dashed var(--brisa-line); }
[data-tsc-theme="brisa"] .tsc-checkout-total strong { color: var(--tsc-accent); font-size: 22px; }

/* ---------- Carrito ---------- */
[data-tsc-theme="brisa"] .tsc-cart-page > h1 { font-size: clamp(28px, 3.6vw, 38px); margin-bottom: 24px; }
[data-tsc-theme="brisa"] .tsc-empty-cart {
	border-radius: 28px; border: 2px dashed var(--brisa-line-strong); background: var(--tsc-surface);
	padding: 56px 28px; animation: brisa-soft-in 0.6s var(--brisa-ease) both;
}
[data-tsc-theme="brisa"] .tsc-empty-cart-icon { font-size: 48px; }
[data-tsc-theme="brisa"] .tsc-empty-cart .tsc-btn { margin-top: 6px; }
[data-tsc-theme="brisa"] .tsc-cart-items { gap: 14px; }
[data-tsc-theme="brisa"] .tsc-cart-item {
	border-radius: 22px; border: 1px solid var(--brisa-line); background: var(--tsc-surface);
	transition: transform 0.4s var(--brisa-spring), box-shadow 0.35s ease;
}
[data-tsc-theme="brisa"] .tsc-cart-item:hover { transform: translateY(-2px); box-shadow: var(--brisa-shadow-sm); }
[data-tsc-theme="brisa"] .tsc-cart-item-thumb { border-radius: 16px; }
[data-tsc-theme="brisa"] .tsc-cart-item-name { font-weight: 800; }
[data-tsc-theme="brisa"] .tsc-cart-item-subtotal { color: var(--tsc-accent); font-weight: 800; }
[data-tsc-theme="brisa"] .tsc-remove-cart-item { border-radius: 50%; transition: transform 0.3s var(--brisa-spring), background 0.2s ease, color 0.2s ease; }
[data-tsc-theme="brisa"] .tsc-remove-cart-item:hover { transform: rotate(90deg); background: var(--brisa-danger-bg); color: var(--brisa-danger); }
[data-tsc-theme="brisa"] .tsc-cart-summary {
	border-radius: 26px; border: 1px solid var(--brisa-line); background: var(--tsc-surface); box-shadow: var(--brisa-shadow-sm);
	padding: 26px;
}
[data-tsc-theme="brisa"] .tsc-cart-summary h2 { font-weight: 800; }
[data-tsc-theme="brisa"] .tsc-cart-summary .tsc-checkout-total { border-top: 2px dashed var(--brisa-line); }
[data-tsc-theme="brisa"] .tsc-cart-summary .tsc-checkout-total strong { color: var(--tsc-accent); }

/* ---------- Mini-carrito flotante ---------- */
.tsc-minicart-toggle[data-tsc-theme="brisa"] {
	width: 60px; height: 60px; border-radius: 20px;
	box-shadow: 0 16px 28px -14px color-mix(in srgb, var(--tsc-accent) 80%, transparent);
	transition: transform 0.4s var(--brisa-spring), box-shadow 0.4s var(--brisa-ease);
}
.tsc-minicart-toggle[data-tsc-theme="brisa"]:hover { transform: translateY(-3px) scale(1.05); }
.tsc-minicart-toggle[data-tsc-theme="brisa"].tsc-bump { animation: brisa-pop 0.5s var(--brisa-spring); }
.tsc-minicart-toggle[data-tsc-theme="brisa"] .tsc-minicart-count { box-shadow: 0 0 0 2px var(--tsc-surface); }
.tsc-minicart-toggle[data-tsc-theme="brisa"] .tsc-minicart-count.tsc-bump { animation: brisa-pop 0.5s var(--brisa-spring); }
.tsc-minicart-panel[data-tsc-theme="brisa"] {
	border-radius: 28px 0 0 28px; border: 1px solid var(--brisa-line); box-shadow: var(--brisa-shadow);
	padding: 26px;
}
.tsc-minicart-panel[data-tsc-theme="brisa"] h3 { font-size: 20px; }
.tsc-minicart-panel[data-tsc-theme="brisa"] .tsc-minicart-item { border-bottom-color: var(--brisa-line); }
.tsc-minicart-panel[data-tsc-theme="brisa"] .tsc-minicart-item img { border-radius: 12px; }
.tsc-minicart-panel[data-tsc-theme="brisa"] .tsc-minicart-total { border-top: 2px dashed var(--brisa-line); font-weight: 800; }
.tsc-minicart-panel[data-tsc-theme="brisa"] .tsc-minicart-checkout { border-radius: 16px; }

/* ---------- Favoritos ---------- */
.tsc-wishlist-wrap[data-tsc-theme="brisa"] > p {
	max-width: 420px; padding: 56px 28px;
	border-radius: 30px;
	border: 2px dashed var(--brisa-line-strong);
	background: var(--tsc-surface);
	color: var(--tsc-text); font-size: 17px; font-weight: 700;
	animation: brisa-soft-in 0.6s var(--brisa-ease) both;
}
.tsc-wishlist-wrap[data-tsc-theme="brisa"] > p::before {
	content: "";
	display: block; width: 56px; height: 56px; margin: 0 auto 16px;
	background: var(--brisa-danger);
	-webkit-mask: var(--brisa-i-heart) center / contain no-repeat;
	mask: var(--brisa-i-heart) center / contain no-repeat;
}

/* ---------- Visor de fotos (lightbox) ---------- */
.tsc-lightbox-overlay[data-tsc-theme="brisa"] {
	background: color-mix(in srgb, var(--tsc-bg) 84%, transparent);
	-webkit-backdrop-filter: blur(18px) saturate(1.25);
	backdrop-filter: blur(18px) saturate(1.25);
	animation: brisa-fade 0.35s ease both;
}
.tsc-lightbox-overlay[data-tsc-theme="brisa"].is-nav { animation: none; }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] img {
	max-width: min(92vw, 1240px); max-height: 82vh;
	border-radius: 26px;
	box-shadow: 0 40px 90px -30px color-mix(in srgb, var(--tsc-accent) 60%, transparent), 0 0 0 8px rgba(255, 255, 255, 0.7);
	animation: brisa-lb-img 0.5s var(--brisa-ease) both;
}
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-close,
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-prev,
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-next {
	display: flex; align-items: center; justify-content: center;
	width: 52px; height: 52px; padding: 0;
	border-radius: 50%;
	background: #fff; color: var(--tsc-text);
	box-shadow: 0 12px 26px -10px color-mix(in srgb, var(--tsc-accent) 60%, transparent);
	transition: transform 0.4s var(--brisa-spring), background 0.25s ease, color 0.25s ease;
}
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-close { top: 22px; right: 26px; font-size: 30px; line-height: 1; }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-close:hover { transform: rotate(90deg) scale(1.08); background: var(--tsc-accent); color: #fff; }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-prev { left: 22px; }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-next { right: 22px; }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-prev:hover,
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-next:hover { background: var(--tsc-accent); color: #fff; }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-prev:hover { transform: translateY(-50%) translateX(-4px) scale(1.06); }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-next:hover { transform: translateY(-50%) translateX(4px) scale(1.06); }
.tsc-lightbox-overlay[data-tsc-theme="brisa"] .tsc-lightbox-counter {
	bottom: 26px; padding: 8px 18px;
	background: #fff; color: var(--tsc-text);
	font-size: 14px; font-weight: 800;
	box-shadow: 0 12px 26px -10px color-mix(in srgb, var(--tsc-accent) 60%, transparent);
}

/* ---------- Aparición de las tarjetas ---------- */
/* La señal .tsc-motion la pone un script mínimo en el <head> solo si el navegador puede animar
   (IntersectionObserver) y la persona no pidió "reducir movimiento". */
.tsc-motion [data-tsc-theme="brisa"] .tsc-product-card:not(.is-in) {
	opacity: 0;
	/* Red de seguridad: si por algún motivo el JS no llega a revelar la tarjeta, se muestra igual. */
	animation: brisa-failsafe 0.01s linear 7s forwards;
}
.tsc-motion [data-tsc-theme="brisa"] .tsc-product-card.is-in {
	animation: brisa-rise 0.8s var(--brisa-ease) var(--brisa-delay, 0ms) backwards;
}
.tsc-motion [data-tsc-theme="brisa"] .tsc-view-list .tsc-product-card.is-in { animation-name: brisa-rise-wide; }

/* ---------- Tablet y móvil ---------- */
@media (max-width: 900px) {
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters { flex: none; width: 100%; }
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-head { padding: 0; }
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-toggle { padding: 18px 24px; }
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-clear-filters { margin-right: 14px; }
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters-chevron { color: var(--tsc-accent); width: 20px; height: 20px; transition: transform 0.4s var(--brisa-spring); }
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-filters.is-open .tsc-filters-body { animation: brisa-unfold 0.45s var(--brisa-ease) both; }
	[data-tsc-theme="brisa"] .tsc-single-info { position: static; padding: 26px; }
	[data-tsc-theme="brisa"] .tsc-single-grid { gap: 28px; }
}
@media (max-width: 640px) {
	.tsc-catalog[data-tsc-theme="brisa"],
	.tsc-single-product[data-tsc-theme="brisa"],
	.tsc-cart-page[data-tsc-theme="brisa"],
	.tsc-checkout-page[data-tsc-theme="brisa"],
	.tsc-wishlist-wrap[data-tsc-theme="brisa"] { padding: 22px 14px 44px; border-radius: 26px; }
	[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-product-card-body { padding: 18px 8px 8px; }
	[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-product-title { font-size: 21px; }
	[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-price { font-size: 26px; }
	[data-tsc-theme="brisa"] .tsc-products-grid.tsc-view-list .tsc-btn { padding: 15px 20px; }
	[data-tsc-theme="brisa"] .tsc-checkout-form { padding: 22px 16px; border-radius: 26px; }
	[data-tsc-theme="brisa"] .tsc-single-info { padding: 22px 18px; border-radius: 26px; }
}
@media (max-width: 520px) {
	[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) { grid-template-columns: 1fr 1fr; gap: 12px; }
	[data-tsc-theme="brisa"] .tsc-product-card { padding: 7px; border-radius: 22px; }
	[data-tsc-theme="brisa"] .tsc-product-card-media { border-radius: 16px; }
	[data-tsc-theme="brisa"] .tsc-product-card-body { padding: 12px 6px 6px; gap: 8px; }
	[data-tsc-theme="brisa"] .tsc-product-title { font-size: 15.5px; }
	[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-price { font-size: 17px; white-space: normal; }
	[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-price-regular { font-size: 12.5px; }
	[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-btn { padding: 12px 8px; gap: 6px; font-size: 14px; border-radius: 15px; white-space: nowrap; }
	[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-card-excerpt,
	[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-card-shipping-line,
	[data-tsc-theme="brisa"] .tsc-products-grid:not(.tsc-view-list) .tsc-card-footer-note { font-size: 11.5px; }
	[data-tsc-theme="brisa"] .tsc-badges { max-width: calc(100% - 58px); align-items: flex-start; }
	[data-tsc-theme="brisa"] .tsc-badge { padding: 4px 9px; font-size: 10.5px; line-height: 1.15; border-radius: 12px; white-space: normal; }
	[data-tsc-theme="brisa"] .tsc-badge::before { display: none; }
	[data-tsc-theme="brisa"] .tsc-checkout-form .tsc-btn-large { padding: 16px 14px; font-size: 16px; gap: 8px; }
	[data-tsc-theme="brisa"] .tsc-product-card .tsc-wishlist-btn { top: 10px; right: 10px; width: 38px; height: 38px; font-size: 19px; }
	[data-tsc-theme="brisa"] .tsc-badges { top: 10px; left: 10px; }
	.tsc-catalog[data-tsc-theme="brisa"] .tsc-search-input { height: 50px; }
	[data-tsc-theme="brisa"] .tsc-delivery-icon { width: 44px; height: 44px; font-size: 21px; }
}

/* ---------- Respeta "reducir movimiento" ---------- */
@media (prefers-reduced-motion: reduce) {
	[data-tsc-theme="brisa"],
	[data-tsc-theme="brisa"]::before,
	[data-tsc-theme="brisa"] *,
	[data-tsc-theme="brisa"] *::before,
	[data-tsc-theme="brisa"] *::after,
	.tsc-lightbox-overlay[data-tsc-theme="brisa"],
	.tsc-lightbox-overlay[data-tsc-theme="brisa"] * {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
	.tsc-motion [data-tsc-theme="brisa"] .tsc-product-card:not(.is-in) { opacity: 1 !important; }
}
@media print {
	.tsc-motion [data-tsc-theme="brisa"] .tsc-product-card:not(.is-in) { opacity: 1 !important; animation: none !important; }
}
