/* User-selected theme. Keep the supplied dark palette as the default. */
:root { color-scheme: dark; }
html[data-theme="light"] {
  color-scheme: light;
  --bg: #f8faff;
  --bg2: #eef2f9;
  --bg3: #e5ebf5;
  --card-bg: #ffffff;
  --text: #182235;
  --muted: #566275;
  --border: rgba(24,34,53,.14);
  --border-glow: rgba(23,99,158,.28);
  --accent: #17639e;
  --accent2: #08786e;
  --accent3: #7543b3;
  --red: #b63645;
  --yellow: #8a5b00;
  --green: #237646;
  --vtezero-consent-bg: #ffffff;
  --vtezero-consent-text: #182235;
  --vtezero-consent-border: #cbd3e0;
}
.vtezero-theme-switch {
  position: relative; display: inline-flex; align-items: center; justify-content: space-between;
  flex: 0 0 48px; width: 48px; height: 30px; padding: 6px;
  border: 1px solid var(--border, #ffffff30); border-radius: 999px;
  background: var(--bg2, #12121c); color: var(--text, #e8e8f0); cursor: pointer;
}
.vtezero-theme-switch svg { position: relative; z-index: 1; flex: 0 0 14px; pointer-events: none; }
.vtezero-theme-switch .theme-switch-thumb {
  position: absolute; width: 22px; height: 22px; left: 3px; top: 3px;
  background: var(--accent, #a78bfa); opacity: .28; border-radius: 50%;
  transition: transform .18s ease; pointer-events: none;
}
.vtezero-theme-switch[aria-checked="true"] .theme-switch-thumb { transform: translateX(18px); }
.vtezero-theme-switch:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
html[data-theme="light"] .site-nav { background: rgba(248,250,255,.94); }
html[data-theme="light"] .site-nav .nav-links a { color: var(--muted); }
html[data-theme="light"] .site-nav .nav-links a:is(:hover,.active) { color: var(--text); }
html[data-theme="light"] .site-nav .nav-cta { color: var(--accent); border-color: var(--accent); }
html[data-theme="light"] .site-nav .nav-cta:hover { background: var(--accent); color: #fff; }
html[data-theme="light"] :is(.btn-primary,.btn-submit,.fb-submit) { background: var(--accent); color: #fff; }
html[data-theme="light"] .btn-secondary { color: var(--text); border-color: var(--border); }
html[data-theme="light"] .vtezero-october .fb-field input,
html[data-theme="light"] .vtezero-october .fb-field textarea,
html[data-theme="light"] .vtezero-october .fb-field select { background: var(--card-bg); }
html[data-theme="light"] .vtezero-october input::placeholder,
html[data-theme="light"] .vtezero-october textarea::placeholder { color: var(--muted); opacity: 1; }
html[data-theme="light"] .btn-primary:hover,
html[data-theme="light"] .btn-submit:hover,
html[data-theme="light"] .fb-submit:hover { background: #12558a; color: #fff; }
html[data-theme="light"] select option { background: var(--card-bg); color: var(--text); }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: #aab5c8; }
/* The supplied diagrams contain some fixed accent colours in editable styles. */
html[data-theme="light"] :is(.vtezero-october,.vtezero-policy) [style*="color: #63b3ed"] { color: var(--accent) !important; }
html[data-theme="light"] :is(.vtezero-october,.vtezero-policy) [style*="color: #4fd1c5"] { color: var(--accent2) !important; }
html[data-theme="light"] :is(.vtezero-october,.vtezero-policy) [style*="color: #b794f4"] { color: var(--accent3) !important; }
html[data-theme="light"] :is(.vtezero-october,.vtezero-policy) [style*="color: #f6e05e"] { color: var(--yellow) !important; }
html[data-theme="light"] :is(.vtezero-october,.vtezero-policy) [style*="color: #68d391"] { color: var(--green) !important; }
html[data-theme="light"] :is(.vtezero-october,.vtezero-policy) [style*="color: #fc8181"] { color: var(--red) !important; }
html[data-theme="light"] .vtezero-october [stroke="#63b3ed"] { stroke: var(--accent); }
html[data-theme="light"] .vtezero-october [stroke="#4fd1c5"] { stroke: var(--accent2); }
html[data-theme="light"] .vtezero-october [stroke="#b794f4"] { stroke: var(--accent3); }
html[data-theme="light"] .vtezero-october [stroke="#f6e05e"] { stroke: var(--yellow); }
html[data-theme="light"] .vtezero-october [stroke="#68d391"] { stroke: var(--green); }
html[data-theme="light"] .vtezero-october [stroke="#fc8181"] { stroke: var(--red); }
html[data-theme="light"] .vtezero-policy :is(header,footer,th,td,.controller) { border-color: var(--border); }
html[data-theme="light"] .vtezero-policy .controller { background: var(--card-bg); }
html[data-theme="light"] .vtezero-policy button:not(.vtezero-theme-switch) { color: #fff; }
.vtezero-policy #vtezero-theme-control { display: flex; align-items: center; margin-left: auto; }
@media (max-width: 680px) {
  .vtezero-october .site-nav { gap: 6px; padding-left: 4%; padding-right: 4%; }
  .vtezero-october .nav-logo { font-size: 20px; }
  .vtezero-october .nav-cta { padding: 8px 6px; }
}
@media (max-width: 380px) {
  .vtezero-october .nav-cta { max-width: 94px; text-align: center; }
  .vtezero-october .nav-language summary { padding: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .vtezero-theme-switch .theme-switch-thumb { transition: none; }
}
