/* ============================================================
   FP · Secretaría de Emprendimiento — Estilos Globales Fase 1
   Variables de color + estilos complejos no controlables por
   los campos nativos de Elementor Free (gradientes en capas,
   patrones repetidos, keyframes, backdrop-filter).
   Los colores base también están registrados en el Kit de
   Elementor (Site Settings > Global Colors/Typography) para
   que estén disponibles en el selector de color de cada widget.
   ============================================================ */

:root{
  --verde:#2d9e5f;
  --verde-oscuro:#1a5c38;
  --verde-brillante:#3ec878;
  --negro:#0a0a0a;
  --blanco:#ffffff;
  --gris:#f2f2f2;
  --gris-texto:#444;
}

/* ── HEADER (Xpro Theme Builder) ── */
.fp-header-blur{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  background:rgba(10,10,10,0.85) !important;
  border-bottom:1px solid rgba(255,255,255,0.06);
  position:fixed !important;
  top:0;left:0;right:0;
  z-index:999;
}
.fp-nav-fp{
  font-family:'Bebas Neue',sans-serif !important;
  color:var(--verde-brillante) !important;
  letter-spacing:3px !important;
  line-height:1 !important;
}

/* ── HERO — capas de fondo ── */
.hero-section-wrap{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  background:var(--negro);
}
.hero-bg-layer{
  position:absolute !important;
  inset:0;
  background:
    linear-gradient(
      105deg,
      rgba(10,10,10,0.96) 0%,
      rgba(10,10,10,0.85) 40%,
      rgba(26,92,56,0.6) 100%
    );
  z-index:1;
  pointer-events:none;
}
.hero-pattern-layer{
  position:absolute !important;
  inset:0;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 80px,
      rgba(255,255,255,0.015) 80px,
      rgba(255,255,255,0.015) 81px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 80px,
      rgba(255,255,255,0.015) 80px,
      rgba(255,255,255,0.015) 81px
    );
  z-index:0;
  pointer-events:none;
}
.hero-accent-layer{
  position:absolute !important;
  right:-100px;
  top:50%;
  transform:translateY(-50%);
  width:700px;
  height:700px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(46,158,95,0.18) 0%, transparent 70%);
  z-index:1;
  pointer-events:none;
}
.hero-line-layer{
  position:absolute !important;
  left:0;
  bottom:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, var(--verde) 0%, var(--verde-brillante) 50%, var(--verde) 100%);
  z-index:2;
  pointer-events:none;
}
.hero-content-layer{
  position:relative;
  z-index:2;
  max-width:1100px;
  margin:0 auto;
  width:100%;
  padding:120px 48px 80px;
  box-sizing:border-box;
}

/* ── Ticker wrap padding ── */
.ticker-wrap{
  padding:14px 0;
}

/* ── Eyebrow (punto animado) ── */
.hero-eyebrow-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--verde-brillante);
  animation:fp-pulse 2s infinite;
}
@keyframes fp-pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:0.5;transform:scale(1.3);}
}

/* ── Botones Hero (hover) ── */
.btn-hero-primary{
  transition:background 0.2s, transform 0.2s !important;
}
.btn-hero-primary:hover{
  background:var(--verde-brillante) !important;
  transform:translateY(-2px);
}
.btn-hero-secondary{
  transition:border-color 0.2s, color 0.2s, transform 0.2s !important;
}
.btn-hero-secondary:hover{
  border-color:var(--verde-brillante) !important;
  color:var(--verde-brillante) !important;
  transform:translateY(-2px);
}

/* ── Divider ── */
.hero-divider-bar{
  width:60px;
  height:3px;
  background:var(--verde);
}

