/*
Theme Name: Москвина (Blocksy Child)
Description: Премиальный сайт Маргариты Москвиной. Blocksy — родительская тема.
Author: СПРУТ
Template: blocksy
Version: 2.9.44
*/

/* Глобальные токены и база — см. assets/css/main.css */

/* =========================================================
   Readability fallback (pages/posts):
   If text becomes white on white blocks, force visible color.
   ========================================================= */
body.mv-readable-content .entry-content,
body.mv-readable-content .ct-entry-content,
body.mv-readable-content .mv-main,
body.mv-readable-content .mv-prose {
	color: #2f1020;
}

body.mv-readable-content .entry-content :where(
	p, li, span, figcaption, blockquote, cite, small, label, legend, td, th
),
body.mv-readable-content .ct-entry-content :where(
	p, li, span, figcaption, blockquote, cite, small, label, legend, td, th
),
body.mv-readable-content .mv-main :where(
	p, li, span, figcaption, blockquote, cite, small, label, legend, td, th
),
body.mv-readable-content .mv-prose :where(
	p, li, span, figcaption, blockquote, cite, small, label, legend, td, th
) {
	color: #2f1020 !important;
}

body.mv-readable-content .entry-content :where(h1, h2, h3, h4, h5, h6),
body.mv-readable-content .ct-entry-content :where(h1, h2, h3, h4, h5, h6),
body.mv-readable-content .mv-main :where(h1, h2, h3, h4, h5, h6),
body.mv-readable-content .mv-prose :where(h1, h2, h3, h4, h5, h6) {
	color: #4b0000 !important;
}

body.mv-readable-content .entry-content :where(strong, b),
body.mv-readable-content .ct-entry-content :where(strong, b),
body.mv-readable-content .mv-main :where(strong, b),
body.mv-readable-content .mv-prose :where(strong, b) {
	color: #4b0000 !important;
	font-weight: 700 !important;
}

/* WordPress utility classes that often cause "white on white". */
body.mv-readable-content .entry-content .has-white-color,
body.mv-readable-content .ct-entry-content .has-white-color,
body.mv-readable-content .mv-main .has-white-color,
body.mv-readable-content .mv-prose .has-white-color {
	color: #2f1020 !important;
}

/* =========================================================
   SEO accent for /tochka-opori/:
   Slightly stronger text weight for better scanability.
   ========================================================= */
body.mv-page-tochka-opori .entry-content :where(p, li),
body.mv-page-tochka-opori .ct-entry-content :where(p, li),
body.mv-page-tochka-opori .mv-main :where(p, li),
body.mv-page-tochka-opori .mv-prose :where(p, li) {
	font-weight: 550;
}

/* Additional fail-safe for links and list markers in content */
body.mv-readable-content .mv-main a,
body.mv-readable-content .mv-prose a {
	color: #5b1032 !important;
}
body.mv-readable-content .mv-main a:hover,
body.mv-readable-content .mv-prose a:hover {
	color: #4b0000 !important;
}
body.mv-readable-content .mv-main li::marker,
body.mv-readable-content .mv-prose li::marker {
	color: #5b1032;
}

/* Keep filled red buttons white in normal state only.
   Hover inversion is handled by global button rules below. */
body.mv-readable-content .mv-main a.mv-btn:not(.mv-btn--outline):not(.mv-btn--gold):not(:hover):not(:focus-visible),
body.mv-readable-content .mv-prose a.mv-btn:not(.mv-btn--outline):not(.mv-btn--gold):not(:hover):not(:focus-visible),
body.mv-readable-content .mv-main button.mv-btn:not(.mv-btn--outline):not(.mv-btn--gold):not(:hover):not(:focus-visible),
body.mv-readable-content .mv-prose button.mv-btn:not(.mv-btn--outline):not(.mv-btn--gold):not(:hover):not(:focus-visible) {
	color: #ffffff !important;
}

body.mv-readable-content .mv-main .mv-btn:not(.mv-btn--outline):not(.mv-btn--gold):not(:hover):not(:focus-visible) :where(span, strong, b),
body.mv-readable-content .mv-prose .mv-btn:not(.mv-btn--outline):not(.mv-btn--gold):not(:hover):not(:focus-visible) :where(span, strong, b) {
	color: #ffffff !important;
}

