/* === Emprendizaje — acento MORADO + componentes propios ===
   Encolado por el plugin FUNAJIT Páginas solo donde hay shortcodes [emprendizaje_...]. */

/* Morados: profundo #3F1580 · principal #792CD2 · brillante #8B5CF6 */
.em-hero { --fjx-accent: #792CD2; }
.fjx-hero.em-hero { padding-top:180px !important; padding-bottom:44px !important; min-height:0 !important; }
.em-hero .fjx-eyebrow { color: #5E1FA8 !important; }
.em-hero .fjx-btn { background:#5E1FA8 !important; }
.em-hero .fjx-btn:hover { background:#3F1580 !important; }
@media (max-width:760px){ .fjx-hero.em-hero { padding-top:120px !important; } }

/* visual del hero */
.em-visual{position:relative;width:min(440px,80vw);aspect-ratio:1;margin:0 auto}
.em-ring{position:absolute;inset:8%;border-radius:50%;border:1.5px dashed rgba(121,44,210,.35);animation:em-spin 50s linear infinite}
.em-core{position:absolute;top:50%;left:50%;width:54%;height:54%;transform:translate(-50%,-50%);display:grid;place-items:center;animation:em-float 5.5s ease-in-out infinite;z-index:2}
.em-core img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 40px rgba(63,21,128,.28))}
.em-chip{position:absolute;width:38%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:4px solid #fff;box-shadow:0 18px 40px rgba(16,42,67,.22);z-index:1}
.em-chip--a{top:0;right:-2%;transform:rotate(3deg);animation:em-float 6s ease-in-out infinite}
.em-chip--b{bottom:2%;left:-2%;transform:rotate(-4deg);animation:em-float 6.5s ease-in-out .5s infinite}
@keyframes em-spin{to{transform:rotate(360deg)}}
@keyframes em-float{0%,100%{margin-top:0}50%{margin-top:-10px}}

/* programa: texto + foto */
.em-prog-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.em-prog-foto { margin:0; }
.em-prog-foto img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:24px; box-shadow:0 24px 60px rgba(16,42,67,.16); }
.em-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:18px 0 6px; }
.em-pill { display:inline-flex; align-items:center; padding:7px 14px; border-radius:999px; background:#f1eafd; color:#3F1580; font-weight:800; font-size:13px; border:1px solid rgba(121,44,210,.25); }
.em-loc { color:#3d4a66; font-weight:600; font-size:14px; flex:1; min-width:220px; }
@media (max-width:900px){ .em-prog-grid { grid-template-columns:1fr; gap:28px; } }

/* temporadas de actividades */
.em-season { margin-top:34px; padding-top:26px; border-top:1px solid rgba(16,42,67,.10); }
.em-season:first-of-type { border-top:0; }
.em-season-head { display:flex; align-items:baseline; gap:16px; margin-bottom:18px; }
.em-season-year { font-family:"Outfit",sans-serif; font-weight:900; font-size:30px; line-height:1; color:#5E1FA8; }
.em-season-title { font-family:"Outfit",sans-serif; font-weight:800; font-size:19px; margin:0; color:#0a1628; }
.em-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.em-card { position:relative; padding:18px 16px 16px; border-radius:16px; background:#f6f8fc; border:1px solid rgba(16,42,67,.07); transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.em-card:hover { transform:translateY(-3px); background:#fff; box-shadow:0 10px 26px rgba(63,21,128,.14); }
.em-year { display:inline-block; font-family:"Outfit",sans-serif; font-weight:900; font-size:12px; color:#5E1FA8; margin-bottom:6px; }
.em-card-title { font-family:"Outfit",sans-serif; font-weight:800; font-size:14.5px; line-height:1.3; margin:0 0 7px; color:#0a1628; }
.em-card-desc { font-size:12.5px; line-height:1.5; color:#4b5a75; margin:0; }
@media (max-width:1100px){ .em-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .em-grid { grid-template-columns:1fr; } .em-season-head { flex-direction:column; gap:4px; } }

/* galería por temporada */
.em-gal { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:16px; }
.em-gal-foto { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:14px; box-shadow:0 8px 22px rgba(16,42,67,.12); transition:transform .2s ease, box-shadow .2s ease; }
.em-gal-foto:hover { transform:scale(1.03); box-shadow:0 14px 32px rgba(63,21,128,.22); }
@media (max-width:760px){ .em-gal { grid-template-columns:repeat(2,1fr); } }

/* fila CTA — degradado morado */
.fjx-cta-row { background:linear-gradient(135deg,#3F1580 0%, #792CD2 100%) !important; }
.fjx-cta-row .fjx-title { max-width:none !important; margin-left:auto !important; margin-right:auto !important; text-align:center !important; color:#fff !important; }
.fjx-cta-row .fjx-lead { margin-left:auto !important; margin-right:auto !important; text-align:center !important; max-width:62ch; }
.fjx-cta-row .fjx-btn-light { color:#3F1580 !important; }
.fjx-cta-row .fjx-btn-outline { color:#fff !important; border:2px solid rgba(255,255,255,.75) !important; background:transparent !important; }
.fjx-cta-row .fjx-btn-outline:hover { background:rgba(255,255,255,.16) !important; border-color:#fff !important; color:#fff !important; }
