/* JVCR Theme - Custom Styles */
:root {
  --jvcr-primary:#0D6EFD;
  --jvcr-secondary:#0A58CA;
  --jvcr-accent:#198754;
  --jvcr-light:#F8F9FA;
  --jvcr-dark:#212529;
}

body { font-family: 'Poppins', system-ui, -apple-system, sans-serif; color:#212529; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6 { font-family:'Poppins',sans-serif; font-weight:700; letter-spacing:-.01em; }

a { transition: color .2s ease; }
.btn { font-weight:600; border-radius:.6rem; padding:.6rem 1.25rem; transition: all .25s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-lg { padding:.85rem 1.6rem; }
.btn-primary { background-color: var(--jvcr-primary); border-color: var(--jvcr-primary); }
.btn-primary:hover { background-color: var(--jvcr-secondary); border-color: var(--jvcr-secondary); }
.text-primary { color: var(--jvcr-primary) !important; }
.bg-primary { background-color: var(--jvcr-primary) !important; }
.bg-primary-subtle { background-color: rgba(13,110,253,.1) !important; }

.navbar { transition: all .3s ease; }
.navbar.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.navbar-brand .logo-mark { font-size:1rem; letter-spacing:-.02em; }
.nav-link { font-weight:500; color:#212529 !important; padding:.5rem 1rem !important; border-radius:.5rem; }
.nav-link:hover, .nav-link.active { color: var(--jvcr-primary) !important; background: rgba(13,110,253,.08); }

/* Hero */
.hero-section { background: linear-gradient(135deg,#F8F9FA 0%,#ffffff 60%,#E7F1FF 100%); }
.hero-bg::before { content:''; position:absolute; top:-100px; right:-100px; width:500px; height:500px; background: radial-gradient(circle, rgba(13,110,253,.12), transparent 70%); border-radius:50%; z-index:0; }
.min-vh-75 { min-height: 75vh; }
.hero-card-stack { height:420px; }
.hero-card-1, .hero-card-2, .hero-card-3 { position:absolute; width:280px; background:#fff; }
.hero-card-1 { top:0; left:20px; animation: float 6s ease-in-out infinite; }
.hero-card-2 { top:140px; right:0; animation: float 6s ease-in-out infinite 2s; }
.hero-card-3 { top:280px; left:40px; animation: float 6s ease-in-out infinite 4s; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

.icon-circle { width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:1.25rem; }
.icon-circle.large { width:72px; height:72px; font-size:1.75rem; }

.service-card { transition: all .3s ease; border-top:3px solid transparent; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(13,110,253,.12) !important; border-top-color: var(--jvcr-primary); }

.process-card { position: relative; }
.step-number { width:48px; height:48px; border-radius:50%; background: var(--jvcr-primary); color:#fff; font-weight:700; display:inline-flex; align-items:center; justify-content:center; font-size:1.25rem; }

.accordion-button { font-weight:600; }
.accordion-button:not(.collapsed) { background: rgba(13,110,253,.08); color: var(--jvcr-primary); }
.accordion-button:focus { box-shadow: none; }

.content-area p { margin-bottom:1rem; line-height:1.8; }
.content-area h2,.content-area h3 { margin-top:2rem; margin-bottom:1rem; }
.content-area ul,.content-area ol { line-height:1.8; }

.site-footer a:hover { color:#fff !important; }

/* WhatsApp floating */
.whatsapp-float { position: fixed; bottom: 24px; right: 24px; width: 60px; height: 60px; background:#25D366; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.8rem; box-shadow: 0 8px 24px rgba(37,211,102,.4); z-index:1000; transition: all .3s ease; text-decoration:none; }
.whatsapp-float:hover { transform: scale(1.1); color:#fff; background:#1ebe57; }
.whatsapp-float::after { content:''; position:absolute; inset:0; border-radius:50%; box-shadow:0 0 0 0 rgba(37,211,102,.7); animation: pulse 2s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(37,211,102,.7)} 70%{box-shadow:0 0 0 20px rgba(37,211,102,0)} 100%{box-shadow:0 0 0 0 rgba(37,211,102,0)} }

/* LGPD banner */
.lgpd-banner { position: fixed; bottom:0; left:0; right:0; background:#212529; color:#fff; padding:1rem 0; z-index:1050; box-shadow: 0 -4px 20px rgba(0,0,0,.15); }
.lgpd-banner[hidden] { display:none; }

/* Smooth scroll */
html { scroll-behavior: smooth; scroll-padding-top: 80px; }

/* Reveal anim */
[data-aos] { opacity:0; transform: translateY(20px); transition: all .8s ease; }
[data-aos].aos-visible { opacity:1; transform: translateY(0); }
[data-aos="fade-left"] { transform: translateX(20px); }
[data-aos="fade-left"].aos-visible { transform: translateX(0); }

@media (max-width: 768px) {
  .hero-section { text-align:center; }
  .display-4 { font-size: 2.25rem; }
  .display-6 { font-size: 1.75rem; }
  .whatsapp-float { width:54px; height:54px; font-size:1.6rem; bottom:16px; right:16px; }
}

.py-lg-6 { padding-top:5rem !important; padding-bottom:5rem !important; }