/* =========================================================
   Plaques/cards line rule across site:
   dark-red card -> white line; white card -> red line.
   ========================================================= */
body .mv-dir-bento .mv-dir-card:nth-child(odd),
body .mv-editorial-grid .mv-editorial-card:nth-child(odd),
body .mv-tests-grid .mv-test-card:nth-child(odd),
body .mv-reviews-wall__grid .mv-review-card:nth-child(odd),
body .mv-main--diplomas .mv-diploma-card:nth-child(odd) {
	--mv-plaque-line: #ffffff;
}

body .mv-dir-bento .mv-dir-card:nth-child(even),
body .mv-editorial-grid .mv-editorial-card:nth-child(even),
body .mv-tests-grid .mv-test-card:nth-child(even),
body .mv-reviews-wall__grid .mv-review-card:nth-child(even),
body .mv-main--diplomas .mv-diploma-card:nth-child(even) {
	--mv-plaque-line: #7A0028;
}

/* Main decorative lines used in plaques */
body .mv-dir-bento .mv-dir-card .mv-dir-card__mark {
	background: var(--mv-plaque-line, #7A0028) !important;
}

body .mv-dir-bento .mv-dir-card .mv-dir-card__title::after {
	background: linear-gradient(90deg, var(--mv-plaque-line, #7A0028), transparent) !important;
}

/* Generic separators inside plaques */
body .mv-dir-bento .mv-dir-card hr,
body .mv-editorial-grid .mv-editorial-card hr,
body .mv-tests-grid .mv-test-card hr,
body .mv-reviews-wall__grid .mv-review-card hr,
body .mv-main--diplomas .mv-diploma-card hr {
	border-color: var(--mv-plaque-line, #7A0028) !important;
}

body .mv-dir-bento .mv-dir-card [style*="border-top"],
body .mv-editorial-grid .mv-editorial-card [style*="border-top"],
body .mv-tests-grid .mv-test-card [style*="border-top"],
body .mv-reviews-wall__grid .mv-review-card [style*="border-top"],
body .mv-main--diplomas .mv-diploma-card [style*="border-top"] {
	border-top-color: var(--mv-plaque-line, #7A0028) !important;
}

/* By request: numbers/text on stats plaques are white */
body .mv-stats--premium .mv-stat--glass,
body .mv-stats--premium .mv-stat--glass .mv-stat__num,
body .mv-stats--premium .mv-stat--glass .mv-counter,
body .mv-stats--premium .mv-stat--glass .mv-stat__label {
	color: #ffffff !important;
}

/* Stats plaques: use solid brand red background */
body .mv-stats--premium .mv-stat--glass {
	background: #7A0028 !important;
	background-image: none !important;
	border-color: rgba(255, 255, 255, 0.28) !important;
}

/* "Методы работы" chips: brand red + white text */
body .mv-method-deck .mv-method-chip {
	background: #7A0028 !important;
	background-image: none !important;
	color: #ffffff !important;
	border: 1px solid #7A0028 !important;
}

body .mv-method-deck .mv-method-chip:hover {
	background: #ffffff !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

/* Combined CTA plaque: white background + 3px brand-red border */
body .mv-combined-cta {
	background: #ffffff !important;
	background-image: none !important;
	border: 3px solid #7A0028 !important;
}

/* =========================================================
   Global button hover inversion rule (site-wide):
   1) Red button + white text -> white button + red border/text on hover.
   2) White/outline button -> red button + white text on hover.
   ========================================================= */
body :where(a.mv-btn, button.mv-btn, .wp-block-button__link) {
	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

/* Type A: filled red buttons (outside header) */
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn):not(.mv-btn--outline):not(.mv-btn--gold),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link:not(.is-style-outline) {
	background-color: #7A0028;
	color: #ffffff !important;
	border: 1px solid #7A0028;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn):not(.mv-btn--outline):not(.mv-btn--gold):hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn):not(.mv-btn--outline):not(.mv-btn--gold):focus-visible,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link:not(.is-style-outline):hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link:not(.is-style-outline):focus-visible {
	background-color: #ffffff !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

/* Type B: white / outline buttons */
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button.is-style-outline .wp-block-button__link,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link.has-white-background-color {
	background-color: #ffffff !important;
	color: #7A0028 !important;
	border: 1px solid #7A0028 !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline):hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline):focus-visible,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button.is-style-outline .wp-block-button__link:focus-visible,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link.has-white-background-color:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link.has-white-background-color:focus-visible {
	background-color: #7A0028 !important;
	color: #ffffff !important;
	border-color: #7A0028 !important;
}

/* Global safety: any hovered button that is white must keep brand-red text. */
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn, .wp-block-button__link):hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn, .wp-block-button__link):focus-visible {
	color: #7A0028 !important;
}

/* Keep red-hover variants readable (white text on red hover). */
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline):hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline):focus-visible,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button.is-style-outline .wp-block-button__link:focus-visible,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link.has-white-background-color:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) .wp-block-button__link.has-white-background-color:focus-visible {
	color: #ffffff !important;
}

/* Force inner text color to follow the same inversion */
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn):not(.mv-btn--outline):not(.mv-btn--gold):not(:hover):not(:focus-visible) :where(span, strong, b) {
	color: #ffffff !important;
}
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn):not(.mv-btn--outline):not(.mv-btn--gold):hover :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) :where(a.mv-btn, button.mv-btn):not(.mv-btn--outline):not(.mv-btn--gold):focus-visible :where(span, strong, b) {
	color: #7A0028 !important;
}

