.elementor-4435 .elementor-element.elementor-element-3cceda9{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4435 .elementor-element.elementor-element-3cceda9:not(.elementor-motion-effects-element-type-background), .elementor-4435 .elementor-element.elementor-element-3cceda9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#5435B600;}.elementor-4435 .elementor-element.elementor-element-3cceda9::before, .elementor-4435 .elementor-element.elementor-element-3cceda9 > .elementor-background-video-container::before, .elementor-4435 .elementor-element.elementor-element-3cceda9 > .e-con-inner > .elementor-background-video-container::before, .elementor-4435 .elementor-element.elementor-element-3cceda9 > .elementor-background-slideshow::before, .elementor-4435 .elementor-element.elementor-element-3cceda9 > .e-con-inner > .elementor-background-slideshow::before, .elementor-4435 .elementor-element.elementor-element-3cceda9 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-4435 .elementor-element.elementor-element-3cceda9.e-con{--flex-grow:0;--flex-shrink:0;}body.elementor-page-4435:not(.elementor-motion-effects-element-type-background), body.elementor-page-4435 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00000000;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-4435 .elementor-element.elementor-element-3cceda9{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-e2a11a4 */@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Cabinet+Grotesk:wght@300;400;500;700;800&display=swap');

/* ══ RESET TOTAL ══ */
#fm-cert *, #fm-cert *::before, #fm-cert *::after {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ══ FIX: ocultar header/footer del tema y resetear wrapper Elementor Canvas ══ */
.page-template-elementor_canvas .site-header,
.page-template-elementor_canvas .site-footer,
.page-template-elementor_canvas header.site-header,
.page-template-elementor_canvas footer.site-footer { display: none !important; }

.page-template-elementor_canvas .wp-block-post-content,
.page-template-elementor_canvas .entry-content {
  margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important;
}

body.page-template-elementor_canvas.elementor-template-canvas,
body.page-template-elementor_canvas .elementor,
body.page-template-elementor_canvas [data-elementor-type="wp-page"],
body.page-template-elementor_canvas .e-con.e-parent {
  min-height: 0 !important;
  height: auto !important;
}

/* ══ VARIABLES ══ */
#fm-cert {
  --bg:     #03060f;
  --g1:     #00c8ff;
  --g2:     #7c3aed;
  --g3:     #00ffa3;
  --glass:  rgba(255,255,255,0.055);
  --border: rgba(255,255,255,0.10);
  --blur:   blur(18px);
  --text:   #e8f0ff;
  --muted:  rgba(232,240,255,0.5);
  --ft:     'Bebas Neue', sans-serif;
  --fb:     'Cabinet Grotesk', sans-serif;
  --r:      18px;
  --ease:   cubic-bezier(.4,0,.2,1);

  font-family: var(--fb) !important;
  background: var(--bg) !important;
  color: var(--text) !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  position: relative !important;
  line-height: 1.5 !important;
}

/* ── Fondo animado ── */
#fm-cert .orb {
  position: fixed !important; border-radius: 50% !important;
  pointer-events: none !important; z-index: 0 !important;
  filter: blur(90px) !important; opacity: .32 !important;
}
#fm-cert .orb-1 { width:600px !important;height:600px !important;top:-15% !important;left:-10% !important;background:var(--g1) !important;animation:fmcOrb1 18s ease-in-out infinite !important; }
#fm-cert .orb-2 { width:500px !important;height:500px !important;bottom:-10% !important;right:-5% !important;background:var(--g2) !important;animation:fmcOrb2 22s ease-in-out infinite !important; }
#fm-cert .orb-3 { width:350px !important;height:350px !important;top:40% !important;left:38% !important;background:var(--g3) !important;opacity:.15 !important;animation:fmcOrb1 26s ease-in-out infinite reverse !important; }

@keyframes fmcOrb1 { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(40px,-30px) scale(1.06)} 66%{transform:translate(-20px,35px) scale(.94)} }
@keyframes fmcOrb2 { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(-35px,25px) scale(1.04)} 66%{transform:translate(30px,-40px) scale(.96)} }

#fm-cert .grid-lines {
  position: fixed !important; inset: 0 !important; z-index: 0 !important; pointer-events: none !important;
  background-image: linear-gradient(rgba(0,200,255,.03) 1px,transparent 1px), linear-gradient(90deg,rgba(0,200,255,.03) 1px,transparent 1px) !important;
  background-size: 60px 60px !important;
}

