/**
 * Facundo Tulin — custom styles.
 * Overrides sobre Bootstrap 5 vía CSS custom properties + componentes propios.
 */

/* --- Tokens / Brand --- */
:root {
	--ft-yellow: #f1c40f;
	--ft-yellow-dark: #d4ac0d;
	--ft-black: #0a0809;
	--ft-gray-900: #212121;
	--ft-gray-100: #f5f5f5;

	/* Overrides BS5 (sólo impactan componentes que usen --bs-* custom props) */
	--bs-primary: var(--ft-yellow);
	--bs-primary-rgb: 241, 196, 15;
	--bs-body-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--bs-body-color: var(--ft-gray-900);
	--bs-link-color: var(--ft-black);
	--bs-link-hover-color: var(--ft-yellow-dark);
}

body {
	font-family: var(--bs-body-font-family);
	font-feature-settings: "cv11", "ss01";
}

/* Primary button en amarillo con texto negro */
.btn-primary {
	--bs-btn-bg: var(--ft-yellow);
	--bs-btn-border-color: var(--ft-yellow);
	--bs-btn-hover-bg: var(--ft-yellow-dark);
	--bs-btn-hover-border-color: var(--ft-yellow-dark);
	--bs-btn-active-bg: var(--ft-yellow-dark);
	--bs-btn-active-border-color: var(--ft-yellow-dark);
	--bs-btn-color: var(--ft-black);
	--bs-btn-hover-color: var(--ft-black);
	--bs-btn-active-color: var(--ft-black);
	font-weight: 600;
}

/* --- Section primitives --- */
.ft-section {
	padding: clamp(3rem, 6vw, 5rem) 0;
}
.ft-section__title {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 0.5rem;
	color: var(--ft-black);
}
.ft-section__subtitle {
	color: #6c757d;
	margin-bottom: 0;
	font-size: 1rem;
}

/* === 1. Hero Slider ============================================= */
/* === Hero editorial (sin bg images, full tipografía + apliques) === */
.ft-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	--ft-hero-duration: 7s;
	background:
		radial-gradient(ellipse 80% 60% at 80% 0%, rgba(241, 196, 15, 0.12) 0%, transparent 60%),
		radial-gradient(ellipse 60% 50% at 20% 100%, rgba(241, 196, 15, 0.08) 0%, transparent 55%),
		linear-gradient(135deg, #0a0809 0%, #1a1716 50%, #221e1b 100%);
}
.ft-hero__carousel,
.ft-hero__carousel .carousel-inner {
	min-height: clamp(32rem, 72vh, 46rem);
}

/* ---- Apliques decorativos (dots, grid, mesh) ---- */
.ft-hero__deco {
	position: absolute;
	pointer-events: none;
	z-index: 1;
}
.ft-hero__deco--mesh {
	inset: 0;
	background:
		radial-gradient(600px circle at 90% 20%, color-mix(in srgb, var(--ft-accent, #f1c40f) 22%, transparent), transparent 55%),
		radial-gradient(500px circle at 10% 80%, color-mix(in srgb, var(--ft-accent, #f1c40f) 14%, transparent), transparent 60%);
	mix-blend-mode: screen;
	opacity: 0.7;
	transition: background 0.8s ease;
}
.ft-hero__deco--dots {
	top: 2rem;
	right: 3rem;
	width: 140px;
	height: 140px;
	background-image: radial-gradient(rgba(241, 196, 15, 0.35) 1.2px, transparent 1.2px);
	background-size: 14px 14px;
	opacity: 0.6;
}
.ft-hero__deco--grid {
	bottom: 3.5rem;
	left: 2.5rem;
	width: 180px;
	height: 100px;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 22px 22px;
	opacity: 0.9;
}

/* ---- Slide ---- */
.ft-hero-slide {
	position: relative;
	min-height: clamp(32rem, 72vh, 46rem);
	display: flex;
	align-items: center;
	isolation: isolate;
	background: #0a0809;
}
/* Background image per slide — CONTAIN a la derecha + frame con margins
   La imagen se ve completa centrada en su área, sin recorte. */
.ft-hero-slide--has-bg {
	background:
		radial-gradient(ellipse at 80% 50%, rgba(30, 22, 18, 0.5) 0%, transparent 60%),
		#0a0809;
}
.ft-hero-slide--has-bg::before {
	content: "";
	position: absolute;
	top: clamp(1.25rem, 2.5vw, 2.5rem);
	bottom: clamp(1.25rem, 2.5vw, 2.5rem);
	left: clamp(1.25rem, 2.5vw, 2.5rem);
	right: clamp(1.25rem, 2.5vw, 2.5rem);
	z-index: 0;
	background-image: var(--ft-hero-bg);
	background-size: contain;
	background-position: right center;
	background-repeat: no-repeat;
	border-radius: 1.5rem;
	opacity: 0.85;
	transition: opacity 0.6s ease;
}
@media (max-width: 991.98px) {
	.ft-hero-slide--has-bg::before {
		background-size: auto 58%;
		background-position: center bottom;
		opacity: 0.92; /* antes 0.35: la foto quedaba casi invisible en móvil */
	}
}
.ft-hero-slide--has-bg::after {
	content: "";
	position: absolute;
	top: clamp(1.25rem, 2.5vw, 2.5rem);
	bottom: clamp(1.25rem, 2.5vw, 2.5rem);
	left: clamp(1.25rem, 2.5vw, 2.5rem);
	right: clamp(1.25rem, 2.5vw, 2.5rem);
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(10, 8, 9, 0.98) 0%, rgba(10, 8, 9, 0.92) 30%, rgba(10, 8, 9, 0.6) 55%, transparent 80%),
		linear-gradient(180deg, transparent 60%, rgba(10, 8, 9, 0.65) 100%);
	border-radius: 1.5rem;
	pointer-events: none;
}
@media (max-width: 991.98px) {
	.ft-hero-slide--has-bg::after {
		/* Oscurece detrás del texto (arriba) y deja ver la foto abajo (no la tapa). */
		background: linear-gradient(180deg,
			rgba(10, 8, 9, 0.94) 0%,
			rgba(10, 8, 9, 0.82) 30%,
			rgba(10, 8, 9, 0.38) 64%,
			rgba(10, 8, 9, 0.12) 100%);
	}
}
@media (max-width: 575.98px) {
	.ft-hero-slide--has-bg::before,
	.ft-hero-slide--has-bg::after {
		top: 0.85rem;
		bottom: 0.85rem;
		left: 0.85rem;
		right: 0.85rem;
		border-radius: 1rem;
	}
}
.ft-hero-slide__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: clamp(3rem, 6vw, 5rem) 0 clamp(4.5rem, 8vw, 7rem);
}
.ft-hero-slide__text {
	text-align: left;
}

/* ---- Eyebrow pill (estilo "Nuestro catálogo") ---- */
.ft-hero-slide__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--ft-yellow);
	background: rgba(241, 196, 15, 0.12);
	border: 1px solid rgba(241, 196, 15, 0.35);
	padding: 0.45rem 1rem 0.45rem 0.85rem;
	border-radius: 999px;
	margin-bottom: 1.5rem;
	backdrop-filter: blur(8px);
}
.ft-hero-slide__eyebrow i {
	font-size: 0.85rem;
	color: var(--ft-yellow);
}

/* ---- Title ---- */
.ft-hero-slide__title {
	font-size: clamp(2.25rem, 6vw, 4.75rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 0 0 1.25rem;
	color: #fff;
	text-wrap: balance;
}
.ft-hero-slide__title em {
	color: var(--ft-yellow);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow) 0%, #ffe066 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* ---- Subtitle ---- */
.ft-hero-slide__sub {
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	color: rgba(255, 255, 255, 0.78);
	max-width: 36rem;
	margin: 0 0 1.75rem;
	line-height: 1.55;
}

/* ---- Chips de features (apliques sutiles) ---- */
.ft-hero-slide__chips {
	list-style: none;
	padding: 0;
	margin: 0 0 2.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.ft-hero-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.88);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	backdrop-filter: blur(6px);
	transition: border-color 0.2s ease, background 0.2s ease;
}
.ft-hero-chip:hover {
	border-color: rgba(241, 196, 15, 0.4);
	background: rgba(255, 255, 255, 0.1);
}
.ft-hero-chip i {
	font-size: 0.75rem;
	color: var(--ft-yellow);
}

/* ---- CTA ---- */
.ft-hero-slide__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.95rem 2rem;
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	border-radius: 999px;
	border: 0;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	box-shadow: 0 10px 30px -8px rgba(241, 196, 15, 0.55);
}
.ft-hero-slide__cta:hover {
	background: #ffd83a;
	color: var(--ft-black);
	transform: translateY(-2px);
	box-shadow: 0 14px 36px -8px rgba(241, 196, 15, 0.7);
}
.ft-hero-slide__cta svg { transition: transform 0.2s ease; }
.ft-hero-slide__cta:hover svg { transform: translateX(4px); }

/* ---- Animaciones staggered ---- */
.ft-hero-slide [data-ft-anim] {
	opacity: 0;
	transform: translateY(18px);
}
.ft-hero-slide.active [data-ft-anim] {
	animation: ft-hero-reveal 0.75s cubic-bezier(.2,.8,.2,1) forwards;
}
.ft-hero-slide.active [data-ft-anim="1"] { animation-delay: 0.08s; }
.ft-hero-slide.active [data-ft-anim="2"] { animation-delay: 0.20s; }
.ft-hero-slide.active [data-ft-anim="3"] { animation-delay: 0.34s; }
.ft-hero-slide.active [data-ft-anim="4"] { animation-delay: 0.48s; }
.ft-hero-slide.active [data-ft-anim="5"] { animation-delay: 0.60s; }
.ft-hero-slide.active [data-ft-anim="6"] { animation-delay: 0.35s; }
@keyframes ft-hero-reveal {
	to { opacity: 1; transform: translateY(0); }
}

/* ---- Product preview card (columna derecha) ---- */
.ft-hero-slide__preview-col { perspective: 1200px; }
.ft-hero-preview {
	position: relative;
	display: block;
	text-decoration: none;
	color: inherit;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 1.25rem;
	padding: 1rem;
	backdrop-filter: blur(16px) saturate(160%);
	transition: transform 0.4s ease, border-color 0.3s ease, background 0.3s ease;
	max-width: 440px;
	margin-left: auto;
}
.ft-hero-preview:hover {
	transform: translateY(-4px) rotate(0.2deg);
	border-color: color-mix(in srgb, var(--ft-accent) 60%, rgba(255, 255, 255, 0.3));
	background: rgba(255, 255, 255, 0.08);
	color: inherit;
}
.ft-hero-preview__badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-size: 0.68rem;
	font-weight: 700;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.ft-hero-preview__img-wrap {
	aspect-ratio: 4 / 3;
	background: #fff;
	border-radius: 0.85rem;
	overflow: hidden;
	margin-bottom: 1rem;
}
.ft-hero-preview__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.5s ease;
}
.ft-hero-preview:hover .ft-hero-preview__img { transform: scale(1.06); }
.ft-hero-preview__body { padding: 0 0.25rem 0.25rem; }
.ft-hero-preview__cat {
	display: inline-block;
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.65);
	font-weight: 600;
	margin-bottom: 0.35rem;
}
.ft-hero-preview__title {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
	margin: 0 0 0.4rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ft-hero-preview__price {
	display: block;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 0.6rem;
}
.ft-hero-preview__price .woocommerce-Price-amount { color: var(--ft-yellow); }
.ft-hero-preview__link {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	color: var(--ft-yellow);
	font-size: 0.85rem;
	font-weight: 600;
}
.ft-hero-preview__link svg { transition: transform 0.2s ease; }
.ft-hero-preview:hover .ft-hero-preview__link svg { transform: translateX(3px); }

/* ---- Controls: arrows + counter ---- */
.ft-hero__controls {
	position: absolute;
	z-index: 5;
	bottom: clamp(2rem, 4vw, 3.5rem);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 1rem;
	width: 100%;
	justify-content: center;
}
.ft-hero__arrow {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	backdrop-filter: blur(10px);
	cursor: pointer;
}
.ft-hero__arrow:hover {
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
	color: var(--ft-black);
	transform: scale(1.05);
}
.ft-hero__counter {
	font-variant-numeric: tabular-nums;
	font-size: 0.9rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.8);
	letter-spacing: 0.03em;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-width: 3.5rem;
	justify-content: center;
}
.ft-hero__counter-current {
	font-size: 1.25rem;
	color: #fff;
	font-weight: 700;
}
.ft-hero__counter-sep { opacity: 0.3; }
.ft-hero__counter-total { opacity: 0.55; }

/* ---- Progress bar ---- */
.ft-hero__progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: rgba(255, 255, 255, 0.08);
	z-index: 4;
}
.ft-hero__progress-bar {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--ft-accent, var(--ft-yellow)) 0%, var(--ft-yellow) 100%);
}
.ft-hero__progress-bar.is-running {
	animation: ft-hero-progress var(--ft-hero-duration) linear forwards;
}
@keyframes ft-hero-progress {
	from { width: 0%; }
	to   { width: 100%; }
}

/* ---- Dots ---- */
.ft-hero__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(1.25rem + 3px);
	margin: 0;
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	z-index: 4;
}
.ft-hero__dots button {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 999px !important;
	color: rgba(255, 255, 255, 0.65) !important;
	padding: 0.3rem 0.85rem !important;
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	width: auto !important;
	height: auto !important;
	opacity: 1 !important;
	margin: 0 !important;
	transition: all 0.2s ease !important;
}
.ft-hero__dots button:hover {
	background: rgba(255, 255, 255, 0.16) !important;
	color: #fff !important;
}
.ft-hero__dots button.active {
	background: var(--ft-yellow) !important;
	border-color: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
	.ft-hero__deco--dots { top: 1rem; right: 1rem; width: 100px; height: 100px; }
	.ft-hero__deco--grid { display: none; }
}
@media (max-width: 767.98px) {
	.ft-hero__controls { gap: 0.5rem; justify-content: center; }
	.ft-hero__arrow { width: 2.4rem; height: 2.4rem; }
	.ft-hero__counter { display: none !important; }
	.ft-hero__dots { display: none !important; }
	.ft-hero-slide__chips { gap: 0.4rem; }
	.ft-hero-chip { font-size: 0.75rem; padding: 0.35rem 0.7rem; }
}

/* === Stats band (social proof bajo hero) ========================= */
.ft-stats-band {
	background: #fff;
	border-bottom: 1px solid #f0f0f0;
	padding: clamp(2rem, 4vw, 3rem) 0;
}
.ft-stat {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.5rem 0.25rem;
}
.ft-stat__icon {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	border-radius: 1rem;
	background: linear-gradient(135deg, var(--ft-yellow), #ffd83a);
	color: var(--ft-black);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px -6px rgba(241, 196, 15, 0.55);
}
.ft-stat__icon svg { width: 26px; height: 26px; }
.ft-stat__value {
	font-size: clamp(1.2rem, 1.9vw, 1.65rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ft-black);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.ft-stat__suffix { color: var(--ft-yellow-dark); }
.ft-stat__label {
	font-size: 0.85rem;
	color: #6c757d;
	font-weight: 500;
	margin-top: 0.15rem;
}
.ft-stat__value + .ft-stat__label { display: block; }

@media (max-width: 767px) {
	.ft-stat { gap: 0.75rem; }
	.ft-stat__icon { width: 42px; height: 42px; }
	.ft-stat__icon svg { width: 22px; height: 22px; }
	.ft-stat__label { font-size: 0.78rem; }
}

/* === 2. Categorías grid (fondo amarillo, iconos webp protagonistas) === */
.ft-cats-section {
	background: var(--ft-yellow);
	padding: clamp(3rem, 6vw, 5rem) 0;
}
.ft-cat-tile {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.ft-cat-tile__inner {
	position: relative;
	height: 100%;
	min-height: 220px;
	padding: 1.25rem 1.25rem 3.5rem;
	background: transparent;
	border-radius: 1.25rem;
	transition: transform 0.25s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
}
.ft-cat-tile:hover .ft-cat-tile__inner {
	transform: translateY(-4px);
}
.ft-cat-tile__img-wrap {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 140px;
	margin-bottom: 0.5rem;
}
.ft-cat-tile__img-wrap img {
	max-width: 100%;
	max-height: 170px;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.35s ease;
	filter: drop-shadow(0 6px 12px rgba(10, 8, 9, 0.18));
}
.ft-cat-tile:hover .ft-cat-tile__img-wrap img { transform: scale(1.06); }
.ft-cat-tile__name {
	font-size: clamp(0.95rem, 1.15vw, 1.1rem);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ft-black);
	margin: 0;
	line-height: 1.2;
	text-align: center;
	width: 100%;
}
.ft-cat-tile__arrow {
	position: absolute;
	bottom: 0.75rem;
	right: 0.85rem;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.35rem 0.6rem 0.35rem 0.85rem;
	border-radius: 999px;
	background: rgba(10, 8, 9, 0.08);
	color: var(--ft-black);
	font-size: 0.78rem;
	font-weight: 700;
	transition: all 0.25s ease;
}
.ft-cat-tile__arrow svg {
	flex-shrink: 0;
	width: 1.1rem;
	height: 1.1rem;
	padding: 0.2rem;
	border-radius: 50%;
	background: rgba(10, 8, 9, 0.1);
}
.ft-cat-tile:hover .ft-cat-tile__arrow {
	background: var(--ft-black);
	color: var(--ft-yellow);
	transform: translateX(-2px);
}
.ft-cat-tile:hover .ft-cat-tile__arrow svg {
	background: var(--ft-yellow);
	color: var(--ft-black);
}

/* === 3 & 6. Carruseles de productos (Owl Carousel) ============== */
.ft-products-slider {
	padding: clamp(3rem, 6vw, 5rem) 0;
	position: relative;
}
.ft-products-slider--light { background: #fff; }
.ft-products-slider--dark  { background: #fafafa; }

/* ══════════════════════════════════════════
   Category Spotlight — banner izq + carrusel
══════════════════════════════════════════ */
.ft-cat-spotlight { padding: clamp(3rem, 6vw, 5rem) 0; background: #fff; }
.ft-cat-spotlight__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 992px) {
	.ft-cat-spotlight__grid {
		grid-template-columns: minmax(280px, 340px) 1fr;
		gap: 1.5rem;
	}
}

/* --- Banner --- */
.ft-cat-spotlight__banner {
	position: relative;
	overflow: hidden;
	border-radius: 1rem;
	padding: 2rem 1.75rem;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: var(--ft-black);
	border: 1px solid rgba(0,0,0,0.06);
}
@media (min-width: 992px) {
	.ft-cat-spotlight__banner { min-height: 480px; padding: 2.25rem; }
}
.ft-cat-spotlight__banner-img {
	position: absolute;
	right: -20%;
	bottom: -10%;
	width: 110%;
	max-width: none;
	height: auto;
	object-fit: contain;
	opacity: 0.85;
	pointer-events: none;
	mix-blend-mode: multiply;
	z-index: 1;
}
@media (min-width: 992px) {
	.ft-cat-spotlight__banner-img { right: -15%; bottom: -5%; width: 95%; }
}
.ft-cat-spotlight__offer,
.ft-cat-spotlight__title,
.ft-cat-spotlight__cta,
.ft-cat-spotlight__side {
	position: relative;
	z-index: 2;
}
.ft-cat-spotlight__offer {
	display: inline-flex;
	align-self: flex-start;
	padding: 0.45rem 0.85rem;
	background: var(--ft-black);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	border-radius: 0.35rem;
	letter-spacing: 0.02em;
	margin-bottom: 0.75rem;
}
.ft-cat-spotlight__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 1rem;
}
.ft-cat-spotlight__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--ft-black);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--ft-black);
	padding-bottom: 0.2rem;
	align-self: flex-start;
	transition: gap 0.2s ease;
}
.ft-cat-spotlight__cta:hover {
	color: var(--ft-black);
	gap: 0.8rem;
}
.ft-cat-spotlight__cta i { font-size: 0.8rem; }
.ft-cat-spotlight__side {
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%) rotate(180deg);
	writing-mode: vertical-rl;
	font-size: 2.5rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: rgba(0,0,0,0.08);
	text-transform: uppercase;
	z-index: 1;
	pointer-events: none;
}
@media (min-width: 992px) {
	.ft-cat-spotlight__side { font-size: 3.25rem; right: 1.25rem; }
}

/* --- Slider header --- */
.ft-cat-spotlight__slider { min-width: 0; }
.ft-cat-spotlight__head {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"eyebrow viewall"
		"title   viewall";
	align-items: center;
	gap: 0.35rem 1rem;
	padding: 0 0 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #eee;
}
.ft-cat-spotlight__eyebrow {
	grid-area: eyebrow;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ft-yellow-dark);
	margin: 0;
}
.ft-cat-spotlight__h {
	grid-area: title;
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ft-black);
	margin: 0;
}
.ft-cat-spotlight__viewall { grid-area: viewall; }
@media (max-width: 575px) {
	.ft-cat-spotlight__head {
		grid-template-columns: 1fr;
		grid-template-areas: "eyebrow" "title" "viewall";
	}
}
.ft-cat-spotlight__h em {
	font-style: normal;
	color: var(--ft-yellow-dark);
}
.ft-cat-spotlight__viewall {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: #dc2626;
	text-decoration: none;
	white-space: nowrap;
}
.ft-cat-spotlight__viewall:hover { color: #b91c1c; text-decoration: underline; }

/* --- Cards --- */
.ft-cat-spotlight-card {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 0.75rem;
	overflow: hidden;
	transition: all 0.2s ease;
	height: 100%;
}
.ft-cat-spotlight-card:hover {
	border-color: var(--ft-yellow);
	box-shadow: 0 6px 16px rgba(0,0,0,0.05);
	transform: translateY(-3px);
}
.ft-cat-spotlight-card__link { display: block; color: inherit; text-decoration: none; }
.ft-cat-spotlight-card__img-wrap {
	aspect-ratio: 1 / 1;
	background: #fafafa;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	border-bottom: 1px solid #f3f4f6;
}
.ft-cat-spotlight-card__img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.ft-cat-spotlight-card__body {
	padding: 0.85rem 1rem 1rem;
}
.ft-cat-spotlight-card__title {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.5rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.4em;
}
.ft-cat-spotlight-card__prices {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
}
.ft-cat-spotlight-card__price {
	color: #dc2626;
	font-weight: 800;
	font-size: 0.95rem;
}
.ft-cat-spotlight-card__price .woocommerce-Price-amount { color: inherit; font-weight: inherit; }
.ft-cat-spotlight-card__regular {
	color: #9ca3af;
	font-size: 0.8rem;
	font-weight: 500;
	text-decoration: line-through;
}
.ft-cat-spotlight-card__pct {
	color: #16a34a;
	font-size: 0.78rem;
	font-weight: 700;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	padding: 0.15rem 0.45rem;
	border-radius: 0.3rem;
}

/* Owl dots (spotlight) */
.ft-cat-spotlight__carousel .owl-dots {
	margin-top: 1rem;
	display: flex !important;
	justify-content: center;
	gap: 0.35rem;
}
.ft-cat-spotlight__carousel .owl-dot span {
	width: 10px;
	height: 4px;
	border-radius: 2px;
	background: #e5e7eb;
	display: block;
	transition: all 0.2s ease;
}
.ft-cat-spotlight__carousel .owl-dot.active span {
	background: #dc2626;
	width: 22px;
}

/* Header editorial: eyebrow + título + subtitle */
.ft-products-slider__head {
	text-align: center;
	margin-bottom: clamp(2rem, 4vw, 2.75rem);
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.ft-products-slider__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ft-yellow-dark);
	background: rgba(241, 196, 15, 0.14);
	border: 1px solid rgba(241, 196, 15, 0.3);
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.ft-products-slider__eyebrow i {
	font-size: 0.78rem;
}
.ft-products-slider__title {
	font-size: clamp(1.75rem, 3.8vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
	text-wrap: balance;
}
.ft-products-slider__title em {
	color: var(--ft-yellow-dark);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow-dark) 0%, var(--ft-yellow) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-products-slider__subtitle {
	font-size: 1rem;
	color: #6c757d;
	line-height: 1.55;
	margin: 0;
}

/* Wrap + Owl carousel */
.ft-products-slider__wrap {
	position: relative;
	padding-top: 3rem;
}
.ft-products-slider__carousel .owl-stage {
	display: flex;
	align-items: stretch;
	padding: 0.25rem 0 1.5rem;
}
.ft-products-slider__carousel .owl-item {
	display: flex;
	height: auto;
}
.ft-products-slider__carousel .ft-product-card {
	width: 100%;
}

/* Nav arrows — top right */
.ft-products-slider__carousel .owl-nav {
	position: absolute;
	top: -3.25rem;
	right: 0;
	margin: 0;
	display: flex;
	gap: 0.5rem;
}
.ft-products-slider__carousel .owl-nav button.owl-prev,
.ft-products-slider__carousel .owl-nav button.owl-next {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 50% !important;
	color: var(--ft-black) !important;
	font-size: 1.5rem;
	line-height: 1;
	transition: all 0.15s ease;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
.ft-products-slider--dark .ft-products-slider__carousel .owl-nav button.owl-prev,
.ft-products-slider--dark .ft-products-slider__carousel .owl-nav button.owl-next {
	background: #fff !important;
}
.ft-products-slider__carousel .owl-nav button.owl-prev:hover,
.ft-products-slider__carousel .owl-nav button.owl-next:hover {
	background: var(--ft-yellow) !important;
	border-color: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	transform: translateY(-1px);
}
.ft-products-slider__carousel .owl-nav button.disabled {
	opacity: 0.4;
	cursor: not-allowed;
}
.ft-products-slider__carousel .owl-nav button span {
	font-weight: 700;
	margin-top: -3px;
}

/* Dots */
.ft-products-slider__carousel .owl-dots {
	margin-top: 1rem !important;
	text-align: center;
}
.ft-products-slider__carousel .owl-dots .owl-dot span {
	width: 8px;
	height: 8px;
	background: #d0d0d0 !important;
	border-radius: 50%;
	transition: all 0.15s ease;
	margin: 5px;
}
.ft-products-slider__carousel .owl-dots .owl-dot.active span,
.ft-products-slider__carousel .owl-dots .owl-dot:hover span {
	background: var(--ft-yellow) !important;
}
.ft-products-slider__carousel .owl-dots .owl-dot.active span {
	width: 28px;
	border-radius: 4px;
}

/* "Ver toda la tienda" link */
.ft-products-slider__all {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--ft-black);
	text-decoration: none;
	padding: 0.6rem 1.2rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	transition: all 0.15s ease;
}
.ft-products-slider__all:hover {
	color: var(--ft-black);
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
	transform: translateY(-1px);
	box-shadow: 0 6px 14px -6px rgba(241, 196, 15, 0.5);
}
.ft-products-slider__all svg { transition: transform 0.15s ease; }
.ft-products-slider__all:hover svg { transform: translateX(3px); }

@media (max-width: 767.98px) {
	.ft-products-slider__wrap { padding-top: 0; }
	.ft-products-slider__carousel .owl-nav {
		position: static;
		justify-content: center;
		margin-top: 1rem;
	}
}

/* Product card propio (marketplace style) */
.ft-product-card {
	background: #fff;
	border: 1px solid #f0f0f0;
	border-radius: 1rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
}
.ft-product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(10, 8, 9, 0.1);
	border-color: var(--ft-yellow);
}
.ft-product-card__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	text-decoration: none;
	color: inherit;
}
.ft-product-card__img-wrap {
	position: relative;
	aspect-ratio: 1;
	background: #fff;
	overflow: hidden;
	display: block;
}
.ft-product-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.4s ease, opacity 0.3s ease;
}
.ft-product-card__img--hover {
	opacity: 0;
}
.ft-product-card.has-hover-img:hover .ft-product-card__img:not(.ft-product-card__img--hover) {
	opacity: 0;
}
.ft-product-card.has-hover-img:hover .ft-product-card__img--hover {
	opacity: 1;
}
.ft-product-card:not(.has-hover-img):hover .ft-product-card__img {
	transform: scale(1.06);
}
.ft-product-card__body {
	padding: 1rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.ft-product-card__cat {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #9ca3af;
	font-weight: 600;
	margin-bottom: 0.35rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ft-product-card__title {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.5rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ft-product-card__price {
	color: var(--ft-black);
	font-size: 1rem;
	font-weight: 700;
	margin-top: auto;
	display: block;
}
.ft-product-card__price .woocommerce-Price-currencySymbol { font-weight: 600; }
.ft-product-card__price ins { background: transparent; text-decoration: none; }
.ft-product-card__price del { color: #9ca3af; font-weight: 500; margin-right: 0.4rem; font-size: 0.85rem; }

/* Spec badges (memoria, marca, dorm., etc. según categoría) */
.ft-product-card__specs {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.ft-product-card__spec {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: #f5f5f5;
	color: #444;
	font-size: 0.72rem;
	font-weight: 600;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	line-height: 1.3;
	white-space: nowrap;
}
.ft-product-card__spec i {
	font-size: 0.7rem;
	color: var(--ft-yellow-dark);
}

/* Add-to-cart button en la card */
.ft-product-card__badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 3;
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-size: 0.7rem;
	font-weight: 700;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.ft-product-card__actions {
	padding: 0 1rem 1rem;
	margin-top: auto;
}
.ft-product-card__actions .add-to-cart-container,
.ft-product-card__actions .add-to-cart-container.mt-auto {
	margin: 0 !important;
	width: 100%;
}
.ft-product-card__actions .button,
.ft-product-card__actions a.button,
.ft-product-card__actions .add_to_cart_button,
.ft-product-card__actions a.add_to_cart_button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100%;
	background: var(--ft-black) !important;
	color: #fff !important;
	border: 1px solid var(--ft-black) !important;
	border-radius: 0.5rem !important;
	padding: 0.6rem 0.85rem !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	text-align: center;
	text-decoration: none;
	transition: all 0.15s ease;
	cursor: pointer;
	line-height: 1.2;
}
.ft-product-card__actions .button::before,
.ft-product-card__actions .add_to_cart_button::before {
	content: "\f07a";
	font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.82rem;
	display: inline-block;
}
.ft-product-card__actions .button:hover,
.ft-product-card__actions a.button:hover,
.ft-product-card__actions .add_to_cart_button:hover,
.ft-product-card__actions a.add_to_cart_button:hover {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	border-color: var(--ft-yellow) !important;
}
.ft-product-card__actions .added_to_cart {
	font-size: 0.8rem;
	color: var(--ft-yellow-dark);
	text-decoration: underline;
	margin-left: 0.5rem;
	align-self: center;
}
.ft-product-card__actions .button.loading::after {
	content: "";
	width: 14px;
	height: 14px;
	border: 1px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: ft-spin 0.7s linear infinite;
	margin-left: 0.4rem;
}
@keyframes ft-spin { to { transform: rotate(360deg); } }

/* === 4. Importaciones banner ==================================== */
.ft-import-banner {
	background: linear-gradient(135deg, var(--ft-yellow) 0%, #f5cf30 55%, #e9b91a 100%);
	color: var(--ft-black);
	padding: clamp(3rem, 6vw, 5rem) 0;
	position: relative;
	overflow: hidden;
}
.ft-import-banner::before {
	content: "";
	position: absolute;
	right: -10%;
	top: -50%;
	width: 80%;
	height: 200%;
	background: radial-gradient(circle, rgba(212, 172, 13, 0.35) 0%, transparent 60%);
	pointer-events: none;
}
.ft-import-banner__deco--dots {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(10, 8, 9, 0.08) 1px, transparent 1px);
	background-size: 22px 22px;
	background-position: 0 0;
	opacity: 0.6;
	pointer-events: none;
	mask-image: linear-gradient(120deg, transparent 0%, rgba(0,0,0,0.6) 50%, transparent 100%);
	-webkit-mask-image: linear-gradient(120deg, transparent 0%, rgba(0,0,0,0.6) 50%, transparent 100%);
}
.ft-import-banner__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(180px, 280px) 1fr;
	align-items: center;
	gap: clamp(1.5rem, 5vw, 4rem);
	z-index: 2;
}

/* --- Visual: ilustración real importaciones --- */
.ft-import-banner__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ft-import-banner__img {
	display: block;
	width: 100%;
	max-width: 280px;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 12px 24px rgba(155, 110, 0, 0.25));
}

/* --- Content --- */
.ft-import-banner__content { min-width: 0; }
.ft-import-banner__eyebrow {
	display: inline-flex;
	align-items: center;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ft-black);
	background: rgba(10, 8, 9, 0.09);
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.ft-import-banner__title {
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 0.85rem;
	color: var(--ft-black);
	max-width: 38ch;
}
.ft-import-banner__sub {
	font-size: 1.02rem;
	line-height: 1.55;
	margin-bottom: 1.5rem;
	max-width: 46rem;
	color: rgba(10, 8, 9, 0.78);
}
.ft-import-banner__chips {
	list-style: none;
	padding: 0;
	margin: 0 0 1.75rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}
.ft-import-banner__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(10, 8, 9, 0.12);
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--ft-black);
	backdrop-filter: blur(4px);
}
.ft-import-banner__chip i.bi {
	font-size: 1rem;
	color: var(--ft-black);
	opacity: 0.75;
}
.ft-import-banner__cta {
	--bs-btn-bg: var(--ft-black);
	--bs-btn-border-color: var(--ft-black);
	--bs-btn-hover-bg: #212121;
	--bs-btn-hover-border-color: #212121;
	--bs-btn-color: #fff;
	--bs-btn-hover-color: #fff;
	font-weight: 700;
	padding: 0.85rem 1.85rem;
	display: inline-flex;
	align-items: center;
}
@media (max-width: 767px) {
	.ft-import-banner__inner {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 1.75rem;
	}
	.ft-import-banner__visual { max-width: 220px; margin: 0 auto; }
	.ft-import-banner__title { margin-left: auto; margin-right: auto; }
	.ft-import-banner__sub { margin-left: auto; margin-right: auto; }
	.ft-import-banner__chips { justify-content: center; }
}

