.elementor-kit-5{--e-global-color-primary:#D370A8;--e-global-color-secondary:#364694;--e-global-color-text:#211F20;--e-global-color-accent:#A83E7D;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   French Essenc's · Kit de diseño para Elementor + WooCommerce  ·  v1.0
   --------------------------------------------------------------------------
   Dónde pegarlo: Elementor > Ajustes del sitio > CSS personalizado
   (o Apariencia > Personalizar > CSS adicional).

   Marca (Manual de Identidad Visual):
     Negro  #211F20   ·  Rosa  #D370A8   ·  Azul  #364694   ·  Blanco #FFFFFF
     Titulares: Montserrat Bold   ·   Textos: Roboto Regular

   Regla de uso: la estructura (columnas, espacios, orden) se edita en
   Elementor; este archivo solo pone el aspecto. Cada bloque se activa con una
   clase CSS (Avanzado > Clases CSS) que ya viene puesta en las plantillas.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Variables de marca
   -------------------------------------------------------------------------- */
:root {
	--fe-ink: #211F20;
	--fe-ink-2: #3B3839;
	--fe-white: #FFFFFF;
	--fe-mist: #F6F4F5;
	--fe-mist-2: #EDEAEB;
	--fe-line: #E4E0E2;
	--fe-muted: #6A6466;          /* 5,4:1 sobre blanco */
	--fe-pink: #D370A8;           /* solo detalles y fondos; texto encima: negro */
	--fe-pink-deep: #A83E7D;      /* rosa para TEXTO sobre blanco (6:1) */
	--fe-pink-soft: #F7E3EE;
	--fe-blue: #364694;
	--fe-blue-deep: #283575;
	--fe-blue-soft: #E7EAF6;
	--fe-wa: #0F7A43;             /* verde WhatsApp accesible (5,4:1 con blanco) */

	--fe-font-head: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fe-font-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

	--fe-r: 8px;
	--fe-r-lg: 16px;
	--fe-shadow: 0 1px 2px rgba(33, 31, 32, .06), 0 10px 30px rgba(33, 31, 32, .07);
	--fe-shadow-lg: 0 2px 4px rgba(33, 31, 32, .06), 0 22px 50px rgba(33, 31, 32, .14);
	--fe-ease: cubic-bezier(.2, .7, .2, 1);
	--fe-gap: 24px;
	--fe-header-h: 150px;
}

html { scroll-behavior: smooth; }
body {
	font-family: var(--fe-font-body);
	color: var(--fe-ink-2);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
:where(.fe-scope) a { text-underline-offset: .2em; }
:focus-visible { outline: 3px solid var(--fe-blue); outline-offset: 3px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* --------------------------------------------------------------------------
   2. Tipografía
   -------------------------------------------------------------------------- */
.fe-title .elementor-heading-title,
.fe-h1 .elementor-heading-title,
.fe-h2 .elementor-heading-title,
.fe-h3 .elementor-heading-title {
	font-family: var(--fe-font-head);
	font-weight: 800;
	color: var(--fe-ink);
	margin: 0;
	letter-spacing: -.025em;
	line-height: 1.08;
	text-wrap: balance;
}
.fe-h1 .elementor-heading-title { font-size: clamp(2.2rem, 4.6vw + .5rem, 4rem); line-height: 1.02; letter-spacing: -.035em; }
.fe-h2 .elementor-heading-title, .fe-title .elementor-heading-title { font-size: clamp(1.7rem, 2.2vw + 1rem, 2.5rem); }
.fe-h3 .elementor-heading-title { font-size: clamp(1.15rem, .6vw + 1rem, 1.4rem); letter-spacing: -.015em; line-height: 1.2; }

.fe-hl { color: var(--fe-pink); }
.fe-on-dark .fe-hl { color: var(--fe-pink); }

.fe-eyebrow .elementor-heading-title,
.fe-eyebrow {
	font-family: var(--fe-font-head);
	font-weight: 700;
	font-size: .75rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fe-blue);
	margin: 0;
	line-height: 1.2;
}
/* Barra bicolor de la marca (rosa arriba, azul abajo) */
.fe-eyebrow .elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 1.15em;
	margin-right: .75em;
	vertical-align: -.2em;
	background: linear-gradient(180deg, var(--fe-pink) 0 50%, var(--fe-blue) 50% 100%);
}
.fe-on-dark .fe-eyebrow .elementor-heading-title { color: #fff; }

.fe-lead, .fe-lead p { font-size: clamp(1rem, .3vw + .95rem, 1.15rem); line-height: 1.65; color: var(--fe-ink-2); margin: 0; }
.fe-text p { line-height: 1.7; margin: 0 0 1em; }
.fe-text p:last-child { margin-bottom: 0; }
.fe-on-dark, .fe-on-dark p, .fe-on-dark .fe-lead, .fe-on-dark .fe-text p { color: rgba(255, 255, 255, .84); }
.fe-on-dark .elementor-heading-title { color: #fff; }

/* Enlace de sección ("Ver todos →") */
.fe-link .elementor-button {
	background: transparent !important;
	color: var(--fe-ink) !important;
	padding: 0 0 4px !important;
	border-radius: 0 !important;
	border-bottom: 2px solid var(--fe-pink);
	font-family: var(--fe-font-head);
	font-weight: 700;
	font-size: .8125rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: none !important;
	transition: color .2s, border-color .2s;
}
.fe-link .elementor-button { white-space: nowrap; }
.fe-link .elementor-button-text::after { content: "→"; margin-left: .6em; transition: transform .25s var(--fe-ease); display: inline-block; }
.fe-link .elementor-button:hover { color: var(--fe-blue) !important; border-color: var(--fe-blue); }
.fe-link .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
.fe-on-dark .fe-link .elementor-button { color: #fff !important; }

/* --------------------------------------------------------------------------
   3. Botones  (clase en el widget Botón)
   -------------------------------------------------------------------------- */
.fe-btn .elementor-button {
	font-family: var(--fe-font-head);
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.2;
	letter-spacing: .02em;
	padding: 15px 28px;
	border-radius: var(--fe-r);
	border: 1.5px solid transparent;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--fe-ease), box-shadow .2s;
}
.fe-btn .elementor-button:hover { transform: translateY(-2px); }
.fe-btn .elementor-button:active { transform: translateY(0); }
.fe-btn--ink .elementor-button { background: var(--fe-ink); color: #fff; }
.fe-btn--ink .elementor-button:hover { background: var(--fe-blue); box-shadow: 0 10px 24px rgba(54, 70, 148, .3); }
.fe-btn--pink .elementor-button { background: var(--fe-pink); color: var(--fe-ink); }
.fe-btn--pink .elementor-button:hover { background: #E08ABB; box-shadow: 0 10px 24px rgba(211, 112, 168, .35); }
.fe-btn--blue .elementor-button { background: var(--fe-blue); color: #fff; }
.fe-btn--blue .elementor-button:hover { background: var(--fe-blue-deep); box-shadow: 0 10px 24px rgba(54, 70, 148, .35); }
.fe-btn--white .elementor-button { background: #fff; color: var(--fe-ink); }
.fe-btn--white .elementor-button:hover { background: var(--fe-pink); }
.fe-btn--outline .elementor-button { background: transparent; color: var(--fe-ink); border-color: var(--fe-ink); }
.fe-btn--outline .elementor-button:hover { background: var(--fe-ink); color: #fff; }
.fe-btn--outline-light .elementor-button { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.fe-btn--outline-light .elementor-button:hover { background: #fff; color: var(--fe-ink); border-color: #fff; }
.fe-btn--wa .elementor-button { background: var(--fe-wa); color: #fff; }
.fe-btn--wa .elementor-button:hover { background: #0C6537; box-shadow: 0 10px 24px rgba(15, 122, 67, .35); }
.fe-btn--sm .elementor-button { padding: 11px 18px; font-size: .8125rem; }
.fe-btn--lg .elementor-button { padding: 18px 34px; font-size: .9375rem; }
.fe-btn .elementor-button-icon { margin-right: .55em; }

/* --------------------------------------------------------------------------
   4. Barra superior + cabecera (Theme Builder > Encabezado)
   -------------------------------------------------------------------------- */
.fe-topbar { background: var(--fe-blue); color: #fff; }
.fe-topbar, .fe-topbar p, .fe-topbar a { font-family: var(--fe-font-body); font-size: .8125rem; line-height: 1.4; color: #fff; margin: 0; }
.fe-topbar a { text-decoration: none; font-weight: 500; opacity: .92; transition: opacity .2s; }
.fe-topbar a:hover { opacity: 1; text-decoration: underline; }
.fe-topbar__links p { display: flex; gap: 22px; justify-content: flex-end; }
.fe-topbar__msg strong { font-weight: 700; }

.fe-header {
	background: #fff;
	border-bottom: 1px solid var(--fe-line);
	z-index: 50;
	transition: box-shadow .25s;
}
.fe-header.is-stuck, .elementor-sticky--effects.fe-header { box-shadow: 0 8px 28px rgba(33, 31, 32, .08); }

.fe-logo img { display: block; height: auto; max-width: 100%; }

/* Buscador (widget Formulario de búsqueda, apariencia Mínima) */
.fe-search .elementor-search-form__container {
	background: var(--fe-mist);
	border: 1.5px solid transparent;
	border-radius: 999px;
	min-height: 46px;
	padding: 0 6px 0 18px;
	transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.fe-search .elementor-search-form__container:focus-within { background: #fff; border-color: var(--fe-ink); box-shadow: 0 0 0 4px rgba(54, 70, 148, .12); }
.fe-search .elementor-search-form__input {
	font-family: var(--fe-font-body);
	font-size: .9375rem;
	color: var(--fe-ink);
	background: transparent;
	border: 0;
	outline: 0;
	box-shadow: none;
}
.fe-search .elementor-search-form__input::placeholder { color: var(--fe-muted); opacity: 1; }
.fe-search .elementor-search-form__icon, .fe-search .elementor-search-form__submit { color: var(--fe-ink); background: transparent; }

/* Íconos de cabecera (carrito, cuenta) */
.fe-actions .elementor-menu-cart__toggle_button, .fe-iconbtn a {
	color: var(--fe-ink);
	transition: color .2s;
}
.fe-actions .elementor-menu-cart__toggle_button:hover { color: var(--fe-blue); }

/* Menú principal */
.fe-navbar { background: #fff; border-top: 1px solid var(--fe-line); }
.fe-nav .elementor-nav-menu--main .elementor-item,
.fe-nav-quick .elementor-nav-menu--main .elementor-item {
	font-family: var(--fe-font-head);
	font-weight: 600;
	font-size: .8125rem;
	letter-spacing: .02em;
	color: var(--fe-ink);
	padding: 16px 16px;
	transition: color .2s;
	position: relative;
}
.fe-nav .elementor-nav-menu--main .elementor-item::after,
.fe-nav-quick .elementor-nav-menu--main .elementor-item::after {
	content: "";
	position: absolute;
	left: 16px; right: 16px; bottom: 9px;
	height: 2px;
	background: linear-gradient(90deg, var(--fe-pink), var(--fe-blue));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--fe-ease);
}
.fe-nav .elementor-nav-menu--main .elementor-item:hover,
.fe-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.fe-nav-quick .elementor-nav-menu--main .elementor-item:hover { color: var(--fe-blue); background: transparent; }
.fe-nav .elementor-nav-menu--main .elementor-item:hover::after,
.fe-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.fe-nav-quick .elementor-nav-menu--main .elementor-item:hover::after { transform: scaleX(1); }
.fe-nav-quick .elementor-nav-menu--main .elementor-item { padding-inline: 14px; }
.fe-nav-quick .fe-nav-promo > .elementor-item { color: var(--fe-pink-deep); }
.fe-nav-quick .fe-nav-promo > .elementor-item::before {
	content: "%";
	display: inline-grid; place-items: center;
	width: 18px; height: 18px; margin-right: 7px;
	border-radius: 50%;
	background: var(--fe-pink); color: var(--fe-ink);
	font-size: 11px; line-height: 1; font-weight: 800;
	vertical-align: 1px;
}
/* Submenús */
.fe-nav .elementor-nav-menu--dropdown, .fe-nav .sub-menu {
	background: #fff;
	border: 1px solid var(--fe-line);
	border-radius: 12px;
	box-shadow: var(--fe-shadow-lg);
	padding: 8px;
	overflow: hidden;
}
.fe-nav .sub-menu .elementor-sub-item, .fe-nav .elementor-nav-menu--dropdown a {
	font-family: var(--fe-font-body);
	font-weight: 500;
	font-size: .9375rem;
	color: var(--fe-ink-2);
	padding: 10px 14px;
	border-radius: 8px;
}
.fe-nav .sub-menu .elementor-sub-item:hover, .fe-nav .elementor-nav-menu--dropdown a:hover { background: var(--fe-mist); color: var(--fe-blue); }
.fe-nav .elementor-menu-toggle { color: var(--fe-ink); background: var(--fe-mist); border-radius: 10px; }
/* Menú desplegable móvil/tableta: submenús planos, sin tarjetas */
nav.elementor-nav-menu--dropdown .sub-menu { border: 0; box-shadow: none; border-radius: 0; padding: 0 0 8px 12px; background: transparent; overflow: visible; }
nav.elementor-nav-menu--dropdown > ul > li > a.elementor-item { font-family: var(--fe-font-head); font-weight: 700; font-size: .9375rem; color: var(--fe-ink); padding: 12px 14px; }
nav.elementor-nav-menu--dropdown .sub-menu a { color: var(--fe-ink-2); font-size: .9375rem; padding: 9px 14px; }

@media (max-width: 1024px) {
	.fe-nav-quick .elementor-nav-menu--main { overflow-x: auto; scrollbar-width: none; }
	.fe-nav-quick .elementor-nav-menu--main::-webkit-scrollbar { display: none; }
	.fe-nav-quick .elementor-item { white-space: nowrap; }
}

/* Cabecera en móvil: logo + carrito arriba, buscador debajo, menú al final */
.fe-navbar .elementor-widget-nav-menu { min-width: 0; }
.fe-nav-quick .elementor-nav-menu { justify-content: flex-end; }
.fe-nav-quick { min-width: 0; }
.fe-nav-quick .elementor-nav-menu > li:first-child { position: relative; margin-left: 12px; }
.fe-nav-quick .elementor-nav-menu > li:first-child::before { content: ""; position: absolute; left: 0; top: 50%; height: 18px; width: 1px; margin-top: -9px; background: var(--fe-line); }
@media (max-width: 1024px) {
	.fe-navbar { justify-content: flex-start; }
	.fe-nav .elementor-menu-toggle { width: 42px; height: 42px; }
	.fe-nav .elementor-nav-menu--dropdown { margin-top: 1px; border-radius: 0 0 12px 12px; box-shadow: var(--fe-shadow-lg); }
	.fe-navbar .fe-nav-quick { flex: 1 1 0; }
}
@media (max-width: 767px) {
	.fe-nav-quick .elementor-nav-menu { justify-content: flex-start; }
	.fe-nav-quick .elementor-nav-menu > li:first-child { margin-left: 0; }
	.fe-nav-quick .elementor-nav-menu > li:first-child::before { display: none; }
	.fe-header__logo { order: 1; }
	.fe-header__actions { order: 2; margin-left: auto; }
	.fe-header__search { order: 3; width: 100%; flex: 1 0 100%; }
	.fe-header__wa { display: none; }
	.fe-topbar__links { display: none; }
	.fe-navbar { border-top: 0; padding-bottom: 6px; }
	.fe-nav-quick { text-align: left; }
	.fe-nav-quick .elementor-nav-menu--main .elementor-item { padding: 10px 12px; }
	.fe-nav-quick .elementor-nav-menu--main .elementor-item::after { display: none; }
	.fe-nav-quick .elementor-nav-menu { flex-wrap: nowrap; }
}

/* --------------------------------------------------------------------------
   5. Héroe (portada y páginas internas)
   -------------------------------------------------------------------------- */
.fe-hero {
	background:
		radial-gradient(60% 90% at 88% 10%, rgba(211, 112, 168, .30), transparent 62%),
		radial-gradient(55% 80% at 4% 105%, rgba(54, 70, 148, .55), transparent 62%),
		var(--fe-ink);
	color: #fff;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.fe-hero::before {
	content: "";
	position: absolute; inset: 0; z-index: -1;
	background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(70% 90% at 70% 40%, #000, transparent 75%);
	mask-image: radial-gradient(70% 90% at 70% 40%, #000, transparent 75%);
}
.fe-hero .fe-h1 .elementor-heading-title { color: #fff; }
@media (max-width: 767px) {
	.fe-hero__cta .elementor-widget { flex: 1 1 100% !important; width: 100% !important; }
	.fe-hero__cta .elementor-button { width: 100%; }
}
.fe-hero__art { display: flex; justify-content: center; align-items: center; }
.fe-hero__art svg { width: min(100%, 520px); height: auto; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)); }
.fe-hero__chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px 10px; }
.fe-hero__chips .elementor-icon-list-item {
	display: inline-flex; align-items: center;
	padding: 8px 14px 8px 12px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 999px;
	background: rgba(255, 255, 255, .05);
	backdrop-filter: blur(4px);
}
.fe-hero__chips .elementor-icon-list-text { font-size: .8125rem; color: rgba(255, 255, 255, .9); padding-left: 8px; }
.fe-hero__chips .elementor-icon-list-icon { color: var(--fe-pink); font-size: 12px; display: inline-flex; }
.fe-hero__chips .elementor-icon-list-icon svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 3; }

/* Cabecera de página interna (Promociones, Novedades, Más vendidos, Categorías…) */
.fe-page-hero { position: relative; overflow: hidden; isolation: isolate; }
.fe-page-hero--ink { background: radial-gradient(60% 120% at 92% 0, rgba(211, 112, 168, .28), transparent 60%), var(--fe-ink); color: #fff; }
.fe-page-hero--blue { background: radial-gradient(60% 120% at 92% 0, rgba(211, 112, 168, .35), transparent 60%), var(--fe-blue); color: #fff; }
.fe-page-hero--pink { background: radial-gradient(60% 120% at 6% 120%, rgba(54, 70, 148, .28), transparent 60%), var(--fe-pink); color: var(--fe-ink); }
.fe-page-hero--mist { background: var(--fe-mist); }
.fe-page-hero--ink .elementor-heading-title, .fe-page-hero--blue .elementor-heading-title { color: #fff; }
.fe-page-hero--pink .fe-eyebrow .elementor-heading-title { color: var(--fe-ink); }
.fe-page-hero--pink .fe-eyebrow .elementor-heading-title::before { background: var(--fe-ink); }
.fe-page-hero .fe-lead, .fe-hero .fe-lead { max-width: 62ch; }
.fe-page-hero--pink .elementor-heading-title { color: var(--fe-ink); }
.fe-page-hero--pink p { color: var(--fe-ink); }
.fe-page-hero--ink p, .fe-page-hero--blue p { color: rgba(255, 255, 255, .86); }
.fe-page-hero__big {
	position: absolute; right: -2%; bottom: -28%; z-index: -1;
	font-family: var(--fe-font-head); font-weight: 800; line-height: .8;
	font-size: clamp(9rem, 22vw, 22rem);
	color: rgba(255, 255, 255, .06);
	letter-spacing: -.06em;
	pointer-events: none; user-select: none;
}
.fe-page-hero--pink .fe-page-hero__big { color: rgba(33, 31, 32, .07); }

/* --------------------------------------------------------------------------
   6. Accesos rápidos (Novedades · Más vendidos · Promociones)
   -------------------------------------------------------------------------- */
.fe-quick { flex: 1 1 auto; }
.fe-quick > .elementor-widget-container { height: 100%; }
.fe-quick .elementor-icon-box-wrapper {
	height: 100%;
	display: flex; flex-direction: row; align-items: center; gap: 18px; text-align: left;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--fe-line);
	border-radius: var(--fe-r-lg);
	transition: transform .3s var(--fe-ease), box-shadow .3s, border-color .3s;
	position: relative;
}
.fe-quick .elementor-icon-box-wrapper:hover { transform: translateY(-4px); box-shadow: var(--fe-shadow-lg); border-color: transparent; }
.fe-quick .elementor-icon-box-icon { margin: 0 !important; flex: 0 0 auto; }
.fe-quick .elementor-icon {
	display: grid; place-items: center;
	width: 54px; height: 54px;
	border-radius: 14px;
	background: var(--fe-ink);
	color: #fff;
	font-size: 22px;
}
.fe-quick--pink .elementor-icon { background: var(--fe-pink); color: var(--fe-ink); }
.fe-quick--blue .elementor-icon { background: var(--fe-blue); }
.fe-quick .elementor-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fe-quick .elementor-icon-box-title { margin: 0 0 4px; font-family: var(--fe-font-head); font-weight: 700; font-size: 1.05rem; color: var(--fe-ink); letter-spacing: -.01em; }
.fe-quick .elementor-icon-box-title a { color: inherit; text-decoration: none; }
.fe-quick .elementor-icon-box-title a::after { content: ""; position: absolute; inset: 0; } /* toda la tarjeta es clicable */
.fe-quick .elementor-icon-box-description { margin: 0; font-size: .875rem; color: var(--fe-muted); line-height: 1.45; }

/* --------------------------------------------------------------------------
   7. Categorías  ([fe_categorias])
   -------------------------------------------------------------------------- */
.fe-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px; --fe-cols: 5; }
.fe-cat { flex: 0 0 calc((100% - (var(--fe-cols) - 1) * 16px) / var(--fe-cols)); min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.fe-cat__link { display: block; position: relative; text-decoration: none; border-radius: var(--fe-r-lg); overflow: hidden; color: #fff; isolation: isolate; }
.fe-cat__media { display: block; aspect-ratio: 4 / 5; position: relative; background: var(--fe-ink); }
.fe-cat__media img, .fe-cat__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--fe-ease); }
.fe-cat__link:hover .fe-cat__img { transform: scale(1.06); }
.fe-cat__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(33, 31, 32, .82)); z-index: 1; pointer-events: none; }
.fe-cat__ph {
	position: absolute; inset: 0; display: grid; place-items: center;
	background:
		radial-gradient(80% 60% at 100% 0, rgba(211, 112, 168, .5), transparent 60%),
		linear-gradient(160deg, var(--fe-blue) 0, var(--fe-ink) 90%);
	transition: transform .6s var(--fe-ease);
}
.fe-cat__ph span { font-family: var(--fe-font-head); font-weight: 800; font-size: clamp(3.5rem, 7vw, 6rem); letter-spacing: -.05em; color: rgba(255, 255, 255, .12); transform: translateY(-14%); }
.fe-cat:nth-child(2n) .fe-cat__ph { background: radial-gradient(80% 60% at 0 0, rgba(54, 70, 148, .65), transparent 60%), linear-gradient(200deg, #5A2547 0, var(--fe-ink) 90%); }
.fe-cat:nth-child(3n) .fe-cat__ph { background: radial-gradient(80% 60% at 100% 100%, rgba(211, 112, 168, .4), transparent 60%), linear-gradient(160deg, #2B2829 0, var(--fe-ink) 90%); }
.fe-cat:nth-child(5n) .fe-cat__ph { background: radial-gradient(80% 60% at 0 100%, rgba(211, 112, 168, .45), transparent 60%), linear-gradient(160deg, var(--fe-blue-deep) 0, var(--fe-ink) 95%); }
.fe-cat__link:hover .fe-cat__ph { transform: scale(1.06); }
.fe-cat__name {
	position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 2;
	font-family: var(--fe-font-head); font-weight: 700; font-size: clamp(1rem, .5vw + .9rem, 1.2rem); line-height: 1.15; letter-spacing: -.01em;
	transition: transform .35s var(--fe-ease);
}
.fe-cat__count { position: absolute; left: 18px; bottom: 16px; z-index: 2; font-size: .8125rem; color: rgba(255, 255, 255, .78); }
.fe-cat__name:has(+ .fe-cat__count) { bottom: 40px; }
.fe-cats--2 .fe-cat__media, .fe-cats--3 .fe-cat__media { aspect-ratio: 4 / 3; }
.fe-cats--2 .fe-cat__name, .fe-cats--3 .fe-cat__name { font-size: 1.35rem; }
.fe-cat__name::before { content: ""; display: block; width: 28px; height: 3px; margin-bottom: 10px; background: linear-gradient(90deg, var(--fe-pink) 50%, var(--fe-blue) 50%); }
.fe-cat__link:hover .fe-cat__name { transform: translateY(-4px); }
.fe-cat__go {
	position: absolute; top: 14px; right: 14px; z-index: 2;
	font-family: var(--fe-font-head); font-weight: 700; font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase;
	padding: 6px 12px; border-radius: 999px; background: #fff; color: var(--fe-ink);
	opacity: 0; transform: translateY(-6px); transition: opacity .25s, transform .3s var(--fe-ease);
}
.fe-cat__link:hover .fe-cat__go, .fe-cat__link:focus-visible .fe-cat__go { opacity: 1; transform: none; }
.fe-cat__children { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.fe-cat__children a {
	display: inline-block; padding: 6px 12px; border-radius: 999px;
	background: var(--fe-mist); color: var(--fe-ink-2); font-size: .8125rem; text-decoration: none;
	transition: background-color .2s, color .2s;
}
.fe-cat__children a:hover { background: var(--fe-ink); color: #fff; }
@media (max-width: 1024px) { .fe-cat { flex-basis: calc((100% - 2 * 16px) / 3); } }
@media (max-width: 767px) {
	.fe-cats { gap: 12px; }
	.fe-cat { flex-basis: calc((100% - 12px) / 2); }
	.fe-cat__name { left: 14px; right: 14px; bottom: 14px; }
	.fe-cat__go { display: none; }
}

/* Marcas ([fe_marcas]) */
.fe-brands { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.fe-brands a {
	display: inline-block; padding: 11px 20px; border: 1.5px solid var(--fe-line); border-radius: 999px;
	font-family: var(--fe-font-head); font-weight: 600; font-size: .875rem; color: var(--fe-ink); text-decoration: none; background: #fff;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--fe-ease);
}
.fe-brands a:hover { background: var(--fe-ink); color: #fff; border-color: var(--fe-ink); transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   8. Catálogo con flexbox  ([fe_catalogo])
   -------------------------------------------------------------------------- */
.fe-catalog { display: flex; align-items: flex-start; gap: 40px; --fe-cols: var(--fe-cols-d, 4); }
.fe-catalog__main { flex: 1 1 0; min-width: 0; }

.fe-grid { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 36px var(--fe-gap); }
.fe-card { flex: 0 0 calc((100% - (var(--fe-cols) - 1) * var(--fe-gap)) / var(--fe-cols)); min-width: 0; display: flex; flex-direction: column; position: relative; }

.fe-card__media {
	display: block; position: relative; overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--fe-mist);
	border-radius: var(--fe-r-lg);
}
.fe-card__media img {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: contain; padding: 10%;
	mix-blend-mode: multiply;            /* la foto con fondo blanco se funde con el gris */
	transition: transform .6s var(--fe-ease);
}
.fe-card:hover .fe-card__media img { transform: scale(1.05); }
.fe-bg-mist .fe-card__media { background: #fff; }
.fe-card.is-out .fe-card__media img { opacity: .55; filter: grayscale(.4); }

.fe-card__badges { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.fe-badge {
	display: inline-block; padding: 5px 10px; border-radius: 999px;
	font-family: var(--fe-font-head); font-weight: 700; font-size: .6875rem; line-height: 1; letter-spacing: .06em; text-transform: uppercase;
}
.fe-badge--sale { background: var(--fe-pink); color: var(--fe-ink); }
.fe-badge--new { background: var(--fe-ink); color: #fff; }
.fe-badge--out { background: var(--fe-mist-2); color: var(--fe-muted); }

.fe-card__body { padding: 16px 2px 0; display: flex; flex-direction: column; gap: 4px; flex: 1 1 auto; }
.fe-card__brand { font-family: var(--fe-font-head); font-weight: 600; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fe-muted); }
.fe-card__title { margin: 0; font-family: var(--fe-font-head); font-weight: 600; font-size: 1rem; line-height: 1.3; letter-spacing: -.005em; }
.fe-card__title a { color: var(--fe-ink); text-decoration: none; transition: color .2s;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fe-card__title a:hover { color: var(--fe-blue); }
.fe-card__meta { margin: 0; font-size: .8125rem; color: var(--fe-muted); }
.fe-card__ml { margin: 0; font-size: .75rem; color: var(--fe-muted); }
.fe-card__price { margin-top: auto; padding-top: 10px; font-family: var(--fe-font-head); font-weight: 700; font-size: 1.0625rem; color: var(--fe-ink); display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.fe-card__price .amount { font-weight: 700; }
.fe-card__price del { color: var(--fe-muted); font-weight: 500; font-size: .875rem; }
.fe-card__price del .amount { font-weight: 500; }
.fe-card__price ins { text-decoration: none; color: var(--fe-ink); }
.fe-card__price .woocommerce-Price-currencySymbol { font-weight: 600; margin-right: .15em; }
.fe-price__from { font-family: var(--fe-font-body); font-weight: 400; font-size: .75rem; color: var(--fe-muted); }

.fe-card__action { padding-top: 14px; }
.fe-card__action .button, .fe-card__action a.button {
	display: block; width: 100%; text-align: center;
	padding: 12px 16px; border-radius: var(--fe-r);
	font-family: var(--fe-font-head); font-weight: 700; font-size: .8125rem; letter-spacing: .02em; line-height: 1.2;
	color: var(--fe-ink); background: transparent; border: 1.5px solid var(--fe-ink);
	text-decoration: none; cursor: pointer;
	transition: background-color .2s, color .2s, transform .2s var(--fe-ease);
}
.fe-card__action .button:hover { background: var(--fe-ink); color: #fff; }
.fe-card__action .button.loading { opacity: .6; pointer-events: none; }
.fe-card__action .button.added { background: var(--fe-blue); border-color: var(--fe-blue); color: #fff; }
.fe-card__action .added_to_cart { display: block; margin-top: 8px; text-align: center; font-size: .8125rem; font-weight: 500; color: var(--fe-blue); }

/* Fila (portada): en móvil se desliza con el dedo */
.fe-catalog--fila { display: block; }
@media (max-width: 1024px) {
	.fe-catalog { --fe-cols: min(var(--fe-cols-d, 3), 3); gap: 24px; }
}
@media (max-width: 767px) {
	.fe-catalog { --fe-cols: 2; --fe-gap: 14px; }
	.fe-grid { row-gap: 28px; }
	.fe-card__title { font-size: .9375rem; }
	.fe-card__brand { font-size: .625rem; }
	.fe-card__price { font-size: 1rem; }
	.fe-card__action .button { padding: 11px 10px; font-size: .75rem; }
	.fe-catalog--fila .fe-grid {
		flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		margin-inline: calc(-1 * var(--fe-edge, 16px)); padding-inline: var(--fe-edge, 16px);
		scroll-padding-inline: var(--fe-edge, 16px); padding-bottom: 6px;
	}
	.fe-catalog--fila .fe-grid::-webkit-scrollbar { display: none; }
	.fe-catalog--fila .fe-card { flex: 0 0 62%; scroll-snap-align: start; }
}

/* Barra de herramientas (contador + orden) */
.fe-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--fe-line); }
.fe-toolbar__count { margin: 0; font-size: .9375rem; color: var(--fe-muted); }
.fe-toolbar__count strong { color: var(--fe-ink); font-family: var(--fe-font-head); }
.fe-sort { display: flex; align-items: center; gap: 10px; margin: 0; }
.fe-sort label { font-size: .8125rem; color: var(--fe-muted); white-space: nowrap; }
.fe-sort select {
	appearance: none; -webkit-appearance: none;
	font-family: var(--fe-font-head); font-weight: 600; font-size: .8125rem; color: var(--fe-ink);
	padding: 10px 38px 10px 14px; border: 1.5px solid var(--fe-line); border-radius: var(--fe-r); background: #fff
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%23211F20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center;
	cursor: pointer; transition: border-color .2s;
}
.fe-sort select:hover, .fe-sort select:focus { border-color: var(--fe-ink); }

/* Chips de filtros activos */
.fe-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -6px 0 22px; }
.fe-chip {
	display: inline-flex; align-items: center; gap: 8px; padding: 7px 8px 7px 14px; border-radius: 999px;
	background: var(--fe-blue-soft); color: var(--fe-blue-deep); font-size: .8125rem; font-weight: 500; text-decoration: none;
	transition: background-color .2s, color .2s;
}
.fe-chip span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(54, 70, 148, .16); font-size: 13px; line-height: 1; }
.fe-chip:hover { background: var(--fe-blue); color: #fff; }
.fe-active__clear { font-size: .8125rem; color: var(--fe-muted); margin-left: 6px; text-decoration: underline; }
.fe-active__clear:hover { color: var(--fe-ink); }

/* Barra lateral de filtros */
.fe-filters { flex: 0 0 272px; width: 272px; position: sticky; top: calc(var(--fe-header-h) + 20px); align-self: flex-start; max-height: calc(100vh - var(--fe-header-h) - 40px); overflow: auto; scrollbar-width: thin; padding-right: 6px; }
.fe-filters__toggle { display: none; list-style: none; cursor: pointer; }
.fe-filters__toggle::-webkit-details-marker { display: none; }
.fe-filters__inner { display: flex; flex-direction: column; }
.fe-fgroup { padding: 20px 0; border-bottom: 1px solid var(--fe-line); }
.fe-fgroup:first-child { padding-top: 4px; }
.fe-fgroup__title { margin: 0 0 14px; font-family: var(--fe-font-head); font-weight: 700; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fe-ink); display: flex; align-items: center; gap: 10px; }
.fe-fgroup__title::before { content: ""; width: 4px; height: 14px; background: linear-gradient(180deg, var(--fe-pink) 50%, var(--fe-blue) 50%); }
.fe-fgroup__list { display: flex; flex-direction: column; gap: 2px; }
.fe-fgroup__list.is-scroll { max-height: 236px; overflow: auto; padding-right: 6px; scrollbar-width: thin; }
.fe-check { display: flex; align-items: center; gap: 12px; padding: 7px 4px; border-radius: 6px; color: var(--fe-ink-2); text-decoration: none; font-size: .9375rem; line-height: 1.3; cursor: pointer; transition: color .2s, background-color .2s; }
.fe-check:hover { color: var(--fe-blue); background: var(--fe-mist); }
.fe-check__box { flex: 0 0 18px; width: 18px; height: 18px; border: 1.5px solid #9D979A; border-radius: 5px; position: relative; background: #fff; transition: background-color .2s, border-color .2s; }
.fe-check.is-on { color: var(--fe-ink); font-weight: 500; }
.fe-check.is-on .fe-check__box { background: var(--fe-ink); border-color: var(--fe-ink); }
.fe-check.is-on .fe-check__box::after { content: ""; position: absolute; left: 5px; top: 1.5px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.fe-fcats, .fe-fcats ul { list-style: none; margin: 0; padding: 0; }
.fe-fcats > li > a { display: block; padding: 7px 4px; font-weight: 500; color: var(--fe-ink); text-decoration: none; font-size: .9375rem; }
.fe-fcats a:hover { color: var(--fe-blue); }
.fe-fcats a.is-current { color: var(--fe-blue); font-weight: 700; }
.fe-fcats ul { margin: 2px 0 8px 14px; padding-left: 12px; border-left: 2px solid var(--fe-line); }
.fe-fcats ul a { display: block; padding: 5px 4px; font-size: .875rem; color: var(--fe-ink-2); text-decoration: none; }

.fe-price { display: flex; align-items: center; gap: 8px; margin-top: 14px; }
.fe-price input[type="number"] {
	width: 100%; min-width: 0; padding: 10px 12px; border: 1.5px solid var(--fe-line); border-radius: var(--fe-r);
	font-family: var(--fe-font-body); font-size: .875rem; color: var(--fe-ink); background: #fff; -moz-appearance: textfield;
	transition: border-color .2s;
}
.fe-price input::-webkit-outer-spin-button, .fe-price input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fe-price input:focus { outline: none; border-color: var(--fe-ink); }
.fe-price__go { flex: 0 0 auto; padding: 11px 16px; border: 0; border-radius: var(--fe-r); background: var(--fe-ink); color: #fff; font-family: var(--fe-font-head); font-weight: 700; font-size: .75rem; cursor: pointer; transition: background-color .2s; }
.fe-price__go:hover { background: var(--fe-blue); }

/* Paginación */
.fe-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 48px; }
.fe-pagination__num, .fe-pagination__nav {
	display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1.5px solid var(--fe-line); border-radius: var(--fe-r);
	font-family: var(--fe-font-head); font-weight: 600; font-size: .875rem; color: var(--fe-ink); text-decoration: none; transition: background-color .2s, color .2s, border-color .2s;
}
.fe-pagination__num:hover, .fe-pagination__nav:hover { border-color: var(--fe-ink); }
.fe-pagination__num.is-current { background: var(--fe-ink); border-color: var(--fe-ink); color: #fff; }
.fe-pagination__gap { color: var(--fe-muted); padding: 0 4px; }

/* Sin resultados */
.fe-empty { text-align: center; padding: 64px 24px; background: var(--fe-mist); border-radius: var(--fe-r-lg); }
.fe-empty p { margin: 0 0 16px; font-family: var(--fe-font-head); font-weight: 600; color: var(--fe-ink); font-size: 1.1rem; }
.fe-empty__clear { display: inline-block; padding: 12px 22px; border-radius: var(--fe-r); background: var(--fe-ink); color: #fff; text-decoration: none; font-family: var(--fe-font-head); font-weight: 700; font-size: .8125rem; }

/* Filtros en tableta/móvil: panel plegable sobre el listado */
@media (max-width: 1024px) {
	.fe-catalog.has-filters { flex-direction: column; align-items: stretch; gap: 20px; }
	.fe-filters { flex: 0 0 auto; width: 100%; position: static; max-height: none; overflow: visible; padding: 0; }
	.fe-filters__toggle {
		display: flex; align-items: center; justify-content: space-between; padding: 14px 18px;
		border: 1.5px solid var(--fe-ink); border-radius: var(--fe-r); background: #fff;
		font-family: var(--fe-font-head); font-weight: 700; font-size: .875rem; color: var(--fe-ink);
	}
	.fe-filters__toggle::after { content: "+"; font-size: 1.4rem; line-height: 1; font-weight: 400; }
	.fe-filters__panel[open] > .fe-filters__toggle { background: var(--fe-ink); color: #fff; border-radius: var(--fe-r) var(--fe-r) 0 0; }
	.fe-filters__panel[open] > .fe-filters__toggle::after { content: "–"; }
	.fe-filters__inner { padding: 4px 18px 12px; border: 1.5px solid var(--fe-ink); border-top: 0; border-radius: 0 0 var(--fe-r) var(--fe-r); background: #fff; }
}
@media (max-width: 767px) {
	.fe-toolbar { flex-wrap: wrap; }
	.fe-sort { width: 100%; }
	.fe-sort select { flex: 1 1 auto; }
}

/* --------------------------------------------------------------------------
   9. Bloques de contenido de la portada
   -------------------------------------------------------------------------- */
.fe-bg-mist { background: var(--fe-mist); }
.fe-bg-ink { background: var(--fe-ink); color: #fff; }
.fe-bg-blue { background: var(--fe-blue); color: #fff; }
.fe-bg-white { background: #fff; }

/* Paneles dobles: equivalentes / originales */
.fe-panel { position: relative; overflow: hidden; isolation: isolate; border-radius: 20px; color: #fff; }
.fe-panel--blue { background: radial-gradient(70% 90% at 100% 0, rgba(211, 112, 168, .45), transparent 60%), var(--fe-blue); }
.fe-panel--ink { background: radial-gradient(70% 90% at 100% 100%, rgba(54, 70, 148, .7), transparent 62%), var(--fe-ink); }
.fe-panel .elementor-heading-title { color: #fff; }
.fe-panel .fe-eyebrow .elementor-heading-title { color: #fff; }
.fe-panel p { color: rgba(255, 255, 255, .86); }
.fe-panel::after {
	content: ""; position: absolute; right: -60px; bottom: -60px; width: 260px; height: 260px; z-index: -1; border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, .14); box-shadow: 0 0 0 36px rgba(255, 255, 255, .03), 0 0 0 72px rgba(255, 255, 255, .02);
}
.fe-checks .elementor-icon-list-items { display: flex; flex-direction: column; gap: 10px; }
.fe-checks .elementor-icon-list-item { display: flex; align-items: center; gap: 12px; }
.fe-checks .elementor-icon-list-icon { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--fe-pink); color: var(--fe-ink); flex: 0 0 22px; }
.fe-checks .elementor-icon-list-icon svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.fe-checks .elementor-icon-list-text { font-size: .9375rem; color: #fff; }

/* Pasos (cómo pedir) */
.fe-step { position: relative; padding: 32px 28px; background: #fff; border: 1px solid var(--fe-line); border-radius: var(--fe-r-lg); }
.fe-step__n .elementor-heading-title {
	font-family: var(--fe-font-head); font-weight: 800; font-size: 3.4rem; line-height: 1; letter-spacing: -.05em; margin: 0 0 14px;
	background: linear-gradient(180deg, var(--fe-pink), var(--fe-blue)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.fe-step .elementor-heading-title.fe-step__t, .fe-step__t .elementor-heading-title { font-family: var(--fe-font-head); font-weight: 700; font-size: 1.15rem; color: var(--fe-ink); margin: 0 0 8px; letter-spacing: -.01em; }
.fe-step p { margin: 0; color: var(--fe-muted); line-height: 1.6; font-size: .9375rem; }

/* Valores / tarjetas de texto */
.fe-card-text { padding: 30px 28px; background: #fff; border: 1px solid var(--fe-line); border-radius: var(--fe-r-lg); transition: transform .3s var(--fe-ease), box-shadow .3s; }
.fe-card-text:hover { transform: translateY(-4px); box-shadow: var(--fe-shadow); }
.fe-card-text p { margin: 0; color: var(--fe-muted); line-height: 1.6; font-size: .9375rem; }
.fe-card-text .fe-h3 .elementor-heading-title { margin-bottom: 6px; }
.fe-card-text__icon .elementor-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--fe-blue-soft); color: var(--fe-blue); }
.fe-card-text__icon .elementor-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Franja WhatsApp */
.fe-cta { position: relative; overflow: hidden; isolation: isolate; border-radius: 22px; background: radial-gradient(60% 120% at 100% 0, rgba(211, 112, 168, .4), transparent 60%), var(--fe-ink); color: #fff; }
.fe-cta .elementor-heading-title { color: #fff; }
.fe-cta p { color: rgba(255, 255, 255, .84); }

/* Separador de marca */
.fe-rule { width: 56px; height: 5px; background: linear-gradient(90deg, var(--fe-pink) 50%, var(--fe-blue) 50%); border-radius: 3px; }

/* Imagen con marco */
.fe-frame img { border-radius: 20px; display: block; width: 100%; object-fit: cover; box-shadow: var(--fe-shadow-lg); }

/* Visítanos (Nosotros) */
.fe-contact-list .elementor-icon-list-items { display: flex; flex-direction: column; gap: 12px; }
.fe-contact-list .elementor-icon-list-item { display: flex; align-items: center; gap: 12px; }
.fe-contact-list .elementor-icon-list-icon { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--fe-blue-soft); color: var(--fe-blue); flex: 0 0 34px; }
.fe-contact-list .elementor-icon-list-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fe-contact-list .elementor-icon-list-text { color: var(--fe-ink); font-size: 1rem; }
.fe-visit { border-top: 1px solid var(--fe-line); }

/* Migas de pan (widget Migas de pan de WooCommerce) */
.fe-crumbs, .fe-crumbs a, .woocommerce-breadcrumb { font-family: var(--fe-font-body); font-size: .8125rem; color: var(--fe-muted); text-decoration: none; }
.fe-crumbs a:hover { color: var(--fe-blue); }

/* --------------------------------------------------------------------------
   10. Pie de página (Theme Builder > Pie de página)
   -------------------------------------------------------------------------- */
.fe-footer { background: var(--fe-ink); color: rgba(255, 255, 255, .78); position: relative; }
.fe-footer:not(.fe-footer__bar)::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--fe-pink) 0 50%, var(--fe-blue) 50% 100%); }
.fe-footer p, .fe-footer li, .fe-footer .elementor-icon-list-text { font-size: .9375rem; line-height: 1.65; color: rgba(255, 255, 255, .78); }
.fe-footer a { color: rgba(255, 255, 255, .78); text-decoration: none; transition: color .2s; }
.fe-footer a:hover { color: var(--fe-pink); }
.fe-footer__title .elementor-heading-title { font-family: var(--fe-font-head); font-weight: 700; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: #fff; margin: 0; }
.fe-footer .elementor-nav-menu--main .elementor-item { padding: 6px 0; font-size: .9375rem; color: rgba(255, 255, 255, .78); font-family: var(--fe-font-body); font-weight: 400; background: transparent; }
.fe-footer .elementor-nav-menu--main .elementor-item:hover { color: var(--fe-pink); background: transparent; }
.fe-footer .elementor-icon-list-items { display: flex; flex-direction: column; gap: 12px; }
.fe-footer .elementor-icon-list-item { display: flex; align-items: flex-start; gap: 12px; }
.fe-footer .elementor-icon-list-icon { color: var(--fe-pink); display: inline-flex; padding-top: 4px; }
.fe-footer .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fe-footer .elementor-social-icon { background: rgba(255, 255, 255, .08); color: #fff; width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: 50%; transition: background-color .2s, transform .2s var(--fe-ease); }
.fe-footer .elementor-social-icon:hover { background: var(--fe-pink); color: var(--fe-ink); transform: translateY(-2px); }
.fe-footer .elementor-social-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fe-footer__bar { border-top: 1px solid rgba(255, 255, 255, .12); }
.fe-footer__legal { text-align: right; }
@media (max-width: 767px) { .fe-footer__legal { text-align: left; } }
.fe-footer__bar p, .fe-footer__bar a { font-size: .8125rem; color: rgba(255, 255, 255, .62); margin: 0; }

/* --------------------------------------------------------------------------
   11. Animación de entrada (opcional: clase .fe-reveal en un contenedor)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	.fe-reveal { animation: fe-rise .8s var(--fe-ease) both; }
	@keyframes fe-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}/* End custom CSS */