/* ── LANG SWITCHER ── */
#fm-lang-switcher {
  position: fixed !important;
  top: 1.25rem !important;
  right: 1.75rem !important;
  z-index: 9000 !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(3,6,15,.75) !important;
  border: 1px solid rgba(0,200,255,.2) !important;
  border-radius: 100px !important;
  backdrop-filter: blur(18px) !important;
  overflow: hidden !important;
  padding: .2rem !important;
  gap: .1rem !important;
}
#fm-lang-switcher button {
  font-family: 'Cabinet Grotesk', sans-serif !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: .35rem .9rem !important;
  border-radius: 100px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .2s, color .2s !important;
  background: transparent !important;
  color: rgba(232,240,255,.5) !important;
  line-height: 1.4 !important;
}
#fm-lang-switcher button.active {
  background: rgba(0,200,255,.15) !important;
  color: #00c8ff !important;
  border: 1px solid rgba(0,200,255,.3) !important;
}
#fm-lang-switcher button:hover:not(.active) {
  color: rgba(232,240,255,.85) !important;
}

/* ── Wrap ── */
#fm-cert .fmc-wrap {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ── Glass card ── */
#fm-cert .gc {
  background: var(--glass) !important;
  backdrop-filter: var(--blur) !important;
  -webkit-backdrop-filter: var(--blur) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,.3) !important;
  transition: transform .3s var(--ease), box-shadow .3s, border-color .3s !important;
  position: relative !important;
  overflow: hidden !important;
}
#fm-cert .gc::before {
  content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 1px !important;
  background: linear-gradient(90deg,transparent,rgba(0,200,255,.3),transparent) !important;
  pointer-events: none !important;
}
#fm-cert .gc:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(0,200,255,.18) !important;
  border-color: rgba(0,200,255,.28) !important;
}

/* ── Tags ── */
#fm-cert .fmc-tag-pill {
  font-size: .62rem !important; font-weight: 700 !important; letter-spacing: .08em !important;
  text-transform: uppercase !important; padding: .25rem .75rem !important; border-radius: 100px !important;
  display: inline-block !important; line-height: 1.4 !important;
}
#fm-cert .t1 { background: rgba(0,200,255,.07) !important; border: 1px solid rgba(0,200,255,.15) !important; color: var(--g1) !important; }
#fm-cert .t2 { background: rgba(124,58,237,.1) !important; border: 1px solid rgba(124,58,237,.2) !important; color: #a78bfa !important; }
#fm-cert .t3 { background: rgba(0,255,163,.07) !important; border: 1px solid rgba(0,255,163,.15) !important; color: var(--g3) !important; }

/* ── Fade in ── */
#fm-cert .fi { opacity: 0 !important; transform: translateY(22px) !important; transition: opacity .7s var(--ease), transform .7s var(--ease) !important; }
#fm-cert .fi.vis { opacity: 1 !important; transform: none !important; }

/* ══ HEADER ══ */
#fm-cert #fm-cert-header { padding: 6rem 0 4rem !important; }
#fm-cert #fm-cert-header .fmc-inner {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 4rem !important;
  align-items: center !important;
}

#fm-cert .cert-intro .fmc-stag {
  font-size: .7rem !important; font-weight: 700 !important; letter-spacing: .2em !important;
  text-transform: uppercase !important; color: var(--g1) !important;
  margin-bottom: .75rem !important; display: block !important;
}
#fm-cert .cert-intro h1 {
  font-family: var(--ft) !important;
  font-size: clamp(2.8rem, 5vw, 4.5rem) !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  margin-bottom: 1.25rem !important;
  color: var(--text) !important;
}
#fm-cert .cert-intro h1 .acc {
  display: block !important;
  background: linear-gradient(135deg, var(--g1) 0%, var(--g2) 60%, var(--g3) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
#fm-cert .cert-intro .bio-text {
  font-size: .95rem !important;
  line-height: 1.75 !important;
  color: var(--muted) !important;
  margin-bottom: 2rem !important;
  max-width: 460px !important;
}
#fm-cert .cert-intro .bio-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
}
#fm-cert .cert-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  background: var(--glass) !important;
  border: 1px solid var(--border) !important;
  border-radius: 100px !important;
  padding: .3rem .9rem !important;
  backdrop-filter: var(--blur) !important;
  line-height: 1.4 !important;
}
#fm-cert .cert-badge.hi {
  color: var(--g1) !important;
  background: rgba(0,200,255,.06) !important;
  border-color: rgba(0,200,255,.2) !important;
}