/* Social round buttons follow same inversion rule */
body .mv-social__btn {
	background: #7A0028 !important;
	color: #ffffff !important;
	border: 1px solid #7A0028 !important;
}

body .mv-social__btn span {
	color: #ffffff !important;
}

body .mv-social__btn:hover,
body .mv-social__btn:focus-visible {
	background: #ffffff !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

body .mv-social__btn:hover span,
body .mv-social__btn:focus-visible span {
	color: #7A0028 !important;
}

/* =========================================================
   FINAL override for all content buttons (.mv-btn):
   red + white text => hover white + red text/border
   white/outline    => hover red + white text
   ========================================================= */
body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn {
	background: #7A0028 !important;
	color: #ffffff !important;
	border: 1px solid #7A0028 !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn :where(span, strong, b) {
	color: #ffffff !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn:focus-visible,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn:focus-visible {
	background: #ffffff !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn:hover :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn:focus-visible :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn:hover :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn:focus-visible :where(span, strong, b) {
	color: #7A0028 !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn.mv-btn--outline,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn.mv-btn--outline {
	background: #ffffff !important;
	color: #7A0028 !important;
	border: 1px solid #7A0028 !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn.mv-btn--outline :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn.mv-btn--outline :where(span, strong, b) {
	color: #7A0028 !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn.mv-btn--outline:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn.mv-btn--outline:focus-visible,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn.mv-btn--outline:hover,
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn.mv-btn--outline:focus-visible {
	background: #7A0028 !important;
	color: #ffffff !important;
	border-color: #7A0028 !important;
}

body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn.mv-btn--outline:hover :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) a.mv-btn.mv-btn--outline:focus-visible :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn.mv-btn--outline:hover :where(span, strong, b),
body.mv-body :where(.mv-main, .mv-prose, .mv-section) button.mv-btn.mv-btn--outline:focus-visible :where(span, strong, b) {
	color: #ffffff !important;
}

/* Explicitly apply the same rule inside product/offer plaques */
body .mv-editorial-grid .mv-editorial-card .mv-btn,
body .mv-editorial-grid .mv-editorial-card .mv-editorial-card__actions .mv-btn {
	background: #7A0028 !important;
	color: #ffffff !important;
	border: 1px solid #7A0028 !important;
}

body .mv-editorial-grid .mv-editorial-card .mv-btn :where(span, strong, b),
body .mv-editorial-grid .mv-editorial-card .mv-editorial-card__actions .mv-btn :where(span, strong, b) {
	color: #ffffff !important;
}

body .mv-editorial-grid .mv-editorial-card .mv-btn:hover,
body .mv-editorial-grid .mv-editorial-card .mv-btn:focus-visible,
body .mv-editorial-grid .mv-editorial-card .mv-editorial-card__actions .mv-btn:hover,
body .mv-editorial-grid .mv-editorial-card .mv-editorial-card__actions .mv-btn:focus-visible {
	background: #ffffff !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

body .mv-editorial-grid .mv-editorial-card .mv-btn:hover :where(span, strong, b),
body .mv-editorial-grid .mv-editorial-card .mv-btn:focus-visible :where(span, strong, b),
body .mv-editorial-grid .mv-editorial-card .mv-editorial-card__actions .mv-btn:hover :where(span, strong, b),
body .mv-editorial-grid .mv-editorial-card .mv-editorial-card__actions .mv-btn:focus-visible :where(span, strong, b) {
	color: #7A0028 !important;
}

/* Contacts page messenger buttons follow the same inversion rule */
body .mv-contacts-channel {
	background: #7A0028 !important;
	background-image: none !important;
	color: #ffffff !important;
	border: 1px solid #7A0028 !important;
}

body .mv-contacts-channel:hover,
body .mv-contacts-channel:focus-visible {
	background: #ffffff !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

/* =========================================================
   FINAL BUTTON RULE (authoritative, site-wide)
   Default: brand red background + white text
   Hover/focus: white background + brand red border/text
   ========================================================= */
:root {
	--mv-brand-red-final: #7A0028;
}

body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
) {
	background: var(--mv-brand-red-final) !important;
	background-image: none !important;
	color: #ffffff !important;
	border: 1px solid var(--mv-brand-red-final) !important;
}

body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
) :where(span, strong, b) {
	color: #ffffff !important;
}

body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):hover,
body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):focus-visible {
	background: #ffffff !important;
	color: var(--mv-brand-red-final) !important;
	border-color: var(--mv-brand-red-final) !important;
}