/* ── TICKER ── */
.ticker-wrap{
  background:var(--verde);
  overflow:hidden;
  white-space:nowrap;
}
.ticker-track{
  display:block !important;
  overflow:hidden !important;
  width:100% !important;
}
.ticker-track .elementor-widget-text-editor{
  display:inline-block;
  white-space:nowrap;
}
.ticker-track .elementor-widget-text-editor p{
  font-size:13px;
  font-weight:700;
  color:var(--blanco);
  text-transform:uppercase;
  letter-spacing:2px;
  padding:0 40px;
  margin:0;
  white-space:nowrap;
}
.ticker-track .elementor-widget-text-editor p::before{
  content:"\25C6";
  margin-right:40px;
  opacity:0.6;
}
@keyframes fp-ticker{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ── Contenedor genérico (equivalente a .container) ── */
.fp-container{
  max-width:1100px;
  margin:0 auto;
  width:100%;
  box-sizing:border-box;
}

/* ── Tag / eyebrow de sección ── */
.tag{
  position:relative;
  padding-left:20px;
  display:inline-block;
}
.tag::before{
  content:"";
  position:absolute;
  left:0;top:50%;
  transform:translateY(-50%);
  width:10px;
  height:2px;
  background:var(--verde);
}
.tag-alt::before{
  background:var(--verde-brillante);
}

/* ── FASE 2: El Problema ── */
.prob-grid{
  display:flex;
  flex-wrap:wrap;
  gap:2px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.06);
}
.prob-card{
  flex:1 1 calc(33.333% - 2px);
  box-sizing:border-box;
  background:var(--negro);
  padding:40px 32px;
  transition:background 0.3s;
  position:relative;
  overflow:hidden;
}
.prob-card::after{
  content:"";
  position:absolute;
  bottom:0;left:0;right:0;
  height:2px;
  background:var(--verde);
  transform:scaleX(0);
  transition:transform 0.3s;
  transform-origin:left;
}
.prob-card:hover{background:#111111;}
.prob-card:hover::after{transform:scaleX(1);}
.prob-icon-text{
  font-size:32px;
  margin-bottom:20px;
  display:block;
}
.prob-quote{
  margin-top:48px;
  padding:40px 48px;
  border-left:4px solid var(--verde);
  background:rgba(46,158,95,0.06);
  box-sizing:border-box;
}
@media(max-width:960px){
  .prob-card{flex:1 1 calc(50% - 2px);}
}
@media(max-width:560px){
  .prob-card{flex:1 1 100%;}
}

/* ── FASE 2: Quiénes Somos ── */
.quienes-layout{
  display:flex;
  flex-wrap:wrap;
  gap:80px;
  align-items:center;
}
.quienes-visual{
  position:relative;
  flex:1 1 380px;
}
.quienes-block-main{
  background:var(--negro);
  padding:56px 48px;
  border-radius:2px;
  position:relative;
  z-index:1;
  box-sizing:border-box;
}
.quienes-block-accent{
  position:absolute;
  bottom:-20px;
  right:-20px;
  width:120px;
  height:120px;
  background:var(--verde);
  z-index:0;
  border-radius:2px;
}
.quienes-items{
  flex:1 1 380px;
  display:flex;
  flex-direction:column;
  gap:32px;
}
.quienes-item{
  display:flex;
  gap:20px;
  align-items:flex-start;
}
.quienes-item-icon{
  width:48px;
  height:48px;
  min-width:48px;
  background:var(--gris);
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  transition:background 0.2s;
}
.quienes-item:hover .quienes-item-icon{background:var(--verde-brillante);}
@media(max-width:960px){
  .quienes-layout{flex-direction:column;}
}

/* ── FASE 3: Ejes Estratégicos ── */
.ejes-grid{display:flex;flex-wrap:wrap;gap:12px;}
.eje-card{
  flex:1 1 calc(20% - 12px);
  box-sizing:border-box;
  background:var(--blanco);
  padding:32px 20px;
  text-align:center;
  transition:background 0.25s,transform 0.25s;
  border-bottom:3px solid transparent;
  position:relative;
}
.eje-card:hover{background:var(--negro);transform:translateY(-6px);border-bottom-color:var(--verde);}
.eje-card:hover .eje-num{background:var(--verde);color:var(--blanco);}
.eje-card:hover .eje-icon-text{filter:grayscale(0);}
.eje-card:hover .eje-title-text{color:var(--blanco) !important;}
.eje-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:var(--gris);
  font-size:12px;font-weight:800;color:var(--negro);margin-bottom:14px;
  transition:background 0.25s,color 0.25s;
}
.eje-icon-text{font-size:30px;display:block;margin-bottom:14px;filter:grayscale(0.3);transition:filter 0.25s;}
@media(max-width:960px){.eje-card{flex:1 1 calc(50% - 12px);}}
@media(max-width:560px){.eje-card{flex:1 1 100%;}}

