/* =========================================================================
   Bienestar Interno — efectos de diseño para bloques de Kadence
   Se carga en la web y en el editor (así se ve igual al editar).
   Todo lo demás (colores, tamaños, márgenes, columnas, fondos, bordes,
   sombras, alineación…) está en los ajustes de cada bloque, por dispositivo.
   Cada efecto va ligado a una clase que se ve en el bloque:
   Avanzado › Clases CSS adicionales. Quitar la clase = quitar el efecto.
   Puntos de corte (los de Kadence): tablet <= 1024 px · móvil <= 767 px
   ========================================================================= */

/* Sección que recorta lo que sobresale (círculos decorativos que salen por el borde),
   así la página nunca queda más ancha que la pantalla */
.bi-recortar { overflow: hidden; }
@supports (overflow: clip) { .bi-recortar { overflow: clip; } }

/* Texto con ancho máximo centrado en su columna (el ancho se ajusta en el bloque) */
.bi-centrar { margin-left: auto !important; margin-right: auto !important; }

/* Texto: reparto equilibrado de líneas (títulos) y sin palabras sueltas */
.bi-equilibrar { text-wrap: balance; }
.bi-bonito { text-wrap: pretty; }

/* Etiqueta superior (píldora): relieve suave; si el texto no cabe en una línea
   sigue siendo una sola píldora (como en el diseño) */
.bi-pill mark.kt-highlight { display: inline-block; vertical-align: top; box-shadow: inset 0 1px 0 rgba(244,241,225,.55), 0 4px 10px -8px rgba(40,57,46,.35); }

/* Botón: se eleva y separa la flecha al pasar el cursor */
.bi-btn { transition: background-color .3s, transform .3s, gap .3s, box-shadow .3s !important; }
.bi-btn:hover { transform: translateY(-2px); gap: .8rem !important; }

