/**
 * Custom styles for Школа Массажа «Секрет»
 * All overrides for the massage theme
 */

/* =========================================================
   Исправление путей к шрифту Circe.
   В style.css указан неверный путь (../fonts/ReSquare/ — папки нет,
   и ../ уводит выше темы). Реальные файлы: fonts/Circe/.
   custom.css лежит в css/, поэтому ../fonts/Circe/ корректен.
   ========================================================= */
@font-face {
	font-display: swap;
	font-family: Circe;
	font-style: normal;
	font-weight: 300;
	src: local("Circe-Light"), local("Circe Light"),
	     url(../fonts/Circe/Circe-Light.woff2) format("woff2"),
	     url(../fonts/Circe/Circe-Light.woff) format("woff");
}
@font-face {
	font-display: swap;
	font-family: Circe;
	font-style: normal;
	font-weight: 400;
	src: local("Circe-Regular"), local("Circe Regular"),
	     url(../fonts/Circe/Circe-Regular.woff2) format("woff2"),
	     url(../fonts/Circe/Circe-Regular.woff) format("woff");
}
@font-face {
	font-display: swap;
	font-family: Circe;
	font-style: normal;
	font-weight: 700;
	src: local("Circe-Bold"), local("Circe Bold"),
	     url(../fonts/Circe/Circe-Bold.woff2) format("woff2"),
	     url(../fonts/Circe/Circe-Bold.woff) format("woff");
}


/* ===== RESET OLD FSCREEN ===== */
.fscreen {
	margin: 0 !important;
	border-radius: 0 !important;
	max-width: none !important;
	overflow: hidden;
}
.fscreen__bg {
	border-radius: 0 !important;
}
.pageWrapper > picture:first-child,
.pageWrapper__bg {
	display: none;
}

/* ===== HEADER OVERLAY ===== */
.header--overlay {
	position: absolute !important;
	top: 32px;
	left: 0;
	right: 0;
	z-index: 100;
	background: transparent !important;
	border: none !important;
	transition: background 0.3s, box-shadow 0.3s, top 0.3s;
}

/* Compact header */
.header--overlay .header__content {
	padding: 6px 0 !important;
}
.header--overlay .header__logo {
	gap: 10px;
}
.header--overlay .header__logoImg,
.header--overlay .custom-logo-link img,
.header--overlay .custom-logo {
	max-height: 65px !important;
	width: auto !important;
}
.header--overlay .header__logoText__1 {
	font-size: 13px;
}
.header--overlay .header__logoText__2 {
	font-size: 11px;
	line-height: 1.4;
	max-width: 320px;
}
.header--overlay .header__nav {
	padding: 6px 0;
}

/* Scrolled header (fixed white) */
.header--overlay.scrolled {
	position: fixed !important;
	top: 0;
	background: rgba(255,255,255,0.97) !important;
	box-shadow: 0 2px 20px rgba(0,0,0,0.1);
	backdrop-filter: blur(10px);
}
/* Non-home: header relative (in flow), not fixed on load */
body:not(.home) .header--overlay.scrolled {
	position: relative !important;
	box-shadow: none;
}
/* When actually scrolled on non-home pages, fix to top */
body:not(.home) .header--overlay.scrolled.is-scrolling {
	position: fixed !important;
	box-shadow: 0 2px 20px rgba(0,0,0,0.1);
}

/* White text on transparent */
.header--overlay .header__logoText__1,
.header--overlay .header__logoText__2,
.header--overlay .header__tel a,
.header--overlay .header__nav__list a {
	color: #fff !important;
	transition: color 0.3s;
}
.header--overlay .header__toggleMenu svg path {
	stroke: #fff;
	transition: stroke 0.3s;
}
.header--overlay .header__nav {
	border-top: 1px solid rgba(255,255,255,0.2) !important;
	border-bottom: none !important;
}

