/*
 * Law Palette Switcher 2.4
 * Плагин переопределяет реальные токены основного файла сайта:
 * --law-color-primary, --law-color-primary-soft, --law-color-accent и т. д.
 */

/* =========================================================
   1. ОБЩИЕ ПЕРЕМЕННЫЕ ПЕРЕКЛЮЧАТЕЛЯ
   ========================================================= */

:root {
  --lps-panel-bg: #ffffff;
  --lps-panel-text: #22282b;
  --lps-panel-muted: #5f696e;
  --lps-panel-border: #c7cccf;
  --lps-panel-accent: #9d603c;
}

/* =========================================================
   2. СВЕТЛАЯ ПАЛИТРА — ГРАФИТ И МЕДЬ
   ========================================================= */

:root,
html[data-law-palette="graphite-copper"] {
  color-scheme: light;

  --law-color-primary: #22282b;
  --law-color-primary-soft: #465159;
  --law-color-accent: #9d603c;
  --law-color-accent-hover: #84482b;
  --law-color-accent-on-light: #9d603c;
  --law-color-accent-on-dark: #d1a17e;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #171a1c;

  --law-color-heading: #1c2225;
  --law-color-text: #455055;
  --law-color-muted: #626d72;

  --law-color-bg: #fffdfc;
  --law-color-bg-soft: #f1ece5;
  --law-color-bg-muted: #f7f4ef;

  --law-color-border: #d6ccc0;
  --law-color-border-strong: #8b8177;

  --law-color-white: #ffffff;
  --law-color-black: #131719;

  --law-shadow-sm: 0 4px 14px rgba(34, 40, 43, 0.06);
  --law-shadow-md: 0 12px 30px rgba(34, 40, 43, 0.10);
  --law-shadow-lg: 0 20px 50px rgba(34, 40, 43, 0.15);

  --global-palette1: var(--law-color-primary);
  --global-palette2: var(--law-color-accent);
  --global-palette3: var(--law-color-heading);
  --global-palette4: var(--law-color-text);
  --global-palette5: var(--law-color-muted);
  --global-palette6: var(--law-color-border-strong);
  --global-palette7: var(--law-color-bg-soft);
  --global-palette8: var(--law-color-bg-muted);
  --global-palette9: var(--law-color-bg);
}

/* =========================================================
   3. СВЕТЛАЯ ПАЛИТРА — ТЁМНЫЙ ЗЕЛЁНЫЙ И ПЕСОЧНЫЙ
   Сделана заметно отличающейся: меняются основной цвет,
   фоновые полосы, границы, ссылки, кнопки и тени.
   ========================================================= */

html[data-law-palette="green-stone"] {
  color-scheme: light;

  --law-color-primary: #173a34;
  --law-color-primary-soft: #3b635a;
  --law-color-accent: #806438;
  --law-color-accent-hover: #694d28;
  --law-color-accent-on-light: #806438;
  --law-color-accent-on-dark: #d2bb87;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #10201c;

  --law-color-heading: #18312c;
  --law-color-text: #41534d;
  --law-color-muted: #5c6e68;

  --law-color-bg: #fcfcf8;
  --law-color-bg-soft: #edf0ea;
  --law-color-bg-muted: #f5f1e9;

  --law-color-border: #cdd7d1;
  --law-color-border-strong: #7b8b83;

  --law-color-white: #ffffff;
  --law-color-black: #10201c;

  --law-shadow-sm: 0 4px 14px rgba(23, 58, 52, 0.07);
  --law-shadow-md: 0 12px 30px rgba(23, 58, 52, 0.11);
  --law-shadow-lg: 0 20px 50px rgba(23, 58, 52, 0.16);

  --global-palette1: var(--law-color-primary);
  --global-palette2: var(--law-color-accent);
  --global-palette3: var(--law-color-heading);
  --global-palette4: var(--law-color-text);
  --global-palette5: var(--law-color-muted);
  --global-palette6: var(--law-color-border-strong);
  --global-palette7: var(--law-color-bg-soft);
  --global-palette8: var(--law-color-bg-muted);
  --global-palette9: var(--law-color-bg);
}

