/* ── Duvision360 global custom overrides ── */

/* Brand accent override — template uses --ds-accent:#ff5500 (orange), brand is lime */
:root {
  --ds-accent: #c8ff57;
  --ds-accent-dark: #9fc944;
  --ds-accent-light: #d6ff7a;
  --ds-accent-glow: rgba(200, 255, 87, 0.15);
}
[color-scheme="light"] {
  --ds-accent: #7ec800;
  --ds-accent-dark: #5a9200;
  --ds-accent-light: #9ae000;
  --ds-accent-glow: rgba(126, 200, 0, 0.15);
}

/* Nav active state — highlights current page link in hamburger menu */
.main-menu__link.is-active .btn-caption,
.main-menu__link[aria-current="page"] .btn-caption {
  color: #c8ff57;
}
[color-scheme="light"] .main-menu__link.is-active .btn-caption,
[color-scheme="light"] .main-menu__link[aria-current="page"] .btn-caption {
  color: #5a9200;
}

/* Accessible focus rings */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #c8ff57;
  outline-offset: 3px;
  border-radius: 4px;
}
[color-scheme="light"] a:focus-visible,
[color-scheme="light"] button:focus-visible,
[color-scheme="light"] input:focus-visible,
[color-scheme="light"] select:focus-visible,
[color-scheme="light"] textarea:focus-visible {
  outline-color: #5a9200;
}

/* Blog card — no broken "Read Article" link spacing */
.blog-card__body {
  display: flex;
  flex-direction: column;
}

/* Smooth image rendering globally */
img {
  image-rendering: -webkit-optimize-contrast;
}

/* Service case-study link (services.html, about.html) */
.svc-case-link {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--dv-accent, #c8ff57);
  text-decoration: none; margin-top: 20px; opacity: 0.8;
  transition: opacity .2s, gap .2s;
}
.svc-case-link:hover { opacity: 1; gap: 8px; }

/* FAQ accordion */
.dv-faq { border-top: 1px solid var(--dv-line, rgba(255,255,255,0.08)); }
.dv-faq__item { border-bottom: 1px solid var(--dv-line, rgba(255,255,255,0.08)); }
.dv-faq__q {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 0;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  color: var(--dv-primary, #fff);
  gap: 16px;
}
.dv-faq__q::-webkit-details-marker { display: none; }
.dv-faq__q::after {
  content: '+';
  font-size: 22px;
  font-weight: 300;
  flex-shrink: 0;
  color: var(--dv-accent, #c8ff57);
  transition: transform .25s;
}
.dv-faq__item[open] > .dv-faq__q::after { transform: rotate(45deg); }
.dv-faq__a {
  margin: 0;
  padding: 0 0 22px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--dv-secondary, #acacac);
  max-width: 680px;
}
