@import './tokens/fonts.css';
@import './tokens/colors.css';
@import './tokens/typography.css';
@import './tokens/spacing.css';
@import './tokens/effects.css';
@import './tokens/base.css';

html { scroll-behavior: smooth; }
body { margin: 0; background: #341C0A; }

@keyframes fadeDown {
  from { opacity:0; transform:translateY(-8px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes goldPulse {
  0%, 100% { box-shadow: 0 2px 8px rgba(214,169,86,0.12); }
  50%       { box-shadow: 0 2px 28px rgba(214,169,86,0.60), 0 0 10px rgba(214,169,86,0.28); }
}
@keyframes wa-pulse {
  0%   { box-shadow: 0 4px 24px rgba(37,211,102,0.50), 0 0 0 0 rgba(37,211,102,0.55); }
  70%  { box-shadow: 0 4px 24px rgba(37,211,102,0.50), 0 0 0 16px rgba(37,211,102,0); }
  100% { box-shadow: 0 4px 24px rgba(37,211,102,0.50), 0 0 0 0 rgba(37,211,102,0); }
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes kenburns { from { transform: scale(1); } to { transform: scale(1.075); } }
.hero-photo { animation: kenburns 22s ease-in-out infinite alternate; }
.hero-copy > * { transition: transform 780ms cubic-bezier(0.22,0.61,0.36,1); }
@media (max-width: 860px) {
  .hero-inner--row { flex-direction: column; align-items: flex-start !important; gap: 24px !important; }
  /* The partner-logos card is too much for a small screen alongside the
     headline — hide it on mobile/tablet and keep it for larger screens. */
  .hero-card { display: none !important; }
  #home-hero { min-height: 560px !important; }
  .hero-inner { align-items: flex-start !important; padding-top: 108px !important; padding-bottom: 40px !important; }
}

/* ── CTA premium: brilho + glow no hover ── */
@keyframes ctaSheen { from { left:-130%; } to { left:150%; } }
.hero-cta { position:relative; overflow:hidden; transition:background 200ms ease, box-shadow 320ms ease, transform 220ms ease; }
.hero-cta::before {
  content:''; position:absolute; top:0; left:-130%; width:60%; height:100%;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
  transform:skewX(-22deg); pointer-events:none;
}
.hero-cta:hover { background:#E8C882 !important; box-shadow: 0 0 0 1px rgba(232,200,130,0.65), 0 8px 34px rgba(214,169,86,0.70), 0 0 70px rgba(214,169,86,0.38) !important; transform: translateY(-1px); }
.hero-cta:hover::before { animation: ctaSheen 900ms ease; }
@media (prefers-reduced-motion: reduce){
  .hero-photo { animation: none !important; }
  .hero-cta:hover::before { animation: none !important; }
}

.nav-link {
  font-family:'Cinzel',serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  padding-bottom:3px;
  border-bottom:1px solid transparent;
  transition:color 150ms ease, border-color 150ms ease;
}
.nav-link:hover { color:#D6A956 !important; border-bottom-color:#D6A956 !important; }
.nav-btn {
  background:none; border:none; border-bottom:1px solid transparent; cursor:pointer;
  font-family:'Cinzel',serif; font-size:15px; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; color:rgba(255,255,255,0.72); display:flex; align-items:center;
  gap:6px; padding:0 0 3px; transition:color 150ms ease, border-color 150ms ease;
}
.nav-btn:hover { color:#D6A956 !important; border-bottom-color:#D6A956 !important; }
.dropdown-item {
  display:flex; align-items:center; justify-content:space-between; padding:13px 22px;
  font-family:'Inter',sans-serif; font-size:13px; color:rgba(196,180,154,0.85);
  text-decoration:none; border-bottom:1px solid rgba(214,169,86,0.08); transition:all 130ms;
}
.dropdown-item:hover { color:#D6A956 !important; background:rgba(214,169,86,0.06) !important; padding-left:26px !important; }
.dropdown-item:last-child { border-bottom:none; }
.cta-btn {
  font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.08em;
  text-transform:uppercase; background:#D6A956; color:#341C0A !important; padding:11px 22px;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  transition:background 200ms, box-shadow 200ms; white-space:nowrap; flex-shrink:0;
  animation:goldPulse 3s ease-in-out infinite; box-shadow: 0 2px 8px rgba(214,169,86,0.12);
}
.cta-btn:hover { background:#E8C882 !important; color:#341C0A !important; box-shadow: 0 4px 28px rgba(214,169,86,0.65) !important; }
.wa-float {
  position: fixed; bottom: 28px; right: 28px; z-index: 300; width: 58px; height: 58px;
  border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 24px rgba(37,211,102,0.45); text-decoration: none; transition: transform 200ms ease;
}
.wa-float:hover { transform: scale(1.10); animation: wa-pulse 1s ease infinite; }
.ft-link { font-family:'Inter',sans-serif; text-decoration:none; transition:color 150ms ease; }
.ft-link:hover { color:#D6A956 !important; }
.ft-social {
  width:32px; height:32px; border:1px solid rgba(214,169,86,0.25); display:flex; align-items:center;
  justify-content:center; transition:border-color 150ms ease;
}
.ft-social:hover { border-color:#D6A956 !important; }
.ft-social:hover svg { stroke:#D6A956 !important; }
.ft-social svg { transition:stroke 150ms ease; }
.parceiros-track { display: flex; align-items: center; width: max-content; animation: marquee-scroll 44s linear infinite; }
.parceiros-track:hover { animation-play-state: paused; }
.parceiro-logo {
  display: flex; align-items: center; justify-content: center; padding: 0 44px;
  border-right: 1px solid rgba(214,169,86,0.10); height: 80px; flex-shrink: 0;
}
.parceiro-logo img {
  height: 70px; width: auto; max-width: 160px; object-fit: contain;
  transition: transform 300ms ease, opacity 300ms ease; opacity: 0.90;
}
.parceiro-logo:hover img { opacity: 1; transform: scale(1.06); }
.vc-input {
  font-family:'Inter',sans-serif; font-size:15px; font-weight:400; color:#FFFFFF;
  background:rgba(52,28,10,0.55); border:1px solid rgba(214,169,86,0.22); padding:12px 16px;
  outline:none; transition:border-color 200ms ease, box-shadow 200ms ease; width:100%;
  box-sizing:border-box; border-radius:2px;
}
.vc-input:focus { border-color:#D6A956; box-shadow:0 0 0 3px rgba(214,169,86,0.12); }

.legal-h2 { font-family:'Cinzel',serif; font-size:15px; font-weight:700; color:#D6A956; letter-spacing:0.12em; text-transform:uppercase; margin:40px 0 14px; padding-bottom:10px; border-bottom:1px solid rgba(214,169,86,0.15); }
.legal-h3 { font-family:'Cinzel',serif; font-size:13px; font-weight:700; color:rgba(214,169,86,0.80); letter-spacing:0.08em; margin:24px 0 8px; }
.legal-p { font-family:'Inter',sans-serif; font-size:15px; font-weight:300; color:rgba(196,180,154,0.82); line-height:1.82; margin:0 0 14px; }
.legal-ul { font-family:'Inter',sans-serif; font-size:15px; font-weight:300; color:rgba(196,180,154,0.82); line-height:1.82; margin:0 0 14px; padding-left:0; list-style:none; }
.legal-ul li { padding:11px 0 11px 20px; position:relative; border-bottom:1px solid rgba(214,169,86,0.07); }
.legal-ul li:last-child { border-bottom:none; }
.legal-ul li::before { content:'◆'; color:rgba(214,169,86,0.40); font-size:8px; position:absolute; left:0; top:15px; }
.legal-a { color:#D6A956; text-decoration:none; }
.legal-a:hover { text-decoration:underline; }

/* ── Contador animado (0 → valor final) nos números de estatísticas ── */
.counted-number { display: inline-block; }
