/* Esmeeting Blocks — Canvas v2.10.0
 * Convierte la página en un lienzo completo estilo Framer cuando el contenido
 * usa patterns .esm (el PHP añade body.esm-canvas en ese caso):
 *  · Secciones a sangre completa (full-bleed), rompen el contenedor del tema.
 *  · Oculta el título automático de página y los márgenes del tema.
 *  · Pulido tipográfico y microinteracciones globales de la capa .esm.
 * Sin body.esm-canvas este archivo no cambia nada: seguro para el resto del sitio. */

/* ---------- 1 · Lienzo completo ---------- */
body.esm-canvas{overflow-x:clip}

/* GeneratePress: fuera título de página, márgenes y padding del contenedor */
body.esm-canvas .entry-header,
body.esm-canvas .page-header{display:none}
body.esm-canvas .site-main{margin:0 !important;padding:0 !important}
body.esm-canvas .site-main > article{margin:0}
body.esm-canvas .entry-content{margin-top:0}
body.esm-canvas .grid-container,
body.esm-canvas .container,
body.esm-canvas .inside-article{max-width:100%;padding-left:0;padding-right:0}
body.esm-canvas .inside-article{padding:0}

/* Secciones .esm a ancho de viewport, pase lo que pase con el contenedor */
body.esm-canvas .entry-content > .esm,
body.esm-canvas .entry-content > * > .esm,
body.esm-canvas .esm{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Los párrafos vacíos que deja el editor entre bloques no abren huecos */
body.esm-canvas .entry-content > p:empty{display:none}

/* ---------- 2 · Pulido tipográfico global (capa .esm) ---------- */
.esm{font-family:var(--esm-font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.esm h1,.esm h2,.esm h3{letter-spacing:-0.03em;text-wrap:balance}
.esm h2{font-size:clamp(30px,4.6vw,56px);line-height:1.04}
.esm p{text-wrap:pretty}

/* ---------- 3 · Microinteracciones (hover con muelle suave) ---------- */
.esm a,.esm button{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),background-color .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease}
.esm a[class*="btn"]:hover,.esm button:hover{transform:translateY(-2px)}
.esm a[class*="btn"]:active,.esm button:active{transform:translateY(0) scale(.98)}

/* Tarjetas comunes de los patterns: elevación sutil al pasar */
.esm .grid > .c,.esm .grid > .post,.esm .grid > .card,.esm .grid > a{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1)}
.esm .grid > .c:hover,.esm .grid > .post:hover,.esm .grid > .card:hover,.esm .grid > a:hover{transform:translateY(-4px);box-shadow:var(--esm-shadow-md)}

@media (prefers-reduced-motion:reduce){
  .esm a,.esm button,.esm .grid > *{transition:none !important;transform:none !important}
}