/* ── FASE 3: Proyecto Insignia ── */
.insignia-section{position:relative !important;overflow:hidden !important;}
.insignia-section::before{
  content:"100";
  position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  font-family:'Bebas Neue',sans-serif;font-size:400px;color:rgba(255,255,255,0.04);
  line-height:1;pointer-events:none;letter-spacing:-10px;
  z-index:0;
}
.insignia-section > .e-con-inner{position:relative;z-index:1;}
.caps-grid{display:flex;flex-wrap:wrap;gap:2px;background:rgba(255,255,255,0.04);position:relative;z-index:1;}
.cap-card{
  flex:1 1 calc(20% - 2px);box-sizing:border-box;
  background:rgba(255,255,255,0.03);padding:28px 20px;text-align:center;
  transition:background 0.2s;border-top:2px solid transparent;
}
.cap-card:hover{background:rgba(46,158,95,0.12);border-top-color:var(--verde-brillante);}
@media(max-width:960px){.cap-card{flex:1 1 calc(50% - 2px);}}
@media(max-width:560px){.cap-card{flex:1 1 100%;}}
.insignia-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  padding-top:40px;border-top:1px solid rgba(255,255,255,0.08);flex-wrap:wrap;
  position:relative;z-index:1;
}

/* ── FASE 3: Impacto ── */
.impacto-grid{display:flex;flex-wrap:wrap;gap:2px;background:rgba(255,255,255,0.06);}
.impacto-card{flex:1 1 calc(25% - 2px);box-sizing:border-box;background:var(--verde-oscuro);padding:40px 28px;text-align:center;transition:background 0.2s;}
.impacto-card:hover{background:#236b45;}
@media(max-width:960px){.impacto-card{flex:1 1 calc(50% - 2px);}}
@media(max-width:560px){.impacto-card{flex:1 1 100%;}}

/* ── FASE 3: Eventos ── */
.eventos-grid{display:flex;flex-wrap:wrap;gap:16px;}
.evento-card{
  flex:1 1 calc(25% - 16px);box-sizing:border-box;
  border:1px solid #e8e8e8;padding:32px 24px;
  transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s;
  position:relative;overflow:hidden;
}
.evento-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--verde);
  transform:scaleX(0);transition:transform 0.3s;transform-origin:left;
}
.evento-card:hover{border-color:transparent;transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,0.08);}
.evento-card:hover::before{transform:scaleX(1);}
@media(max-width:960px){.evento-card{flex:1 1 calc(50% - 16px);}}
@media(max-width:560px){.evento-card{flex:1 1 100%;}}

/* ── FASE 3: Publico ── */
.publico-grid{display:flex;flex-wrap:wrap;gap:12px;}
.pub-card{flex:1 1 calc(20% - 12px);box-sizing:border-box;background:var(--blanco);padding:28px 16px;text-align:center;transition:background 0.2s,transform 0.2s;}
.pub-card:hover{background:var(--negro);transform:translateY(-4px);}
.pub-card:hover .pub-label-text{color:var(--blanco) !important;}
.pub-card:hover .pub-icon-wrap{background:var(--verde);}
.pub-icon-wrap{
  width:52px;height:52px;background:var(--gris);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
  font-size:24px;transition:background 0.2s;
}
@media(max-width:960px){.pub-card{flex:1 1 calc(50% - 12px);}}
@media(max-width:560px){.pub-card{flex:1 1 100%;}}

/* ── FASE 3: Principios ── */
.principios-grid{display:flex;flex-wrap:wrap;gap:16px;}
.prin-card{flex:1 1 calc(25% - 16px);box-sizing:border-box;padding:32px 24px;background:var(--gris);transition:background 0.2s,transform 0.2s;}
.prin-card:hover{background:var(--negro);transform:translateY(-4px);}
.prin-card:hover .prin-num-text{color:var(--verde-brillante) !important;}
.prin-card:hover .prin-title-text{color:var(--blanco) !important;}
.prin-card:hover .prin-desc-text{color:rgba(255,255,255,0.55) !important;}
@media(max-width:960px){.prin-card{flex:1 1 calc(50% - 16px);}}
@media(max-width:560px){.prin-card{flex:1 1 100%;}}