body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):hover :where(span, strong, b),
body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):focus-visible :where(span, strong, b) {
	color: var(--mv-brand-red-final) !important;
}

/* /testi/ plaques: white background + brand-red text (button untouched) */
body.page-template-page-testi .mv-tests-grid .mv-test-card {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

body.page-template-page-testi .mv-tests-grid .mv-test-card :where(h2, h3, h4, p, li, span, strong, b) {
	color: #7A0028 !important;
}

/* --- Targeted fixes from latest QA screenshots --- */

/* 1) "Тариф «Ресурс»" card must be white */
body .mv-klub__tariffs .mv-klub__tariff:first-child {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
}

/* 2) Product cards (Психосоматика / Точка опоры / Клуб):
      on hover card background should be white — кроме блоков с --no-hover-invert */
body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert):hover {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
}

body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert):hover :where(
	.mv-editorial-card__title, .mv-editorial-card__text, p, span, strong, b, li
) {
	color: #7A0028 !important;
}

/* «Для родителей» / «Для взрослых»: без смены плашки на белую при hover */
body .mv-editorial-grid .mv-editorial-card.mv-editorial-card--no-hover-invert:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 56px rgba(188, 117, 156, 0.12) !important;
	border-color: #7A0028 !important;
	background: #4b0000 !important;
	background-color: #4b0000 !important;
	background-image: none !important;
	color: #ffffff !important;
}

body .mv-editorial-grid .mv-editorial-card.mv-editorial-card--no-hover-invert:hover :where(
	.mv-editorial-card__title, .mv-editorial-card__text, p, span, strong, b, li
) {
	color: #ffffff !important;
}

body .mv-editorial-grid .mv-editorial-card.mv-editorial-card--no-hover-invert:hover * {
	color: #ffffff !important;
}

/* Buttons inside these cards:
   default = white with red text; on card/button hover = red with white text */
body .mv-editorial-grid .mv-editorial-card .mv-btn {
	background: #ffffff !important;
	color: #7A0028 !important;
	border: 1px solid #7A0028 !important;
}

body .mv-editorial-grid .mv-editorial-card .mv-btn :where(span, strong, b) {
	color: #7A0028 !important;
}

body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert):hover .mv-btn,
body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert) .mv-btn:hover,
body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert) .mv-btn:focus-visible {
	background: #7A0028 !important;
	color: #ffffff !important;
	border-color: #7A0028 !important;
}

body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert):hover .mv-btn :where(span, strong, b),
body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert) .mv-btn:hover :where(span, strong, b),
body .mv-editorial-grid .mv-editorial-card:not(.mv-editorial-card--no-hover-invert) .mv-btn:focus-visible :where(span, strong, b) {
	color: #ffffff !important;
}