/* === Flyer destacado TD ARTESANIA (entre carátulas y novedades) === */
.ft-td-flyer {
	padding: clamp(2.5rem, 5vw, 4rem) 0;
	background: #f5f6f8;
}
.ft-td-flyer__card {
	display: grid;
	grid-template-columns: 1fr;
	background: #1a1003;
	color: #fff;
	border-radius: 1.5rem;
	overflow: hidden;
	box-shadow: 0 20px 60px -20px rgba(0, 0, 0, 0.45);
	isolation: isolate;
}
@media (min-width: 992px) {
	.ft-td-flyer__card {
		grid-template-columns: 5fr 6fr;
		min-height: 440px;
	}
}

.ft-td-flyer__media {
	position: relative;
	min-height: 280px;
	overflow: hidden;
	background: #000;
	padding: clamp(1rem, 3vw, 2rem);
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Variante logo: fondo negro para resaltar el logo dorado TD Artesanía. */
.ft-td-flyer__media--logo {
	background: var(--ft-black, #0a0809);
	padding: clamp(2rem, 5vw, 3.5rem);
}
.ft-td-flyer__img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform 0.6s cubic-bezier(.2,.8,.2,1);
}
.ft-td-flyer__media--logo .ft-td-flyer__img {
	max-height: 240px;
	width: auto;
	filter: drop-shadow(0 12px 28px rgba(241, 196, 15, 0.35));
}
.ft-td-flyer__card:hover .ft-td-flyer__img { transform: scale(1.04); }
.ft-td-flyer__media-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(0, 0, 0, 0) 40%, rgba(217, 119, 6, 0.18) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.35) 100%);
	pointer-events: none;
}
@media (min-width: 992px) {
	.ft-td-flyer__media { min-height: 100%; }
}

.ft-td-flyer__body {
	padding: clamp(1.75rem, 3.5vw, 3rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
}
.ft-td-flyer__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	width: max-content;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	background: rgba(217, 119, 6, 0.18);
	border: 1px solid rgba(217, 119, 6, 0.4);
	color: #fbbf24;
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
}
.ft-td-flyer__eyebrow svg { color: var(--ft-yellow); }

.ft-td-flyer__title {
	font-size: clamp(1.6rem, 3.2vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0;
	color: #fff;
	text-wrap: balance;
}
.ft-td-flyer__title em {
	color: var(--ft-yellow);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow) 0%, #ffe066 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-td-flyer__sub {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.55;
	margin: 0;
	max-width: 44ch;
}

.ft-td-flyer__chips {
	list-style: none;
	padding: 0;
	margin: 0.5rem 0 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.6rem;
}
.ft-td-flyer__chip {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.65rem 0.85rem;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 0.85rem;
}
.ft-td-flyer__chip strong {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
}
.ft-td-flyer__chip span:not(.ft-td-flyer__chip-icon) {
	display: block;
	font-size: 0.72rem;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.2;
	margin-top: 2px;
}
.ft-td-flyer__chip-icon {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(217, 119, 6, 0.2);
	color: var(--ft-yellow);
	border-radius: 8px;
	font-size: 0.95rem;
}
.ft-td-flyer__chip--coming { opacity: 0.7; }
.ft-td-flyer__chip--coming strong::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background: var(--ft-yellow);
	border-radius: 50%;
	margin-left: 0.4rem;
	vertical-align: middle;
	animation: ft-td-pulse 1.6s ease-in-out infinite;
}
@keyframes ft-td-pulse {
	0%, 100% { opacity: 0.4; transform: scale(0.85); }
	50%      { opacity: 1;   transform: scale(1.1); }
}

.ft-td-flyer__actions {
	margin-top: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.ft-td-flyer__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.7rem 1.3rem;
	font-weight: 700;
	font-size: 0.92rem;
	border-radius: 999px;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ft-td-flyer__cta:hover { transform: translateY(-1px); }
.ft-td-flyer__cta--primary {
	--bs-btn-bg: var(--ft-yellow);
	--bs-btn-border-color: var(--ft-yellow);
	--bs-btn-color: var(--ft-black);
	--bs-btn-hover-bg: var(--ft-yellow-dark);
	--bs-btn-hover-border-color: var(--ft-yellow-dark);
	--bs-btn-hover-color: var(--ft-black);
}
.ft-td-flyer__cta--secondary {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
}
.ft-td-flyer__cta--secondary:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border-color: #fff;
}

@media (max-width: 575.98px) {
	.ft-td-flyer__chips { grid-template-columns: 1fr; }
	.ft-td-flyer__cta { width: 100%; justify-content: center; }
}

/* === 5. Benefits (4 value props) ================================ */
.ft-benefits {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: #fff;
}
.ft-benefit__icon {
	width: 5rem;
	height: 5rem;
	margin: 0 auto 1rem;
	color: var(--ft-yellow);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ft-benefit__icon svg { width: 100%; height: 100%; }
.ft-benefit__icon i.bi {
	font-size: 3.25rem;
	line-height: 1;
	display: inline-block;
}
.ft-benefit__title {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--ft-yellow-dark);
	margin: 0 0 0.5rem;
}
.ft-benefit__text {
	font-size: 0.9rem;
	color: #6c757d;
	line-height: 1.5;
	max-width: 16rem;
	margin: 0 auto;
}

/* --- WhatsApp button --- */
.ft-whatsapp-btn {
	font-weight: 600;
}

/* --- Misc cleanup --- */
.site-header {
	background: linear-gradient(180deg, #1f1b19 0%, #2a2421 100%);
	border-bottom: 1px solid rgba(241, 196, 15, 0.18);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
	color: #fff;
}
.site-header .navbar-brand,
.site-header a.navbar-brand { color: var(--ft-yellow) !important; }
.site-header .ft-header-btn {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.14) !important;
	color: #fff !important;
}
.site-header .ft-header-btn:hover,
.site-header .ft-header-btn:focus {
	background: var(--ft-yellow) !important;
	border-color: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
}
.site-header .ft-nav-search .ft-search-form {
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
.site-header .ft-currency-switch {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.15);
}
.site-header .ft-currency-switch__opt { color: rgba(255, 255, 255, 0.7); }
.site-header .ft-currency-switch__opt.is-active { color: var(--ft-black); }

/* --- Search embebida en navbar (desktop) --- */
.ft-nav-search {
	flex: 1 1 auto;
	max-width: 560px;
	margin: 0 1.25rem 0 4rem;
	display: flex;
	align-items: center;
}
@media (min-width: 1200px) {
	.ft-nav-search {
		margin-left: 6rem;
	}
}
@media (min-width: 1400px) {
	.ft-nav-search {
		margin-left: 8rem;
	}
}
.ft-nav-search .ft-search-form {
	width: 100%;
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 0.65rem;
	box-shadow: none;
}
/* Primer y último child toman las esquinas del form para reemplazar overflow:hidden */
.ft-nav-search .ft-search-form > *:first-child { border-top-left-radius: 0.65rem; border-bottom-left-radius: 0.65rem; }
.ft-nav-search .ft-search-form > *:last-child { border-top-right-radius: 0.65rem; border-bottom-right-radius: 0.65rem; }
.ft-nav-search .ft-search-form__cat {
	background: #fafafa;
	padding: 0 1.5rem 0 2rem;
}
.ft-nav-search .ft-search-form__cat-icon { left: 0.7rem; font-size: 0.8rem; }
.ft-nav-search .ft-search-form__select { padding: 0.55rem 0.4rem 0.55rem 0; font-size: 0.85rem; }
.ft-nav-search .ft-search-form__cat-chevron { right: 0.55rem; }
.ft-nav-search .ft-search-form__input { padding: 0.55rem 0.75rem 0.55rem 2.25rem; font-size: 0.88rem; }
.ft-nav-search .ft-search-form__input-icon { left: 0.8rem; font-size: 0.85rem; }
.ft-nav-search .ft-search-form__submit { padding: 0 1.1rem; font-size: 0.85rem; min-width: 44px; }

/* En mobile (< lg) no mostramos la search en navbar, queda en su propia franja */
@media (max-width: 991.98px) {
	.ft-nav-search { display: none; }
}

/* Bag icon del menú — visible en cualquier contexto (desktop y mobile) */
.ft-menu-bag {
	font-size: 1.15rem;
	color: var(--ft-yellow);
}
/* En desktop el item Tienda es solo el bag icon — agrandamos un poco y damos hover */
@media (min-width: 992px) {
	.ft-menu-tienda > .nav-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.4rem;
		height: 2.4rem;
		border-radius: 999px;
		background: rgba(241, 196, 15, 0.12);
		transition: background 0.15s ease, transform 0.15s ease;
	}
	.ft-menu-tienda > .nav-link:hover {
		background: var(--ft-yellow);
		transform: translateY(-1px);
	}
	.ft-menu-tienda > .nav-link:hover .ft-menu-bag { color: var(--ft-black); }
}

/* --- Search autocomplete dropdown --- */
.ft-search-form { position: relative; }
/* El form y sus ancestros deben permitir overflow del dropdown. */
.ft-nav-search,
.ft-header-search,
.ft-header-search > .container { overflow: visible !important; }

.ft-search-dropdown {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 0.75rem;
	box-shadow: 0 14px 36px rgba(10, 8, 9, 0.18);
	overflow: hidden;
	z-index: 99999;
	display: none;
	max-width: 100%;
}
.ft-search-dropdown.is-visible { display: block !important; }
.ft-search-dropdown__list {
	max-height: 440px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #d1d5db transparent;
}
.ft-search-dropdown__list::-webkit-scrollbar { width: 5px; }
.ft-search-dropdown__list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }

.ft-search-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.6rem 0.85rem;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid #f1f3f5;
	transition: background 0.12s ease;
}
.ft-search-item:last-child { border-bottom: 0; }
.ft-search-item:hover,
.ft-search-item.is-selected {
	background: rgba(241, 196, 15, 0.08);
}
.ft-search-item img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex-shrink: 0;
	background: #fafafa;
	border-radius: 0.35rem;
	padding: 2px;
}
.ft-search-item__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 2px;
}
.ft-search-item__cat {
	font-size: 0.68rem;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ft-search-item__title {
	font-size: 0.9rem;
	color: var(--ft-black);
	font-weight: 600;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ft-search-item__price {
	font-size: 0.85rem;
	color: var(--ft-yellow-dark);
	font-weight: 700;
}
.ft-search-item__price del { color: #9ca3af; font-weight: 500; margin-right: 0.3rem; font-size: 0.78rem; }
.ft-search-item__price ins { background: transparent; text-decoration: none; }

.ft-search-dropdown__loading,
.ft-search-dropdown__empty {
	padding: 1rem 1.25rem;
	text-align: center;
	color: #6c757d;
	font-size: 0.88rem;
}
.ft-search-dropdown__loading .spinner-border { margin-right: 0.4rem; color: var(--ft-yellow-dark) !important; }
.ft-search-dropdown__empty strong { color: var(--ft-black); }

.ft-search-dropdown__more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.8rem 1rem;
	background: #fafafa;
	border-top: 1px solid #e9ecef;
	color: var(--ft-black);
	font-weight: 700;
	font-size: 0.82rem;
	text-decoration: none;
	transition: all 0.12s ease;
}
.ft-search-dropdown__more:hover {
	background: var(--ft-yellow);
	color: var(--ft-black);
}
.ft-search-dropdown__more i { font-size: 0.75rem; }

/* --- Super buscador central (debajo de navbar, sólo mobile ahora) --- */
@media (min-width: 992px) {
	/* En desktop, el search se mueve al navbar vía JS — ocultamos la banda standalone
	   como defensa por si el JS no corre (evita duplicación). */
	.ft-header-search { display: none; }
}

.ft-header-search {
	background: linear-gradient(180deg, var(--ft-black) 0%, #1a1716 100%);
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--ft-yellow);
	position: relative;
	z-index: 1025;
}
.ft-search-form {
	display: flex;
	align-items: stretch;
	max-width: 900px;
	margin: 0 auto;
	background: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}
.ft-search-form__cat {
	position: relative;
	display: none;
	align-items: center;
	background: #f8f9fa;
	border-right: 1px solid #e9ecef;
	padding: 0 1.75rem 0 2.25rem;
	flex: 0 0 auto;
}
@media (min-width: 768px) {
	.ft-search-form__cat { display: flex; }
}
.ft-search-form__cat-icon {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ft-yellow-dark);
	font-size: 0.85rem;
	pointer-events: none;
}
.ft-search-form__select {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: transparent;
	padding: 0.85rem 0.5rem 0.85rem 0;
	font-size: 0.9rem;
	color: var(--ft-black);
	font-weight: 500;
	cursor: pointer;
	outline: none;
	width: auto;
	min-width: 0;
	text-overflow: clip;
}
.ft-search-form__cat-chevron {
	position: absolute;
	right: 0.7rem;
	top: 50%;
	transform: translateY(-50%);
	color: #9ca3af;
	font-size: 0.7rem;
	pointer-events: none;
}

.ft-search-form__input-wrap {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
}
.ft-search-form__input-icon {
	position: absolute;
	left: 1rem;
	color: #9ca3af;
	font-size: 0.95rem;
	pointer-events: none;
}
.ft-search-form__input {
	flex: 1;
	border: 0;
	outline: none;
	padding: 0.85rem 1rem 0.85rem 2.5rem;
	font-size: 0.95rem;
	color: var(--ft-black);
	background: transparent;
	width: 100%;
}
.ft-search-form__input::placeholder { color: #9ca3af; }
.ft-search-form__input:focus::placeholder { color: #d1d5db; }

.ft-search-form__submit {
	background: var(--ft-yellow);
	color: var(--ft-black);
	border: 0;
	padding: 0 1.5rem;
	font-weight: 500;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background 0.15s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	border-top-right-radius: 0.75rem;
	border-bottom-right-radius: 0.75rem;
}
.ft-search-form__submit:hover { background: var(--ft-yellow-dark); }

@media (max-width: 767px) {
	.ft-header-search { padding: 0.6rem 0; }
	.ft-search-form__input { padding-left: 2.25rem; font-size: 0.9rem; }
}

/* ══════════════════════════════════════════════
   OFFCANVAS (carrito, menú, mi cuenta)
   ══════════════════════════════════════════════ */
.offcanvas { --bs-offcanvas-bg: #fff; }
.ft-offcanvas { width: min(92vw, 400px) !important; }

/* Header negro con borde amarillo */
.ft-offcanvas-header,
.offcanvas-header.ft-offcanvas-header {
	background: var(--ft-black);
	color: #fff;
	padding: 1.1rem 1.25rem;
	border-bottom: 2px solid var(--ft-yellow);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ft-offcanvas-header .offcanvas-title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--ft-yellow) !important;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	margin: 0;
	line-height: 1.2;
}
.ft-offcanvas-header .offcanvas-title i {
	color: var(--ft-yellow);
	font-size: 1.35rem;
	width: 1.5rem;
	text-align: center;
	flex-shrink: 0;
}
.ft-offcanvas-header .offcanvas-title .ft-offcanvas-greeting {
	color: var(--ft-yellow);
}
.ft-offcanvas-header .btn-close {
	filter: invert(1) grayscale(1);
	opacity: 0.7;
	transition: opacity 0.15s ease;
}
.ft-offcanvas-header .btn-close:hover { opacity: 1; }

/* ── Body gris claro para contraste con cards blancas ── */
#offcanvas-user .offcanvas-body { background: #f4f5f7; padding: 1rem; }

/* ══════════════════════════════════════════════
   MI CUENTA — lista como cards
   ══════════════════════════════════════════════ */
#offcanvas-user .my-offcanvas-account .woocommerce-MyAccount-content,
#offcanvas-user .woocommerce-Tabs-panel.panel > h2,
#offcanvas-user .my-offcanvas-account form.woocommerce-EditAccountForm,
#offcanvas-user .my-offcanvas-account .woocommerce-MyAccount-paymentMethods,
#offcanvas-user .my-offcanvas-account .woocommerce-orders-table {
	display: none !important;
}
/* En el offcanvas no necesitamos el grid 2-cols: la sidebar tiene que ocupar
   100% del ancho y la columna de contenido se oculta (ya saludamos en el header). */
#offcanvas-user .ft-account__head { display: none !important; }
#offcanvas-user .ft-account__layout {
	display: block !important;
	margin: 0 !important;
}
#offcanvas-user .ft-account__layout > * { padding: 0 !important; }
#offcanvas-user .ft-account__sidebar-col {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}
#offcanvas-user .ft-account__layout > .col-lg-8,
#offcanvas-user .ft-account__layout > .col-xl-9 {
	display: none !important;
}
#offcanvas-user .woocommerce-MyAccount-navigation {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	width: 100%;
}
#offcanvas-user .woocommerce-MyAccount-navigation ul,
#offcanvas-user .woocommerce-MyAccount-navigation .list-group {
	list-style: none;
	padding: 0;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
#offcanvas-user .woocommerce-MyAccount-navigation li {
	list-style: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}
#offcanvas-user .woocommerce-MyAccount-navigation li a {
	display: flex !important;
	align-items: center;
	gap: 0.85rem;
	padding: 0.95rem 1.1rem;
	background: #ffffff !important;
	color: var(--ft-black) !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 0.98rem;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
	position: relative;
}
#offcanvas-user .woocommerce-MyAccount-navigation li a i.fa-solid {
	color: var(--ft-yellow-dark, #b08500);
	font-size: 1.05rem;
	width: 1.5rem;
	text-align: center;
	flex-shrink: 0;
}
#offcanvas-user .woocommerce-MyAccount-navigation li a > span {
	flex: 1;
}
/* Flecha derecha via pseudo */
#offcanvas-user .woocommerce-MyAccount-navigation li a::after {
	content: "\f054"; /* fa-chevron-right */
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 900;
	color: #9ca3af;
	font-size: 0.85rem;
	transition: transform 0.15s ease, color 0.15s ease;
	margin-left: auto;
}
#offcanvas-user .woocommerce-MyAccount-navigation li a:hover,
#offcanvas-user .woocommerce-MyAccount-navigation li.is-active a,
#offcanvas-user .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a:hover {
	border-color: var(--ft-yellow) !important;
	box-shadow: 0 4px 12px -6px rgba(240, 180, 0, 0.25);
	transform: translateX(2px);
}
#offcanvas-user .woocommerce-MyAccount-navigation li a:hover::after {
	color: var(--ft-black);
	transform: translateX(3px);
}

/* Logout — destacado rojo */
#offcanvas-user .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px dashed #e5e7eb;
}
#offcanvas-user .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	background: #fef2f2 !important;
	color: #dc2626 !important;
	border-color: #fecaca !important;
	font-weight: 700;
}
#offcanvas-user .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a i.fa-solid {
	color: #dc2626;
}
#offcanvas-user .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::after {
	content: "\f2f5"; /* fa-arrow-right-from-bracket */
	color: #dc2626;
}
#offcanvas-user .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: #fee2e2 !important;
	border-color: #dc2626 !important;
	box-shadow: 0 4px 12px -6px rgba(220, 38, 38, 0.3);
}

/* Usuario no logueado: formulario de login/register limpio */
#offcanvas-user .u-columns,
#offcanvas-user .woocommerce form.login,
#offcanvas-user .woocommerce form.register {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 1.25rem;
}

/* Menú principal — estilos sólo cuando actúa como offcanvas real (< lg) */
@media (max-width: 991.98px) {
	#offcanvas-navbar {
		width: min(88vw, 360px) !important;
	}
	#offcanvas-navbar .offcanvas-body {
		background: var(--ft-black);
		color: #fff;
		padding: 1.25rem 1rem;
	}
	#offcanvas-navbar .offcanvas-body ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	#offcanvas-navbar .offcanvas-body .nav-item { display: block; }
	#offcanvas-navbar .offcanvas-body a,
	#offcanvas-navbar .offcanvas-body .nav-link {
		color: rgba(255, 255, 255, 0.88);
		text-decoration: none;
		padding: 0.85rem 0.25rem;
		display: flex;
		align-items: center;
		gap: 0.6rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		font-weight: 500;
		font-size: 0.98rem;
		transition: color 0.2s ease, padding-left 0.2s ease;
	}
	#offcanvas-navbar .offcanvas-body a:hover,
	#offcanvas-navbar .offcanvas-body .nav-link:hover,
	#offcanvas-navbar .offcanvas-body .current-menu-item > a {
		color: var(--ft-yellow);
		padding-left: 0.65rem;
	}
	/* Tienda en mobile muestra el texto; el bag queda como ícono al inicio */
	#offcanvas-navbar .ft-menu-tienda .ft-menu-label {
		position: static !important;
		width: auto !important;
		height: auto !important;
		clip: auto !important;
		overflow: visible !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	#offcanvas-navbar .ft-menu-bag {
		color: var(--ft-yellow);
		width: 1.25rem;
		text-align: center;
	}
}

/* Hide external search band when any offcanvas is open (evita verlo
   a través del backdrop semi-transparente). */
body:has(.offcanvas.show) .ft-header-search,
body:has(.offcanvas.showing) .ft-header-search {
	visibility: hidden;
}
/* Desktop: navbar inline, sin offcanvas-header negra */
@media (min-width: 992px) {
	#offcanvas-navbar .offcanvas-header,
	.navbar-expand-lg #offcanvas-navbar .offcanvas-header { display: none !important; }
	#offcanvas-navbar .offcanvas-body { background: transparent !important; padding: 0 !important; }
	/* Items marcados como "hide on desktop" (Inicio, Quiénes Somos, Contacto) */
	.ft-menu-desktop-hide { display: none !important; }
	/* En desktop "Tienda" muestra sólo el bag icon, label oculto (visually hidden) */
	.ft-menu-tienda .ft-menu-label {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}
	#offcanvas-navbar .nav-link {
		font-weight: 600;
		color: var(--ft-black);
		padding: 0.5rem 0.85rem !important;
		position: relative;
		transition: color 0.15s ease;
	}
	#offcanvas-navbar .nav-link:hover,
	#offcanvas-navbar .nav-link.active,
	#offcanvas-navbar .current-menu-item .nav-link {
		color: var(--ft-yellow-dark);
	}
	#offcanvas-navbar .nav-link.active::after,
	#offcanvas-navbar .current-menu-item .nav-link::after {
		content: '';
		position: absolute;
		left: 0.85rem;
		right: 0.85rem;
		bottom: 0.15rem;
		height: 2px;
		background: var(--ft-yellow);
		border-radius: 2px;
	}
}

/* Cart offcanvas — refinamiento */
#offcanvas-cart .cart-list { background: #fff; }
#offcanvas-cart .woocommerce-mini-cart-item,
#offcanvas-cart .mini_cart_item {
	padding: 1rem 1.25rem;
	border-bottom: 1px solid #f1f3f5;
}
#offcanvas-cart .widget_shopping_cart .total,
#offcanvas-cart .woocommerce-mini-cart__total {
	padding: 0.85rem 1.25rem;
	background: #f8f9fa;
	border-top: 1px solid #e9ecef;
	font-weight: 600;
	margin: 0;
}
#offcanvas-cart .woocommerce-mini-cart__total .amount,
#offcanvas-cart .woocommerce-Price-amount {
	color: var(--ft-black);
	font-weight: 700;
}
#offcanvas-cart .buttons {
	padding: 0.85rem 1rem 1rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.4rem;
	margin: 0;
}
#offcanvas-cart .buttons .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	padding: 0.5rem 0.5rem;
	font-weight: 600;
	font-size: 0.78rem;
	line-height: 1.15;
	border-radius: 999px;
	text-decoration: none;
	border: 1px solid transparent;
	transition: all 0.15s ease;
	white-space: nowrap;
	cursor: pointer;
	min-width: 0;
}
#offcanvas-cart .buttons .button i { font-size: 0.78rem; }