#fm-cert .cert-id-card { padding: 2.5rem !important; }
#fm-cert .cert-id-card .id-avatar {
  width: 72px !important; height: 72px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(0,200,255,.2), rgba(124,58,237,.3)) !important;
  border: 1px solid rgba(0,200,255,.25) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-family: var(--ft) !important;
  font-size: 1.8rem !important;
  color: var(--g1) !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 0 30px rgba(0,200,255,.15) !important;
  overflow: hidden !important;
}
#fm-cert .cert-id-card .id-name {
  font-family: var(--ft) !important;
  font-size: 1.8rem !important;
  letter-spacing: .04em !important;
  color: var(--text) !important;
  margin-bottom: .25rem !important;
  line-height: 1.1 !important;
}
#fm-cert .cert-id-card .id-role {
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--g1) !important;
  margin-bottom: 1.5rem !important;
  line-height: 1.5 !important;
}
#fm-cert .cert-id-card .id-stats {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid var(--border) !important;
}
#fm-cert .cert-id-card .id-stat-n {
  font-family: var(--ft) !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, var(--g1), var(--g2)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
#fm-cert .cert-id-card .id-stat-l {
  font-size: .62rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin-top: .25rem !important;
}

/* ══ SECCIÓN CERTS ══ */
#fm-cert #fm-cert-section { padding: 2rem 0 8rem !important; }
#fm-cert .cert-section-header { margin-bottom: 3rem !important; }
#fm-cert .cert-section-header .fmc-stag {
  font-size: .7rem !important; font-weight: 700 !important; letter-spacing: .2em !important;
  text-transform: uppercase !important; color: var(--g1) !important;
  margin-bottom: .75rem !important; display: block !important;
}
#fm-cert .cert-section-header h2 {
  font-family: var(--ft) !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: .02em !important;
  margin-bottom: 1rem !important;
  color: var(--text) !important;
}
#fm-cert .cert-section-header h2 .grad {
  background: linear-gradient(135deg,var(--g2),var(--g1)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
#fm-cert .cert-section-header p {
  font-size: .92rem !important; line-height: 1.7 !important;
  color: var(--muted) !important; max-width: 580px !important;
}

#fm-cert .cert-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.75rem !important;
}
#fm-cert .cert-card { display: flex !important; flex-direction: column !important; overflow: hidden !important; padding-top: 0 !important; }
#fm-cert .cert-card-img {
  width: calc(100% - 2rem) !important; height: 220px !important;
  margin: 1rem 1rem 0 1rem !important; position: relative !important;
  overflow: hidden !important; border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  cursor: pointer !important; background: #fff !important; flex-shrink: 0 !important;
}
#fm-cert .cert-card-img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: top !important;
  opacity: 1 !important; transition: opacity .3s, transform .4s var(--ease) !important;
  display: block !important; margin: 0 !important;
}
#fm-cert .cert-card:hover .cert-card-img img { opacity: 1 !important; transform: scale(1.04) !important; }
#fm-cert .cert-img-overlay {
  position: absolute !important; inset: 0 !important;
  background: rgba(0,0,0,.55) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  opacity: 0 !important; transition: opacity .25s !important;
}
#fm-cert .cert-card-img:hover .cert-img-overlay { opacity: 1 !important; }
#fm-cert .cert-img-overlay span {
  font-size: .7rem !important; font-weight: 700 !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; color: rgba(255,255,255,.9) !important;
  background: rgba(0,200,255,.12) !important; border: 1px solid rgba(0,200,255,.3) !important;
  padding: .5rem 1.25rem !important; border-radius: 100px !important; backdrop-filter: blur(8px) !important;
}
#fm-cert .cert-card-body {
  padding: 1.75rem 2rem 2rem 2rem !important;
  display: flex !important; flex-direction: column !important; flex: 1 !important;
}
#fm-cert .cert-card-code {
  font-size: .62rem !important; font-weight: 700 !important; letter-spacing: .18em !important;
  text-transform: uppercase !important; color: var(--g1) !important; margin-bottom: .5rem !important;
}
#fm-cert .cert-card-name {
  font-family: var(--ft) !important;
  font-size: 1.15rem !important; letter-spacing: .03em !important;
  color: var(--text) !important; line-height: 1.2 !important; margin-bottom: .75rem !important;
}
#fm-cert .cert-card-desc {
  font-size: .84rem !important; line-height: 1.65 !important;
  color: var(--muted) !important; flex: 1 !important; margin-bottom: 1.25rem !important;
}
#fm-cert .cert-card-footer {
  display: flex !important; align-items: flex-end !important;
  justify-content: space-between !important; gap: 1rem !important;
  padding-top: 1.25rem !important; border-top: 1px solid var(--border) !important;
}
#fm-cert .cert-issuer { font-size: .72rem !important; color: var(--muted) !important; line-height: 1.5 !important; }
#fm-cert .cert-issuer strong {
  display: block !important; color: rgba(220,220,240,.8) !important;
  font-weight: 500 !important; font-size: .75rem !important; margin-bottom: .1rem !important;
}

