.elementor-kit-6{--e-global-color-primary:#8A1660;--e-global-color-secondary:#F7A600;--e-global-color-text:#2A1D17;--e-global-color-accent:#F6EEE3;--e-global-color-29acb07:#FBF7F1;--e-global-color-c9f2ec6:#5A4A40;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.25px;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-size:1.1rem;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:600;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:18px;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-6 h1{color:var( --e-global-color-text );font-family:"Bricolage Grotesque", Sans-serif;font-size:48px;font-weight:800;}.elementor-kit-6 h2{color:var( --e-global-color-text );font-family:"Bricolage Grotesque", Sans-serif;font-size:32px;font-weight:800;line-height:1.15em;}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:"Bricolage Grotesque", Sans-serif;font-size:22px;font-weight:700;line-height:1.25em;}.elementor-kit-6 h4{color:var( --e-global-color-primary );font-family:"Bricolage Grotesque", Sans-serif;font-size:16px;font-weight:700;line-height:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:40px;}.elementor-kit-6 h2{font-size:28px;}.elementor-kit-6 h3{font-size:20px;}.elementor-kit-6 h4{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:34px;line-height:1.1em;}.elementor-kit-6 h2{font-size:26px;}.elementor-kit-6 h3{font-size:19px;}.elementor-kit-6 h4{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   MY SPANISH FLOW — Estilos globales para páginas de contenido
   (Privacy Policy, Terms & Conditions y futuras páginas/entradas)
   Pegar en: Elementor > Ajustes del sitio > CSS personalizado
   Uso: añadir la clase  msf-prose  al contenedor o al widget
        "Contenido de la entrada" / "Editor de texto".
   ========================================================= */

:root{
  /* Si ya existen como Colores globales en Elementor, se usan esos;
     si no, se aplica el valor de respaldo. */
  --msf-purple: var(--e-global-color-primary, #8A1660);
  --msf-mustard: var(--e-global-color-secondary, #F7A600);
  --msf-ink: var(--e-global-color-text, #2A1D17);
  --msf-ink-soft: #5A4A40;
  --msf-cream: #F6EEE3;
  --msf-paper: #FBF7F1;
  --msf-line: rgba(42,29,23,.14);
  --msf-radius: 12px;
  --msf-shadow: 0 12px 32px -16px rgba(60,30,10,.30);
  --msf-font-head: 'Bricolage Grotesque', system-ui, sans-serif;
  --msf-font-body: 'Figtree', system-ui, sans-serif;
}

/* ---------- Bloque de lectura ---------- */
.msf-prose{
  max-width: 72ch;
  margin-inline: auto;
  color: var(--msf-ink);
  font-family: var(--msf-font-body);
  font-size: 1.1rem;
  line-height: 1.75;
  text-wrap: pretty;
}
.msf-prose > *:first-child{ margin-top: 0; }

.msf-prose p{ margin: 0 0 1.1em; }

/* ---------- Títulos ---------- */
.msf-prose h2,
.msf-prose h3,
.msf-prose h4{
  font-family: var(--msf-font-head);
  color: var(--msf-ink);
  text-wrap: balance;
  scroll-margin-top: 110px; /* alto del header fijo, para anclas del índice */
}
.msf-prose h2{
  font-size: clamp(1.45rem, 1.15rem + 1vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 3rem 0 1rem;
  padding-bottom: .45em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='10' viewBox='0 0 120 10'%3E%3Cpath d='M2 6c18-5 36-5 54 0s38 4 62-2' fill='none' stroke='%23F7A600' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") left bottom / 88px 8px no-repeat;
}
.msf-prose h3{
  font-size: clamp(1.15rem, 1rem + .5vw, 1.35rem);
  font-weight: 700;
  margin: 2rem 0 .6rem;
}
.msf-prose h4{
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--msf-purple);
  margin: 1.6rem 0 .5rem;
}

/* ---------- Enlaces ---------- */
.msf-prose a{
  color: var(--msf-purple);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(138,22,96,.35);
  transition: text-decoration-color .2s, background-color .2s;
  overflow-wrap: anywhere;
}
.msf-prose a:hover{
  text-decoration-color: var(--msf-mustard);
  background-color: rgba(247,166,0,.12);
}
.msf-prose a:focus-visible{
  outline: 3px solid var(--msf-mustard);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ---------- Énfasis ---------- */
.msf-prose strong{ font-weight: 700; color: var(--msf-ink); }

/* ---------- Listas ---------- */
.msf-prose ul,
.msf-prose ol{ margin: 0 0 1.4em; padding-left: 0; }
.msf-prose ul{ list-style: none; }
.msf-prose ul li{
  position: relative;
  padding-left: 1.6em;
  margin-bottom: .55em;
}
.msf-prose ul li::before{
  content: "";
  position: absolute;
  left: .2em; top: .72em;
  width: .7em; height: 3px;
  border-radius: 3px;
  background: var(--msf-mustard);
}
.msf-prose ol{ padding-left: 1.4em; }
.msf-prose ol li{ margin-bottom: .55em; padding-left: .3em; }
.msf-prose ol li::marker{
  color: var(--msf-purple);
  font-family: var(--msf-font-head);
  font-weight: 800;
}

/* ---------- Tarjeta de datos (ej. "Who We Are") ----------
   Añadir la clase msf-card a la lista o a un contenedor. */
.msf-prose .msf-card,
.msf-card{
  background: var(--msf-paper);
  border: 1px solid var(--msf-line);
  border-radius: var(--msf-radius);
  box-shadow: var(--msf-shadow);
  padding: 1.4rem 1.6rem;
  margin: 1.4rem 0 1.8rem;
}
.msf-prose ul.msf-card li{ padding-left: 0; border-bottom: 1px dashed var(--msf-line); padding-block: .45em; margin: 0; }
.msf-prose ul.msf-card li:last-child{ border-bottom: 0; }
.msf-prose ul.msf-card li::before{ display: none; }

/* ---------- Aviso destacado ----------
   Párrafo o contenedor con clase msf-callout */
.msf-callout{
  background: rgba(247,166,0,.14);
  border-left: 4px solid var(--msf-mustard);
  border-radius: 0 var(--msf-radius) var(--msf-radius) 0;
  padding: 1rem 1.25rem;
  margin: 1.4rem 0;
}
.msf-callout.is-purple{
  background: rgba(138,22,96,.07);
  border-left-color: var(--msf-purple);
}

/* ---------- Fecha "Last updated" ---------- */
.msf-updated{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: .9rem;
  font-weight: 600;
  color: var(--msf-ink-soft);
  background: var(--msf-paper);
  border: 1px solid var(--msf-line);
  border-radius: 999px;
  padding: .35em .9em;
}

/* ---------- Citas ---------- */
.msf-prose blockquote{
  margin: 1.6rem 0;
  padding: .2rem 0 .2rem 1.25rem;
  border-left: 4px solid var(--msf-purple);
  font-size: 1.15rem;
  font-style: italic;
  color: var(--msf-ink-soft);
}

/* ---------- Tablas ---------- */
.msf-prose table{
  width: 100%;
  border-collapse: collapse;
  margin: 1.4rem 0 2rem;
  font-size: .98rem;
  background: var(--msf-paper);
  border-radius: var(--msf-radius);
  overflow: hidden;
  box-shadow: var(--msf-shadow);
}
.msf-prose th{
  background: var(--msf-purple);
  color: #fff;
  font-family: var(--msf-font-head);
  text-align: left;
  padding: .75em 1em;
}
.msf-prose td{ padding: .7em 1em; border-top: 1px solid var(--msf-line); vertical-align: top; }

/* ---------- Separador ---------- */
.msf-prose hr{
  border: 0;
  height: 8px;
  margin: 2.5rem 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='10' viewBox='0 0 120 10'%3E%3Cpath d='M2 6c18-5 36-5 54 0s38 4 62-2' fill='none' stroke='%238A1660' stroke-opacity='.35' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 120px 8px no-repeat;
}

/* ---------- Índice (widget "Tabla de contenidos" de Elementor Pro) ---------- */
.msf-toc .elementor-toc__header{ background: transparent; border: 0; padding: 0 0 .6rem; }
.msf-toc .elementor-toc__header-title{ font-family: var(--msf-font-head); font-weight: 800; font-size: 1rem; color: var(--msf-ink); }
.msf-toc .elementor-toc__body{ padding: 0; }
.msf-toc .elementor-toc__list-item-text-wrapper a{ color: var(--msf-ink-soft); font-size: .95rem; text-decoration: none; }
.msf-toc .elementor-toc__list-item-text-wrapper a:hover,
.msf-toc .elementor-toc__list-item-text.elementor-item-active{ color: var(--msf-purple); font-weight: 700; }

/* ---------- Móvil ---------- */
@media (max-width: 767px){
  .msf-prose{ font-size: 1.05rem; line-height: 1.7; }
  .msf-prose h2{ margin-top: 2.4rem; }
  .msf-card{ padding: 1.1rem 1.2rem; }
  .msf-prose table{ display: block; overflow-x: auto; }
}

/* ---------- Accesibilidad ---------- */
@media (prefers-reduced-motion: reduce){
  .msf-prose a{ transition: none; }
}

/* =========================================================
   MY SPANISH FLOW — Acordeón global
   Se aplica automáticamente a TODOS los acordeones del sitio
   (widget Acordeón clásico y Acordeón anidado de Elementor).
   Pegar DEBAJO del CSS existente en:
   Elementor > Ajustes del sitio > CSS personalizado
   Nota: si un acordeón tiene valores propios en su pestaña
   "Estilo", esos valores mandan sobre este CSS (a propósito).
   ========================================================= */

/* ---------- Acordeón clásico ---------- */
body .elementor-widget-accordion .elementor-accordion{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body .elementor-widget-accordion .elementor-accordion .elementor-accordion-item,
body .elementor-widget-accordion .elementor-accordion .elementor-accordion-item + .elementor-accordion-item{
  background: var(--msf-paper, #FBF7F1);
  border: 1px solid var(--msf-line, rgba(42,29,23,.14));
  border-radius: var(--msf-radius, 12px);
  overflow: hidden;
  transition: box-shadow .25s ease, border-color .25s ease;
}
body .elementor-widget-accordion .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active){
  border-color: rgba(138,22,96,.35);
  box-shadow: var(--msf-shadow, 0 12px 32px -16px rgba(60,30,10,.30));
}
body .elementor-widget-accordion .elementor-accordion .elementor-tab-title{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  border: 0;
  font-family: var(--msf-font-head, 'Bricolage Grotesque', sans-serif);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--msf-ink, #2A1D17);
  transition: color .2s ease;
}
body .elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title{
  color: inherit;
  font: inherit;
  text-decoration: none;
}
body .elementor-widget-accordion .elementor-accordion .elementor-tab-title:hover,
body .elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active{
  color: var(--msf-purple, #8A1660);
}
body .elementor-widget-accordion .elementor-accordion .elementor-accordion-icon{
  float: none;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(138,22,96,.10);
  color: var(--msf-purple, #8A1660);
  transition: background-color .2s ease, color .2s ease;
}
body .elementor-widget-accordion .elementor-accordion .elementor-accordion-icon.elementor-accordion-icon-right{
  order: 2;
  margin-left: auto;
}
body .elementor-widget-accordion .elementor-accordion .elementor-accordion-icon svg{
  width: 12px;
  height: 12px;
  fill: currentColor;
}
body .elementor-widget-accordion .elementor-accordion .elementor-accordion-icon i{
  font-size: 12px;
  color: currentColor;
}
body .elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon{
  background: var(--msf-purple, #8A1660);
  color: #fff;
}
body .elementor-widget-accordion .elementor-accordion .elementor-tab-content{
  padding: 18px 22px 22px;
  border-top: 1px dashed var(--msf-line, rgba(42,29,23,.14));
}

/* ---------- Acordeón anidado (Elementor 4) ---------- */
body .elementor-widget-n-accordion .e-n-accordion{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item{
  background: var(--msf-paper, #FBF7F1);
  border: 1px solid var(--msf-line, rgba(42,29,23,.14));
  border-radius: var(--msf-radius, 12px);
  overflow: hidden;
  margin: 0;
  transition: box-shadow .25s ease, border-color .25s ease;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open]{
  border-color: rgba(138,22,96,.35);
  box-shadow: var(--msf-shadow, 0 12px 32px -16px rgba(60,30,10,.30));
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  border: 0;
  background: transparent;
  list-style: none;
  color: var(--msf-ink, #2A1D17);
  transition: color .2s ease;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title::-webkit-details-marker{ display: none; }
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-text{
  font-family: var(--msf-font-head, 'Bricolage Grotesque', sans-serif);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title:hover,
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title{
  color: var(--msf-purple, #8A1660);
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-icon{
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(138,22,96,.10);
  color: var(--msf-purple, #8A1660);
  transition: background-color .2s ease, color .2s ease;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-icon svg{
  width: 12px;
  height: 12px;
  fill: currentColor;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-icon i{
  font-size: 12px;
  color: currentColor;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon{
  background: var(--msf-purple, #8A1660);
  color: #fff;
}
body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item > [role="region"]{
  padding: 18px 22px 22px;
  border-top: 1px dashed var(--msf-line, rgba(42,29,23,.14));
}

/* ---------- Texto dentro de cualquier acordeón ---------- */
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]){
  font-family: var(--msf-font-body, 'Figtree', sans-serif);
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--msf-ink, #2A1D17);
}
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]) p{ margin: 0 0 1em; }
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]) p:last-child{ margin-bottom: 0; }
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]) ul{
  list-style: none;
  margin: 0 0 1.1em;
  padding-left: 0;
}
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]) ul li{
  position: relative;
  padding-left: 1.6em;
  margin-bottom: .45em;
}
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]) ul li::before{
  content: "";
  position: absolute;
  left: .2em;
  top: .78em;
  width: .7em;
  height: 3px;
  border-radius: 3px;
  background: var(--msf-mustard, #F7A600);
}
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]) a{
  color: var(--msf-purple, #8A1660);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(138,22,96,.35);
  overflow-wrap: anywhere;
}
body :is(.elementor-accordion .elementor-tab-content, .e-n-accordion-item > [role="region"]) a:hover{
  text-decoration-color: var(--msf-mustard, #F7A600);
  background-color: rgba(247,166,0,.12);
}

/* ---------- Accesibilidad ---------- */
body :is(.elementor-accordion .elementor-tab-title, .e-n-accordion-item-title):focus-visible{
  outline: 3px solid var(--msf-mustard, #F7A600);
  outline-offset: -3px;
  border-radius: var(--msf-radius, 12px);
}

/* ---------- Móvil ---------- */
@media (max-width: 767px){
  body .elementor-widget-accordion .elementor-accordion .elementor-tab-title,
  body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title{ padding: 16px 18px; }
  body .elementor-widget-accordion .elementor-accordion .elementor-tab-title,
  body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title-text{ font-size: 1rem; }
  body .elementor-widget-accordion .elementor-accordion .elementor-tab-content,
  body .elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item > [role="region"]{ padding: 16px 18px 20px; }
}

@media (prefers-reduced-motion: reduce){
  body :is(.elementor-accordion-item, .e-n-accordion-item, .elementor-tab-title, .e-n-accordion-item-title, .elementor-accordion-icon, .e-n-accordion-item-title-icon){ transition: none; }
}
/* Icono del acordeón abierto en blanco */
body .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
body .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon i{
  color: #fff !important;
}
body .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg,
body .e-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg{
  fill: #fff !important;
}
/* Etiqueta "Last updated" compacta */
body .elementor-widget.msf-updated{
  width: auto;
  max-width: max-content;
  align-self: flex-start;
  font-size: .9rem;
  line-height: 1.4;
}
body .elementor-widget.msf-updated p{ margin: 0; }
/* Título de página adaptable (widget Page Title) */
body .elementor-widget-theme-page-title .elementor-heading-title{
  font-size: clamp(2.1rem, 1.4rem + 3vw, 3rem) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
  color: var(--e-global-color-text, #2A1D17);
}
   /* Ocultar el título del tema cuando la página tiene su propia franja */
   body:has(.elementor-widget-theme-page-title) .page-header{ display: none; }/* End custom CSS */