/* Dark text when scrolled */
.header--overlay.scrolled .header__logoText__1,
.header--overlay.scrolled .header__tel a,
.header--overlay.scrolled .header__nav__list a {
	color: var(--black, #17231B) !important;
}
.header--overlay.scrolled .header__logoText__2 {
	color: #666 !important;
}
.header--overlay.scrolled .header__nav__list a:hover {
	color: var(--darkGreen, #53A56E) !important;
}
.header--overlay.scrolled .header__toggleMenu svg path {
	stroke: var(--darkGreen, #53A56E);
}
.header--overlay.scrolled .header__nav {
	border-top: 1px solid #e5e5e5 !important;
}

/* Logo invert on hero */
.header--overlay .header__logoImg {
	filter: brightness(0) invert(1);
	transition: filter 0.3s;
}
.header--overlay.scrolled .header__logoImg {
	filter: none;
}
.header--overlay .custom-logo-link img {
	filter: brightness(0) invert(1);
	transition: filter 0.3s;
}
.header--overlay.scrolled .custom-logo-link img {
	filter: none;
}

/* ===== TOP BAR ===== */
.top-bar--overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 101;
	background: rgba(0,0,0,0.25);
	color: #fff;
	padding: 6px 0;
	font-size: 13px;
	backdrop-filter: blur(4px);
}
/* Non-home pages: dark gray top bar (matching main page visual) */
body:not(.home) .top-bar--overlay {
	position: relative;
	background: #555 !important;
}
.top-bar--overlay a {
	color: #fff;
	text-decoration: none;
}
.top-bar--overlay a:hover {
	color: var(--lightGreen, #7AD76E);
}
.top-bar__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
}
@media(min-width: 960px) {
	.top-bar__inner {
		justify-content: space-between;
	}
}
.top-bar__address {
	display: none;
}
@media(min-width: 960px) {
	.top-bar__address {
		display: block;
		opacity: 0.85;
	}
}
.top-bar__right {
	display: flex;
	align-items: center;
	gap: 16px;
}
.top-bar__socials {
	display: flex;
	gap: 8px;
}
.top-bar__socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255,255,255,0.15);
	transition: background 0.3s;
}
.top-bar__socials a:hover {
	background: var(--darkGreen, #53A56E);
}
.top-bar__socials svg {
	width: 13px;
	height: 13px;
	fill: #fff;
}

/* ===== FOOTER GRID ===== */
.footer-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 1fr 0.8fr;
	gap: 40px;
	padding: 40px 0;
}
@media(max-width: 960px) {
	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
}
@media(max-width: 640px) {
	.footer-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}
