:root {
  --primary: #4a7668;
  --primary-light: #b8d6cb;
  --accent: #88a57f;
  --background-soft: #f4f7f3;
  --text: #253029;
  --text-muted: #5f6d65;
}

body {
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--text);
  background-color: var(--background-soft);
  line-height: 1.7;
}

.navbar {
  background-color: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(8px);
}

.navbar-brand span {
  color: var(--primary) !important;
}

.nav-link.active,
.nav-link:hover,
.nav-link:focus {
  color: var(--primary) !important;
}

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

.btn-primary:hover,
.btn-primary:focus {
  background-color: #3e6358;
  border-color: #3e6358;
}

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

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

main section {
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
}

body.page-home main section {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

body.page-home main section + section {
  margin-top: 3rem;
}

body.page-home .hero .container,
body.page-home section .container {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

body.page-seance main section {
  padding-top: 7.25rem;
  padding-bottom: 7.25rem;
}

body.page-seance .card-body {
  padding: 3rem;
}

body.page-seance .accordion .accordion-item {
  border: none;
  box-shadow: 0 10px 28px rgba(36, 50, 41, 0.06);
  margin-bottom: 1.5rem;
  border-radius: 1.25rem;
  overflow: hidden;
}

.row + .row {
  margin-top: 2.5rem;
}

.card + .card {
  margin-top: 2.5rem;
}

.card-body > * + * {
  margin-top: 1.5rem;
}

.icon-card {
  margin-top: 2rem;
}

.hero {
  background: linear-gradient(135deg, rgba(74, 118, 104, 0.12), rgba(184, 214, 203, 0.3));
  border-bottom-left-radius: 3rem;
  border-bottom-right-radius: 3rem;
}

.hero-illustration {
  background: linear-gradient(135deg, rgba(184, 214, 203, 0.7), rgba(136, 165, 127, 0.6));
  min-height: 300px;
}

.hero-badge {
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  background: rgba(255, 255, 255, 0.9);
  padding: 1.1rem 1.6rem;
  border-radius: 999px;
  border: 1px solid rgba(74, 118, 104, 0.2);
}

.card {
  border-radius: 1.25rem;
  border: none;
  box-shadow: 0 16px 40px rgba(36, 50, 41, 0.08);
  background-color: #fff;
}

.card-body {
  padding: 2.25rem;
}

.icon-card {
  border-radius: 1.25rem;
  padding: 2rem;
  background: #fff;
  box-shadow: 0 12px 32px rgba(36, 50, 41, 0.08);
}

.icon-wrapper .badge {
  background-color: var(--primary);
}

.list-group-item {
  border: none;
  background: transparent;
  padding-left: 0;
  color: var(--text-muted);
}

.testimonial {
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 18px 36px rgba(36, 50, 41, 0.08);
}

.accordion-button:focus {
  box-shadow: none;
  background-color: rgba(184, 214, 203, 0.2);
}

.accordion-button:not(.collapsed) {
  background-color: rgba(184, 214, 203, 0.3);
  color: var(--primary);
}

.ratio.bg-light-subtle {
  background-color: rgba(184, 214, 203, 0.35) !important;
}

.footer-link {
  color: inherit;
}

footer {
  background: #1f3d2b;
  color: #f5f8f5;
}

footer a {
  color: #f5f8f5;
}

footer a:hover,
footer a:focus {
  color: var(--primary-light);
}