/* Усиление визуального отличия зелёной темы. */
html[data-law-palette="green-stone"] .law-hero,
html[data-law-palette="green-stone"] .vlp-hero,
html[data-law-palette="green-stone"] .law-placeholder-page {
  background:
    radial-gradient(circle at 88% 12%, rgba(210, 187, 135, 0.20), transparent 34%),
    linear-gradient(135deg, #f7f6f1 0%, #e6ece8 100%) !important;
}

html[data-law-palette="green-stone"] .law-about-section,
html[data-law-palette="green-stone"] .law-contact-section,
html[data-law-palette="green-stone"] .vlp-form-section {
  background: linear-gradient(180deg, #fcfcf8 0%, #eef1ec 100%) !important;
}

html[data-law-palette="green-stone"] .law-practice-card--private,
html[data-law-palette="green-stone"] .vlp-situation-card {
  background: linear-gradient(145deg, rgba(237, 240, 234, 0.94), #ffffff) !important;
}

html[data-law-palette="green-stone"] .law-practice-card--business,
html[data-law-palette="green-stone"] .vlp-scenario-card:nth-child(even) .kt-blocks-info-box-link-wrap {
  background: linear-gradient(145deg, rgba(23, 58, 52, 0.07), #ffffff) !important;
}

/* =========================================================
   4. ТЁМНАЯ ПАЛИТРА — ГРАФИТ И МАТОВАЯ БРОНЗА
   ========================================================= */

html[data-law-palette="dark-graphite"] {
  color-scheme: dark;

  --law-color-primary: #161b1e;
  --law-color-primary-soft: #c9cfcc;
  --law-color-accent: #b58955;
  --law-color-accent-hover: #d0aa79;
  --law-color-accent-on-light: #7a5732;
  --law-color-accent-on-dark: #b58955;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #111416;

  --law-color-heading: #f4f0e8;
  --law-color-text: #d2d5d1;
  --law-color-muted: #a9b0ac;

  --law-color-bg: #171c1f;
  --law-color-bg-soft: #202629;
  --law-color-bg-muted: #272d30;

  --law-color-border: #3e474a;
  --law-color-border-strong: #657074;

  --law-color-white: #f7f3eb;
  --law-color-black: #0d1011;

  --law-shadow-sm: 0 4px 14px rgba(0, 0, 0, 0.22);
  --law-shadow-md: 0 12px 30px rgba(0, 0, 0, 0.30);
  --law-shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.38);

  --global-palette1: var(--law-color-accent);
  --global-palette2: var(--law-color-accent-hover);
  --global-palette3: var(--law-color-heading);
  --global-palette4: var(--law-color-text);
  --global-palette5: var(--law-color-muted);
  --global-palette6: var(--law-color-border-strong);
  --global-palette7: var(--law-color-bg-muted);
  --global-palette8: var(--law-color-bg-soft);
  --global-palette9: var(--law-color-bg);
}

/* =========================================================
   5. БАЗОВЫЕ ПОВЕРХНОСТИ И ТИПОГРАФИКА ТЁМНОЙ ТЕМЫ
   Только адресные правила. Без глобального * !important.
   ========================================================= */

html[data-law-palette="dark-graphite"],
html[data-law-palette="dark-graphite"] body,
html[data-law-palette="dark-graphite"] .site,
html[data-law-palette="dark-graphite"] .site-container,
html[data-law-palette="dark-graphite"] .site-main,
html[data-law-palette="dark-graphite"] .content-area,
html[data-law-palette="dark-graphite"] .entry,
html[data-law-palette="dark-graphite"] .entry-content,
html[data-law-palette="dark-graphite"] .entry-content-wrap {
  background-color: var(--law-color-bg) !important;
  color: var(--law-color-text);
}

html[data-law-palette="dark-graphite"] h1,
html[data-law-palette="dark-graphite"] h2,
html[data-law-palette="dark-graphite"] h3,
html[data-law-palette="dark-graphite"] h4,
html[data-law-palette="dark-graphite"] h5,
html[data-law-palette="dark-graphite"] h6,
html[data-law-palette="dark-graphite"] .entry-title,
html[data-law-palette="dark-graphite"] .law-section-heading h2,
html[data-law-palette="dark-graphite"] .vlp-section-heading,
html[data-law-palette="dark-graphite"] .vlp-section-title,
html[data-law-palette="dark-graphite"] .vlp-summary-title {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] body,
html[data-law-palette="dark-graphite"] p,
html[data-law-palette="dark-graphite"] li,
html[data-law-palette="dark-graphite"] td,
html[data-law-palette="dark-graphite"] label,
html[data-law-palette="dark-graphite"] .entry-content,
html[data-law-palette="dark-graphite"] .kt-adv-heading {
  color: var(--law-color-text);
}

html[data-law-palette="dark-graphite"] a:not(.law-button):not(.kt-button):not(.wp-block-button__link):not(.header-button) {
  color: var(--law-color-accent-hover);
}

html[data-law-palette="dark-graphite"] a:not(.law-button):not(.kt-button):not(.wp-block-button__link):not(.header-button):hover,
html[data-law-palette="dark-graphite"] a:not(.law-button):not(.kt-button):not(.wp-block-button__link):not(.header-button):focus-visible {
  color: #efd2a9;
}

/* =========================================================
   6. ШАПКА, МЕНЮ И МОБИЛЬНАЯ НАВИГАЦИЯ
   ========================================================= */

html[data-law-palette="dark-graphite"] .site-main-header-wrap,
html[data-law-palette="dark-graphite"] .site-main-header-inner-wrap,
html[data-law-palette="dark-graphite"] .site-header-row-container-inner,
html[data-law-palette="dark-graphite"] .site-header-upper-inner-wrap,
html[data-law-palette="dark-graphite"] .site-header-lower-inner-wrap {
  background: #171b1d !important;
  border-color: var(--law-color-border) !important;
}

html[data-law-palette="dark-graphite"] .site-branding .site-title a,
html[data-law-palette="dark-graphite"] .main-navigation .primary-menu-container > ul > li > a,
html[data-law-palette="dark-graphite"] .mobile-navigation a,
html[data-law-palette="dark-graphite"] .drawer-nav-drop-wrap a,
html[data-law-palette="dark-graphite"] .menu-toggle-open,
html[data-law-palette="dark-graphite"] .menu-toggle-close {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .main-navigation .primary-menu-container > ul > li > a:hover,
html[data-law-palette="dark-graphite"] .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
html[data-law-palette="dark-graphite"] .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a,
html[data-law-palette="dark-graphite"] .mobile-navigation a:hover {
  color: var(--law-color-accent-hover) !important;
}

html[data-law-palette="dark-graphite"] .popup-drawer .drawer-inner,
html[data-law-palette="dark-graphite"] .popup-drawer .drawer-content,
html[data-law-palette="dark-graphite"] .mobile-navigation,
html[data-law-palette="dark-graphite"] .sub-menu {
  background: #1d2225 !important;
  color: var(--law-color-text) !important;
}

/* =========================================================
   7. ГЛАВНАЯ СТРАНИЦА — ТЁМНАЯ ТЕМА
   ========================================================= */

html[data-law-palette="dark-graphite"] .law-hero,
html[data-law-palette="dark-graphite"] .law-placeholder-page,
html[data-law-palette="dark-graphite"] .vlp-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(181, 137, 85, 0.18), transparent 34%),
    linear-gradient(135deg, #171c1f 0%, #252c30 100%) !important;
}

html[data-law-palette="dark-graphite"] .law-hero h1,
html[data-law-palette="dark-graphite"] .law-hero__motto-latin,
html[data-law-palette="dark-graphite"] .vlp-hero__title,
html[data-law-palette="dark-graphite"] .vlp-hero__title.kt-adv-heading,
html[data-law-palette="dark-graphite"] .vlp-hero__title .kt-adv-heading,
html[data-law-palette="dark-graphite"] .law-placeholder-card h1 {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .law-hero__content > p,
html[data-law-palette="dark-graphite"] .law-hero__trust,
html[data-law-palette="dark-graphite"] .vlp-hero__lead,
html[data-law-palette="dark-graphite"] .vlp-hero__support,
html[data-law-palette="dark-graphite"] .vlp-hero__meta,
html[data-law-palette="dark-graphite"] .vlp-hero__meta li,
html[data-law-palette="dark-graphite"] .law-placeholder-card p {
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .law-hero__actions .kt-btn-wrap:nth-child(2) .kt-button,
html[data-law-palette="dark-graphite"] .law-hero__actions .wp-block-button:nth-child(2) .wp-block-button__link,
html[data-law-palette="dark-graphite"] .law-hero__actions > .law-button:nth-child(2),
html[data-law-palette="dark-graphite"] .law-hero__actions .law-button--secondary,
html[data-law-palette="dark-graphite"] .vlp-hero__actions .kt-btn-wrap:nth-child(2) .kt-button,
html[data-law-palette="dark-graphite"] .vlp-hero__actions .wp-block-button:nth-child(2) .wp-block-button__link,
html[data-law-palette="dark-graphite"] .vlp-hero__actions > .law-button:nth-child(2),
html[data-law-palette="dark-graphite"] .vlp-hero__actions .law-button--secondary {
  border-color: var(--law-color-accent) !important;
  color: var(--law-color-accent-hover) !important;
}

html[data-law-palette="dark-graphite"] .law-hero__actions .kt-btn-wrap:nth-child(2) .kt-button:hover,
html[data-law-palette="dark-graphite"] .law-hero__actions .law-button--secondary:hover,
html[data-law-palette="dark-graphite"] .vlp-hero__actions .kt-btn-wrap:nth-child(2) .kt-button:hover,
html[data-law-palette="dark-graphite"] .vlp-hero__actions .law-button--secondary:hover {
  background: var(--law-color-accent) !important;
  color: var(--law-color-on-accent-dark) !important;
}

html[data-law-palette="dark-graphite"] .law-proof-strip,
html[data-law-palette="dark-graphite"] .law-proof-strip__item,
html[data-law-palette="dark-graphite"] .law-practice-card,
html[data-law-palette="dark-graphite"] .law-case-card,
html[data-law-palette="dark-graphite"] .law-review-card,
html[data-law-palette="dark-graphite"] .law-process-step,
html[data-law-palette="dark-graphite"] .law-about__fact,
html[data-law-palette="dark-graphite"] .law-contact-form-card,
html[data-law-palette="dark-graphite"] .law-placeholder-card {
  background: var(--law-color-bg-soft) !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .law-practice-card--private,
html[data-law-palette="dark-graphite"] .law-practice-card--business {
  background: linear-gradient(145deg, #252b2e, #1d2225) !important;
}

html[data-law-palette="dark-graphite"] .law-practice-section,
html[data-law-palette="dark-graphite"] .law-reviews-section,
html[data-law-palette="dark-graphite"] .vlp-situations,
html[data-law-palette="dark-graphite"] .vlp-documents {
  background: var(--law-color-bg) !important;
}

html[data-law-palette="dark-graphite"] .law-cases-section,
html[data-law-palette="dark-graphite"] .law-process-section,
html[data-law-palette="dark-graphite"] .vlp-assistance,
html[data-law-palette="dark-graphite"] .vlp-faq,
html[data-law-palette="dark-graphite"] .vlp-article-scenarios,
html[data-law-palette="dark-graphite"] .vlp-article-request,
html[data-law-palette="dark-graphite"] .vlp-author-box {
  background: var(--law-color-bg-muted) !important;
}

html[data-law-palette="dark-graphite"] .law-about-section,
html[data-law-palette="dark-graphite"] .law-contact-section,
html[data-law-palette="dark-graphite"] .vlp-form-section {
  background: linear-gradient(180deg, #171c1f 0%, #202629 100%) !important;
}

html[data-law-palette="dark-graphite"] .law-section-heading h2,
html[data-law-palette="dark-graphite"] .law-practice-card h3,
html[data-law-palette="dark-graphite"] .law-case-card h3,
html[data-law-palette="dark-graphite"] .law-process-step h3,
html[data-law-palette="dark-graphite"] .law-about__content h2,
html[data-law-palette="dark-graphite"] .law-about__fact strong,
html[data-law-palette="dark-graphite"] .law-about__fact > p:first-child,
html[data-law-palette="dark-graphite"] .law-contact-form-card h2,
html[data-law-palette="dark-graphite"] .law-contact-form-card h3 {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .law-section-heading p,
html[data-law-palette="dark-graphite"] .law-practice-card p,
html[data-law-palette="dark-graphite"] .law-practice-card li,
html[data-law-palette="dark-graphite"] .law-case-card p,
html[data-law-palette="dark-graphite"] .law-review-card p,
html[data-law-palette="dark-graphite"] .law-process-step p,
html[data-law-palette="dark-graphite"] .law-about__lead,
html[data-law-palette="dark-graphite"] .law-about__fact span,
html[data-law-palette="dark-graphite"] .law-about__fact > p:last-child,
html[data-law-palette="dark-graphite"] .law-contact-form-card .law-form-note {
  color: var(--law-color-text) !important;
}

/* =========================================================
   8. СТРАНИЦЫ ПРАКТИК VLP — ТЁМНАЯ ТЕМА
   ========================================================= */

html[data-law-palette="dark-graphite"] .vlp-breadcrumbs,
html[data-law-palette="dark-graphite"] .vlp-situations__note,
html[data-law-palette="dark-graphite"] .vlp-security-note,
html[data-law-palette="dark-graphite"] .vlp-form-direction,
html[data-law-palette="dark-graphite"] .vlp-form-note,
html[data-law-palette="dark-graphite"] .vlp-form-disclaimer,
html[data-law-palette="dark-graphite"] .vlp-assistance__disclaimer {
  background: var(--law-color-bg-soft) !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-situation-card,
html[data-law-palette="dark-graphite"] .vlp-action-list__item,
html[data-law-palette="dark-graphite"] .vlp-action-list .kt-svg-icon-list-item-wrap,
html[data-law-palette="dark-graphite"] .vlp-process-card,
html[data-law-palette="dark-graphite"] .vlp-form-shell,
html[data-law-palette="dark-graphite"] .vlp-faq__accordion .kt-accordion-pane {
  background: var(--law-color-bg-soft) !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-situation-card {
  background: linear-gradient(145deg, #252b2e, #1d2225) !important;
}

html[data-law-palette="dark-graphite"] .vlp-situation-card__title,
html[data-law-palette="dark-graphite"] .vlp-situation-card h3,
html[data-law-palette="dark-graphite"] .vlp-process-card__title,
html[data-law-palette="dark-graphite"] .vlp-process-card h3,
html[data-law-palette="dark-graphite"] .vlp-documents .vlp-security-title,
html[data-law-palette="dark-graphite"] .vlp-form-shell label {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .vlp-situation-card__text,
html[data-law-palette="dark-graphite"] .vlp-situation-card p,
html[data-law-palette="dark-graphite"] .vlp-action-list__item,
html[data-law-palette="dark-graphite"] .vlp-action-list .kt-svg-icon-list-item-wrap,
html[data-law-palette="dark-graphite"] .vlp-process-card p,
html[data-law-palette="dark-graphite"] .vlp-document-list li,
html[data-law-palette="dark-graphite"] .vlp-document-list .kt-svg-icon-list-item-wrap {
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-faq__accordion .kt-blocks-accordion-header,
html[data-law-palette="dark-graphite"] .vlp-faq__accordion .kt-accordion-panel-inner {
  background: var(--law-color-bg-soft) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-faq__accordion .kt-blocks-accordion-header:hover,
html[data-law-palette="dark-graphite"] .vlp-faq__accordion .kt-blocks-accordion-header:focus,
html[data-law-palette="dark-graphite"] .vlp-faq__accordion .kt-blocks-accordion-header.kt-accordion-panel-active {
  background: var(--law-color-accent) !important;
  color: var(--law-color-on-accent-dark) !important;
}

/* =========================================================
   9. СТАТЬИ И БЛОГ — ТЁМНАЯ ТЕМА
   ========================================================= */

html[data-law-palette="dark-graphite"] .vlp-article,
html[data-law-palette="dark-graphite"] .single-post:has(.vlp-article) .entry,
html[data-law-palette="dark-graphite"] .single-post:has(.vlp-article) .entry-content-wrap {
  background: var(--law-color-bg) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-article-summary,
html[data-law-palette="dark-graphite"] .vlp-article-summary + .vlp-article-content,
html[data-law-palette="dark-graphite"] .vlp-help-note,
html[data-law-palette="dark-graphite"] .vlp-document-group > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .vlp-table-wrap,
html[data-law-palette="dark-graphite"] .vlp-related-card,
html[data-law-palette="dark-graphite"] .vlp-article-faq .kt-accordion-panel-inner {
  background: var(--law-color-bg-soft) !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-article-summary + .vlp-article-content,
html[data-law-palette="dark-graphite"] .vlp-help-note {
  background: linear-gradient(135deg, #202629, #252b2e) !important;
}

html[data-law-palette="dark-graphite"] .vlp-scenario-card .kt-blocks-info-box-link-wrap {
  background: var(--law-color-bg-soft) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-scenario-card:nth-child(even) .kt-blocks-info-box-link-wrap {
  background: linear-gradient(145deg, #252b2e, #1d2225) !important;
}

html[data-law-palette="dark-graphite"] .vlp-scenario-card .kt-info-box-title,
html[data-law-palette="dark-graphite"] .vlp-document-group h3,
html[data-law-palette="dark-graphite"] .vlp-table-wrap h3,
html[data-law-palette="dark-graphite"] .vlp-author-box h3 {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .vlp-scenario-card .kt-info-box-text p,
html[data-law-palette="dark-graphite"] .vlp-document-group li,
html[data-law-palette="dark-graphite"] .vlp-author-box p,
html[data-law-palette="dark-graphite"] .vlp-article-content p,
html[data-law-palette="dark-graphite"] .vlp-check-list li {
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-article-faq .kt-blocks-accordion-header {
  background: var(--law-color-bg-muted) !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .vlp-article-faq .kt-blocks-accordion-header:hover,
html[data-law-palette="dark-graphite"] .vlp-article-faq .kt-blocks-accordion-header:focus-visible,
html[data-law-palette="dark-graphite"] .vlp-article-faq .kt-blocks-accordion-header.kt-accordion-panel-active {
  background: var(--law-color-accent) !important;
  border-color: var(--law-color-accent) !important;
  color: var(--law-color-on-accent-dark) !important;
}

html[data-law-palette="dark-graphite"] .vlp-table-wrap td,
html[data-law-palette="dark-graphite"] .vlp-article-table td {
  background: var(--law-color-bg-soft) !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .vlp-table-wrap tbody tr:nth-child(even) td {
  background: var(--law-color-bg-muted) !important;
}

/* =========================================================
   10. ФОРМЫ — ТЁМНАЯ ТЕМА
   ========================================================= */

html[data-law-palette="dark-graphite"] input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] select,
html[data-law-palette="dark-graphite"] textarea,
html[data-law-palette="dark-graphite"] .law-contact-form-card .ff-el-form-control,
html[data-law-palette="dark-graphite"] .vlp-form-shell input,
html[data-law-palette="dark-graphite"] .vlp-form-shell select,
html[data-law-palette="dark-graphite"] .vlp-form-shell textarea {
  background: #111517 !important;
  border-color: var(--law-color-border-strong) !important;
  color: var(--law-color-heading) !important;
  caret-color: var(--law-color-accent-hover);
}

html[data-law-palette="dark-graphite"] input::placeholder,
html[data-law-palette="dark-graphite"] textarea::placeholder,
html[data-law-palette="dark-graphite"] .vlp-form-shell input::placeholder,
html[data-law-palette="dark-graphite"] .vlp-form-shell textarea::placeholder {
  color: #929895 !important;
  opacity: 1;
}

html[data-law-palette="dark-graphite"] .law-contact-form-card .ff-el-input--label label,
html[data-law-palette="dark-graphite"] .law-contact-form-card label,
html[data-law-palette="dark-graphite"] .vlp-form-shell label {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .law-contact-form-card .ff-el-form-check-label,
html[data-law-palette="dark-graphite"] .law-contact-form-card .ff-el-form-check-label p,
html[data-law-palette="dark-graphite"] .vlp-form-note,
html[data-law-palette="dark-graphite"] .vlp-form-disclaimer {
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] input[type="file"]::file-selector-button {
  border: 1px solid var(--law-color-border-strong);
  background: var(--law-color-bg-muted);
  color: var(--law-color-heading);
}

/* =========================================================
   11. КНОПКИ И КОНТРАСТ
   ========================================================= */

html[data-law-palette="dark-graphite"] .law-button,
html[data-law-palette="dark-graphite"] .wp-block-button__link,
html[data-law-palette="dark-graphite"] .kt-button,
html[data-law-palette="dark-graphite"] .header-button,
html[data-law-palette="dark-graphite"] .law-contact-form-card .ff-btn-submit,
html[data-law-palette="dark-graphite"] .law-contact-form-card button[type="submit"],
html[data-law-palette="dark-graphite"] .vlp-form-shell button,
html[data-law-palette="dark-graphite"] .vlp-form-shell input[type="submit"] {
  border-color: var(--law-color-accent) !important;
  background: var(--law-color-accent) !important;
  color: var(--law-color-on-accent-dark) !important;
  -webkit-text-fill-color: var(--law-color-on-accent-dark) !important;
}

html[data-law-palette="dark-graphite"] .law-button:hover,
html[data-law-palette="dark-graphite"] .wp-block-button__link:hover,
html[data-law-palette="dark-graphite"] .kt-button:hover,
html[data-law-palette="dark-graphite"] .header-button:hover,
html[data-law-palette="dark-graphite"] .vlp-form-shell button:hover {
  border-color: var(--law-color-accent-hover) !important;
  background: var(--law-color-accent-hover) !important;
  color: #101314 !important;
}

/* Сохраняем светлый текст в секциях, которые всегда тёмные. */
html[data-law-palette="dark-graphite"] .law-reviews-summary,
html[data-law-palette="dark-graphite"] .law-contact-intro,
html[data-law-palette="dark-graphite"] .law-final-cta,
html[data-law-palette="dark-graphite"] .vlp-notice,
html[data-law-palette="dark-graphite"] .vlp-article-hero,
html[data-law-palette="dark-graphite"] .vlp-article-mistakes,
html[data-law-palette="dark-graphite"] .vlp-article-cta,
html[data-law-palette="dark-graphite"] .law-hero__badge,
html[data-law-palette="dark-graphite"] .vlp-hero__badge,
html[data-law-palette="dark-graphite"] .law-about__note {
  color: rgba(247, 243, 235, 0.84) !important;
}

html[data-law-palette="dark-graphite"] .law-reviews-summary h2,
html[data-law-palette="dark-graphite"] .law-reviews-summary h3,
html[data-law-palette="dark-graphite"] .law-contact-intro h2,
html[data-law-palette="dark-graphite"] .law-contact-intro h3,
html[data-law-palette="dark-graphite"] .law-final-cta h2,
html[data-law-palette="dark-graphite"] .vlp-notice h2,
html[data-law-palette="dark-graphite"] .vlp-notice h3,
html[data-law-palette="dark-graphite"] .vlp-article-hero h1,
html[data-law-palette="dark-graphite"] .vlp-article-mistakes h2,
html[data-law-palette="dark-graphite"] .vlp-article-cta h2 {
  color: var(--law-color-white) !important;
}

html[data-law-palette="dark-graphite"] .law-reviews-summary p,
html[data-law-palette="dark-graphite"] .law-contact-intro p,
html[data-law-palette="dark-graphite"] .law-contact-list li,
html[data-law-palette="dark-graphite"] .law-final-cta p,
html[data-law-palette="dark-graphite"] .vlp-notice__item,
html[data-law-palette="dark-graphite"] .vlp-notice__disclaimer,
html[data-law-palette="dark-graphite"] .vlp-article-lead,
html[data-law-palette="dark-graphite"] .vlp-article-meta,
html[data-law-palette="dark-graphite"] .vlp-article-meta li,
html[data-law-palette="dark-graphite"] .vlp-article-cta p:not(:first-child) {
  color: rgba(247, 243, 235, 0.78) !important;
}

/* =========================================================
   12. ПЛАВНАЯ СМЕНА ЦВЕТА
   ========================================================= */

body,
.site-main-header-wrap,
.site-footer,
.law-hero,
.law-proof-strip,
.law-proof-strip__item,
.law-practice-section,
.law-practice-card,
.law-cases-section,
.law-case-card,
.law-about-section,
.law-about__fact,
.law-reviews-section,
.law-review-card,
.law-process-section,
.law-process-step,
.law-contact-section,
.law-contact-form-card,
.vlp-hero,
.vlp-situations,
.vlp-situation-card,
.vlp-assistance,
.vlp-action-list__item,
.vlp-notice,
.vlp-process-card,
.vlp-documents,
.vlp-faq,
.vlp-form-section,
.vlp-form-shell,
.vlp-article-summary,
.vlp-scenario-card .kt-blocks-info-box-link-wrap,
.vlp-document-group > .kt-inside-inner-col,
.vlp-table-wrap,
.vlp-author-box {
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

/* =========================================================
   13. ИНТЕРФЕЙС ПЕРЕКЛЮЧАТЕЛЯ
   ========================================================= */

.law-palette-switcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 999999;
  font-family: Inter, Arial, sans-serif;
}

.law-palette-switcher__toggle {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 17px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: #202528 !important;
  color: #fff !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.22);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}

.law-palette-switcher__toggle:hover {
  background: #2c3337 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.law-palette-switcher__toggle-icon,
.law-palette-switcher__toggle-icon svg {
  display: inline-flex;
  fill: currentColor;
}

.law-palette-switcher__panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: min(380px, calc(100vw - 32px));
  padding: 20px;
  border: 1px solid var(--lps-panel-border);
  border-radius: 18px;
  background: var(--lps-panel-bg) !important;
  color: var(--lps-panel-text) !important;
  box-shadow: 0 24px 65px rgba(0,0,0,.24);
}

.law-palette-switcher__panel[hidden] { display: none; }

.law-palette-switcher__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.law-palette-switcher__eyebrow {
  margin: 0 0 4px !important;
  color: var(--lps-panel-accent) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.law-palette-switcher__title {
  margin: 0 !important;
  color: #1e2224 !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.law-palette-switcher__close {
  display: inline-flex;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--lps-panel-border) !important;
  border-radius: 50%;
  background: #f5f5f3 !important;
  color: var(--lps-panel-text) !important;
  font: inherit;
  font-size: 24px;
  cursor: pointer;
}

.law-palette-switcher__options { display: grid; gap: 10px; }

.law-palette-option {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) 24px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 68px;
  padding: 10px;
  border: 1px solid #dedfdf !important;
  border-radius: 12px;
  background: #fff !important;
  color: var(--lps-panel-text) !important;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.law-palette-option:hover,
.law-palette-option[aria-pressed="true"] {
  border-color: var(--lps-panel-accent) !important;
  background: #faf6f1 !important;
}

.law-palette-option__swatches {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  width: 58px;
  height: 44px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 8px;
}

.law-palette-option__content { display: grid; gap: 3px; min-width: 0; }
.law-palette-option__content strong { color: var(--lps-panel-text) !important; font-size: 14px; line-height: 1.3; }
.law-palette-option__content small { color: var(--lps-panel-muted) !important; font-size: 12px; line-height: 1.35; }

.law-palette-option__check {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--lps-panel-border);
  border-radius: 50%;
  color: transparent;
  font-size: 13px;
  font-weight: 700;
}

.law-palette-option[aria-pressed="true"] .law-palette-option__check {
  border-color: var(--lps-panel-accent);
  background: var(--lps-panel-accent);
  color: #fff;
}

.law-palette-switcher__note {
  margin: 15px 0 0 !important;
  padding-top: 14px;
  border-top: 1px solid #e2e3e3;
  color: var(--lps-panel-muted) !important;
  font-size: 12px;
  line-height: 1.55;
}

.law-palette-switcher__toggle:focus-visible,
.law-palette-switcher__close:focus-visible,
.law-palette-option:focus-visible {
  outline: 3px solid #d0b083;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .law-palette-switcher { right: 14px; bottom: 14px; left: 14px; }
  .law-palette-switcher__toggle { width: 48px; margin-left: auto; padding-inline: 0; }
  .law-palette-switcher__toggle-text { display: none; }
  .law-palette-switcher__panel { right: 0; width: 100%; max-height: calc(100vh - 95px); overflow-y: auto; }
}

@media (prefers-reduced-motion: reduce) {
  body,
  .law-palette-switcher__toggle,
  .law-palette-option { transition: none !important; }
}

/* =========================================================
   20. DARK THEME 2.1 — MIXED LIGHT/DARK SECTION RHYTHM
   Часть секций остаётся тёмной, часть становится светлой.
   Локальные токены наследуются всеми дочерними элементами.
   ========================================================= */

/* Светлая локальная система внутри тёмной темы. */
html[data-law-palette="dark-graphite"] .law-practice-section,
html[data-law-palette="dark-graphite"] .law-cases-section,
html[data-law-palette="dark-graphite"] .law-process-section,
html[data-law-palette="dark-graphite"] .law-dark-light-section {
  --law-color-primary: #22292c;
  --law-color-primary-soft: #455257;
  --law-color-accent: #7a5732;
  --law-color-accent-hover: #624221;
  --law-color-accent-on-light: #7a5732;
  --law-color-accent-on-dark: #b58955;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #111416;
  --law-color-heading: #1d2427;
  --law-color-text: #4d585c;
  --law-color-muted: #667277;
  --law-color-bg: #f7f3ed;
  --law-color-bg-soft: #eee7dc;
  --law-color-bg-muted: #fbf9f5;
  --law-color-border: #ddd4c8;
  --law-color-border-strong: #8a8177;
  --law-color-white: #ffffff;
  --law-color-black: #111517;
  --law-shadow-sm: 0 4px 14px rgba(31, 38, 41, 0.06);
  --law-shadow-md: 0 12px 30px rgba(31, 38, 41, 0.10);
  --law-shadow-lg: 0 20px 50px rgba(31, 38, 41, 0.14);

  background: var(--law-color-bg) !important;
  color: var(--law-color-text) !important;
}

/* Мягкая светлая полоса — дополнительный вариант для ручного назначения. */
html[data-law-palette="dark-graphite"] .law-dark-soft-section {
  --law-color-primary: #22292c;
  --law-color-primary-soft: #455257;
  --law-color-accent: #7a5732;
  --law-color-accent-hover: #624221;
  --law-color-accent-on-light: #7a5732;
  --law-color-accent-on-dark: #b58955;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #111416;
  --law-color-heading: #1d2427;
  --law-color-text: #4d585c;
  --law-color-muted: #667277;
  --law-color-bg: #eee7dc;
  --law-color-bg-soft: #f7f3ed;
  --law-color-bg-muted: #fbf9f5;
  --law-color-border: #d7ccbe;
  --law-color-border-strong: #8a8177;
  --law-color-white: #ffffff;
  --law-color-black: #111517;

  background: var(--law-color-bg) !important;
  color: var(--law-color-text) !important;
}

/* Явно оставить секцию тёмной, даже если она попала под светлое правило. */
html[data-law-palette="dark-graphite"] .law-dark-keep-dark {
  --law-color-primary: #161b1e;
  --law-color-primary-soft: #c9cfcc;
  --law-color-accent: #b58955;
  --law-color-accent-hover: #d0aa79;
  --law-color-accent-on-light: #7a5732;
  --law-color-accent-on-dark: #b58955;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #111416;

  --law-color-heading: #f4f0e8;
  --law-color-text: #d2d5d1;
  --law-color-muted: #a9b0ac;

  --law-color-bg: #171c1f;
  --law-color-bg-soft: #202629;
  --law-color-bg-muted: #272d30;

  --law-color-border: #3e474a;
  --law-color-border-strong: #657074;

  --law-color-white: #f7f3eb;
  --law-color-black: #0d1011;

  background: var(--law-color-bg) !important;
  color: var(--law-color-text) !important;
}

/* Полноширинный фон секций. Внутренние Kadence-обёртки прозрачны. */
html[data-law-palette="dark-graphite"] .law-practice-section > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-cases-section > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-process-section > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-dark-light-section > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-dark-soft-section > .kt-row-column-wrap {
  background: transparent !important;
}

html[data-law-palette="dark-graphite"] .law-practice-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .law-cases-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .law-process-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .law-dark-light-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .law-dark-soft-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
  background: transparent !important;
}

/* Светлые карточки в светлых полосах. */
html[data-law-palette="dark-graphite"] .law-practice-section .law-practice-card,
html[data-law-palette="dark-graphite"] .law-cases-section .law-case-card,
html[data-law-palette="dark-graphite"] .law-process-section .law-process-step,
html[data-law-palette="dark-graphite"] .law-dark-light-section .law-card,
html[data-law-palette="dark-graphite"] .law-dark-soft-section .law-card {
  background: var(--law-color-white) !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-text) !important;
  box-shadow: var(--law-shadow-sm) !important;
}

html[data-law-palette="dark-graphite"] .law-practice-section .law-practice-card--private {
  background: linear-gradient(145deg, #f0e9df, #ffffff) !important;
}

html[data-law-palette="dark-graphite"] .law-practice-section .law-practice-card--business {
  background: linear-gradient(145deg, rgba(34, 41, 44, 0.045), #ffffff) !important;
}

/* Типографика светлых полос. */
html[data-law-palette="dark-graphite"] .law-practice-section h1,
html[data-law-palette="dark-graphite"] .law-practice-section h2,
html[data-law-palette="dark-graphite"] .law-practice-section h3,
html[data-law-palette="dark-graphite"] .law-cases-section h1,
html[data-law-palette="dark-graphite"] .law-cases-section h2,
html[data-law-palette="dark-graphite"] .law-cases-section h3,
html[data-law-palette="dark-graphite"] .law-process-section h1,
html[data-law-palette="dark-graphite"] .law-process-section h2,
html[data-law-palette="dark-graphite"] .law-process-section h3,
html[data-law-palette="dark-graphite"] .law-dark-light-section h1,
html[data-law-palette="dark-graphite"] .law-dark-light-section h2,
html[data-law-palette="dark-graphite"] .law-dark-light-section h3,
html[data-law-palette="dark-graphite"] .law-dark-soft-section h1,
html[data-law-palette="dark-graphite"] .law-dark-soft-section h2,
html[data-law-palette="dark-graphite"] .law-dark-soft-section h3 {
  color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .law-practice-section p,
html[data-law-palette="dark-graphite"] .law-practice-section li,
html[data-law-palette="dark-graphite"] .law-cases-section p,
html[data-law-palette="dark-graphite"] .law-cases-section li,
html[data-law-palette="dark-graphite"] .law-process-section p,
html[data-law-palette="dark-graphite"] .law-process-section li,
html[data-law-palette="dark-graphite"] .law-dark-light-section p,
html[data-law-palette="dark-graphite"] .law-dark-light-section li,
html[data-law-palette="dark-graphite"] .law-dark-soft-section p,
html[data-law-palette="dark-graphite"] .law-dark-soft-section li {
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .law-practice-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link),
html[data-law-palette="dark-graphite"] .law-cases-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link),
html[data-law-palette="dark-graphite"] .law-process-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link),
html[data-law-palette="dark-graphite"] .law-dark-light-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link),
html[data-law-palette="dark-graphite"] .law-dark-soft-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link) {
  color: var(--law-color-primary-soft) !important;
}

html[data-law-palette="dark-graphite"] .law-practice-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link):hover,
html[data-law-palette="dark-graphite"] .law-cases-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link):hover,
html[data-law-palette="dark-graphite"] .law-process-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link):hover,
html[data-law-palette="dark-graphite"] .law-dark-light-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link):hover,
html[data-law-palette="dark-graphite"] .law-dark-soft-section a:not(.kt-button):not(.law-button):not(.wp-block-button__link):hover {
  color: var(--law-color-accent-hover) !important;
}

/* Номера процесса остаются тёмными кругами со светлым текстом. */
html[data-law-palette="dark-graphite"] .law-process-section .law-process-step__number,
html[data-law-palette="dark-graphite"] .law-process-section .law-process-step__number * {
  background: var(--law-color-primary) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   21. DARK THEME 2.1 — LIGHT FORM ISLANDS
   Белая форма сохраняет собственную светлую цветовую систему.
   ========================================================= */

html[data-law-palette="dark-graphite"] .law-contact-form-card,
html[data-law-palette="dark-graphite"] .vlp-form-shell,
html[data-law-palette="dark-graphite"] .vlc-request-form,
html[data-law-palette="dark-graphite"] .vlc-form-shell,
html[data-law-palette="dark-graphite"] .vlc-form-card,
html[data-law-palette="dark-graphite"] .law-light-surface {
  --law-color-primary: #20272a;
  --law-color-primary-soft: #475358;
  --law-color-accent: #7a5732;
  --law-color-accent-hover: #624221;
  --law-color-accent-on-light: #7a5732;
  --law-color-accent-on-dark: #b58955;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #111416;
  --law-color-heading: #1d2427;
  --law-color-text: #4d585c;
  --law-color-muted: #667277;
  --law-color-bg: #ffffff;
  --law-color-bg-soft: #f2ede6;
  --law-color-bg-muted: #f8f6f2;
  --law-color-border: #ded7cd;
  --law-color-border-strong: #8a8177;
  --law-color-white: #ffffff;
  --law-color-black: #111517;

  background: #ffffff !important;
  border-color: var(--law-color-border) !important;
  color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .law-contact-form-card h1,
html[data-law-palette="dark-graphite"] .law-contact-form-card h2,
html[data-law-palette="dark-graphite"] .law-contact-form-card h3,
html[data-law-palette="dark-graphite"] .vlp-form-shell h1,
html[data-law-palette="dark-graphite"] .vlp-form-shell h2,
html[data-law-palette="dark-graphite"] .vlp-form-shell h3,
html[data-law-palette="dark-graphite"] .vlc-request-form h1,
html[data-law-palette="dark-graphite"] .vlc-request-form h2,
html[data-law-palette="dark-graphite"] .vlc-request-form h3,
html[data-law-palette="dark-graphite"] .vlc-form-shell h1,
html[data-law-palette="dark-graphite"] .vlc-form-shell h2,
html[data-law-palette="dark-graphite"] .vlc-form-shell h3,
html[data-law-palette="dark-graphite"] .vlc-form-card h1,
html[data-law-palette="dark-graphite"] .vlc-form-card h2,
html[data-law-palette="dark-graphite"] .vlc-form-card h3,
html[data-law-palette="dark-graphite"] .law-light-surface h1,
html[data-law-palette="dark-graphite"] .law-light-surface h2,
html[data-law-palette="dark-graphite"] .law-light-surface h3 {
  color: var(--law-color-heading) !important;
  -webkit-text-fill-color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .law-contact-form-card p,
html[data-law-palette="dark-graphite"] .law-contact-form-card label,
html[data-law-palette="dark-graphite"] .vlp-form-shell p,
html[data-law-palette="dark-graphite"] .vlp-form-shell label,
html[data-law-palette="dark-graphite"] .vlc-request-form p,
html[data-law-palette="dark-graphite"] .vlc-request-form label,
html[data-law-palette="dark-graphite"] .vlc-form-shell p,
html[data-law-palette="dark-graphite"] .vlc-form-shell label,
html[data-law-palette="dark-graphite"] .vlc-form-card p,
html[data-law-palette="dark-graphite"] .vlc-form-card label,
html[data-law-palette="dark-graphite"] .law-light-surface p,
html[data-law-palette="dark-graphite"] .law-light-surface label {
  color: var(--law-color-text) !important;
  -webkit-text-fill-color: var(--law-color-text) !important;
}

html[data-law-palette="dark-graphite"] .law-contact-form-card input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .law-contact-form-card select,
html[data-law-palette="dark-graphite"] .law-contact-form-card textarea,
html[data-law-palette="dark-graphite"] .vlp-form-shell input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .vlp-form-shell select,
html[data-law-palette="dark-graphite"] .vlp-form-shell textarea,
html[data-law-palette="dark-graphite"] .vlc-request-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .vlc-request-form select,
html[data-law-palette="dark-graphite"] .vlc-request-form textarea,
html[data-law-palette="dark-graphite"] .vlc-form-shell input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .vlc-form-shell select,
html[data-law-palette="dark-graphite"] .vlc-form-shell textarea,
html[data-law-palette="dark-graphite"] .vlc-form-card input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .vlc-form-card select,
html[data-law-palette="dark-graphite"] .vlc-form-card textarea {
  background: var(--law-color-bg-muted) !important;
  border-color: var(--law-color-border-strong) !important;
  color: var(--law-color-heading) !important;
  -webkit-text-fill-color: var(--law-color-heading) !important;
}

html[data-law-palette="dark-graphite"] .law-contact-form-card input::placeholder,
html[data-law-palette="dark-graphite"] .law-contact-form-card textarea::placeholder,
html[data-law-palette="dark-graphite"] .vlp-form-shell input::placeholder,
html[data-law-palette="dark-graphite"] .vlp-form-shell textarea::placeholder,
html[data-law-palette="dark-graphite"] .vlc-request-form input::placeholder,
html[data-law-palette="dark-graphite"] .vlc-request-form textarea::placeholder,
html[data-law-palette="dark-graphite"] .vlc-form-shell input::placeholder,
html[data-law-palette="dark-graphite"] .vlc-form-shell textarea::placeholder,
html[data-law-palette="dark-graphite"] .vlc-form-card input::placeholder,
html[data-law-palette="dark-graphite"] .vlc-form-card textarea::placeholder {
  color: var(--law-color-muted) !important;
  -webkit-text-fill-color: var(--law-color-muted) !important;
  opacity: 1 !important;
}

/* Если сторонняя форма создаёт собственную белую внутреннюю карточку. */
html[data-law-palette="dark-graphite"] .vlc-request-form [class*="form-card"],
html[data-law-palette="dark-graphite"] .vlc-form-shell [class*="form-card"],
html[data-law-palette="dark-graphite"] .vlc-form-card [class*="form-card"],
html[data-law-palette="dark-graphite"] .vlc-request-form [class*="step"],
html[data-law-palette="dark-graphite"] .vlc-form-shell [class*="step"] {
  color: var(--law-color-text);
}



/* =========================================================
   22. DARK THEME 2.2 — FINAL RHYTHM AND FULL-WIDTH FIXES
   ========================================================= */

/* Более мягкий светлый фон: сохраняет ритм, но не выглядит белой вставкой. */
html[data-law-palette="dark-graphite"] .law-practice-section {
  --law-color-bg: #f3eee6;
  --law-color-bg-soft: #e9e1d5;
  --law-color-bg-muted: #faf7f2;
  background: #f3eee6 !important;
}

/* Результаты чуть темнее практик — соседние светлые полосы не сливаются. */
html[data-law-palette="dark-graphite"] .law-cases-section {
  --law-color-bg: #e9e1d5;
  --law-color-bg-soft: #f3eee6;
  --law-color-bg-muted: #f8f4ee;
  background: #e9e1d5 !important;
}

html[data-law-palette="dark-graphite"] .law-process-section {
  --law-color-bg: #f3eee6;
  --law-color-bg-soft: #e9e1d5;
  --law-color-bg-muted: #faf7f2;
  background: #f3eee6 !important;
}

/* Убираем фон у всех промежуточных Kadence-обёрток.
   Именно они создавали ограниченный прямоугольник внутри полноширинной полосы. */
html[data-law-palette="dark-graphite"] .law-practice-section > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-practice-section > .kt-row-column-wrap > .wp-block-kadence-column,
html[data-law-palette="dark-graphite"] .law-practice-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .law-practice-section .law-practice-grid,
html[data-law-palette="dark-graphite"] .law-practice-section .law-practice-grid > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-cases-section > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-cases-section > .kt-row-column-wrap > .wp-block-kadence-column,
html[data-law-palette="dark-graphite"] .law-cases-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .law-cases-section .law-cases-grid,
html[data-law-palette="dark-graphite"] .law-cases-section .law-cases-grid > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-process-section > .kt-row-column-wrap,
html[data-law-palette="dark-graphite"] .law-process-section > .kt-row-column-wrap > .wp-block-kadence-column,
html[data-law-palette="dark-graphite"] .law-process-section > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
html[data-law-palette="dark-graphite"] .law-process-section .law-process-grid,
html[data-law-palette="dark-graphite"] .law-process-section .law-process-grid > .kt-row-column-wrap {
  background: transparent !important;
  background-image: none !important;
}

/* Карточки светлых полос слегка теплее чистого белого. */
html[data-law-palette="dark-graphite"] .law-practice-section .law-practice-card,
html[data-law-palette="dark-graphite"] .law-cases-section .law-case-card,
html[data-law-palette="dark-graphite"] .law-process-section .law-process-step {
  background: #fffdfa !important;
}

/* Вторичная кнопка hero: на тёмном фоне должна быть видима всегда. */
html[data-law-palette="dark-graphite"] .law-hero__actions .kt-btn-wrap + .kt-btn-wrap .kt-button,
html[data-law-palette="dark-graphite"] .law-hero__actions .wp-block-button + .wp-block-button .wp-block-button__link,
html[data-law-palette="dark-graphite"] .law-hero__actions .law-button--secondary,
html[data-law-palette="dark-graphite"] .law-hero__actions [class*="secondary"] {
  border-color: var(--law-color-accent) !important;
  background: transparent !important;
  color: var(--law-color-accent-hover) !important;
  -webkit-text-fill-color: var(--law-color-accent-hover) !important;
}

html[data-law-palette="dark-graphite"] .law-hero__actions .kt-btn-wrap + .kt-btn-wrap .kt-button:hover,
html[data-law-palette="dark-graphite"] .law-hero__actions .wp-block-button + .wp-block-button .wp-block-button__link:hover,
html[data-law-palette="dark-graphite"] .law-hero__actions .law-button--secondary:hover,
html[data-law-palette="dark-graphite"] .law-hero__actions [class*="secondary"]:hover {
  border-color: var(--law-color-accent-hover) !important;
  background: var(--law-color-accent-hover) !important;
  color: var(--law-color-on-accent-dark) !important;
  -webkit-text-fill-color: var(--law-color-on-accent-dark) !important;
}

/* Один непрерывный цвет футера на всю ширину окна. */
html[data-law-palette="dark-graphite"] .site-footer,
html[data-law-palette="dark-graphite"] .site-footer-wrap,
html[data-law-palette="dark-graphite"] .site-top-footer-wrap,
html[data-law-palette="dark-graphite"] .site-middle-footer-wrap,
html[data-law-palette="dark-graphite"] .site-bottom-footer-wrap,
html[data-law-palette="dark-graphite"] .site-footer-row-container-inner {
  background: #161b1e !important;
  background-image: none !important;
}

/* Внутренний контейнер футера остаётся ограниченным по ширине, но фон прозрачен. */
html[data-law-palette="dark-graphite"] .site-footer .site-container,
html[data-law-palette="dark-graphite"] .site-footer .site-footer-row,
html[data-law-palette="dark-graphite"] .site-footer .site-footer-section {
  background: transparent !important;
}

/* Мягкие разделители между светлыми и тёмными секциями. */
html[data-law-palette="dark-graphite"] .law-practice-section,
html[data-law-palette="dark-graphite"] .law-cases-section,
html[data-law-palette="dark-graphite"] .law-process-section {
  border-top: 1px solid rgba(181, 137, 85, 0.18);
  border-bottom: 1px solid rgba(20, 24, 26, 0.08);
}

/* Светлая форма: внутренние оболочки не должны возвращать тёмный фон. */
html[data-law-palette="dark-graphite"] .law-contact-form-card .ff-el-form-control,
html[data-law-palette="dark-graphite"] .law-contact-form-card input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .law-contact-form-card select,
html[data-law-palette="dark-graphite"] .law-contact-form-card textarea,
html[data-law-palette="dark-graphite"] .vlc-request-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .vlc-request-form select,
html[data-law-palette="dark-graphite"] .vlc-request-form textarea,
html[data-law-palette="dark-graphite"] .vlc-form-shell input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
html[data-law-palette="dark-graphite"] .vlc-form-shell select,
html[data-law-palette="dark-graphite"] .vlc-form-shell textarea {
  background: #ffffff !important;
  color: #1d2427 !important;
  -webkit-text-fill-color: #1d2427 !important;
}

/* =========================================================
   23. СВЕТЛАЯ ПАЛИТРА — СИНИЙ И СТАЛЬ
   Статусная холодная тема без шаблонного ярко-синего оттенка.
   ========================================================= */

html[data-law-palette="blue-steel"] {
  color-scheme: light;

  --law-color-primary: #172b40;
  --law-color-primary-soft: #34536f;
  --law-color-accent: #4d779c;
  --law-color-accent-hover: #365e82;
  --law-color-accent-on-light: #4d779c;
  --law-color-accent-on-dark: #91b2cf;
  --law-color-on-accent-light: #ffffff;
  --law-color-on-accent-dark: #0b1723;

  --law-color-heading: #102337;
  --law-color-text: #455a6b;
  --law-color-muted: #5c7082;

  --law-color-bg: #fdfefe;
  --law-color-bg-soft: #eef3f7;
  --law-color-bg-muted: #f6f8fa;

  --law-color-border: #d1dce4;
  --law-color-border-strong: #788c9b;

  --law-color-white: #ffffff;
  --law-color-black: #0b1723;

  --law-shadow-sm: 0 4px 14px rgba(23, 43, 64, 0.07);
  --law-shadow-md: 0 12px 30px rgba(23, 43, 64, 0.11);
  --law-shadow-lg: 0 20px 50px rgba(23, 43, 64, 0.16);

  --global-palette1: var(--law-color-primary);
  --global-palette2: var(--law-color-accent);
  --global-palette3: var(--law-color-heading);
  --global-palette4: var(--law-color-text);
  --global-palette5: var(--law-color-muted);
  --global-palette6: var(--law-color-border-strong);
  --global-palette7: var(--law-color-bg-soft);
  --global-palette8: var(--law-color-bg-muted);
  --global-palette9: var(--law-color-bg);

  --lps-panel-accent: #4d779c;
}

html[data-law-palette="blue-steel"] .law-hero,
html[data-law-palette="blue-steel"] .vlp-hero,
html[data-law-palette="blue-steel"] .law-placeholder-page {
  background:
    radial-gradient(circle at 88% 14%, rgba(145, 178, 207, 0.18), transparent 34%),
    linear-gradient(135deg, #f8fafc 0%, #e7eef4 100%) !important;
}

html[data-law-palette="blue-steel"] .law-about-section,
html[data-law-palette="blue-steel"] .law-contact-section,
html[data-law-palette="blue-steel"] .vlp-form-section {
  background: linear-gradient(180deg, #fdfefe 0%, #eef3f7 100%) !important;
}

html[data-law-palette="blue-steel"] .law-practice-card--private,
html[data-law-palette="blue-steel"] .vlp-situation-card {
  background: linear-gradient(145deg, rgba(238, 243, 247, 0.96), #ffffff) !important;
}

html[data-law-palette="blue-steel"] .law-practice-card--business,
html[data-law-palette="blue-steel"] .vlp-scenario-card:nth-child(even) .kt-blocks-info-box-link-wrap {
  background: linear-gradient(145deg, rgba(23, 43, 64, 0.06), #ffffff) !important;
}

html[data-law-palette="blue-steel"] .site-header,
html[data-law-palette="blue-steel"] .site-header-wrap,
html[data-law-palette="blue-steel"] .site-main-header-wrap {
  border-color: rgba(23, 42, 63, 0.12);
}

html[data-law-palette="blue-steel"] .site-footer,
html[data-law-palette="blue-steel"] .site-footer-wrap,
html[data-law-palette="blue-steel"] .site-top-footer-wrap,
html[data-law-palette="blue-steel"] .site-middle-footer-wrap,
html[data-law-palette="blue-steel"] .site-bottom-footer-wrap,
html[data-law-palette="blue-steel"] .site-footer-row-container-inner {
  background: #172b40 !important;
  background-image: none !important;
}

html[data-law-palette="blue-steel"] .site-footer .site-container,
html[data-law-palette="blue-steel"] .site-footer .site-footer-row,
html[data-law-palette="blue-steel"] .site-footer .site-footer-section {
  background: transparent !important;
}

/* Цвет интерфейса переключателя следует выбранной светлой палитре. */
html[data-law-palette="graphite-copper"] { --lps-panel-accent: #9d603c; }
html[data-law-palette="green-stone"] { --lps-panel-accent: #3b635a; }
html[data-law-palette="dark-graphite"] { --lps-panel-accent: #b58955; }

/* Четыре варианта должны помещаться на небольших экранах без выхода панели за viewport. */
.law-palette-switcher__panel {
  max-height: min(680px, calc(100vh - 96px));
  overflow-y: auto;
  overscroll-behavior: contain;
}

.law-palette-option {
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.law-palette-option:hover {
  transform: translateY(-1px);
}

.law-palette-option.is-active {
  box-shadow: inset 0 0 0 1px var(--lps-panel-accent);
}


/* =========================================================
   24. PALETTE 2.4 — ACCESSIBLE ROLE-AWARE ACCENTS
   One dark accent is used on light surfaces; a lighter partner is used
   on dark editorial surfaces. This avoids invisible eyebrow text and
   preserves readable button labels in every palette.
   ========================================================= */

/* Dark editorial surfaces use the light accent partner. */
html[data-law-palette]
  .entry-content:has(.law-hero--editorial)
  :is(
    .law-hero--editorial,
    .law-proof-strip--compact,
    .law-about--editorial,
    .law-reviews-section,
    .law-final-cta,
    .law-contact-section,
    .law-contact-intro
  ) {
  --law-home-accent: var(--law-color-accent-on-dark);
}

/* Light reading surfaces use the darker, AA-compliant accent partner. */
html[data-law-palette]
  .entry-content:has(.law-hero--editorial)
  :is(
    .law-practice-section,
    .law-cases-section,
    .law-process-section,
    .law-contact-form-card
  ) {
  --law-home-accent: var(--law-color-accent-on-light);
}

/* Primary buttons on dark surfaces use dark ink on the light accent. */
html[data-law-palette]
  .entry-content:has(.law-hero--editorial)
  :is(.law-hero--editorial, .law-final-cta, .law-contact-intro)
  :is(.kt-button, .wp-block-button__link, .law-button) {
  border-color: var(--law-color-accent-on-dark) !important;
  background: var(--law-color-accent-on-dark) !important;
  color: var(--law-color-on-accent-dark) !important;
  -webkit-text-fill-color: var(--law-color-on-accent-dark) !important;
}

/* Accent fills on light sections keep white readable labels. */
html[data-law-palette]
  .entry-content:has(.law-hero--editorial)
  :is(.law-practice-section, .law-cases-section, .law-process-section)
  :is(.kt-button, .wp-block-button__link, .law-button):hover,
html[data-law-palette]
  .entry-content:has(.law-hero--editorial)
  :is(.law-practice-section, .law-cases-section, .law-process-section)
  :is(.kt-button, .wp-block-button__link, .law-button):focus-visible {
  border-color: var(--law-color-accent-on-light) !important;
  background: var(--law-color-accent-on-light) !important;
  color: var(--law-color-on-accent-light) !important;
  -webkit-text-fill-color: var(--law-color-on-accent-light) !important;
}

/* Small accent labels must never rely on a low-contrast decorative colour. */
html[data-law-palette]
  :is(
    .law-practice-section,
    .law-cases-section,
    .law-process-section,
    .law-contact-form-card,
    .vlp-content,
    .vlp-article,
    .vlp-form-section
  )
  :is(
    .law-eyebrow,
    .law-section-eyebrow,
    .law-case-card__type,
    .law-case-card__number,
    .vlp-eyebrow,
    .vlp-kicker
  ) {
  color: var(--law-color-accent-on-light) !important;
  -webkit-text-fill-color: var(--law-color-accent-on-light) !important;
}

html[data-law-palette]
  :is(
    .law-hero,
    .law-proof-strip,
    .law-about-section,
    .law-reviews-section,
    .law-final-cta,
    .law-contact-intro,
    .vlp-hero,
    .law-dark-keep-dark
  )
  :is(
    .law-eyebrow,
    .law-section-eyebrow,
    .law-case-card__type,
    .law-case-card__number,
    .vlp-eyebrow,
    .vlp-kicker
  ) {
  color: var(--law-color-accent-on-dark) !important;
  -webkit-text-fill-color: var(--law-color-accent-on-dark) !important;
}

/* Essential control boundaries and keyboard focus meet the non-text target. */
html[data-law-palette]
  :is(
    input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
  ) {
  border-color: var(--law-color-border-strong) !important;
}

html[data-law-palette]
  :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--law-color-accent-on-light) !important;
  outline-offset: 3px !important;
}

html[data-law-palette="dark-graphite"]
  :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--law-color-accent-on-dark) !important;
}