/* "Ver carrito" + "Seguir comprando" comparten la fila de arriba */
.ft-mini-cart__btn--view,
.ft-mini-cart__btn--continue {
	background: #fff;
	color: var(--ft-black);
	border-color: #e5e7eb;
}
.ft-mini-cart__btn--view:hover,
.ft-mini-cart__btn--continue:hover {
	border-color: var(--ft-black);
	background: #f8f9fa;
	color: var(--ft-black);
}

/* "Finalizar compra" full-width amarillo */
#offcanvas-cart .buttons .checkout {
	grid-column: 1 / -1;
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-weight: 700;
	font-size: 0.85rem;
	padding: 0.65rem 0.8rem;
}
#offcanvas-cart .buttons .checkout:hover {
	background: var(--ft-yellow-dark);
	color: var(--ft-black);
	transform: translateY(-1px);
	box-shadow: 0 8px 18px -6px rgba(241, 196, 15, 0.55);
}
/* Fallback para .wc-forward view-cart si aparece (bootscore) */
#offcanvas-cart .buttons .wc-forward:not(.checkout) {
	background: #fff;
	color: var(--ft-black);
	border-color: #e5e7eb;
}
#offcanvas-cart .buttons .wc-forward:not(.checkout):hover {
	border-color: var(--ft-black);
	background: #f8f9fa;
}
#offcanvas-cart .woocommerce-mini-cart__empty-message {
	padding: 3rem 1.5rem;
	text-align: center;
	color: #6c757d;
}

/* User (mi cuenta) offcanvas — ocultar contenido de sección, mostrar nav */
#offcanvas-user .woocommerce-MyAccount-content,
#offcanvas-user .woocommerce-Tabs-panel.panel > h2 {
	display: none !important;
}
#offcanvas-user .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
#offcanvas-user .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.85rem 1.25rem;
	color: var(--ft-black);
	text-decoration: none;
	border-bottom: 1px solid #f1f3f5;
	font-weight: 500;
}
#offcanvas-user .woocommerce-MyAccount-navigation li.is-active a,
#offcanvas-user .woocommerce-MyAccount-navigation li a:hover {
	background: rgba(241, 196, 15, 0.1);
	color: var(--ft-black);
	border-left: 1px solid var(--ft-yellow);
	padding-left: calc(1.25rem - 3px);
}

/* --- Header action buttons (cart, user, search, menu) --- */
.ft-header-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: transparent;
	border: 1px solid #e9ecef;
	border-radius: 0.55rem;
	padding: 0.5rem 0.75rem;
	color: var(--ft-black);
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.15s ease;
	position: relative;
	line-height: 1;
}
.ft-header-btn:hover,
.ft-header-btn:focus {
	background: var(--ft-black);
	border-color: var(--ft-black);
	color: #fff;
	outline: none;
}
.ft-header-btn .ft-header-icon {
	display: block;
	flex-shrink: 0;
	stroke: currentColor;
}

/* Cart badge + total — bootscore mete .cart-content-count (absolute via utility)
   + .cart-total (inline) dentro de .cart-content. */
.cart-toggler .cart-content {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	line-height: 1;
}
.cart-toggler .cart-content-count,
.cart-toggler span.cart-content-count {
	/* Pisamos los estilos de BS badge para que matchee nuestra escala */
	min-width: 18px;
	height: 18px;
	padding: 0 0.3rem;
	background: #dc3545 !important;
	color: #fff !important;
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	border: 2px solid #fff;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	/* Badge anclado al borde izquierdo-superior de .cart-content, que sitúa justo
	   después del ícono. Así queda en la esquina top-right del ícono sin importar
	   si el .cart-total aparece al lado (desktop) o no (mobile). */
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	bottom: auto !important;
	transform: translate(-55%, -40%) !important;
}
.cart-toggler .cart-total {
	font-size: 0.85rem;
	font-weight: 700;
	color: inherit;
	white-space: nowrap;
	margin-left: 0.4rem;
}
/* En mobile ocultamos el total para ahorrar espacio (bootscore ya tiene d-none d-md-inline) */
@media (max-width: 767px) {
	.ft-header-btn { padding: 0.45rem 0.55rem; }
}

/* Hamburguesa mobile — que matchee estilo */
.ft-header-btn--nav-toggler i.fa-solid.fa-bars {
	/* Reemplazamos el icono FA con SVG outline vía pseudo-element */
	font-size: 0;
	position: relative;
	width: 22px;
	height: 22px;
	display: inline-block;
}
.ft-header-btn--nav-toggler i.fa-solid.fa-bars::before {
	content: '';
	position: absolute;
	inset: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'><line x1='4' y1='7' x2='20' y2='7'/><line x1='4' y1='12' x2='20' y2='12'/><line x1='4' y1='17' x2='20' y2='17'/></svg>") no-repeat center/20px 20px;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'><line x1='4' y1='7' x2='20' y2='7'/><line x1='4' y1='12' x2='20' y2='12'/><line x1='4' y1='17' x2='20' y2='17'/></svg>") no-repeat center/20px 20px;
}

/* Navbar brand — constrain logo size (el FT-logo.png viene de 2141x371) */
.navbar-brand {
	flex-shrink: 0;
	padding: 0.25rem 0;
	margin-right: auto;
}
.navbar-brand img {
	max-height: 44px;
	width: auto;
	height: auto;
	display: block;
}
/* Bootscore mete 2 <img> (light/dark theme). Usamos solo la primera. */
.navbar-brand img + img { display: none !important; }
@media (max-width: 991px) {
	.navbar-brand { padding: 0.15rem 0; }
	.navbar-brand img { max-height: 28px; }
	.navbar, #nav-main.navbar { padding-top: 0.4rem; padding-bottom: 0.4rem; min-height: 56px; }
	.navbar .navbar-toggler { padding: 0.35rem 0.5rem; }
	.navbar .bi, .navbar .fa { font-size: 1.15rem; }
}

/* --- Checkout multi-step --- */
.ft-checkout-wrap { max-width: 1200px; margin: 0 auto; padding: 2rem 1rem 4rem; }

.ft-checkout-grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 2rem;
	align-items: start;
}
@media (max-width: 991px) {
	.ft-checkout-grid { grid-template-columns: 1fr; }
}

/* Progress bar */
.ft-checkout-progress {
	background: var(--ft-black);
	border-radius: 1rem;
	padding: 1.25rem 1.5rem;
	margin-bottom: 1.75rem;
}
.ft-progress-steps {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}
.ft-progress-line {
	flex: 1;
	height: 2px;
	background: rgba(255, 255, 255, 0.15);
	transition: background 0.3s ease;
}
.ft-progress-line.active { background: var(--ft-yellow); }

.ft-progress-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.ft-progress-step .ft-step-circle {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.4);
	transition: all 0.3s ease;
}
.ft-progress-step .ft-step-label {
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(255, 255, 255, 0.35);
	transition: color 0.3s ease;
}
.ft-progress-step.active .ft-step-circle {
	background: rgba(241, 196, 15, 0.15);
	border-color: var(--ft-yellow);
	color: var(--ft-yellow);
}
.ft-progress-step.active .ft-step-label { color: rgba(255, 255, 255, 0.9); }
.ft-progress-step.completed .ft-step-circle {
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
	color: var(--ft-black);
}

/* Step cards */
.ft-step--hidden { display: none !important; }

.ft-step-card {
	background: #fff;
	border-radius: 1rem;
	border: 1px solid #e9ecef;
	overflow: hidden;
	box-shadow: 0 2px 16px rgba(10, 8, 9, 0.06);
}
.ft-step-header {
	background: var(--ft-black);
	padding: 1.25rem 1.5rem;
	position: relative;
	overflow: hidden;
	color: #fff;
}
.ft-step-header::after {
	content: attr(data-num);
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 3.5rem;
	font-weight: 900;
	color: rgba(255, 255, 255, 0.04);
	line-height: 1;
	pointer-events: none;
}
.ft-step-num {
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--ft-yellow);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	display: block;
	margin-bottom: 4px;
}
.ft-step-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 2px;
}
.ft-step-sub {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}
.ft-step-body { padding: 1.25rem 1.5rem; text-align: left; }
.ft-step-body h2,
.ft-step-body h3,
.ft-step-body h4,
.ft-step-body label,
.ft-step-body p,
.ft-step-body legend { text-align: left; }
.ft-step-nav {
	display: flex;
	gap: 12px;
	padding: 1.25rem 1.5rem;
	border-top: 1px solid #e9ecef;
	background: #fafafa;
}
.ft-btn-next { margin-left: auto; }

/* Login notice */
.ft-login-notice {
	display: flex;
	gap: 8px;
	font-size: 0.9rem;
	color: #6c757d;
	margin-bottom: 1.25rem;
}
.ft-login-notice a {
	color: var(--ft-yellow-dark);
	font-weight: 600;
}

/* WC billing/shipping fields adaptados a BS */
.ft-step-body .woocommerce-billing-fields,
.ft-step-body .woocommerce-shipping-fields,
.ft-step-body .woocommerce-additional-fields {
	margin-bottom: 0;
}
.ft-step-body h3 {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6c757d;
	margin: 1rem 0 0.65rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid #f0f1f3;
}
.ft-step-body h3:first-child { margin-top: 0; }

/* Grid: campos cortos (postcode/state/city) en 2 columnas en >sm */
.ft-step-body .woocommerce-billing-fields__field-wrapper,
.ft-step-body .woocommerce-shipping-fields__field-wrapper,
.ft-step-body .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 0.75rem;
}
@media (max-width: 575.98px) {
	.ft-step-body .woocommerce-billing-fields__field-wrapper,
	.ft-step-body .woocommerce-shipping-fields__field-wrapper,
	.ft-step-body .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
}
.ft-step-body .form-row {
	margin-bottom: 0.75rem;
}
/* Campos largos ocupan toda la fila */
.ft-step-body .form-row.form-row-wide,
.ft-step-body .form-row.notes,
.ft-step-body .form-row#order_comments_field,
.ft-step-body .form-row#billing_address_1_field,
.ft-step-body .form-row#billing_address_2_field,
.ft-step-body .form-row#shipping_address_1_field,
.ft-step-body .form-row#shipping_address_2_field,
.ft-step-body .form-row#billing_email_field,
.ft-step-body .form-row#shipping_company_field,
.ft-step-body .form-row#billing_company_field {
	grid-column: 1 / -1;
}
.ft-step-body .form-row label {
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	margin-bottom: 4px;
	color: #495057;
	letter-spacing: 0.01em;
}
.ft-step-body .form-row label .required,
.ft-step-body .form-row label abbr.required {
	color: #dc3545;
	text-decoration: none;
	border: 0;
}
.ft-step-body .woocommerce-input-wrapper input,
.ft-step-body .woocommerce-input-wrapper select,
.ft-step-body .woocommerce-input-wrapper textarea,
.ft-step-body .select2-selection {
	width: 100%;
	padding: 0.55rem 0.8rem !important;
	border: 1px solid #dee2e6;
	border-radius: 0.5rem;
	font-size: 0.9rem;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	height: auto !important;
	line-height: 1.3;
}
.ft-step-body .select2-selection { min-height: 38px; }
.ft-step-body .select2-selection__rendered { line-height: 26px !important; padding-left: 0 !important; }
.ft-step-body .select2-selection__arrow { height: 36px !important; }
.ft-step-body .woocommerce-input-wrapper input:focus,
.ft-step-body .woocommerce-input-wrapper select:focus,
.ft-step-body .woocommerce-input-wrapper textarea:focus {
	outline: none;
	border-color: var(--ft-yellow);
	box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.2);
}
.ft-step-body .ft-input--error,
.ft-step-body input.ft-input--error {
	border-color: #dc3545 !important;
	background: #fff5f5 !important;
}

/* Shipping wrapper */
#ft-shipping-wrapper .woocommerce-shipping-methods {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#ft-shipping-wrapper .woocommerce-shipping-methods li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid #dee2e6;
	border-radius: 0.75rem;
	cursor: pointer;
	background: #fff;
	transition: all 0.2s ease;
	position: relative;
}
#ft-shipping-wrapper .woocommerce-shipping-methods li:hover {
	border-color: rgba(241, 196, 15, 0.5);
	background: rgba(241, 196, 15, 0.02);
}
#ft-shipping-wrapper .woocommerce-shipping-methods li.is-selected {
	border-color: var(--ft-yellow);
	background: rgba(241, 196, 15, 0.05);
	box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.1);
}
#ft-shipping-wrapper .woocommerce-shipping-methods li label {
	margin: 0;
	cursor: pointer;
	flex: 1;
	font-weight: 600;
	color: var(--ft-black);
}
#ft-shipping-wrapper input[name^="shipping_method"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}
.ft-shipping-loading {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #6c757d;
	font-size: 0.9rem;
	padding: 1rem 0;
}
.ft-shipping--error { border: 1px solid #dc3545 !important; border-radius: 0.75rem; padding: 1rem; }

/* Confirm step */
.ft-confirm-info {
	background: #fff8e1;
	border: 1px solid #f1c40f55;
	border-radius: 0.75rem;
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
}
.ft-confirm-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* Payment section: solo COD, esconder lo superfluo */
.ft-payment-wrap .wc_payment_methods { list-style: none; padding: 0; margin: 0 0 1rem; }
.ft-payment-wrap .wc_payment_method {
	background: #f8f9fa;
	border-radius: 0.5rem;
	padding: 0.75rem 1rem;
	margin-bottom: 0.5rem;
}
.ft-payment-wrap .wc_payment_method > label {
	font-weight: 700;
	color: var(--ft-black);
}
.ft-payment-wrap .payment_box {
	background: transparent !important;
	padding: 0.5rem 0 0 !important;
	color: #6c757d;
	font-size: 0.9rem;
}
.ft-payment-wrap .payment_box::before { display: none !important; }
.ft-payment-wrap input[type="radio"] { display: none; }
.ft-payment-wrap .terms { margin: 1rem 0; }

/* Summary panel */
.ft-checkout-summary-col { position: sticky; top: 2rem; }
.ft-order-summary {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 2px 16px rgba(10, 8, 9, 0.06);
}
.ft-summary-header {
	background: var(--ft-black);
	padding: 1rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #fff;
}
.ft-summary-title {
	font-size: 0.9rem;
	font-weight: 700;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.ft-summary-toggle {
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.6);
	cursor: pointer;
	padding: 4px;
}
.ft-summary-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.woocommerce-checkout-review-order-table {
	width: 100%;
	font-size: 0.88rem;
	border-collapse: collapse;
}
/* Truco width:1% + nowrap solo funciona con table-layout AUTO (default). */
.woocommerce-checkout-review-order-table thead th:last-child,
.woocommerce-checkout-review-order-table tbody td:last-child,
.woocommerce-checkout-review-order-table tfoot td {
	width: 1%;
	white-space: nowrap;
	text-align: right;
}
.woocommerce-checkout-review-order-table thead th {
	padding: 10px 14px;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6c757d;
	border-bottom: 1px solid #e9ecef;
	font-weight: 600;
	white-space: nowrap;
}
.woocommerce-checkout-review-order-table tbody td {
	padding: 10px 14px;
	border-bottom: 1px solid rgba(222, 226, 230, 0.5);
	vertical-align: top;
	color: var(--ft-black);
	word-break: break-word;
}
.woocommerce-checkout-review-order-table tbody td.product-name {
	font-size: 0.85rem;
	line-height: 1.35;
}
.woocommerce-checkout-review-order-table tbody td.product-name .product-quantity {
	color: #6c757d;
	font-weight: 500;
}
.woocommerce-checkout-review-order-table tbody td.product-total {
	text-align: right;
	font-weight: 600;
	font-size: 0.88rem;
}
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	padding: 8px 14px;
	font-size: 0.83rem;
	color: #6c757d;
	border-bottom: 1px solid rgba(222, 226, 230, 0.4);
}
.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	color: var(--ft-black);
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--ft-black);
	border-top: 1px solid #e9ecef;
	border-bottom: none;
}
/* Reducir el "Subtotal" header de tabla en pantallas chicas para que respire */
@media (max-width: 380px) {
	.woocommerce-checkout-review-order-table { font-size: 0.82rem; }
	.woocommerce-checkout-review-order-table thead th { font-size: 0.65rem; padding: 8px 10px; }
	.woocommerce-checkout-review-order-table tbody td,
	.woocommerce-checkout-review-order-table tfoot th,
	.woocommerce-checkout-review-order-table tfoot td { padding: 8px 10px; }
}
.ft-summary-free { color: #16a34a; font-weight: 600; }

/* Coupon dentro del summary */
.ft-summary-coupon {
	border-top: 1px solid #e9ecef;
	margin-top: 0;
	padding: 0;
	background: #fafafa;
}
.ft-summary-coupon__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: transparent;
	border: 0;
	padding: 0.85rem 1.25rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--ft-black);
	cursor: pointer;
	transition: background 0.15s ease;
}
.ft-summary-coupon__toggle:hover { background: #f3f4f6; }
.ft-summary-coupon__toggle i.fa-ticket {
	color: var(--ft-yellow-dark);
	margin-right: 0.4rem;
}
.ft-summary-coupon__chevron {
	transition: transform 0.2s ease;
	font-size: 0.75rem;
	color: #9ca3af;
}
.ft-summary-coupon__toggle[aria-expanded="true"] .ft-summary-coupon__chevron {
	transform: rotate(180deg);
}
.ft-summary-coupon__panel {
	padding: 0 1.25rem 1rem;
}
.ft-summary-coupon__row {
	display: flex;
	gap: 0.4rem;
}
.ft-summary-coupon__input {
	flex: 1;
	min-width: 0;
	padding: 0.5rem 0.75rem !important;
	border: 1px solid #dee2e6;
	border-radius: 0.5rem;
	font-size: 0.88rem;
	background: #fff;
}
.ft-summary-coupon__input:focus {
	outline: none;
	border-color: var(--ft-yellow);
	box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.15);
}
.ft-summary-coupon__btn {
	flex: 0 0 auto;
	padding: 0.5rem 1rem;
	background: var(--ft-black);
	color: #fff;
	border: 0;
	border-radius: 0.5rem;
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}
.ft-summary-coupon__btn:hover:not(:disabled) {
	background: var(--ft-yellow);
	color: var(--ft-black);
}
.ft-summary-coupon__btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
.ft-summary-coupon__msg {
	margin-top: 0.5rem;
	padding: 0.4rem 0.6rem;
	font-size: 0.78rem;
	border-radius: 0.4rem;
	line-height: 1.4;
}
.ft-summary-coupon__msg.is-error {
	background: #fef2f2;
	color: #b91c1c;
	border: 1px solid #fecaca;
}
.ft-summary-coupon__msg.is-success {
	background: #f0fdf4;
	color: #15803d;
	border: 1px solid #bbf7d0;
}

@media (max-width: 991px) {
	.ft-summary-body { display: none; }
	.ft-summary-body.ft-summary-body--open { display: block; }
}

/* ========================================================
   SHOP HERO — banner con imagen + título + filtros activos
   ======================================================== */
.ft-shop-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4rem);
	background: linear-gradient(135deg, var(--ft-black) 0%, #1a1716 50%, #2a2421 100%);
	color: #fff;
	margin-bottom: 0;
	text-align: center;
}
.ft-shop-hero__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 35%;
	z-index: 0;
	opacity: 0.9;
	filter: saturate(1.15) contrast(1.08) brightness(0.95);
	transform: scale(1.05);
}
.ft-shop-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(135deg, rgba(10, 8, 9, 0.8) 0%, rgba(10, 8, 9, 0.55) 55%, rgba(10, 8, 9, 0.75) 100%),
		radial-gradient(circle at 85% 20%, rgba(241, 196, 15, 0.18) 0%, transparent 55%);
}
/* Cuando hay imagen real: overlay liviano y degrade de abajo para que la imagen se vea pero el texto siga legible. */
.ft-shop-hero--has-bg .ft-shop-hero__overlay {
	background:
		linear-gradient(180deg, rgba(10, 8, 9, 0.15) 0%, rgba(10, 8, 9, 0.05) 35%, rgba(10, 8, 9, 0.55) 100%),
		radial-gradient(circle at 50% 60%, transparent 0%, rgba(10, 8, 9, 0.35) 100%);
}
.ft-shop-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Breadcrumb dentro del hero: pill con contraste sobre fondo oscuro */
.ft-shop-hero__breadcrumb {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-bottom: 1rem;
	position: relative;
	z-index: 3;
}
.ft-shop-hero__breadcrumb .wc-breadcrumb,
.ft-shop-hero__breadcrumb .woocommerce-breadcrumb,
.ft-shop-hero__breadcrumb > nav {
	background: rgba(0, 0, 0, 0.45) !important;
	backdrop-filter: blur(12px) saturate(150%);
	-webkit-backdrop-filter: blur(12px) saturate(150%);
	padding: 0.55rem 1.1rem !important;
	margin: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 999px !important;
	font-size: 0.85rem;
	color: #ffffff !important;
	text-align: center;
	display: inline-flex !important;
	align-items: center;
	gap: 0.4rem;
	letter-spacing: 0.01em;
	max-width: 100%;
	overflow-x: auto;
	white-space: nowrap;
}
.ft-shop-hero__breadcrumb .breadcrumb {
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.3rem;
}
.ft-shop-hero__breadcrumb a {
	color: rgba(255, 255, 255, 0.88) !important;
	text-decoration: none !important;
	font-weight: 500;
	transition: color 0.15s ease;
}
.ft-shop-hero__breadcrumb a:hover { color: var(--ft-yellow) !important; }
.ft-shop-hero__breadcrumb i,
.ft-shop-hero__breadcrumb .bi,
.ft-shop-hero__breadcrumb .fa,
.ft-shop-hero__breadcrumb svg { color: var(--ft-yellow) !important; }
.ft-shop-hero__breadcrumb ol { margin: 0 !important; padding: 0 !important; background: transparent !important; }
.ft-shop-hero__breadcrumb .breadcrumb-item,
.ft-shop-hero__breadcrumb > nav,
.ft-shop-hero__breadcrumb > nav * { color: #ffffff !important; }
.ft-shop-hero__breadcrumb .breadcrumb-item.active,
.ft-shop-hero__breadcrumb span:last-child { color: var(--ft-yellow) !important; font-weight: 600; }
/* Separador Woo default es " / " dentro de <nav>; mejorar visibilidad */
.ft-shop-hero__breadcrumb > nav {
	gap: 0.5rem;
}
.ft-shop-hero__breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	color: rgba(255, 255, 255, 0.45) !important;
	content: "›" !important;
	padding: 0 0.35rem;
}

.ft-shop-hero__eyebrow {
	display: inline-block;
	background: rgba(241, 196, 15, 0.15);
	border: 1px solid rgba(241, 196, 15, 0.35);
	color: var(--ft-yellow);
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.75rem;
}
.ft-shop-hero__title {
	font-size: clamp(1.875rem, 4.5vw, 3.25rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
	color: #fff;
	margin: 0 auto;
	max-width: 720px;
}
.ft-shop-hero__title::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: var(--ft-yellow);
	border-radius: 2px;
	margin: 1rem auto 0;
}
.ft-shop-hero__count {
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.75);
	margin: 1rem auto 0;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0.9rem;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	backdrop-filter: blur(4px);
}
.ft-shop-hero__count strong { color: var(--ft-yellow); font-weight: 700; }
.ft-shop-hero__count i { color: var(--ft-yellow); font-size: 0.9rem; }

/* --- Shop archive content --- */
.ft-shop {
	padding: 0 0 4rem;
}

/* ========================================================
   SHOP TOOLBAR — filtros activos + sort (debajo del hero)
   ======================================================== */
.ft-shop-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}
.ft-shop-toolbar__count {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.95rem;
	color: var(--ft-black);
	font-weight: 500;
	letter-spacing: -0.01em;
}
.ft-shop-toolbar__count i.bi {
	font-size: 1.25rem;
	color: var(--ft-yellow-dark, #c69a1d);
	line-height: 1;
}
.ft-shop-toolbar__count strong {
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--ft-yellow-dark, #c69a1d);
}
.ft-shop-toolbar__active {
	flex: 1;
	min-width: 0;
}
.ft-shop-toolbar__active:empty { display: none; }
.ft-shop-toolbar__active .wcapf-active-filters {
	margin: 0;
}
.ft-shop-toolbar__active .wcapf-active-filters-item,
.ft-shop-toolbar__active a.wcapf-active-filter-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: rgba(241, 196, 15, 0.15);
	color: var(--ft-black);
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	margin: 0 0.35rem 0.35rem 0;
	text-decoration: none;
	border: 1px solid rgba(241, 196, 15, 0.5);
	transition: all 0.15s ease;
}
.ft-shop-toolbar__active .wcapf-active-filters-item:hover,
.ft-shop-toolbar__active a.wcapf-active-filter-item:hover {
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
}
.ft-shop-toolbar__active .wcapf-clear-all,
.ft-shop-toolbar__active .wcapf-clear-all-btn {
	color: #dc3545;
	text-decoration: underline;
	font-size: 0.8rem;
	font-weight: 600;
	margin-left: 0.5rem;
}

.ft-shop-toolbar__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
	margin-left: auto;
}
.ft-shop-toolbar__sort {
	align-items: center;
	gap: 0.5rem;
}
.ft-shop-toolbar__sort-label {
	font-size: 0.85rem;
	color: #6c757d;
	font-weight: 600;
	margin: 0;
	white-space: nowrap;
}
.ft-shop-toolbar__sort .woocommerce-ordering {
	margin: 0 !important;
	float: none !important;
}
.ft-shop-toolbar__sort select.orderby {
	border: 1px solid #e9ecef;
	border-radius: 0.6rem;
	padding: 0.55rem 2.25rem 0.55rem 0.85rem;
	font-size: 0.88rem;
	font-weight: 600;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230a0809'%3E%3Cpath d='M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 11.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z'/%3E%3C/svg%3E") no-repeat right 0.75rem center/12px 12px;
	color: var(--ft-black);
	cursor: pointer;
	min-width: 200px;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color 0.15s ease;
}
.ft-shop-toolbar__sort select.orderby:hover,
.ft-shop-toolbar__sort select.orderby:focus {
	border-color: var(--ft-yellow);
	outline: none;
}

.ft-shop__layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 2rem;
	align-items: start;
}
@media (max-width: 991px) {
	.ft-shop__layout { grid-template-columns: 1fr; }
}

/* Sidebar de filtros */
@media (min-width: 992px) {
	.ft-shop__sidebar { position: sticky; top: 6rem; }
}
/* En desktop, offcanvas-lg NO debe comportarse como offcanvas — anulamos display:flex del body */
@media (min-width: 992px) {
	#ft-shop-filters.ft-shop__sidebar.offcanvas-lg {
		position: sticky;
		top: 6rem;
		background: transparent;
		visibility: visible !important;
		transform: none !important;
		display: block !important;
	}
	/* Bootstrap 5.3 pone `.offcanvas-lg .offcanvas-body { display: flex }` en desktop.
	   Forzamos block para que el heading + chips + form se apilen en columna. */
	#ft-shop-filters.ft-shop__sidebar.offcanvas-lg > .offcanvas-body,
	#ft-shop-filters > .offcanvas-body {
		display: block !important;
		padding: 1.25rem !important;
		overflow: visible !important;
		background: #fff !important;
		border: 1px solid #e9ecef;
		border-radius: 1rem;
	}
}

/* Mobile toolbar (Ordenar + Filtrar) — sticky bottom bar estilo marketplace */
@media (max-width: 991.98px) {
	.ft-shop-toolbar__mobile {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1030;
		display: flex;
		gap: 0.5rem;
		padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom, 0px));
		background: rgba(255, 255, 255, 0.92);
		backdrop-filter: saturate(180%) blur(14px);
		-webkit-backdrop-filter: saturate(180%) blur(14px);
		border-top: 1px solid rgba(0, 0, 0, 0.06);
		box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.06);
		transform: translateY(0);
		transition: transform 0.25s ease, opacity 0.2s ease;
	}

	/* Oculto cuando el usuario scrollea hacia abajo */
	.ft-shop-toolbar__mobile.is-hidden {
		transform: translateY(110%);
	}

	/* Al abrir cualquier offcanvas (filtros / ordenar / menú / carrito) ocultar la barra */
	body:has(.offcanvas.show) .ft-shop-toolbar__mobile,
	body:has(.offcanvas.showing) .ft-shop-toolbar__mobile {
		opacity: 0;
		pointer-events: none;
	}

	/* Dejamos espacio al final del main para que la barra no tape productos */
	.ft-shop {
		padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
	}
}