/* ── FASE 4: CTA Final ── */
.cta-final-section{position:relative;overflow:hidden;}
.cta-final-section::before{
  content:"";position:absolute;top:-200px;left:-200px;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(46,158,95,0.15) 0%, transparent 70%);
  pointer-events:none;
}
.cta-layout{display:flex;flex-wrap:wrap;gap:80px;align-items:center;position:relative;z-index:1;}
.cta-left{flex:1 1 420px;}
.cta-right-box{
  flex:1 1 420px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  padding:48px 40px;
  box-sizing:border-box;
}
.cta-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(46,158,95,0.15);border:1px solid rgba(46,158,95,0.3);
  color:var(--verde-brillante);padding:10px 20px;border-radius:50px;
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
}
@media(max-width:960px){.cta-layout{flex-direction:column;}}

/* ── FASE 4: Footer ── */
.fp-footer{
  background:#050505;padding:48px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
  border-top:1px solid rgba(255,255,255,0.05);box-sizing:border-box;
}
@media(max-width:960px){.fp-footer{flex-direction:column;text-align:center;}}

/* ── FIX: contenedores anidados en un Container flex heredan width:100% de Elementor por defecto ── */
.hero-stats > .e-con-inner{display:flex !important;flex-wrap:wrap;}
.hero-stat-item{
  width:auto !important;
  flex:0 1 auto !important;
  min-width:120px;
}

/* ── FIX: contenedores anidados en un Container flex heredan width:100% de Elementor por defecto ── */
.hero-stats > .e-con-inner{display:flex !important;flex-wrap:wrap;}
.hero-stat-item{
  width:auto !important;
  flex:0 1 auto !important;
  min-width:120px;
}
.quienes-item-text{
  width:auto !important;
  flex:1 1 auto !important;
  min-width:0;
}
.footer-brand{
  width:auto !important;
  flex:0 1 auto !important;
}

/* ── FIX UNIVERSAL: Elementor solo aplica flex real en el div.e-con-inner
   (un nivel interno que el propio Elementor genera), no en el elemento
   que lleva nuestra clase. Todas las grillas/filas que dependian solo
   de CSS externo (sin flex_direction nativo en Elementor) necesitan
   apuntar a " > .e-con-inner" en vez de a si mismas. ── */
.prob-grid > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:2px;}
.ejes-grid > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:12px;}
.caps-grid > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:2px;}
.impacto-grid > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:2px;}
.eventos-grid > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:16px;}
.publico-grid > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:12px;}
.principios-grid > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:16px;}
.quienes-layout > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:80px;align-items:center;}
.quienes-item > .e-con-inner{display:flex !important;gap:20px;align-items:flex-start;}
.cta-layout > .e-con-inner{display:flex !important;flex-wrap:wrap !important;gap:80px;align-items:center;}
.ticker-track > .e-con-inner{display:flex !important;flex-wrap:nowrap !important;}

/* ── FIX DEFINITIVO: Elementor genera, POR CADA TARJETA, una regla propia
   (3 clases de especificidad) que fija width:100%. Esa regla le gana a
   nuestras clases genericas (1 clase) aunque las nuestras carguen despues.
   Forzamos con !important para que nuestro ancho de tarjeta siempre gane. ── */
