/* ==========================================================================
   Flow Terapias · estilos del tema (Studio Lupim)
   Los colores y tipografías viven en el kit global de Elementor; aquí solo
   están los efectos de marca que Elementor no hace solo (clases fl-*).
   Para retocar algo visual, mejor en Elementor (CSS personalizado del kit):
   este archivo se sobrescribe al actualizar el tema.
   ========================================================================== */

:root {
	--fl-forest: #2F4A29;
	--fl-forest-2: #22361E;
	--fl-sage: #8EA696;
	--fl-sage-2: #7F9A86;
	--fl-mint: #9FC8AD;
	--fl-gold: #BF9C5F;
	--fl-gold-dark: #8B7341;
	--fl-bg: #F4F6F1;
	--fl-mist: #EBF0E9;
	--fl-text: #4A5F45;
	--fl-line: rgba(47, 74, 41, .14);
	--fl-ease: cubic-bezier(.22, .61, .36, 1);
}

html { scroll-behavior: smooth; }
html.fl-lock { overflow: hidden; }
body { background: var(--fl-bg); -webkit-font-smoothing: antialiased; }
::selection { background: var(--fl-mint); color: var(--fl-forest-2); }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

/* -------------------------------------------------------------- animaciones */
@keyframes fl-spin { to { transform: rotate(360deg); } }
@keyframes fl-spin-r { to { transform: rotate(-360deg); } }
@keyframes fl-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes fl-pulse { 0% { box-shadow: 0 0 0 0 rgba(191, 156, 95, .55); } 100% { box-shadow: 0 0 0 12px rgba(191, 156, 95, 0); } }
@keyframes fl-pulse-g { 0% { box-shadow: 0 0 0 0 rgba(123, 216, 143, .6); } 100% { box-shadow: 0 0 0 9px rgba(123, 216, 143, 0); } }
@keyframes fl-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ------------------------------------------------------------------ cabecera */
.fl-header { transition: background .35s var(--fl-ease), box-shadow .35s var(--fl-ease); }
.fl-header.elementor-sticky--effects,
.fl-header.is-scrolled {
	background: rgba(244, 246, 241, .82) !important;
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	box-shadow: 0 1px 0 var(--fl-line);
}
.fl-header .elementor-nav-menu a.elementor-item-active,
.fl-header .elementor-nav-menu a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--fl-gold); }

/* ---------------------------------------------------- anillos que giran (marca) */
/* Contenedor con foto: .fl-rings. Dibuja el anillo dorado y el punteado que giran en sentidos opuestos. */
.fl-rings { position: relative; isolation: isolate; }
.fl-rings::before,
.fl-rings::after {
	content: "";
	position: absolute;
	left: 50%; top: 50%;
	border-radius: 50%;
	pointer-events: none;
	z-index: -1;
}
.fl-rings::before {
	width: var(--fl-r1, 112%); aspect-ratio: 1;
	border: 1px solid var(--fl-gold);
	translate: -50% -50%;
	animation: fl-spin 50s linear infinite;
}
.fl-rings::after {
	width: var(--fl-r2, 102%); aspect-ratio: 1;
	border: 1.4px dashed var(--fl-sage-2);
	translate: -50% -50%;
	animation: fl-spin-r 70s linear infinite;
	/* guiones cortos: máscara radial sobre un borde discontinuo */
	border-style: dotted;
}
.fl-rings--light::after { border-color: var(--fl-mint); }

/* Fotos con forma de la marca */
.fl-circle img, .fl-circle .elementor-widget-container { border-radius: 50% !important; aspect-ratio: 1; object-fit: cover; width: 100%; }
.fl-arch img { border-radius: 999px 999px 24px 24px !important; object-fit: cover; width: 100%; }
.fl-arch-r img { border-radius: 4px 220px 4px 4px !important; object-fit: cover; width: 100%; }
.fl-round img { border-radius: 24px !important; object-fit: cover; width: 100%; }

/* ------------------------------------------------- fondo con la hoja ampliada */
.fl-leafbg { position: relative; overflow: hidden; isolation: isolate; }
.fl-leafbg::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: -140px; top: -220px;
	width: 760px; height: 1140px;
	transform: rotate(-18deg);
	opacity: .16;
	pointer-events: none;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M100 8 C172 70 172 230 100 292 C28 230 28 70 100 8Z M100 26 V292 M100 78 L66 52 M100 78 L134 52 M100 136 L54 100 M100 136 L146 100 M100 196 L56 160 M100 196 L144 160 M100 252 L70 224 M100 252 L130 224' fill='none' stroke='%239FC8AD' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E");
}
.fl-leafbg--right::before { left: auto; right: -120px; top: -160px; width: 540px; height: 810px; transform: rotate(16deg); opacity: .22;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M100 8 C172 70 172 230 100 292 C28 230 28 70 100 8Z M100 26 V292 M100 78 L66 52 M100 78 L134 52 M100 136 L54 100 M100 136 L146 100 M100 196 L56 160 M100 196 L144 160 M100 252 L70 224 M100 252 L130 224' fill='none' stroke='%237F9A86' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E"); }
@media (max-width: 767px) {
	.fl-leafbg::before { width: 440px; height: 660px; left: -150px; top: -100px; }
	.fl-leafbg--right::before { width: 300px; height: 450px; right: -90px; top: -60px; }
}

/* ------------------------------------------------------------- textos marca */
.fl-eyebrow .elementor-heading-title { letter-spacing: .18em; text-transform: uppercase; }
.fl-italic em { font-style: normal; color: var(--fl-sage); }

/* ------------------------------------------------------ cinta de tratamientos */
.fl-marquee { overflow: hidden; border-top: 1px solid var(--fl-line); border-bottom: 1px solid var(--fl-line); background: var(--fl-mist); }
.fl-marquee .elementor-heading-title {
	display: inline-flex; gap: 40px; white-space: nowrap; width: max-content;
	animation: fl-marquee 38s linear infinite;
}
.fl-marquee .elementor-heading-title span { color: var(--fl-gold); }

/* ------------------------------------------------------------------ tarjetas */
.fl-lift { transition: transform .35s var(--fl-ease), box-shadow .35s var(--fl-ease); }
.fl-lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(47, 74, 41, .14); }
.fl-card-link { cursor: pointer; }

