/* =========================================================
   STP-ON — app.css (organizado e comentado)
   - Mantém o visual atual
   - Remove duplicações e conflitos
   - Seções claras: Base / Navbar / UI / Forms / Components / Responsive
========================================================= */

/* =========================
   1) VARIABLES / THEME
========================= */
:root{
  --bg: #070A12;

  --card: rgba(255,255,255,0.06);
  --stroke: rgba(255,255,255,0.10);

  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.70);

  --gradA: #7c3aed;
  --gradB: #06b6d4;
  --gradC: #22c55e;
}

/* =========================
   2) BASE / GLOBAL
========================= */
*{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

body{
  background:
    radial-gradient(1200px 700px at 20% 10%, rgba(124,58,237,.22), transparent 60%),
    radial-gradient(900px 600px at 80% 20%, rgba(6,182,212,.18), transparent 55%),
    radial-gradient(900px 600px at 70% 90%, rgba(34,197,94,.10), transparent 55%),
    var(--bg);
  color: var(--text);
}

/* textura noise overlay */
.bg-noise::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity: .15;
}

/* =========================
   3) TYPOGRAPHY / HELPERS
========================= */
.fw-800{ font-weight: 800; }

.text-gradient{
  background: linear-gradient(135deg, var(--gradA), var(--gradB));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.text-secondary{
  color: var(--muted) !important;
}

/* =========================
   4) NAVBAR (FIX DEFINITIVO)
========================= */
.nav-glass{
  background: rgba(10, 14, 26, 0.55);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* nunca usar height fixo aqui, para o collapse funcionar bem */
.navbar{
  height: auto !important;
  min-height: 72px;
  padding-top: .25rem;
  padding-bottom: .25rem;
  overflow: visible !important;
}

.navbar > .container{
  align-items: center;
}

/* Logo */
.navbar-logo{
  max-height: 52px;
  width: auto;
  object-fit: contain;
  display:block;
  transition: transform .15s ease;
}
.navbar-logo:hover{ transform: scale(1.05); }

/* Logo maior no mobile */
@media (max-width: 575.98px){
  .navbar-logo{ max-height: 60px; }
}

/* Hamburger branco (Bootstrap 5.3) */
.navbar.navbar-dark{
  --bs-navbar-toggler-border-color: rgba(255,255,255,.30);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.8' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar .navbar-toggler{
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 12px !important;
  padding: .55rem .65rem !important;
  box-shadow: none !important;
  outline: none !important;
}

.navbar .navbar-toggler:focus{
  box-shadow: 0 0 0 .2rem rgba(255,255,255,.14) !important;
}

.navbar .navbar-toggler-icon{
  background-image: var(--bs-navbar-toggler-icon-bg) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 100% 100% !important;
  filter: none !important;
  opacity: 1 !important;
}

/* o collapse tem de ser "normal" (empurra o conteúdo) */
.navbar-collapse{
  position: static !important;
  width: 100%;
}

/* MENU MOBILE: caixa glass quando abrir */
@media (max-width: 991.98px){
  #navMain{ margin-top: 12px; }

  #navMain.collapse.show{
    padding: 14px;
    border-radius: 18px;
    background: rgba(10, 14, 26, 0.92);
    border: 1px solid rgba(255,255,255,0.10);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 60px rgba(0,0,0,.45);
  }

  /* durante a animação do bootstrap */
  #navMain.collapsing{
    margin-top: 12px;
    overflow: hidden;
  }

  .navbar-nav{
    width: 100%;
    gap: .25rem;
  }

  .navbar-nav .nav-link{
    padding: 12px 10px;
    border-radius: 14px;
    font-size: 1.05rem;
    border: 1px solid transparent;
    display: block;
  }

  .navbar-nav .nav-link:hover{
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.10);
  }

  .navbar-nav .btn{
    width: 100%;
    padding: 12px;
    border-radius: 14px;
    font-size: 1.02rem;
    margin-top: 6px;
  }
}

/* =========================
   5) BUTTONS
========================= */
.btn-glow{
  border: 0;
  color: #0b1020;
  background: linear-gradient(135deg, var(--gradB), var(--gradA));
  box-shadow: 0 10px 30px rgba(124,58,237,.25);
  transition: transform .15s ease, filter .15s ease;
}
.btn-glow:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.btn-soft{
  border-color: rgba(255,255,255,0.22) !important;
}

/* =========================
   6) SECTIONS / GLASS / DECOR
========================= */
.section{ position: relative; }
.hero{ position: relative; overflow: hidden; }
.py-lg-6{ padding-top: 5rem; padding-bottom: 5rem; }

.glass{
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: 20px;
  box-shadow: 0 14px 50px rgba(0,0,0,.35);
}

.badge-soft{
  display: inline-flex;
  align-items:center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 8px 12px;
  border-radius: 999px;
}

.glow-orb{
  position:absolute;
  width: 320px;
  height: 320px;
  border-radius: 999px;
  filter: blur(40px);
  opacity: .35;
  pointer-events:none;
}
.orb-1{ left:-120px; top:-80px; background: rgba(124,58,237,.9); }
.orb-2{ right:-140px; bottom:-120px; background: rgba(6,182,212,.8); }

/* =========================
   7) FOOTER / SOCIAL ICONS
========================= */
.footer-glass{
  border-top: 1px solid rgba(255,255,255,0.08);
  background: rgba(10, 14, 26, 0.45);
  backdrop-filter: blur(12px);
}

.icon-link{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: rgba(255,255,255,0.85);
  text-decoration:none;
  transition: transform .15s ease, color .15s ease;
}
.icon-link:hover{
  color:#fff;
  transform: translateY(-1px);
}

