/* Тёмная тема — сгенерировано tools/build-dark-css.py из main.css. Не править вручную: перегенерировать. */
html[data-theme="dark"] { color-scheme: dark; background: #101417; }
html[data-theme="dark"] body { background: #101417; color: #e6e9eb; }
html[data-theme="dark"] ::selection { background: rgba(241, 41, 56, .45); color: #fff; }
html[data-theme="dark"] input, html[data-theme="dark"] textarea, html[data-theme="dark"] select { color: #e6e9eb; }
html[data-theme="dark"] input::placeholder, html[data-theme="dark"] textarea::placeholder { color: #a3a9ad; }
/* тёмный логотип и тёмные иконки — светлыми */
html[data-theme="dark"] .header__logo img, html[data-theme="dark"] .theme-invert { filter: invert(1) hue-rotate(180deg) brightness(1.05); }
/* картинки чуть приглушаем, чтобы не слепили */
html[data-theme="dark"] main img:not(.theme-keep) { filter: brightness(.92); }
/* логотипы клиентов нарисованы под светлый фон — даём им светлые плашки */
html[data-theme="dark"] .client-card { background: #eef0f2; border-radius: 12px; }
html[data-theme="dark"] .client-card img { filter: none; }
/* Яндекс.Карта — тёмная */
html[data-theme="dark"] .map { filter: invert(.9) hue-rotate(180deg) saturate(.8); }

/* Кнопка переключения темы (видна в обеих темах) */
.header__theme, .header-mob__theme { display: flex; align-items: center; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #20272c; cursor: pointer; transition: background .2s, color .2s; }
.theme-toggle:hover { background: rgba(32, 39, 44, .08); }
.theme-toggle:focus-visible { outline: 2px solid #f12938; outline-offset: 2px; }
.theme-toggle__sun, .theme-toggle__text { display: none; }
html[data-theme="dark"] .theme-toggle { color: #e6e9eb; }
html[data-theme="dark"] .theme-toggle:hover { background: rgba(255, 255, 255, .08); }
html[data-theme="dark"] .theme-toggle__moon { display: none; }
html[data-theme="dark"] .theme-toggle__sun { display: inline; }

html[data-theme="dark"] .bg-accent {
  background: #1b2227;
}

html[data-theme="dark"] .bg-accent-3 {
  background: #1d2328;
}

html[data-theme="dark"] .bg-accent-4 {
  background: #1a1f23;
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6 {
  color: #e6e9eb;
}

html[data-theme="dark"] li,
html[data-theme="dark"] p {
  color: #e6e9eb;
}

html[data-theme="dark"] .text-tmp.txt-color-accent p a,
html[data-theme="dark"] .text-tmp.txt-color-accent li a {
  color: #e6e9eb;
}

html[data-theme="dark"] .text-tmp.txt-color-accent-2 p,
html[data-theme="dark"] .text-tmp.txt-color-accent-2 li {
  color: #a3a9ad;
}

html[data-theme="dark"] .text-tmp .table-wrapper table tr:nth-child(odd) {
  background: rgba(255,255,255,0.08);
}

html[data-theme="dark"] .btn.accent {
  border-color: #4a545b;
  background: #1b2227;
}

html[data-theme="dark"] .btn.accent.active {
  background: #171c20;
  color: #e6e9eb;
}

@media (hover) {
html[data-theme="dark"] .btn.accent:hover {
  background: #171c20;
  color: #e6e9eb;
}
}

html[data-theme="dark"] .btn.accent.transparent {
  background: #171c20;
  border-color: #4a545b;
  color: #e6e9eb;
}

@media (hover) {
html[data-theme="dark"] .btn.accent.transparent:hover {
  background: #1b2227;
  border-color: #4a545b;
}
}

html[data-theme="dark"] .btn.accent-3 {
  border-color: #323b41;
  background: #1d2328;
  color: #e6e9eb;
}

html[data-theme="dark"] .btn.accent-3.active {
  background: #1b2227;
  border-color: #4a545b;
}

@media (hover) {
html[data-theme="dark"] .btn.accent-3:hover {
  background: #1b2227;
  border-color: #4a545b;
}
}

html[data-theme="dark"] .btn-arrow {
  background: #171c20;
}

html[data-theme="dark"] .pagination {
  background: #1d2328;
}

html[data-theme="dark"] .pagination > * {
  background: #171c20;
  color: #e6e9eb;
}

html[data-theme="dark"] .pagination > * svg {
  fill: #e6e9eb;
}

html[data-theme="dark"] .burger-btn_short::before,
html[data-theme="dark"] .burger-btn_cross-deg::before,
html[data-theme="dark"] .burger-btn_cross::before,
html[data-theme="dark"] .burger-btn_short::after,
html[data-theme="dark"] .burger-btn_cross-deg::after,
html[data-theme="dark"] .burger-btn_cross::after,
html[data-theme="dark"] .burger-btn_short .burger-btn__item,
html[data-theme="dark"] .burger-btn_cross-deg .burger-btn__item,
html[data-theme="dark"] .burger-btn_cross .burger-btn__item {
  background: #e6e9eb;
}

html[data-theme="dark"] .card-link__desc .text-tmp > *::after {
  background: #171c20;
}

html[data-theme="dark"] .portfolio-card__footer .text-tmp > h1::after,
html[data-theme="dark"] .portfolio-card__footer .text-tmp > h2::after,
html[data-theme="dark"] .portfolio-card__footer .text-tmp > h3::after,
html[data-theme="dark"] .portfolio-card__footer .text-tmp > h4::after,
html[data-theme="dark"] .portfolio-card__footer .text-tmp > h5::after,
html[data-theme="dark"] .portfolio-card__footer .text-tmp > h6::after {
  background: #171c20;
}

html[data-theme="dark"] .text-card {
  background: #1b2227;
}

@media (hover) {
html[data-theme="dark"] .text-card:hover {
  background: #28323a;
}
}

html[data-theme="dark"] .service-card {
  background: #1a1f23;
}

html[data-theme="dark"] .in-price-card {
  background: #171c20;
}

html[data-theme="dark"] .contacts-card {
  background: #1a1f23;
}

html[data-theme="dark"] .contacts-card ul li {
  color: #a3a9ad;
}

html[data-theme="dark"] .contacts-card ul li a {
  color: #a3a9ad;
}

@media (hover) {
html[data-theme="dark"] .contacts-card ul li a:hover {
  color: #e6e9eb;
}
}

html[data-theme="dark"] .blog-card__tags ul li:nth-child(1) {
  background: #171c20;
  color: #e6e9eb;
}

html[data-theme="dark"] .checkbox__label p {
  color: #a3a9ad;
}

html[data-theme="dark"] .checkbox__label p a {
  color: #e6e9eb;
}

html[data-theme="dark"] .checkbox__input:checked + .checkbox__content {
  border-color: #7c8388;
}

html[data-theme="dark"] .checkbox__content {
  border: 2px solid #7c8388;
}

html[data-theme="dark"] .switch__label {
  border: 1px solid rgba(255,255,255,0.12);
}

html[data-theme="dark"] .radio__input:checked + .radio__round {
  border-color: #4a545b;
}

html[data-theme="dark"] .radio__round {
  border: 1px solid rgba(255,255,255,0.12);
}

html[data-theme="dark"] .radio p {
  color: #e6e9eb;
}

html[data-theme="dark"] .select-custom {
  border-bottom: 2px solid #7c8388;
  color: #e6e9eb;
}

html[data-theme="dark"] .select-custom.input-error {
  background: rgba(255,255,255,0.08);
}

html[data-theme="dark"] .select-custom.active {
  border-color: #4a545b;
}

html[data-theme="dark"] .select-custom__list {
  background: #171c20;
  border: 2px solid #7c8388;
}

html[data-theme="dark"] .select-custom__list ul li {
  color: #e6e9eb;
}

html[data-theme="dark"] .select-custom__list ul li.active {
  background: #1b2227;
}

html[data-theme="dark"] .input input,
html[data-theme="dark"] .input textarea {
  border-bottom: 2px solid #7c8388;
  color: #e6e9eb;
}

html[data-theme="dark"] .input input::-moz-placeholder,
html[data-theme="dark"] .input textarea::-moz-placeholder {
  color: #a3a9ad;
}

html[data-theme="dark"] .input input::placeholder,
html[data-theme="dark"] .input textarea::placeholder {
  color: #a3a9ad;
}

html[data-theme="dark"] .input input:focus,
html[data-theme="dark"] .input input.active,
html[data-theme="dark"] .input textarea:focus,
html[data-theme="dark"] .input textarea.active {
  border-color: #4a545b;
}

html[data-theme="dark"] .file-custom__btn {
  border-bottom: 2px solid #7c8388;
  color: #a3a9ad;
}

html[data-theme="dark"] .file-custom__btn svg {
  fill: #a3a9ad;
}

@media (hover) {
html[data-theme="dark"] .file-custom__btn:hover {
  background: #1d2328;
}
}

@media (hover) {
html[data-theme="dark"] .file-custom__delete:hover {
  border-color: #4a545b;
}
}

html[data-theme="dark"] .form-preloader {
  background: #171c20;
  color: #e6e9eb;
  border: 1px solid rgba(255,255,255,0.12);
}

html[data-theme="dark"] .form-preloader__round::after {
  border: 4px solid rgba(255,255,255,0.12);
}

html[data-theme="dark"] .captcha__txt {
  border: 1px solid rgba(255,255,255,0.12);
}

html[data-theme="dark"] .captcha__field {
  border: 1px solid rgba(255,255,255,0.12);
  color: #e6e9eb;
}

html[data-theme="dark"] .captcha__field::-moz-placeholder {
  color: #e6e9eb;
}

html[data-theme="dark"] .captcha__field::placeholder {
  color: #e6e9eb;
}

html[data-theme="dark"] .captcha__field:focus,
html[data-theme="dark"] .captcha__field.active {
  border-color: #4a545b;
}

html[data-theme="dark"] .arrow-slider {
  border: 1px solid #4a545b;
}

html[data-theme="dark"] .arrow-slider svg {
  fill: #e6e9eb;
}

@media (hover) {
html[data-theme="dark"] .arrow-slider:hover {
  border-color: #4a545b;
}
}

html[data-theme="dark"] .social a {
  border: 1px solid #4a545b;
  background-color: #1b2227;
}

@media (hover) {
html[data-theme="dark"] .social a:hover {
  background: #28323a;
}
}

html[data-theme="dark"] .modal-time__inner {
  background: #171c20;
}

html[data-theme="dark"] .date-timer {
  background: #1a1f23;
}

html[data-theme="dark"] .date-timer__nums-wrap {
  color: #a3a9ad;
}

html[data-theme="dark"] .date-timer__nums-wrap:nth-child(1) .date-timer__txt {
  color: #a3a9ad;
}

html[data-theme="dark"] .date-timer__nums {
  color: #e6e9eb;
}

html[data-theme="dark"] .date-timer__txt {
  color: #e6e9eb;
}

html[data-theme="dark"] .list-head ul li:nth-child(2) {
  color: #a3a9ad;
}

html[data-theme="dark"] .bradcrumbs ul li > * {
  color: #e6e9eb;
}

@media (hover) {
html[data-theme="dark"] .bradcrumbs ul li > a:hover {
  color: #c9ced1;
}
}

html[data-theme="dark"] .bradcrumbs ul li > *:not(a) {
  color: #a3a9ad;
}

@media (hover) {
html[data-theme="dark"] .directions__tags ul li > *:hover {
  background: #171c20;
  color: #e6e9eb;
}
}

html[data-theme="dark"] .swiper-scrollbar {
  background: rgba(255,255,255,0.08);
}

html[data-theme="dark"] .fancybox__content {
  background: var(--fancybox-content-bg, #171c20);
}

html[data-theme="dark"] .header__nav ul a {
  color: #e6e9eb;
}

html[data-theme="dark"] .header__nav ul a::before {
  background: #1b2227;
}

html[data-theme="dark"] .header__btn-request {
  background: #1d2328;
}

html[data-theme="dark"] .header__lang > ul > li > button {
  background: #1d2328;
}

html[data-theme="dark"] .header__lang-drop ul a {
  color: #e6e9eb;
  background: #1d2328;
}

html[data-theme="dark"] .header-mob__inner {
  background: #171c20;
}

html[data-theme="dark"] .header-mob__inner::-webkit-scrollbar-track {
  background-color: #1a1f23;
}

html[data-theme="dark"] .header-mob__inner::-webkit-scrollbar-thumb {
  background: #1b2227;
}

html[data-theme="dark"] .header-mob__lang ul li:not(:last-child)::after {
  color: #a3a9ad;
}

html[data-theme="dark"] .header-mob__lang ul li > * {
  color: #a3a9ad;
}

html[data-theme="dark"] .header-mob__lang ul li span {
  color: #e6e9eb;
}

html[data-theme="dark"] .header-mob__close svg {
  fill: #e6e9eb;
}

html[data-theme="dark"] .header-mob__nav ul a {
  color: #e6e9eb;
}

html[data-theme="dark"] .header-mob__footer {
  border-top: 1px solid #323b41;
}

html[data-theme="dark"] .header-mob__social ul a {
  color: #a3a9ad;
}

html[data-theme="dark"] .footer__social ul a {
  background: #1b2227;
}

@media (hover) {
html[data-theme="dark"] .footer__social ul a:hover {
  background: #28323a;
}
}

html[data-theme="dark"] .footer__inner {
  background: #1b2227;
}

html[data-theme="dark"] .footer__nav ul a::after {
  background: #171c20;
}