/* 3) Test cards (heading "Насколько вы сейчас перегружены эмоционально?"):
      force white background + brand red text */
body .mv-tests-grid .mv-test-card {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
	border-color: #7A0028 !important;
}

body .mv-tests-grid .mv-test-card :where(h2, h3, h4, p, li, span, strong, b) {
	color: #7A0028 !important;
}

/* 6) /testi: center plaque text + white button with brand-red text */
body.page-template-page-testi .mv-tests-grid .mv-test-card,
body .mv-tests-grid .mv-test-card {
	text-align: center !important;
}

body.page-template-page-testi .mv-tests-grid .mv-test-card :where(h2, h3, h4, p),
body .mv-tests-grid .mv-test-card :where(h2, h3, h4, p) {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.page-template-page-testi .mv-tests-grid .mv-test-card .mv-btn,
body .mv-tests-grid .mv-test-card .mv-btn {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
	border: 1px solid #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
}

body.page-template-page-testi .mv-tests-grid .mv-test-card .mv-btn :where(span, strong, b),
body .mv-tests-grid .mv-test-card .mv-btn :where(span, strong, b) {
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
}

/* 4) KURS page: red cards behavior (per latest request)
   - red cards button default: white bg + brand-red text
   - on card hover: card becomes white and all text brand-red
*/
body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd) .mv-btn {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
	border: 1px solid #7A0028 !important;
}

body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd) .mv-btn,
body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd) .mv-btn:link,
body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd) .mv-btn:visited,
body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd) .mv-btn * {
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
}

body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd) .mv-btn :where(span, strong, b) {
	color: #7A0028 !important;
}

body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd):hover {
	background: #ffffff !important;
	background-image: none !important;
	border-color: #7A0028 !important;
}

body .mv-prose.mv-prose--kurs-landing .mv-editorial-grid.mv-editorial-grid--kurs > .mv-editorial-card:nth-child(odd):hover :where(
	.mv-editorial-card__title, .mv-editorial-card__text, p, li, span, strong, b
) {
	color: #7A0028 !important;
}

/* Header CTA (white button in top bar): brand-red text by default. */
body .mv-header :where(a.mv-btn, button.mv-btn) {
	background: #ffffff !important;
	color: #7A0028 !important;
	border: 1px solid #7A0028 !important;
}

body .mv-header :where(a.mv-btn, button.mv-btn):hover,
body .mv-header :where(a.mv-btn, button.mv-btn):focus-visible {
	background: #7A0028 !important;
	color: #ffffff !important;
}

/* Герой: на белом фоне — фирменный красный текст (перебивает mv-readable-content на .mv-main) */
body.mv-readable-content .mv-main .mv-hero-wow__title,
body .mv-hero-wow__title {
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
}

body.mv-readable-content .mv-main .mv-hero-wow__subtitle,
body.mv-readable-content .mv-main .mv-hero-wow__name,
body.mv-readable-content .mv-main .mv-hero-wow__lead,
body .mv-hero-wow__subtitle,
body .mv-hero-wow__name,
body .mv-hero-wow__lead {
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
}

body .mv-expertise-pill {
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
	border-color: #7a0028 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
}

/* Результат квиза: всегда белая плашка и красная типографика */
body .mv-quiz .mv-quiz__result,
body .mv-quiz__wrap .mv-quiz__result {
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
	color: #7a0028 !important;
	border: 1px solid #7a0028 !important;
	box-shadow: 0 14px 40px rgba(122, 0, 40, 0.12) !important;
}

body .mv-quiz .mv-quiz__result :where(.mv-quiz__result-title, .mv-quiz__result-text, .mv-quiz__disclaimer, h2, h3, p),
body .mv-quiz__wrap .mv-quiz__result :where(.mv-quiz__result-title, .mv-quiz__result-text, .mv-quiz__disclaimer, h2, h3, p) {
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
}

/* ===================================================================
   BUTTON RULE LOCK (DO NOT OVERRIDE BELOW)
   Единое правило для всех кнопок, включая contacts.
   Любые локальные стили кнопок должны быть выше этого блока.
   =================================================================== */