.footer-grid a {
	display: block;
	color: var(--black, #17231B);
	text-decoration: none;
	font-size: 15px;
	line-height: 2;
}
.footer-grid a:hover {
	color: var(--darkGreen, #53A56E);
}
.footer .custom-logo-link img,
.footer .footer__logoImg {
	max-height: 60px;
	width: auto;
}
.footer-bot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 20px 0;
	border-top: 1px solid rgba(0,0,0,0.08);
}

/* ===== MOBILE: CTA form fix ===== */
@media(max-width: 768px) {
	.raspisanie {
		position: relative;
		z-index: 1;
		min-height: auto !important;
		padding-bottom: 40px;
		margin-bottom: 0;
	}
	.raspisanie__container {
		position: relative !important;
	}
	.raspisanie__content {
		flex-direction: column !important;
		padding: 20px 0 !important;
	}
	.raspisanie__title {
		font-size: 22px !important;
		margin-bottom: 16px !important;
		text-align: center !important;
	}
	.raspisanie__form {
		width: 100% !important;
	}
	.raspisanie__form__text {
		font-size: 14px !important;
		text-align: center !important;
	}
	/* Center form fields, captcha, button */
	.raspisanie__form .wpcf7-form,
	.raspisanie__form form {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}
	.raspisanie__form input[type="text"],
	.raspisanie__form input[type="tel"],
	.raspisanie__form .wpcf7-form-control-wrap {
		width: 100% !important;
		max-width: 320px !important;
	}
	.raspisanie__form .ya-smartcaptcha-wrap {
		display: flex;
		justify-content: center;
	}
	.raspisanie__form button,
	.raspisanie__form input[type="submit"],
	.raspisanie__form .wpcf7-submit {
		width: 100% !important;
		max-width: 320px !important;
	}
	.footer {
		position: relative;
		z-index: 2;
		clear: both;
		margin-top: 0;
	}
}

/* Spacing between CTA and footer */
.raspisanie + .footer,
.raspisanie + script + .footer {
	margin-top: 0;
}
.footer {
	padding-top: 20px;
	padding-bottom: 24px !important;
}

/* ===== FACTS BAR (hero bottom) ===== */
.facts-bar {
	position: relative;
	z-index: 10;
	margin-top: -60px;
	margin-bottom: 40px;
}
.facts-bar__inner {
	background: linear-gradient(135deg, var(--darkGreen, #53A56E) 0%, #2D6A3F 100%);
	border-radius: 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}
@media(max-width: 960px) {
	.facts-bar__inner {
		grid-template-columns: repeat(2, 1fr);
	}
	.facts-bar__item {
		align-items: center;
		text-align: center;
	}
	.facts-bar__item .facts-bar__btn {
		align-self: center;
	}
}
@media(max-width: 640px) {
	.facts-bar__inner {
		grid-template-columns: repeat(2, 1fr);
	}
	/* 2×2: центрируем содержимое и кнопки */
	.facts-bar__item {
		align-items: center;
		text-align: center;
		padding: 20px 14px;
	}
	.facts-bar__item .facts-bar__btn {
		align-self: center;
	}
	/* аккуратные разделители для сетки 2×2 */
	.facts-bar__inner .facts-bar__item:nth-child(odd) {
		border-right: 1px solid rgba(255,255,255,0.12);
	}
	.facts-bar__inner .facts-bar__item:nth-child(even) {
		border-right: none;
	}
	.facts-bar__inner .facts-bar__item:nth-child(1),
	.facts-bar__inner .facts-bar__item:nth-child(2) {
		border-bottom: 1px solid rgba(255,255,255,0.12);
	}
}
.facts-bar__item {
	padding: 28px 24px;
	color: #fff;
	border-right: 1px solid rgba(255,255,255,0.12);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.facts-bar__item:last-child {
	border-right: none;
}
.facts-bar__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}
.facts-bar__text {
	font-size: 13px;
	opacity: 0.8;
	line-height: 1.4;
}
.facts-bar__btn {
	display: inline-block;
	margin-top: auto;
	padding: 8px 20px;
	border: 1.5px solid rgba(255,255,255,0.5);
	border-radius: 6px;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s;
	background: transparent;
	cursor: pointer;
	text-align: center;
}
.facts-bar__btn:hover {
	background: #fff;
	color: var(--darkGreen, #53A56E);
	border-color: #fff;
}

/* ===== SMARTCAPTCHA ===== */
.ya-smartcaptcha-wrap {
	width: 100% !important;
	margin: 16px 0 !important;
	clear: both;
	flex-basis: 100% !important;
	order: 50 !important;
}
.fscreenForm,
.raspisanie__form form,
.tmModal__form form,
.wpcf7-form {
	display: flex !important;
	flex-wrap: wrap !important;
}
.fscreenForm .fscreenForm__input,
.fscreenForm .input,
.fscreenForm span.wpcf7-form-control-wrap {
	order: 10 !important;
}
.fscreenForm .fscreenForm__button,
.fscreenForm button,
.fscreenForm input[type="submit"],
.raspisanie__form button,
.raspisanie__form input[type="submit"],
.tmModal__form button,
.tmModal__form input[type="submit"] {
	order: 100 !important;
}
@media(max-width: 768px) {
	.ya-smartcaptcha-wrap > div {
		max-width: 100% !important;
		overflow: hidden;
	}
}

/* ===== TEAM PAGE ===== */
.team-hero {
	background: linear-gradient(135deg, #53A56E 0%, #2D6A3F 100%);
	padding: 70px 0;
	color: #fff;
	text-align: center;
	display: flex;
	align-items: center;
	min-height: 240px;
}
.team-hero h1 {
	font-size: 42px;
	font-weight: 700;
	margin: 0 0 16px;
	color: #fff;
}
.team-hero p {
	font-size: 18px;
	opacity: 0.85;
	max-width: 700px;
	margin: 0 auto;
	color: #fff;
}

.team-founder {
	padding: 60px 0;
	background: #f8f9fa;
}
.team-founder__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
}
.team-founder__label {
	font-size: 12px;
	font-weight: 700;
	color: var(--darkGreen, #53A56E);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 10px;
}
.team-founder__name {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 6px;
}
.team-founder__role {
	font-size: 15px;
	color: #888;
	margin-bottom: 20px;
}
.team-founder__quote {
	border-left: 4px solid var(--darkGreen, #53A56E);
	padding: 16px 20px;
	background: rgba(83,165,110,0.06);
	font-size: 15px;
	line-height: 1.7;
	color: #555;
	border-radius: 0 12px 12px 0;
}
.team-founder__photo img {
	width: 100%;
	max-width: 420px;
	border-radius: 20px;
	box-shadow: 0 8px 30px rgba(0,0,0,0.1);
}
@media(max-width: 768px) {
	.team-founder__inner {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.team-founder__photo {
		order: -1;
		text-align: center;
	}
}

.team-card {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
	align-items: start;
	background: #fff;
	border-radius: 20px;
	padding: 40px;
	margin-bottom: 30px;
	box-shadow: 0 2px 20px rgba(0,0,0,0.06);
	border: 1px solid rgba(83,165,110,0.1);
	transition: box-shadow 0.3s;
}
.team-card:hover {
	box-shadow: 0 8px 40px rgba(0,0,0,0.1);
}
.team-card__photo {
	width: 100%;
	aspect-ratio: 3/4;
	object-fit: cover;
	border-radius: 16px;
	background: #f0f0f0;
}
.team-card__name {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 4px;
}
.team-card__spec {
	font-size: 13px;
	font-weight: 600;
	color: var(--darkGreen, #53A56E);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 12px;
}
.team-card__desc {
	font-size: 14px;
	line-height: 1.7;
	color: #555;
	margin-bottom: 14px;
}
.team-card__meta {
	font-size: 13px;
	color: #888;
	margin-bottom: 14px;
}
.team-card__toggle {
	display: inline-block;
	padding: 10px 28px;
	border: 2px solid var(--darkGreen, #53A56E);
	border-radius: 100px;
	color: var(--darkGreen, #53A56E);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	background: transparent;
	transition: all 0.3s;
}
.team-card__toggle:hover {
	background: var(--darkGreen, #53A56E);
	color: #fff;
}
.team-card__details {
	display: none;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #eee;
}
.team-card__details.active {
	display: block;
}
.team-card__details h4 {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--darkGreen, #53A56E);
}
.team-card__details ul {
	margin: 0 0 14px;
	padding: 0 0 0 18px;
	font-size: 13px;
	line-height: 1.8;
	color: #666;
}
.team-card__teaches {
	font-size: 13px;
	line-height: 1.6;
	color: #444;
	background: rgba(83,165,110,0.06);
	padding: 12px 16px;
	border-radius: 10px;
	margin-top: 12px;
}
@media(max-width: 768px) {
	.team-card {
		grid-template-columns: 1fr;
		padding: 24px;
	}
	.team-card__photo {
		max-width: 250px;
		margin: 0 auto;
	}
}

/* ===== TEACHER SLIDER (main page) ===== */
.teacher-card {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
	transition: transform 0.3s, box-shadow 0.3s;
}
.teacher-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}
.teacher-card__photo {
	height: 320px;
	overflow: hidden;
	background: #f0f0f0;
}
.teacher-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	transition: transform 0.4s;
}
.teacher-card:hover .teacher-card__photo img {
	transform: scale(1.05);
}
.teacher-card__body {
	padding: 20px 24px 24px;
}
.teacher-card__role {
	font-size: 12px;
	color: var(--darkGreen, #53A56E);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 6px;
}
.teacher-card__name {
	font-size: 17px;
	font-weight: 700;
	color: var(--black, #17231B);
	margin-bottom: 8px;
}
.teacher-card__text {
	font-size: 13px;
	line-height: 1.6;
	color: #666;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ===== REVIEWS (main page) ===== */
.rev-card {
	background: #fff;
	border-radius: 16px;
	padding: 28px;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.rev-quote {
	color: var(--darkGreen, #53A56E);
	font-size: 36px;
	line-height: 1;
	margin-bottom: 12px;
	font-family: Georgia, serif;
}
.rev-text {
	font-size: 14px;
	line-height: 1.7;
	color: #555;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.rev-author {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #eee;
}
.rev-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--black, #17231B);
}
.rev-course {
	font-size: 13px;
	color: var(--darkGreen, #53A56E);
}
.rev-source {
	margin-top: 6px;
}
.rev-source a {
	font-size: 12px;
	color: #999;
	text-decoration: none;
}
.rev-source a:hover {
	color: var(--darkGreen, #53A56E);
}

/* ===== PRODUCT HERO ===== */
.product-hero {
	position: relative;
	min-height: 70vh;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.product-hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(23,35,27,0.8) 0%, rgba(23,35,27,0.55) 100%);
	z-index: 1;
}
.product-hero__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.product-hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 220px 0 70px;
}
@media(max-width: 960px) {
	.product-hero__content {
		padding: 180px 0 50px;
	}
}

/* =========================================================
   ПРАВКИ 29.06.2026
   1) -30% вертикальных отступов  2) подчёркивание H-заголовков
   3-4) отступы heading/desc/tabs  5-6) единая анимация кнопок
   7) компактная капча  8) отступ заголовка от контента
   ========================================================= */

/* ---- 1. Уменьшение отступов между блоками (~30%) ---- */
.course { margin: 42px 0 !important; }
@media (min-width:960px) { .course { margin: 84px 0 !important; } }
#advancet.advancet2 { padding: 42px 0 !important; }
#review { padding: 42px 0 !important; }
#teachers.ourTeachers { padding: 42px 0 !important; }
.textBlock { padding: 35px 0 !important; }
.facts-bar { margin-bottom: 28px !important; }

/* ---- 8 + general: отступ заголовка секции от контента ---- */
.heading--underline,
#review > .uk-container > .heading,
#teachers .heading2,
#advancet .adv-grid h2 {
	margin-bottom: 24px;
}

/* ---- 2. Подчёркивание H-заголовков (как на референсе) ---- */
.heading--underline {
	position: relative;
	padding-bottom: 14px;
}
/* Короткая тёмно-зелёная полоса (единственный элемент) */
.heading--underline::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 3px;
	border-radius: 3px;
	background: var(--darkGreen,#2D6A3F);
}
.heading--underline::after { display: none; }
/* центрированные заголовки — подчёркивание по центру */
.heading--underline.is-center,
[style*="text-align:center"].heading--underline {
	padding-bottom: 14px;
}
.heading--underline.is-center::after,
.heading--underline.is-center::before {
	left: 50%;
	transform: translateX(-50%);
}

/* ---- 3. Меньше отступ между H2 и «Выбери подходящий курс:» ---- */
.course__heading.heading--underline { margin-bottom: 14px !important; }
.course__desc { margin-bottom: 20px !important; }

/* ---- 4. Больше воздуха между «Выбери…» и табами фильтров ---- */
#coursesTabs.courses-tabs { margin-top: 4px; margin-bottom: 36px; }

/* =========================================================
   5 + 6. ЕДИНЫЙ СТИЛЬ + АНИМАЦИЯ КНОПОК
   Все кнопки — тёмно-зелёный градиент #53A56E -> #2D6A3F
   (как фон facts-bar). Контурные заливаются им при наведении.
   Анимация: мягкий подъём + сдвиг градиента + тень.
   ========================================================= */
:root {
	--btnGrad:        linear-gradient(135deg,#53A56E 0%,#2D6A3F 100%);
	--btnGradHover:   linear-gradient(135deg,#48965F 0%,#235632 100%);
	--btnShadow:      0 8px 20px rgba(45,106,63,0.32);
	--btnShadowSoft:  0 4px 12px rgba(45,106,63,0.26);
	--btnDark:        #2D6A3F;
}

/* Базовый transition для всех кнопок проекта */
.button,
.courses-tabs__tab,
.sch-all,
.sch-btn,
.facts-bar__btn,
.course-card a[href],
.course-card button {
	transition: transform .25s ease,
	            box-shadow .25s ease,
	            background-color .25s ease,
	            background .25s ease,
	            color .25s ease,
	            border-color .25s ease !important;
	will-change: transform;
}

/* --- Главная кнопка (.button: «Смотреть все курсы») --- */
.button {
	background: var(--btnGrad) !important;
	background-size: 160% 160% !important;
	background-position: 0% 50% !important;
}
.button:hover {
	background: var(--btnGradHover) !important;
	background-position: 100% 50% !important;
	transform: translateY(-2px);
	box-shadow: var(--btnShadow);
}
.button:active {
	transform: translateY(0);
	box-shadow: var(--btnShadowSoft);
	background: var(--btnDark) !important;
}

/* --- Табы фильтров курсов --- */
.courses-tabs__tab.active {
	background: var(--btnGrad) !important;
	box-shadow: var(--btnShadowSoft);
}
.courses-tabs__tab:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(45,106,63,0.22);
}
/* неактивный таб при наведении слегка темнеет */
.courses-tabs__tab:not(.active):hover {
	background: var(--pastelGreen) !important;
}

/* --- Карточки курсов: «Записаться» (заливка) --- */
.course-card button[uk-toggle] {
	background: var(--btnGrad) !important;
	background-size: 160% 160%;
	background-position: 0% 50%;
}
.course-card button[uk-toggle]:hover {
	background: var(--btnGradHover) !important;
	background-position: 100% 50%;
	transform: translateY(-2px);
	box-shadow: var(--btnShadow);
}
.course-card button[uk-toggle]:active {
	transform: translateY(0);
	box-shadow: var(--btnShadowSoft);
	background: var(--btnDark) !important;
}

/* --- Карточки курсов: «Подробнее» (контурная) --- */
/* обводка тёмно-зелёная, при наведении заливается градиентом */
.course-card a[href] {
	background: transparent;
	border-color: var(--btnDark) !important;
	color: var(--btnDark) !important;
}
.course-card a[href]:hover {
	background: var(--btnGrad) !important;
	color: #fff !important;
	border-color: var(--btnDark) !important;
	transform: translateY(-2px);
	box-shadow: var(--btnShadow);
}
.course-card a[href]:active {
	transform: translateY(0);
	box-shadow: var(--btnShadowSoft);
}

/* --- Контурные кнопки на тёмном (facts-bar, sch-all) --- */
/* фон уже тёмно-зелёный, поэтому осветляем рамку/заливку */
.facts-bar__btn:hover,
.sch-all:hover {
	background: rgba(255,255,255,0.15);
	border-color: #fff;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.18);
}
.facts-bar__btn:active,
.sch-all:active { transform: translateY(0); }

/* --- CF7 submit-кнопки («Оставить заявку», hero «Записаться») --- */
.fscreenForm .wpcf7-submit,
.fscreenForm button[type="submit"],
.raspisanie__form .wpcf7-submit,
.raspisanie__form button[type="submit"],
.tmModal__form .wpcf7-submit,
.tmModal__form button[type="submit"],
.wpcf7-submit {
	background: var(--btnGrad) !important;
	background-size: 160% 160% !important;
	background-position: 0% 50% !important;
	border: none !important;
	color: #fff !important;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}
.fscreenForm .wpcf7-submit:hover,
.fscreenForm button[type="submit"]:hover,
.raspisanie__form .wpcf7-submit:hover,
.raspisanie__form button[type="submit"]:hover,
.tmModal__form .wpcf7-submit:hover,
.tmModal__form button[type="submit"]:hover,
.wpcf7-submit:hover {
	background: var(--btnGradHover) !important;
	background-position: 100% 50% !important;
	transform: translateY(-2px);
	box-shadow: var(--btnShadow);
}
.wpcf7-submit:active {
	transform: translateY(0);
	box-shadow: var(--btnShadowSoft);
	background: var(--btnDark) !important;
}

/* =========================================================
   7. КАПЧА — корректное масштабирование

   Реальный контейнер виджета: .ya-smartcaptcha-container
   (внутри него Yandex рисует iframe ~302px шириной).
   CSS scale — это компромисс. Настоящий компактный размер
   задаётся в плагине ms-school-core: data-size / size:'compact'
   в вызове smartCaptcha.render() — см. инструкцию в ответе.
   ========================================================= */

/* --- ХИРОУ (#68): капча и бейдж под высоту поля ввода --- */
.fscreen .ya-smartcaptcha-wrap,
.fscreen__form .ya-smartcaptcha-wrap {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	width: 100%;
	margin: 12px 0 !important;
}
/* Контейнер капчи = ширина поля ввода (~260px), высота ~58px.
   Нативно виджет ~302x100 → масштабируем. Без скругления. */
.fscreen .ya-smartcaptcha-container,
.fscreen__form .ya-smartcaptcha-container {
	flex: 0 0 auto;
	width: 280px;
	height: 58px;
	overflow: hidden;
	position: relative;
}
.fscreen .ya-smartcaptcha-container > div,
.fscreen .ya-smartcaptcha-container iframe,
.fscreen__form .ya-smartcaptcha-container > div,
.fscreen__form .ya-smartcaptcha-container iframe {
	transform: scale(0.62);
	transform-origin: left top;
}
/* бейдж «Хорошее место» — выровнен по центру высоты капчи */
.fscreen .hero-rating-badge {
	flex: 0 0 auto;
	width: 150px !important;
	height: 58px !important;
	border: none !important;
	background: transparent !important;
	align-self: center;
}

/* =========================================================
   Кнопка «Подробнее» в карточках преподавателей
   + кликабельный заголовок «Наши преподаватели»
   ========================================================= */
.teacher-card__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
	padding: 9px 24px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	color: var(--btnDark,#2D6A3F);
	background: transparent;
	border: 2px solid var(--btnDark,#2D6A3F);
	border-radius: 30px;
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.teacher-card__more:hover {
	background: var(--btnGrad,linear-gradient(135deg,#53A56E,#2D6A3F));
	color: #fff;
	transform: translateY(-2px);
	box-shadow: var(--btnShadow,0 8px 20px rgba(45,106,63,0.32));
}
.teacher-card__more:active {
	transform: translateY(0);
}
/* кликабельный заголовок секции */
.teachers-heading-link { transition: opacity .2s ease; }
.teachers-heading-link:hover { opacity: 0.75; }

/* --- РАСПИСАНИЕ (#69): капча компактнее, не вылезает, отступ до кнопки --- */
.raspisanie__form .wpcf7-form,
.raspisanie__form form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
}
.raspisanie__form .ya-smartcaptcha-wrap {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 230px;
	overflow: hidden;
	margin: 0 !important;
	order: 50 !important;
}
.raspisanie__form .ya-smartcaptcha-container {
	transform: scale(0.74);
	transform-origin: left center;
	width: 224px;
	height: 74px;
	overflow: hidden;
}
@media (min-width:769px) {
	.raspisanie__form .wpcf7-submit,
	.raspisanie__form button[type="submit"] {
		margin-left: 18px;
	}
}

/* =========================================================
   ИСПРАВЛЕНИЯ ПО ЗАМЕЧАНИЯМ
   ========================================================= */

/* (3) «Смотреть все курсы»: текст всегда белый + центр по высоте */
.button,
.button:link,
.button:visited,
.button:hover,
.button:focus,
.button:active {
	color: #fff !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* (4) Заголовок «РАСПИСАНИЕ…» — белый на зелёном фоне */
.raspisanie .heading,
.raspisanie__title,
.raspisanie h2 {
	color: #fff !important;
}

/* Табы: перебиваем inline-стиль из JS (он ставит --darkGreen) */
#coursesTabs .courses-tabs__tab[style] {
	background-image: none;
}
#coursesTabs .courses-tabs__tab.active,
#coursesTabs .courses-tabs__tab[style*="darkGreen"] {
	background: var(--btnGrad) !important;
	color: #fff !important;
}

/* (5) Большие отступы между секциями отзывов/преподавателей/лицензии */
#review { padding: 36px 0 !important; }
.ourTeachers,
#teachers.ourTeachers {
	margin: 36px 0 !important;
	padding: 36px 0 !important;
}
.license {
	margin: 36px 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.textBlock { margin: 0 !important; padding: 30px 0 !important; }
/* убираем суммирование: низ преподавателей + верх лицензии */
.ourTeachers + .license { margin-top: 0 !important; }
/* блок «РАСПИСАНИЕ»: убираем огромный margin-top:198px из базовой темы */
.raspisanie {
	margin-top: 30px !important;
	margin-bottom: 36px !important;
}

/* =========================================================
   Подчёркивание на тёмном фоне (блок «РАСПИСАНИЕ»)
   ========================================================= */
.raspisanie .heading--underline::before { background: var(--lightGreen,#7AD76E); }


/* =========================================================
   МОБИЛЬНЫЕ ПРАВКИ 29.06.2026
   ========================================================= */

/* (4) Табы: активный только когда .active — убираем «всегда зелёный».
   Базовый inline background ставится в разметке/JS; здесь делаем
   неактивные пастельными принудительно, активный — градиент. */
.courses-tabs__tab {
	background: var(--pastelGreen) !important;
	color: var(--black) !important;
}
.courses-tabs__tab.active {
	background: var(--btnGrad) !important;
	color: #fff !important;
}

@media (max-width: 960px) {
	/* (3) Подчёркивание H2 в блоке курсов: учитываем inset 32px */
	.course .course__heading.heading--underline { position: relative; }
	.course .course__heading.heading--underline::before { left: 32px; }

	/* (5) Табы и сетка курсов не должны липнуть к краю экрана */
	#coursesTabs.courses-tabs { padding: 0 32px; }
	.courses-grid { padding: 0 32px; }
	.course__desc { padding: 0 32px; }
}

@media (max-width: 768px) {
	/* (1) ХИРОУ: каждый элемент формы — на всю ширину, своя строка.
	   Это гарантирует, что капча не встанет рядом с полем телефона. */
	.fscreen .fscreenForm,
	.fscreen .wpcf7-form,
	.fscreen__form .fscreenForm,
	.fscreen__form .wpcf7-form {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.fscreen .fscreenForm > *,
	.fscreen .wpcf7-form > *,
	.fscreen__form .fscreenForm > *,
	.fscreen__form .wpcf7-form > * {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
	}
	.fscreen .fscreenForm__input,
	.fscreen .input,
	.fscreen span.wpcf7-form-control-wrap,
	.fscreen input[type="text"],
	.fscreen input[type="tel"] {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-bottom: 10px !important;
	}

	/* КАПЧА В ХИРОУ — на отдельной строке, полный размер, кликабельна.
	   Селекторы широкие: не зависим от точного класса-предка. */
	.fscreen .ya-smartcaptcha-wrap,
	.fscreen__form .ya-smartcaptcha-wrap,
	.fscreenForm .ya-smartcaptcha-wrap,
	.wpcf7-form .ya-smartcaptcha-wrap {
		flex: 1 1 100% !important;
		width: 100% !important;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		order: 50 !important;
	}
	/* Любой контейнер капчи в форме хироу — на всю ширину, своя строка */
	.fscreen .ya-smartcaptcha-container,
	.fscreen__form .ya-smartcaptcha-container,
	.fscreenForm .ya-smartcaptcha-container,
	.wpcf7-form .ya-smartcaptcha-container {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 300px;
		height: auto !important;
		min-height: 100px;
		overflow: visible !important;
		order: 50 !important;
		margin-top: 8px !important;
	}
	/* отменяем десктопное масштабирование — капча в натуральном размере */
	.fscreen .ya-smartcaptcha-container > div,
	.fscreen .ya-smartcaptcha-container iframe,
	.fscreen__form .ya-smartcaptcha-container > div,
	.fscreen__form .ya-smartcaptcha-container iframe,
	.fscreenForm .ya-smartcaptcha-container > div,
	.fscreenForm .ya-smartcaptcha-container iframe,
	.wpcf7-form .ya-smartcaptcha-container > div,
	.wpcf7-form .ya-smartcaptcha-container iframe {
		transform: none !important;
		width: 100% !important;
		max-width: 300px !important;
	}
	/* бейдж «Хорошее место» — скрываем на мобиле (выглядит несуразно) */
	.fscreen .hero-rating-badge,
	.hero-rating-badge {
		display: none !important;
	}

	/* (2) Facts-bar: кнопки по содержимому, по центру элемента */
	.facts-bar__btn {
		align-self: center;
		width: auto;
		display: inline-block;
	}

	/* (6) «Сопровождение после обучения»: сетка 2×2 на мобиле */
	.support-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.support-grid > div:nth-child(odd) {
		border-right: 1px solid rgba(255,255,255,0.12);
	}
	.support-grid > div:nth-child(even) {
		border-right: none;
	}
	.support-grid > div:nth-child(1),
	.support-grid > div:nth-child(2) {
		border-bottom: 1px solid rgba(255,255,255,0.12);
	}
	/* кнопки внутри «Сопровождения» не растягиваем */
	.support-grid .facts-bar__btn {
		align-self: flex-start;
		width: auto;
		display: inline-block;
	}
}

/* =========================================================
   Якоря: отступ под фиксированный хедер при переходе
   ========================================================= */
#about_courses,
#advancet,
#review,
#teachers,
#license {
	scroll-margin-top: 100px;
}
@media (max-width: 768px) {
	#about_courses,
	#advancet,
	#review,
	#teachers,
	#license {
		scroll-margin-top: 80px;
	}
}

/* ===== CF7 ACCEPTANCE LINK ===== */
.wpcf7-acceptance a,
.wpcf7-list-item-label a,
.tmForm a,
.fscreenForm a {
	color: var(--darkGreen, #53A56E) !important;
	text-decoration: underline !important;
	font-weight: 600;
}
.wpcf7-acceptance a:hover,
.wpcf7-list-item-label a:hover,
.tmForm a:hover,
.fscreenForm a:hover {
	color: #2D6A3F !important;
	text-decoration: none !important;
}
/* White form variant (hero) */
.fscreen .wpcf7-acceptance a {
	color: #fff !important;
	text-decoration: underline !important;
}
.fscreen .wpcf7-acceptance a:hover {
	opacity: 0.8;
}

/* ===== COOKIE POPUP ===== */
.cookie-popup {
	position: fixed;
	bottom: 20px;
	left: 20px;
	max-width: 380px;
	background: #fff;
	border-radius: 16px;
	padding: 20px 24px;
	box-shadow: 0 8px 40px rgba(0,0,0,0.15);
	z-index: 9999;
	font-size: 14px;
	line-height: 1.6;
	color: #555;
	display: none;
	animation: cookieSlideUp 0.4s ease;
}
@keyframes cookieSlideUp {
	from { transform: translateY(30px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}
.cookie-popup.active {
	display: block;
}
.cookie-popup__text {
	margin-bottom: 14px;
}
.cookie-popup__text a {
	color: var(--darkGreen, #53A56E);
	text-decoration: underline;
	font-weight: 600;
}
.cookie-popup__text a:hover {
	text-decoration: none;
}
.cookie-popup__btn {
	display: inline-block;
	padding: 8px 24px;
	background: linear-gradient(135deg, #53A56E, #2D6A3F);
	color: #fff;
	border: none;
	border-radius: 100px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.3s;
}
.cookie-popup__btn:hover {
	opacity: 0.85;
}
@media(max-width: 480px) {
	.cookie-popup {
		left: 10px;
		right: 10px;
		max-width: none;
		bottom: 10px;
	}
}

/* ===== FORM CONSENT TEXT ===== */
.form-consent {
	width: 100%;
	flex-basis: 100%;
	order: 110;
	font-size: 12px;
	line-height: 1.5;
	color: rgba(255,255,255,0.6);
	margin-top: 10px;
	text-align: center;
}
.form-consent a {
	color: #fff !important;
	text-decoration: underline !important;
	font-weight: 700;
	text-underline-offset: 2px;
}
.form-consent a:hover {
	opacity: 0.8;
}
/* On white background forms */
.raspisanie .form-consent,
.team-card .form-consent {
	color: rgba(255,255,255,0.6);
}
@media(max-width: 768px) {
	.form-consent {
		font-size: 11px;
		max-width: 320px;
		margin: 10px auto 0;
	}
}
