.elementor-kit-1318{--e-global-color-primary:#E1C5AC;--e-global-color-secondary:#1A1D22;--e-global-color-text:#7A7A7A;--e-global-color-accent:#FFFFFF;--e-global-typography-primary-font-family:"Open Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-secondary );color:var( --e-global-color-accent );font-family:"Open Sans", Sans-serif;font-size:1rem;font-weight:400;line-height:1.6em;letter-spacing:0em;}.elementor-kit-1318 e-page-transition{background-color:#FFBC7D;}.elementor-kit-1318 a{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-1318 a:hover{color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-1318 h1{color:var( --e-global-color-primary );font-family:"Open Sans", Sans-serif;font-size:2.75rem;font-weight:600;text-transform:none;line-height:1.15em;letter-spacing:-0.01em;}.elementor-kit-1318 h2{color:var( --e-global-color-accent );font-family:"Open Sans", Sans-serif;font-weight:600;text-transform:none;letter-spacing:-0.005em;}.elementor-kit-1318 h3{color:var( --e-global-color-accent );font-family:"Open Sans", Sans-serif;font-size:1.6rem;font-weight:600;text-transform:none;line-height:1.25em;letter-spacing:0em;}.elementor-kit-1318 h4{font-family:"Open Sans", Sans-serif;font-weight:500;text-transform:none;line-height:1.3em;}.elementor-kit-1318 button,.elementor-kit-1318 input[type="button"],.elementor-kit-1318 input[type="submit"],.elementor-kit-1318 .elementor-button{font-size:1rem;letter-spacing:0.02em;color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:100px 100px 100px 100px;padding:0.65em 1.4em 0.65em 1.4em;}.elementor-kit-1318 button:hover,.elementor-kit-1318 button:focus,.elementor-kit-1318 input[type="button"]:hover,.elementor-kit-1318 input[type="button"]:focus,.elementor-kit-1318 input[type="submit"]:hover,.elementor-kit-1318 input[type="submit"]:focus,.elementor-kit-1318 .elementor-button:hover,.elementor-kit-1318 .elementor-button:focus{color:var( --e-global-color-accent );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:100px 100px 100px 100px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 32px;--widgets-spacing-row:0px;--widgets-spacing-column:32px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===========================
   Línea con desvanecimiento L/R reutilizable
   Ajusta variables por bloque si quieres otro look
   =========================== */

:root {
  --skin: 225,197,172;  /* #E1C5AC en RGB */
  --line-alpha: 0.90;   /* brillo centro */
  --side-alpha: 0.45;   /* costados */
  --edge-alpha: 0.00;   /* extremos (0 = transparente) */
  --left-stop: 42%;
  --center-stop: 50%;
  --right-stop: 58%;
}

/* Base */
.divider-xfade-top,
.divider-xfade-bottom {
  position: relative;
  overflow: visible;
  /* evita desenfoque por subpíxel en algunos temas */
  transform: translateZ(0);
}

/* Núcleo 1px: línea horizontal que se apaga a los lados */
.divider-xfade-top::before,
.divider-xfade-bottom::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;               /* línea fina */
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    to right,
    rgba(var(--skin), var(--edge-alpha)) 0%,
    rgba(var(--skin), var(--side-alpha)) var(--left-stop),
    rgba(var(--skin), var(--line-alpha)) var(--center-stop),
    rgba(var(--skin), var(--side-alpha)) var(--right-stop),
    rgba(var(--skin), var(--edge-alpha)) 100%
  );
}

/* Posición arriba o abajo */
.divider-xfade-top::before    { top: 0; }
.divider-xfade-bottom::before { bottom: 0; }

/* Halo opcional súper sutil (apagar si no lo quieres) */
.divider-xfade-top::after,
.divider-xfade-bottom::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 0px;               /* 0 para desactivar halo */
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    to right,
    rgba(var(--skin), 0) 0%,
    rgba(var(--skin), 0.14) calc(var(--left-stop) - 6%),
    rgba(var(--skin), 0.18) var(--center-stop),
    rgba(var(--skin), 0.14) calc(var(--right-stop) + 6%),
    rgba(var(--skin), 0) 100%
  );
  /* difumina un pelo hacia arriba/abajo sin ensuciar */
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,0));
}

.divider-xfade-top::after    { top: -6px; }
.divider-xfade-bottom::after {
  bottom: -6px;
  transform: scaleY(-1);  /* reutiliza el mismo mask hacia abajo */
}

/* Ajuste mobile: halo más pequeño */
@media (max-width: 767px) {
  .divider-xfade-top::after,
  .divider-xfade-bottom::after { height: 0px; top: -5px; bottom: -5px; }
}

/* Fallback por si algún navegador antiguo ignora gradients */
.no-gradients .divider-xfade-top::before,
.no-gradients .divider-xfade-bottom::before {
  background: rgba(var(--skin), .5);
}










h1 {
  font-size: clamp(2rem, 1.2rem + 3vw, 2.75rem);
}
h2 {
  font-size: clamp(1.75rem, 1.1rem + 2.2vw, 2.25rem);
}
h3 {
  font-size: clamp(1.25rem, 0.9rem + 1vw, 1.6rem);
}
p, li {
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.05rem);
}









h1, h2, h3, h4 {
  margin-top: 0; /* evita saltos inesperados */
}

