/* BRÉMIA — estilos complementarios. Colores y tipografías vienen de los globales de Elementor (Ajustes del sitio). */
:root {
	--bremia-ciruela: #563448;
	--bremia-malva: #744E62;
	--bremia-rosa: #D7ADA6;
	--bremia-salvia: #7C9184;
	--bremia-marfil: #FAF6F1;
	--bremia-blanco: #FFFDFB;
	--bremia-tinta: #28242A;
	--bremia-arena: #E8DCD1;
	--bremia-dorado: #B5916D;
	--bremia-dorado-texto: #85613C; /* dorado para texto pequeño: 5,4:1 sobre blanco (AA) */
	--bremia-texto-sec: #6D6168;
	--bremia-font-heading: 'Cormorant Garamond', Georgia, serif;
	--bremia-font-body: 'Manrope', Arial, sans-serif;
	--bremia-radius: 18px;
}

body { background: var(--bremia-marfil); color: var(--bremia-tinta); }

/* Accesibilidad */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--bremia-dorado); outline-offset: 3px; border-radius: 4px; }
.skip-link.screen-reader-text:focus { background: var(--bremia-ciruela); color: var(--bremia-blanco); padding: 12px 20px; z-index: 100000; border-radius: 0 0 12px 0; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* Aviso de demostración y datos pendientes */
.bremia-demo-bar { background: var(--bremia-arena); color: var(--bremia-tinta); font: 500 13px/1.45 var(--bremia-font-body); text-align: center; padding: 8px 18px; }
.bremia-demo-bar p { margin: 0; }
.bremia-pendiente { display: inline-block; font: 600 0.78em/1.4 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .02em; color: #5b3a00; background: #fff3cd; border: 1px dashed #b98b2b; border-radius: 6px; padding: 1px 6px; }

/* Antetítulo */
.bremia-eyebrow .elementor-heading-title { text-transform: uppercase; }

/* Botones */
.bremia-btn .elementor-button { transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.bremia-btn .elementor-button:hover { transform: translateY(-2px); }

/* Tarjetas */
.bremia-card { transition: box-shadow .25s ease, transform .25s ease; position: relative; }
.bremia-card .bremia-card__img img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; }
.bremia-card--link:hover { box-shadow: 0 18px 40px rgba(86, 52, 72, .12); transform: translateY(-3px); }
.bremia-card--link .bremia-card__link a::after { content: ""; position: absolute; inset: 0; } /* toda la tarjeta es clicable, un solo enlace */
.bremia-card__link a { text-decoration: none; }
.bremia-card__link a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Imágenes ilustrativas */
.bremia-media { position: relative; }
.bremia-media img { width: 100%; height: auto; object-fit: cover; }
.bremia-pagehero__img img { aspect-ratio: 16 / 9; } /* proporción nativa de las imágenes: los banners con logotipo no se recortan */
.e-con.bremia-media > .bremia-imglabel { position: absolute !important; left: 14px; bottom: 14px; width: auto !important; max-width: calc(100% - 28px); margin: 0; z-index: 2; }
.bremia-imglabel .elementor-heading-title { font: 600 11px/1 var(--bremia-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--bremia-tinta); background: rgba(255, 253, 251, .92); padding: 6px 10px; border-radius: 99px; }

/* CTA */
.bremia-cta__img { background-color: var(--bremia-malva); }

/* Pasos */
.bremia-step__num .elementor-heading-title { line-height: 1; }

/* Miga de pan */
.bremia-migas ol { list-style: none; margin: 0 0 4px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font: 500 13px/1.4 var(--bremia-font-body); color: var(--bremia-texto-sec); }
.bremia-migas li + li::before { content: "/"; margin-right: 6px; color: var(--bremia-dorado); }
.bremia-migas a { color: var(--bremia-malva); text-decoration: none; }
.bremia-migas a:hover { text-decoration: underline; }

/* Tarifas */
.bremia-tarifas { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.bremia-tarifa { display: flex; gap: 18px; align-items: center; justify-content: space-between; background: var(--bremia-blanco); border: 1px solid var(--bremia-arena); border-radius: 16px; padding: 20px 24px; }
.bremia-tarifa__nombre { font: 600 24px/1.2 var(--bremia-font-heading); color: var(--bremia-ciruela); margin: 0 0 4px; }
.bremia-tarifa__resumen { margin: 0 0 8px; color: var(--bremia-tinta); font-size: 15px; }
.bremia-tarifa__meta { margin: 0; display: flex; gap: 18px; flex-wrap: wrap; font: 600 14px/1.4 var(--bremia-font-body); color: var(--bremia-malva); }
.bremia-tarifa__cta { flex: none; display: inline-block; border: 1px solid var(--bremia-ciruela); color: var(--bremia-ciruela); border-radius: 99px; padding: 10px 20px; font: 600 14px/1 var(--bremia-font-body); text-decoration: none; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; }
.bremia-tarifa__cta { transition: background-color .2s ease, color .2s ease, transform .2s ease; }
/* El color de enlaces del kit ganaba en especificidad y dejaba el texto ciruela sobre ciruela al pasar el ratón */
.bremia-tarifas .bremia-tarifa__cta:hover, .bremia-tarifas .bremia-tarifa__cta:focus-visible { background: var(--bremia-ciruela); color: var(--bremia-blanco) !important; transform: translateY(-1px); }

/* Tratamientos destacados (portada): tarjetas con foto */
.bremia-tcards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.bremia-tcard { position: relative; display: grid; grid-template-columns: 200px minmax(0, 1fr); background: var(--bremia-blanco); border: 1px solid var(--bremia-arena); border-radius: 22px; overflow: hidden; transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease; }
.bremia-tcard:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -28px rgba(86, 52, 72, .45); border-color: var(--bremia-rosa); }
.bremia-tcard__img { position: relative; overflow: hidden; min-height: 220px; }
.bremia-tcard__img img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.bremia-tcard:hover .bremia-tcard__img img { transform: scale(1.07); }
.bremia-tcard__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, rgba(255, 253, 251, .35)); }
.bremia-tcard__body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; min-width: 0; }
.bremia-tcard__cat { margin: 0; font: 700 11px/1.2 var(--bremia-font-body); letter-spacing: .12em; text-transform: uppercase; }
.e-con .bremia-tcard__cat a { color: var(--bremia-dorado-texto); text-decoration: none; }
.e-con .bremia-tcard__cat a:hover { color: var(--bremia-ciruela); }
.bremia-tcard__nombre { margin: 0; font: 500 27px/1.15 var(--bremia-font-heading); color: var(--bremia-ciruela); }
.bremia-tcard__resumen { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--bremia-texto-sec); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bremia-tcard__pie { margin-top: auto; padding-top: 10px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.bremia-tcard__meta { margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.bremia-tcard__meta .chip { display: inline-flex; align-items: center; gap: 5px; padding: 6px 12px; border-radius: 99px; background: var(--bremia-marfil); border: 1px solid var(--bremia-arena); font: 600 13px/1 var(--bremia-font-body); color: var(--bremia-malva); }
.bremia-tcard__meta .chip--precio { background: rgba(215, 173, 166, .25); border-color: transparent; color: var(--bremia-ciruela); font-size: 14px; }
.e-con a.bremia-tcard__cta { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 22px; border-radius: 99px; background: var(--bremia-ciruela); color: var(--bremia-blanco); font: 700 14px/1 var(--bremia-font-body); text-decoration: none; box-shadow: 0 10px 22px -12px rgba(86, 52, 72, .8); transition: background-color .2s ease, transform .2s ease, gap .2s ease; }
.e-con a.bremia-tcard__cta:hover, .e-con a.bremia-tcard__cta:focus-visible { background: var(--bremia-malva); color: var(--bremia-blanco); transform: translateY(-2px); gap: 12px; }
@media (max-width: 1024px) { .bremia-tcards { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
	.bremia-tcard { grid-template-columns: 1fr; }
	.bremia-tcard__img { min-height: 0; aspect-ratio: 16 / 9; }
	.bremia-tcard__body { padding: 18px; }
	.bremia-tcard__nombre { font-size: 24px; }
	.e-con a.bremia-tcard__cta { width: 100%; justify-content: center; }
}
.bremia-nota-precio { font-size: 13px; color: var(--bremia-texto-sec); margin: 12px 0 0; }
@media (max-width: 600px) { .bremia-tarifa { flex-direction: column; align-items: flex-start; padding: 18px; } }

/* Acordeón */
.bremia-faq .e-n-accordion-item-title-text { font-weight: 600; }

/* Formulario de Elementor */
.elementor-form .elementor-field-group .elementor-field-textual { border-radius: 12px; min-height: 48px; }
.elementor-form .elementor-field-type-acceptance label { font-size: 15px; }
.elementor-form .elementor-field-type-acceptance input[type=checkbox] { width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: -4px; accent-color: var(--bremia-ciruela); }
.bremia-archivo-titulo { margin: 0; }

/* Cabecera: enlace activo del menú */
.bremia-menu .elementor-item.elementor-item-active { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px; }

/* Enlaces sobre fondo ciruela */
.e-con.bremia-footer a:not(.elementor-button), .e-con.bremia-datos a:not(.elementor-button), .e-con.bremia-cta a:not(.elementor-button) { color: var(--bremia-marfil); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(250, 246, 241, .45); }
.e-con.bremia-footer a:not(.elementor-button):hover, .e-con.bremia-datos a:not(.elementor-button):hover, .e-con.bremia-cta a:not(.elementor-button):hover { color: var(--bremia-rosa); text-decoration-color: currentColor; }
.bremia-footer-lista { list-style: none; margin: 0; padding: 0; }
.bremia-footer-lista li { margin: 0 0 10px; }
.e-con.bremia-footer .bremia-footer-lista a { text-decoration: none; display: inline-block; padding: 3px 0; }
.bremia-footer-legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.bremia-footer p { margin: 0 0 10px; }
.bremia-footer .bremia-pendiente, .bremia-datos .bremia-pendiente { color: #5b3a00; }

/* Visibilidad por ancho */
.bremia-solo-xs { display: none; }
@media (max-width: 480px) { .bremia-ocultar-xs { display: none; } .bremia-solo-xs { display: inline; } }

/* Aviso de demostración compacto en móvil */
@media (max-width: 767px) { .bremia-demo-bar { font-size: 12px; padding: 6px 14px; } }

/* Cabecera: sombra y compactación al hacer scroll (efectos sticky de Elementor) */
.bremia-header { transition: padding .25s ease, box-shadow .25s ease; }
.bremia-header.elementor-sticky--effects { box-shadow: 0 8px 24px rgba(86, 52, 72, .10); padding-top: 6px !important; padding-bottom: 6px !important; }
.bremia-header .bremia-logo img { transition: width .25s ease; }
.bremia-header .elementor-menu-toggle { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 12px; }
.bremia-header .elementor-nav-menu--dropdown .elementor-item { border-bottom: 1px solid var(--bremia-arena); }
.bremia-header .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item { padding-left: 40px !important; font-size: 16px; font-weight: 500; background: var(--bremia-marfil); }
.bremia-header .elementor-nav-menu--dropdown { max-height: calc(100vh - 120px); overflow-y: auto; }
@media (max-width: 380px) { .bremia-header .bremia-logo img { width: 142px !important; } }

/* Botones a ancho completo en móvil (zonas de toque grandes) */
@media (max-width: 767px) {
	.bremia-hero .bremia-btn, .bremia-pagehero .bremia-btn, .bremia-cta .bremia-btn { width: 100%; }
	.bremia-hero .bremia-btn .elementor-button, .bremia-pagehero .bremia-btn .elementor-button, .bremia-cta .bremia-btn .elementor-button { width: 100%; justify-content: center; }
}
.bremia-confianza { font: 600 13.5px/1.5 var(--bremia-font-body); color: var(--bremia-texto-sec); }
.bremia-confianza span { white-space: nowrap; }
@media (max-width: 480px) { .bremia-confianza { display: flex; flex-direction: column; gap: 2px; font-size: 13px; } .bremia-confianza .sep { display: none; } }

/* Barra fija de reserva en móvil */
.bremia-barra-movil { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 60; padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important; box-shadow: 0 -8px 24px rgba(86, 52, 72, .10); }
.e-con.bremia-barra-movil { flex-direction: row !important; flex-wrap: nowrap !important; }
.bremia-barra-movil .bremia-btn { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
.bremia-barra-movil .elementor-button { width: 100%; justify-content: center; }
.bremia-pagina-reserva .bremia-barra-movil { display: none !important; }
@media (max-width: 767px) { body:not(.bremia-pagina-reserva) .bremia-footer { padding-bottom: 96px !important; } }

/* Pie */
.bremia-footer-lema { font: italic 500 21px/1.3 var(--bremia-font-heading); color: var(--bremia-blanco); }
.bremia-footer-dato { display: flex; gap: 10px; align-items: flex-start; }
.bremia-footer-dato > span:first-child { color: var(--bremia-rosa); width: 16px; flex: none; }

/* Cabecera */
.bremia-header .elementor-nav-menu--dropdown { border-top: 1px solid var(--bremia-arena); box-shadow: 0 18px 30px rgba(86, 52, 72, .12); }
.bremia-logo img { display: block; }
@media (max-width: 767px) { .bremia-header-cta .elementor-button { font-size: 14px; } }

/* Blog */
.bremia-post-content { font-size: 17px; line-height: 1.75; }
.bremia-post-content h2 { margin-top: 1.6em; }
.bremia-aviso { background: var(--bremia-blanco); border-left: 4px solid var(--bremia-dorado); padding: 14px 18px; border-radius: 0 12px 12px 0; font-size: 15px; }

/* ===================== Tramas, galería y efectos ===================== */

/* Antetítulos con filete dorado */
.bremia-eyebrow .elementor-heading-title::before { content: ""; display: inline-block; width: 26px; height: 1px; margin: 0 10px 0 0; vertical-align: middle; background: var(--bremia-dorado); }

/* Tramas de fondo: flor de tres pétalos y puntos (marca), muy sutiles, sin imágenes externas */
.e-con.bremia-trama { position: relative; isolation: isolate; }
.e-con.bremia-trama::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23D7ADA6' stroke-width='.8' opacity='.55'%3E%3Cpath d='M60 46c-5 6-5 14 0 20 5-6 5-14 0-20zM60 66c-8-1-14 3-17 9 7 1 13-3 17-9zM60 66c8-1 14 3 17 9-7 1-13-3-17-9z'/%3E%3C/g%3E%3Cg fill='%23B5916D' opacity='.35'%3E%3Ccircle cx='0' cy='0' r='1.2'/%3E%3Ccircle cx='120' cy='0' r='1.2'/%3E%3Ccircle cx='0' cy='120' r='1.2'/%3E%3Ccircle cx='120' cy='120' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 120px 120px;
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, #000 30%, transparent 85%); mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, #000 30%, transparent 85%); }
.e-con.bremia-trama--ondas::before { opacity: .7;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='40' viewBox='0 0 240 40'%3E%3Cpath d='M0 20c30-14 60-14 90 0s60 14 90 0 45-10 60-6' fill='none' stroke='%23D7ADA6' stroke-width='.9' opacity='.6'/%3E%3C/svg%3E");
	background-size: 240px 40px; }

/* Hero: halos de color que respiran y marco dorado desplazado tras la imagen */
.e-con.bremia-hero, .e-con.bremia-pagehero { position: relative; isolation: isolate; overflow: hidden; }
.e-con.bremia-hero::before, .e-con.bremia-hero::after, .e-con.bremia-pagehero::before { content: ""; position: absolute; z-index: -1; pointer-events: none; border-radius: 50%; filter: blur(60px); }
.e-con.bremia-hero::before { width: 520px; height: 520px; right: -120px; top: -140px; background: radial-gradient(circle, rgba(215, 173, 166, .55), transparent 70%); animation: brHalo 14s ease-in-out infinite alternate; }
.e-con.bremia-hero::after { width: 420px; height: 420px; left: -160px; bottom: -180px; background: radial-gradient(circle, rgba(124, 145, 132, .28), transparent 70%); animation: brHalo 18s ease-in-out infinite alternate-reverse; }
.e-con.bremia-pagehero::before { width: 460px; height: 460px; right: -140px; top: -160px; background: radial-gradient(circle, rgba(215, 173, 166, .45), transparent 70%); }
@keyframes brHalo { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-40px, 30px, 0) scale(1.12); } }

.e-con.bremia-hero__img, .e-con.bremia-pagehero__img, .e-con.bremia-media--marco { isolation: isolate; }
.e-con.bremia-hero__img::before, .e-con.bremia-media--marco::before { content: ""; position: absolute; z-index: -1; inset: 22px -18px -18px 22px; border: 1px solid var(--bremia-dorado); border-radius: 30px; opacity: .8; pointer-events: none; }
.e-con.bremia-media--marco::before { inset: -16px 16px 16px -16px; border-radius: 26px; }

/* Imágenes: zoom suave y lento al pasar el ratón (con desplazamiento parallax controlado por efectos.js) */
.e-con.bremia-media .elementor-widget-image { overflow: hidden; border-radius: 22px; }
.e-con.bremia-hero__img .elementor-widget-image { border-radius: 28px; box-shadow: 0 30px 60px -28px rgba(86, 52, 72, .45); }
.e-con.bremia-pagehero__img .elementor-widget-image { box-shadow: 0 26px 50px -26px rgba(86, 52, 72, .4); }
.e-con.bremia-media img { transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); transform: translateY(var(--br-py, 0px)) scale(1.001); }
.e-con.bremia-media--marco img { transform: translateY(var(--br-py, 0px)) scale(1.06); }
.e-con.bremia-media:hover img { transform: translateY(var(--br-py, 0px)) scale(1.05); }
.e-con.bremia-media--marco:hover img { transform: translateY(var(--br-py, 0px)) scale(1.1); }

/* Tarjetas: zoom y velo ciruela en la imagen */
.bremia-card .bremia-card__img { overflow: hidden; position: relative; }
.bremia-card .bremia-card__img img { transition: transform 1s cubic-bezier(.2, .7, .2, 1); }
.bremia-card .bremia-card__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(86, 52, 72, .28)); opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.bremia-card--link:hover .bremia-card__img img { transform: scale(1.07); }
.bremia-card--link:hover .bremia-card__img::after { opacity: 1; }
.bremia-card--link .bremia-card__link .elementor-heading-title span { display: inline-block; transition: transform .3s ease; }
.bremia-card--link:hover .bremia-card__link .elementor-heading-title span { transform: translateX(5px); }

/* Iconos de beneficios: halo y leve flotación */
.bremia-feature .elementor-icon { position: relative; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.bremia-feature .elementor-icon::before { content: ""; position: absolute; inset: -10px; border-radius: 50%; background: radial-gradient(circle, rgba(215, 173, 166, .35), transparent 70%); z-index: -1; }
.bremia-feature:hover .elementor-icon { transform: translateY(-4px) rotate(-4deg); }

/* Pasos: número con degradado y tarjeta que se eleva */
.bremia-step { transition: transform .35s ease, box-shadow .35s ease; }
.bremia-step:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(86, 52, 72, .1); }
.bremia-step__num .elementor-heading-title { background: linear-gradient(135deg, var(--bremia-malva), var(--bremia-dorado)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* Banda CTA: imagen con zoom lento continuo y trama de puntos sobre el color */
.e-con.bremia-cta { position: relative; isolation: isolate; }
.e-con.bremia-cta::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .12; background-image: radial-gradient(rgba(255, 253, 251, .9) 1px, transparent 1.2px); background-size: 18px 18px; -webkit-mask-image: linear-gradient(90deg, #000, transparent 60%); mask-image: linear-gradient(90deg, #000, transparent 60%); }
.e-con.bremia-cta > .e-con { position: relative; z-index: 1; }
.e-con.bremia-cta__img { animation: brKen 22s ease-in-out infinite alternate; transform-origin: 60% 50%; }
@keyframes brKen { from { transform: scale(1); } to { transform: scale(1.08); } }

/* Galería en mosaico */
.e-con.bremia-galeria { gap: 14px; }
.e-con.bremia-galeria__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 240px; gap: 16px; }
.e-con.bremia-galeria__item { position: relative; overflow: hidden; border-radius: 20px; background: var(--bremia-arena); box-shadow: 0 14px 34px -22px rgba(86, 52, 72, .5); }
.e-con.bremia-galeria__item.is-big { grid-column: span 2; grid-row: span 2; }
.e-con.bremia-galeria__item > .elementor-widget-image { position: absolute; inset: 0; margin: 0; }
.e-con.bremia-galeria__item > .elementor-widget-image :is(.elementor-widget-container, a) { height: 100%; }
.e-con.bremia-galeria__item img { width: 100%; height: 100% !important; object-fit: cover; transform: translateY(var(--br-py, 0px)) scale(1.06); transition: transform 1.4s cubic-bezier(.2, .7, .2, 1); }
.e-con.bremia-galeria__item:hover img { transform: translateY(var(--br-py, 0px)) scale(1.13); }
.e-con.bremia-galeria__item > .bremia-galeria__txt { position: absolute !important; left: 0; right: 0; bottom: 0; width: auto !important; margin: 0; padding: 56px 20px 16px; background: linear-gradient(180deg, transparent, rgba(40, 24, 34, .72)); z-index: 1; }
.bremia-galeria__txt .elementor-heading-title { color: var(--bremia-blanco); font: 500 24px/1.15 var(--bremia-font-heading); transition: transform .5s ease; }
.e-con.bremia-galeria__item:hover .bremia-galeria__txt .elementor-heading-title { transform: translateY(-4px); }
.e-con.bremia-galeria__item.is-big .bremia-galeria__txt .elementor-heading-title { font-size: 32px; }
.bremia-galeria__nota .elementor-heading-title { font: 600 11px/1 var(--bremia-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--bremia-texto-sec); text-align: right; }
@media (max-width: 1024px) {
	.e-con.bremia-galeria__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 210px; }
	.e-con.bremia-galeria__item.is-big { grid-column: span 2; grid-row: span 1; }
	.e-con.bremia-galeria__item:last-child { grid-column: span 2; }
}
@media (max-width: 767px) {
	.e-con.bremia-galeria__grid { grid-auto-rows: 150px; gap: 10px; }
	.e-con.bremia-galeria__item.is-big { grid-row: span 2; }
	.bremia-galeria__txt .elementor-heading-title, .e-con.bremia-galeria__item.is-big .bremia-galeria__txt .elementor-heading-title { font-size: 19px; }
	.e-con.bremia-galeria__item > .bremia-galeria__txt { padding: 40px 14px 12px; }
	.e-con.bremia-hero__img::before, .e-con.bremia-media--marco::before { display: none; }
	.e-con.bremia-hero::before { width: 320px; height: 320px; }
}

/* ===== Cabecera de la portada con imagen de fondo a ancho completo ===== */
.e-con.bremia-hero--full { min-height: min(86vh, 860px); justify-content: center; }
.e-con.bremia-hero--full::before { display: none; } /* sin halos: manda la foto */
.e-con.bremia-hero--full > .e-con-inner, .e-con.bremia-hero--full > .e-con-inner > .e-con { position: static; }
.e-con.bremia-hero--full .bremia-hero__txt { position: relative; z-index: 1; }
.e-con.bremia-hero--full .e-con.bremia-hero__bg { position: absolute !important; inset: 0; width: 100% !important; max-width: none; height: 100%; z-index: auto; isolation: auto; margin: 0; padding: 0; }
.e-con.bremia-hero--full .bremia-hero__bg .elementor-widget-image { z-index: -2; }
.e-con.bremia-hero--full .e-con.bremia-hero__bg > .bremia-imglabel { z-index: 2; } /* por encima del velo */
.e-con.bremia-hero--full .e-con.bremia-hero__bg::before { display: none; }
.e-con.bremia-hero--full .bremia-hero__bg .elementor-widget-image { position: absolute; inset: 0; border-radius: 0 !important; box-shadow: none !important; height: 100%; }
.e-con.bremia-hero--full .bremia-hero__bg .elementor-widget-image :is(.elementor-widget-container, a) { height: 100%; }
.e-con.bremia-hero--full .bremia-hero__bg img { width: 100%; height: 100% !important; object-fit: cover; object-position: 72% 30%; border-radius: 0 !important; transform: scale(1.04); animation: brHeroZoom 14s ease-out both; }
@keyframes brHeroZoom { from { transform: scale(1.12); } to { transform: scale(1.04); } }
/* Velo marfil: texto legible a la izquierda, la protagonista visible a la derecha */
.e-con.bremia-hero--full::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: 0; filter: none; width: auto; height: auto; animation: none;
	background: linear-gradient(90deg, rgba(250, 246, 241, .97) 0%, rgba(250, 246, 241, .92) 34%, rgba(250, 246, 241, .55) 52%, rgba(250, 246, 241, 0) 72%), linear-gradient(0deg, rgba(250, 246, 241, .9), rgba(250, 246, 241, 0) 22%); }
.e-con.bremia-hero--full .bremia-hero__bg > .bremia-imglabel { left: auto !important; right: 24px; bottom: 24px !important; }
@media (max-width: 1024px) {
	.e-con.bremia-hero--full { min-height: 0; }
	.e-con.bremia-hero--full .bremia-hero__txt { width: 100% !important; }
	.e-con.bremia-hero--full::after { background: linear-gradient(90deg, rgba(250, 246, 241, .96) 0%, rgba(250, 246, 241, .85) 55%, rgba(250, 246, 241, .35) 100%); }
}
@media (max-width: 767px) {
	/* Móvil: la foto arriba, fundiéndose en marfil hacia el texto */
	.e-con.bremia-hero--full .e-con.bremia-hero__bg { bottom: auto; height: 340px; }
	.e-con.bremia-hero--full .bremia-hero__bg img { object-position: 70% 25%; }
	.e-con.bremia-hero--full::after { background: linear-gradient(180deg, rgba(250, 246, 241, 0) 0, rgba(250, 246, 241, .15) 160px, rgba(250, 246, 241, .9) 290px, var(--bremia-marfil) 340px); }
	.e-con.bremia-hero--full .bremia-hero__txt { padding-top: 250px; }
	.e-con.bremia-hero--full .bremia-hero__bg > .bremia-imglabel { top: 14px; bottom: auto !important; right: 14px; }
}
@media (prefers-reduced-motion: reduce) { .e-con.bremia-hero--full .bremia-hero__bg img { animation: none; } }

/* Titular con acento: «propio tiempo» en cursiva con degradado de marca */
.bremia-h1 .elementor-heading-title em { font-style: italic; background: linear-gradient(100deg, var(--bremia-malva), var(--bremia-dorado) 55%, var(--bremia-ciruela)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding-right: .06em; }

/* Reserva rápida (tarjeta de cristal en el hero) */
.bremia-rr { position: relative; display: grid; gap: 10px; padding: 20px 22px; border-radius: 22px; background: rgba(255, 253, 251, .78); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid rgba(181, 145, 109, .35); box-shadow: 0 24px 50px -28px rgba(86, 52, 72, .45); max-width: 560px; }
.bremia-rr::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, var(--bremia-dorado), transparent 40%, var(--bremia-rosa)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.bremia-rr__t { margin: 0; font: 700 12px/1 var(--bremia-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--bremia-malva); }
.bremia-rr__t span { color: var(--bremia-dorado); }
.bremia-rr__l { font: 600 15px/1.3 var(--bremia-font-body); color: var(--bremia-tinta); }
.bremia-rr__row { display: flex; gap: 10px; }
.bremia-rr select { flex: 1; min-width: 0; min-height: 52px; padding: 10px 40px 10px 16px; border: 1px solid var(--bremia-arena); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23563448' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center; -webkit-appearance: none; appearance: none; font: 500 15px/1.2 var(--bremia-font-body); color: var(--bremia-tinta); cursor: pointer; }
.bremia-rr__btn { flex: none; min-height: 52px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--bremia-ciruela); color: var(--bremia-blanco); font: 700 15px/1 var(--bremia-font-body); cursor: pointer; transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; box-shadow: 0 10px 22px -10px rgba(86, 52, 72, .7); }
.bremia-rr__btn:hover { background: var(--bremia-malva); transform: translateY(-2px); }
.bremia-rr__next { margin: 0; min-height: 44px; display: flex; align-items: center; font-size: 14px; color: var(--bremia-texto-sec); }
.bremia-rr__busca::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 8px; border-radius: 50%; border: 2px solid var(--bremia-rosa); border-top-color: var(--bremia-ciruela); vertical-align: -1px; animation: brSpin .8s linear infinite; }
@keyframes brSpin { to { transform: rotate(360deg); } }
.e-con .bremia-rr a.bremia-rr__slot { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 16px; border-radius: 14px; background: linear-gradient(90deg, rgba(124, 145, 132, .14), rgba(215, 173, 166, .22)); color: var(--bremia-tinta); text-decoration: none; transition: background .3s ease; }
.bremia-rr__slot span { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #3f6550; }
.bremia-rr__slot span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: #3f8a5c; box-shadow: 0 0 0 0 rgba(63, 138, 92, .6); animation: brPulse 2s infinite; }
.bremia-rr__slot b { font-size: 16px; color: var(--bremia-ciruela); }
.bremia-rr__slot i { margin-left: auto; font-style: normal; font-size: 18px; color: var(--bremia-ciruela); transition: transform .25s ease; }
.bremia-rr__slot:hover i { transform: translateX(4px); }
@keyframes brPulse { 70% { box-shadow: 0 0 0 8px rgba(63, 138, 92, 0); } 100% { box-shadow: 0 0 0 0 rgba(63, 138, 92, 0); } }
.bremia-confianza a { display: inline-block; padding: 12px 0; margin: -12px 0; color: var(--bremia-ciruela); font-weight: 600; text-underline-offset: 3px; } /* zona táctil ≥ 44 px sin mover el texto */
@media (max-width: 600px) {
	.bremia-rr { padding: 16px; }
	.bremia-rr__row { flex-direction: column; }
	.bremia-rr__btn { width: 100%; }
}

/* Banda en movimiento de tratamientos */
.bremia-marq { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.bremia-marq__track { display: flex; width: max-content; animation: brMarq 38s linear infinite; }
.bremia-marq:hover .bremia-marq__track, .bremia-marq:focus-within .bremia-marq__track { animation-play-state: paused; }
.bremia-marq ul { display: flex; align-items: center; gap: 28px; margin: 0; padding: 18px 14px; list-style: none; }
.bremia-marq li { white-space: nowrap; }
.e-con .bremia-marq a { font: italic 500 26px/1 var(--bremia-font-heading); color: var(--bremia-blanco); text-decoration: none; transition: color .2s ease; }
.e-con .bremia-marq a:hover { color: var(--bremia-rosa); }
.bremia-marq .sep { color: var(--bremia-dorado); font-size: 14px; }
@keyframes brMarq { to { transform: translateX(-50%); } }
@media (max-width: 767px) { .e-con .bremia-marq a { font-size: 21px; } .bremia-marq ul { padding: 14px 10px; gap: 20px; } }

/* ===== Preguntas frecuentes: cada pregunta es una tarjeta, numerada, con icono redondo ===== */
.bremia-faq .e-n-accordion { display: grid; gap: 12px; counter-reset: brfaq; }
.bremia-faq .e-n-accordion-item { counter-increment: brfaq; background: var(--bremia-blanco); border: 1px solid var(--bremia-arena); border-radius: 18px; overflow: hidden; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.bremia-faq .e-n-accordion-item:hover { border-color: var(--bremia-rosa); }
.bremia-faq .e-n-accordion-item[open] { border-color: var(--bremia-rosa); box-shadow: 0 18px 40px -26px rgba(86, 52, 72, .45); }
.bremia-faq .e-n-accordion-item > .e-n-accordion-item-title { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 22px !important; border: 0 !important; background: transparent !important; cursor: pointer; }
.bremia-faq .e-n-accordion-item-title-header { flex: 1; display: flex; align-items: baseline; gap: 14px; }
.bremia-faq .e-n-accordion-item-title-header::before { content: counter(brfaq, decimal-leading-zero); flex: none; font: 500 22px/1 var(--bremia-font-heading); color: var(--bremia-dorado); }
.bremia-faq .e-n-accordion-item-title-text { margin: 0; font: 600 17px/1.4 var(--bremia-font-body) !important; color: var(--bremia-ciruela) !important; letter-spacing: 0; text-transform: none; }
.bremia-faq .e-n-accordion-item-title-icon { flex: 0 0 36px; display: grid !important; place-items: center; width: 36px !important; height: 36px !important; min-width: 36px; box-sizing: border-box; border-radius: 50%; background: var(--bremia-marfil); border: 1px solid var(--bremia-arena); transition: background-color .3s ease, transform .4s cubic-bezier(.2, .7, .2, 1); }
.bremia-faq .e-n-accordion-item-title-icon { color: var(--bremia-ciruela) !important; }
.bremia-faq .e-n-accordion-item-title-icon svg { width: 13px !important; height: 13px !important; fill: currentColor !important; color: inherit !important; }
.bremia-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { color: var(--bremia-blanco) !important; }
.bremia-faq .e-n-accordion-item-title-icon .e-opened { display: none !important; }
.bremia-faq .e-n-accordion-item-title-icon .e-closed { display: flex !important; }
.bremia-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--bremia-ciruela); border-color: var(--bremia-ciruela); transform: rotate(135deg); }
.bremia-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg { fill: var(--bremia-blanco); }
.bremia-faq .e-n-accordion-item > [role="region"] { border: 0 !important; background: transparent !important; padding: 0 22px 22px 58px !important; animation: brFaqIn .35s ease; }
.bremia-faq .e-n-accordion-item > [role="region"] p { color: var(--bremia-texto-sec); font-size: 15.5px; line-height: 1.65; margin: 0 0 .6em; }
.bremia-faq .e-n-accordion-item > [role="region"] p:last-child { margin-bottom: 0; }
@keyframes brFaqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.e-con.bremia-faq-ayuda { position: relative; overflow: hidden; isolation: isolate; margin-top: 8px; }
.e-con.bremia-faq-ayuda::after { content: "✦"; position: absolute; right: -6px; top: -24px; z-index: -1; font-size: 130px; line-height: 1; color: rgba(255, 253, 251, .07); }
@media (max-width: 767px) {
	.bremia-faq .e-n-accordion-item > .e-n-accordion-item-title { padding: 16px !important; gap: 10px; }
	.bremia-faq .e-n-accordion-item-title-header { gap: 10px; }
	.bremia-faq .e-n-accordion-item-title-header::before { font-size: 18px; }
	.bremia-faq .e-n-accordion-item-title-text { font-size: 15.5px !important; }
	.bremia-faq .e-n-accordion-item > [role="region"] { padding: 0 16px 18px 16px !important; }
}

/* Aparición al hacer scroll (clases puestas por efectos.js; sin JS todo queda visible) */
.br-rv { opacity: 0; translate: 0 26px; transition: opacity .8s ease, translate .9s cubic-bezier(.2, .7, .2, 1), transform .35s ease, box-shadow .35s ease; }
.br-rv.is-in { opacity: 1; translate: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.bremia-btn .elementor-button:hover, .bremia-card--link:hover, .bremia-step:hover, .bremia-feature:hover .elementor-icon { transform: none; }
	.e-con.bremia-hero::before, .e-con.bremia-hero::after, .e-con.bremia-cta__img, .bremia-marq__track { animation: none; }
	.bremia-marq { overflow-x: auto; }
	.br-rv { opacity: 1; translate: none; }
}