.ft-shop__mobile-btn {
	flex: 1 1 0;
	min-width: 0;
	padding: 0.7rem 0.5rem;
	font-weight: 700;
	font-size: 0.9rem;
	border-width: 0 !important;
	border-radius: 0.75rem !important;
	white-space: nowrap;
	letter-spacing: 0.01em;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.ft-shop__mobile-btn i {
	font-size: 0.9rem;
}
.ft-shop__mobile-btn:hover {
	background: var(--ft-black);
	color: #fff;
	border-color: var(--ft-black);
}

/* Offcanvas Ordenar */
.ft-sort-list .ft-sort-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	color: var(--ft-black);
	text-decoration: none;
	border-bottom: 1px solid #f1f3f5;
	font-weight: 500;
	transition: background 0.15s ease;
}
.ft-sort-list .ft-sort-item:hover {
	background: #f8f9fa;
}
.ft-sort-list .ft-sort-item.is-active {
	background: rgba(241, 196, 15, 0.1);
	color: var(--ft-black);
	font-weight: 700;
	border-left: 1px solid var(--ft-yellow);
	padding-left: calc(1.25rem - 3px);
}
.ft-sort-list .ft-sort-item.is-active i {
	color: var(--ft-yellow-dark);
}

/* Offcanvas bottom del sort — altura más compacta */
#ft-offcanvas-sort {
	height: auto !important;
	max-height: 85vh;
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
	overflow: hidden;
}
.ft-shop__filters {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 1rem;
	padding: 1.25rem;
}
.ft-shop__filters-heading {
	display: flex !important;
	width: 100%;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--ft-black);
	margin: 0 0 1rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--ft-yellow);
}
.ft-shop__filters-heading span { flex: 1; }
.ft-shop__filters-heading i {
	color: var(--ft-yellow-dark);
	font-size: 1rem;
}

/* Active filter chips — top del sidebar */
.ft-active-chips {
	background: #fffbea;
	border: 1px solid rgba(241, 196, 15, 0.35);
	border-radius: 0.75rem;
	padding: 0.75rem 0.85rem;
	margin: 0 0 1.25rem;
}
.ft-active-chips__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.6rem;
}
.ft-active-chips__label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ft-black);
}
.ft-active-chips__label i {
	color: var(--ft-yellow-dark);
	font-size: 0.8rem;
}
.ft-active-chips__clear {
	font-size: 0.75rem;
	font-weight: 700;
	color: #dc3545;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ft-active-chips__clear:hover { text-decoration: underline; color: #a52230; }

.ft-active-chips__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.ft-active-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: #fff;
	border: 1px solid rgba(241, 196, 15, 0.6);
	color: var(--ft-black);
	padding: 0.3rem 0.55rem 0.3rem 0.7rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.15s ease;
	max-width: 100%;
}
.ft-active-chip span {
	white-space: normal;
	word-break: break-word;
	line-height: 1.3;
}
.ft-active-chip i {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #e9ecef;
	color: var(--ft-black);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.65rem;
	transition: background 0.15s ease;
}
.ft-active-chip:hover {
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
	color: var(--ft-black);
}
.ft-active-chip:hover i {
	background: var(--ft-black);
	color: #fff;
}

/* ========================================================
   SUPER FILTER — Custom accordion filter
   ======================================================== */
.ft-filter { display: flex; flex-direction: column; gap: 0; }

.ft-filter__section {
	border-bottom: 1px solid #f1f3f5;
}
.ft-filter__section:last-of-type { border-bottom: 0; }

.ft-filter__header {
	display: flex;
	align-items: center;
	width: 100%;
	border: 0;
	background: transparent;
	padding: 1rem 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--ft-black);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	gap: 0.5rem;
}
.ft-filter__header > span:first-child { flex: 1; display: flex; align-items: center; gap: 0.5rem; }
.ft-filter__header > span:first-child i { color: var(--ft-yellow-dark); font-size: 0.9rem; }
.ft-filter__chevron {
	color: #9ca3af;
	font-size: 0.75rem;
	transition: transform 0.2s ease;
}
.ft-filter__section[data-open="false"] .ft-filter__chevron { transform: rotate(-90deg); }

.ft-filter__count-badge {
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-size: 0.7rem;
	font-weight: 800;
	min-width: 20px;
	height: 20px;
	padding: 0 0.4rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ft-filter__count-badge:empty { display: none; }
.ft-filter__header > span.ft-filter__count-badge:empty,
.ft-filter__header > span.ft-filter__count-badge:has(:empty) { display: none; }

.ft-filter__body {
	padding: 0 0 1rem;
	overflow: hidden;
	transition: max-height 0.25s ease, padding 0.25s ease;
}
.ft-filter__section[data-open="false"] .ft-filter__body {
	max-height: 0;
	padding: 0;
}

/* Category tree */
.ft-filter__cat-tree {
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: 380px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #d1d5db transparent;
}
.ft-filter__cat-tree::-webkit-scrollbar { width: 5px; }
.ft-filter__cat-tree::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }

.ft-filter__cat-top { margin-bottom: 2px; }
.ft-filter__cat-row {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}
.ft-filter__cat-check {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex: 1;
	padding: 0.4rem 0;
	cursor: pointer;
	color: #4b5563;
	font-size: 0.9rem;
	margin: 0;
	min-width: 0;
}
.ft-filter__cat-check input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	cursor: pointer;
	position: relative;
	background: #fff;
	flex-shrink: 0;
	transition: all 0.15s ease;
}
.ft-filter__cat-check input[type="checkbox"]:hover { border-color: var(--ft-yellow-dark); }
.ft-filter__cat-check input[type="checkbox"]:checked {
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
}
.ft-filter__cat-check input[type="checkbox"]:checked::after {
	content: '\f00c';
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: var(--ft-black);
	font-size: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.ft-filter__cat-check:hover .ft-filter__cat-name { color: var(--ft-black); }
.ft-filter__cat-check input:checked ~ .ft-filter__cat-name { color: var(--ft-black); font-weight: 600; }
.ft-filter__cat-name {
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ft-filter__cat-count {
	color: #9ca3af;
	font-size: 0.8rem;
	font-variant-numeric: tabular-nums;
}

.ft-filter__cat-expand {
	background: transparent;
	border: 0;
	padding: 0.35rem;
	color: #9ca3af;
	cursor: pointer;
	transition: transform 0.2s ease, color 0.15s ease;
	font-size: 0.75rem;
	border-radius: 0.25rem;
}
.ft-filter__cat-expand:hover { color: var(--ft-black); background: #f1f3f5; }
.ft-filter__cat-top.is-open > .ft-filter__cat-row .ft-filter__cat-expand { transform: rotate(180deg); }

.ft-filter__cat-children {
	list-style: none;
	padding: 0.25rem 0 0.5rem 0;
	margin: 0.25rem 0 0 1.4rem;
	border-left: 2px solid var(--ft-yellow);
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease;
}
.ft-filter__cat-top.is-open > .ft-filter__cat-children {
	max-height: 600px;
}
.ft-filter__cat-check--child {
	font-size: 0.85rem;
	color: #6c757d;
	padding: 0.3rem 0 0.3rem 0.85rem;
	position: relative;
}
/* Conector horizontal desde la línea vertical hasta el checkbox del child */
.ft-filter__cat-check--child::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 0.5rem;
	height: 2px;
	background: var(--ft-yellow);
	border-radius: 1px;
}

/* Price slider — thin (noUiSlider override) */
.ft-filter__price-slider {
	margin: 1.25rem 0.55rem 1.1rem !important;
	height: 3px !important;
	background: #e9ecef !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 999px !important;
}
.ft-filter__price-slider .noUi-base,
.ft-filter__price-slider .noUi-connects {
	background: transparent !important;
	border-radius: 999px !important;
}
.ft-filter__price-slider .noUi-connect {
	background: var(--ft-yellow) !important;
	border-radius: 999px !important;
}
.ft-filter__price-slider .noUi-handle {
	width: 11px !important;
	height: 11px !important;
	right: -5.5px !important;
	top: -4px !important;
	background: var(--ft-yellow) !important;
	border: 1px solid #fff !important;
	border-radius: 50% !important;
	box-shadow: 0 1px 3px rgba(10, 8, 9, 0.22) !important;
	cursor: grab !important;
}
.ft-filter__price-slider .noUi-handle:hover {
	transform: scale(1.15);
	transition: transform 0.12s ease;
}
.ft-filter__price-slider .noUi-handle:active { cursor: grabbing !important; }
.ft-filter__price-slider .noUi-handle::before,
.ft-filter__price-slider .noUi-handle::after { display: none !important; }
.ft-filter__price-slider .noUi-tooltip { display: none !important; }

/* Price inputs */
.ft-filter__price {
	padding-top: 0.25rem;
}
.ft-filter__price-inputs {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
.ft-filter__price-field {
	position: relative;
	flex: 1;
	min-width: 0;
}
.ft-filter__price-field input {
	width: 100%;
	padding: 0.5rem 0.55rem;
	border: 1px solid #e9ecef;
	border-radius: 0.5rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ft-black);
	background: #fff;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
	text-align: center;
	-moz-appearance: textfield;
}
.ft-filter__price-field input::placeholder {
	color: #cbd5e1;
	font-weight: 500;
}
.ft-filter__price-field input::-webkit-outer-spin-button,
.ft-filter__price-field input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.ft-filter__price-field input:focus {
	outline: none;
	border-color: var(--ft-yellow);
}
.ft-filter__price-sep {
	color: #d1d5db;
	font-weight: 700;
}

/* Actions */
.ft-filter__actions {
	padding: 1rem 0 0;
	border-top: 1px solid #f1f3f5;
}
.ft-filter__apply {
	margin-bottom: 0.5rem;
	padding: 0.65rem 1rem;
	font-size: 0.9rem;
}
@media (min-width: 992px) {
	.ft-filter__apply { display: none; }
}
.ft-filter__clear {
	display: block;
	text-align: center;
	color: #6c757d;
	font-size: 0.8rem;
	text-decoration: none;
	padding: 0.5rem;
	transition: color 0.15s ease;
}
.ft-filter__clear:hover { color: #dc3545; text-decoration: underline; }

/* Scroll contenedor de filtros cuando hay muchos items (78+ categorías) */
.ft-shop__filters .wcapf-filter-items,
.ft-shop__filters .wcapf-filter-inner > ul {
	max-height: 280px;
	overflow-y: auto;
	padding-right: 6px;
	scrollbar-width: thin;
	scrollbar-color: #d1d5db transparent;
}
.ft-shop__filters .wcapf-filter-items::-webkit-scrollbar,
.ft-shop__filters .wcapf-filter-inner > ul::-webkit-scrollbar { width: 5px; }
.ft-shop__filters .wcapf-filter-items::-webkit-scrollbar-thumb,
.ft-shop__filters .wcapf-filter-inner > ul::-webkit-scrollbar-thumb {
	background: #d1d5db;
	border-radius: 3px;
}

/* WCAPF filter form styling overrides — FIX layout vertical del title */
.ft-shop__filters .wcapf-filter,
.ft-shop__filters .wcapf-form-field,
.ft-shop__filters .wcapf-filter-title {
	font-family: inherit;
}
.ft-shop__filters .wcapf-filter {
	display: block !important;
	margin-bottom: 1.25rem;
}
.ft-shop__filters .wcapf-filter-title {
	display: block !important;
	width: 100% !important;
	writing-mode: horizontal-tb !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--ft-black) !important;
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
	line-height: 1.3 !important;
	background: transparent !important;
	border: 0 !important;
}
.ft-shop__filters .wcapf-filter-title-inner {
	display: block !important;
	white-space: normal !important;
	font-family: inherit !important;
}
.ft-shop__filters .wcapf-filter-inner {
	display: block !important;
}
.ft-shop__filters .wcapf-filter-title:first-child,
.ft-shop__filters h3:first-child { margin-top: 0; }
.ft-shop__filters ul,
.ft-shop__filters .wcapf-filter-items {
	list-style: none;
	padding: 0;
	margin: 0;
}
.ft-shop__filters li {
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
}
.ft-shop__filters input[type="checkbox"],
.ft-shop__filters input[type="radio"] {
	accent-color: var(--ft-yellow);
	margin-right: 0.4rem;
}
.ft-shop__filters label {
	color: #4b5563;
	cursor: pointer;
	transition: color 0.15s ease;
}
.ft-shop__filters label:hover { color: var(--ft-black); }
.ft-shop__filters .wcapf-slider,
.ft-shop__filters .noUi-connect,
.ft-shop__filters .ui-slider-range {
	background: var(--ft-yellow) !important;
}
.ft-shop__filters input[type="text"],
.ft-shop__filters input[type="number"] {
	border: 1px solid #e9ecef;
	border-radius: 0.5rem;
	padding: 0.45rem 0.65rem;
	font-size: 0.9rem;
	width: 100%;
}

/* Toolbar + ordering */
.ft-shop__toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
	padding: 0.75rem 1rem;
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 0.75rem;
	flex-wrap: wrap;
}
.ft-shop__result-count {
	color: #6c757d;
	font-size: 0.9rem;
	margin: 0;
}
.ft-shop__result-count p { margin: 0; }
.ft-shop__ordering select {
	border: 1px solid #e9ecef;
	border-radius: 0.5rem;
	padding: 0.45rem 0.8rem;
	font-size: 0.9rem;
	background: #fff;
	cursor: pointer;
}

/* Products grid */
.ft-shop-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.25rem;
	padding: 0;
	margin: 0;
	list-style: none;
}
.ft-shop-grid::before,
.ft-shop-grid::after { display: none !important; }
.ft-shop-grid__item {
	list-style: none;
	margin: 0;
	width: auto !important;
	float: none !important;
	clear: none !important;
}

/* Load more button */
.ft-load-more-wrap {
	grid-column: 1 / -1;
}
.ft-load-more-btn {
	min-width: 0;
	padding: 0.6rem 1.5rem;
	font-weight: 600;
	font-size: 0.88rem;
	background: transparent !important;
	color: var(--ft-black) !important;
	border: 1px solid #d1d5db !important;
	border-radius: 999px !important;
	letter-spacing: 0.01em;
	transition: all 0.15s ease;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}
.ft-load-more-btn::before {
	content: "\f021";
	font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.8rem;
	opacity: 0.6;
	transition: transform 0.3s ease, opacity 0.15s ease;
}
.ft-load-more-btn:hover {
	background: var(--ft-yellow) !important;
	border-color: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px -6px rgba(241, 196, 15, 0.5);
}
.ft-load-more-btn:hover::before {
	opacity: 1;
	transform: rotate(180deg);
}
.ft-load-more-btn.is-loading { opacity: 0.75; }
.ft-load-more-btn.is-loading::before {
	animation: ft-spin 0.8s linear infinite;
}

/* Botón "Ver todos los productos" (reemplaza al load-more antiguo). */
.ft-view-all-btn {
	display: inline-flex;
	align-items: center;
	padding: 0.85rem 2rem;
	font-weight: 700;
	border-radius: 999px;
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	border-color: var(--ft-yellow) !important;
	letter-spacing: 0.01em;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ft-view-all-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px -8px rgba(241, 196, 15, 0.6);
}

/* Contador de productos arriba del grid en el área del contenido. */
.ft-shop-main-count {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1rem;
	font-size: 0.95rem;
	color: var(--ft-black);
	font-weight: 500;
	letter-spacing: -0.01em;
}
.ft-shop-main-count i.bi {
	font-size: 1.25rem;
	color: var(--ft-yellow-dark, #c69a1d);
	line-height: 1;
}
.ft-shop-main-count strong {
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--ft-yellow-dark, #c69a1d);
}
.ft-shop-main-count__total {
	color: #6c757d;
	font-size: 0.85rem;
	font-weight: 500;
	margin-left: 0.1rem;
}
.ft-shop-main-count__total strong {
	font-size: 0.95rem;
	color: #495057;
}

/* ========================================================
   SINGLE PRODUCT — Layout marketplace pro
   ======================================================== */
.ft-sp {
	padding: 1.5rem 0 4rem;
}
/* ══════════════════════════════════════════
   Breadcrumb — refinado con chevron
══════════════════════════════════════════ */
.ft-breadcrumb {
	padding: 0.25rem 0 1.25rem;
	margin: 0 0 1.25rem !important;
	background: transparent !important;
	border-radius: 0 !important;
	border-bottom: 1px solid #f3f4f6;
	font-size: 0.8rem;
	color: #6b7280;
}
.ft-breadcrumb .breadcrumb {
	--bs-breadcrumb-divider: "";
	gap: 0.1rem;
	align-items: center;
	font-size: 0.8rem;
	padding: 0;
	margin: 0;
}
.ft-breadcrumb .breadcrumb-item {
	display: inline-flex;
	align-items: center;
	color: #6b7280;
	letter-spacing: -0.005em;
}
.ft-breadcrumb .breadcrumb-item + .breadcrumb-item { padding-left: 0; }
/* Custom chevron separator (unicode, sin depender de FA) */
.ft-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	content: "›";
	font-family: inherit;
	font-weight: 400;
	font-size: 0.95rem;
	color: #cbd5e1;
	margin: 0 0.25rem;
	padding: 0;
	line-height: 1;
}
.ft-breadcrumb .breadcrumb-item.active {
	color: var(--ft-black);
	font-weight: 700;
	max-width: 320px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ft-breadcrumb__link,
.ft-breadcrumb .breadcrumb-item a {
	color: #6b7280 !important;
	text-decoration: none;
	transition: all 0.15s ease;
	font-weight: 500;
	padding: 0.2rem 0.35rem;
	border-radius: 0.25rem;
}
.ft-breadcrumb__link:hover,
.ft-breadcrumb .breadcrumb-item a:hover {
	color: var(--ft-black) !important;
	background: rgba(241, 196, 15, 0.08);
	text-decoration: none;
}
.ft-breadcrumb__home-icon {
	color: var(--ft-yellow-dark);
	font-size: 0.82rem;
}
.ft-breadcrumb .breadcrumb-item:first-child a { padding-left: 0; }
.ft-breadcrumb .breadcrumb-item:first-child a:hover .ft-breadcrumb__home-icon { color: var(--ft-black); }

@media (max-width: 576px) {
	.ft-breadcrumb,
	.ft-breadcrumb .breadcrumb { font-size: 0.72rem; }
	.ft-breadcrumb .breadcrumb-item.active { max-width: 140px; }
	.ft-breadcrumb .breadcrumb-item + .breadcrumb-item::before { margin: 0 0.15rem; font-size: 0.85rem; }
}

.ft-sp .woocommerce-breadcrumb { margin: 0 0 1.25rem; }

.ft-sp__main {
	align-items: flex-start;
}

/* --- Gallery --- */
.ft-sp__gallery {
	position: relative;
	border-radius: 1.25rem;
	overflow: hidden;
	background: #ffffff;
	padding: 0.35rem;
}
.ft-sp__gallery .woocommerce-product-gallery {
	margin: 0 !important;
	width: 100% !important;
}
.ft-sp__gallery .woocommerce-product-gallery__image {
	border-radius: 1rem;
	overflow: hidden;
	background: #fff;
	position: relative;
}
.ft-sp__gallery .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
	display: block;
	mix-blend-mode: multiply;
}
.ft-sp__gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.5rem;
	margin-top: 0.75rem;
	padding: 0;
	list-style: none;
}
.ft-sp__gallery .flex-control-thumbs li {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}
.ft-sp__gallery .flex-control-thumbs img {
	border-radius: 0.5rem;
	border: 1px solid transparent;
	background: #fff;
	transition: border-color 0.15s ease;
	cursor: pointer;
	aspect-ratio: 1;
	object-fit: contain;
}
.ft-sp__gallery .flex-control-thumbs img.flex-active,
.ft-sp__gallery .flex-control-thumbs img:hover {
	border-color: var(--ft-yellow);
}

/* Sale badge posicionado */
.ft-sp__gallery .onsale,
.ft-sp__gallery .woocommerce-product-gallery .onsale {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	z-index: 10;
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-weight: 800;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	min-height: auto;
	min-width: auto;
	line-height: 1.4;
	border: 0;
}

/* --- Summary (panel derecho) --- */
.ft-sp__summary {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 1.25rem;
	padding: 1.75rem;
	box-shadow: 0 2px 18px rgba(10, 8, 9, 0.05);
	position: relative;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}
@media (min-width: 992px) {
	.ft-sp__summary {
		position: sticky;
		top: 6rem;
	}
}

/* Categorías arriba del título */
.ft-sp__cat-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-bottom: 0.75rem;
}
.ft-sp__cat-badge {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #6c757d;
	background: #f5f5f5;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	text-decoration: none;
	transition: all 0.15s ease;
}
.ft-sp__cat-badge:hover {
	background: var(--ft-yellow);
	color: var(--ft-black);
}

/* Título producto */
.ft-sp .product_title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
}

/* Precio */
.ft-sp .price {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--ft-black);
	margin: 0 0 1.25rem;
	display: block;
}
.ft-sp .price del {
	color: #9ca3af;
	font-weight: 500;
	font-size: 0.7em;
	margin-right: 0.5rem;
}
.ft-sp .price ins {
	background: transparent;
	text-decoration: none;
}
.ft-sp .price .woocommerce-Price-currencySymbol {
	font-weight: 600;
	opacity: 0.75;
	margin-right: 0.15em;
}

/* Rating */
.ft-sp .woocommerce-product-rating {
	margin-bottom: 1rem;
	font-size: 0.9rem;
}

/* Excerpt */
.ft-sp .woocommerce-product-details__short-description {
	color: #4b5563;
	line-height: 1.6;
	margin-bottom: 1.25rem;
	font-size: 0.95rem;
}
.ft-sp .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* --- Inmueble block --- */
.ft-sp__inmueble {
	margin: 1.25rem 0;
	padding: 1.25rem 0;
	border-top: 1px solid #f1f3f5;
	border-bottom: 1px solid #f1f3f5;
}
.ft-sp__inmueble-meta {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}
.ft-sp__inmueble-type {
	background: var(--ft-black);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.35rem 0.75rem;
	border-radius: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ft-sp__inmueble-op {
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.35rem 0.75rem;
	border-radius: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ft-sp__inmueble-op--alquiler { background: #16a34a; color: #fff; }

.ft-sp__specs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	list-style: none;
	padding: 0;
	margin: 0 0 1rem;
}
@media (min-width: 576px) {
	.ft-sp__specs { grid-template-columns: repeat(4, 1fr); }
}
.ft-sp__spec {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #fafafa;
	border-radius: 0.75rem;
	padding: 0.85rem 0.5rem;
	gap: 0.25rem;
}
.ft-sp__spec i {
	color: var(--ft-yellow-dark);
	font-size: 1.25rem;
	margin-bottom: 0.25rem;
}
.ft-sp__spec-value {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--ft-black);
	line-height: 1;
}
.ft-sp__spec-label {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #6c757d;
	font-weight: 600;
}

.ft-sp__location {
	display: flex;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	background: rgba(241, 196, 15, 0.08);
	border-radius: 0.75rem;
	margin-bottom: 1rem;
	font-size: 0.9rem;
}
.ft-sp__location i {
	color: var(--ft-yellow-dark);
	font-size: 1.1rem;
	margin-top: 0.2rem;
	flex-shrink: 0;
}
.ft-sp__location strong { color: var(--ft-black); }
.ft-sp__location-sub {
	color: #6c757d;
	font-size: 0.85rem;
	margin-top: 0.15rem;
}

.ft-sp__features {
	margin-top: 1rem;
}
.ft-sp__features h4 {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ft-black);
	font-weight: 700;
	margin: 0 0 0.5rem;
}
.ft-sp__features ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.4rem 0.75rem;
}
.ft-sp__features li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.85rem;
	color: #4b5563;
}
.ft-sp__features li i {
	color: #16a34a;
	font-size: 0.8rem;
}

/* --- Add to cart (form) --- */
.ft-sp .cart {
	margin: 1.25rem 0 0.5rem !important;
	display: flex;
	gap: 0.5rem;
	align-items: stretch;
}
.ft-sp .quantity {
	display: flex;
	align-items: center;
	border: 1px solid #e9ecef;
	border-radius: 0.6rem;
	overflow: hidden;
	flex-shrink: 0;
}
.ft-sp .quantity input.qty {
	width: 3.5rem;
	border: 0;
	text-align: center;
	font-weight: 700;
	font-size: 1rem;
	padding: 0.75rem 0.25rem;
	background: transparent;
	outline: none;
	-moz-appearance: textfield;
}
.ft-sp .quantity input.qty::-webkit-outer-spin-button,
.ft-sp .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.ft-sp .single_add_to_cart_button {
	flex: 1;
	background: var(--ft-black) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0.6rem !important;
	padding: 0.85rem 1.5rem !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	transition: all 0.15s ease;
}
.ft-sp .single_add_to_cart_button:hover {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
}
.ft-sp .single_add_to_cart_button::before {
	content: "\f07a";
	font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.95rem;
	display: inline-block;
}

/* Variations (Product Variations Swatches) */
.ft-sp .variations {
	margin-bottom: 1rem;
}
.ft-sp .variations th,
.ft-sp .variations td {
	padding: 0.5rem 0 !important;
	vertical-align: middle;
}
.ft-sp .reset_variations {
	font-size: 0.8rem;
	color: #6c757d;
	margin-left: 0.5rem;
}

/* --- WhatsApp CTA --- */
.ft-sp__whatsapp {
	margin: 0.75rem 0 1.25rem;
}
.ft-sp__whatsapp .ft-whatsapp-btn {
	width: 100%;
	padding: 0.85rem 1.5rem;
	font-size: 1rem;
	font-weight: 700;
	--bs-btn-bg: #25d366;
	--bs-btn-border-color: #25d366;
	--bs-btn-hover-bg: #128c7e;
	--bs-btn-hover-border-color: #128c7e;
	--bs-btn-color: #fff;
	--bs-btn-hover-color: #fff;
	box-shadow: 0 6px 18px rgba(37, 211, 102, 0.25);
}
.ft-sp__whatsapp .ft-whatsapp-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(37, 211, 102, 0.35);
	transition: all 0.2s ease;
}

/* --- Trust badges --- */
.ft-sp__trust {
	list-style: none;
	padding: 0;
	margin: 1.25rem 0 0.5rem;
	display: grid;
	gap: 0.75rem;
	border-top: 1px solid #f1f3f5;
	padding-top: 1.25rem;
}
.ft-sp__trust li {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}
.ft-sp__trust li i {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.6rem;
	background: rgba(241, 196, 15, 0.12);
	color: var(--ft-yellow-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	flex-shrink: 0;
}
.ft-sp__trust li strong {
	display: block;
	font-size: 0.9rem;
	color: var(--ft-black);
	font-weight: 700;
}
.ft-sp__trust li span {
	display: block;
	font-size: 0.8rem;
	color: #6c757d;
}

/* Cuadrito informativo de colores posibles (no es variación; sujeto a stock). */
.ft-sp__colors {
	margin: 1.25rem 0 0.5rem;
	padding: 1rem 1.1rem;
	border: 1px solid #f1f3f5;
	border-radius: 0.75rem;
	background: #fcfcfd;
}
.ft-sp__colors-head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.85rem;
}
.ft-sp__colors-head i {
	color: var(--ft-yellow-dark);
}
.ft-sp__colors-head span {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--ft-black);
}
.ft-sp__colors-head small {
	margin-left: auto;
	font-size: 0.72rem;
	color: #6c757d;
	font-style: italic;
}
.ft-sp__colors-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1rem;
}
.ft-sp__color {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}
.ft-sp__swatch {
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	box-shadow: inset 0 0 0 2px #fff;
	flex-shrink: 0;
}
.ft-sp__color-name {
	font-size: 0.82rem;
	color: var(--ft-gray-900);
}
.ft-jr-mode .ft-sp__colors {
	background: transparent;
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-sp__colors-head span {
	color: #fff;
}
.ft-jr-mode .ft-sp__color-name {
	color: var(--ft-jr-muted);
}

.ft-sp__meta {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid #f1f3f5;
	font-size: 0.8rem;
	color: #6c757d;
}
.ft-sp__meta strong { color: var(--ft-black); }

/* ============================================================
   JR Pairing — sección "armá tu mesa" en single product de vinos
   ============================================================ */
.ft-jr-pairing {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: linear-gradient(180deg, #fffaf0 0%, #fff 100%);
	border-top: 1px solid #f1e8d4;
	margin-top: 2.5rem;
}
.ft-jr-pairing__head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 2.5rem;
}
.ft-jr-pairing__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: rgba(176, 133, 0, 0.1);
	color: var(--ft-yellow-dark, #b08500);
	padding: 0.4rem 0.95rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border: 1px solid rgba(176, 133, 0, 0.18);
}
.ft-jr-pairing__title {
	font-size: clamp(1.6rem, 3.6vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ft-black);
	line-height: 1.15;
	margin: 1rem 0 0.65rem;
	text-wrap: balance;
}
.ft-jr-pairing__sub {
	font-size: 1rem;
	color: #5b605d;
	max-width: 50ch;
	margin: 0 auto;
	line-height: 1.55;
}

/* Grid de combos */
.ft-jr-combos {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 768px) { .ft-jr-combos { grid-template-columns: repeat(3, 1fr); } }

.ft-jr-combo {
	background: #fff;
	border: 1px solid #ecdbb1;
	border-radius: 1.25rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
	position: relative;
}
.ft-jr-combo:hover {
	transform: translateY(-4px);
	border-color: var(--ft-yellow);
	box-shadow: 0 24px 40px -18px rgba(176, 133, 0, 0.25);
}
.ft-jr-combo__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.85rem 1.1rem;
	background: linear-gradient(135deg, #fffbe6 0%, #fff 100%);
	border-bottom: 1px dashed #ecdbb1;
}
.ft-jr-combo__tag {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ft-yellow-dark);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}
.ft-jr-combo__tag::before {
	content: "";
	width: 14px;
	height: 14px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23b08500"><path d="M12 2l2.4 7.4H22l-6.2 4.5 2.4 7.4L12 16.8 5.8 21.3l2.4-7.4L2 9.4h7.6z"/></svg>') no-repeat center / contain;
}
.ft-jr-combo__count {
	font-size: 0.72rem;
	color: #9a8d6a;
	font-weight: 600;
	background: #fff8e1;
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
}