/* Acceso a un área del blog (botón con icono): círculo detrás del icono y se eleva al pasar el cursor */
.bi-chip { gap: .6rem !important; transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease !important; }
.bi-chip:hover { transform: translateY(-2px); }
.bi-chip .kb-svg-icon-wrap { border-radius: 50%; background: var(--global-palette6, #DCE4D5); }
.bi-chip .kt-btn-inner-text { white-space: nowrap; }

/* Hero · tres capas: los círculos se mezclan con la foto y crecen al pasar el cursor */
.bi-mezcla { mix-blend-mode: multiply; }
/* (en la Fila del hero) deja que los círculos se mezclen con la foto de fondo */
.bi-mezcla-fondo > .kt-row-column-wrap,
.bi-mezcla-fondo > .kt-row-column-wrap > .wp-block-kadence-column,
.bi-mezcla-fondo .wp-block-kadence-column:has(> .kt-inside-inner-col > .bi-mezcla) { z-index: auto !important; }
.bi-circulo { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.bi-circulo:hover { transform: scale(1.04); z-index: 5 !important; }

/* Tarjeta oscura con anillo decorativo */
.bi-anillo > .kt-inside-inner-col { position: relative; overflow: hidden; isolation: isolate; }
.bi-anillo > .kt-inside-inner-col::before {
  content: ""; position: absolute; z-index: -1; right: -5rem; top: -6rem;
  width: 13rem; height: 13rem; border-radius: 50%; border: 1px solid rgba(220,228,213,.2);
}

/* Fila de lista que se desliza al pasar el cursor */
.bi-desliza > .kt-inside-inner-col { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.bi-desliza:hover > .kt-inside-inner-col { transform: translateX(6px); }
/* …y su icono se oscurece */
.bi-desliza .kb-svg-icon-wrap, .bi-desliza .kb-svg-icon-wrap circle[color] { transition: background-color .4s ease, color .4s ease; }
.bi-desliza:hover .kb-svg-icon-wrap { background-color: var(--global-palette3, #28392E) !important; color: var(--global-palette6, #DCE4D5) !important; }
.bi-desliza:hover .kb-svg-icon-wrap circle[color] { color: rgba(220,228,213,.18); }

/* Icono redondo que crece un poco al pasar el cursor (los colores se ajustan en el bloque Icono) */
.bi-elevar .kb-svg-icon-wrap { transition: background-color .35s ease, color .35s ease, transform .35s ease, box-shadow .35s ease !important; }
.bi-elevar .kb-svg-icon-wrap:hover { transform: scale(1.06); box-shadow: 0 8px 16px -8px rgba(40,57,46,.5); }

/* Lista con fondo suave al pasar el cursor por cada elemento */
.bi-lista .wp-block-kadence-listitem { position: relative; isolation: isolate; transition: transform .3s ease; }
.bi-lista .wp-block-kadence-listitem::before { content: ""; position: absolute; z-index: -1; inset: -9.6px -11.2px; border-radius: 12px; transition: background-color .3s ease; }
.bi-lista .wp-block-kadence-listitem:hover { transform: translateX(3px); }
.bi-lista .wp-block-kadence-listitem:hover::before { background: rgba(79,122,92,.1); }

/* Agitación · por fuera / por dentro: punto sobre el eje */
.bi-paso, .bi-paso > .kt-inside-inner-col, .bi-punto > .kt-inside-inner-col { position: relative; }
.bi-punto > .kt-inside-inner-col::before,
.bi-paso > .kt-inside-inner-col::before {
  position: absolute; left: -6px; width: 11px; height: 11px; border-radius: 50%;
  background: var(--global-palette6, #DCE4D5); box-shadow: 0 0 0 1px var(--global-palette1, #4F7A5C), 0 0 0 5px var(--global-palette7, #FCFBF6);
  transition: background-color .4s ease;
}
.bi-punto > .kt-inside-inner-col::before { content: ""; top: 29.6px; }
.bi-paso .wp-block-kadence-advancedheading { transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.bi-paso:hover .bi-punto > .kt-inside-inner-col::before,
.bi-paso:hover > .kt-inside-inner-col::before { background: var(--global-palette3, #28392E); }
.bi-paso:hover .bi-punto .wp-block-kadence-advancedheading { transform: translateX(6px); }
.bi-paso:hover > .kt-inside-inner-col > .wp-block-kadence-advancedheading { transform: translateX(-6px); }
@media (max-width: 767px) {
  .bi-punto > .kt-inside-inner-col::before { content: none; }
  .bi-paso > .kt-inside-inner-col::before { content: ""; top: 20.8px; }
  .bi-paso:hover > .kt-inside-inner-col > .wp-block-kadence-advancedheading { transform: none; }
}

/* Tarjetas que se elevan al pasar el cursor */
.bi-elevar > .kt-inside-inner-col, .bi-elevar-5 > .kt-inside-inner-col { transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease, background .45s ease, border-color .45s ease !important; }
.bi-elevar:hover > .kt-inside-inner-col { transform: translateY(-4px); }
.bi-elevar-5:hover > .kt-inside-inner-col { transform: translateY(-5px); }
.bi-recorte > .kt-inside-inner-col { overflow: hidden; }

/* Imagen de tarjeta 3:2 (con imagen o marcador) */
.bi-ratio-32 > .kt-inside-inner-col { position: relative; aspect-ratio: 3 / 2; min-height: 0; overflow: hidden; }
/* Caja de imagen panorámica 21:9 (4:3 en móvil). Para poner una foto: bloque Imagen con la clase bi-imagen-relleno */
.bi-ratio-219 > .kt-inside-inner-col { position: relative; aspect-ratio: 21 / 9; min-height: 0; overflow: hidden; }
@media (max-width: 767px) { .bi-ratio-219 > .kt-inside-inner-col { aspect-ratio: 4 / 3; } }
/* Texto resaltado que, si ocupa dos líneas, sigue siendo una sola caja */
.bi-marca-bloque mark.kt-highlight { display: inline-block; vertical-align: top; }
.bi-rayas > .kt-inside-inner-col { background-image: repeating-linear-gradient(135deg, rgba(40,57,46,.07) 0 1px, transparent 1px 11px); }
.bi-imagen-relleno { position: absolute !important; inset: 0; margin: 0 !important; }
.bi-imagen-relleno img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.bi-etiqueta-imagen { position: absolute !important; top: .85rem; left: .85rem; z-index: 2; margin: 0 !important; }
.bi-etiqueta-imagen mark.kt-highlight { box-shadow: inset 0 1px 0 rgba(244,241,225,.6), 0 6px 14px -8px rgba(40,57,46,.4); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.bi-al-fondo { margin-top: auto !important; }

/* Enlace subrayado (Ver todos los artículos) */
.bi-subrayado a { text-decoration: underline; text-decoration-color: var(--global-palette1, #4F7A5C); text-decoration-thickness: 1.5px; text-underline-offset: 6px; transition: color .25s; }
.bi-subrayado a:hover { text-decoration-thickness: 2.5px; }

/* Mockup del ebook: sombra en el suelo, relieve e inclinación (sin óvalo de fondo, a petición: solo el mockup sobre el fondo de la página) */
.bi-ebook-portada { position: relative; isolation: isolate; }
.bi-ebook-portada::after { content: ""; position: absolute; z-index: -1; left: 2%; right: 2%; bottom: -.9rem; height: 2.2rem; border-radius: 50%; background: radial-gradient(ellipse at center, rgba(40,57,46,.55) 0%, rgba(40,57,46,.26) 38%, rgba(40,57,46,0) 70%); filter: blur(3px); }
.bi-ebook-portada img { position: relative; filter: drop-shadow(0 1px 1px rgba(40,57,46,.35)) drop-shadow(0 4px 6px rgba(40,57,46,.22)) drop-shadow(0 14px 16px rgba(40,57,46,.22)); transform: perspective(1100px) rotateY(-4deg); }
/* Escritorio (≥ 1025 px): el mockup ocupa el alto de la columna de texto. El espacio de arriba y de abajo
   es el relleno de la columna «Mockup» (Kadence, por dispositivo); en tablet y móvil se queda como estaba */
@media (min-width: 1025px) {
  .wp-block-kadence-column.bi-ebook-mock { align-self: stretch !important; }
  .wp-block-kadence-column.bi-ebook-mock > .kt-inside-inner-col { display: flex; flex-direction: column; justify-content: stretch; flex: 1 1 auto; align-self: stretch; width: 100%; min-height: 0; box-sizing: border-box; }
  .bi-ebook-mock .bi-ebook-portada { flex: 1 1 auto; align-self: stretch; width: 100%; max-width: none !important; min-height: 0; }
  .bi-ebook-mock .bi-ebook-portada figure { display: block; position: absolute; inset: 0; width: auto; max-width: none !important; height: auto; margin: 0; }
  .bi-ebook-mock .bi-ebook-portada img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; height: 100% !important; width: auto !important; max-width: 100% !important; }
}

/* Sobre nosotros · Presentación: texto (1.1fr) e imagen (.9fr) en dos columnas en escritorio; apiladas y centradas en tablet/móvil */
@media (min-width: 1025px) {
  .bi-sn-fila > .kt-inside-inner-col > .wp-block-kadence-column.bi-sn-txt { flex: 1.1 1 0 !important; min-width: 0; max-width: none; }
  .bi-sn-fila > .kt-inside-inner-col > .wp-block-kadence-column.bi-sn-img { flex: .9 1 0 !important; min-width: 0; max-width: none; }
}
@media (max-width: 1024px) { .bi-sn-lead { margin-left: auto !important; margin-right: auto !important; } }
.bi-sn-foto, .bi-sn-foto figure { width: 100%; margin: 0; }
.bi-sn-foto img { display: block; width: 100%; height: auto; }

/* Preguntas frecuentes: tarjeta completa (pregunta + respuesta) */
.bi-faq .kt-accordion-pane { border-radius: 20px; box-shadow: inset 0 1px 0 rgba(244,241,225,.8), 0 2px 4px -2px rgba(40,57,46,.08), 0 8px 18px -14px rgba(40,57,46,.28); transition: box-shadow .3s; }
.bi-faq .kt-accordion-pane:has(.kt-accordion-panel-active) { box-shadow: inset 0 1px 0 rgba(244,241,225,.8), 0 4px 8px -4px rgba(40,57,46,.1), 0 18px 36px -26px rgba(40,57,46,.42); }
.bi-faq .kt-blocks-accordion-header.kt-accordion-panel-active { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; border-bottom-color: transparent !important; }
/* Icono +/×: círculo crema detrás (el color del + se cambia en el bloque: Icono) */
.bi-faq .kt-blocks-accordion-icon-trigger { position: relative; flex: none; width: 32px !important; height: 32px !important; border-radius: 50%; background: var(--global-palette9, #F4F1E1); transition: background-color .3s, transform .35s ease; }
.bi-faq .kt-blocks-accordion-icon-trigger::before, .bi-faq .kt-blocks-accordion-icon-trigger::after { left: 8px !important; width: 16px !important; height: 1.8px !important; top: calc(50% - .9px) !important; border-radius: 2px; }
.bi-faq .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger { background: rgba(79,122,92,.2); }

/* Blog: segunda tarjeta de ebook (Habla con Confianza) separada de la primera */
.bi-eb-segundo { margin-top: clamp(2rem, 4vw, 3.5rem) !important; }

/* ---- Carrusel de productos (Home): las diapositivas son bloques Kadence editables; en el editor se ven una bajo otra y en la web se deslizan ---- */
#inner-wrap .bi-carrusel { position: relative; padding-bottom: 84px; }
#inner-wrap .bi-carrusel > .kt-inside-inner-col { position: relative; display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 0 !important; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 60px; margin-bottom: -60px; }
#inner-wrap .bi-carrusel > .kt-inside-inner-col::-webkit-scrollbar { display: none; }
#inner-wrap .bi-carrusel > .kt-inside-inner-col > * { flex: 0 0 100% !important; min-width: 0; box-sizing: border-box; scroll-snap-align: start; scroll-snap-stop: always; }
.bi-car-ctrl { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: center; gap: 18px; z-index: 2; }
.bi-car-btn { width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1px solid rgba(79, 122, 92, .45); background: #FCFBF6; color: #28392E; display: grid; place-items: center; cursor: pointer; transition: background-color .25s, color .25s, transform .25s; }
.bi-car-btn:hover, .bi-car-btn:focus-visible { background: #28392E; color: #F4F1E1; }
.bi-car-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bi-car-dots { display: flex; align-items: center; gap: 10px; }
.bi-car-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(79, 122, 92, .3); cursor: pointer; transition: width .3s, background-color .3s; }
.bi-car-dot[aria-current="true"] { width: 28px; background: #4F7A5C; }
#habla-con-confianza { scroll-margin-top: 110px; }
@media (prefers-reduced-motion: reduce) { .bi-car-btn, .bi-car-dot { transition: none; } }