/* EkonomiVision's shared deep forest and restrained gold colour system. */
:root {
  --ink: #252a24;
  --ink-soft: #254040;
  --olive: #254040;
  --olive-pale: #dfe5df;
  --ivory: #f7f7f3;
  --paper: #ffffff;
  --gold: #b8912e;
  --gold-light: #dfc46e;
  --rose: #c1502e;
  --accent: #254040;
  --muted: #686b64;
  --line: rgba(37,64,64, .2);
}

::selection {
  color: #ffffff;
  background: var(--olive);
}

:focus-visible { outline-color: var(--gold); }

.topline,
.why-us,
.service-cta,
.story-principles {
  background-color: var(--olive);
}

.hero {
  background-color: var(--olive);
}

.hero h1 { color: #ffffff; }
/* Privacy pages use a light hero background in every language. */
.hero.privacy-hero h1 { color: var(--ink); }
.hero .eyebrow { color: var(--gold-light); }

.btn.btn-gold,
.btn.btn-dark,
.hero .btn-gold,
.single-price-action .btn-single-gold,
.contact-form .btn,
.form-footer .btn {
  color: var(--ink);
  background: #c9a227;
  border-color: #c9a227;
}

.btn.btn-gold:hover,
.btn.btn-gold:focus-visible,
.btn.btn-dark:hover,
.btn.btn-dark:focus-visible,
.hero .btn-gold:hover,
.hero .btn-gold:focus-visible,
.single-price-action .btn-single-gold:hover,
.single-price-action .btn-single-gold:focus-visible,
.contact-form .btn:hover,
.contact-form .btn:focus-visible,
.form-footer .btn:hover,
.form-footer .btn:focus-visible {
  color: #ffffff;
  background: var(--accent);
  border-color: var(--accent);
}

/* The persistent mobile action belongs to the navigation layer, so it stays
   quiet and consistent instead of adding another gold block to every screen. */
.site-contact-button {
  color: #ffffff;
  background: var(--olive);
  border-color: var(--olive);
}

.site-contact-button:hover,
.site-contact-button:focus-visible {
  color: #ffffff;
  background: #254040;
  border-color: #254040;
}

.btn.btn-outline,
.btn.btn-ghost {
  color: var(--olive);
  border-color: var(--gold);
}

.btn.btn-outline:hover,
.btn.btn-outline:focus-visible,
.btn.btn-ghost:hover,
.btn.btn-ghost:focus-visible {
  color: #ffffff;
  background: var(--accent);
  border-color: var(--accent);
}

.btn-light { color: var(--gold-light); border-color: var(--gold-light); }
.btn-light:hover,
.btn-light:focus-visible { color: var(--ink); background: var(--gold-light); border-color: var(--gold-light); }

.value-icon,
.service-icon,
.home-service-icon,
.business-card svg,
.home-founder-fact-icon,
.review-stars,
summary::after {
  color: var(--gold);
}

.home-founder-quote { border-color: var(--gold); }
.home-founder-quote cite { color: var(--gold); }

@media (hover: hover) {
  .review-arrow:hover,
  .review-arrow:focus-visible {
    color: #ffffff;
    background: var(--accent);
    border-color: var(--accent);
  }
}

.site-footer {
  color: #ffffff;
  background: var(--olive);
  border-top: 0;
}

.site-footer .footer-grid { color: #ffffff; }

.site-footer .footer-center,
.site-footer a,
.site-footer .footer-cookie-settings {
  color: #ffffff;
}

.site-footer .footer-center > span { color: #ffffff; }
.site-footer .footer-certifications,
.site-footer .footer-badge { width: 150px; }

.site-footer .footer-center.footer-cert-social {
  flex-direction: row;
  justify-content: center;
  gap: 1rem;
}

.site-footer .footer-cert-social .social-links {
  flex: 0 0 auto;
  justify-content: flex-start;
  margin: 0 !important;
}

.site-footer .footer-social-group {
  display: grid;
  gap: .45rem;
  justify-items: start;
}

.site-footer .footer-social-label {
  color: #ffffff;
  font-family: var(--sans);
  font-size: .88rem;
  font-weight: 500;
  letter-spacing: .04em;
}

.site-footer .footer-right .footer-slogan {
  margin-bottom: .65rem;
  color: #ffffff;
}

.site-footer .social-links a {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .72);
}

.site-footer .social-links a:hover,
.site-footer .social-links a:focus-visible {
  color: #ffffff;
  background: var(--accent);
  border-color: var(--accent);
}

@media (max-width: 780px) {
  .site-footer .footer-grid { padding-block: 2.25rem; }
  .site-footer .footer-center.footer-cert-social { justify-content: flex-start; }
}

@media (min-width: 781px) {
  .site-footer .footer-grid { font-size: .9rem; }
  .site-footer .social-links a { width: 2.05rem; height: 2.05rem; }
  .site-footer .social-links svg { width: 1rem; height: 1rem; }
}
