/* Aerodicionário – tema moderno sobre Bootstrap 5 */

:root {
  --brand-50: #eef7ff;
  --brand-100: #d9edff;
  --brand-200: #bfe0ff;
  --brand-300: #93cdff;
  --brand-400: #5ab1ff;
  --brand-500: #2a93ff;
  --brand-600: #0e76e6;
  --brand-700: #065ec0;
  --brand-800: #084f99;
  --brand-900: #0b457e;

  --bg-soft: radial-gradient(900px 520px at 0% 0%, #f7fbff 0%, #ffffff 55%),
             radial-gradient(760px 460px at 100% 100%, #f5f8ff 0%, #ffffff 65%);
  --ring: 0 0 0 3px rgba(14,118,230,.12);
}

/* Tipografia moderna */
html, body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background: var(--bg-soft);
}

/* Landing page – hero moderno (glass mais sutil) */
.lp-hero {
  position: relative;
  border-radius: 20px;
  background:
    radial-gradient(900px 420px at 8% -12%, rgba(42,147,255,.05), rgba(8,79,153,.02) 45%, rgba(255,255,255,0) 70%),
    linear-gradient(180deg, #ffffff, #f9fbff) padding-box,
    linear-gradient(135deg, rgba(14,118,230,.18), rgba(14,118,230,0)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 14px 28px rgba(16,24,40,.08);
  backdrop-filter: blur(4px);
}

/* Ilustração do herói (círculo com ícone) */
.lp-hero-illustration {
  width: 260px; height: 260px; border-radius: 50%;
  display: grid; place-items: center;
  background: radial-gradient(120px 120px at 40% 35%, rgba(14,118,230,.12), rgba(14,118,230,0)),
              linear-gradient(180deg, #ffffff, #f0f6ff);
  border: 1px solid rgba(14,118,230,.18);
  box-shadow: 0 16px 36px rgba(16,24,40,.10);
}
.lp-hero-illustration i { font-size: 64px; color: var(--brand-700); }

.lp-hero h1 {
  font-weight: 800;
  letter-spacing: -0.02em;
}

.btn-primary.btn-glow { box-shadow: 0 8px 16px rgba(10,95,200,.20); }

.lp-icon {
  width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items:center; justify-content:center; background: var(--brand-50); color: var(--brand-700); font-size: 1.25rem;
}

.lp-card { border-radius: 14px; border: 1px solid rgba(15,23,42,.06); box-shadow: 0 10px 26px rgba(16,24,40,.08); }

.lp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 992px) { .lp-grid { grid-template-columns: 1fr; } }

/* Navbar clara e discreta */
.site-header .navbar { background: #fff !important; }
.site-header .navbar .nav-link { color: #334155; }
.site-header .navbar .nav-link:hover { color: var(--brand-700); }
.navbar .navbar-brand span {
  letter-spacing: 0.2px;
}

.brand-logo { object-fit: contain; border-radius: 6px; width: 48px; height: 48px; }
@media (min-width: 992px) { .brand-logo { width: 56px; height: 56px; } }

/* Navegação do alfabeto */
.alphabet-wrap { padding: .25rem 0; }
.alphabet-wrap .btn { border-radius: 999px; }

/* Footer discreto */
.site-footer {
  background: #f8f9fa;
  border-top: 1px solid rgba(0,0,0,.06);
}

/* Eyebrow + badges no herói */
.hero-eyebrow { font-weight: 600; color: #0b457e; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; opacity: .9; }
.hero-badges .badge-soft { margin-right: .5rem; }

/* Divisor suave de seção */
.soft-divider { height: 1px; background: linear-gradient(90deg, rgba(0,0,0,0), rgba(0,0,0,.06), rgba(0,0,0,0)); margin: 2rem 0; }

/* Feature cards */
.lp-card:hover { transform: translateY(-4px); transition: transform .2s ease, box-shadow .2s ease; box-shadow: 0 12px 34px rgba(16,24,40,.10); }
.lp-card h3 { margin-bottom: .25rem; }
.lp-card p { color: #4b5563; }

/* Botões primários refinados */
.btn-primary {
  background-color: var(--brand-600);
  border-color: var(--brand-600);
  box-shadow: 0 6px 18px rgba(10, 95, 200, 0.18);
}

.btn-primary:hover {
  background-color: var(--brand-700);
  border-color: var(--brand-700);
}

.btn-outline-primary {
  color: var(--brand-700);
  border-color: var(--brand-300);
}

.btn-outline-primary:hover {
  background-color: var(--brand-50);
  border-color: var(--brand-500);
}
/* Botões com leve gradiente para visual premium */
.btn-primary { background-image: linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,0)); }

/* Cartões com efeito leve e hover */
.card {
  border: 0;
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(16, 24, 40, .06);
}

.card:hover {
  transform: translateY(-3px);
  transition: transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 12px 34px rgba(16, 24, 40, .10);
}

/* Campos de busca – pill + ícone opcional */
.search-hero {
  background: linear-gradient(145deg, #ffffff, #f3f7ff);
  border: 1px solid rgba(15, 23, 42, .06);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
}

.input-group.search-lg { width: 100%; }
.input-group.search-lg .form-control { padding: 1.05rem 1.15rem; border-radius: 12px; border: 1px solid rgba(15, 23, 42, .10); min-width: 0; }
.input-group.search-lg .form-control:focus { box-shadow: var(--ring); border-color: rgba(15,23,42,.18); }
.input-group.search-lg .btn { border-radius: 12px; }
@media (min-width: 768px) {
  .input-group.search-lg .form-control { border-radius: 999px 0 0 999px !important; }
  .input-group.search-lg .btn { border-radius: 0 999px 999px 0 !important; }
}
@media (max-width: 767.98px) {
  .input-group.search-lg { display: block; }
  .input-group.search-lg .btn { width: 100%; margin-top: 10px; }
}

/* Títulos e subtítulos */
.display-hero { font-weight: 800; letter-spacing: -0.02em; font-size: clamp(1.75rem, 1.1rem + 2.2vw, 2.625rem); }

.lead { color: #525f75; }

/* Conteúdo de seções informativas (sobre/recursos) */
.content { color: #4b5563; }
.lead-wide { max-width: 70ch; }

/* Utilitários pequenos */
.text-gradient {
  background: linear-gradient(135deg, var(--brand-700), var(--brand-500));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.badge-soft {
  background: var(--brand-50);
  color: var(--brand-700);
  border: 1px solid var(--brand-100);
  padding: .45rem .7rem;
  border-radius: 999px;
  font-weight: 600;
}

/* Carrossel bordas suaves */
.carousel .carousel-item img {
  border-radius: 12px;
  max-height: 420px;
  width: 100%;
  object-fit: contain;
  background: #fff;
}

@media (max-width: 768px) {
  .carousel .carousel-item img { max-height: 300px; }
}

/* Mídia embutida (vídeos/imagens) */
.media-embed {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(16,24,40,.08);
}

.section-title { font-weight: 600; margin-bottom: .75rem; }

/* Subnav dentro do detalhe */
.subnav a {
  color: #475569;
  text-decoration: none;
  padding: .35rem .6rem;
  border-radius: 8px;
}
.subnav a:hover { background: #eef2ff; color: var(--brand-700); }

.lead-wide { max-width: 70ch; }

/* Dark mode removido por ora para manter aparência clara consistente */
