/*
Theme Name: Bodhisaltcenter
Theme URI: https://wordpress.org/themes/bodhisaltcenter/
Author: Bodhisaltcenter
Author URI: https://wordpress.org
Description: Тема для Bodhisaltcenter
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bodhisaltcenter
Tags: blog
*/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

img {
	width: 100%;
	height: auto;
}

html, body {
  max-width: 100%;
}

body {
	font-family: 'Manrope', 'Poppins', Arial, sans-serif; /* Глобальное применение шрифта */
	background-color: #f6f2ef;
	font-style: normal;
	min-height: 1000px; /* Для кнопки прокрутки вверх */
}


@font-face { /* Manrope ExtraLight */
	font-family: 'Manrope';
	src:url('fonts/Manrope/Manrope-ExtraLight.woff2') format('woff2'),
		url('fonts/Manrope/Manrope-ExtraLight.woff') format('woff');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face { /* Manrope Light */
	font-family: 'Manrope';
	src:url('fonts/Manrope/Manrope-Light.woff2') format('woff2'),
		url('fonts/Manrope/Manrope-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face { /* Manrope Regular */
	font-family: 'Manrope';
	src:url('fonts/Manrope/Manrope-Regular.woff2') format('woff2'),
		url('fonts/Manrope/Manrope-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face { /* Manrope Bold */
  font-family: 'Manrope';
  src: url('fonts/Manrope/Manrope-SemiBold.woff2') format('woff2'),
       url('fonts/Manrope/Manrope-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face { /* Manrope ExtraBold */
  font-family: 'Manrope';
  src: url('fonts/Manrope/Manrope-ExtraBold.woff2') format('woff2'),
       url('fonts/Manrope/Manrope-ExtraBold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face { /* Poppins Light */
  font-family: 'Poppins';
  src: url('fonts/Poppins/Poppins-LightItalic.woff2') format('woff2'),
       url('fonts/Poppins/Poppins-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}


a {
    color: #444;
    text-decoration: none;
	transition: color 0.3s ease;
}

a:link {
    color: #444;
}

a:visited {
    color: #444;
}

a:hover {
    color: #c49060;
}

a:active {
    color: #c49060;
}

ul {
    list-style: none;
}

li {
    line-height: 35px; 
}


header {
    display: grid;
    grid-template-rows: 80px 300px 80px;
	background-color: #f6f2ef;
	margin-bottom: 25px; /* Отступ от всего блока header */
}

header h1, h2, h3 {
	font-family: 'Manrope';
	cursor: default;
}

h1, h2, h3, h4 {
	font-family: 'Manrope';
	cursor: default;
}

header h1 {
	color: #fff;
	font-weight: 800;
	font-size: 60px;
	line-height: 65px;
}

header h2 {
	font-weight: 200;
	font-size: 30px;
	color: #444;
}

header h3 {
	font-weight: 200;
	font-size: 25px;
	color: #fff;
	padding-top: 15px;
}


h2 {
	font-weight: 600;
	font-size: 26px;
	color: #444;
}

h3 {
	font-weight: 600;
	font-size: 20px;
	color: #444;
}

h4 {
	font-weight: 600;
	font-size: 18px;
}

.header-main-title {
	padding: 0;
	margin: 0;
}

/********* Button UP *********/

.btn-up {
	position: fixed;
	background-color: #c79897;
	right: 30px;
	bottom: 30px;
	border: 1px solid #fff;
	border-radius: 3px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.15s ease-in-out, transform 0.3s ease-in-out;
	color: #fff;
	width: 50px;
	height: 50px;
	opacity: 1;
	transform: translateY(0);
}

.btn-up_hide {
	display: none;
}

.btn-up_hiding {
	opacity: 0;
	transform: translateY(100px);
}

.btn-up-icon {
	width: 40px;
	height: 40px;
	fill: currentcolor;
}

@media (hover: hover) and (pointer: fine) {
	.btn-up:hover {
		border: 1px solid #fff;
	}
}

/********* Button Price *********/

.button-price {
	display: block;
	background-color: #fff;
	color: #777;
	padding: 10px 16px;
	font-size: 15px;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.2s ease;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.button-price:hover {
	background-color: #666;
	color: #fff;
}


.button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
    width: 165px !important;
    height: 45px !important;
    background-color: #c4a995 !important;
    font-family: 'Manrope' !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 20px !important;
    color: #fff !important;
	cursor: pointer !important;
    transition: background-color 0.3s ease !important;
	text-decoration: none !important;
	
}

.button:hover {
    background-color: #444 !important;
	color: #fff !important;
}

.button--left { margin-right: auto; }

.button--right { 
	margin-left: auto; 
	margin-top: auto;
	align-self: flex-end;
}

.button--center { margin: 0 auto; }

.button { 
	margin: 20px 0; 
	align-self: center;
}

.block-white .button-book-now{
    width: 165px;
    height: 45px;
	padding: 10px 30px;
    background-color: #c4a995;
    font-family: 'Manrope';
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
	margin: 20px 10px 10px;
	color: #fff;
    text-decoration: none;
    border: none;
	cursor: pointer;
    transition: background-color 0.3s ease;
}

.block-white .button-book-now:hover{
    background-color: #444;
}

/********* Header *********/

.bg {
	background-size: cover;
	background-position: center;
}

.header-item:nth-child(1) { /* Блок для меню */
	height: 80px;
}

.header-item:nth-child(2) {
	position: relative;
}

.header-item.bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: background-image 1s ease-in-out;
}

.header-shadow, 
.header-item {
    display: flex;
	align-items: center;
    justify-content: center;
}

.header-item,
.header-shadow {
	flex-direction: column;
	text-align: center;
}

.header-shadow { /* Блок тени за заголовком на растяжке */
	height: 100%;
	width: 60%;
    background: linear-gradient(
        to right,
        transparent 0%,
		rgba(0, 0, 0, 0.2) 20%,
		rgba(0, 0, 0, 0.3) 40%,
        rgba(0, 0, 0, 0.4) 50%,
		rgba(0, 0, 0, 0.3) 70%,
		rgba(0, 0, 0, 0.2) 80%,
        transparent 100%
    );
}

.header-item:nth-child(3) { /* Ячейка заголовка */
	background-color: #fff;
	box-shadow: 0px 0px 15px #e0dad5;
}

.gift-card-wrapper {
	position: absolute;
	top: 0;
	right: 5%;
	width: 415px;
	height: 215px;
	overflow: hidden;
	display: flex;
	justify-content: center;
}

.gift-card {
	position: relative;
	display: block;
	width: 300px;
	height: 176px;
	background-image: url('images/giftcards/main.jpg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 10px;
	transform: rotate(-10deg) translateY(-50px);
	transform-origin: 75% 25%;
	transition: transform 0.4s ease;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
}

@keyframes swing {
	0%   { transform: rotate(-10deg) translateY(-50px); }
	50%  { transform: rotate(-15deg) translateY(-55px); }
	100% { transform: rotate(-10deg) translateY(-50px); }
}

.gift-card.animate {
	animation: swing 1s ease;
}

.gift-card:hover {
	transform: translateY(25px); /* чуть выше при ховере */
}

@media (max-width: 1600px) {
	
	.gift-card-wrapper{
		right: 0;
		width: 300px;
	}
	
	.gift-card {
		width: 250px;
		height: 147px;
	}

}

/* =========== Main =========== */

main {
    width: 65%;
    margin: 0 auto;
    display: block;
    place-items: center;
}

/* Блок тестовая Книжка*/

.a1 {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	
	height: auto;
	border-top: 3px ridge rgba(0, 0, 0, 0.1);
	border-left: 6px ridge rgba(0, 0, 0, 0.2);
	border-right: 8px groove rgba(0, 0, 0, 0.3);
	border-bottom: 10px groove rgba(0, 0, 0, 0.3);
	background-image: url('images/book-bg.svg');
	background-repeat: repeat-y;
	background-size: contain;
}

.a1-left {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 50%;
	padding: 40px;
}

.a1-left picture {
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.book-img {
    height: 100%;
    max-width: 100%;
    width: auto;
    object-fit: contain;
    display: block;
}


.a1-right {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	height: 100%;
	width: 50%;
	padding: 40px;
	gap: 30px;;
}

.a1_page { /* Страницы для авторской книжки */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	border: 1px solid #444;
	height: 100%;
	width: 100%;
}

.author-wrap {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 20px;
	border: 1px solid #444;
}

.author_img,
.a1-left .author_img { /* Стили изображений */
	width: 200px;
	height: auto;
	flex-shrink: 0;
}

.a1-left .author_img img { /* Стили изображений */
	width: 100%;
	height: auto;
	display: block;
}

.author_img img {
	width: 100%;
	height: auto;
	display: block;
}

.author {
	display: inline-block;
	font-size: 18px;
	margin-top: auto;
}

.italic { /* Общий класс для всех! */
	display: block;
	clear: both;
	font-family: 'Poppins';
	font-weight: 300;
	font-size: 16px;
	font-style: italic;
	line-height: 30px;
}


/* Блок тестовая Книжка e2 */


.e2 {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100%;
	height: auto;
	border-top: 3px ridge rgba(0, 0, 0, 0.1);
	border-left: 6px ridge rgba(0, 0, 0, 0.2);
	border-right: 8px groove rgba(0, 0, 0, 0.3);
	border-bottom: 10px groove rgba(0, 0, 0, 0.3);
	background-image: url('images/book-bg.svg');
	background-repeat: repeat-y;
	background-size: contain;
}

.e2-page {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 30px;
	padding: 30px;
	height: 100%;
	width: 50%;
}

.e2-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: flex-start;
	width: 100%;
	gap: 20px;
}

.e2_img {
	height: auto;
	flex-shrink: 0;
	float: left;
}

.e2_img img {
	height: auto;
	width: 200px;
	display: block;
}

.e2-name {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
}

.e2-name h1{
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 25px;
	color: #444;
}

.e2-name span {
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 15px;
	color: #444;
}

.e2-span {
	display: inline-block;
	font-size: 18px;
	margin-top: auto;
}

.e2 h1 {
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 23px;
	color: #444;
	cursor: default;
	text-transform: uppercase;
}

.e2_text {
	display: block;
	clear: both;
	font-family: 'Poppins';
	font-weight: 300;
	font-size: 16px;
	font-style: italic;
	line-height: 30px;
	color: #444;
}

.e2_logo {
    width: 200px;
    height: auto;
    fill: #3E4536;
}

}

svg {
    display: block; /* Убирает лишние отступы */
    max-width: 100%; /* Предотвращает выход за контейнер */
}

/* =========== Логотипы =========== */


.logo-1 { /* Логотип в шапке */
    width: 200px;
    height: auto;
    fill: #3E4536;
}

.logo-2 { /* Логотип в main */
    width: 200px;
    height: auto;
    fill: #3E4536;
}

.logo-3 { /* Логотип в подвале */
    width: 250px;
    height: auto;
    fill: #fff;
}

/* Тестовый блок с текстом сбоку (для Пакетов) */

.сс2 {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0 30px 30px;
	position: relative;
}

.сс2-item:nth-child(1) { /* Заголовок */
	display: flex;
	align-items: center;
	justify-content: center;
	height: 80px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}

.сс2-item:nth-child(1) h1 { 
	font-weight: 200;
	font-size: 26px;
	color: #444;
}

.сс2-item:nth-child(2) { /* Блок с изображением и текстом */
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	gap: 20px;
}

.cc2-img {
	width: 45%;
}

.cc2-img img {
	width: 100%;
	height: auto;
	display: block;
}

.cc2-text {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 65%;
	height: 100%;
	padding-bottom: 40px;
}

.cc2-text p { 
	font-weight: 400;
	font-size: 16px;
	line-height: 30px;
	color: #444;
}

/* Блок с текстом на главной */

.l {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0 50px;
	gap: 20px;
}

.l-title {
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid #ccc;
}

.l-title h1 {
	font-weight: 200;
	font-size: 26px;
	color: #444;
	padding: 20px 0;
}

.l-text {
	width: 100%;
	padding-bottom: 20px;
}

.l-text p {
	font-weight: 400;
	font-size: 17px;
	line-height: 30px;
	text-indent: 1.5em;
	color: #444;
	margin-bottom: 15px;
}

/* Тестовый блок с текстом сбоку (для Прайса) */

.d {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0 30px 30px;
	position: relative;
}

.d-item:nth-child(1) { /* Заголовок */
	display: flex;
	align-items: center;
	justify-content: center;
	height: 80px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 40px;
}

.d-item:nth-child(1) h1 { 
	font-weight: 600;
	font-size: 26px;
	color: #444;
}

.d-item:nth-child(2) { /* Блок с изображением и текстом */
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	gap: 20px;
}

.d-img {
	width: 20%;
}

.d-img img {
	width: 100%;
	height: auto;
	display: block;
}

.d-text {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 80%;
	height: 100%;
	padding-bottom: 40px;
}

.d-text p { 
	font-weight: 400;
	font-size: 16px;
	line-height: 30px;
	color: #444;
}

.table { /* Таблица */
	display: flex;
	flex-direction: column;
	align-items: start;
	justify-content: center;
	gap: 8px;
	margin: auto;
	width: 100%;
}


.tb-wrapper {
	display: flex;
	flex-direction: row;
	align-items: end;
	justify-content: start;
	width: 100%;
}

.cell {
	width: 70%;
}


.tb-right {
	display: flex;
	flex-direction: row;
	align-items: end;
	justify-content: space-between;
	width: max-content;
}

.tb-right-top {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: 5px;
	width: 130px;
}

.tb_text { /* Цвет точек fill='%23 999(последние три параметра)' */
	display: flex;
	flex: 1;
	background-image: url("data:image/svg+xml,%3Csvg width='6' height='1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23999' /%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-position: bottom left;
	background-size: auto 1px;
}

.tb_text p {
  display: inline;
  background-color: white;
  padding: 8px 0;
}

.tb_text-link {
	color: #444 !important;
}

.tb_text-link:hover {
	text-decoration: underline;
}

.bottom {
	width: max-content;
	align-self: end;
}

.dollar {
	font-size: 13px;
}

.time {
	font-size: 16px;
}

.min {
	padding-left: 3px;
	font-size: 15px;
	color: #999;
}

.price {
	font-weight: bold;
	padding-right: 10px;
}


/* =========== Блок Фото с текстом сбоку =========== */

.b2-title, /* Общие стили шрифта для блока */
.block2-right span, 
.block2-right p {
	font-family: 'Manrope';
}

.block2-left, /* Элементы блока слева */
.block2-left img {
	position: relative;
}

.block2 { /* Общий блок */
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	padding: 30px;
	width: 100%;
	gap: 30px;
	margin: 15px 0;
}

.block2-left img { /* Стили превью */
	display: block;
	width: auto;
	height: 100%;
}

.block2-right { /* Блок справа */
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	align-content: space-between;
	flex: 1; 
}

.block2-links {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	align-items: center;
}

.b2-shadow { /* Тень над превью */
	position: absolute;
    bottom: 0;
	z-index: 10;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 50%, transparent 100%);
}

.b2-title { /* Текст над превью*/
	position: absolute;
    bottom: 0;
	right: 0;
	z-index: 11;
	cursor: default;
	padding: 25px;
	text-align: right;
	color: #fff;
    font-weight: 400;
    font-size: 30px;
    text-transform: uppercase;
	word-break: break-word;
}

.span2 { /* Стрелка в группе ссылок */
	font-weight: 600;
	font-size: 18px;
	color: #444;
	cursor: pointer;
}

.a2 { /* Стили сылок в заголовке */
	font-weight: 600 !important;
	font-size: 18px !important;
	color: #444 !important;
}

.a2:hover { /* Стили активных сылок в заголовке */
	color: #999 !important;
}

.p2 { /* Стиль текста */
	font-weight: 400;
	font-size: 18px;
	line-height: 35px;
	color: #444;
	padding: 30px 0;
}



/********* CONTAINER *********/

.container {
	display: grid;
    grid-template-areas: 
		"header"
		"main"
		"footer";
    grid-template-rows: auto 1fr auto;
    grid-template-columns: 1fr;
    height: 100vh;
}


.block,
.block-white {
	width: 100%;
	height: max-content;
	margin-bottom: 25px;
	border-radius: 8px;
}

.block-white {
	background-color: #fff;
	box-shadow: 5px 5px 10px #e0dad5;
	width: 100%;
}

.block-book { /* Блок для книжки */
	background-color: #fff;
	width: 100%;
}

.block-no-padding { /* Блок с контентом без внешних отступов */
	background-color: #fff;
	width: 100%;
}


.block strong {
	font-family: 'Manrope';
	font-weight: 600;
	font-size: 18px;
	color: inherit;
} 

.block ul {
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 16px;
	padding-left: 50px;
}

.block li {
	list-style-type: circle;
}

/* Решить вопрос с единым отступом для всех блоков снизу, сверзу, по бокам */


.line {
	width: 90%;
	border-top: 1px solid #ccc;
	margin: 0 auto;
}


/********* Block Three images *********/


.three-img {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
	gap: 50px;
	padding: 0 30px 50px;
}

.three-img-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 400px;
}

.three-img-item img{
	width: 100%;
	height: auto;
}

.three-img-item h1 {
	font-family: 'Manrope';
	font-weight: 600;
	font-size: 18px;
	color: #444;
	padding: 30px 0;
}

.three-img-item p {
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 18px;
	line-height: 35px;
	color: #444;
}


/********* Block FAQ *********/

.details { /* Раскрывающийся блок */
	position: relative;
	display: block;
	max-width: 70%;
	margin: 0 auto 10px;
	border-radius: 5px;
	transition: 0.3s;
	overflow: hidden;
}

.details::after {
	position: absolute;
	right: 24px;
	top: 20px;
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-right: 3px solid #496b6b; 
	border-bottom: 3px solid #496b6b;
	transform: rotate(-45deg);
	transform-origin: center;
	transition: 0.3s;
	background: none; /* убираем фон */
}

.details[open]::after {
	border-right: 3px solid #fff; 
	border-bottom: 3px solid #fff;
	transform: rotate(45deg);
}

.details[open] {
	padding-bottom: 100px;
}

.details[open] .details__title {
	margin-bottom: 32px;
	background-color: #2f4f4f; /* темнее, чем при :hover */
	color: #fff;
}

.details__title { /* Блок заголовка */
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 20px;
	border-radius: 5px;
	padding: 15px 25px;
	cursor: pointer;
	list-style: none;
	transition: .3s;
	background-color: #c6cecd;
}

.details__title:hover {
	background-color: #496b6b;
	color: #fff;
}

.details__title::-webkit-details-marker {
	display: none;
}

.details:hover::after { /* стрелка белая при наведении на блок */
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
}

.details__content {
	padding: 0 32px;
	font-size: 18px;
	margin-bottom: -60px;
}

.details__content ul {
	list-style-type: square;
	padding: 30px 50px;
}

.details__content p:last-child {
	margin-bottom: 0;
}
.details__content p:first-child {
	margin-top: 0;
}

/********* Блок Фото с текстом сбоку *********/

.block-text-right-preview, /* Общие стили шрифта для блока */
.block-text-right-item:nth-child(2) span, 
.block-text-right-item:nth-child(2) p {
	font-family: 'Manrope';
}

.block-text-right-item, /* Элементы блока слева */
.block-text-right-item img {
	position: relative;
}

.block-text-right { /* Общий блок */
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	padding: 30px 50px;
	width: 100%;
}

.block-text-right-item img { /* Стили превью */
	height: 320px;
	width: auto;
	display: block;
}

.block-text-right-preview { /* Элементы блока превью */
    position: absolute;
    color: #fff;
    font-weight: 400;
    font-size: 30px;
    text-transform: uppercase;
}

.block-text-right-preview:nth-child(2) { /* Тень над превью */
    bottom: 0;
	right: 0;
	z-index: 10;
	width: 100%;
	height: 50%;
	background: linear-gradient(
        to top,
		rgba(0, 0, 0, 0.5) 50%,
        transparent 100%
    );
}

.block-text-right-preview:nth-child(3) { /* Текст над превью */
    bottom: 0;
	right: 0;
	z-index: 11;
	padding: 25px;
	cursor: default;
}

.block-text-right-item:nth-child(2) { /* Блок превью слева */
	padding-left: 30px;
	width: 100%;
}

.block-text-right-item:nth-child(2) span { /* Стрелка в группе ссылок */
	font-weight: 600;
	font-size: 18px;
	color: #444;
	cursor: pointer;
}

.block-text-right-item:nth-child(2) a { /* Стили сылок в заголовке */
	font-weight: 600;
	font-size: 18px;
	color: #444;
}

.block-text-right-item:nth-child(2) a:hover { /* Стили активных сылок в заголовке */
	color: #999;
}

.block-text-right-item:nth-child(2) { /* Блок справа */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.block-text-text:nth-child(1) { /* Ссылки с текстом */
	height: 100%;
}

.block-text-text:nth-child(2) { /* Кнопка */
	width: 100%;
	text-align: right;
}

.block-text-right-item:nth-child(2) p { /* Стиль текста */
	font-weight: 400;
	font-size: 18px;
	line-height: 35px;
	color: #444;
	padding-top: 30px;
}


/********* Блок Фото с текстом без заголовка *********/


.kids-club {
	width: 100%;
	padding: 50px;
}

.kids-club img {
	width: 100%;
}

.kids-club p {
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 20px;
	color: #444;
	line-height: 30px;
	margin: 2em 0;
	text-indent: 3ch;
}


/* Mail form */

.block-mail {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
	width: 100%;
}

.block-mail-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 50%;
	padding: 50px 0;
}

.block-mail-item img {
	width: 80%;
	height: auto;
	border-radius: 10px;
}

.block-mail-item:nth-child(1) span{
	font-family: 'Manrope';
	font-weight: 200;
	font-size: 26px;
	color: #444;
}

.wpcf7-form { /* Контейнер формы */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"] { /* Поля ввода */
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: 0.5s;
    outline: none;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus {
    border: 1px solid #555;
}

.wpcf7-form textarea { /* Текстовое поле (Message) */
    width: 100%;
    height: 100px; /* Твоя желаемая высота */
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: 0.5s;
    outline: none;
    resize: none;
}

.wpcf7-form textarea:focus {
    border: 1px solid #555;
}

.wpcf7-form .wpcf7-checkbox { /* Чекбокс */
    margin: 10px 0;
    font-family: 'Manrope', sans-serif;
    font-weight: 200;
    font-size: 16px;
    color: #444;
}

.wpcf7-form .wpcf7-checkbox input[type="checkbox"] {
    margin-right: 10px;
}

.wpcf7-form input[type="submit"] { /* Кнопка отправки */
    width: 100%;
    padding: 12px 20px;
    margin: 10px 0;
    background-color: #555;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-family: 'Manrope', sans-serif;
    font-weight: 200;
    font-size: 16px;
    transition: 0.3s;
}

.wpcf7-form input[type="submit"]:hover {
    background-color: #777;
}

/* Блок с картами  */

.block-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 20px 40px;
}

.block-title-line{
	display: flex;
	flex-direction: row;
	align-items: end;
	justify-content: space-between;
	width: 80%;
	border-bottom: 1px solid #dfdedd;
	padding: 20px 0;
}

.title_link {
	display: block;
	position: relative;
	padding-right: 20px;
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 18px;
	color: #444;
}

.title_link::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-40%);
	width: 14px;
	height: 14px;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='%23454545' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.71967 11.0303C4.42678 10.7374 4.42678 10.2626 4.71967 9.96967L7.68934 7L4.71967 4.03033C4.42678 3.73744 4.42678 3.26256 4.71967 2.96967C5.01256 2.67678 5.48744 2.67678 5.78033 2.96967L9.28033 6.46967C9.57322 6.76256 9.57322 7.23744 9.28033 7.53033L5.78033 11.0303C5.48744 11.3232 5.01256 11.3232 4.71967 11.0303Z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	transition: transform 0.3s ease;
	pointer-events: none;
}


.title_link:hover::after {
	transform: translateY(-40%) translateX(40%);
}

.title_link:hover {
	color: #000;
}

.block-title-line h1 {
	text-transform: uppercase;
}

.block-title-line-center{
	width: 80%;
	text-align: center;
	border-bottom: 1px solid #dfdedd;
	padding-bottom: 20px;
}

.block-title-line-center h1 {
	font-family: 'Manrope';
	font-weight: 200;
	font-size: 28px;
	color: #444;
}

.block-title-line h1 {
	font-family: 'Manrope';
	font-weight: 400;
	font-size: 25px;
	
}



@media (max-width: 640px) {
	.block-title-line{
		padding: 40px 0 20px;
	}
}

/********* Text *********/


.text {
	
	width: 100%;
	box-shadow: 5px 5px 10px #e0dad5;
}

.text {
	padding: 80px;
}

.text .terms-list {
    padding-left: 50px;
    list-style-type: none;
    counter-reset: section; /* Cчётчик для родительских пунктов */
}

.text .terms-list > li {
    position: relative;
    margin-bottom: 15px; /* Отступ между родительскими пунктами */
	font-weight: 600;
}

.text .terms-list > li::before {
    counter-increment: section; /* Увеличение счетчика для каждого родительского пункта */
    content: counter(section) ". "; /* Нумерация: 1., 2. */
    position: absolute;
    left: -40px; /* Сдвигаем номер влево */
}

/* Вложенный список */
.text .terms-list ul {
    padding-left: 40px; /* Отступ для вложенных пунктов */
    list-style-type: none;
    counter-reset: subsection; /* Счётчик для вложенных пунктов */
}

.text .terms-list ul li {
    position: relative;
    margin-bottom: 10px; /* Отступ между вложенными пунктами */
	font-weight: 400;
}

.text .terms-list ul li::before {
    counter-increment: subsection; /* Увеличение счетчика для вложенных пунктов */
    content: counter(section) "." counter(subsection) ". "; /* Нумерация: 1.1., 1.2. */
    position: absolute;
    left: -40px; /* Сдвигаем номер влево */
}




/********* Адаптивность *********/




@media (max-width: 1400px) {
	
	main {
		width: 100%;
	}	
}

@media (max-width: 1200px) {
	
	main {
		width: 100%;
	}
}

@media (max-width: 1000px) {
	
	main {
		width: 100%;
	}
	
	.gift-card-wrapper {
		display: none;		
	}
	
	/* =========== Любой блок с контентом без фона =========== */
	
	.block,
	.block-white {
		border-radius: 0;
		box-shadow: none;
		margin-bottom: 10px;
	}
}

@media (max-width: 800px) {
	
	main {
        width: 100%;
    }
}

@media (max-width: 640px) {
	
	header {
    grid-template-rows: auto 300px 60px;
	margin-bottom: 25px; /* Выяснить про отступы, они дублируются с .text */
	}
	
	header h1 {
		font-size: 55px;
}
	
	header h2 {
		font-size: 25px;
	}
	
	.header-item:nth-child(1) {
		height: auto;
	}
	
	
	/* Price & Membership */
	.d-item:nth-child(2) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 20px;
	}
	
	.header-main-title {
		padding: 30px;
	}
	
	.d-img {
		width: 100%;
	}

	.d-text {
		width: 100%;
	}
	
	.table {
		padding: 0 10px;
	}
	
	.tb-wrapper {
		align-items: end;
	}
	
	.tb-right {
		flex-direction: column;
		gap: 0;
	}

	.cell {
		display: flex;
		align-items: end;
		justify-content: space-between;
		padding: 6px 0;
	}

	.bottom {
		align-self: end;
		width: 100%;
	}

	.d-text {
		padding-bottom: 20px;
	}

	.tb_text p {
		display: inline-block;
		width: 100%;
	}
	
	.time {
		font-size: 15px;
	}
	
	.price {
		font-size: 22px;
		font-weight: bold;
	}

	
	
	/* Тестовый блок */
	
	.block2 { /* Общий блок */
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 30px;
		padding: 0;
	}
	
	.block2-right { /* Блок справа */
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		align-content: space-between;
		flex: 1; 
	}
	
	.block2-left {
		width: 100%;
	}
	
	.block2-left img { /* Стили превью */
		display: block;
		width: 100%;
		height: auto;
	}
	

	
	/* Mail form */

	.block-mail {
		flex-direction: column;
		justify-content: center;
	}
	
		
	.block-mail-item {
		width: 100%;
		padding: 30px 0;
	}

	.block-mail-item img {
		width: 50%;
		height: auto;
	}
		

	/********* Block Three images *********/
	
	.three-img {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 20px;
		padding: 0;
	}

	
	/********* Книжка *********/

	.book-column {
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		background-color: #fff;
		border-left: 0;
		border-right: 0;
		border-bottom: 0;
		box-shadow: 5px 5px 15px #999;
		background-image: none;
	}
	
	.book-page-item:nth-child(1) {
		flex-direction: column;
		align-items: center;
	}

	.book-column-page {
		width: 100%;
		padding: 40px;
	}
	
	.book-page-item h1{
		text-align: center;
	}
	
	.book-column-page:nth-child(1) {
		border-bottom: 1px solid #999;
	}
	
	.book-page-item:nth-child(1) .book-container:nth-child(2) {
		padding: 20px 0;
	}


	
	/********* Block FAQ *********/
	
	.details { /* Раскрывающийся блок */
		max-width: 100%;
		margin: 0 auto 10px;
		border-radius: 0;
	}

	.details__title { /* Блок заголовка */
		border-radius: 0;
		padding: 15px 50px 15px 20px;
	}
	
	
	/********* Блок Фото с текстом сбоку *********/

	.block-text-right { /* Общий блок */
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		padding: 0px;
	}

	.block-text-right-item{ /* Элементы блока слева */
		width: 100%;
		border: 1px solid #444;
	}

	.block-text-right-item img { /* Стили превью */
        width: 100%;
        height: auto;
    }
	
	.block-text-right-item:nth-child(2) { /* Блок справа */
		padding: 30px;
	}

	.block-text-text:nth-child(2) { /* Кнопка */
		text-align: center;
		padding: 30px;
	}
	

	
	
	
	/********* Main > Kid's club *********/
	
	.kids-club {
	padding: 30px;
	}

	.kids-club p {
		margin: 1em 0;
	}


    main,
	.header-shadow {
        width: 100%;
    }
	
	.text,
	.text .terms-list {
		padding: 30px;
	}

	/* Google Reviews*/
	.ti-widget {
    width: 350px !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
    margin: 0 auto;
}

	
}