/* Separación calmada después del título */
h1 + p,
h2 + p,
h3 + p,
h4 + p {
  margin-top: 1.25rem; /* RITMO BASE */
}

/* Si viene una lista después del título */
h1 + ul, h2 + ul, h3 + ul, h4 + ul {
  margin-top: 1.25rem;
}









p + p,
p + ul,
ul + p,
li + li {
  margin-top: 1.25rem;
}










h1 { margin-bottom: 2rem; }
h2 { margin-bottom: 1.75rem; }
h3 { margin-bottom: 1.5rem; }
h4 { margin-bottom: 1.25rem; }










a.elementor-button {
  margin-top: 2rem; /* nunca pegado al texto */
}









/* Fade-up premium preset */
.fade-up{
  --dur: .62s;       /* Duración elegante */
  --delay: 0ms;      /* Puedes sobreescribir en cada widget si quieres */
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity var(--dur) cubic-bezier(0.16, 0.8, 0.32, 1),
    transform var(--dur) cubic-bezier(0.16, 0.8, 0.32, 1);
}
.fade-up.is-visible{
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--delay);
}

/* Respeta usuarios con reduce motion */
@media (prefers-reduced-motion: reduce){
  .fade-up{ transform:none!important; transition:none!important; }
}


/* Siempre visible dentro del editor de Elementor */
.elementor-editor-active .fade-up {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;  /* sin animación mientras editas */
}









/* ➤ Submenú que crece según el largo del texto */
.header-blur .sub-menu {
    width: auto !important;           /* se adapta automáticamente */
    min-width: max-content !important; /* toma el ancho del texto más largo */
}

/* ➤ Cada ítem con padding uniforme y fondo completo */
.header-blur .sub-menu li a {
    white-space: nowrap;        /* evita cortes feos de línea */
    padding-right: 32px !important;  /* da espacio interno */
    padding-left: 20px !important;
}









/* Permite abrir/cerrar con clase "hover-on" */
.menu-item-has-children.hover-on > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

/* Estado normal */
.sub-menu {
    transition: all .25s ease;
}









/* Estado normal: usa el comportamiento por defecto del tema/Elementor */

/* Estado forzado abierto cuando agregamos la clase .is-open */
.menu-tratamientos.is-open > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* Por si el tema usa otros .elementor-kit-1318es para el dropdown */
.menu-tratamientos.is-open > ul.sub-menu {
  display: block;
}












/* ===========================
   Línea con desvanecimiento L/R reutilizable
   Ajusta variables por bloque si quieres otro look
   =========================== */

:root {
  --skin: 225,197,172;  /* #E1C5AC en RGB */
  --line-alpha: 0.90;   /* brillo centro */
  --side-alpha: 0.45;   /* costados */
  --edge-alpha: 0.00;   /* extremos (0 = transparente) */
  --left-stop: 22%;
  --center-stop: 50%;
  --right-stop: 78%;
}

/* Base */
.divider-xfade-bottom-white {
  position: relative;
  overflow: visible;
  /* evita desenfoque por subpíxel en algunos temas */
  transform: translateZ(0);
}

/* Núcleo 1px: línea horizontal que se apaga a los lados */
.divider-xfade-bottom-white::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;               /* línea fina */
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    to right,
    rgba(var(--skin), var(--edge-alpha)) 0%,
    rgba(var(--skin), var(--side-alpha)) var(--left-stop),
    rgba(var(--skin), var(--line-alpha)) var(--center-stop),
    rgba(var(--skin), var(--side-alpha)) var(--right-stop),
    rgba(var(--skin), var(--edge-alpha)) 100%
  );
}

/* Posición arriba o abajo */
.divider-xfade-bottom-white::before { bottom: 0; }

/* Halo opcional súper sutil (apagar si no lo quieres) */
.divider-xfade-bottom-white::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 0px;               /* 0 para desactivar halo */
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    to right,
    rgba(var(--skin), 0) 0%,
    rgba(var(--skin), 0.14) calc(var(--left-stop) - 6%),
    rgba(var(--skin), 0.18) var(--center-stop),
    rgba(var(--skin), 0.14) calc(var(--right-stop) + 6%),
    rgba(var(--skin), 0) 100%
  );
  /* difumina un pelo hacia arriba/abajo sin ensuciar */
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,0));
}

.divider-xfade-bottom-white::after {
  bottom: -6px;
  transform: scaleY(-1);  /* reutiliza el mismo mask hacia abajo */
}

/* Ajuste mobile: halo más pequeño */
@media (max-width: 767px) {
  .divider-xfade-bottom-white::after { height: 0px; top: -5px; bottom: -5px; }
}

/* Fallback por si algún navegador antiguo ignora gradients */
.no-gradients .divider-xfade-bottom-white::before {
  background: rgba(var(--skin), .5);
}




/* BASE REUTILIZABLE - no tocar */
.subtitulo-tratamientos:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    to right,
    rgba(var(--d-color), 0.90) 0%,
    rgba(var(--d-color), 0.45) 60%,
    rgba(var(--d-color), 0.00) 100%
  );
  bottom: 0;
}

/* VARIANTES - solo cambias el color RGB */
.divisor-skin   { --d-color: 225, 197, 172; }
.divisor-azul   { --d-color: 100, 149, 200; }
.divisor-blanco { --d-color: 255, 255, 255; }
.divisor-gris   { --d-color: 180, 180, 180; }/* End custom CSS */