.prob-card{flex:1 1 calc(33.333% - 2px) !important;width:auto !important;}
.eje-card{flex:1 1 calc(20% - 12px) !important;width:auto !important;}
.cap-card{flex:1 1 calc(20% - 2px) !important;width:auto !important;}
.impacto-card{flex:1 1 calc(25% - 2px) !important;width:auto !important;}
.evento-card{flex:1 1 calc(25% - 16px) !important;width:auto !important;}
.pub-card{flex:1 1 calc(20% - 12px) !important;width:auto !important;}
.prin-card{flex:1 1 calc(25% - 16px) !important;width:auto !important;}
.quienes-visual{flex:1 1 380px !important;width:auto !important;}
.quienes-items{flex:1 1 380px !important;width:auto !important;}
.cta-left{flex:1 1 420px !important;width:auto !important;}
.cta-right-box{flex:1 1 420px !important;width:auto !important;}
@media(max-width:960px){
  .prob-card{flex-basis:calc(50% - 2px) !important;}
  .eje-card{flex-basis:calc(50% - 12px) !important;}
  .cap-card{flex-basis:calc(50% - 2px) !important;}
  .impacto-card{flex-basis:calc(50% - 2px) !important;}
  .evento-card{flex-basis:calc(50% - 16px) !important;}
  .pub-card{flex-basis:calc(50% - 12px) !important;}
  .prin-card{flex-basis:calc(50% - 16px) !important;}
}
@media(max-width:560px){
  .prob-card,.eje-card,.cap-card,.impacto-card,.evento-card,.pub-card,.prin-card{flex-basis:100% !important;}
}

/* ── FASE 5: Ajuste tipografico fino — El Problema (calcado del HTML original) ── */
#problema .big-title-line,
#problema .big-title-row{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
#problema .big-title-row{
  margin-bottom:20px !important;
}
#problema .big-title-line .elementor-heading-title,
#problema .big-title-row .elementor-heading-title{
  line-height:1 !important;
}
.lead-text{
  max-width:600px !important;
  margin-bottom:20px !important;
}
.lead-text p{
  line-height:1.8 !important;
  margin:0 !important;
}
.prob-card .elementor-heading-title{
  line-height:1.3 !important;
  margin-bottom:12px !important;
}
.prob-card .elementor-widget-text-editor p{
  line-height:1.7 !important;
  margin:0 !important;
}
.prob-quote .elementor-heading-title{
  line-height:1.3 !important;
}

/* ── FASE 5: Ajuste tipografico fino — Hero (calcado del HTML original) ── */
.hero-h1-line{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.hero-h1-line .elementor-heading-title{
  line-height:0.95 !important;
  letter-spacing:2px !important;
}
.hero-sub{
  margin-top:8px !important;
  margin-bottom:32px !important;
}
.hero-sub .elementor-heading-title{
  line-height:1 !important;
}
.hero-lead-text{
  max-width:560px !important;
  margin-bottom:0 !important;
}
.hero-lead-text p{
  line-height:1.8 !important;
  margin:0 !important;
  font-weight:400 !important;
}

/* ── FIX: el punto del eyebrow se estiraba por flex-grow:1 por defecto ── */
.hero-eyebrow-dot{
  flex:0 0 auto !important;
  width:8px !important;
  height:8px !important;
}

/* ── FIX: ticker reconstruido con 2 frases de texto continuo en vez de 18 widgets ── */
/* ── FIX v2: ticker como UN SOLO bloque de texto (frase duplicada dentro del mismo <p>) ── */
.ticker-track > .e-con-inner{
  display:block !important;
  width:max-content !important;
}
.ticker-single-phrase{
  display:inline-block !important;
  width:max-content !important;
  animation:fp-ticker 18s linear infinite;
}
.ticker-single-phrase .elementor-widget-container,
.ticker-single-phrase p{
  white-space:nowrap !important;
  margin:0 !important;
  width:max-content !important;
}
@keyframes fp-ticker{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ── FASE 6: iconos premium (Font Awesome) + titulos mas grandes ── */
.premium-icon{margin-bottom:20px !important;}
.premium-icon .elementor-icon{transition:transform 0.25s;}
.prob-card:hover .premium-icon .elementor-icon,
.eje-card:hover .premium-icon .elementor-icon,
.cap-card:hover .premium-icon .elementor-icon,
.evento-card:hover .premium-icon .elementor-icon{transform:scale(1.08);}

.prob-card .elementor-heading-title{font-size:19px !important;}
.quienes-item-text .elementor-heading-title{font-size:17px !important;}
.eje-card .elementor-heading-title{font-size:14px !important;}
.evento-card .elementor-heading-title{font-size:16px !important;}
.pub-card .elementor-widget-text-editor p{font-size:13px !important;}

.eje-card .premium-icon .elementor-icon,
.cap-card .premium-icon .elementor-icon{width:44px !important;height:44px !important;}
.eje-card .premium-icon i,
.cap-card .premium-icon i{font-size:16px !important;}
.quienes-item-icon .premium-icon,
.pub-icon-wrap .premium-icon{margin:0 !important;}

/* ── FASE 7: Rediseno premium — Ejes Estrategicos ── */
.ejes-lead-text{
  margin-top:16px !important;
  margin-bottom:44px !important;
}
.ejes-grid{
  gap:18px !important;
}
.eje-card{
  background:#ffffff !important;
  border:1px solid rgba(10,10,10,0.07) !important;
  border-radius:14px !important;
  box-shadow:0 2px 14px rgba(10,10,10,0.05) !important;
  padding:30px 22px 26px !important;
  position:relative;
  overflow:hidden;
  text-align:left !important;
  transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), box-shadow 0.32s ease, border-color 0.32s ease !important;
}
.eje-card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--verde), var(--verde-brillante));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.eje-card:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 20px 44px rgba(45,158,95,0.20) !important;
  border-color:rgba(45,158,95,0.4) !important;
}
.eje-card:hover::before{transform:scaleX(1);}