/* Visual del combo: vino + plus + artesanía */
.ft-jr-combo__visual {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 0.5rem;
	align-items: center;
	padding: 1.5rem 1rem 1.25rem;
	background: linear-gradient(180deg, #fefcf6 0%, #fff 100%);
}
.ft-jr-combo__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	text-decoration: none;
	transition: transform 0.25s ease;
}
.ft-jr-combo__item:hover { transform: translateY(-2px); }
.ft-jr-combo__item img {
	width: 100%;
	max-width: 110px;
	aspect-ratio: 1;
	object-fit: contain;
	background: #fffdf5;
	border-radius: 12px;
	padding: 0.5rem;
	border: 1px solid #f1e8d4;
	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.08));
}
.ft-jr-combo__item--wine img {
	background: linear-gradient(135deg, #1a0f0a 0%, #2c1810 100%);
	border-color: #1a0f0a;
}
.ft-jr-combo__item-label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #9a8d6a;
}
.ft-jr-combo__plus {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--ft-yellow-dark);
	background: #fffbe6;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px dashed #ecdbb1;
	flex-shrink: 0;
}

.ft-jr-combo__body {
	padding: 1rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0.85rem;
}
.ft-jr-combo__title {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--ft-black);
	line-height: 1.35;
	margin: 0;
}
.ft-jr-combo__plus-sm {
	color: var(--ft-yellow-dark);
	font-weight: 800;
	margin: 0 0.2rem;
}
.ft-jr-combo__prices {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}
.ft-jr-combo__price-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.6rem 0.85rem;
	background: #fff8e1;
	border-radius: 0.55rem;
}
.ft-jr-combo__price-line small {
	font-size: 0.74rem;
	color: #6b5f50;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.ft-jr-combo__price-line strong {
	font-size: 1.05rem;
	color: var(--ft-black);
	font-weight: 800;
}
.ft-jr-combo__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	padding: 0.75rem 1rem;
	background: var(--ft-yellow);
	color: var(--ft-black);
	border: 0;
	border-radius: 999px;
	font-weight: 800;
	font-size: 0.85rem;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
	margin-top: auto;
}
.ft-jr-combo__btn:hover:not(:disabled):not(.is-added) {
	background: var(--ft-yellow-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px -10px rgba(176, 133, 0, 0.5);
}
.ft-jr-combo__btn:disabled { opacity: 0.7; cursor: not-allowed; }
.ft-jr-combo__btn.is-loading { background: #f1e8d4; color: #9a8d6a; }
.ft-jr-combo__btn.is-added {
	background: #16a34a;
	color: #fff;
}

/* Otros vinos JR */
.ft-jr-others__head {
	text-align: center;
	margin: 4rem auto 1.5rem;
	max-width: 640px;
}
.ft-jr-others__title {
	font-size: clamp(1.4rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--ft-black);
	margin: 0.85rem 0 0;
	letter-spacing: -0.02em;
}
.ft-jr-others__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.85rem;
}
@media (min-width: 600px) { .ft-jr-others__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .ft-jr-others__grid { grid-template-columns: repeat(6, 1fr); } }

.ft-jr-other {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ecdbb1;
	border-radius: 0.85rem;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.ft-jr-other:hover {
	transform: translateY(-3px);
	border-color: var(--ft-yellow);
	box-shadow: 0 14px 26px -12px rgba(176, 133, 0, 0.25);
}
.ft-jr-other__img {
	aspect-ratio: 1;
	background: linear-gradient(180deg, #1a0f0a 0%, #2c1810 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem;
	overflow: hidden;
}
.ft-jr-other__img img {
	max-height: 90%;
	max-width: 80%;
	object-fit: contain;
	filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.4));
}
.ft-jr-other__body {
	padding: 0.75rem 0.85rem 0.95rem;
	text-align: center;
}
.ft-jr-other__name {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.3rem;
	line-height: 1.3;
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ft-jr-other__price {
	font-size: 0.85rem;
	font-weight: 800;
	color: var(--ft-yellow-dark);
}

/* ════════════════════════════════════════════════════════════
   Cross-sell INVERSO: artesanía single product → vinos JR.
   Sin .ft-jr-mode (la página queda con header/footer FT).
   ════════════════════════════════════════════════════════════ */
.ft-art-jr-cross {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: linear-gradient(180deg, #f8f5ef 0%, #fff 100%);
	border-top: 1px solid #ecdbb1;
	margin-top: 2rem;
}
.ft-art-jr-cross__head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 2.5rem;
}
.ft-art-jr-cross__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ft-yellow-dark);
	background: rgba(241, 196, 15, 0.12);
	border: 1px solid rgba(241, 196, 15, 0.35);
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
}
.ft-art-jr-cross__title {
	font-size: clamp(1.4rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--ft-black);
	margin: 0.85rem 0 0.5rem;
	letter-spacing: -0.02em;
}
.ft-art-jr-cross__sub {
	font-size: 0.95rem;
	color: #6c757d;
	margin: 0;
}
.ft-art-jr-cross__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.85rem;
}
@media (min-width: 600px) { .ft-art-jr-cross__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .ft-art-jr-cross__grid { grid-template-columns: repeat(6, 1fr); } }
.ft-art-jr-cross__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ecdbb1;
	border-radius: 0.85rem;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.ft-art-jr-cross__card:hover {
	transform: translateY(-3px);
	border-color: var(--ft-yellow);
	box-shadow: 0 14px 26px -12px rgba(176, 133, 0, 0.25);
}
.ft-art-jr-cross__img {
	aspect-ratio: 1;
	background: linear-gradient(180deg, #1a0f0a 0%, #2c1810 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem;
	overflow: hidden;
}
.ft-art-jr-cross__img img {
	max-height: 90%;
	max-width: 80%;
	object-fit: contain;
	filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.4));
}
.ft-art-jr-cross__body {
	padding: 0.75rem 0.85rem 0.95rem;
	text-align: center;
}
.ft-art-jr-cross__name {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.3rem;
	line-height: 1.3;
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ft-art-jr-cross__price {
	font-size: 0.85rem;
	font-weight: 800;
	color: var(--ft-yellow-dark);
}
.ft-art-jr-cross__cta-wrap {
	text-align: center;
	margin-top: 2rem;
}
.ft-art-jr-cross__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-weight: 700;
	padding: 0.75rem 1.5rem;
	border-radius: 999px;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}
.ft-art-jr-cross__cta:hover {
	background: #facc15;
	color: var(--ft-black);
	transform: translateY(-2px);
}

/* ════════════════════════════════════════════════════════════
   JR MODE — overlay dark/gold sobre todo el flow JR/artesanías
   Coexiste con el theme regular: solo aplica cuando body tiene
   .ft-jr-mode (single product JR/artesanía, cat vinos/artesanía,
   cart o checkout con productos JR adentro).
   ════════════════════════════════════════════════════════════ */
.ft-jr-mode {
	/* Paleta JR: ámbar/cobre + cream, en lugar del amarillo eléctrico FT */
	--jr-gold: #c89a47;
	--jr-gold-bright: #dfb874;
	--jr-gold-dark: #a07a2e;
	--jr-cream: #f3e7d3;
	--jr-wine: #7a1f2c;
	/* Sobrescribir el yellow FT dentro del scope JR para que todo lo que use --ft-yellow se vea cobre */
	--ft-yellow: #c89a47;
	--ft-yellow-bright: #dfb874;
	--ft-yellow-dark: #a07a2e;
	--ft-jr-bg: #0a0809;
	--ft-jr-bg-mid: #15100f;
	--ft-jr-bg-card: #1a1416;
	--ft-jr-text: #ece6db;
	--ft-jr-muted: #8a8079;
	--ft-jr-line: rgba(200, 154, 71, 0.22);
	background: var(--ft-jr-bg) !important;
	color: var(--ft-jr-text);
}
/* Importar Playfair para títulos JR (italic dorado) */
.ft-jr-mode { font-family: "Inter", sans-serif; }
.ft-jr-mode em,
.ft-jr-mode .ft-sp__title em,
.ft-jr-mode h1 em, .ft-jr-mode h2 em, .ft-jr-mode h3 em {
	font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif;
	font-style: italic;
	color: var(--ft-yellow);
	font-weight: 500;
}
.ft-jr-mode #page,
.ft-jr-mode #content,
.ft-jr-mode #primary,
.ft-jr-mode .site-main,
.ft-jr-mode .site-content,
.ft-jr-mode main {
	background: transparent !important;
}
.ft-jr-mode #masthead.site-header,
.ft-jr-mode #nav-main,
.ft-jr-mode .site-header { background: var(--ft-jr-bg) !important; border-bottom: 1px solid var(--ft-jr-line); }
.ft-jr-mode #nav-main .nav-link,
.ft-jr-mode #nav-main .navbar-brand { color: var(--ft-jr-text); }

/* ─── Single product en JR mode ─── */
.ft-jr-mode .ft-sp { background: transparent; padding: 1.5rem 0 3rem; }
/* Summary card: dark bg en JR (el default es white — antes hacía invisible al título blanco) */
.ft-jr-mode .ft-sp__summary {
	background: var(--ft-jr-bg-card) !important;
	border-color: var(--ft-jr-line) !important;
	color: var(--ft-jr-text) !important;
	box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.55) !important;
}
.ft-jr-mode .ft-sp .product_title,
.ft-jr-mode .ft-sp h1.product_title {
	color: #fff !important;
	font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif !important;
	font-weight: 600 !important;
	font-style: normal !important;
	font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.01em !important;
	margin: 0.85rem 0 1rem !important;
}
.ft-jr-mode .ft-sp .ft-sp__cat-badge {
	background: rgba(250, 204, 21, 0.1);
	color: var(--ft-yellow);
	border: 1px solid var(--ft-jr-line);
}
.ft-jr-mode .ft-sp .price,
.ft-jr-mode .ft-sp .price ins .amount,
.ft-jr-mode .ft-sp .price .woocommerce-Price-amount {
	color: var(--ft-yellow) !important;
}
.ft-jr-mode .ft-sp .ft-price__usd,
.ft-jr-mode .ft-sp .ft-price__ars { color: var(--ft-yellow); }
.ft-jr-mode .ft-sp .price del { color: var(--ft-jr-muted); opacity: 0.55; }
.ft-jr-mode .ft-sp .woocommerce-product-details__short-description,
.ft-jr-mode .ft-sp .summary .description { color: var(--ft-jr-muted); }