body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
) {
	background: #7A0028 !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 1px solid #7A0028 !important;
}

body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
) :where(span, strong, b) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):hover,
body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):focus-visible {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
	border-color: #7A0028 !important;
}

body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):hover :where(span, strong, b),
body :where(
	a.mv-btn,
	button.mv-btn,
	.wp-block-button__link,
	a.mv-contacts-channel,
	a.mv-social__btn,
	.mv-method-chip
):focus-visible :where(span, strong, b) {
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
}

/*
 * POST-LOCK: более узкие селекторы перебивают общий lock для шапки, героя и итога теста.
 * Не добавляйте новые правила для кнопок ниже этого блока без необходимости.
 */
body .mv-header a.mv-btn:not(:hover):not(:focus-visible),
body .mv-header button.mv-btn:not(:hover):not(:focus-visible) {
	background: #ffffff !important;
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
	border: 1px solid #7a0028 !important;
}

body .mv-header a.mv-btn:hover,
body .mv-header a.mv-btn:focus-visible,
body .mv-header button.mv-btn:hover,
body .mv-header button.mv-btn:focus-visible {
	background: #7a0028 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-color: #7a0028 !important;
}

body .mv-header a.mv-btn :where(span, strong, b),
body .mv-header button.mv-btn :where(span, strong, b) {
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
}

body .mv-hero-wow a.mv-btn.mv-btn--hero-primary:not(:hover):not(:focus-visible) {
	background: #7a0028 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 1px solid #7a0028 !important;
}

body .mv-hero-wow a.mv-btn.mv-btn--hero-primary:hover,
body .mv-hero-wow a.mv-btn.mv-btn--hero-primary:focus-visible {
	background: #ffffff !important;
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
	border-color: #7a0028 !important;
}

body .mv-hero-wow a.mv-btn.mv-btn--outline:not(:hover):not(:focus-visible) {
	background: #ffffff !important;
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
	border: 1px solid #7a0028 !important;
}

body .mv-hero-wow a.mv-btn.mv-btn--outline:hover,
body .mv-hero-wow a.mv-btn.mv-btn--outline:focus-visible {
	background: #7a0028 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-color: #7a0028 !important;
}

body .mv-quiz .mv-quiz__result a.mv-btn:not(:hover):not(:focus-visible),
body .mv-quiz__wrap .mv-quiz__result a.mv-btn:not(:hover):not(:focus-visible) {
	background: #ffffff !important;
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
	border: 1px solid #7a0028 !important;
}

body .mv-quiz .mv-quiz__result a.mv-btn:hover,
body .mv-quiz .mv-quiz__result a.mv-btn:focus-visible,
body .mv-quiz__wrap .mv-quiz__result a.mv-btn:hover,
body .mv-quiz__wrap .mv-quiz__result a.mv-btn:focus-visible {
	background: #7a0028 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-color: #7a0028 !important;
}

/* Результаты (/reviews/): короткие — красная плашка; длинные — белая */
body.mv-body .mv-main--reviews .mv-review-card.mv-review-card--compact {
	background: #7a0028 !important;
	background-color: #7a0028 !important;
	background-image: none !important;
	border-color: rgba(255, 255, 255, 0.35) !important;
	color: #ffffff !important;
}

body.mv-body .mv-main--reviews .mv-review-card.mv-review-card--compact :where(.mv-review-card__name, .mv-review-card__text, .mv-review-card__text p) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mv-body .mv-main--reviews .mv-review-card.mv-review-card--compact * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mv-body .mv-main--reviews .mv-review-card.mv-review-card--long {
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
	border: 2px solid #7a0028 !important;
	color: #7a0028 !important;
}

body.mv-body .mv-main--reviews .mv-review-card.mv-review-card--long :where(.mv-review-card__name, .mv-review-card__text, .mv-review-card__text p) {
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
}

body.mv-body .mv-main--reviews .mv-review-card.mv-review-card--long * {
	color: #7a0028 !important;
	-webkit-text-fill-color: #7a0028 !important;
}

/*
 * /reviews/: планшет и смартфон — одна колонка и чередование
 * белая плашка → красная → белая → … (по порядку в разметке).
 */