.eje-num{
  position:absolute !important;
  top:16px; right:16px;
  width:26px !important; height:26px !important;
  min-width:26px;
  border-radius:50% !important;
  border:1px solid rgba(10,10,10,0.12);
  background:#fafafa;
  display:flex !important;
  align-items:center; justify-content:center;
  font-size:10px !important;
  color:#999 !important;
  transition:border-color 0.3s ease, color 0.3s ease;
  z-index:2;
}
.eje-card:hover .eje-num{
  border-color:var(--verde-brillante);
  color:var(--verde);
}

.eje-card .premium-icon{margin-bottom:18px !important;}
.eje-card .premium-icon .elementor-icon{
  box-shadow:0 8px 20px rgba(45,158,95,0.30);
  transition:box-shadow 0.32s ease, transform 0.32s ease;
}
.eje-card:hover .premium-icon .elementor-icon{
  box-shadow:0 10px 26px rgba(45,158,95,0.45);
  transform:scale(1.08);
}

.eje-card .eje-title-text .elementor-heading-title{
  font-size:17px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  letter-spacing:0.2px !important;
  color:#0a0a0a !important;
}

@media(max-width:960px){
  .eje-card{padding:24px 18px 20px !important;}
}

/* ── FASE 8: Rediseno premium replicado a el resto de tarjetas ── */

.prob-card{
  border-radius:14px !important;
  transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), background 0.32s ease, box-shadow 0.32s ease !important;
}
.prob-card:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 20px 44px rgba(45,158,95,0.22) !important;
}
.prob-card .premium-icon .elementor-icon{
  box-shadow:0 8px 20px rgba(45,158,95,0.30);
  transition:box-shadow 0.32s ease, transform 0.32s ease;
}
.prob-card:hover .premium-icon .elementor-icon{
  box-shadow:0 10px 26px rgba(45,158,95,0.45);
  transform:scale(1.08);
}

.cap-card{
  border-radius:12px !important;
  transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), background 0.2s ease, border-color 0.2s ease !important;
}
.cap-card:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 16px 36px rgba(45,158,95,0.18) !important;
}
.cap-card .premium-icon .elementor-icon{
  box-shadow:0 6px 16px rgba(45,158,95,0.28);
  transition:box-shadow 0.32s ease, transform 0.32s ease;
}
.cap-card:hover .premium-icon .elementor-icon{
  box-shadow:0 8px 20px rgba(45,158,95,0.42);
  transform:scale(1.08);
}
.cap-card .elementor-widget-text-editor:last-child p{
  font-size:13px !important;
  font-weight:700 !important;
}

.impacto-card{
  border-radius:12px !important;
  transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), background 0.2s ease !important;
}
.impacto-card:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 16px 36px rgba(0,0,0,0.25) !important;
}