/* ══ DIGITAL ══ */
#fm-cert #fm-cert-digital { padding: 0 0 5rem !important; }
#fm-cert .cert-digital-card {
  padding: 3rem !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 2.5rem !important;
  align-items: start !important;
}
#fm-cert .cert-digital-icon {
  font-size: 2.5rem !important; width: 70px !important; height: 70px !important;
  background: rgba(0,200,255,.07) !important; border: 1px solid rgba(0,200,255,.15) !important;
  border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
}
#fm-cert .cert-digital-card h3 {
  font-family: var(--ft) !important;
  font-size: 1.5rem !important; letter-spacing: .04em !important;
  color: var(--text) !important; margin-bottom: .75rem !important;
}
#fm-cert .cert-digital-card p {
  font-size: .9rem !important; line-height: 1.75 !important; color: var(--muted) !important;
}

/* ══ FOOTER ══ */
#fm-cert #fm-cert-footer {
  border-top: 1px solid var(--border) !important;
  padding: 2.5rem 2rem !important;
  position: relative !important; z-index: 2 !important;
  background: rgba(3,6,15,.8) !important;
  backdrop-filter: var(--blur) !important;
}
#fm-cert #fm-cert-footer .fmc-ft-inner {
  max-width: 1100px !important; margin: 0 auto !important;
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; flex-wrap: wrap !important; gap: 1rem !important;
}
#fm-cert .cert-ft-logo {
  font-family: var(--ft) !important; font-size: 1.2rem !important;
  background: linear-gradient(135deg,var(--g1),var(--g2)) !important;
  -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important;
}
#fm-cert .cert-ft-copy { font-size: .78rem !important; color: var(--muted) !important; }

/* ══ LIGHTBOX ══ */
#cert-lightbox {
  display: none;
  position: fixed !important; inset: 0 !important; z-index: 999999 !important;
  background: rgba(3,6,15,.93) !important; backdrop-filter: blur(16px) !important;
  align-items: center !important; justify-content: center !important; padding: 2rem !important;
}
#cert-lightbox.open { display: flex !important; }
#cert-lightbox img {
  max-width: min(90vw, 800px) !important; max-height: 88vh !important;
  border-radius: 12px !important; border: 1px solid var(--border) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.8) !important; margin: auto !important;
}
#cert-lightbox-close {
  position: fixed !important; top: 1.5rem !important; right: 1.75rem !important;
  width: 40px !important; height: 40px !important;
  background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 50% !important; color: #e8f0ff !important;
  font-size: 1rem !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: border-color .2s, background .2s !important; font-family: sans-serif !important;
}
#cert-lightbox-close:hover {
  border-color: rgba(0,200,255,.4) !important; background: rgba(0,200,255,.08) !important; color: #00c8ff !important;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 900px) {
  #fm-cert #fm-cert-header .fmc-inner { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  #fm-cert .cert-grid { grid-template-columns: 1fr 1fr !important; }
  #fm-cert .cert-digital-card { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
}
@media (max-width: 600px) {
  #fm-cert .cert-grid { grid-template-columns: 1fr !important; }
  #fm-cert #fm-cert-footer .fmc-ft-inner { flex-direction: column !important; align-items: flex-start !important; }
  #fm-lang-switcher { top: .85rem !important; right: .85rem !important; }
}/* End custom CSS */