/* Shared light/dark palette. The explicit first-visit default is light. */
:root, body {
  --dsg-accent: #162780;
  --dsg-accent-hover: #102064;
  --dsg-accent-rgb: 22 39 128;
  --dsg-signal: #213ca0;
  --dsg-signal-rgb: 33 60 160;
  --dsg-accent-soft: #edf0fc;
  --dsg-accent-border: #c2cbed;
  --dsg-copy: #505b67;
  --dsg-section-surface: #f0f2f5;
  --dsg-border-strong: #c9cfd5;
  --dsg-control-border: #808b97;
  --dsg-hover-surface: #edf0fc;
  --dsg-popup-shadow: rgb(25 40 56 / .16);
  --wp--preset--color--brand: var(--dsg-accent);
  --wp--preset--color--brand-dark: var(--dsg-accent-hover);
  --wp--preset--color--signal: var(--dsg-signal);
  --wp--custom--focus-ring: 0 0 0 3px var(--wp--preset--color--background), 0 0 0 6px var(--dsg-signal);
  color-scheme: light;
}
html[data-theme="dark"], html[data-theme="dark"] body {
  --dsg-accent: #324bc7;
  --dsg-accent-hover: #415bd9;
  --dsg-accent-rgb: 50 75 199;
  --dsg-signal: #a3b5ff;
  --dsg-signal-rgb: 163 181 255;
  --dsg-copy: #c6cbd0;
  --dsg-section-surface: #111416;
  --dsg-border-strong: #3b4148;
  --dsg-control-border: #68737e;
  --dsg-hover-surface: #ffffff0d;
  --dsg-popup-shadow: #0008;
  --wp--preset--color--background: #0a0c0e;
  --wp--preset--color--surface: #15181b;
  --wp--preset--color--border: #2d3339;
  --wp--preset--color--text: #f3f1ea;
  --wp--preset--color--muted: #9fa6ad;
  color-scheme: dark;
}
html:not([data-theme="dark"]) body {
  --wp--preset--color--background: #f7f8fa;
  --wp--preset--color--surface: #ffffff;
  --wp--preset--color--border: #d8dde3;
  --wp--preset--color--text: #191e25;
  --wp--preset--color--muted: #58626e;
  --wp--preset--color--brand: var(--dsg-accent);
  --wp--preset--color--brand-dark: var(--dsg-accent-hover);
  --wp--preset--color--signal: var(--dsg-signal);
  --wp--custom--focus-ring: 0 0 0 3px #fff, 0 0 0 6px var(--dsg-accent);
  color-scheme: light;
}
html:not([data-theme="dark"]) body { background: #f7f8fa; color: #191e25; }
html:not([data-theme="dark"]) .dsg-site-header {
  background: rgb(255 255 255 / .96);
  border-bottom-color: #d8dde3;
}
html:not([data-theme="dark"]) .dsg-home-hero {
  background: linear-gradient(110deg, #ffffff 0%, #f8f9fb 54%, #eef1f4 100%);
}
html:not([data-theme="dark"]) .dsg-home-hero::before,
html:not([data-theme="dark"]) .dsg-gearboxes::before,
html:not([data-theme="dark"]) .dsg-symptoms::before {
  background-image: linear-gradient(rgb(30 45 61 / .045) 1px, transparent 1px), linear-gradient(90deg, rgb(30 45 61 / .045) 1px, transparent 1px);
}
html:not([data-theme="dark"]) .dsg-home-hero::after { border-color: #d8dde3; }
html:not([data-theme="dark"]) .dsg-home-hero__content h1 span { color: #515c68; }
html:not([data-theme="dark"]) .dsg-home-hero__lead { color: #505b67; }
html:not([data-theme="dark"]) .dsg-home-hero__figure { border-color: #c9cfd5; }
html:not([data-theme="dark"]) .dsg-home-hero__visual-label strong { color: #fff; }
html:not([data-theme="dark"]) .dsg-home-hero__visual-flow i { color: var(--dsg-signal); }
html:not([data-theme="dark"]) .dsg-home-hero__models a:hover { background: #edf0f3; }
html:not([data-theme="dark"]) .dsg-call-button { box-shadow: 0 7px 20px rgb(var(--dsg-accent-rgb) / .13); }
html:not([data-theme="dark"]) .dsg-site-header__call { box-shadow: none; }
html:not([data-theme="dark"]) .dsg-trust-strip {
  background: #fff;
  box-shadow: 0 12px 35px rgb(25 40 56 / .055);
}
html:not([data-theme="dark"]) .dsg-gearboxes { background: #f7f8fa; }
html:not([data-theme="dark"]) .dsg-gearboxes::after {
  color: rgb(25 40 56 / .02);
  -webkit-text-stroke: 1px rgb(25 40 56 / .055);
}
html:not([data-theme="dark"]) .dsg-card-grid > *,
html:not([data-theme="dark"]) .dsg-error-card { background: #fff; }
html:not([data-theme="dark"]) .dsg-card-grid > *:hover,
html:not([data-theme="dark"]) .dsg-card-grid > *:focus-within,
html:not([data-theme="dark"]) .dsg-error-card:hover { border-color: #9ca7b3; }
html:not([data-theme="dark"]) .dsg-card-grid a,
html:not([data-theme="dark"]) .dsg-error-card__link a,
html:not([data-theme="dark"]) .dsg-error-preview__action a { text-decoration-color: #a6afb9; }
html:not([data-theme="dark"]) .dsg-error-preview { background: #fff; }
html:not([data-theme="dark"]) .dsg-error-card { background: #f8f9fb; }
html:not([data-theme="dark"]) .dsg-services { background: #f0f2f5; }
html:not([data-theme="dark"]) .dsg-service-card--wide { background: #fff !important; }
html:not([data-theme="dark"]) .dsg-process { background: #fff; color: #191e25; }
html:not([data-theme="dark"]) .dsg-process__steps { background: #f8f9fb; border-color: #d8dde3; }
html:not([data-theme="dark"]) .dsg-process-step + .dsg-process-step { border-color: #d8dde3; }
html:not([data-theme="dark"]) .dsg-process-step__number { background: #fff; }
html:not([data-theme="dark"]) .dsg-process-step--result { background: var(--dsg-accent-soft); color: #191e25; }
html:not([data-theme="dark"]) .dsg-process-step--result .dsg-process-step__number { background: var(--dsg-accent); }
html:not([data-theme="dark"]) .dsg-process-step--result .dsg-process-step__copy p { color: #505b67; }
html:not([data-theme="dark"]) .dsg-process-step--result .dsg-process-step__status { color: var(--dsg-accent-hover); border-color: var(--dsg-accent-border); }
html:not([data-theme="dark"]) .dsg-symptoms { background: #f0f2f5; color: #191e25; }
html:not([data-theme="dark"]) .dsg-symptoms::after { border-color: #d8dde3; }
html:not([data-theme="dark"]) .dsg-symptoms__content { color: #fff; box-shadow: 10px 10px 0 rgb(var(--dsg-accent-rgb) / .08); }
html:not([data-theme="dark"]) .dsg-symptoms__content h2 { color: #fff; }
html:not([data-theme="dark"]) .dsg-symptoms__diagnostic { background: #fff; }
html:not([data-theme="dark"]) .dsg-symptom-card { background: #f8f9fb; }
html:not([data-theme="dark"]) .dsg-site-footer { background: #e9edf1; }
html:not([data-theme="dark"]) .dsg-site-footer::before { color: rgb(25 40 56 / .025); }
html:not([data-theme="dark"]) .wp-block-navigation__responsive-container.is-menu-open {
  background: #fff !important;
  color: #191e25 !important;
}

/* Theme controls coexist with native WordPress navigation. */
html[data-theme="dark"] { color-scheme: dark; }
.dsg-theme-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  color: var(--wp--preset--color--text);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 44px;
  block-size: 44px;
  inline-size: 44px;
  justify-content: center;
  padding: 0;
}
.dsg-theme-toggle[hidden] { display: none; }
.dsg-theme-toggle:hover { background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--muted); }
.dsg-theme-toggle svg { block-size: 21px; inline-size: 21px; }
.dsg-theme-toggle__sun { display: none; }
html[data-theme="dark"] .dsg-theme-toggle__moon { display: none; }
html[data-theme="dark"] .dsg-theme-toggle__sun { display: block; }
.dsg-site-header__call-icon { display: none; }
@media (min-width: 961px) {
  .dsg-site-header__inner { gap: .8rem; }
  .dsg-site-header .wp-block-navigation { margin-inline-start: auto; }
}
@media (min-width: 961px) and (max-width: 1199px) {
  .dsg-brand__tagline { display: none; }
  .dsg-site-header .wp-block-navigation { font-size: .82rem; }
  .dsg-site-header .wp-block-navigation__container { gap: .15rem; }
  .dsg-site-header .wp-block-navigation-item__content { padding-inline: .25rem; }
  .dsg-site-header__call { font-size: .82rem; padding-inline: .7rem; }
}
@media (max-width: 960px) {
  .dsg-site-header .dsg-site-header__inner {
    gap: clamp(.5rem, 2vw, .75rem);
    justify-content: flex-start;
  }
  .dsg-site-header .dsg-theme-toggle { margin-inline-start: auto; order: 1; }
  .dsg-site-header .dsg-site-header__call { margin-inline-start: 0; order: 2; }
  .dsg-site-header .dsg-site-header__viber { order: 3; }
  .dsg-site-header .wp-block-navigation { flex: 0 0 44px; margin-inline-start: 0; order: 4; }
  .no-js .dsg-site-header__call { margin-inline-start: auto; order: 1; }
}
/* Matching icon-only phone and Viber controls at every screen width. */
.dsg-site-header .dsg-site-header__call {
  flex: 0 0 44px;
  block-size: 44px;
  inline-size: 44px;
  min-block-size: 44px;
  padding: 0;
  overflow: visible;
  text-indent: 0;
}
.dsg-site-header .dsg-site-header__call::before,
.dsg-site-header .dsg-site-header__call::after { content: none; display: none; }
.dsg-site-header__call > span { display: none; }
.dsg-site-header__call-icon { display: block; block-size: 22px; inline-size: 22px; }
@media (max-width: 359px) {
  .dsg-site-header__inner { padding-inline: 12px; }
  .dsg-site-title a { font-size: .91rem; }
  .dsg-site-title a::before { margin-inline-end: .4rem; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
/* One supplied mark, identical contours in both themes. The orange service line stays orange. */
.dsg-site-title a::before { display: none; }
.dsg-site-title,
.dsg-site-footer__title { line-height: 0; }
.dsg-logo {
  display: inline-block;
  position: relative;
  width: 164px;
  max-width: 100%;
  aspect-ratio: 2010 / 782;
  flex: 0 0 auto;
}
.dsg-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.dsg-logo__orange { display: none !important; position: absolute; inset: 0; clip-path: inset(64% 0 0 0); }
html[data-theme="dark"] .dsg-logo__base { filter: brightness(0) invert(1); }
html[data-theme="dark"] .dsg-logo__orange { display: block !important; }
.dsg-site-footer__title .dsg-logo { width: 245px; }
.dsg-site-title a { min-height: 64px; }
.dsg-site-header__inner { min-height: 84px; }
@media (max-width: 1199px) {
  .dsg-site-title .dsg-logo { width: 145px; }
}
@media (max-width: 960px) {
  .dsg-site-title .dsg-logo { width: 148px; }
  .dsg-site-header__inner { min-height: 76px; }
  .dsg-site-title a { min-height: 60px; }
}
@media (max-width: 359px) {
  .dsg-site-title .dsg-logo { width: 126px; }
}

/* Brand exceptions on photographs and filled call-to-action panels. */
.dsg-home-hero__visual-flow i { color: #ff9b42 !important; }
.dsg-process-step--result .dsg-process-step__number { color: #fff; }
.dsg-symptoms__content, .dsg-symptoms__content h2,
.dsg-symptoms__content > p, .dsg-symptoms__action p { color: #fff; }
html[data-theme="dark"] .dsg-symptoms__content { background: #162780; }
html:not([data-theme="dark"]) .dsg-select__list { box-shadow: 0 12px 32px var(--dsg-popup-shadow); }
html:not([data-theme="dark"]) .dsg-error-page .dsg-error-catalog-hero::after { color: rgb(25 40 56 / .045); }
html:not([data-theme="dark"]) .dsg-error-page :is(.dsg-error-button, [data-copy-report]):hover { background: #edf0fc; }
html:not([data-theme="dark"]) .dsg-catalog__field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2358626e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
/* Keep the current pagination label legible over the filled brand background. */
.dsg-catalog__pagination .page-numbers.current { color: #fff; }

/* A direct Viber chat control next to the existing header phone button. */
.dsg-site-header__viber {
  align-items: center;
  background: var(--wp--preset--color--brand);
  border: 1px solid transparent;
  border-radius: 4px;
  block-size: 44px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 44px;
  inline-size: 44px;
  justify-content: center;
  text-decoration: none;
}
.dsg-site-header__viber:hover { background: var(--wp--preset--color--brand-dark); }
.dsg-site-header__viber svg { block-size: 23px; inline-size: 23px; }
@media (max-width: 420px) {
  .dsg-site-header .dsg-site-title .dsg-logo { width: clamp(88px, calc(100vw - 240px), 148px); }
}