/* =========================
   8) WHATSAPP FLOATING
========================= */
.wa-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  text-decoration: none;
  color: rgba(255,255,255,0.96);
  background: rgba(34,197,94,0.14);
  border: 1px solid rgba(34,197,94,0.28);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  transition: transform .15s ease, border-color .15s ease;
}
.wa-float i{ font-size: 1.25rem; }
.wa-float:hover{
  transform: translateY(-2px);
  border-color: rgba(34,197,94,0.45);
}
.wa-text{ font-weight: 700; letter-spacing: .2px; }

/* =========================
   9) LOADER
========================= */
.page-loader{
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  background:
    radial-gradient(900px 500px at 30% 20%, rgba(124,58,237,.22), transparent 60%),
    radial-gradient(800px 450px at 80% 30%, rgba(6,182,212,.18), transparent 55%),
    rgba(7,10,18,.86);
  backdrop-filter: blur(12px);
  transition: opacity .35s ease, visibility .35s ease;
  opacity: 1;
  visibility: visible;
}
.page-loader.is-hidden{ opacity: 0; visibility: hidden; }

.loader-card{
  width: min(460px, 92vw);
  border-radius: 26px;
  padding: 26px 22px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 22px 90px rgba(0,0,0,.50);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.loader-ring{
  width: 78px;
  height: 78px;
  border-radius: 999px;
  margin: 0 auto 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    conic-gradient(from 180deg,
      rgba(6,182,212,.0),
      rgba(6,182,212,.6),
      rgba(124,58,237,.7),
      rgba(34,197,94,.45),
      rgba(6,182,212,.0));
  animation: spin 1.05s linear infinite;
  filter: drop-shadow(0 12px 35px rgba(124,58,237,.25));
  position: relative;
}
.loader-ring::after{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: 999px;
  background: rgba(7,10,18,.75);
  border: 1px solid rgba(255,255,255,0.10);
}
@keyframes spin { to { transform: rotate(360deg); } }

.loader-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  margin-top: 2px;
}
.loader-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gradA), var(--gradB));
  box-shadow: 0 0 28px rgba(6,182,212,.35);
}
.loader-text{
  font-weight: 900;
  letter-spacing: .12em;
  font-size: 1.15rem;
  background: linear-gradient(135deg, var(--gradA), var(--gradB));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.loader-sub{ margin-top: 10px; }

.loader-card::before{
  content:"";
  position:absolute;
  top:-60%;
  left:-60%;
  width: 220%;
  height: 220%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.10), transparent);
  transform: rotate(18deg);
  animation: shimmer 1.6s ease-in-out infinite;
  opacity: .55;
}
@keyframes shimmer{
  0%{ transform: translateX(-30%) rotate(18deg); }
  100%{ transform: translateX(30%) rotate(18deg); }
}

/* =========================
   10) COLLAB TEAM / AVATARS
========================= */
/* avatar base (desktop e mobile) */
.collab-avatar{
  width: 90px;
  height: 90px;
  border-radius: 9999px;
  overflow: hidden;
  flex: 0 0 90px;
  position: relative;
  display: block;
}
.collab-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: 9999px;
  display: block;
}

/* mobile menor */
@media (max-width: 575.98px){
  .collab-avatar{
    width: 75px;
    height: 75px;
    flex: 0 0 75px;
  }
}

/* =========================
   11) CTA BUTTON (collab)
========================= */
.collab-ad__cta{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px 18px;
  border-radius: 16px;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .3px;
  font-size: 15px;
  color: #ffffff;
  overflow: hidden;

  background: linear-gradient(135deg, #06b6d4, #7c3aed);
  border: 1px solid rgba(255,255,255,0.15);
  box-shadow:
    0 10px 30px rgba(124,58,237,.35),
    0 0 0 1px rgba(255,255,255,.05) inset;

  transition: all .25s ease;
}

.collab-ad__cta::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.25) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform .6s ease;
}
.collab-ad__cta:hover::before{ transform: translateX(100%); }

.collab-ad__cta:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(124,58,237,.45), 0 0 25px rgba(6,182,212,.35);
}

.collab-ad__cta i{
  font-size: 16px;
  transition: transform .25s ease;
}
.collab-ad__cta:hover i{ transform: translateX(6px); }

/* =========================
   12) LISTA COM DOT VERDE
========================= */
.collab-ad__list{
  list-style: none;
  padding: 0;
  margin: 0 0 18px 0;
  display: grid;
  gap: 12px;
}

.collab-ad__list li{
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  color: rgba(255,255,255,.90);
}

/* círculo verde (usa no HTML: <span class="list-dot"><i ...></i></span>) */
.list-dot{
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #22c55e;
  box-shadow: 0 6px 16px rgba(34,197,94,.35);
}
.list-dot i{
  font-size: 11px;
  color: #ffffff;
}

/* =========================
   13) FORMS (CONTACTO) ✅
   -> ESTA É A SECÇÃO DO FORMULÁRIO
========================= */
/* Labels (Nome do campo) */
label,
.form-label{
  color:rgba(255,255,255,.92)!important;
  font-weight:700!important;
}

.form-control,
.form-select,
textarea.form-control{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:rgba(255,255,255,.95)!important;
}

.form-control::placeholder{
  color:rgba(255,255,255,.50)!important;
}

.form-control:focus{
  border-color:rgba(6,182,212,.55)!important;
  box-shadow:0 0 0 .25rem rgba(6,182,212,.15)!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
}

/* Ajuda/erros do Bootstrap */
.invalid-feedback{
  color: #fecaca !important;
}
.valid-feedback{
  color: rgba(34,197,94,.95) !important;
}

/* =========================
   14) RESPONSIVE TUNING
========================= */
@media (max-width: 575.98px){
  .display-5{ font-size: 2.15rem; }
}