/* ===========================================================================
   ESTIMULS — Internas "Editorial calido". Sistema compartido (pags 16-21).
   Tokens es-* auto-contenidos (no dependen de body.page-id). Layouts reusables
   por prefijo de _element_id: [id^="es-phero|es-split|es-grid3|es-grid2|es-band"].
   Fraunces + Nunito. Sin CDN de JS.
   =========================================================================== */
:root{
  --rojo:#BE1A3E; --rojo-d:#9E1433; --naranja:#E3964E; --naranja-2:#F0B072;
  --crema:#FBF4E6; --crema-2:#F4E7CE; --blush:#FBECEC;
  --tinta:#2A2320; --tinta-60:#6B615A; --tinta-40:#9A9089;
  --blanco:#FFFFFF; --linea:rgba(42,35,32,.10);
  --ff-disp:"Fraunces", Georgia, serif; --ff-body:"Nunito", system-ui, sans-serif;
  --ease:cubic-bezier(.16,1,.3,1); --mw:1180px;
}

/* ---- Tokens de texto (auto-contenidos) ---------------------------------- */
.es-eyebrow .elementor-heading-title{ font-family:var(--ff-body); font-weight:800; font-size:.8rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--rojo); line-height:1.4; }
.es-h1 .elementor-heading-title{ font-family:var(--ff-disp); font-weight:600; color:var(--tinta);
  font-size:clamp(2.3rem,5vw,4rem); line-height:1.02; letter-spacing:-.025em; }
.es-h2 .elementor-heading-title{ font-family:var(--ff-disp); font-weight:600; color:var(--tinta);
  font-size:clamp(1.8rem,3.6vw,2.9rem); line-height:1.05; letter-spacing:-.02em; }
.es-h3 .elementor-heading-title{ font-family:var(--ff-disp); font-weight:600; color:var(--tinta);
  font-size:clamp(1.3rem,2.2vw,1.8rem); line-height:1.12; }
.es-h1 em,.es-h2 em,.es-h3 em{ font-style:italic; color:var(--rojo); }
.es-lead .elementor-widget-container,.es-lead p{ font-family:var(--ff-body); font-weight:500; color:var(--tinta);
  font-size:clamp(1.1rem,1.6vw,1.4rem); line-height:1.6; }
.es-sub .elementor-widget-container,.es-sub p{ font-family:var(--ff-body); color:var(--tinta-60);
  font-size:clamp(1rem,1.25vw,1.12rem); line-height:1.7; }
.es-prose .elementor-widget-container,.es-prose p{ font-family:var(--ff-body); color:var(--tinta-60);
  font-size:1.06rem; line-height:1.75; }
.es-prose p{ margin:0 0 1em; }
.es-prose strong{ color:var(--tinta); }

/* ---- Botones ------------------------------------------------------------ */
.es-btn .elementor-button{ font-family:var(--ff-body); font-weight:800; font-size:1rem;
  padding:16px 30px; border-radius:999px; background:var(--rojo); color:#fff;
  box-shadow:0 10px 24px -10px rgba(190,26,62,.6); transition:transform .3s var(--ease), background .3s; }
.es-btn .elementor-button:hover{ background:var(--rojo-d); transform:translateY(-3px); }
.es-link .elementor-button{ font-family:var(--ff-body); font-weight:800; background:transparent; color:var(--tinta);
  padding:14px 10px; box-shadow:none; border-radius:0; position:relative; }
.es-link .elementor-button:after{ content:""; position:absolute; left:10px; right:10px; bottom:8px; height:2px;
  background:var(--rojo); transform:scaleX(.4); transform-origin:left; transition:transform .35s var(--ease); }
.es-link .elementor-button:hover:after{ transform:scaleX(1); }

/* ---- PAGE HERO  [id^="es-phero"] ---------------------------------------- */
[id^="es-phero"]{ background:var(--crema); }
[id^="es-phero"] > .e-con-inner{ padding-block:clamp(56px,7vw,96px); max-width:var(--mw); }
[id^="es-phero"] .es-h1 .elementor-heading-title{ margin:.25em 0 .35em; max-width:16ch; }
[id^="es-phero"] .es-sub{ max-width:60ch; }

