/* FIXUM V520 · navegación fija, preloader transparente y flat icons */

/*
 * Landing/corporativo: navegación siempre fija.
 * Si existe topbar promocional, queda fija encima y JS escribe la altura real
 * en --fx-fixed-topbar-height para evitar saltos o contenido tapado.
 */
body[data-fx-context="corporate"]{
  --fx-fixed-topbar-height:0px;
  --fx-corp-header-height:82px;
  padding-top:calc(var(--fx-fixed-topbar-height) + var(--fx-corp-header-height))!important;
}
body[data-fx-context="corporate"].has-fixed-topbar{--fx-fixed-topbar-height:38px}
body[data-fx-context="corporate"] .fx-header{
  position:fixed!important;
  top:var(--fx-fixed-topbar-height)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:1080!important;
}
body[data-fx-context="corporate"].has-fixed-topbar .fx-topbar{
  display:block!important;
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:1090!important;
  margin:0!important;
  box-shadow:0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(4,27,44,.10);
}
body[data-fx-context="corporate"] .fx-corp-mobile-panel{
  max-height:calc(100dvh - var(--fx-fixed-topbar-height) - var(--fx-corp-header-height));
  overflow:auto;
  overscroll-behavior:contain;
}
body[data-fx-context="corporate"] :where(section,[id]){scroll-margin-top:calc(var(--fx-fixed-topbar-height) + var(--fx-corp-header-height) + 18px)}

/* Loader: sin placa, círculo ni fondo amarillo/blanco detrás del logo. */
.fx-preloader.fx-preloader-transparent{
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  pointer-events:none!important;
}
.fx-preloader.fx-preloader-transparent::before,
.fx-preloader.fx-preloader-transparent::after{content:none!important;display:none!important}
.fx-preloader.fx-preloader-transparent .mark{
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
.fx-preloader.fx-preloader-transparent .mark img{
  display:block!important;
  width:auto!important;
  max-width:min(230px,68vw)!important;
  max-height:74px!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
  background-image:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/*
 * Flat icons para tarjetas conceptuales. Los iconos funcionales de botones,
 * navegación y estados siguen siendo Font Awesome por claridad operativa.
 */
.v520-flat-icon,.v520-card-flat-icon,.v520-stack-flat-icon,
.v520-proof-flat-icon,.v520-brand-flat-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.v520-flat-icon{
  width:64px!important;
  height:64px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  overflow:visible!important;
}
.v520-flat-icon img{display:block;width:64px!important;height:64px!important;object-fit:contain}
.v512-timeline-icon.v520-flat-icon,.v507-feature-icon.v520-flat-icon{margin-bottom:20px!important}
.v520-stack-flat-icon{
  grid-column:2!important;
  grid-row:1/3!important;
  width:46px!important;
  height:46px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0!important;
}
.v505-academy-hero-stack>div>.v520-stack-flat-icon{align-self:start!important}
.v520-card-flat-icon{
  width:58px!important;
  height:58px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0 0 20px!important;
}
.v505-agent-profile-grid article>.v520-card-flat-icon{position:static!important;font-size:initial!important;color:inherit!important}
.v520-proof-flat-icon{width:52px;height:52px;object-fit:contain;flex:0 0 52px;margin:0!important}
.v506-proof-grid>div>.v520-proof-flat-icon+span{min-width:0}
.v520-brand-flat-icon{width:52px!important;height:52px!important;object-fit:contain!important;flex:0 0 52px!important;margin:0!important}
.v506-brand-links>a>.v520-brand-flat-icon+span{min-width:0}

@media(max-width:991.98px){
  body[data-fx-context="corporate"]{--fx-corp-header-height:68px}
  body[data-fx-context="corporate"].has-fixed-topbar{--fx-fixed-topbar-height:44px}
}
@media(max-width:575.98px){
  body[data-fx-context="corporate"].has-fixed-topbar{--fx-fixed-topbar-height:52px}
  .v520-flat-icon{width:58px!important;height:58px!important}
  .v520-flat-icon img{width:58px!important;height:58px!important}
  .v520-card-flat-icon{width:54px!important;height:54px!important}
  .v520-proof-flat-icon,.v520-brand-flat-icon{width:46px!important;height:46px!important;flex-basis:46px!important}
}