.evento-card{
  border-radius:14px !important;
  transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), box-shadow 0.32s ease, border-color 0.32s ease !important;
}
.evento-card .premium-icon .elementor-icon{
  box-shadow:0 8px 20px rgba(45,158,95,0.28);
  transition:box-shadow 0.32s ease, transform 0.32s ease;
}
.evento-card:hover .premium-icon .elementor-icon{
  box-shadow:0 10px 26px rgba(45,158,95,0.4);
  transform:scale(1.08);
}

.pub-card{
  border-radius:12px !important;
  transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), background 0.2s ease, box-shadow 0.32s ease !important;
}
.pub-card:hover{
  box-shadow:0 16px 36px rgba(10,10,10,0.2) !important;
}
.pub-card .premium-icon .elementor-icon{
  transition:box-shadow 0.32s ease, transform 0.32s ease;
}
.pub-card:hover .premium-icon .elementor-icon{
  box-shadow:0 8px 20px rgba(255,255,255,0.15);
  transform:scale(1.08);
}

.prin-card{
  border-radius:14px !important;
  border:1px solid rgba(10,10,10,0.05);
  transition:transform 0.32s cubic-bezier(0.4,0,0.2,1), background 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease !important;
}
.prin-card:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 20px 44px rgba(0,0,0,0.22) !important;
  border-color:rgba(45,158,95,0.3) !important;
}

.quienes-item{
  padding:10px 12px !important;
  border-radius:10px !important;
  margin-left:-12px;
  transition:background 0.3s ease;
}
.quienes-item:hover{background:rgba(45,158,95,0.06) !important;}

/* ── FASE 9: Menu del Header ── */
.nav-sep{
  width:1px !important;
  height:28px !important;
  min-width:1px;
  background:rgba(255,255,255,0.2);
}
.nav-name-text{
  max-width:180px !important;
}
.nav-name-text p{
  color:rgba(255,255,255,0.85) !important;
  line-height:1.4 !important;
  margin:0 !important;
}
.header-navlink .elementor-button{
  background:transparent !important;
  padding:0 !important;
  min-height:auto !important;
}
.header-navlink .elementor-button:hover{
  color:#3ec878 !important;
  background:transparent !important;
}
@media(max-width:960px){
  .nav-links{display:none !important;}
  .nav-name-text{display:none !important;}
}

/* ── FIX: que la admin bar de WordPress no choque con el header fijo (solo afecta a admins logueados) ── */
body.admin-bar .fp-header-blur{
  top:32px !important;
}
@media screen and (max-width:782px){
  body.admin-bar .fp-header-blur{
    top:46px !important;
  }
}

/* ── FIX: el separador del header se estaba estirando (mismo bug de contenedores anidados) ── */
.nav-sep{
  flex:0 0 1px !important;
  width:1px !important;
  max-width:1px !important;
  height:28px !important;
  min-width:1px;
  background:rgba(255,255,255,0.2);
  align-self:center !important;
}
.nav-brand{align-items:center !important;}
.nav-name-text{
  align-self:center !important;
}

/* ── FASE 10: Ajustes moviles/tablet ── */

/* Hero stats: en desktop van en una sola fila (nowrap), en movil deben envolver */
@media(max-width:768px){
  .hero-stats > .e-con-inner{flex-wrap:wrap !important;}
  .hero-stats{row-gap:24px !important;}
}

/* Quienes Somos: apilar a 1 columna en tablet/movil (el destino real es .e-con-inner) */
@media(max-width:960px){
  .quienes-layout > .e-con-inner{flex-direction:column !important;}
  .quienes-visual,.quienes-items{flex-basis:100% !important;}
}

/* CTA Final: apilar a 1 columna en tablet/movil */
@media(max-width:960px){
  .cta-layout > .e-con-inner{flex-direction:column !important;}
  .cta-left,.cta-right-box{flex-basis:100% !important;}
}

/* Header en movil: reducir altura ya que el nombre se oculta */
@media(max-width:960px){
  .fp-header-blur{min-height:60px !important;}
}

/* ── Responsive (Fase 1) ── */

/* ── Responsive (Fase 1) ── */
@media(max-width:960px){
  .hero-content-layer{padding-left:24px !important;padding-right:24px !important;}
}