/* ---- SPLIT 2-col asimetrico  [id^="es-split"] --------------------------- */
[id^="es-split"] > .e-con-inner{ display:grid; grid-template-columns:.42fr .58fr; gap:clamp(24px,5vw,72px);
  align-items:center; max-width:var(--mw); padding-block:clamp(56px,8vw,110px); }
[id^="es-split"] .es-h2 .elementor-heading-title{ position:relative; }

/* ---- GRID 3 / 2  [id^="es-grid3"] / [id^="es-grid2"] -------------------- */
[id^="es-grid3"] > .e-con-inner,[id^="es-grid2"] > .e-con-inner{ display:grid; gap:clamp(18px,2.4vw,34px);
  max-width:var(--mw); padding-block:clamp(50px,7vw,96px); }
[id^="es-grid3"] > .e-con-inner{ grid-template-columns:repeat(3,1fr); }
[id^="es-grid2"] > .e-con-inner{ grid-template-columns:repeat(2,1fr); }

/* tarjeta: contenedor-celda (clase de contenedor no renderiza -> prefijo id) */
[id^="es-card"]{ background:var(--blanco); border:1px solid var(--linea); border-radius:20px;
  padding:clamp(22px,2.4vw,32px)!important; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
[id^="es-card"]:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -30px rgba(42,35,32,.4); }
[id^="es-card"] .es-h3 .elementor-heading-title{ margin-bottom:.3em; }
/* numerito/el icono de tarjeta */
.es-cardnum .elementor-heading-title{ font-family:var(--ff-disp); font-weight:600; color:transparent;
  -webkit-text-stroke:1.3px var(--naranja); font-size:2.6rem; line-height:1; margin-bottom:.1em; }

/* lista de chequeo editorial */
.es-checks ul{ list-style:none; margin:0; padding:0; }
.es-checks li{ position:relative; padding:14px 0 14px 40px; border-top:1px solid var(--linea);
  font-family:var(--ff-body); color:var(--tinta); font-size:1.05rem; }
.es-checks li:before{ content:""; position:absolute; left:0; top:12px; width:26px; height:26px; border-radius:50%;
  background:var(--crema-2); background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23BE1A3E'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206L9%2017l-5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:15px; }

/* ---- BAND centrada  [id^="es-band"] ------------------------------------- */
[id^="es-band"] > .e-con-inner{ max-width:820px; padding-block:clamp(60px,8vw,110px); text-align:center; }
[id^="es-band"] .es-h2 .elementor-heading-title{ margin-bottom:.3em; }
/* CTA band (gradiente) si el id lleva "cta" — SOLO el contenedor de seccion
   (boxed), no el col interno que tambien contiene "cta" en su id */
.e-con-boxed[id*="cta"]{ background:linear-gradient(120deg,var(--rojo) 0%,var(--naranja) 100%)!important; }
[id*="cta"] .es-h2 .elementor-heading-title,[id*="cta"] .es-eyebrow .elementor-heading-title{ color:#fff; }
[id*="cta"] .es-sub p{ color:rgba(255,255,255,.92); }
[id*="cta"] .es-btn .elementor-button{ background:#fff; color:var(--rojo); }
[id*="cta"] .es-btn .elementor-button:hover{ background:var(--crema); }

/* ---- imagenes ----------------------------------------------------------- */
.es-img-r img{ border-radius:24px 24px 24px 80px; width:100%; height:clamp(320px,36vw,460px); object-fit:cover;
  box-shadow:0 30px 60px -38px rgba(42,35,32,.5); display:block; }
.es-img-soft img{ border-radius:22px; width:100%; object-fit:cover; display:block; }

/* ---- reveals ------------------------------------------------------------ */
.es-reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.es-reveal.is-in{ opacity:1; transform:none; }
.es-reveal.d1{ transition-delay:.08s } .es-reveal.d2{ transition-delay:.16s } .es-reveal.d3{ transition-delay:.24s }
@media(prefers-reduced-motion:reduce){ .es-reveal{ opacity:1!important; transform:none!important; } }

/* ---- responsive --------------------------------------------------------- */
@media(max-width:900px){
  [id^="es-split"] > .e-con-inner{ grid-template-columns:1fr; gap:32px; }
  [id^="es-grid3"] > .e-con-inner{ grid-template-columns:1fr; }
  [id^="es-grid2"] > .e-con-inner{ grid-template-columns:1fr; }
}
