/* Theme */
:root {
  --ap-primary: #227cb1; /* azul */
  --ap-primary-600: #1c6a97; /* azul mais escuro */
  --ap-accent: #ffb703; /* amarelo */
  --ap-success: #31a65d; /* verde */
  --ap-text: #212529;
  --ap-bg: #ffffff;

  /* Bootstrap theme overrides */
  --bs-primary: #227cb1;
  --bs-primary-rgb: 34, 124, 177;
  --bs-success: #31a65d;
  --bs-success-rgb: 49, 166, 93;
  --bs-warning: #ffb703;
  --bs-warning-rgb: 255, 183, 3;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, var(--ap-primary), var(--ap-primary-600));
}

/* Accent background for CTA sections */
.bg-accent {
  background-color: var(--ap-accent) !important;
}
.bg-accent, .bg-accent h1, .bg-accent h2, .bg-accent p, .bg-accent .lead {
  color: #111 !important;
}

/* Ensure hero gradient is enforced and text contrast inside */
section.bg-gradient-primary,
.hero.bg-gradient-primary {
  background: linear-gradient(135deg, var(--ap-primary), var(--ap-primary-600)) !important;
  background-color: var(--ap-primary) !important;
}
.hero.bg-gradient-primary,
.hero.bg-gradient-primary *:not(.btn-outline-light) {
  color: #fff !important;
}

.brand-logo {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: var(--ap-primary);
  display: inline-block;
}

.brand-logo-img { height: 28px; width: auto; }

.feature-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  background: rgba(34, 124, 177, 0.1);
  color: var(--ap-primary);
}

/* Utilities */
.py-lg-6 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

/* Ensure base contrast */
body {
  background-color: var(--ap-bg);
  color: var(--ap-text);
}

/* Gradient sections keep white text only inside them */
.bg-gradient-primary,
.bg-gradient-primary h1,
.bg-gradient-primary h2,
.bg-gradient-primary p,
.bg-gradient-primary .btn,
.bg-gradient-primary .btn:hover,
.bg-gradient-primary .btn:focus {
  color: #fff;
}

/* Navbar brand/link colors in light theme */
[data-bs-theme="light"] .navbar .nav-link { color: #495057; }
[data-bs-theme="light"] .navbar .nav-link:hover { color: #212529; }
[data-bs-theme="light"] .navbar .navbar-brand { color: #212529; }

/* Feature cards */
.feature-card {
  border: 1px solid rgba(0,0,0,.06);
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
}
.feature-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 200px at var(--x, 50%) var(--y, 0%), rgba(34,124,177,0.12), transparent 60%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(16,24,40,.08);
  border-color: rgba(34,124,177,.25);
}
.feature-card:hover::after { opacity: 1; }
.feature-card .h5 { margin: 0; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(16px); }
.reveal.revealed { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s ease; }

/* Pricing cards */
.pricing-card {
  border: 1px solid rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
}
.pricing-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 200px at var(--x, 50%) var(--y, 0%), rgba(34,124,177,0.12), transparent 60%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(16,24,40,.08);
  border-color: rgba(34,124,177,.25);
}
.pricing-card:hover::after { opacity: 1; }
.pricing-card.recommended { border-width: 2px; }
.badge-recommended { background-color: var(--ap-accent); color: #111; }
.feature-list li { display: flex; align-items: baseline; gap: .5rem; }
.feature-list li::before { content: "\2713"; color: var(--ap-success); font-size: .9em; }
/* Checklist icons white on hero colored background */
.hero-card .feature-list li::before { color: #fff; }

/* Hero interactions */
.hero-card { transition: transform .25s ease, box-shadow .25s ease; transform: rotate(-1deg); }
.hero-card:hover { transform: rotate(-1deg) translateY(-4px) scale(1.01); box-shadow: 0 16px 40px rgba(16,24,40,.12); }
.hero-card { border-radius: 1rem; overflow: hidden; }
.hero-media img { transition: transform .5s ease; }
.hero-card:hover .hero-media img { transform: scale(1.03); }

/* Interactive icon tiles in hero */
.hero-icons { --tile-bg: rgba(255,255,255,.1); }
.icon-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  background: var(--tile-bg);
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.icon-tile i { font-size: 1.5rem; }
.icon-tile span { font-size: .9rem; font-weight: 600; }
.icon-tile:hover { transform: translateY(-4px); background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.28); box-shadow: 0 12px 30px rgba(16,24,40,.18); }

/* Vibrant colors per icon */
.icon-tef { background: linear-gradient(135deg, #ff7a18, #ffb703); }
.icon-estoque { background: linear-gradient(135deg, #0ba360, #3cba92); }
.icon-fiscal { background: linear-gradient(135deg, #6a11cb, #2575fc); }
.icon-financeiro { background: linear-gradient(135deg, #f7971e, #ffd200); color: #111; }
.icon-whatsapp { background: linear-gradient(135deg, #00c853, #64dd17); }
.icon-relatorios { background: linear-gradient(135deg, #ff512f, #dd2476); }
.icon-financeiro, .icon-tef, .icon-estoque, .icon-fiscal, .icon-whatsapp, .icon-relatorios { border: none; }
.icon-financeiro:hover, .icon-tef:hover, .icon-estoque:hover, .icon-fiscal:hover, .icon-whatsapp:hover, .icon-relatorios:hover { filter: brightness(1.05); }

/* Footer */
.footer .social-link {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.08);
  color: #344054;
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
}
.footer .social-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(16,24,40,.08);
  border-color: rgba(34,124,177,.25);
  color: var(--ap-primary);
}
.link-underline { text-decoration: none; }
.link-underline:hover { text-decoration: underline; }

/* Floating WhatsApp */
.floating-whatsapp {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--ap-success);
  color: #fff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 30px rgba(16,24,40,.18);
  z-index: 1030;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.floating-whatsapp:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 16px 40px rgba(16,24,40,.22);
  background: #279c5c; /* slightly darker than #31a65d */
}
.floating-whatsapp .bi { font-size: 1.5rem; }

@media (max-width: 575.98px) {
  .floating-whatsapp { right: 16px; bottom: 16px; width: 52px; height: 52px; }
}

/* Subtle pulse */
.floating-whatsapp::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(49,166,93,.45);
  animation: ap-pulse 2s infinite;
}
@keyframes ap-pulse {
  0% { box-shadow: 0 0 0 0 rgba(49,166,93,.45); }
  70% { box-shadow: 0 0 0 18px rgba(49,166,93,0); }
  100% { box-shadow: 0 0 0 0 rgba(49,166,93,0); }
}

