/* FoneCity v1.4.7 — PRELOADER LUXE
   Componente isolado para desktop + mobile.
   Isotipo grande + FoneCity embaixo + zoom de entrada + respiração lenta.
*/
.fc-preloader{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  background:#0f172a;
  opacity:1;
  visibility:visible;
  overflow:hidden;
  transition:opacity .64s cubic-bezier(.22,.61,.36,1),visibility .64s linear;
  -webkit-tap-highlight-color:transparent;
}
html[data-theme="light"] .fc-preloader{
  background:#f2f0ea;
}
body.fc-preloader-lock{
  overflow:hidden!important;
  touch-action:none;
}
.fc-preloader.is-leaving{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.fc-preloader__stage{
  position:relative;
  z-index:1;
  width:min(76vw,380px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  opacity:0;
  transform:scale(.90) translateY(8px);
  transition:
    opacity .92s cubic-bezier(.16,1,.3,1),
    transform 1.08s cubic-bezier(.16,1,.3,1);
  will-change:transform,opacity;
}
.fc-preloader.is-intro .fc-preloader__stage{
  opacity:1;
  transform:scale(1) translateY(0);
}
.fc-preloader__halo{
  position:absolute;
  top:5%;
  left:50%;
  width:78%;
  aspect-ratio:1;
  transform:translateX(-50%);
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(251,191,36,.20) 0%,
      rgba(245,158,11,.10) 34%,
      rgba(245,158,11,.035) 55%,
      transparent 73%);
  filter:blur(18px);
  opacity:.72;
  pointer-events:none;
  animation:fcPreloaderHalo 5.2s cubic-bezier(.45,0,.55,1) infinite;
}
.fc-preloader__symbol{
  position:relative;
  z-index:2;
  display:block;
  width:clamp(168px,18vw,225px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 18px 30px rgba(2,6,23,.28));
  transform-origin:center center;
  animation:fcPreloaderBreathe 4.8s cubic-bezier(.45,0,.55,1) infinite;
  will-change:transform,filter;
}
html[data-theme="light"] .fc-preloader__symbol{
  filter:drop-shadow(0 16px 28px rgba(15,23,42,.12));
}
.fc-preloader__name{
  position:relative;
  z-index:2;
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(38px,4.2vw,58px);
  line-height:.96;
  font-weight:800;
  letter-spacing:-.045em;
  color:#f8fafc;
  text-align:center;
  text-shadow:0 7px 20px rgba(2,6,23,.26);
  animation:fcPreloaderName 4.8s cubic-bezier(.45,0,.55,1) infinite;
}
.fc-preloader__name::after{
  content:".";
  color:#f59e0b;
}
html[data-theme="light"] .fc-preloader__name{
  color:#0f172a;
  text-shadow:0 5px 15px rgba(15,23,42,.08);
}
@keyframes fcPreloaderBreathe{
  0%,100%{
    transform:scale(.985);
    filter:drop-shadow(0 15px 26px rgba(2,6,23,.22));
  }
  50%{
    transform:scale(1.035);
    filter:drop-shadow(0 22px 38px rgba(245,158,11,.18));
  }
}
@keyframes fcPreloaderName{
  0%,100%{
    transform:translateY(1px) scale(.992);
    opacity:.90;
  }
  50%{
    transform:translateY(-1px) scale(1.012);
    opacity:1;
  }
}
@keyframes fcPreloaderHalo{
  0%,100%{
    transform:translateX(-50%) scale(.88);
    opacity:.42;
  }
  50%{
    transform:translateX(-50%) scale(1.10);
    opacity:.82;
  }
}

/* Tablet / mobile: preloader nunca é ocultado. */
@media (max-width:959px){
  .fc-preloader{
    display:grid!important;
  }
  .fc-preloader__stage{
    width:min(82vw,330px);
    gap:19px;
  }
  .fc-preloader__symbol{
    width:clamp(150px,42vw,205px);
  }
  .fc-preloader__name{
    font-size:clamp(36px,10vw,50px);
  }
}
@media (max-width:560px){
  .fc-preloader{
    display:grid!important;
    min-height:100dvh;
  }
  .fc-preloader__stage{
    width:min(88vw,300px);
    gap:18px;
  }
  .fc-preloader__symbol{
    width:clamp(148px,46vw,188px);
  }
  .fc-preloader__name{
    font-size:clamp(36px,11.5vw,46px);
  }
  .fc-preloader__halo{
    width:92%;
    filter:blur(16px);
  }
}
@media (prefers-reduced-motion:reduce){
  .fc-preloader__stage{
    transition:opacity .35s ease;
    transform:none!important;
  }
  .fc-preloader__symbol,
  .fc-preloader__name,
  .fc-preloader__halo{
    animation:none!important;
  }
}
