/* === Páginas de texto — plantilla page-fjx (5.105) ===
   Encolado por FUNAJIT Páginas solo en páginas sin módulo (includes/fjxp-pagina.php).
   Hero como Soporte; el cuerpo neutraliza los estilos en línea heredados de WPBakery
   (fuentes, tamaños y colores fijados a mano) para que mande la tipografía del tema. */

.pg-hero { --fjx-accent: var(--fjx-enlace); }
.fjx-hero.pg-hero { padding-top:180px !important; padding-bottom:44px !important; min-height:0 !important; }
.pg-hero .fjx-eyebrow { color:var(--fjx-enlace) !important; }
.pg-hero .fjx-hero-left { grid-template-rows:auto !important; }
@media (max-width:760px){ .fjx-hero.pg-hero { padding-top:120px !important; } }

.pg-visual { position:relative; width:min(420px,78vw); aspect-ratio:1; margin:0 auto; }
.pg-ring { position:absolute; inset:8%; border-radius:50%; border:1.5px dashed rgba(29,78,216,.35); animation:pg-spin 50s linear infinite; }
.pg-core { position:absolute; top:50%; left:50%; width:56%; height:56%; transform:translate(-50%,-50%); display:grid; place-items:center; }
.pg-core img { width:100%; height:100%; object-fit:contain; border-radius:50%; filter:drop-shadow(0 22px 40px rgba(30,58,138,.28)); }
@keyframes pg-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .pg-ring { animation:none; } }

/* Cuerpo */
.pg-cuerpo { max-width:1080px; margin:0 auto; padding:24px 24px 88px; font-family:"DM Sans",sans-serif; font-size:16px; line-height:1.7; color:var(--fjx-texto-2); }
.pg-cuerpo :is(p,li,span,strong,em,a,td,th,div) { font-family:inherit !important; }
.pg-cuerpo :is(p,li,span,td,th) { font-size:inherit !important; }
.pg-cuerpo [style*="color"]:not(a) { color:inherit !important; }
.pg-cuerpo [style*="text-align: justify"] { text-align:left !important; }
.pg-cuerpo p { margin:0 0 18px; }
.pg-cuerpo a { color:var(--fjx-enlace); text-decoration:underline; text-underline-offset:3px; }
.pg-cuerpo :is(h1,h2,h3,h4) { font-family:"Outfit",sans-serif !important; color:var(--fjx-navy) !important; letter-spacing:-.02em; line-height:1.15; text-align:left !important; }
.pg-cuerpo :is(h1,h2,h3,h4) * { font-family:inherit !important; font-size:inherit !important; color:inherit !important; }
.pg-cuerpo :is(h1,h2) { font-size:clamp(24px,2.4vw,30px) !important; font-weight:800; margin:48px 0 16px; }
.pg-cuerpo h3 { font-size:clamp(19px,1.7vw,22px) !important; font-weight:800; margin:36px 0 12px; }
.pg-cuerpo hr { height:0; border:0 !important; border-top:1px solid var(--fjx-borde,#e3e8f0) !important; background:none !important; margin:44px 0 !important; opacity:1; }
.pg-cuerpo > hr:first-child, .pg-cuerpo .wp-block-column > hr:first-child, .pg-cuerpo hr + hr { display:none; }
.pg-cuerpo h4 { font-size:17px !important; font-weight:700; margin:32px 0 10px; }
.pg-cuerpo > :first-child, .pg-cuerpo .wp-block-column > :first-child { margin-top:0; }
.pg-cuerpo :is(ul,ol) { margin:0 0 22px; padding-left:22px; }
.pg-cuerpo li { margin-bottom:8px; }
.pg-cuerpo li::marker { color:var(--fjx-enlace); }

/* Espaciadores y grupos heredados: sin huecos de 100-200 px ni fondos de WPBakery. */
.pg-cuerpo .wp-block-spacer { height:24px !important; }
.pg-cuerpo .wp-block-group:not(:has(:not(.wp-block-group__inner-container, .wp-block-spacer))) { display:none; }
.pg-cuerpo [class*="vc_custom_"] { background:none !important; padding:0 !important; margin:0 !important; border:0 !important; }

/* Columnas e imágenes */
/* Columnas iguales (una galería de 4 sigue en 4); la de foto + texto (con encabezado) da más ancho al texto. */
.pg-cuerpo .wp-block-columns { display:flex !important; flex-wrap:nowrap; gap:clamp(20px,3vw,40px); align-items:flex-start; margin:0 0 24px; }
.pg-cuerpo .wp-block-column { min-width:0; flex:1 1 0 !important; }
.pg-cuerpo .wp-block-columns:has(h3, h2) > .wp-block-column:has(h3, h2) { flex-grow:1.8 !important; }
.pg-cuerpo .wp-block-columns:has(h3, h2) > .wp-block-column:not(:has(h3, h2)) .wp-block-image img { max-width:340px; margin:0 auto; display:block; }
.pg-cuerpo .wp-block-column > p:has(> strong > span, > span) { font-size:14px !important; color:var(--fjx-texto-3,#64748b); margin:8px 0 20px; }
.pg-cuerpo img { max-width:100%; height:auto; border-radius:14px; }
.pg-cuerpo .wp-block-columns .wp-block-image img { box-shadow:0 24px 60px rgba(15,35,80,.16); }
.pg-cuerpo figure { margin:0 0 20px; }
.pg-cuerpo .wp-block-image.vc_box_rounded img { border-radius:14px; }

@media (max-width:760px){
  .pg-cuerpo { padding:12px 20px 64px; font-size:15.5px; }
  .pg-cuerpo .wp-block-columns { flex-wrap:wrap; }
  .pg-cuerpo .wp-block-column { flex:1 1 100% !important; }
  .pg-hero .fjx-hero-right { display:none !important; }
  .pg-cuerpo .wp-block-columns:has(h3, h2) > .wp-block-column:not(:has(h3, h2)) .wp-block-image img { max-width:260px; }
  .pg-cuerpo .wp-block-columns:not(:has(h3, h2)) > .wp-block-column { flex:1 1 calc(50% - 20px) !important; }
}
