:root {
  --bg-dark: #0f1215;
  --bg-darker: #0b0e11;
  --brand: #d1b27e; /* dourado discreto */
  --muted: #9aa3ab;
}

html, body {
  height: 100%;
  scroll-behavior: smooth;
  background-color: var(--bg-dark);
  color: #e8edf1;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

/* "Mesmo plano de fundo" com um padrão de quadrados discretos */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px) 0 0 / 40px 40px,
    linear-gradient(0deg, rgba(255,255,255,0.03) 1px, transparent 1px) 0 0 / 40px 40px,
    radial-gradient(closest-side, rgba(255,255,255,0.03), rgba(255,255,255,0) 70%) 20px 20px / 80px 80px repeat,
    var(--bg-darker);
}

/* Navegação */
.navbar {
  background: linear-gradient(180deg, #0b0e11, rgba(11,14,17,0.8));
  border-bottom: 1px solid rgba(255,255,255,0.06);
  backdrop-filter: saturate(1.15) blur(4px);
}
.navbar-brand {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  letter-spacing: .5px;
  color: #fff !important;
}
.navbar-brand .accent { color: var(--brand); }
.navbar-brand .logo-img {
  height: 60px;
  width: auto;
  max-width: 200px;
  border-radius: 5px;
}
.nav-link { color: #d9e2ea !important; opacity: .85; }
.nav-link:hover, .nav-link:focus { color: #fff !important; opacity: 1; }

/* Hero */
.hero {
  position: relative;
  min-height: 62vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.hero .bg-img {
  position: absolute; inset: 0; z-index: -1;
  background-image: url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?q=80&w=1920&auto=format&fit=crop');
  background-size: cover; background-position: center;
  filter: grayscale(30%) contrast(1.05) brightness(0.6);
}
.hero::after {
  /* overlay com tom dourado, lembrando a foto original */
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(0,0,0,.65), rgba(165,125,34,.25) 50%, rgba(0,0,0,.5));
  mix-blend-mode: multiply;
}
.hero-card {
  max-width: 760px;
  background: rgba(15,18,21,0.85);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
  border-radius: 14px;
}
.btn-brand {
  --bs-btn-color: #0b0e11;
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: #e0c38f;
  --bs-btn-hover-border-color: #e0c38f;
  --bs-btn-active-bg: #caa96c;
  --bs-btn-active-border-color: #caa96c;
  font-weight: 600;
}

/* Seções */
section.section {
  padding: 72px 0;
}
.section-title {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  color: #fff;
  letter-spacing: .2px;
}
.lead-muted { color: var(--muted); }

.feature-icon {
  width: 36px; height: 36px; border-radius: 8px;
  display: inline-grid; place-items: center;
  background: rgba(209,178,126,.12);
  color: var(--brand);
  border: 1px solid rgba(209,178,126,.25);
}

.card-dark {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
}

/* Accordion escuro e arredondado */
.accordion-dark {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  overflow: hidden;
}
.accordion-dark .accordion-item {
  background: transparent;
  border: 0;
  color: #e8edf1;
}
.accordion-dark .accordion-button {
  background: rgba(255,255,255,0.03);
  color: #ffffff;
}
.accordion-dark .accordion-button:not(.collapsed) {
  color: #ffffff;
  background: rgba(209,178,126,0.08);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,0.06);
}
.accordion-dark .accordion-button::after { filter: invert(1) opacity(.9); }
.accordion-dark .accordion-body {
  background: rgba(255,255,255,0.02);
}

/* Melhor contraste no card de Serviços */
#servicos .card-dark { color: #ffffff; }
#servicos .card-dark .section-title { color: #ffffff; }

/* Melhor contraste nos cards de Fale Conosco e Profissionais */
#contato .card-dark { color: #ffffff; }
#contato .card-dark .section-title { color: #ffffff; }

/* Footer */
footer {
  background: #0b0e11;
  border-top: 1px solid rgba(255,255,255,0.06);
  color: #c6d0d9;
}
.link-muted { color: #c6d0d9; text-decoration: none; }
.link-muted:hover { color: #fff; }

/* Página Contato: garantir textos brancos nos cards e labels */
.page-contato { color: #ffffff; }
.page-contato .card-dark { color: #ffffff; }
.page-contato label { color: #ffffff; }


