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

/* ===== 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;
}

/* ===== 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);
	}
}
@media(max-width: 640px) {
	.facts-bar__inner {
		grid-template-columns: 1fr;
	}
}
.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;
	}
}
