:root{
  --accent:#22c55e;         /* verde claro chamativo */
  --accent-hover:#34d399;   /* hover mais vivo */
  --ink:#1f2937;            /* texto principal */
  --muted:#6b7280;          /* texto secundário */
  --line:#e5e7eb;
  --dark:#2c2c2c;           /* antracite */
  --card-border:#edf2f7;
  --page-bg:#ffffff;
}
[data-bs-theme="dark"]{
  --ink:#e5e7eb;
  --muted:#94a3b8;
  --line:#1f2937;
  --dark:#e2e8f0;
  --card-border:#243041;
  --page-bg:#0b1220;
}

body{
  color:var(--ink); background:var(--page-bg);
  padding-bottom: calc(76px + env(safe-area-inset-bottom));
}

.navbar{ border-bottom:1px solid var(--line); background:var(--page-bg) !important; }
.brand-name{ color:var(--dark); font-weight:800; letter-spacing:.2px; }
[data-bs-theme="dark"] .brand-name{ color:var(--ink); }

.btn-accent{
  --bs-btn-bg:var(--accent);
  --bs-btn-border-color:var(--accent);
  --bs-btn-color:#f8fafc;
  --bs-btn-hover-color:#f8fafc;
  --bs-btn-active-color:#f8fafc;
  --bs-btn-hover-bg:var(--accent-hover);
  --bs-btn-hover-border-color:var(--accent-hover);
  --bs-btn-active-bg:#16a34a;
  --bs-btn-active-border-color:#16a34a;
  --bs-btn-focus-shadow-rgb:34,197,94;
}
.btn-ghost{
  --bs-btn-bg:#fff; --bs-btn-border-color:var(--line); --bs-btn-color:#111827;
  --bs-btn-hover-bg:#f8fafc; --bs-btn-hover-border-color:#d1d5db;
}
[data-bs-theme="dark"] .btn-ghost{
  --bs-btn-bg:transparent; --bs-btn-border-color:var(--line); --bs-btn-color:var(--ink);
  --bs-btn-hover-bg:rgba(255,255,255,.06); --bs-btn-hover-border-color:var(--line);
}

.chip{ border:1px solid #e2e8f0; background:#fff; color:#475569; font-size:.9rem; }
[data-bs-theme="dark"] .chip{ border-color:#334155; background:#0f172a; color:#cbd5e1; }

.hero-bg{ background: radial-gradient(80% 60% at 70% 10%, rgba(34,197,94,.10), transparent 60%); }
[data-bs-theme="dark"] .hero-bg{ background: radial-gradient(80% 60% at 70% 10%, rgba(34,197,94,.18), transparent 60%); }

.section-title{ color:#0f172a; }
[data-bs-theme="dark"] .section-title{ color:#f8fafc !important; } /* contraste maior no dark */

.card{ border-color:var(--card-border); }
[data-bs-theme="dark"] .card{ background:#0f172a; }

.callout{
  background: linear-gradient(90deg, rgba(34,197,94,.12), rgba(34,197,94,.05) 70%), var(--page-bg);
  border:1px solid var(--line); border-radius:1rem;
}
[data-bs-theme="dark"] .callout{
  background: linear-gradient(90deg, rgba(34,197,94,.15), rgba(34,197,94,.06) 70%), #0f172a;
  border-color:#1f2937;
}

.badge-soft{ border:1px dashed #d1d5db; color:#475569; background:#fff; }
[data-bs-theme="dark"] .badge-soft{ border-color:#334155; color:#cbd5e1; background:#0f172a; }

.sticky-wa{
  position:fixed; left:0; right:0; bottom:0; z-index:1100;
  background:var(--page-bg); border-top:1px solid var(--line);
  padding-bottom: env(safe-area-inset-bottom); transform: translateZ(0);
}
[id]{ scroll-margin-top: 90px; }
[data-bs-theme="dark"] .bg-light{ background:#0f172a !important; }
[data-bs-theme="dark"] .btn-outline-dark{
  --bs-btn-color:#e2e8f0; --bs-btn-border-color:#334155;
  --bs-btn-hover-color:#0b1220; --bs-btn-hover-bg:#e2e8f0; --bs-btn-hover-border-color:#e2e8f0;
}

/* títulos dos cards em "Por que a ART" conforme versão atual */
#diferenciais h4{ color:#0f172a; }
[data-bs-theme="dark"] #diferenciais h4{ color:#0f172a !important; }

/* SEO footer */
.seo-footer{ border-top:1px solid var(--line); }
.chip-seo{
  display:inline-block; padding:.5rem .75rem; border:1px solid var(--line);
  border-radius:999px; text-decoration:none; font-size:.95rem; line-height:1;
  color:var(--ink); background:transparent;
}
.chip-seo:hover{ background:rgba(34,197,94,.12); border-color:#a7f3d0; }
[data-bs-theme="dark"] .chip-seo:hover{ background:rgba(34,197,94,.18); border-color:#065f46; }
.seo-heading{ font-weight:700; }
.seo-subtle{ color:var(--muted); }

/* ===== Masonry (galeria SEM CORTES) ===== */
.masonry{
  column-count: 1;
  column-gap: 1rem;
}
@media (min-width:768px){ .masonry{ column-count: 2; } }
@media (min-width:992px){ .masonry{ column-count: 3; } }

.masonry-item{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  margin: 0 0 1rem 0;
  display: inline-block;
  width: 100%;
}
.masonry-img{
  display:block;
  width:100%;
  height:auto;           /* sem corte */
  border-radius:1rem;
  border:1px solid var(--card-border);
  box-shadow:0 10px 18px rgba(0,0,0,.06);
  background:#fff;
}
[data-bs-theme="dark"] .masonry-img{
  background:#0f172a;
  border-color:#243041;
}

/* ===== Overlay de Loading (blur + escurecido) ===== */
.loading-overlay{
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity .2s ease;
}
.loading-overlay.show{ opacity:1; visibility: visible; }
.spinner-xl{ width: 3.5rem; height: 3.5rem; }

/* ===== Toast central suave ===== */
.toast-center{
  position: fixed; z-index: 2100;
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  min-width: 280px; max-width: 92vw;
}
