/* Cohete CW · Punto Fisio v1.0.28 · decoración confinada al plano de fondo.
   No se añade ninguna capa al body: evita dibujar puntos encima de tarjetas
   u otros elementos y mantiene la relación con las secciones de Elementor. */
/* Evita scroll horizontal al usar anchos superiores a 100%, sin cortar la extensión vertical. */
html.cw-pf-art-document, html.cw-pf-art-document body{overflow-x:clip}
.cw-pf-art-yes{
 --cw-pf-art-width:110%;--cw-pf-art-height:110%;
 --cw-pf-art-x:50%;--cw-pf-art-y:0px;--cw-pf-art-opacity:.32;
 --cw-pf-art-fade-top:18%;--cw-pf-art-fade-bottom:18%;
 --cw-pf-art-color-a:var(--e-global-color-secondary,#00acf8);
 --cw-pf-art-color-b:var(--e-global-color-primary,#00cfab);
 position:relative;isolation:isolate;
}
/* El elemento decorativo siempre permanece DENTRO del contexto de apilamiento.
   El modo extendido solo permite el desbordamiento del propio contenedor. */
.cw-pf-art-yes.cw-pf-art-unclip-yes{overflow:visible!important}
.cw-pf-art-yes > .cw-pf-section-art{
 position:absolute!important;z-index:0!important;pointer-events:none!important;user-select:none;
 display:block;box-sizing:border-box;max-width:none;
 width:var(--cw-pf-art-width);height:var(--cw-pf-art-height);
 top:calc(50% + var(--cw-pf-art-y));left:var(--cw-pf-art-x);
 transform:translate(-50%,-50%);opacity:var(--cw-pf-art-opacity);
 /* 0% deja el extremo nítido, 18% suaviza el cambio de sección. */
 -webkit-mask-image:linear-gradient(to bottom,
   transparent 0%,#000 var(--cw-pf-art-fade-top),
   #000 calc(100% - var(--cw-pf-art-fade-bottom)),transparent 100%);
 mask-image:linear-gradient(to bottom,
   transparent 0%,#000 var(--cw-pf-art-fade-top),
   #000 calc(100% - var(--cw-pf-art-fade-bottom)),transparent 100%);
}
/* Incluye el e-con-inner usado por Elementor: todo el contenido debe estar
   por encima de la trama, incluidos botones, imágenes y texto. */
.cw-pf-art-yes > :not(.cw-pf-section-art):not(.elementor-background-overlay):not(.elementor-shape){
 z-index:1;
}
.cw-pf-art-yes > .e-con-inner,
.cw-pf-art-yes > .elementor-container{position:relative}
.cw-pf-art-yes > .elementor-background-overlay{z-index:0}
.cw-pf-section-art::before,.cw-pf-section-art::after{
 content:"";position:absolute;pointer-events:none;inset:0;
}
/* Velo: plano de color tranquilo, sin brillo ni formas antropomorfas. */
.cw-pf-section-art--wash{
 background:linear-gradient(96deg,transparent 0%,
 color-mix(in srgb,var(--cw-pf-art-color-a) 13%,transparent) 32%,
 color-mix(in srgb,var(--cw-pf-art-color-b) 11%,transparent) 62%,transparent 100%);
}
/* Retícula: cruzamiento preciso, cada línea de un píxel. */
.cw-pf-section-art--grid::before{
 background-image:
 linear-gradient(to right,color-mix(in srgb,var(--cw-pf-art-color-a) 20%,transparent) 1px,transparent 1px),
 linear-gradient(to bottom,color-mix(in srgb,var(--cw-pf-art-color-b) 17%,transparent) 1px,transparent 1px);
 background-size:40px 40px;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 18% 82%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 18% 82%,transparent);
}
/* Filetes editoriales en zonas laterales, sin marcos externos gigantes. */
.cw-pf-section-art--lines::before{
 left:15%;right:15%;top:23%;bottom:auto;height:1px;
 background:linear-gradient(90deg,transparent,
 color-mix(in srgb,var(--cw-pf-art-color-a) 38%,transparent) 29%,
 color-mix(in srgb,var(--cw-pf-art-color-b) 24%,transparent) 71%,transparent);
}
.cw-pf-section-art--lines::after{
 left:22%;right:22%;top:auto;bottom:23%;height:1px;
 background:linear-gradient(90deg,transparent,
 color-mix(in srgb,var(--cw-pf-art-color-b) 25%,transparent) 42%,
 color-mix(in srgb,var(--cw-pf-art-color-a) 18%,transparent) 68%,transparent);
}
/* Trama de puntos: solo patrón de fondo, no capa delante de fotos. */
.cw-pf-section-art--dots::before{
 background-image:radial-gradient(circle,color-mix(in srgb,var(--cw-pf-art-color-a) 46%,transparent) 1px,transparent 1.3px);
 background-size:24px 24px;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 20% 80%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 20% 80%,transparent);
}
@media(prefers-reduced-motion:reduce){.cw-pf-section-art,.cw-pf-section-art::before,.cw-pf-section-art::after{animation:none!important;transition:none!important}}