/* Etiqueta flotante del hero */
.fl-float { animation: fl-rise 1s var(--fl-ease) both .3s; box-shadow: 0 14px 36px rgba(47, 74, 41, .16); }

/* ------------------------------------------------------------- ficha botánica */
.fl-label { position: relative; }
.fl-label__tag { position: absolute !important; top: -11px; left: 22px; width: auto !important; }
.fl-label__tag .elementor-heading-title { background: var(--fl-bg); padding: 0 10px; letter-spacing: .2em; text-transform: uppercase; }
.fl-label__row { border-bottom: 1px dashed rgba(47, 74, 41, .18); }
.fl-label__row:last-child { border-bottom: 0; }

/* --------------------------------------------------------------------- chips */
.fl-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.fl-chip,
.fl-goal .elementor-button,
.fl-catchips .elementor-button {
	border: 1.5px solid rgba(47, 74, 41, .25) !important;
	background: #fff !important;
	color: var(--fl-forest) !important;
	border-radius: 999px !important;
	padding: 13px 20px !important;
	font: 600 15px/1.2 Manrope, system-ui, sans-serif !important;
	cursor: pointer;
	transition: background .25s, color .25s, border-color .25s;
}
.fl-chip:hover, .fl-goal .elementor-button:hover, .fl-catchips .elementor-button:hover { border-color: var(--fl-forest) !important; }
.fl-chip.is-on,
.fl-goal.is-on .elementor-button,
.fl-catchips .is-on .elementor-button { background: var(--fl-forest) !important; color: #F4F6F1 !important; border-color: var(--fl-forest) !important; }
.fl-chip.is-on::before, .fl-goal.is-on .elementor-button-text::before { content: "✓ "; }
@media (max-width: 767px) {
	.fl-chip, .fl-goal .elementor-button, .fl-catchips .elementor-button { padding: 11px 15px !important; font-size: 14px !important; }
	.fl-catchips { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
	.fl-catchips > * { flex: none !important; }
}

/* Globo de WhatsApp con el mensaje preparado */
.fl-wa-msg { background: #DCF3D3; color: #1E2E1A; border-radius: 16px 16px 4px 16px; padding: 12px 16px; }
.fl-wa-msg p { margin: 0; }

/* Preguntas en formato chat */
.fl-q { align-self: flex-end; max-width: 85%; background: #DCF3D3; border-radius: 16px 16px 4px 16px; padding: 12px 16px; width: auto !important; }
.fl-a { max-width: 90%; background: #fff; border-radius: 16px 16px 16px 4px; padding: 12px 16px; width: auto !important; }
.fl-a p, .fl-q p { margin: 0; }

/* -------------------------------------------------- carta (filas de categoría) */
.fl-row { transition: background .3s var(--fl-ease), padding .3s var(--fl-ease), opacity .3s; border-bottom: 1px solid var(--fl-line); }
.fl-row:hover { background: #fff; }
.fl-row .fl-row__thumb img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; transition: width .3s, height .3s; }
.fl-row .fl-row__goals { display: none !important; }
.fl-row.is-lo { opacity: .38; }
.fl-row.is-lo .fl-row__thumb img { width: 44px; height: 44px; }
.fl-row.is-lo .fl-row__desc { display: none; }
.fl-row .fl-row__arrow .elementor-heading-title { transition: transform .3s, color .3s; }
.fl-row:hover .fl-row__arrow .elementor-heading-title { transform: translateX(6px); color: var(--fl-gold); }
@media (max-width: 767px) {
	.fl-row .fl-row__thumb img { width: 60px; height: 60px; }
	.fl-row.is-lo .fl-row__thumb img { width: 34px; height: 34px; }
}

/* ----------------------------------------------- método de Valeria (círculo) */
.fl-orbit { position: relative; }
.fl-orbit::before {
	content: ""; position: absolute; inset: 6%; border-radius: 50%;
	border: 1.4px dotted var(--fl-gold);
	animation: fl-spin 60s linear infinite;
	pointer-events: none;
}
.fl-step-dot { width: 52px !important; height: 52px; border-radius: 50%; border: 1.5px solid var(--fl-forest); display: flex; align-items: center; justify-content: center; }
.fl-timeline { position: relative; }
/* Línea curva dorada que une los círculos (la dibuja flow.js en un SVG .fl-tl-wave). */
.fl-timeline .fl-step-dot { position: relative; z-index: 1; background: #fff; transition: background .4s, color .4s, border-color .4s; }
.fl-timeline > .e-con, .fl-timeline > .e-con-inner > .e-con { position: relative; z-index: 1; }
.fl-tl-wave { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
.fl-tl-wave .fl-tl-mask { transition: stroke-dashoffset 2.4s cubic-bezier(.45, .05, .25, 1); }
.fl-timeline.is-in .fl-tl-wave .fl-tl-mask { stroke-dashoffset: 0 !important; }
.fl-timeline > .e-con:hover .fl-step-dot, .fl-timeline > .e-con-inner > .e-con:hover .fl-step-dot { background: var(--fl-forest); border-color: var(--fl-forest); }
.fl-timeline > .e-con:hover .fl-step-dot *, .fl-timeline > .e-con-inner > .e-con:hover .fl-step-dot * { color: #F4F6F1 !important; }
.fl-timeline > .e-con:last-child .fl-step-dot, .fl-timeline > .e-con-inner > .e-con:last-child .fl-step-dot { background: var(--fl-gold); border-color: var(--fl-gold); box-shadow: 0 0 0 6px rgba(191, 156, 95, .16); }
.fl-timeline > .e-con:last-child .fl-step-dot *, .fl-timeline > .e-con-inner > .e-con:last-child .fl-step-dot * { color: #fff !important; }
@media (max-width: 767px) {
	.fl-timeline > .e-con, .fl-timeline > .e-con-inner > .e-con { padding-left: 72px !important; }
	.fl-timeline .fl-step-dot { position: absolute !important; left: 0; top: 0; }
}

/* Foto de «Dónde te atiendo», más contenida. */
.fl-donde-photo img { max-height: 520px; object-fit: cover; }
@media (max-width: 767px) { .fl-donde-photo img { max-height: 340px; } }

/* --------------------------------------------- dos círculos (Cuerpo + Piel) */
.fl-venn { position: relative; min-height: 440px; }
.fl-venn__c { position: absolute !important; top: 40px; width: 360px !important; height: 360px; border-radius: 50%; transition: transform .5s var(--fl-ease); }
.fl-venn__c--l { left: 20px; border: 1.5px solid var(--fl-forest); background: rgba(220, 230, 221, .5); }
.fl-venn__c--r { right: 20px; border: 1.5px solid var(--fl-gold); background: rgba(191, 156, 95, .08); }
.fl-venn:hover .fl-venn__c--l { transform: translateX(-14px); }
.fl-venn:hover .fl-venn__c--r { transform: translateX(14px); }
.fl-venn__mid { position: absolute !important; left: 50%; top: 50%; transform: translate(-50%, -50%); width: auto !important; }
@media (max-width: 767px) {
	.fl-venn { min-height: 230px; }
	.fl-venn__c { width: 210px !important; height: 210px; top: 10px; }
	.fl-venn__c--l { left: 0; } .fl-venn__c--r { right: 0; }
}

/* --------------------------------------------------- horario y estado abierto */
.fl-status .elementor-heading-title::before {
	content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%;
	background: var(--fl-gold); margin-right: 10px; vertical-align: middle;
	animation: fl-pulse 2s ease-out infinite;
}
.fl-status.is-open .elementor-heading-title::before { background: #4CAF6A; }
.fl-day { border: 1px solid rgba(47, 74, 41, .1); border-radius: 16px; background: #fff; transition: background .3s; }
.fl-day.is-today { background: var(--fl-forest) !important; border-color: var(--fl-forest); }
.fl-day.is-today .elementor-heading-title { color: #F4F6F1 !important; }
.fl-day.is-today::after { content: "HOY"; display: block; font: 700 10px/1 Manrope, sans-serif; letter-spacing: .08em; color: var(--fl-gold); text-align: center; }

/* ------------------------------------------------------------ formularios */
.elementor-form .elementor-field-textual { transition: border-color .2s, box-shadow .2s; }
.elementor-form .elementor-field-textual:focus { border-color: var(--fl-forest) !important; box-shadow: 0 0 0 3px rgba(47, 74, 41, .12); }
.elementor-message-success { color: #2E7D4F !important; font-weight: 600; }
.elementor-message-danger, .elementor-error .elementor-field-textual { color: #B3261E !important; }
.fl-dark .elementor-message-success { color: #DCF3D3 !important; }
.fl-glass { background: rgba(47, 74, 41, .55); border: 1px solid rgba(255, 255, 255, .22); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }

/* -------------------------------------------------------- barra fija móvil */
.fl-bottom-bar { position: fixed !important; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); width: auto !important; max-width: none !important; box-sizing: border-box; z-index: 90; transform: translateY(140%); transition: transform .45s var(--fl-ease); }
.fl-bottom-bar.is-visible { transform: none; }
@media (min-width: 1025px) { .fl-bottom-bar { display: none !important; } }
body.fl-has-bar { padding-bottom: 0; }

/* ------------------------------------------------------- mega menú (escritorio) */
.fl-header { position: relative; }
.elementor-location-header { position: relative; z-index: 70; }
.fl-header .elementor-nav-menu--main .fl-mega > .sub-menu { display: none !important; }
.fl-header .fl-mega__trigger .sub-arrow { display: inline-flex; margin-left: 2px; transition: transform .35s var(--fl-ease); }
.fl-header.fl-mega-open .fl-mega__trigger .sub-arrow { transform: rotate(180deg); }
.fl-header .elementor-nav-menu--main .elementor-item { position: relative; }
.fl-header .elementor-nav-menu--main .elementor-item::after {
	content: ""; position: absolute; left: 13px; right: 13px; bottom: 4px; height: 1.5px; background: var(--fl-gold);
	transform: scaleX(0); transform-origin: right; transition: transform .4s var(--fl-ease);
}
.fl-header .elementor-nav-menu--main .elementor-item:hover::after,
.fl-header.fl-mega-open .fl-mega__trigger::after { transform: scaleX(1); transform-origin: left; }
.fl-header.fl-mega-open { background: var(--fl-bg) !important; }

.fl-mega-panel {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 60;
	padding: 0 24px 28px; pointer-events: none; visibility: hidden;
}
.fl-mega__inner {
	max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 340px 1fr 320px; gap: 0;
	background: var(--fl-bg); border: 1px solid var(--fl-line); border-top: 0; border-radius: 0 0 28px 28px;
	box-shadow: 0 40px 80px -30px rgba(20, 40, 20, .35); overflow: hidden;
	clip-path: inset(0 0 100% 0 round 0 0 28px 28px); transform: translateY(-10px);
	transition: clip-path .55s var(--fl-ease), transform .55s var(--fl-ease);
}
.fl-mega-panel.is-open { pointer-events: auto; visibility: visible; }
.fl-mega-panel.is-open .fl-mega__inner { clip-path: inset(0 0 0 0 round 0 0 28px 28px); transform: none; }
@media (max-width: 1024px) { .fl-mega-panel, .fl-mega-veil { display: none !important; } }

.fl-mega-veil {
	position: fixed; inset: 0; z-index: 40; background: rgba(20, 32, 18, .28); opacity: 0; pointer-events: none;
	-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); transition: opacity .45s var(--fl-ease);
}
.fl-mega-veil.is-on { opacity: 1; pointer-events: auto; }

/* columna 1: categorías */
.fl-mega__tabs { background: var(--fl-forest-2); padding: 22px 14px; display: flex; flex-direction: column; gap: 4px; position: relative; overflow: hidden; isolation: isolate; }
.fl-mega__tabs::before { content: ""; position: absolute; z-index: -1; right: -120px; bottom: -150px; width: 300px; height: 450px; transform: rotate(16deg); opacity: .14; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M100 8 C172 70 172 230 100 292 C28 230 28 70 100 8Z M100 26 V292 M100 78 L66 52 M100 78 L134 52 M100 136 L54 100 M100 136 L146 100 M100 196 L56 160 M100 196 L144 160 M100 252 L70 224 M100 252 L130 224' fill='none' stroke='%239FC8AD' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E"); }
.fl-mega-panel .fl-mega__tab {
	display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 14px 14px; border-radius: 16px;
	color: rgba(244, 246, 241, .78); text-decoration: none !important; transition: background .3s, color .3s;
	opacity: 0; transform: translateX(-12px);
}
.fl-mega-panel.is-open .fl-mega__tab { opacity: 1; transform: none; transition: background .3s, color .3s, opacity .5s var(--fl-ease), transform .5s var(--fl-ease); }
.fl-mega-panel.is-open .fl-mega__tab:nth-child(1) { transition-delay: 0s, 0s, .12s, .12s; }
.fl-mega-panel.is-open .fl-mega__tab:nth-child(2) { transition-delay: 0s, 0s, .17s, .17s; }
.fl-mega-panel.is-open .fl-mega__tab:nth-child(3) { transition-delay: 0s, 0s, .22s, .22s; }
.fl-mega-panel.is-open .fl-mega__tab:nth-child(4) { transition-delay: 0s, 0s, .27s, .27s; }
.fl-mega__num { font: 400 13px/1 Manrope, sans-serif; letter-spacing: .1em; color: var(--fl-gold); }
.fl-mega__tabtxt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fl-mega__tabtxt strong { font: 400 21px/1.15 Marcellus, serif; color: inherit; }
.fl-mega__tabtxt em { font: 400 12.5px/1.4 Manrope, sans-serif; font-style: normal; color: rgba(244, 246, 241, .55); max-height: 0; overflow: hidden; transition: max-height .4s var(--fl-ease); }
.fl-mega__count { font: 600 11px/1 Manrope, sans-serif; min-width: 24px; height: 24px; display: grid; place-items: center; border-radius: 99px; border: 1px solid rgba(244, 246, 241, .22); color: rgba(244, 246, 241, .7); }
.fl-mega-panel .fl-mega__tab.is-on { background: rgba(244, 246, 241, .08); color: #F4F6F1; }
.fl-mega-panel .fl-mega__tab:hover { color: #F4F6F1; }
.fl-mega__tab.is-on em { max-height: 40px; }
.fl-mega__tab.is-on .fl-mega__count { background: var(--fl-gold); border-color: var(--fl-gold); color: var(--fl-forest-2); }

/* columna 2: tratamientos */
.fl-mega__lists { position: relative; padding: 26px 30px 22px; min-height: 380px; }
.fl-mega__list { position: absolute; inset: 26px 30px 22px; display: flex; flex-direction: column; visibility: hidden; }
.fl-mega__list.is-on { visibility: visible; }
.fl-mega__eyebrow { margin: 0 0 8px; font: 600 11px/1 Manrope, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--fl-gold-dark); }
.fl-mega__item {
	display: grid; grid-template-columns: 1fr auto 18px; align-items: baseline; gap: 14px; padding: 11px 6px;
	border-bottom: 1px solid var(--fl-line); text-decoration: none !important; color: var(--fl-forest);
	opacity: 0; transform: translateY(8px); transition: opacity .35s, transform .35s, padding .3s var(--fl-ease), background .3s;
}
.fl-mega__list.is-on .fl-mega__item { opacity: 1; transform: none; transition-delay: var(--d), var(--d), 0s, 0s; }
.fl-mega__itemname { font: 400 18px/1.25 Marcellus, serif; }
.fl-mega__itemmeta { font: 500 13px/1 Manrope, sans-serif; color: var(--fl-text); white-space: nowrap; }
.fl-mega__arrow { color: var(--fl-gold); opacity: 0; transform: translateX(-6px); transition: opacity .3s, transform .3s var(--fl-ease); }
.fl-mega__item:hover, .fl-mega__item:focus-visible { padding-left: 14px; background: linear-gradient(90deg, var(--fl-mist), transparent); outline: none; }
.fl-mega__item:hover .fl-mega__arrow, .fl-mega__item:focus-visible .fl-mega__arrow { opacity: 1; transform: none; }
.fl-mega__all { margin-top: auto; padding-top: 16px; align-self: flex-start; font: 600 14px/1 Manrope, sans-serif; color: var(--fl-forest) !important; text-decoration: none !important; }
.fl-mega__all span { display: inline-block; color: var(--fl-gold); transition: transform .3s var(--fl-ease); }
.fl-mega__all:hover span { transform: translateX(5px); }

/* columna 3: foto con anillos */
.fl-mega__feature { background: var(--fl-mist); padding: 30px 26px 24px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; }
.fl-mega__photo { position: relative; width: 190px; height: 190px; margin: 8px 0 14px; }
.fl-mega__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; opacity: 0; transform: scale(1.06); transition: opacity .5s var(--fl-ease), transform .7s var(--fl-ease); }
.fl-mega__photo img.is-on { opacity: 1; transform: none; }
.fl-mega__ring { position: absolute; inset: -12px; border-radius: 50%; border: 1.5px solid var(--fl-gold); border-right-color: transparent; border-bottom-color: transparent; animation: fl-spin 9s linear infinite; }
.fl-mega__ring--dot { inset: -22px; border: 1.5px dashed rgba(127, 154, 134, .7); animation: fl-spin-r 26s linear infinite; }
.fl-mega__ftitle { margin: 0; font: 400 21px/1.2 Marcellus, serif; color: var(--fl-forest); min-height: 25px; }
.fl-mega__fline { margin: 0; font: 400 13px/1.45 Manrope, sans-serif; color: var(--fl-text); min-height: 38px; }
.fl-mega__wa {
	margin-top: auto; display: inline-flex; align-items: center; gap: 9px; padding: 12px 16px; border-radius: 999px;
	background: var(--fl-forest); color: #F4F6F1 !important; font: 600 13px/1.2 Manrope, sans-serif; text-decoration: none !important; transition: background .3s, transform .3s var(--fl-ease);
}
.fl-mega__wa:hover { background: var(--fl-forest-2); transform: translateY(-2px); }
.fl-mega__wadot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: #7BD88F; animation: fl-pulse-g 1.8s infinite; }

/* --------------------------------------------------------- botón hamburguesa */
@media (max-width: 1024px) { .fl-header .fl-burger { display: grid !important; } }
.fl-header .fl-burger { position: relative; width: 46px; height: 46px; padding: 0 !important; border-radius: 50%; background: var(--fl-forest) !important; color: transparent !important; place-items: center; transition: transform .3s var(--fl-ease), background .3s; }
.fl-header .fl-burger > :not(.fl-burger__lines) { display: none !important; }
.fl-header .fl-burger:active { transform: scale(.94); }
.fl-burger__lines { position: relative; width: 20px; height: 12px; display: block; }
.fl-burger__lines i { position: absolute; right: 0; height: 1.6px; border-radius: 2px; background: #F4F6F1; transition: width .35s var(--fl-ease), transform .35s var(--fl-ease), top .35s var(--fl-ease); }
.fl-burger__lines i:nth-child(1) { top: 0; width: 20px; }
.fl-burger__lines i:nth-child(2) { top: 10px; width: 13px; background: var(--fl-gold); }
.fl-header .fl-burger:hover .fl-burger__lines i:nth-child(2) { width: 20px; }

/* ------------------------------------------------------------- menú móvil */
.fl-drawer { position: fixed; inset: 0; z-index: 9999; pointer-events: none; visibility: hidden; transition: visibility 0s .45s; }
.fl-drawer.is-open { pointer-events: auto; visibility: visible; transition: none; }
.fl-drawer__overlay { position: absolute; inset: 0; background: rgba(20, 32, 18, .5); opacity: 0; transition: opacity .5s var(--fl-ease); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.fl-drawer__panel {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 400px); height: 100%; height: 100dvh;
	background: var(--fl-bg); padding: 16px 22px calc(26px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 22px;
	overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y;
	transform: translateX(100%); transition: transform .45s var(--fl-ease); isolation: isolate;
	box-shadow: -20px 0 50px -20px rgba(20, 40, 20, .35);
}
.fl-drawer__panel > * { flex-shrink: 0; }
.fl-drawer__panel::before { content: ""; position: absolute; z-index: -1; right: 0; top: 120px; width: 220px; height: 420px; opacity: .3; pointer-events: none;
	background: right center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M100 8 C172 70 172 230 100 292 C28 230 28 70 100 8Z M100 26 V292 M100 78 L66 52 M100 78 L134 52 M100 136 L54 100 M100 136 L146 100 M100 196 L56 160 M100 196 L144 160 M100 252 L70 224 M100 252 L130 224' fill='none' stroke='%23B9CFBF' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E"); }
.fl-drawer.is-open .fl-drawer__overlay { opacity: 1; }
.fl-drawer.is-open .fl-drawer__panel { transform: none; }
.fl-drawer__top { display: flex; align-items: center; justify-content: space-between; }
.fl-drawer__top img { height: auto; width: 180px; max-height: 60px; object-fit: contain; object-position: left center; }
.fl-drawer__close { position: relative; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--fl-line); background: #fff; cursor: pointer; transition: transform .4s var(--fl-ease); }
.fl-drawer__close i { position: absolute; left: 14px; right: 14px; top: 50%; height: 1.6px; background: var(--fl-forest); border-radius: 2px; transform: rotate(45deg); }
.fl-drawer__close i + i { transform: rotate(-45deg); background: var(--fl-gold-dark); }

.fl-drawer__nav { display: flex; flex-direction: column; }
.fl-drawer__row { border-bottom: 1px solid var(--fl-line); }
.fl-drawer__link {
	width: 100%; display: flex; align-items: center; gap: 14px; padding: 15px 2px; background: none; border: 0; cursor: pointer; text-align: left;
	font: 400 27px/1.15 Marcellus, serif; color: var(--fl-forest) !important; text-decoration: none !important;
}
.fl-drawer__link > span:not(.fl-drawer__num) { flex: 1; }
.fl-drawer__num { font: 500 11px/1 Manrope, sans-serif; letter-spacing: .12em; color: var(--fl-gold-dark); width: 20px; }
.fl-drawer__go { font-style: normal; font-size: 18px; color: var(--fl-gold); transition: transform .3s var(--fl-ease); }
.fl-drawer__link:active .fl-drawer__go { transform: translateX(4px); }
.fl-drawer__link[aria-current="page"] { color: var(--fl-gold-dark) !important; }

/* reset de los botones (el kit de Elementor les da estilo de botón verde) */
.fl-drawer button.fl-acc__btn, .fl-drawer button.fl-drawer__close {
	background: none !important; box-shadow: none !important; text-transform: none !important; letter-spacing: normal !important;
	min-height: 0 !important; line-height: inherit; transform: none;
}
.fl-drawer button.fl-drawer__link { padding: 15px 2px !important; border: 0 !important; border-radius: 0 !important; font: 400 27px/1.15 Marcellus, serif !important; color: var(--fl-forest) !important; }
.fl-drawer button.fl-drawer__cat { padding: 13px 14px 13px 16px !important; border: 0 !important; border-radius: 0 !important; }
.fl-drawer button.fl-drawer__close { padding: 0 !important; border: 1px solid var(--fl-line) !important; border-radius: 50% !important; background: #fff !important; }

/* acordeón */
.fl-acc__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--fl-ease); }
.fl-acc__body > div { overflow: hidden; min-height: 0; }
.fl-acc.is-open > .fl-acc__body { grid-template-rows: 1fr; }
.fl-acc__icon { position: relative; width: 28px; height: 28px; flex: none; border-radius: 50%; border: 1px solid var(--fl-line); transition: background .3s, border-color .3s; }
.fl-acc__icon::before, .fl-acc__icon::after { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--fl-forest); transition: transform .4s var(--fl-ease), background .3s; }
.fl-acc__icon::after { transform: rotate(90deg); }
.fl-acc.is-open > .fl-acc__btn .fl-acc__icon { background: var(--fl-forest); border-color: var(--fl-forest); }
.fl-acc.is-open > .fl-acc__btn .fl-acc__icon::before, .fl-acc.is-open > .fl-acc__btn .fl-acc__icon::after { background: #F4F6F1; }
.fl-acc.is-open > .fl-acc__btn .fl-acc__icon::after { transform: rotate(0); }
.fl-drawer__cats { display: flex; flex-direction: column; gap: 8px; padding: 0 0 16px 34px; }
.fl-acc--cat { background: #fff; border: 1px solid var(--fl-line); border-radius: 18px; overflow: hidden; transition: box-shadow .3s; }
.fl-acc--cat.is-open { box-shadow: 0 12px 30px -18px rgba(20, 40, 20, .4); }
.fl-drawer__cat { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 14px 13px 16px; background: none; border: 0; cursor: pointer; text-align: left; }
.fl-drawer__cat span { display: flex; flex-direction: column; gap: 3px; }
.fl-drawer__cat strong { font: 400 19px/1.15 Marcellus, serif; color: var(--fl-forest); }
.fl-drawer__cat small { font: 500 12px/1 Manrope, sans-serif; color: var(--fl-text); }
.fl-acc--cat .fl-acc__icon { width: 24px; height: 24px; }
.fl-acc--cat .fl-acc__icon::before, .fl-acc--cat .fl-acc__icon::after { left: 7px; right: 7px; }
.fl-drawer__sub { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 11px 16px; border-top: 1px solid var(--fl-line); text-decoration: none !important; }
.fl-drawer__sub span { font: 500 15px/1.3 Manrope, sans-serif; color: var(--fl-forest); }
.fl-drawer__sub small { font: 400 12.5px/1 Manrope, sans-serif; color: var(--fl-text); white-space: nowrap; }
.fl-drawer__sub[aria-current="page"] { background: var(--fl-mist); }
.fl-drawer__sub[aria-current="page"] span { color: var(--fl-gold-dark); }
.fl-drawer__suball { display: block; padding: 12px 16px 14px; border-top: 1px solid var(--fl-line); font: 600 13px/1 Manrope, sans-serif; color: var(--fl-gold-dark) !important; text-decoration: none !important; background: var(--fl-mist); }

.fl-drawer__card {
	margin-top: auto; padding: 20px 18px 18px; border-radius: 22px; background: var(--fl-forest); color: #F4F6F1; position: relative; overflow: hidden; isolation: isolate;
}
.fl-drawer__card::before { content: ""; position: absolute; z-index: -1; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%; border: 1.5px solid var(--fl-gold); border-right-color: transparent; border-bottom-color: transparent; animation: fl-spin 9s linear infinite; }
.fl-drawer__card::after { content: ""; position: absolute; z-index: -1; right: -58px; top: -58px; width: 186px; height: 186px; border-radius: 50%; border: 1.5px dashed rgba(159, 200, 173, .45); animation: fl-spin-r 26s linear infinite; }
.fl-drawer__eyebrow { margin: 0 0 6px; font: 600 11px/1 Manrope, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--fl-gold); }
.fl-drawer__pitch { margin: 0 0 16px; font: 400 19px/1.3 Marcellus, serif; max-width: 250px; }
.fl-drawer__cta { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; }
.fl-drawer__cta a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 10px; border-radius: 999px; font: 600 14.5px/1 Manrope, sans-serif; text-decoration: none !important; }
.fl-drawer__cta .is-primary { background: #F4F6F1; color: var(--fl-forest) !important; }
.fl-drawer__cta .is-outline { border: 1.5px solid rgba(244, 246, 241, .5); color: #F4F6F1 !important; }
.fl-drawer__info { display: flex; flex-direction: column; gap: 4px; font: 400 12.5px/1.5 Manrope, sans-serif; color: var(--fl-text); }

/* --------------------------------------------------------------- artículo */
.fl-progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; background: var(--fl-gold); transform-origin: 0 50%; transform: scaleX(0); z-index: 10000; }
.fl-post-body p { font-size: 19px; line-height: 1.8; color: #3E5239; margin: 0 0 22px; }
.fl-post-body h2 { font-family: Marcellus, serif; font-weight: 400; font-size: 34px; line-height: 1.15; color: var(--fl-forest); margin: 44px 0 16px; }
.fl-post-body h3 { font-family: Marcellus, serif; font-weight: 400; font-size: 26px; color: var(--fl-forest); margin: 32px 0 12px; }
.fl-post-body blockquote { margin: 36px 0; padding: 0 0 0 28px; border-left: 2px solid var(--fl-gold); font-family: Marcellus, serif; font-size: 28px; line-height: 1.4; color: var(--fl-forest); }
.fl-post-body ul, .fl-post-body ol { padding-left: 1.2em; margin: 0 0 22px; }
.fl-post-body li { font-size: 18px; line-height: 1.7; color: #3E5239; margin-bottom: 6px; }
.fl-post-body a { color: var(--fl-forest); text-decoration-color: var(--fl-gold); text-underline-offset: 3px; }
.fl-post-body img { border-radius: 22px; }
.fl-post-body .fl-trat-card { display: flex; gap: 20px; align-items: center; background: #fff; border: 1px solid var(--fl-line); border-radius: 26px; padding: 16px 22px 16px 16px; margin: 36px 0; text-decoration: none; }
.fl-post-body .fl-trat-card img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex: none; }
.fl-post-body .fl-trat-card strong { display: block; font: 400 24px/1.2 Marcellus, serif; color: var(--fl-forest); }
.fl-post-body .fl-trat-card span { font-size: 15px; color: var(--fl-text); }
@media (max-width: 767px) {
	.fl-post-body p { font-size: 17px; line-height: 1.75; }
	.fl-post-body h2 { font-size: 26px; margin-top: 34px; }
	.fl-post-body blockquote { font-size: 22px; padding-left: 18px; }
}

/* Índice del artículo */
.fl-toc a { display: block; padding: 8px 0 8px 14px; border-left: 2px solid rgba(47, 74, 41, .15); color: #5C7257; text-decoration: none; font-size: 14px; }
.fl-toc a:hover, .fl-toc a.is-on { border-left-color: var(--fl-forest); color: var(--fl-forest); font-weight: 600; }

/* ------------------------------------------------------------ utilidades */
.fl-sticky { position: sticky !important; top: 120px; }
@media (max-width: 1024px) { .fl-sticky { position: static !important; } .fl-hide-tablet { display: none !important; } }
@media (max-width: 767px) { .fl-hide-mobile { display: none !important; } }

/* ------------------------------------------------------------ ajustes v0.1 */
.fl-orbit { aspect-ratio: 1; max-width: 460px; width: 100%; margin-inline: auto; }
.fl-orbit::before { inset: 0; }
.fl-arch img { aspect-ratio: 4 / 5; height: auto !important; }
.fl-card-link .fl-arch img, .fl-lift .fl-arch img { aspect-ratio: 4 / 5; }
.fl-nowrap .elementor-heading-title { white-space: nowrap; }
.fl-footer a { color: #EEF4EC; text-decoration: none; }
.fl-footer a:hover { color: var(--fl-gold); }
.fl-dark-links a { color: #EEF4EC; }
.fl-hero-photo { position: relative; }
@media (min-width: 1025px) {
	.fl-hero-photo .fl-float { position: absolute !important; left: -28px; bottom: 56px; z-index: 2; }
}
.fl-header .elementor-widget-theme-site-logo img { max-height: none; height: auto; }
.fl-row .fl-row__thumb { flex: none !important; width: auto !important; }
.fl-row .fl-row__price { flex: none !important; width: auto !important; min-width: 96px; }
.fl-arch-wide img { aspect-ratio: 16 / 10 !important; border-radius: 300px 300px 28px 28px !important; }
@media (max-width: 767px) { .fl-arch-wide img { aspect-ratio: 4 / 3 !important; border-radius: 160px 160px 20px 20px !important; } }
@media (max-width: 767px) {
	.fl-rings::before { width: 100%; }
	.fl-rings::after { width: 92%; }
	.fl-row > .e-con:not(.fl-row__price) { min-width: 0; }
}
.fl-row .fl-row__main { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
.fl-row .fl-row__main .elementor-widget, .fl-row .fl-row__desc { overflow-wrap: anywhere; }
.fl-row .fl-row__thumb img { aspect-ratio: 1; height: auto !important; object-fit: cover; }

/* Tarjeta del blog: el texto respira dentro de la tarjeta, la foto llega casi al borde. */
.fl-card-post > .elementor-widget:not(.elementor-widget-image) { padding-left: 12px; padding-right: 12px; }
.fl-author > .elementor-widget-image { flex: 0 0 48px !important; width: 48px !important; }
.fl-author > .e-con { gap: 2px !important; width: auto !important; }
.fl-author img { width: 48px !important; height: 48px !important; object-fit: cover; }
.fl-author p { margin: 0 !important; }

/* Formularios: aviso de reCAPTCHA oculto mientras no haya claves (lo gestiona Flow Core). */
body.flc-no-recaptcha .elementor-field-type-recaptcha_v3 { display: none !important; }
/* Casilla de aceptación sobre fondo oscuro: enlace visible y casilla con la marca. */
.fl-dark .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
.fl-dark .elementor-field-type-acceptance label { color: rgba(244, 246, 241, .85) !important; font-size: 14px !important; line-height: 1.5 !important; }
.fl-dark .elementor-field-type-acceptance a { color: var(--fl-mint) !important; text-decoration: underline; text-underline-offset: 3px; }
.elementor-form .elementor-field-type-acceptance .elementor-field-option { display: flex !important; align-items: flex-start; gap: 10px; }
.elementor-form .elementor-field-type-acceptance label { line-height: 1.5 !important; }
.elementor-form .elementor-field-type-acceptance input[type="checkbox"] {
	-webkit-appearance: none !important; appearance: none !important; position: relative; display: inline-block !important;
	flex: 0 0 20px !important; width: 20px !important; min-width: 20px !important; max-width: 20px !important; height: 20px !important; min-height: 20px !important;
	padding: 0 !important; margin: 2px 0 0 !important; border-radius: 6px !important; border: 1.5px solid var(--fl-forest) !important; background: #fff !important;
	box-shadow: none !important; outline-offset: 2px; cursor: pointer; transition: background .2s, border-color .2s;
}
.fl-dark .elementor-field-type-acceptance input[type="checkbox"] { border-color: rgba(244, 246, 241, .65) !important; background: transparent !important; }
.elementor-form .elementor-field-type-acceptance input[type="checkbox"]::after {
	content: ""; position: absolute; left: 5px; top: 4px; width: 8px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0;
	transform: rotate(-45deg) scale(0); transition: transform .2s;
}
.elementor-form .elementor-field-type-acceptance input[type="checkbox"]:checked { background: var(--fl-gold) !important; border-color: var(--fl-gold) !important; }
.elementor-form .elementor-field-type-acceptance input[type="checkbox"]:checked::after { transform: rotate(-45deg) scale(1); }
/* Información básica de protección de datos bajo los formularios */
.fl-rgpd p, .fl-rgpd { font-size: 12px !important; line-height: 1.55 !important; }
.fl-rgpd a { text-decoration: underline; text-underline-offset: 2px; }

/* ------------------------------------------------ opiniones de Google (Trustindex) */
.fl-reviews:not(:has(.ti-widget, .fl-reviews-note)) { display: none !important; }
.fl-reviews.is-empty { display: none !important; }
.fl-reviews-note { margin: 0; font: 400 13px/1.5 Manrope, sans-serif; color: var(--fl-gold-dark); }
/* El widget con la letra y los colores de Flow */
.fl-reviews .ti-widget, .fl-reviews .ti-widget * { font-family: Manrope, sans-serif !important; }
.fl-reviews .ti-widget .ti-review-item > .ti-inner,
.fl-reviews .ti-widget .ti-review-item .ti-inner {
	background: #fff !important; border: 1px solid var(--fl-line) !important; border-radius: 22px !important; box-shadow: none !important;
	transition: transform .4s var(--fl-ease), box-shadow .4s var(--fl-ease);
}
.fl-reviews .ti-widget .ti-review-item:hover .ti-inner { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(20, 40, 20, .35) !important; }
.fl-reviews .ti-widget .ti-name { color: var(--fl-forest) !important; font-weight: 600 !important; }
.fl-reviews .ti-widget .ti-date { color: var(--fl-text) !important; opacity: .7; }
.fl-reviews .ti-widget .ti-review-content, .fl-reviews .ti-widget .ti-review-text-container { color: var(--fl-text) !important; font-size: 15px !important; line-height: 1.6 !important; }
.fl-reviews .ti-widget .ti-stars .ti-star, .fl-reviews .ti-widget .ti-star { color: var(--fl-gold) !important; fill: var(--fl-gold) !important; }
.fl-reviews .ti-widget .ti-footer, .fl-reviews .ti-widget .ti-rating-text { color: var(--fl-forest) !important; }
.fl-reviews .ti-widget .ti-controls .ti-next, .fl-reviews .ti-widget .ti-controls .ti-prev {
	background: #fff !important; border: 1px solid var(--fl-line) !important; border-radius: 50% !important; box-shadow: none !important;
}
.fl-reviews .ti-widget .ti-read-more span, .fl-reviews .ti-widget a { color: var(--fl-gold-dark) !important; }
.fl-reviews .ti-widget .ti-dots .dot.active, .fl-reviews .ti-widget .ti-controls-line .dot { background: var(--fl-gold) !important; }
/* Tarjetas del blog: foto más baja (4:3) con arco suave, para que el título se vea antes. */
.fl-card-post .fl-arch img { aspect-ratio: 4 / 3 !important; border-radius: 220px 220px 16px 16px !important; }
@media (max-width: 767px) { .fl-card-post .fl-arch img { aspect-ratio: 3 / 2 !important; border-radius: 160px 160px 14px 14px !important; } }

/* Cabecera: logo vertical grande arriba que se reduce con suavidad al hacer scroll. */
.fl-header { transition: background .35s var(--fl-ease), box-shadow .35s var(--fl-ease), padding .45s var(--fl-ease) !important; }
.fl-header .elementor-widget-theme-site-logo img { width: 200px !important; transition: width .45s var(--fl-ease); }
.fl-header.is-scrolled { padding-top: 8px !important; padding-bottom: 8px !important; }
.fl-header.is-scrolled .elementor-widget-theme-site-logo img { width: 104px !important; }
@media (max-width: 767px) {
	.fl-header .elementor-widget-theme-site-logo img { width: 118px !important; }
	.fl-header.is-scrolled .elementor-widget-theme-site-logo img { width: 78px !important; }
}
@media (min-width: 768px) { .fl-header .elementor-widget-theme-site-logo { flex: 0 0 200px !important; width: 200px !important; } }

/* Tarjetas con foto en arco: el fondo blanco (y su sombra al pasar el ratón) sigue el arco de la foto. */
.e-con.fl-card-link { border-radius: var(--fl-arch-r, 160px) var(--fl-arch-r, 160px) 22px 22px !important; }
.e-con.fl-card-post { border-radius: var(--fl-arch-r, 220px) var(--fl-arch-r, 220px) 22px 22px !important; }
.fl-rgpd--dark a { color: var(--fl-mint) !important; }

/* Barra fija del móvil: los dos botones reparten el ancho sin salirse por la derecha. */
.fl-bottom-bar > .elementor-widget, .fl-bottom-bar > .e-con-inner > .elementor-widget { min-width: 0; }
.fl-bottom-bar .fl-bb-tel { flex: 0 0 auto !important; }
.fl-bottom-bar .elementor-widget:not(.fl-bb-tel) { flex: 1 1 auto !important; }
.fl-bottom-bar .elementor-widget:not(.fl-bb-tel) .elementor-button { width: 100%; justify-content: center; }
/* Logo del móvil un poco más hacia dentro. */
@media (max-width: 767px) { .fl-header .elementor-widget-theme-site-logo { margin-left: 6px !important; } }
.fl-bottom-bar .elementor-button { white-space: nowrap !important; padding-left: 16px !important; padding-right: 16px !important; font-size: 15px !important; }
.fl-bottom-bar .elementor-button .elementor-button-content-wrapper { flex-wrap: nowrap !important; gap: 8px; }
@media (max-width: 360px) { .fl-bottom-bar .fl-bb-tel .elementor-button-text { display: none; } }