@media (max-width: 1023px) {
	body.mv-body .mv-main--reviews .mv-reviews-wall__grid {
		column-count: 1 !important;
		column-gap: 0 !important;
	}

	body.mv-body .mv-main--reviews .mv-reviews-wall__grid .mv-review-card:nth-child(odd) {
		background: #ffffff !important;
		background-color: #ffffff !important;
		background-image: none !important;
		border: 2px solid #7a0028 !important;
		color: #7a0028 !important;
	}

	body.mv-body .mv-main--reviews .mv-reviews-wall__grid .mv-review-card:nth-child(odd) :where(.mv-review-card__name, .mv-review-card__text, .mv-review-card__text p),
	body.mv-body .mv-main--reviews .mv-reviews-wall__grid .mv-review-card:nth-child(odd) * {
		color: #7a0028 !important;
		-webkit-text-fill-color: #7a0028 !important;
	}

	body.mv-body .mv-main--reviews .mv-reviews-wall__grid .mv-review-card:nth-child(even) {
		background: #7a0028 !important;
		background-color: #7a0028 !important;
		background-image: none !important;
		border-color: rgba(255, 255, 255, 0.35) !important;
		color: #ffffff !important;
	}

	body.mv-body .mv-main--reviews .mv-reviews-wall__grid .mv-review-card:nth-child(even) :where(.mv-review-card__name, .mv-review-card__text, .mv-review-card__text p),
	body.mv-body .mv-main--reviews .mv-reviews-wall__grid .mv-review-card:nth-child(even) * {
		color: #ffffff !important;
		-webkit-text-fill-color: #ffffff !important;
	}
}

/* /tochka-opori/: enforce button contrast rule */
body.mv-page-tochka-opori :where(a.mv-btn, button.mv-btn, .wp-block-button__link, a[href*="leadpay.ru"], a[href*="contacts"]):not(:hover):not(:focus-visible) {
	background: #7A0028 !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 1px solid #7A0028 !important;
}

body.mv-page-tochka-opori :where(a.mv-btn, button.mv-btn, .wp-block-button__link, a[href*="leadpay.ru"], a[href*="contacts"]):not(:hover):not(:focus-visible) :where(span, strong, b) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.mv-page-tochka-opori :where(a.mv-btn, button.mv-btn, .wp-block-button__link, a[href*="leadpay.ru"], a[href*="contacts"]):hover,
body.mv-page-tochka-opori :where(a.mv-btn, button.mv-btn, .wp-block-button__link, a[href*="leadpay.ru"], a[href*="contacts"]):focus-visible {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
	border-color: #7A0028 !important;
}

body.mv-page-tochka-opori :where(a.mv-btn, button.mv-btn, .wp-block-button__link, a[href*="leadpay.ru"], a[href*="contacts"]):hover :where(span, strong, b),
body.mv-page-tochka-opori :where(a.mv-btn, button.mv-btn, .wp-block-button__link, a[href*="leadpay.ru"], a[href*="contacts"]):focus-visible :where(span, strong, b) {
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
}

/* /tochka-opori/: outline buttons in guides list (fix invisible text) */
body.mv-page-tochka-opori :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline, .wp-block-button.is-style-outline .wp-block-button__link):not(:hover):not(:focus-visible) {
	background: #ffffff !important;
	background-image: none !important;
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
	border: 1px solid #7A0028 !important;
}

body.mv-page-tochka-opori :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline, .wp-block-button.is-style-outline .wp-block-button__link):not(:hover):not(:focus-visible) :where(span, strong, b) {
	color: #7A0028 !important;
	-webkit-text-fill-color: #7A0028 !important;
}

body.mv-page-tochka-opori :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline, .wp-block-button.is-style-outline .wp-block-button__link):hover,
body.mv-page-tochka-opori :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline, .wp-block-button.is-style-outline .wp-block-button__link):focus-visible {
	background: #7A0028 !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-color: #7A0028 !important;
}

body.mv-page-tochka-opori :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline, .wp-block-button.is-style-outline .wp-block-button__link):hover :where(span, strong, b),
body.mv-page-tochka-opori :where(a.mv-btn.mv-btn--outline, button.mv-btn.mv-btn--outline, .wp-block-button.is-style-outline .wp-block-button__link):focus-visible :where(span, strong, b) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}