/* Galería: marco dark con glow gold */
.ft-jr-mode .ft-sp__gallery {
	background: var(--ft-jr-bg-card);
	border: 1px solid var(--ft-jr-line);
	border-radius: 1.25rem;
	overflow: hidden;
	box-shadow: 0 30px 60px -25px rgba(0, 0, 0, 0.5);
}
.ft-jr-mode .ft-sp__gallery .woocommerce-product-gallery__image {
	background: linear-gradient(180deg, #1a1416 0%, #2a1810 100%);
}
.ft-jr-mode .ft-sp__summary,
.ft-jr-mode .ft-sp .summary { color: var(--ft-jr-text); }

/* Quantity + add to cart — layout que no rompe el botón en pedazos */
.ft-jr-mode .ft-sp form.cart {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 0.65rem !important;
	margin: 0.5rem 0 1rem !important;
}
.ft-jr-mode .ft-sp form.cart .quantity {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 0;
	background: var(--ft-jr-bg-card);
	border: 1px solid var(--ft-jr-line);
	border-radius: 999px;
	padding: 0.15rem;
	overflow: hidden;
}
.ft-jr-mode .ft-sp form.cart .quantity input,
.ft-jr-mode .ft-sp form.cart .qty {
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
	width: 50px !important;
	text-align: center;
	font-weight: 700;
	font-size: 1rem;
	padding: 0.5rem 0 !important;
	box-shadow: none !important;
}
.ft-jr-mode .ft-sp form.cart .quantity input:focus { outline: none; }
.ft-jr-mode .ft-sp form.cart .single_add_to_cart_button,
.ft-jr-mode .single_add_to_cart_button {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	border: 0 !important;
	font-weight: 800 !important;
	font-size: 0.95rem !important;
	padding: 0.85rem 1.6rem !important;
	border-radius: 999px !important;
	white-space: nowrap !important;
	flex: 1 1 200px !important;
	min-width: 180px !important;
	box-shadow: 0 12px 28px -10px rgba(200, 154, 71, 0.45) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	letter-spacing: 0.01em !important;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
}
.ft-jr-mode .single_add_to_cart_button:hover {
	background: var(--ft-yellow-bright, #fde047) !important;
	transform: translateY(-1px) !important;
}

/* Ocultar el campo billing_email duplicado en step "Datos" cuando hay step "Email" propio */
.ft-jr-hide-email-field { display: none !important; }

/* Ver carrito link en JR mode (debajo del add-to-cart) */
.ft-jr-view-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.75rem;
	padding: 0.5rem 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--jr-gold, #c89a47);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease, gap 0.15s ease;
}
.ft-jr-view-cart-link:hover {
	color: var(--jr-gold-bright, #dfb874);
	border-bottom-color: var(--jr-gold-bright, #dfb874);
	gap: 0.7rem;
}
.ft-jr-view-cart-link[data-cart-count="0"] {
	opacity: 0.55;
}
.ft-jr-view-cart-link[data-cart-count="0"]:hover {
	opacity: 1;
}

/* Trust badges, specs, meta — adaptados */
.ft-jr-mode .ft-sp__trust {
	background: var(--ft-jr-bg-card);
	border: 1px solid var(--ft-jr-line);
	border-radius: 0.85rem;
	padding: 0.85rem 1rem;
}
.ft-jr-mode .ft-sp__trust li { border-color: var(--ft-jr-line); }
.ft-jr-mode .ft-sp__trust li i { color: var(--ft-yellow); }
.ft-jr-mode .ft-sp__trust li strong { color: #fff; }
.ft-jr-mode .ft-sp__trust li span { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-sp__meta { color: var(--ft-jr-muted); border-color: var(--ft-jr-line); }
.ft-jr-mode .ft-sp__meta strong { color: #fff; }
.ft-jr-mode .ft-sp__inmueble,
.ft-jr-mode .ft-sp__features,
.ft-jr-mode .ft-sp__location { color: var(--ft-jr-text); }

/* WhatsApp CTA */
.ft-jr-mode .ft-whatsapp-btn,
.ft-jr-mode .ft-sp__whatsapp .ft-whatsapp-btn {
	background: rgba(37, 211, 102, 0.12);
	color: #25d366;
	border: 1px solid rgba(37, 211, 102, 0.3);
}
.ft-jr-mode .ft-sp__whatsapp .ft-whatsapp-btn:hover {
	background: #25d366;
	color: #fff;
}

/* Tabs */
.ft-jr-mode .ft-sp__tabs .woocommerce-tabs {
	background: var(--ft-jr-bg-card);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-sp__tabs .woocommerce-tabs ul.tabs {
	background: var(--ft-jr-bg-mid);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-sp__tabs .woocommerce-tabs ul.tabs li a { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-sp__tabs .woocommerce-tabs ul.tabs li.active a,
.ft-jr-mode .ft-sp__tabs .woocommerce-tabs ul.tabs li a:hover { color: var(--ft-yellow); }
.ft-jr-mode .ft-sp__tabs .woocommerce-Tabs-panel { color: var(--ft-jr-text); padding: 1.25rem 1.5rem; }
.ft-jr-mode .ft-sp__tabs .woocommerce-Tabs-panel h2 { color: #fff; }

/* JR pairing section también en dark */
.ft-jr-mode .ft-jr-pairing {
	background: linear-gradient(180deg, var(--ft-jr-bg) 0%, var(--ft-jr-bg-mid) 100%);
	border-top: 1px solid var(--ft-jr-line);
}
.ft-jr-mode .ft-jr-pairing__title { color: #fff; }
.ft-jr-mode .ft-jr-pairing__sub { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-jr-pairing__eyebrow {
	background: rgba(250, 204, 21, 0.08);
	color: var(--ft-yellow);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-jr-combo {
	background: var(--ft-jr-bg-card);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-jr-combo:hover {
	border-color: var(--ft-yellow);
	box-shadow: 0 24px 40px -18px rgba(0, 0, 0, 0.6);
}
.ft-jr-mode .ft-jr-combo__head {
	background: linear-gradient(135deg, rgba(250, 204, 21, 0.06) 0%, var(--ft-jr-bg-mid) 100%);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-jr-combo__count {
	background: rgba(250, 204, 21, 0.06);
	color: var(--ft-jr-muted);
}
.ft-jr-mode .ft-jr-combo__visual {
	background: linear-gradient(180deg, var(--ft-jr-bg-card) 0%, #221a1c 100%);
}
.ft-jr-mode .ft-jr-combo__item img {
	background: #0d0809;
	border-color: rgba(255, 255, 255, 0.06);
}
.ft-jr-mode .ft-jr-combo__item--wine img { background: #000; border-color: #1a0f0a; }
.ft-jr-mode .ft-jr-combo__item-label { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-jr-combo__plus {
	background: rgba(250, 204, 21, 0.08);
	color: var(--ft-yellow);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-jr-combo__title { color: #fff; }
.ft-jr-mode .ft-jr-combo__price-line {
	background: rgba(250, 204, 21, 0.06);
}
.ft-jr-mode .ft-jr-combo__price-line small { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-jr-combo__price-line strong { color: #fff; }

.ft-jr-mode .ft-jr-others__title { color: #fff; }
.ft-jr-mode .ft-jr-other {
	background: var(--ft-jr-bg-card);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-jr-other:hover {
	border-color: var(--ft-yellow);
	box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.5);
}
.ft-jr-mode .ft-jr-other__name { color: #fff; }
.ft-jr-mode .ft-jr-other__price { color: var(--ft-yellow); }

/* ─── Shop archive cuando es la categoría vinos / artesanías ─── */
.ft-jr-mode .ft-shop-hero {
	background: linear-gradient(135deg, #1a0f0a 0%, #2c1810 50%, #1a1416 100%);
}
.ft-jr-mode .ft-shop {
	background: var(--ft-jr-bg);
}
.ft-jr-mode .ft-shop__sidebar,
.ft-jr-mode .ft-shop__filters,
.ft-jr-mode .ft-filter,
.ft-jr-mode .ft-filter__section {
	background: var(--ft-jr-bg-card);
	color: var(--ft-jr-text);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-shop__filters-heading { color: var(--ft-yellow); border-color: var(--ft-jr-line); }
.ft-jr-mode .ft-filter__header { color: #fff; }
.ft-jr-mode .ft-filter__cat-name { color: var(--ft-jr-text); }
.ft-jr-mode .ft-filter__cat-count { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-filter__cat-check input[type="checkbox"] {
	background: var(--ft-jr-bg-mid);
	border-color: var(--ft-jr-line);
}

/* En JR mode ocultar la tira de categorías destacadas (expone otros rubros) */
.ft-jr-mode .ft-cat-strip,
.ft-jr-mode .ft-shop__category-strip { display: none !important; }

/* Product card en grid (shop archive) */
.ft-jr-mode .ft-product-card {
	background: var(--ft-jr-bg-card);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-product-card__title { color: #fff; }
.ft-jr-mode .ft-product-card__price,
.ft-jr-mode .ft-product-card__price .amount { color: var(--ft-yellow) !important; }
.ft-jr-mode .ft-product-card__cat { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-product-card__specs { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-product-card .add_to_cart_button,
.ft-jr-mode .ft-product-card__actions .button {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
}

/* ─── Cart en JR mode ─── */
.ft-jr-mode .ft-cart,
.ft-jr-mode .woocommerce-cart-form,
.ft-jr-mode .ft-cart__collaterals {
	background: var(--ft-jr-bg-card);
	color: var(--ft-jr-text);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-cart .shop_table,
.ft-jr-mode table.shop_table {
	background: transparent;
	color: var(--ft-jr-text);
}
.ft-jr-mode .shop_table th,
.ft-jr-mode .shop_table td {
	border-color: var(--ft-jr-line);
	color: var(--ft-jr-text);
}
.ft-jr-mode .shop_table thead th { color: var(--ft-jr-muted); }
.ft-jr-mode .cart_totals h2,
.ft-jr-mode .cart-empty,
.ft-jr-mode .ft-cart h2 { color: #fff; }
.ft-jr-mode .button.checkout-button,
.ft-jr-mode .checkout-button {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	border: 0 !important;
	font-weight: 800;
}

/* ─── Checkout en JR mode ─── */
.ft-jr-mode .ft-checkout-wrap { color: var(--ft-jr-text); }
.ft-jr-mode .ft-step-card {
	background: var(--ft-jr-bg-card);
	border-color: var(--ft-jr-line);
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.5);
}
.ft-jr-mode .ft-step-header { background: linear-gradient(135deg, #1a0f0a 0%, var(--ft-jr-bg) 100%); }
.ft-jr-mode .ft-step-nav { background: var(--ft-jr-bg-mid); border-color: var(--ft-jr-line); }
.ft-jr-mode .ft-step-body label,
.ft-jr-mode .ft-step-body .form-row label { color: var(--ft-jr-text); }
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper input,
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper select,
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper textarea,
.ft-jr-mode .ft-step-body .select2-selection {
	background: var(--ft-jr-bg-mid) !important;
	border-color: var(--ft-jr-line) !important;
	color: #fff !important;
}
.ft-jr-mode .ft-step-body input::placeholder,
.ft-jr-mode .ft-step-body textarea::placeholder { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-step-body .select2-selection__rendered { color: #fff !important; }
.ft-jr-mode .ft-step-body .select2-dropdown {
	background: var(--ft-jr-bg-mid);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-step-body .select2-results__option { color: var(--ft-jr-text); }
.ft-jr-mode .ft-step-body .select2-results__option--highlighted { background: rgba(250, 204, 21, 0.15) !important; color: var(--ft-yellow) !important; }
.ft-jr-mode .ft-step-body h3 { color: var(--ft-yellow); border-color: var(--ft-jr-line); }
.ft-jr-mode .ft-login-notice { color: var(--ft-jr-muted); }
.ft-jr-mode .ft-login-notice a { color: var(--ft-yellow); }
.ft-jr-mode .ft-confirm-info {
	background: rgba(250, 204, 21, 0.06);
	border-color: var(--ft-jr-line);
	color: var(--ft-jr-text);
}
.ft-jr-mode #ft-shipping-wrapper .woocommerce-shipping-methods li {
	background: var(--ft-jr-bg-mid);
	border-color: var(--ft-jr-line);
	color: var(--ft-jr-text);
}
.ft-jr-mode #ft-shipping-wrapper .woocommerce-shipping-methods li.is-selected {
	background: rgba(250, 204, 21, 0.08);
	border-color: var(--ft-yellow);
}
.ft-jr-mode .ft-order-summary {
	background: var(--ft-jr-bg-card);
	border-color: var(--ft-jr-line);
}
.ft-jr-mode .ft-summary-header { background: linear-gradient(135deg, #1a0f0a 0%, var(--ft-jr-bg) 100%); }
.ft-jr-mode .woocommerce-checkout-review-order-table tbody td,
.ft-jr-mode .woocommerce-checkout-review-order-table tbody td.product-name { color: var(--ft-jr-text); }
.ft-jr-mode .woocommerce-checkout-review-order-table thead th { color: var(--ft-jr-muted); }
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot th,
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot td { color: var(--ft-jr-text); }
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot .order-total td,
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot .order-total th { color: var(--ft-yellow); }
.ft-jr-mode .ft-summary-coupon { background: var(--ft-jr-bg-mid); border-color: var(--ft-jr-line); }
.ft-jr-mode .ft-summary-coupon__toggle { color: var(--ft-jr-text); }
.ft-jr-mode .ft-summary-coupon__toggle:hover { background: rgba(250, 204, 21, 0.06); }
.ft-jr-mode .ft-summary-coupon__input {
	background: var(--ft-jr-bg) !important;
	border-color: var(--ft-jr-line) !important;
	color: #fff !important;
}
.ft-jr-mode .ft-btn-prev,
.ft-jr-mode .btn-outline-dark {
	background: transparent !important;
	color: var(--ft-jr-text) !important;
	border-color: var(--ft-jr-line) !important;
}
.ft-jr-mode .ft-btn-next,
.ft-jr-mode .btn-primary {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	border: 0 !important;
}
.ft-jr-mode #place_order,
.ft-jr-mode button[name="woocommerce_checkout_place_order"] {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	font-weight: 800;
}

/* ─── Hide menu items que exponen otros rubros ─── */
.ft-jr-mode #nav-main .ft-menu-importaciones,
.ft-jr-mode #nav-main #menu-item-importaciones { display: none !important; }

/* Footer ya tenemos: .ft-footer__col--catalog hidden. Reforzar tono */
.ft-jr-mode .ft-footer { background: #050405; }
.ft-jr-mode .ft-footer__trust { background: var(--ft-jr-bg-mid); color: var(--ft-jr-text); border-bottom: 1px solid var(--ft-jr-line); }
.ft-jr-mode .ft-footer__trust-title { color: var(--ft-yellow); }

/* JR banner ya existe — match dark mode */

/* ════════════════════════════════════════════════════════════
   JR Mode — Header & Footer PROPIOS (ocultan los de FT)
   ════════════════════════════════════════════════════════════ */
/* Esconder TODO el chrome de FT en modo JR — header, footer, banners. */
.ft-jr-mode #masthead,
.ft-jr-mode .site-header,
.ft-jr-mode .top-button,
.ft-jr-mode #footer,
.ft-jr-mode .ft-footer { display: none !important; }
.ft-jr-mode { padding-top: 0 !important; }

/* ── JR Header propio ─────────────────────────────── */
.ft-jr-nav {
	position: sticky;
	top: 0;
	z-index: 1050;
	background: linear-gradient(180deg, #0d0809 0%, #15100f 100%);
	border-bottom: 1px solid rgba(250, 204, 21, 0.18);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
.ft-jr-nav__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.85rem 1.25rem;
	gap: 1rem;
}
.ft-jr-nav__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.15s ease;
}
.ft-jr-nav__brand:hover { opacity: 0.85; color: #fff; }
.ft-jr-nav__mark {
	width: 44px;
	height: 44px;
	border: 1.5px solid var(--ft-yellow);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif;
	font-style: italic;
	font-weight: 600;
	font-size: 1.15rem;
	color: var(--ft-yellow);
	background: #0a0809;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
}
/* jorgeRojas-iso.png ya es solo el isotipo, square → contain con padding interno. */
.ft-jr-nav__mark-img {
	width: 72%;
	height: 72%;
	object-fit: contain;
	display: block;
}
.ft-jr-nav__brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}
.ft-jr-nav__name {
	font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif;
	font-style: italic;
	font-weight: 600;
	font-size: 1.25rem;
	color: #fff;
	letter-spacing: 0.01em;
}
.ft-jr-nav__sub {
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 204, 21, 0.85);
	margin-top: 2px;
}
.ft-jr-nav__actions {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.ft-jr-nav__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	position: relative;
}
.ft-jr-nav__btn:hover {
	background: rgba(250, 204, 21, 0.12);
	border-color: var(--ft-yellow);
	color: var(--ft-yellow);
}
.ft-jr-nav__btn--wa svg { color: #25d366; }
.ft-jr-nav__btn--wa:hover { background: rgba(37, 211, 102, 0.12); border-color: #25d366; color: #25d366; }
.ft-jr-nav__btn--wa:hover svg { color: #25d366; }
.ft-jr-nav__cart-count {
	position: absolute;
	top: -6px;
	right: -6px;
	background: var(--ft-yellow);
	color: #0a0809;
	font-size: 0.65rem;
	font-weight: 800;
	min-width: 18px;
	height: 18px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	border: 1.5px solid #0d0809;
}
.ft-jr-nav__strap {
	background: #0a0809;
	color: rgba(250, 204, 21, 0.75);
	text-align: center;
	padding: 0.4rem;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 600;
	border-top: 1px solid rgba(250, 204, 21, 0.1);
}
.ft-jr-nav__strap strong { color: var(--ft-yellow); font-weight: 700; }

@media (max-width: 575.98px) {
	.ft-jr-nav__inner { padding: 0.7rem 0.85rem; gap: 0.5rem; }
	.ft-jr-nav__mark { width: 38px; height: 38px; font-size: 1rem; }
	.ft-jr-nav__name { font-size: 1.05rem; }
	.ft-jr-nav__sub { font-size: 0.55rem; letter-spacing: 0.18em; }
	.ft-jr-nav__btn { padding: 0.5rem 0.7rem; font-size: 0.78rem; }
	.ft-jr-nav__btn--wa .ft-jr-nav__btn-label { display: none; }
	.ft-jr-nav__strap { font-size: 0.62rem; padding: 0.35rem; letter-spacing: 0.14em; }
}

/* ── JR Footer propio ─────────────────────────────── */
.ft-jr-footer {
	background: #050405;
	border-top: 1px solid rgba(250, 204, 21, 0.15);
	padding: 2.5rem 0 2rem;
	color: rgba(255, 255, 255, 0.7);
	margin-top: clamp(3rem, 6vw, 5rem);
}
.ft-jr-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	text-align: center;
}
@media (min-width: 768px) {
	.ft-jr-footer__inner {
		grid-template-columns: 1fr 1fr 1fr;
		text-align: left;
		align-items: center;
		gap: 2rem;
	}
}
.ft-jr-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	justify-content: center;
}
@media (min-width: 768px) { .ft-jr-footer__brand { justify-content: flex-start; } }
.ft-jr-footer__mark {
	width: 40px; height: 40px; font-size: 1rem;
}
.ft-jr-footer__name {
	display: block;
	font-family: "Playfair Display", serif;
	font-style: italic;
	font-size: 1.15rem;
	color: #fff;
	line-height: 1.15;
}
.ft-jr-footer__sub {
	display: block;
	font-size: 0.7rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(250, 204, 21, 0.75);
	margin-top: 3px;
}
.ft-jr-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	justify-content: center;
	font-size: 0.85rem;
}
.ft-jr-footer__links a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 2px;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.ft-jr-footer__links a:hover { color: var(--ft-yellow); border-bottom-color: var(--ft-yellow); }
.ft-jr-footer__legal {
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.5);
	text-align: center;
}
@media (min-width: 768px) { .ft-jr-footer__legal { text-align: right; } }
.ft-jr-footer__legal strong { color: var(--ft-yellow); font-weight: 700; }

/* ── Checkout en JR mode — cards CLARAS sobre fondo dark (premium trust) ── */
.ft-jr-mode .ft-checkout-wrap { color: var(--ft-jr-text); }
.ft-jr-mode .ft-step-card {
	background: #fafaf8;
	border-color: rgba(0, 0, 0, 0.08);
	color: #1a1416;
	box-shadow: 0 24px 50px -20px rgba(0, 0, 0, 0.6);
}
.ft-jr-mode .ft-step-header {
	background: linear-gradient(135deg, #15100f 0%, #1a0f0a 100%);
	color: #fff;
}
.ft-jr-mode .ft-step-nav {
	background: #f1ede5;
	border-top-color: rgba(0, 0, 0, 0.08);
}
.ft-jr-mode .ft-step-body { background: #fafaf8; color: #1a1416; }
.ft-jr-mode .ft-step-body label,
.ft-jr-mode .ft-step-body .form-row label {
	color: #495057;
}
.ft-jr-mode .ft-step-body h3 {
	color: #6b5f50;
	border-color: rgba(176, 133, 0, 0.25);
}
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper input,
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper select,
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper textarea,
.ft-jr-mode .ft-step-body .select2-selection {
	background: #fff !important;
	border-color: #dadde0 !important;
	color: #1a1416 !important;
}
.ft-jr-mode .ft-step-body input::placeholder,
.ft-jr-mode .ft-step-body textarea::placeholder { color: #9aa0a6; }
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper input:focus,
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper select:focus,
.ft-jr-mode .ft-step-body .woocommerce-input-wrapper textarea:focus {
	border-color: var(--ft-yellow) !important;
	box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.15) !important;
}
.ft-jr-mode .ft-step-body .select2-selection__rendered { color: #1a1416 !important; }
.ft-jr-mode .ft-step-body .select2-dropdown { background: #fff; border-color: #dadde0; }
.ft-jr-mode .ft-step-body .select2-results__option { color: #1a1416; }
.ft-jr-mode .ft-step-body .select2-results__option--highlighted {
	background: rgba(250, 204, 21, 0.15) !important;
	color: #1a1416 !important;
}
.ft-jr-mode .ft-login-notice { color: #6c757d; }
.ft-jr-mode .ft-login-notice a { color: var(--ft-yellow-dark, #b08500); }
.ft-jr-mode .ft-confirm-info {
	background: #fff8e1;
	border-color: rgba(176, 133, 0, 0.2);
	color: #1a1416;
}
.ft-jr-mode #ft-shipping-wrapper .woocommerce-shipping-methods li {
	background: #fff;
	border-color: #dadde0;
	color: #1a1416;
}
.ft-jr-mode #ft-shipping-wrapper .woocommerce-shipping-methods li.is-selected {
	background: rgba(250, 204, 21, 0.08);
	border-color: var(--ft-yellow);
}
/* Summary panel (resumen sticky derecha) en checkout — también claro */
.ft-jr-mode .ft-order-summary {
	background: #fafaf8;
	border-color: rgba(0, 0, 0, 0.08);
	color: #1a1416;
	box-shadow: 0 24px 50px -20px rgba(0, 0, 0, 0.6);
}
.ft-jr-mode .ft-summary-header {
	background: linear-gradient(135deg, #15100f 0%, #1a0f0a 100%);
}
.ft-jr-mode .woocommerce-checkout-review-order-table tbody td,
.ft-jr-mode .woocommerce-checkout-review-order-table tbody td.product-name { color: #1a1416; }
.ft-jr-mode .woocommerce-checkout-review-order-table thead th { color: #6b5f50; }
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot th,
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot td { color: #1a1416; }
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot .order-total td,
.ft-jr-mode .woocommerce-checkout-review-order-table tfoot .order-total th { color: var(--ft-yellow-dark, #b08500); }
.ft-jr-mode .ft-summary-coupon { background: #f1ede5; border-color: rgba(0, 0, 0, 0.08); }
.ft-jr-mode .ft-summary-coupon__toggle { color: #1a1416; }
.ft-jr-mode .ft-summary-coupon__toggle:hover { background: rgba(176, 133, 0, 0.08); }
.ft-jr-mode .ft-summary-coupon__input {
	background: #fff !important;
	border-color: #dadde0 !important;
	color: #1a1416 !important;
}
/* Cart en JR mode — también con cards claras sobre fondo dark */
.ft-jr-mode .ft-cart,
.ft-jr-mode .woocommerce-cart-form,
.ft-jr-mode .ft-cart__collaterals {
	background: #fafaf8;
	color: #1a1416;
	border-color: rgba(0, 0, 0, 0.08);
}
.ft-jr-mode table.shop_table {
	background: #fafaf8;
	color: #1a1416;
}
.ft-jr-mode .shop_table th,
.ft-jr-mode .shop_table td {
	border-color: rgba(0, 0, 0, 0.08);
	color: #1a1416;
}
.ft-jr-mode .shop_table thead th { color: #6b5f50; }
.ft-jr-mode .cart_totals h2,
.ft-jr-mode .cart-empty,
.ft-jr-mode .ft-cart h2 { color: #1a1416; }

/* ════════════════════════════════════════════════════════════
   JR SINGLE PRODUCT (.ft-jrsp) — template PREMIUM wine shop
   Layout completamente custom: hero grande + tasting profile + trust band
   ════════════════════════════════════════════════════════════ */
.ft-jrsp {
	color: var(--ft-jr-text);
	background: var(--ft-jr-bg);
	padding-bottom: 1px; /* evita margin collapse con secciones */
}
.ft-jrsp .container { max-width: 1280px; }

/* Breadcrumb sutil */
.ft-jrsp__crumbs { padding: 1.25rem 1.25rem 0; }
.ft-jrsp__breadcrumb,
.ft-jrsp__breadcrumb a {
	font-size: 0.78rem;
	color: var(--ft-jr-muted);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 600;
}
.ft-jrsp__breadcrumb a:hover { color: var(--jr-gold, #c89a47); }
.ft-jrsp__crumb-sep { color: var(--jr-gold, #c89a47); opacity: 0.5; margin: 0 0.25rem; }

/* HERO */
.ft-jrsp__hero {
	padding: 1.5rem 0 clamp(2.5rem, 5vw, 4rem);
}
.ft-jrsp__hero-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: start;
}
@media (min-width: 992px) {
	.ft-jrsp__hero-grid {
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
	}
}

/* Media: imagen con glow + frame */
.ft-jrsp__media {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.ft-jrsp__media-glow {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 70%;
	height: 70%;
	transform: translate(-50%, -50%);
	background: radial-gradient(circle, rgba(200, 154, 71, 0.28) 0%, transparent 65%);
	filter: blur(60px);
	pointer-events: none;
	z-index: 0;
}
.ft-jrsp__media-frame {
	position: relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: 4 / 5;
	background: linear-gradient(180deg, #1a1416 0%, #0a0809 100%);
	border: 1px solid var(--ft-jr-line);
	border-radius: 1.5rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.7);
}
.ft-jrsp__img {
	max-height: 90%;
	max-width: 75%;
	object-fit: contain;
	filter: drop-shadow(0 24px 36px rgba(0, 0, 0, 0.55));
	transition: transform 0.4s cubic-bezier(.2,.8,.2,1);
}
.ft-jrsp__media-frame:hover .ft-jrsp__img { transform: translateY(-6px) scale(1.02); }
.ft-jrsp__badge-sale {
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding: 0.4rem 0.9rem;
	background: var(--jr-wine, #7a1f2c);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 999px;
	z-index: 3;
}
.ft-jrsp__gallery-thumbs {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	justify-content: center;
}
.ft-jrsp__thumb {
	width: 56px;
	height: 56px;
	border-radius: 0.5rem;
	overflow: hidden;
	border: 2px solid var(--ft-jr-line);
	background: var(--ft-jr-bg-card);
	cursor: pointer;
	padding: 0;
	transition: border-color 0.2s ease, transform 0.15s ease;
}
.ft-jrsp__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.ft-jrsp__thumb:hover { border-color: var(--jr-gold, #c89a47); transform: translateY(-2px); }
.ft-jrsp__thumb.is-active { border-color: var(--jr-gold, #c89a47); }

/* Info panel */
.ft-jrsp__info {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.ft-jrsp__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1rem;
}
.ft-jrsp__chip {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ft-jr-muted);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--ft-jr-line);
	border-radius: 999px;
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.ft-jrsp__chip:hover { color: var(--jr-gold, #c89a47); border-color: var(--jr-gold, #c89a47); }
.ft-jrsp__chip--primary {
	color: var(--jr-gold, #c89a47);
	border-color: var(--jr-gold, #c89a47);
	background: rgba(200, 154, 71, 0.06);
}

.ft-jrsp__title {
	font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif !important;
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2rem, 4.2vw, 3.25rem);
	color: #fff;
	letter-spacing: -0.015em;
	line-height: 1.1;
	margin: 0 0 0.6rem;
}

.ft-jrsp__region {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--jr-gold, #c89a47);
	font-size: 0.85rem;
	font-weight: 600;
	margin: 0 0 1rem;
}
.ft-jrsp__region svg { color: var(--jr-gold, #c89a47); }

.ft-jrsp__short {
	font-family: "Playfair Display", serif;
	font-style: italic;
	font-size: 1.05rem;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.55;
	margin: 0 0 1.75rem;
	max-width: 42ch;
	border-left: 2px solid var(--jr-gold, #c89a47);
	padding-left: 1rem;
}

/* Price block */
.ft-jrsp__price-wrap {
	margin: 0 0 1.5rem;
	padding: 1.25rem 0;
	border-top: 1px solid var(--ft-jr-line);
	border-bottom: 1px solid var(--ft-jr-line);
}
.ft-jrsp__price-label {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ft-jr-muted);
	margin-bottom: 0.4rem;
}
.ft-jrsp__price {
	font-family: "Playfair Display", serif;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 600;
	color: var(--jr-gold, #c89a47);
	line-height: 1.1;
}
.ft-jrsp__price .ft-price__usd,
.ft-jrsp__price .ft-price__ars {
	color: var(--jr-gold, #c89a47) !important;
}
.ft-jrsp__price .woocommerce-Price-amount,
.ft-jrsp__price .amount {
	color: var(--jr-gold, #c89a47) !important;
}

/* Cart form */
.ft-jrsp__cart {
	margin-bottom: 1rem;
}
.ft-jrsp__cart form.cart {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 0.65rem !important;
	margin: 0 !important;
}
.ft-jrsp__cart form.cart .quantity {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	background: var(--ft-jr-bg-card);
	border: 1px solid var(--ft-jr-line);
	border-radius: 999px;
	padding: 0.15rem 0.5rem;
}
.ft-jrsp__cart form.cart .qty {
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
	width: 50px !important;
	text-align: center;
	font-weight: 700;
	font-size: 1rem;
	padding: 0.6rem 0 !important;
	box-shadow: none !important;
}
.ft-jrsp__cart form.cart .single_add_to_cart_button {
	background: var(--jr-gold, #c89a47) !important;
	color: var(--ft-jr-bg) !important;
	border: 0 !important;
	font-weight: 800 !important;
	font-size: 0.95rem !important;
	padding: 0.95rem 1.85rem !important;
	border-radius: 999px !important;
	white-space: nowrap !important;
	flex: 1 1 220px !important;
	min-width: 200px !important;
	box-shadow: 0 14px 28px -10px rgba(200, 154, 71, 0.45) !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}
.ft-jrsp__cart form.cart .single_add_to_cart_button:hover {
	background: var(--jr-gold-bright, #dfb874) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 18px 36px -10px rgba(200, 154, 71, 0.55) !important;
}

/* WhatsApp CTA */
.ft-jrsp__wa {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.9rem 1rem;
	background: rgba(37, 211, 102, 0.1);
	color: #25d366;
	border: 1px solid rgba(37, 211, 102, 0.35);
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.92rem;
	text-decoration: none;
	margin: 0.85rem 0 0;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.ft-jrsp__wa:hover {
	background: #25d366;
	color: #fff;
	transform: translateY(-1px);
}

/* Ver carrito link */
.ft-jrsp__view-cart {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.85rem;
	padding: 0.5rem 0;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--jr-gold, #c89a47);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease, gap 0.15s ease;
	align-self: flex-start;
}
.ft-jrsp__view-cart:hover {
	color: var(--jr-gold-bright, #dfb874);
	border-color: var(--jr-gold-bright, #dfb874);
	gap: 0.7rem;
}
.ft-jrsp__view-cart[data-cart-count="0"] { opacity: 0.55; }
.ft-jrsp__view-cart[data-cart-count="0"]:hover { opacity: 1; }

/* === TRUST BAND === */
.ft-jrsp__trust-band {
	background: var(--ft-jr-bg-mid);
	border-top: 1px solid var(--ft-jr-line);
	border-bottom: 1px solid var(--ft-jr-line);
	padding: 1.5rem 0;
	margin: 1rem 0 3rem;
}
.ft-jrsp__trust-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}
@media (min-width: 768px) {
	.ft-jrsp__trust-list { grid-template-columns: repeat(4, 1fr); }
}
.ft-jrsp__trust-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	text-align: left;
}
.ft-jrsp__trust-icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	background: rgba(200, 154, 71, 0.12);
	color: var(--jr-gold, #c89a47);
	display: grid;
	place-items: center;
	font-size: 1.05rem;
	border: 1px solid rgba(200, 154, 71, 0.3);
	line-height: 0;
}
.ft-jrsp__trust-icon svg { width: 22px; height: 22px; display: block; margin: 0; }
.ft-jrsp__trust-icon i { color: var(--jr-gold, #c89a47); }
.ft-jrsp__trust-item strong {
	display: block;
	font-size: 0.88rem;
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
}
.ft-jrsp__trust-item span {
	display: block;
	font-size: 0.75rem;
	color: var(--ft-jr-muted);
	line-height: 1.3;
	margin-top: 2px;
}

/* === TASTING PROFILE === */
.ft-jrsp__tasting {
	padding: clamp(3rem, 6vw, 5rem) 0;
}
.ft-jrsp__section-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 3rem;
}
.ft-jrsp__eyebrow {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--jr-gold, #c89a47);
	padding: 0.4rem 0.85rem;
	background: rgba(200, 154, 71, 0.08);
	border: 1px solid var(--ft-jr-line);
	border-radius: 999px;
	margin-bottom: 0.85rem;
}
.ft-jrsp__section-title {
	font-family: "Playfair Display", serif;
	font-weight: 600;
	font-size: clamp(1.75rem, 3.6vw, 2.5rem);
	color: #fff;
	margin: 0 0 0.5rem;
	letter-spacing: -0.01em;
}
.ft-jrsp__section-sub {
	color: var(--ft-jr-muted);
	font-size: 0.95rem;
	margin: 0;
}

.ft-jrsp__tasting-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 768px) {
	.ft-jrsp__tasting-grid { grid-template-columns: repeat(3, 1fr); }
}
.ft-jrsp__tasting-card {
	background: var(--ft-jr-bg-card);
	border: 1px solid var(--ft-jr-line);
	border-radius: 1.25rem;
	padding: 2rem 1.75rem;
	text-align: center;
	position: relative;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.ft-jrsp__tasting-card:hover {
	transform: translateY(-4px);
	border-color: var(--jr-gold, #c89a47);
	box-shadow: 0 30px 50px -25px rgba(200, 154, 71, 0.25);
}
.ft-jrsp__tasting-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: rgba(200, 154, 71, 0.1);
	color: var(--jr-gold, #c89a47);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ft-jrsp__tasting-card h3 {
	font-family: "Playfair Display", serif;
	font-weight: 600;
	font-size: 1.5rem;
	color: #fff;
	margin: 0 0 0.6rem;
	letter-spacing: 0.01em;
}
.ft-jrsp__tasting-card p {
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.55;
	margin: 0;
}

/* === DESCRIPCIÓN === */
.ft-jrsp__description {
	padding: 0 0 clamp(3rem, 5vw, 4rem);
}
.ft-jrsp__description-body {
	max-width: 720px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1.02rem;
	line-height: 1.7;
	text-align: center;
}
.ft-jrsp__description-body p { margin: 0 0 1rem; }

/* Toast del combo agregado */
.ft-jr-toast {
	position: fixed;
	bottom: 30px;
	right: 30px;
	background: var(--ft-black);
	color: #fff;
	padding: 0.85rem 1.25rem;
	border-radius: 0.65rem;
	font-size: 0.88rem;
	font-weight: 600;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.25);
	display: flex;
	align-items: center;
	gap: 1rem;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.25s ease, transform 0.25s ease;
	z-index: 99999;
	max-width: calc(100vw - 60px);
}
.ft-jr-toast.is-visible { opacity: 1; transform: translateY(0); }
.ft-jr-toast--error { background: #dc2626; }
.ft-jr-toast a {
	color: var(--ft-yellow);
	text-decoration: none;
	font-weight: 700;
	white-space: nowrap;
	border-bottom: 1px solid var(--ft-yellow);
	padding-bottom: 1px;
}
.ft-jr-toast a:hover { color: #fff; border-color: #fff; }
@media (max-width: 575.98px) {
	.ft-jr-toast { left: 12px; right: 12px; bottom: 12px; }
}

/* --- Tabs (descripción, specs extras, reviews) --- */
.ft-sp__tabs .woocommerce-tabs {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 1.25rem;
	overflow: hidden;
}
.ft-sp__tabs .woocommerce-tabs ul.tabs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	background: #fafafa;
	border-bottom: 1px solid #e9ecef;
	overflow-x: auto;
	scrollbar-width: none;
}
.ft-sp__tabs .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.ft-sp__tabs .woocommerce-tabs ul.tabs::before,
.ft-sp__tabs .woocommerce-tabs ul.tabs::after { display: none; }
.ft-sp__tabs .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	white-space: nowrap;
}
.ft-sp__tabs .woocommerce-tabs ul.tabs li::before,
.ft-sp__tabs .woocommerce-tabs ul.tabs li::after { display: none !important; }
.ft-sp__tabs .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 1rem 1.5rem;
	color: #6c757d;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	border-bottom: 1px solid transparent;
	transition: all 0.15s ease;
}
.ft-sp__tabs .woocommerce-tabs ul.tabs li.active a {
	color: var(--ft-black);
	background: #fff;
	border-bottom-color: var(--ft-yellow);
}
.ft-sp__tabs .woocommerce-tabs .panel {
	padding: 1.75rem;
	color: #4b5563;
	line-height: 1.65;
}
.ft-sp__tabs .woocommerce-tabs .panel h2 {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--ft-black);
	margin: 0 0 1rem;
}
.ft-sp__tabs .woocommerce-tabs .panel h3,
.ft-sp__tabs .woocommerce-tabs .panel h4 {
	margin-top: 1.25rem;
	color: var(--ft-black);
}

/* ══════════════════════════════════════════
   Product description — generated with icons
══════════════════════════════════════════ */

.ft-desc-intro {
	font-size: 1rem;
	line-height: 1.7;
	color: #4b5563;
	margin: 0 0 1rem;
}
.ft-desc-intro strong {
	color: var(--ft-black);
	font-weight: 700;
}

.ft-desc-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.4rem 0.8rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	border: 1px solid;
}
.ft-desc-badge i { font-size: 0.85rem; }
.ft-desc-badge--new {
	color: #166534;
	background: #f0fdf4;
	border-color: #bbf7d0;
}
.ft-desc-badge--used {
	color: #92400e;
	background: #fffbeb;
	border-color: #fde68a;
}

/* --- Highlights grid (icon tiles) --- */
.ft-desc-highlights {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 0.75rem;
	margin: 1.5rem 0;
}
.ft-desc-tile {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
	background: #fafafa;
	transition: all 0.2s ease;
}
.ft-desc-tile:hover {
	background: #fff;
	border-color: var(--ft-yellow);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}
.ft-desc-tile > i {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ft-black);
	background: var(--ft-yellow);
	border-radius: 0.5rem;
	font-size: 0.95rem;
}
.ft-desc-tile__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 0.1rem;
}
.ft-desc-tile__body strong {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--ft-black);
	line-height: 1.2;
	letter-spacing: -0.005em;
	word-break: break-word;
}
.ft-desc-tile__body span {
	font-size: 0.72rem;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 500;
}

/* --- Section headings inside description --- */
.ft-desc-heading {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 1.75rem 0 1rem !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: var(--ft-black) !important;
	letter-spacing: -0.01em;
}
.ft-desc-heading i {
	color: var(--ft-yellow-dark);
	font-size: 1rem;
}

/* --- Feature + use case lists --- */
.ft-desc-features,
.ft-desc-uses {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1rem !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
}
@media (min-width: 768px) {
	.ft-desc-features { grid-template-columns: 1fr 1fr; }
	.ft-desc-uses    { grid-template-columns: 1fr 1fr; }
}
.ft-desc-features li,
.ft-desc-uses li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.6rem 0.8rem;
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 0.5rem;
	line-height: 1.5;
	color: #4b5563;
	font-size: 0.9rem;
}
.ft-desc-features li::before,
.ft-desc-uses li::before { display: none !important; }
.ft-desc-features li > i,
.ft-desc-uses li > i {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ft-yellow-dark);
	font-size: 0.8rem;
	margin-top: 0.15rem;
}
.ft-desc-features li strong { color: var(--ft-black); font-weight: 700; }

/* --- Colores disponibles (chips redondos) --- */
.ft-desc-colors {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
}
.ft-desc-color {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.75rem;
	background: #fafafa;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ft-black);
}
.ft-desc-color i {
	font-size: 0.55rem;
	color: #9ca3af;
}

/* --- Chips (puertos, compatible con) --- */
.ft-desc-chips {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1rem !important;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}
.ft-desc-chips li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.75rem;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 0.5rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ft-black);
}
.ft-desc-chips li::before { display: none !important; }
.ft-desc-chips li i {
	font-size: 0.75rem;
	color: var(--ft-yellow-dark);
}

/* --- Qué incluye la caja --- */
.ft-desc-box {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1rem !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem;
}
@media (min-width: 768px) {
	.ft-desc-box { grid-template-columns: 1fr 1fr; }
}
.ft-desc-box li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.55rem 0.85rem;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 0.5rem;
	font-size: 0.88rem;
	font-weight: 500;
	color: #166534;
}
.ft-desc-box li::before { display: none !important; }
.ft-desc-box li i {
	color: #16a34a;
	font-size: 0.85rem;
}

/* --- Trust row --- */
.ft-desc-trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0.6rem;
	margin-top: 1.75rem;
	padding: 1rem;
	background: linear-gradient(135deg, #fafafa, #fff);
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
}
.ft-desc-trust__item {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ft-black);
}
.ft-desc-trust__item i {
	color: var(--ft-yellow-dark);
	font-size: 1rem;
}

/* --- Related / upsells --- */
.ft-sp .related,
.ft-sp .upsells {
	margin-top: 3rem;
}
.ft-sp .related > h2,
.ft-sp .upsells > h2 {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0 0 1.5rem;
	color: var(--ft-black);
}
.ft-sp .related ul.products,
.ft-sp .upsells ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.25rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
.ft-sp .related ul.products::before,
.ft-sp .related ul.products::after,
.ft-sp .upsells ul.products::before,
.ft-sp .upsells ul.products::after { display: none !important; }
.ft-sp .related ul.products li.product,
.ft-sp .upsells ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

/* --- Thank-you page --- */
.ft-thankyou {
	max-width: 820px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4rem) 1rem 4rem;
}
.ft-thankyou__header {
	text-align: center;
	margin-bottom: 2rem;
}
.ft-thankyou__icon {
	color: #16a34a;
	margin-bottom: 1rem;
}
.ft-thankyou__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem;
}
.ft-thankyou__order-num {
	font-size: 1.05rem;
	color: #6c757d;
	margin: 0;
}
.ft-thankyou__cta-card {
	background: linear-gradient(135deg, #0a0809 0%, #212121 100%);
	color: #fff;
	border-radius: 1.25rem;
	padding: clamp(1.75rem, 4vw, 2.5rem);
	text-align: center;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}
.ft-thankyou__cta-title {
	font-size: clamp(1.25rem, 2.2vw, 1.5rem);
	font-weight: 700;
	color: #fff;
	margin: 0 0 0.75rem;
}
.ft-thankyou__cta-sub {
	font-size: 1rem;
	opacity: 0.85;
	max-width: 32rem;
	margin: 0 auto 1.5rem;
	line-height: 1.5;
}
.ft-thankyou__whatsapp-btn {
	display: inline-flex;
	align-items: center;
	padding: 0.9rem 2rem;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	--bs-btn-bg: #25d366;
	--bs-btn-border-color: #25d366;
	--bs-btn-hover-bg: #128c7e;
	--bs-btn-hover-border-color: #128c7e;
	--bs-btn-active-bg: #128c7e;
	--bs-btn-color: #fff;
	--bs-btn-hover-color: #fff;
	box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
}
.ft-thankyou__whatsapp-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(37, 211, 102, 0.45);
	transition: all 0.2s ease;
}
.ft-thankyou__cta-fineprint {
	font-size: 0.85rem;
	opacity: 0.6;
	margin: 1.25rem 0 0;
}
.ft-thankyou__section {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 1rem;
	padding: 1.5rem;
	height: 100%;
}
.ft-thankyou__section h3 {
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6c757d;
	margin: 0 0 1rem;
}
.ft-thankyou__section address {
	font-style: normal;
	line-height: 1.6;
}

/* Items del detalle del pedido — layout que aguanta cualquier cantidad de items */
.ft-thankyou__items {
	list-style: none;
	padding: 0;
	margin: 0 0 1rem;
	display: flex;
	flex-direction: column;
}
.ft-thankyou__item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 0.85rem;
	align-items: center;
	padding: 0.75rem 0;
	border-bottom: 1px solid #f0f1f3;
}
.ft-thankyou__item:last-child { border-bottom: 0; }

.ft-thankyou__item-img {
	position: relative;
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	border-radius: 0.5rem;
	overflow: hidden;
	background: #f5f6f8;
	border: 1px solid #e9ecef;
}
.ft-thankyou__item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ft-thankyou__item-qty {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	background: var(--ft-black);
	color: var(--ft-yellow);
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	line-height: 1;
}

.ft-thankyou__item-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.ft-thankyou__item-name {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--ft-black);
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.ft-thankyou__item-qty-line {
	font-size: 0.78rem;
	color: #6c757d;
}

.ft-thankyou__item-price {
	font-weight: 700;
	color: var(--ft-black);
	white-space: nowrap;
	font-size: 0.95rem;
	text-align: right;
	align-self: center;
}

.ft-thankyou__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.85rem;
	margin-top: 0.5rem;
	border-top: 2px solid #e9ecef;
	font-size: 1rem;
}
.ft-thankyou__total-amount {
	font-size: 1.25rem;
	color: var(--ft-black);
	white-space: nowrap;
}

@media (max-width: 480px) {
	.ft-thankyou__item {
		grid-template-columns: 48px 1fr auto;
		gap: 0.65rem;
	}
	.ft-thankyou__item-img {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
	}
	.ft-thankyou__item-name { font-size: 0.85rem; }
	.ft-thankyou__item-price { font-size: 0.88rem; }
}

/* === Internal pages =============================================== */
.ft-page {
	--ft-page-hero-bg: linear-gradient(135deg, #fffbe6 0%, #fff 60%);
}
.ft-page-hero {
	background: var(--ft-page-hero-bg);
	padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2rem, 5vw, 3.5rem);
	border-bottom: 1px solid #f1f1f1;
}
.ft-page-hero__title {
	font-size: clamp(1.875rem, 4vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
}
.ft-page-hero__sub {
	color: #6c757d;
	font-size: 1.05rem;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}
.ft-page-hero__slogan {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--ft-yellow-dark);
	margin: 1.25rem 0 0.5rem;
	letter-spacing: 0.02em;
}
.ft-page-hero__img {
	max-width: 340px;
	width: 100%;
	height: auto;
}

.ft-section--light {
	background: #fafafa;
}

/* Feature cards (Quienes Somos / Importaciones) */
.ft-feature-card {
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: 1.75rem 1.5rem;
	text-align: center;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ft-feature-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	border-color: #e0e0e0;
}
.ft-feature-card__icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ft-yellow);
	color: var(--ft-black);
	border-radius: 50%;
}
.ft-feature-card__icon svg {
	width: 28px;
	height: 28px;
}
.ft-feature-card__title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.5rem;
}
.ft-feature-card__text {
	color: #555;
	font-size: 0.95rem;
	line-height: 1.55;
}

/* Contact page */
.ft-contact-info {
	background: #fafafa;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: clamp(1.5rem, 3vw, 2rem);
}
.ft-contact-info__item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	padding: 1rem 0;
	border-top: 1px solid #eceff1;
}
.ft-contact-info__item:first-of-type {
	border-top: 0;
	padding-top: 0;
}
.ft-contact-info__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: var(--ft-yellow);
	color: var(--ft-black);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ft-contact-info__icon svg {
	width: 20px;
	height: 20px;
}
.ft-contact-info__label {
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6c757d;
	margin-bottom: 0.125rem;
}
.ft-contact-info__value {
	color: var(--ft-black);
	text-decoration: none;
	font-weight: 500;
	line-height: 1.5;
}
.ft-contact-info__value:hover {
	color: var(--ft-yellow-dark);
}

.ft-contact-form {
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: clamp(1.5rem, 3vw, 2rem);
}
.ft-contact-form .wpcf7-form input[type="text"],
.ft-contact-form .wpcf7-form input[type="email"],
.ft-contact-form .wpcf7-form textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #d5d9dc;
	border-radius: 0.5rem;
	font-family: inherit;
	font-size: 1rem;
	margin-bottom: 0.875rem;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ft-contact-form .wpcf7-form input[type="text"]:focus,
.ft-contact-form .wpcf7-form input[type="email"]:focus,
.ft-contact-form .wpcf7-form textarea:focus {
	outline: 0;
	border-color: var(--ft-yellow);
	box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.2);
}
.ft-contact-form .wpcf7-form input[type="submit"] {
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-weight: 600;
	border: 0;
	padding: 0.75rem 1.75rem;
	border-radius: 0.5rem;
	cursor: pointer;
	transition: background .15s ease;
}
.ft-contact-form .wpcf7-form input[type="submit"]:hover {
	background: var(--ft-yellow-dark);
}
.ft-contact-form .wpcf7-form br {
	display: none;
}

.ft-map-section {
	padding: 0;
}
.ft-map-embed {
	width: 100%;
	height: 400px;
	line-height: 0;
}
.ft-map-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* FAQ */
.ft-faq-accordion .accordion-item {
	border: 1px solid #eceff1;
	border-radius: 0.75rem !important;
	margin-bottom: 0.75rem;
	overflow: hidden;
}
.ft-faq-accordion .accordion-button {
	font-weight: 600;
	color: var(--ft-black);
	padding: 1.125rem 1.25rem;
}
.ft-faq-accordion .accordion-button:not(.collapsed) {
	background: #fffbe6;
	color: var(--ft-black);
	box-shadow: none;
}
.ft-faq-accordion .accordion-button:focus {
	box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.2);
	border-color: var(--ft-yellow);
}
.ft-faq-accordion .accordion-body {
	padding: 1rem 1.25rem 1.25rem;
	color: #444;
	line-height: 1.65;
}
.ft-faq-cta {
	padding-top: 1rem;
}

/* Import steps */
.ft-step-card {
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: 2rem 1.5rem;
	text-align: center;
	position: relative;
}
.ft-step-card__num {
	width: 56px;
	height: 56px;
	margin: 0 auto 1rem;
	background: var(--ft-black);
	color: var(--ft-yellow);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 800;
}
.ft-step-card__text {
	color: #444;
	line-height: 1.6;
}

/* CTA band */
.ft-cta-band {
	background: linear-gradient(135deg, var(--ft-black) 0%, var(--ft-gray-900) 100%);
	color: #fff;
	padding: clamp(2.5rem, 5vw, 4rem) 0;
}
.ft-cta-band__title {
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: 700;
	margin: 0 0 0.5rem;
	line-height: 1.35;
}
.ft-cta-band__sub {
	color: #d0d0d0;
	margin: 0;
}

/* Legal / terms */
.ft-legal__section {
	margin-bottom: 2.25rem;
}
.ft-legal__title {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
	display: flex;
	gap: 0.5rem;
	align-items: baseline;
	scroll-margin-top: 80px;
}
.ft-legal__num {
	color: var(--ft-yellow-dark);
	font-weight: 800;
	min-width: 2ch;
}
.ft-legal__body {
	color: #444;
	line-height: 1.7;
}
.ft-legal__body p {
	margin: 0 0 0.875rem;
}
.ft-legal__body a {
	color: var(--ft-black);
	text-decoration: underline;
}
.ft-legal__body a:hover {
	color: var(--ft-yellow-dark);
}

/* === Footer "super pro" =========================================== */
.ft-footer {
	margin-top: clamp(2rem, 5vw, 4rem);
	color: #cbd5e1;
	font-size: 0.95rem;
	line-height: 1.6;
}

/* Trust strip */
.ft-footer__trust {
	background: var(--ft-yellow);
	color: var(--ft-black);
	padding: 1.25rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.ft-footer__trust-item {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	justify-content: center;
}
@media (min-width: 992px) {
	.ft-footer__trust-item {
		justify-content: flex-start;
	}
}
.ft-footer__trust-item svg {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
}
.ft-footer__trust-title {
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.2;
	color: var(--ft-black);
}
.ft-footer__trust-sub {
	font-size: 0.8rem;
	color: rgba(10, 8, 9, 0.7);
	font-weight: 500;
}

/* Main footer (dark) */
.ft-footer__main {
	background: linear-gradient(180deg, #111111 0%, #0a0809 100%);
	color: #cbd5e1;
	padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(2rem, 4vw, 3rem);
	position: relative;
}
.ft-footer__main::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg, transparent 0%, var(--ft-yellow) 50%, transparent 100%);
	opacity: 0.35;
}

.ft-footer__brand-col {
	padding-right: clamp(0px, 2vw, 2rem);
}
.ft-footer__logo {
	display: inline-block;
	margin-bottom: 1.25rem;
}
.ft-footer__logo img {
	height: auto;
	max-width: 160px;
	filter: brightness(0) invert(1);
}
.ft-footer__about {
	color: #94a3b8;
	margin: 0 0 1.5rem;
	font-size: 0.95rem;
	line-height: 1.65;
}

/* WhatsApp CTA card */
.ft-footer__wa {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	background: rgba(37, 211, 102, 0.12);
	border: 1px solid rgba(37, 211, 102, 0.4);
	color: #fff;
	padding: 0.75rem 1.125rem;
	border-radius: 0.75rem;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, transform .15s ease;
	margin-bottom: 1.5rem;
}
.ft-footer__wa:hover {
	background: rgba(37, 211, 102, 0.2);
	border-color: rgba(37, 211, 102, 0.7);
	color: #fff;
	transform: translateY(-1px);
}
.ft-footer__wa svg {
	width: 28px;
	height: 28px;
	color: #25d366;
	flex-shrink: 0;
}
.ft-footer__wa span {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}
.ft-footer__wa small {
	font-size: 0.72rem;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 500;
}
.ft-footer__wa strong {
	font-size: 1rem;
	color: #fff;
	font-weight: 700;
	margin-top: 1px;
}

/* Social icons */
.ft-footer__social {
	display: flex;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ft-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #cbd5e1;
	transition: background .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
}
.ft-footer__social a:hover {
	background: var(--ft-yellow);
	color: var(--ft-black);
	border-color: var(--ft-yellow);
	transform: translateY(-2px);
}
.ft-footer__social svg {
	width: 18px;
	height: 18px;
}

/* Columns */
.ft-footer__title {
	color: #fff;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 1.25rem;
	padding-bottom: 0.625rem;
	position: relative;
}
.ft-footer__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: var(--ft-yellow);
	border-radius: 2px;
}

.ft-footer__list,
.ft-footer__contact {
	list-style: none;
	padding: 0;
	margin: 0;
}
.ft-footer__list li {
	margin-bottom: 0.5rem;
}
.ft-footer__list a {
	color: #94a3b8;
	text-decoration: none;
	font-size: 0.95rem;
	transition: color .15s ease, padding-left .15s ease;
	display: inline-block;
	position: relative;
}
.ft-footer__list a::before {
	content: "›";
	color: var(--ft-yellow);
	margin-right: 0;
	opacity: 0;
	transition: opacity .15s ease, margin-right .15s ease;
}
.ft-footer__list a:hover {
	color: #fff;
}
.ft-footer__list a:hover::before {
	opacity: 1;
	margin-right: 0.4rem;
}

/* Contact list */
.ft-footer__contact li {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	margin-bottom: 1rem;
	color: #94a3b8;
}
.ft-footer__contact svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: var(--ft-yellow);
	margin-top: 2px;
}
.ft-footer__contact a {
	color: #94a3b8;
	text-decoration: none;
	transition: color .15s ease;
	word-break: break-word;
}
.ft-footer__contact a:hover {
	color: #fff;
}

/* Bottom bar */
.ft-footer__bottom {
	background: #050404;
	color: #6b7280;
	padding: 1rem 0;
	font-size: 0.85rem;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.ft-footer__copy {
	color: #6b7280;
}
.ft-footer__legal {
	text-align: left;
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	align-items: center;
}
@media (min-width: 768px) {
	.ft-footer__legal {
		justify-content: flex-end;
	}
}
.ft-footer__legal a {
	color: #94a3b8;
	text-decoration: none;
	transition: color .15s ease;
}
.ft-footer__legal a:hover {
	color: var(--ft-yellow);
}
.ft-footer__sep {
	color: #374151;
}

/* To-top button override (sit nicer over the dark footer) */
.top-button {
	bottom: 24px;
	right: 24px;
	width: 44px;
	height: 44px;
	display: none;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

/* === Related products (Owl) — single product ===================== */
.ft-related-products {
	padding: clamp(2rem, 5vw, 3.5rem) 0;
	background: #fafafa;
	border-top: 1px solid #eceff1;
	margin-top: 2.5rem;
}
.ft-related-products__head {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	text-align: center;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.ft-related-products__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ft-yellow-dark);
	background: rgba(241, 196, 15, 0.14);
	border: 1px solid rgba(241, 196, 15, 0.3);
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	margin-bottom: 0.85rem;
}
.ft-related-products__eyebrow i { font-size: 0.78rem; }
.ft-related-products__title {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--ft-black);
	margin: 0 0 0.5rem;
	line-height: 1.1;
	text-wrap: balance;
}
.ft-related-products__title em {
	color: var(--ft-yellow-dark);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow-dark) 0%, var(--ft-yellow) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-related-products__sub {
	font-size: 0.95rem;
	color: #6c757d;
	line-height: 1.5;
	margin: 0;
}

/* Owl item normalisation: card stretches full width */
.ft-related-products .owl-stage {
	display: flex;
	align-items: stretch;
}
.ft-related-products .owl-item {
	display: flex;
	height: auto;
}
.ft-related-products__item {
	width: 100%;
}

/* Nav arrows */
.ft-related-products .owl-nav {
	position: absolute;
	top: -56px;
	right: 0;
	margin: 0;
	display: flex;
	gap: 0.5rem;
}
.ft-related-products .owl-nav button.owl-prev,
.ft-related-products .owl-nav button.owl-next {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 50% !important;
	color: var(--ft-black) !important;
	font-size: 1.5rem;
	line-height: 1;
	transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.ft-related-products .owl-nav button.owl-prev:hover,
.ft-related-products .owl-nav button.owl-next:hover {
	background: var(--ft-yellow) !important;
	border-color: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	transform: translateY(-1px);
}
.ft-related-products .owl-nav button.disabled {
	opacity: 0.35;
	cursor: not-allowed;
}
.ft-related-products .owl-nav button span {
	font-weight: 700;
	margin-top: -3px;
}

/* Dots */
.ft-related-products .owl-dots {
	margin-top: 1.25rem !important;
	text-align: center;
}
.ft-related-products .owl-dots .owl-dot span {
	width: 8px;
	height: 8px;
	background: #d0d0d0 !important;
	border-radius: 50%;
	transition: background .15s ease, width .15s ease;
}
.ft-related-products .owl-dots .owl-dot.active span,
.ft-related-products .owl-dots .owl-dot:hover span {
	background: var(--ft-yellow) !important;
}
.ft-related-products .owl-dots .owl-dot.active span {
	width: 24px;
	border-radius: 4px;
}

/* En mobile, las flechas tapan el título; las llevamos abajo */
@media (max-width: 767.98px) {
	.ft-related-products .owl-nav {
		position: static;
		justify-content: center;
		margin-top: 1rem;
	}
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* === Shop: tira horizontal de categorías destacadas =============== */
.ft-shop-cats-strip {
	background: var(--ft-black);
	padding: 1rem 0 1.125rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	position: sticky;
	top: 0;
	z-index: 90;
	transition: padding 0.2s ease, box-shadow 0.2s ease;
}
/* Modo compacto: cuando el usuario scrollea, oculta los labels y deja solo icono + count. */
.ft-shop-cats-strip.is-compact {
	padding: 0.5rem 0 0.55rem;
	box-shadow: 0 6px 18px -8px rgba(0, 0, 0, 0.5);
}
.ft-shop-cats-strip.is-compact .ft-shop-cat-pill {
	padding: 0.45rem 0.7rem;
	gap: 0.4rem;
	font-size: 0.85rem;
}
.ft-shop-cats-strip.is-compact .ft-shop-cat-pill__label {
	display: none;
}
.ft-shop-cats-strip.is-compact .ft-shop-cat-pill__count {
	margin-left: 0;
}
.ft-shop-cats-strip__scroll {
	display: flex;
	gap: 0.625rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 0.25rem;
	scrollbar-width: none;
}
.ft-shop-cats-strip__scroll::-webkit-scrollbar {
	display: none;
}

.ft-shop-cat-pill {
	flex: 0 0 auto;
	scroll-snap-align: start;
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.625rem 1rem;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 0.875rem;
	color: #fff;
	text-decoration: none;
	font-weight: 500;
	font-size: 0.95rem;
	line-height: 1.2;
	transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.ft-shop-cat-pill:hover {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
	transform: translateY(-1px);
}
.ft-shop-cat-pill.is-active {
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
	color: var(--ft-black);
}
.ft-shop-cat-pill__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	height: 1.35rem;
	padding: 0 0.4rem;
	margin-left: 0.15rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}
.ft-shop-cat-pill:hover .ft-shop-cat-pill__count {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

.ft-shop-cat-pill__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.ft-shop-cat-pill__icon svg {
	width: 22px;
	height: 22px;
}

@media (min-width: 992px) {
	.ft-shop-cats-strip {
		padding: 1.25rem 0 1.375rem;
	}
	.ft-shop-cats-strip__scroll {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.75rem;
	}
	.ft-shop-cat-pill {
		padding: 0.75rem 1.125rem;
		font-size: 1rem;
	}
}

/* === Currency switch USD ⇄ ARS =================================== */

/* Precio wrap */
.ft-price {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.ft-price__usd,
.ft-price__ars {
	display: inline;
	font-variant-numeric: tabular-nums;
}

/* Label prefix USD / ARS vía pseudo-element (discreto) */
.ft-price__usd::before {
	content: "USD";
	display: inline-block;
	margin-right: 0.25rem;
	font-size: 0.68em;
	font-weight: 600;
	color: #9ca3af;
	letter-spacing: 0.04em;
	transform: translateY(-0.1em);
}
.ft-price__ars::before {
	content: "ARS";
	display: inline-block;
	margin-right: 0.25rem;
	font-size: 0.68em;
	font-weight: 600;
	color: #9ca3af;
	letter-spacing: 0.04em;
	transform: translateY(-0.1em);
}

/* Estado default: ARS (pesos) visible, USD oculto */
.ft-price__usd { display: none; }

html.ft-currency-usd .ft-price__ars { display: none; }
html.ft-currency-usd .ft-price__usd { display: inline; }

/* Override: cart/checkout SIEMPRE muestran pesos, sin importar preferencia */
body.ft-force-ars .ft-price__usd { display: none !important; }
body.ft-force-ars .ft-price__ars { display: inline !important; }
body.ft-force-ars .ft-currency-switch { display: none !important; }

/* Switch component */
.ft-currency-switch {
	display: inline-flex;
	align-items: center;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	padding: 2px;
	gap: 0;
	font-size: 0.72rem;
	font-weight: 700;
	order: -10;
	margin-right: 0.25rem;
	line-height: 1;
}
.ft-currency-switch__opt {
	padding: 0.32rem 0.65rem;
	border-radius: 999px;
	color: #6b7280;
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
	letter-spacing: 0.04em;
	min-width: 38px;
	text-align: center;
}
.ft-currency-switch__opt:hover {
	color: var(--ft-black);
}
.ft-currency-switch__opt.is-active {
	background: var(--ft-yellow);
	color: var(--ft-black);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

@media (max-width: 991.98px) {
	.ft-currency-switch {
		font-size: 0.68rem;
	}
	.ft-currency-switch__opt {
		padding: 0.28rem 0.55rem;
		min-width: 34px;
	}
}

/* Mobile (<576): vertical stack → mucho menos ancho */
@media (max-width: 575.98px) {
	.ft-currency-switch {
		flex-direction: column;
		padding: 2px;
		border-radius: 10px;
		margin-right: 0.35rem;
		gap: 1px;
		font-size: 0.58rem;
	}
	.ft-currency-switch__opt {
		padding: 0.18rem 0.4rem;
		min-width: 32px;
		border-radius: 7px;
		letter-spacing: 0.06em;
		font-weight: 800;
		line-height: 1.1;
	}
	.ft-currency-switch__opt.is-active {
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	}
}

/* === Variante producto: switch con banderitas debajo del precio === */
.ft-currency-switch--product {
	display: inline-flex;
	margin: 0.6rem 0 0.25rem;
	font-size: 0.85rem;
	background: #f8f9fa;
	border-color: #e9ecef;
	padding: 4px;
	order: 0;
}
.ft-currency-switch--product .ft-currency-switch__opt {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.85rem;
	min-width: 0;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	font-weight: 600;
}
.ft-currency-switch--product .ft-currency-switch__opt.is-active {
	font-weight: 700;
}
.ft-cur-flag {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: inline-block;
	flex: 0 0 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}
@media (max-width: 575.98px) {
	.ft-currency-switch--product {
		flex-direction: row;
		font-size: 0.8rem;
		border-radius: 999px;
		padding: 3px;
	}
	.ft-currency-switch--product .ft-currency-switch__opt {
		padding: 0.32rem 0.7rem;
		font-size: 0.78rem;
		gap: 0.32rem;
		border-radius: 999px;
	}
	.ft-currency-switch--product .ft-cur-flag {
		width: 16px; height: 16px; flex-basis: 16px;
	}
}

/* === Feature grid — heros secundarios bento con imágenes reales === */
.ft-feat-grid {
	padding: clamp(2.5rem, 5vw, 4rem) 0;
	background: #f5f6f8;
}
.ft-feat-grid__head {
	text-align: center;
	margin-bottom: clamp(2rem, 4vw, 3rem);
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.ft-feat-grid__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ft-yellow-dark);
	background: rgba(241, 196, 15, 0.14);
	border: 1px solid rgba(241, 196, 15, 0.3);
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.ft-feat-grid__eyebrow svg {
	color: var(--ft-yellow-dark);
}
.ft-feat-grid__title {
	font-size: clamp(1.75rem, 3.8vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
	text-wrap: balance;
}
.ft-feat-grid__title em {
	color: var(--ft-yellow-dark);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow-dark) 0%, var(--ft-yellow) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-feat-grid__sub {
	font-size: 1rem;
	color: #6c757d;
	line-height: 1.55;
	margin: 0 0 1.25rem;
}
.ft-feat-grid__all {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--ft-black);
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	padding: 0.45rem 1rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	transition: all 0.15s ease;
}
.ft-feat-grid__all:hover {
	color: var(--ft-black);
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
	transform: translateY(-1px);
	box-shadow: 0 6px 14px -6px rgba(241, 196, 15, 0.5);
}
.ft-feat-grid__all:hover svg { transform: translateX(3px); }
.ft-feat-grid__all svg { transition: transform 0.15s ease; }

/* Bento — desktop: 6 cols × 3 rows */
.ft-feat-grid__bento {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 768px) {
	.ft-feat-grid__bento {
		grid-template-columns: repeat(6, 1fr);
		grid-auto-rows: 230px;
		column-gap: 1.25rem;
		row-gap: 1.5rem;
	}
	.ft-feat-tile--lg    { grid-column: span 4; grid-row: span 2; }
	.ft-feat-tile--tall  { grid-column: span 2; grid-row: span 2; }
	.ft-feat-tile--md    { grid-column: span 2; grid-row: span 1; }
	.ft-feat-tile--wide  { grid-column: span 6; grid-row: span 1; margin-top: 0.75rem; }
}

/* Tile base */
.ft-feat-tile {
	--from: #4c1d95;
	--to:   #a78bfa;
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 1.5rem;
	min-height: 260px;
	color: #fff;
	text-decoration: none;
	transition: transform 0.3s cubic-bezier(.2,.8,.2,1), box-shadow 0.3s ease;
	isolation: isolate;
}
.ft-feat-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.35);
	color: #fff;
}

/* Layer 1: gradient bg (color sólido de marca del tile) */
.ft-feat-tile__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(135deg, var(--from) 0%, var(--to) 100%);
}

/* Layer 2: glow radial para profundidad */
.ft-feat-tile__glow {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(60% 80% at 85% 20%, rgba(255, 255, 255, 0.18) 0%, transparent 60%),
		radial-gradient(50% 70% at 10% 90%, rgba(0, 0, 0, 0.25) 0%, transparent 65%);
	pointer-events: none;
}

/* Apliques decorativos: puntos y grilla sutiles */
.ft-feat-tile__deco {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}
.ft-feat-tile__deco--dots {
	top: 1.5rem;
	right: 1.5rem;
	width: 90px;
	height: 90px;
	background-image: radial-gradient(rgba(255, 255, 255, 0.35) 1.2px, transparent 1.2px);
	background-size: 12px 12px;
	opacity: 0.55;
}
.ft-feat-tile__deco--grid {
	bottom: 1.5rem;
	right: 1.5rem;
	width: 80px;
	height: 60px;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.12) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
	background-size: 14px 14px;
	opacity: 0.6;
}

/* Content: texto full width del tile */
.ft-feat-tile__content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	padding: clamp(1.25rem, 2vw, 1.75rem);
}

/* Label pill estilo "Nuestro catálogo" */
.ft-feat-tile__label {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	width: max-content;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(10px);
	color: #fff;
	padding: 0.4rem 0.9rem 0.4rem 0.7rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	margin-bottom: 0.85rem;
}
.ft-feat-tile__label i {
	font-size: 0.8rem;
	color: var(--ft-yellow);
}

.ft-feat-tile__title {
	font-size: clamp(1.5rem, 2.6vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin: 0 0 0.6rem;
	color: #fff;
	text-wrap: balance;
}
.ft-feat-tile__title em {
	color: var(--ft-yellow);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow) 0%, #ffe066 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-feat-tile__sub {
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 0 1rem;
	max-width: 38ch;
	line-height: 1.5;
}
.ft-feat-tile__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.02em;
	padding: 0.45rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	width: max-content;
	transition: border-color 0.2s ease;
}
.ft-feat-tile__cta svg { transition: transform 0.2s ease; }
.ft-feat-tile:hover .ft-feat-tile__cta { border-color: var(--ft-yellow); }
.ft-feat-tile:hover .ft-feat-tile__cta svg { transform: translateX(4px); }

/* Variaciones por tamaño */
.ft-feat-tile--lg {
	min-height: 340px;
}
.ft-feat-tile--lg .ft-feat-tile__title {
	font-size: clamp(2rem, 3.6vw, 3rem);
}
.ft-feat-tile--lg .ft-feat-tile__sub {
	font-size: 1rem;
	max-width: 34ch;
}
.ft-feat-tile--lg .ft-feat-tile__deco--dots {
	width: 140px;
	height: 140px;
	background-size: 16px 16px;
}

/* TALL: iPhone — título grande, apliques laterales */
.ft-feat-tile--tall .ft-feat-tile__content {
	padding: clamp(1.5rem, 2vw, 2rem);
}
.ft-feat-tile--tall .ft-feat-tile__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}
.ft-feat-tile--tall .ft-feat-tile__deco--dots {
	top: 2rem;
	right: 2rem;
}

/* WIDE: artesanías — texto respira con apliques */
.ft-feat-tile--wide {
	min-height: 220px;
}
.ft-feat-tile--wide .ft-feat-tile__content {
	padding: clamp(1.75rem, 3vw, 2.5rem);
}
.ft-feat-tile--wide .ft-feat-tile__title {
	font-size: clamp(1.75rem, 3vw, 2.75rem);
}
.ft-feat-tile--wide .ft-feat-tile__sub {
	max-width: 48ch;
}
.ft-feat-tile--wide .ft-feat-tile__deco--dots {
	top: 50%;
	right: 3rem;
	transform: translateY(-50%);
	width: 160px;
	height: 160px;
	background-size: 18px 18px;
}
.ft-feat-tile--wide .ft-feat-tile__deco--grid {
	display: none;
}

@media (max-width: 767.98px) {
	.ft-feat-tile { min-height: 200px; }
	.ft-feat-tile__deco--dots { width: 70px; height: 70px; background-size: 10px 10px; }
	.ft-feat-tile__deco--grid { display: none; }
	.ft-feat-tile--wide .ft-feat-tile__deco--dots { display: none; }
}

/* ============================================================
   Feature grid V2 — variante con imágenes de fondo + tile XL
   ============================================================ */
.ft-feat-grid--v2 {
	background: #f5f6f8;
	border-top: 1px dashed #d6d8de;
}
.ft-feat-grid--v2 .ft-feat-grid__eyebrow {
	background: rgba(241, 196, 15, 0.18);
	color: #876c00;
	border-color: rgba(241, 196, 15, 0.4);
}

/* XL: el "destacado" — ocupa toda la fila, igual ritmo que wide pero más alto */
@media (min-width: 768px) {
	.ft-feat-tile--xl  { grid-column: span 6; grid-row: span 1; margin-top: 0.75rem; }
}
.ft-feat-tile--xl {
	min-height: 320px;
}
.ft-feat-tile--xl .ft-feat-tile__content {
	padding: clamp(2rem, 3.5vw, 3rem);
	max-width: 60%;
}
.ft-feat-tile--xl .ft-feat-tile__title {
	font-size: clamp(2rem, 4vw, 3.25rem);
	letter-spacing: -0.03em;
}
.ft-feat-tile--xl .ft-feat-tile__sub {
	font-size: 1.05rem;
	max-width: 42ch;
}
.ft-feat-tile--xl .ft-feat-tile__deco--dots {
	display: none;
}
.ft-feat-tile--xl .ft-feat-tile__deco--grid {
	display: none;
}

/* Imagen de fondo: capa entre el gradient y el contenido. */
/* Usamos `contain` posicionada a la derecha para que se vea entera, achicada,
   sin recortes — el texto queda limpio a la izquierda sobre el gradient. */
.ft-feat-tile__img {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-image: var(--bg-img);
	background-size: auto 70%;
	background-position: right 2rem center;
	background-repeat: no-repeat;
	transition: transform 0.6s cubic-bezier(.2,.8,.2,1);
}
.ft-feat-tile--has-img:hover .ft-feat-tile__img {
	transform: scale(1.04);
}
/* Scrim: oscurece el lado izquierdo para legibilidad del texto, se desvanece
   hacia la derecha donde está la imagen. */
.ft-feat-tile__scrim {
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 45%, rgba(0, 0, 0, 0) 70%);
	pointer-events: none;
}
.ft-feat-tile--has-img .ft-feat-tile__bg { opacity: 1; }
.ft-feat-tile--has-img .ft-feat-tile__glow { display: none; }

/* En mobile la imagen va arriba y el texto abajo con scrim vertical */
@media (max-width: 767.98px) {
	.ft-feat-tile--xl { min-height: 280px; }
	.ft-feat-tile--xl .ft-feat-tile__content { max-width: 100%; }
	.ft-feat-tile--has-img .ft-feat-tile__img {
		background-size: auto 70%;
		background-position: right top;
	}
	.ft-feat-tile--has-img .ft-feat-tile__scrim {
		background:
			linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.85) 70%);
	}
}

/* === Single product — layout Property (inmuebles + llave-en-mano) ===== */
.ft-property {
	background: #f5f6f8;
}

/* Hero full-width con imagen */
.ft-property__hero {
	position: relative;
	min-height: clamp(420px, 62vh, 620px);
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	isolation: isolate;
}
.ft-property__hero-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.ft-property__hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(10, 8, 9, 0.15) 0%, rgba(10, 8, 9, 0.3) 55%, rgba(10, 8, 9, 0.9) 100%);
}
.ft-property__hero-content {
	position: relative;
	z-index: 2;
	padding: clamp(2rem, 5vw, 3.5rem) 0;
	color: #fff;
}
.ft-property__breadcrumb {
	margin-bottom: 1.25rem;
}
.ft-property__breadcrumb .woocommerce-breadcrumb,
.ft-property__breadcrumb .wc-breadcrumb {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.65) !important;
}
.ft-property__breadcrumb a { color: rgba(255, 255, 255, 0.8); text-decoration: none; }
.ft-property__breadcrumb a:hover { color: var(--ft-yellow); }
.ft-property__badge {
	display: inline-block;
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
	margin-bottom: 0.85rem;
}
.ft-property__title {
	font-size: clamp(1.875rem, 4.5vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 0.85rem;
	color: #fff;
	text-wrap: balance;
}
.ft-property__location {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.88);
	margin: 0 0 1rem;
}
.ft-property__location i { color: var(--ft-yellow); }
.ft-property__price-from {
	display: inline-flex;
	align-items: baseline;
	gap: 0.6rem;
	margin: 0.5rem 0 0;
	padding: 0.65rem 1.1rem;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	backdrop-filter: blur(10px);
}
.ft-property__price-label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 600;
}
.ft-property__price-from strong {
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--ft-yellow);
}

/* Container content */
.ft-property__container {
	padding-top: clamp(2rem, 4vw, 3rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
}

/* Secciones */
.ft-property__section {
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	margin-bottom: 1.25rem;
}
.ft-property__section-title {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 1.1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #f1f3f5;
	width: 100%;
}
.ft-property__section-title i {
	width: 32px;
	height: 32px;
	background: rgba(241, 196, 15, 0.15);
	color: var(--ft-yellow-dark);
	border-radius: 0.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.88rem;
}

/* Descripción */
.ft-property__description {
	color: #444;
	line-height: 1.65;
	font-size: 0.95rem;
}
.ft-property__description p { margin: 0 0 0.85rem; }

/* Specs grid con iconos */
.ft-property__specs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1rem;
}
.ft-property__spec {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.85rem 1rem;
	background: #fafafa;
	border: 1px solid #eceff1;
	border-radius: 0.75rem;
}
.ft-property__spec > i {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, var(--ft-yellow), #ffd83a);
	color: var(--ft-black);
	border-radius: 0.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.95rem;
}
.ft-property__spec-label {
	display: block;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #6c757d;
	font-weight: 600;
	margin-bottom: 0.1rem;
}
.ft-property__spec-value {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: var(--ft-black);
}

/* Features / Incluye */
.ft-property__features {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.5rem 1rem;
}
.ft-property__feature {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0;
	color: #444;
	font-weight: 500;
	font-size: 0.92rem;
}
.ft-property__feature i {
	color: #10b981;
	font-size: 0.95rem;
}

/* Galería grid */
.ft-property__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 0.75rem;
}
.ft-property__gallery-item {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 0.6rem;
	border: 1px solid #eceff1;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ft-property__gallery-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 24px -10px rgba(0, 0, 0, 0.15);
}
.ft-property__gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.ft-property__gallery-item:hover img {
	transform: scale(1.05);
}

/* Sidebar: caja de contacto (sticky en desktop) */
.ft-property__sidebar-col {
	position: relative;
}
.ft-property__contact {
	position: sticky;
	top: 100px;
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	box-shadow: 0 12px 28px -16px rgba(0, 0, 0, 0.1);
}
.ft-property__contact-title {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.35rem;
	line-height: 1.25;
}
.ft-property__contact-title i {
	color: var(--ft-yellow-dark);
	font-size: 1rem;
}
.ft-property__contact-sub {
	color: #6c757d;
	font-size: 0.88rem;
	margin: 0 0 1.25rem;
}
.ft-property__contact-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	width: 100%;
	padding: 0.85rem 1rem;
	border-radius: 0.65rem;
	font-weight: 700;
	text-decoration: none;
	margin-bottom: 0.5rem;
	transition: all 0.15s ease;
	border: 1px solid transparent;
}
.ft-property__contact-btn--wa {
	background: #25d366;
	color: #fff;
}
.ft-property__contact-btn--wa:hover {
	background: #1faf55;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 20px -8px rgba(37, 211, 102, 0.5);
}
.ft-property__contact-btn--email {
	background: #fff;
	color: var(--ft-black);
	border-color: #e5e7eb;
}
.ft-property__contact-btn--email:hover {
	background: var(--ft-yellow);
	border-color: var(--ft-yellow);
	color: var(--ft-black);
}
.ft-property__contact-btn i { font-size: 1rem; }

.ft-property__contact-info {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid #f1f3f5;
}
.ft-property__contact-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.45rem 0;
	font-size: 0.88rem;
	gap: 0.75rem;
}
.ft-property__contact-row + .ft-property__contact-row {
	border-top: 1px solid #f5f6f8;
}
.ft-property__contact-key {
	color: #6c757d;
	font-weight: 500;
}
.ft-property__contact-val {
	color: var(--ft-black);
	font-weight: 600;
	text-align: right;
	word-break: break-word;
}

/* Related overrides en property */
.ft-property__related .ft-related-products {
	background: transparent;
	border-top: 0;
	margin-top: 1.5rem;
	padding-top: 0;
}

@media (max-width: 991.98px) {
	.ft-property__contact { position: static; }
	.ft-property__hero { min-height: 340px; }
}

/* === Beverage specs list (single product bebidas + content render) ==== */
.ft-bev-specs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 0.5rem 1rem;
}
.ft-bev-specs li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.55rem 0;
	color: #444;
	font-size: 0.95rem;
	border-bottom: 1px solid #f1f3f5;
}
.ft-bev-specs li:last-child { border-bottom: 0; }
.ft-bev-specs li i {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	background: rgba(241, 196, 15, 0.15);
	color: var(--ft-yellow-dark);
	border-radius: 0.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
}
.ft-bev-specs li strong {
	font-weight: 700;
	color: var(--ft-black);
	margin-right: 0.25rem;
}

/* === Maquinaria specs list (single product agro content render) ====== */
.ft-maq-specs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 0.5rem 1.25rem;
}
.ft-maq-specs li {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	padding: 0.65rem 0;
	color: #444;
	font-size: 0.94rem;
	border-bottom: 1px solid #f1f3f5;
	line-height: 1.45;
}
.ft-maq-specs li:last-child { border-bottom: 0; }
.ft-maq-specs li i {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	background: rgba(241, 196, 15, 0.15);
	color: var(--ft-yellow-dark);
	border-radius: 0.45rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.88rem;
	margin-top: 2px;
}
.ft-maq-specs li strong {
	font-weight: 700;
	color: var(--ft-black);
	margin-right: 0.25rem;
}

/* === Vehículos specs list (single product vehículos content render) === */
.ft-veh-specs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 0.5rem 1.25rem;
}
.ft-veh-specs li {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	padding: 0.65rem 0;
	color: #444;
	font-size: 0.94rem;
	border-bottom: 1px solid #f1f3f5;
	line-height: 1.45;
}
.ft-veh-specs li:last-child { border-bottom: 0; }
.ft-veh-specs li i {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	background: rgba(241, 196, 15, 0.15);
	color: var(--ft-yellow-dark);
	border-radius: 0.45rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.88rem;
	margin-top: 2px;
}
.ft-veh-specs li strong {
	font-weight: 700;
	color: var(--ft-black);
	margin-right: 0.25rem;
}

/* === Cart page (override) ======================================= */
.ft-cart {
	padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 6vw, 4.5rem);
}
.ft-cart__head {
	text-align: center;
	margin-bottom: clamp(2rem, 4vw, 2.5rem);
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.ft-cart__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ft-yellow-dark);
	background: rgba(241, 196, 15, 0.14);
	border: 1px solid rgba(241, 196, 15, 0.3);
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.ft-cart__title {
	font-size: clamp(1.75rem, 3.8vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--ft-black);
	margin: 0 0 0.5rem;
	line-height: 1.1;
}
.ft-cart__title em {
	color: var(--ft-yellow-dark);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow-dark), var(--ft-yellow));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-cart__sub {
	color: #6c757d;
	margin: 0;
}

/* Items */
.ft-cart__items {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.ft-cart-item {
	display: grid;
	grid-template-columns: 100px 1fr auto;
	gap: 1rem;
	align-items: center;
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: 1rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ft-cart-item:hover {
	border-color: #e0e0e0;
	box-shadow: 0 6px 18px -10px rgba(0, 0, 0, 0.08);
}
.ft-cart-item__thumb {
	width: 100px;
	height: 100px;
	background: #fafafa;
	border-radius: 0.6rem;
	overflow: hidden;
}
.ft-cart-item__thumb a,
.ft-cart-item__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ft-cart-item__body {
	min-width: 0;
}
.ft-cart-item__cat {
	display: inline-block;
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #9ca3af;
	font-weight: 600;
	margin-bottom: 0.3rem;
}
.ft-cart-item__name {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	line-height: 1.3;
	color: var(--ft-black);
}
.ft-cart-item__name a {
	color: inherit;
	text-decoration: none;
}
.ft-cart-item__name a:hover {
	color: var(--ft-yellow-dark);
}
.ft-cart-item__price-mobile {
	color: var(--ft-black);
	font-weight: 700;
	margin-bottom: 0.5rem;
	font-size: 0.95rem;
}
.ft-cart-item__controls {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

/* WC quantity widget → nuestro estilo */
.ft-cart-item__qty .quantity,
.ft-cart-item__qty .qty-input {
	display: inline-flex;
	align-items: stretch;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	overflow: hidden;
}
.ft-cart-item__qty input.qty,
.ft-cart-item__qty input[type="number"] {
	width: 48px;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
	font-weight: 700;
	color: var(--ft-black);
	font-size: 0.92rem;
	padding: 0.4rem 0 !important;
	-moz-appearance: textfield;
}
.ft-cart-item__qty input.qty::-webkit-outer-spin-button,
.ft-cart-item__qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.ft-cart-item__qty button,
.ft-cart-item__qty .btn,
.ft-cart-item__qty .plus,
.ft-cart-item__qty .minus {
	background: transparent !important;
	border: 0 !important;
	width: 32px;
	font-weight: 700;
	color: var(--ft-black);
	cursor: pointer;
	font-size: 1rem;
	transition: background 0.15s ease;
}
.ft-cart-item__qty button:hover,
.ft-cart-item__qty .plus:hover,
.ft-cart-item__qty .minus:hover {
	background: rgba(241, 196, 15, 0.3) !important;
}

.ft-cart-item__remove {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: #9ca3af;
	font-size: 0.82rem;
	font-weight: 500;
	text-decoration: none;
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	transition: all 0.15s ease;
}
.ft-cart-item__remove:hover {
	color: #dc2626;
	background: rgba(220, 38, 38, 0.08);
}
.ft-cart-item__remove i { font-size: 0.85rem; }

.ft-cart-item__totals {
	text-align: right;
	white-space: nowrap;
}
.ft-cart-item__price {
	font-size: 0.9rem;
	color: #6c757d;
	margin-bottom: 0.3rem;
}
.ft-cart-item__price del { color: #cbd5e1; font-size: 0.82em; }
.ft-cart-item__subtotal {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--ft-black);
}
.ft-cart-item__subtotal-label {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #9ca3af;
	font-weight: 600;
	margin-bottom: 0.1rem;
}

@media (max-width: 575.98px) {
	.ft-cart-item {
		grid-template-columns: 80px 1fr;
		grid-template-areas:
			"thumb body"
			"totals totals";
		gap: 0.85rem;
	}
	.ft-cart-item__thumb { grid-area: thumb; width: 80px; height: 80px; }
	.ft-cart-item__body { grid-area: body; }
	.ft-cart-item__totals {
		grid-area: totals;
		text-align: left;
		border-top: 1px solid #f1f3f5;
		padding-top: 0.75rem;
	}
	.ft-cart-item__price { display: none; }
}

/* Actions + coupon */
.ft-cart__actions {
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: #fafafa;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.ft-cart__coupon {
	flex: 1 1 300px;
}
.ft-cart__coupon label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #444;
	margin-bottom: 0.5rem;
}
.ft-cart__coupon label i { color: var(--ft-yellow-dark); }
.ft-cart__coupon-row {
	display: flex;
	gap: 0.5rem;
}
.ft-cart__coupon-input {
	flex: 1;
	min-width: 0;
	padding: 0.55rem 0.9rem;
	border: 1px solid #d1d5db;
	border-radius: 999px;
	font-size: 0.9rem;
	background: #fff;
}
.ft-cart__coupon-input:focus {
	outline: none;
	border-color: var(--ft-yellow);
	box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.18);
}
.ft-cart__coupon-btn {
	border-radius: 999px !important;
	padding: 0.55rem 1.1rem !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	white-space: nowrap;
}
.ft-cart__update {
	color: #6c757d !important;
	font-size: 0.88rem;
	font-weight: 500;
	text-decoration: none !important;
	padding: 0.5rem 0.8rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: transparent !important;
	border: 0 !important;
}
.ft-cart__update:hover {
	color: var(--ft-black) !important;
}

.ft-cart__continue {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	color: var(--ft-black);
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	transition: gap 0.15s ease;
}
.ft-cart__continue:hover {
	color: var(--ft-yellow-dark);
	gap: 0.7rem;
}

/* Sidebar totals */
.ft-cart__sidebar {
	position: sticky;
	top: 100px;
}
.ft-cart__collaterals {
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: 1.5rem;
	box-shadow: 0 12px 28px -16px rgba(0, 0, 0, 0.1);
}
.cart_totals h2,
.ft-cart__collaterals h2 {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--ft-black);
	margin: 0 0 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #f1f3f5;
}
.cart_totals table,
.ft-cart__collaterals .shop_table {
	width: 100%;
	border-collapse: collapse;
}
.cart_totals th,
.cart_totals td,
.ft-cart__collaterals .shop_table th,
.ft-cart__collaterals .shop_table td {
	padding: 0.65rem 0;
	border-bottom: 1px solid #f1f3f5;
	font-size: 0.92rem;
}
.cart_totals th,
.ft-cart__collaterals .shop_table th {
	font-weight: 600;
	color: #6c757d;
	text-align: left;
}
.cart_totals td,
.ft-cart__collaterals .shop_table td {
	text-align: right;
	color: var(--ft-black);
	font-weight: 600;
}
.cart_totals .order-total td,
.ft-cart__collaterals .order-total td {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--ft-black);
}
.cart_totals .order-total th,
.ft-cart__collaterals .order-total th {
	font-size: 1rem;
	color: var(--ft-black);
	font-weight: 700;
}
.cart_totals .wc-proceed-to-checkout,
.ft-cart__collaterals .wc-proceed-to-checkout {
	padding-top: 1.25rem;
	margin-top: 0.5rem;
	border-top: 2px solid #f1f3f5;
}
.cart_totals .checkout-button,
.ft-cart__collaterals .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	border: 0 !important;
	padding: 0.95rem 1.25rem !important;
	font-weight: 700 !important;
	font-size: 0.98rem !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	transition: all 0.15s ease;
	box-shadow: 0 10px 24px -10px rgba(241, 196, 15, 0.55);
}
.cart_totals .checkout-button:hover,
.ft-cart__collaterals .checkout-button:hover {
	background: var(--ft-yellow-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 14px 30px -10px rgba(241, 196, 15, 0.7);
}

.ft-cart__collaterals .shipping-calculator-form { margin-top: 0.75rem; }
.ft-cart__collaterals .shipping-calculator-button {
	color: var(--ft-yellow-dark) !important;
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 600;
}

/* Empty state */
.ft-cart-empty {
	text-align: center;
	padding: clamp(3rem, 7vw, 5rem) 1rem;
	max-width: 540px;
	margin: 0 auto;
}
.ft-cart-empty__icon {
	width: 80px;
	height: 80px;
	margin: 0 auto 1.5rem;
	background: rgba(241, 196, 15, 0.12);
	border: 2px dashed rgba(241, 196, 15, 0.45);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ft-yellow-dark);
}
.ft-cart-empty__icon svg {
	width: 36px;
	height: 36px;
}
.ft-cart-empty__title {
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
	line-height: 1.1;
}
.ft-cart-empty__title em {
	color: var(--ft-yellow-dark);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow-dark), var(--ft-yellow));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-cart-empty__sub {
	color: #6c757d;
	margin: 0 0 2rem;
	font-size: 1rem;
}
.ft-cart-empty__cta {
	display: flex;
	gap: 0.6rem;
	justify-content: center;
	flex-wrap: wrap;
}
.ft-cart-empty__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.5rem;
	font-weight: 700;
	border-radius: 999px;
	text-decoration: none;
	transition: all 0.15s ease;
}
.ft-cart-empty__btn--primary {
	background: var(--ft-yellow);
	color: var(--ft-black);
	border: 0;
	box-shadow: 0 10px 24px -10px rgba(241, 196, 15, 0.55);
}
.ft-cart-empty__btn--primary:hover {
	background: var(--ft-yellow-dark);
	color: var(--ft-black);
	transform: translateY(-1px);
}
.ft-cart-empty__btn--ghost {
	background: #fff;
	color: var(--ft-black);
	border: 1px solid #e5e7eb;
}
.ft-cart-empty__btn--ghost:hover {
	border-color: var(--ft-black);
	color: var(--ft-black);
	background: #f8f9fa;
}

@media (max-width: 991.98px) {
	.ft-cart__sidebar { position: static; }
}

/* === 404 page =================================================== */
.ft-404 {
	padding: clamp(3rem, 7vw, 5rem) 0;
	background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
}
.ft-404__inner {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}
.ft-404__glyph {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	margin-bottom: 2rem;
}
.ft-404__digit {
	font-size: clamp(6rem, 14vw, 11rem);
	font-weight: 900;
	letter-spacing: -0.05em;
	line-height: 1;
	color: var(--ft-black);
	background: linear-gradient(180deg, var(--ft-black) 0%, #555 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-404__middle {
	width: clamp(5rem, 11vw, 9rem);
	height: clamp(5rem, 11vw, 9rem);
	border-radius: 50%;
	background: var(--ft-yellow);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--ft-black);
	margin: 0 -0.25rem;
	animation: ft-404-wobble 3s ease-in-out infinite;
}
.ft-404__middle svg {
	width: 70%;
	height: 70%;
}
@keyframes ft-404-wobble {
	0%, 100% { transform: rotate(-4deg); }
	50%      { transform: rotate(4deg); }
}

.ft-404__head { margin-bottom: 2rem; }
.ft-404__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ft-yellow-dark);
	background: rgba(241, 196, 15, 0.14);
	border: 1px solid rgba(241, 196, 15, 0.3);
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.ft-404__title {
	font-size: clamp(1.875rem, 4vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
	line-height: 1.1;
	text-wrap: balance;
}
.ft-404__title em {
	color: var(--ft-yellow-dark);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow-dark), var(--ft-yellow));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-404__sub {
	color: #6c757d;
	margin: 0;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}

.ft-404__cta {
	display: flex;
	gap: 0.6rem;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
.ft-404__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.5rem;
	font-weight: 700;
	border-radius: 999px;
	text-decoration: none;
	transition: all 0.15s ease;
}
.ft-404__btn--primary {
	background: var(--ft-yellow);
	color: var(--ft-black);
	box-shadow: 0 10px 24px -10px rgba(241, 196, 15, 0.55);
}
.ft-404__btn--primary:hover {
	background: var(--ft-yellow-dark);
	color: var(--ft-black);
	transform: translateY(-1px);
}
.ft-404__btn--ghost {
	background: #fff;
	color: var(--ft-black);
	border: 1px solid #e5e7eb;
}
.ft-404__btn--ghost:hover {
	border-color: var(--ft-black);
	background: #f8f9fa;
	color: var(--ft-black);
}

.ft-404__search {
	display: flex;
	align-items: stretch;
	max-width: 440px;
	margin: 0 auto 2rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	padding: 0.25rem 0.25rem 0.25rem 1rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.ft-404__search i {
	color: #9ca3af;
	align-self: center;
	font-size: 0.85rem;
}
.ft-404__search input[type="search"] {
	flex: 1;
	border: 0;
	outline: none;
	padding: 0.55rem 0.75rem;
	font-size: 0.95rem;
	background: transparent;
}
.ft-404__search button {
	background: var(--ft-yellow);
	color: var(--ft-black);
	border: 0;
	border-radius: 999px;
	padding: 0.55rem 1.1rem;
	font-weight: 700;
	font-size: 0.88rem;
	cursor: pointer;
	transition: background 0.15s ease;
}
.ft-404__search button:hover { background: var(--ft-yellow-dark); }

.ft-404__links {
	display: flex;
	gap: 0.5rem 1rem;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	color: #9ca3af;
	font-size: 0.9rem;
}
.ft-404__links span { font-weight: 600; color: #6c757d; }
.ft-404__links a {
	color: var(--ft-black);
	text-decoration: none;
	font-weight: 500;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	transition: all 0.15s ease;
}
.ft-404__links a:hover {
	background: rgba(241, 196, 15, 0.16);
	color: var(--ft-yellow-dark);
}

/* === My Account ================================================= */
.ft-account {
	padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 6vw, 4.5rem);
}
.ft-account__head {
	text-align: center;
	margin-bottom: clamp(2rem, 4vw, 2.5rem);
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.ft-account__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ft-yellow-dark);
	background: rgba(241, 196, 15, 0.14);
	border: 1px solid rgba(241, 196, 15, 0.3);
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.ft-account__title {
	font-size: clamp(1.75rem, 3.8vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--ft-black);
	margin: 0 0 0.5rem;
	line-height: 1.1;
}
.ft-account__title em {
	color: var(--ft-yellow-dark);
	font-style: normal;
	background: linear-gradient(90deg, var(--ft-yellow-dark), var(--ft-yellow));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ft-account__sub {
	color: #6c757d;
	margin: 0;
}

/* Sidebar nav */
.ft-account__sidebar-col {
	position: relative;
}
.ft-account__nav-wrap {
	position: sticky;
	top: 100px;
}
.woocommerce-MyAccount-navigation {
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: 0.5rem;
	box-shadow: 0 8px 24px -16px rgba(0, 0, 0, 0.08);
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.woocommerce-MyAccount-navigation li {
	margin: 0;
}
.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.9rem;
	color: #444;
	text-decoration: none;
	border-radius: 0.6rem;
	font-weight: 500;
	font-size: 0.92rem;
	transition: all 0.12s ease;
}
.woocommerce-MyAccount-navigation a i {
	width: 20px;
	margin-right: 0.6rem;
	text-align: center;
	color: #9ca3af;
	font-size: 0.92rem;
	transition: color 0.12s ease;
	flex-shrink: 0;
}
.woocommerce-MyAccount-navigation a:hover {
	background: #fafafa;
	color: var(--ft-black);
}
.woocommerce-MyAccount-navigation a:hover i {
	color: var(--ft-yellow-dark);
}
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation li.is-active > a {
	background: var(--ft-yellow);
	color: var(--ft-black);
	font-weight: 700;
}
.woocommerce-MyAccount-navigation .is-active a i {
	color: var(--ft-black);
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {
	border-top: 1px solid #f1f3f5;
	margin-top: 0.5rem;
	padding-top: 0.9rem;
	color: #dc2626;
}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a i { color: #dc2626; }
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: rgba(220, 38, 38, 0.08);
	color: #b91c1c;
}

/* Content wrap */
.ft-account__content {
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 1rem;
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

/* Welcome */
.ft-account__welcome {
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid #f1f3f5;
}
.ft-account__welcome-title {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--ft-black);
	margin: 0 0 0.35rem;
}
.ft-account__welcome-sub {
	color: #6c757d;
	margin: 0;
	font-size: 0.92rem;
}
.ft-account__welcome-sub a {
	color: var(--ft-yellow-dark);
	font-weight: 600;
	text-decoration: none;
}
.ft-account__welcome-sub a:hover {
	color: var(--ft-black);
}

/* Cards */
.ft-account__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 0.85rem;
}
.ft-account__card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem;
	background: #fafafa;
	border: 1px solid #eceff1;
	border-radius: 0.85rem;
	text-decoration: none;
	color: inherit;
	transition: all 0.15s ease;
}
.ft-account__card:hover {
	background: #fff;
	border-color: var(--ft-yellow);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.1);
	color: inherit;
}
.ft-account__card-icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	background: linear-gradient(135deg, var(--ft-yellow), #ffd83a);
	color: var(--ft-black);
	border-radius: 0.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
}
.ft-account__card-body {
	flex: 1;
	min-width: 0;
}
.ft-account__card-title {
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.15rem;
}
.ft-account__card-desc {
	color: #6c757d;
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.4;
}
.ft-account__card-arrow {
	color: #9ca3af;
	transition: transform 0.2s ease, color 0.15s ease;
}
.ft-account__card:hover .ft-account__card-arrow {
	color: var(--ft-yellow-dark);
	transform: translateX(3px);
}

/* Orders table, address blocks, etc. (ajuste genérico) */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border: 1px solid #eceff1;
	border-radius: 0.75rem;
	overflow: hidden;
}
.woocommerce-orders-table th,
.woocommerce-MyAccount-content table.shop_table th {
	background: #fafafa;
	color: #6c757d;
	font-weight: 600;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.8rem 1rem;
	text-align: left;
	border-bottom: 1px solid #f1f3f5;
}
.woocommerce-orders-table td,
.woocommerce-MyAccount-content table.shop_table td {
	padding: 0.9rem 1rem;
	border-bottom: 1px solid #f1f3f5;
	font-size: 0.92rem;
}
.woocommerce-orders-table tr:last-child td,
.woocommerce-MyAccount-content table.shop_table tr:last-child td {
	border-bottom: 0;
}
.woocommerce-orders-table .button,
.woocommerce-MyAccount-content .button {
	background: var(--ft-yellow) !important;
	color: var(--ft-black) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 0.45rem 0.95rem !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
	display: inline-flex !important;
	align-items: center;
	gap: 0.35rem;
}
.woocommerce-orders-table .button:hover,
.woocommerce-MyAccount-content .button:hover {
	background: var(--ft-yellow-dark) !important;
	transform: translateY(-1px);
}

.woocommerce-Addresses .woocommerce-Address {
	background: #fafafa;
	border: 1px solid #eceff1;
	border-radius: 0.75rem;
	padding: 1.25rem;
	margin-bottom: 1rem;
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--ft-black);
	margin: 0 0 0.75rem;
}
.woocommerce-Address address {
	font-style: normal;
	line-height: 1.6;
	color: #444;
	font-size: 0.92rem;
}

@media (max-width: 991.98px) {
	.ft-account__nav-wrap { position: static; }
	.woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; }
	.woocommerce-MyAccount-navigation li { flex: 1 1 auto; }
}

/* === Ocultar entry-title default en páginas WC (nosotros renderizamos hero propio) */
body.woocommerce-account .entry-header,
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.page-template-default.woocommerce-account .entry-title,
body.page-template-default.woocommerce-cart .entry-title,
body.page-template-default.woocommerce-checkout .entry-title {
	display: none;
}

/* Offcanvas-user: ajuste del navigation heredado */
#offcanvas-user .woocommerce-MyAccount-navigation ul {
	flex-direction: column;
}
#offcanvas-user .woocommerce-MyAccount-navigation li {
	flex: 1 1 auto;
}
