/*
Theme Name: Bodhisaltcenter
Theme URI: https://wordpress.org/themes/bodhisaltcenter/
Author: Bodhisaltcenter
Author URI: https://wordpress.org
Description: Theme for 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; /* Global font application */
	background-color: #f6f2ef;
	font-style: normal;
	min-height: 1000px; /* For the scroll-to-top button */
}


@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; 
}

h1, h2, h3, h4 {
	font-family: 'Manrope';
	cursor: default;
}

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               *
*                                *
**********************************/

header {
    display: flex;
	flex-direction: column;
	background-color: #f6f2ef;
	margin-bottom: 25px; /* Margin from the entire header block */
	width: 100%;
}

header h1,
.main-title,
.main-subtitle {
	font-family: 'Manrope';
	cursor: default;
}

header h1 {
	font-weight: 200;
	font-size: 30px;
	color: #444;
	padding: 0;
	margin: 0;
}

.bg {
	background-size: cover;
	background-position: center;
}

.header-item:nth-child(1) { /* Menu */
	min-height: 80px;
}

.header-item:nth-child(2) { /* Main banner */
	position: relative;
	min-height: 300px;
}

.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 { /* Shadow block behind the stretched header */
	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%
    );
}

.main-title {
	color: #fff;
	font-weight: 800;
	font-size: 60px;
	line-height: 65px;
}

.main-subtitle {
	font-weight: 200;
	font-size: 25px;
	color: #fff;
	padding-top: 15px;
}

.header-item:nth-child(3) { /* Page title */
	min-height: 80px;
	background-color: #fff;
	box-shadow: 0px 0px 15px #e0dad5;
}

@media (max-width: 640px) {

	header {
		margin-bottom: 25px; /* Find out about the spacing—they’re duplicated with .text.*/
	}
	
	header h1 {
		font-size: 25px;
	}
	
	.header-shadow {
		padding: 0 10px;
	}

	.main-title {
		font-size: 45px;
	}
	
	.main-subtitle {
		font-size: 19px;
	}
	
	.header-item:nth-child(1) {
		height: auto;
	}
}

/*********************************
*                                *
*           BUTTONS              *
*                                *
**********************************/


/********* 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;
}

/* Buttons for pages */

.block-white .button-book-now{
    width: max-content;
    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;
	text-align: center;
}

.block-white .button-book-now:hover{
    background-color: #444;
}


.button-block-page {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	width: 100%;
}

@media (max-width: 640px) {
	.button-block-page {
		flex-direction: column;
	}
	
	.block-white .button-book-now {
		width: 100%;
	}
	
	.button--right { 
		right: 50%;
	}
}


.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;
}

/* Test Book block*/

.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 { /* Pages for the author's book */
	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 { /* Image styles */
	width: 200px;
	height: auto;
	flex-shrink: 0;
}

.a1-left .author_img img { /* Image styles */
	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 { /* General class for everyone! */
	display: block;
	clear: both;
	font-family: 'Poppins';
	font-weight: 300;
	font-size: 16px;
	font-style: italic;
	line-height: 30px;
}


svg {
    display: block; /* Removes extra spacing */
    max-width: 100%; /* Prevents overflow beyond the container */
}

/* =========== Логотипы =========== */


.logo-1 { /* Logo in the header */
    width: 200px;
    height: auto;
    fill: #3E4536;
}

.logo-2 { /* Logo in the main section */
    width: 200px;
    height: auto;
    fill: #3E4536;
}

.logo-3 { /* Logo in the footer */
    width: 250px;
    height: auto;
    fill: #fff;
}


/* =========== Photo block with text on the side =========== */

.b2-title, /* General font styles for the block */
.block2-right span, 
.block2-right p {
	font-family: 'Manrope';
}

.block2-left, /* Block elements on the left */
.block2-left img {
	position: relative;
}

.block2 { /* General block */
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	padding: 30px;
	width: 100%;
	gap: 30px;
	margin: 15px 0;
}

.block2-left img { /* Preview styles */
	display: block;
	width: auto;
	height: 100%;
}

.block2-right { /* Block on the 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 { /* Shadow above the preview */
	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 { /* Text above the preview*/
	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 { /* Arrow in the link group */
	font-weight: 600;
	font-size: 18px;
	color: #444;
	cursor: pointer;
}

.a2 { /* Link styles in the heading */
	font-weight: 600 !important;
	font-size: 18px !important;
	color: #444 !important;
}

.a2:hover { /* Active link styles in the heading */
	color: #999 !important;
}

.p2 { /* Text style */
	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 { /* Block for the book */
	background-color: #fff;
	width: 100%;
}

.block-no-padding { /* Content block without external margins */
	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;
}

/* Resolve the issue of a unified margin for all blocks at the bottom, top, and sides. */


.line {
	width: 90%;
	border-top: 1px solid #ccc;
	margin: 0 auto;
}


/********* Block FAQ *********/

.details { /* Dropdown block */
	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; /* Remove the background */
}

.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; /* Darker than on :hover */
	color: #fff;
}

.details__title { /* Heading block */
	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 { /* Arrow turns white when hovering over the block */
  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;
}

/********* Photo block with text on the side *********/

.block-text-right-preview, /* General font styles for the block */
.block-text-right-item:nth-child(2) span, 
.block-text-right-item:nth-child(2) p {
	font-family: 'Manrope';
}

.block-text-right-item, /* Elements of the block on the left */
.block-text-right-item img {
	position: relative;
}

.block-text-right { /* General block */
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	padding: 30px 50px;
	width: 100%;
}

.block-text-right-item img { /* Preview styles */
	height: 320px;
	width: auto;
	display: block;
}

.block-text-right-preview { /* Preview block elements */
    position: absolute;
    color: #fff;
    font-weight: 400;
    font-size: 30px;
    text-transform: uppercase;
}

.block-text-right-preview:nth-child(2) { /* Shadow above the preview */
    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) { /* Text above the preview */
    bottom: 0;
	right: 0;
	z-index: 11;
	padding: 25px;
	cursor: default;
}

.block-text-right-item:nth-child(2) { /* Preview block on the left */
	padding-left: 30px;
	width: 100%;
}

.block-text-right-item:nth-child(2) span { /* Arrow in the link group */
	font-weight: 600;
	font-size: 18px;
	color: #444;
	cursor: pointer;
}

.block-text-right-item:nth-child(2) a { /* Link styles in the heading */
	font-weight: 600;
	font-size: 18px;
	color: #444;
}

.block-text-right-item:nth-child(2) a:hover { /* Active link styles in the heading */
	color: #999;
}

.block-text-right-item:nth-child(2) { /* Block on the right */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.block-text-text:nth-child(1) { /* Links with text */
	height: 100%;
}

.block-text-text:nth-child(2) { /* Button */
	width: 100%;
	text-align: right;
}

.block-text-right-item:nth-child(2) p { /* Text style */
	font-weight: 400;
	font-size: 18px;
	line-height: 35px;
	color: #444;
	padding-top: 30px;
}


/********* Photo block with text without a heading *********/


.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 { /* Form container */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"] { /* Input fields */
    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 { /* Text area (Message) */
    width: 100%;
    height: 100px; /* Your desired height */
    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 { /* 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"] { /* Submit button */
    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;
}

@media (max-width: 640px) {
	
	.block-mail {
		flex-direction: column;
		justify-content: center;
	}
	
	.block-mail-item {
		width: 100%;
		padding: 30px 0;
	}

	.block-mail-item img {
		width: 50%;
		height: auto;
		border-radius: 0;
	}
}


/* Block with maps  */

.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; /* Counter for parent items */
}

.text .terms-list > li {
    position: relative;
    margin-bottom: 15px; /* Spacing between parent items */
	font-weight: 600;
}

.text .terms-list > li::before {
    counter-increment: section; /* Incrementing the counter for each parent item */
    content: counter(section) ". "; /* Numbering: 1., 2. */
    position: absolute;
    left: -40px; /* Shift the number to the left. */
}

/* Nested list */
.text .terms-list ul {
    padding-left: 40px; /* Indentation for nested items */
    list-style-type: none;
    counter-reset: subsection; /* Counter for nested items. */
}

.text .terms-list ul li {
    position: relative;
    margin-bottom: 10px; /* Spacing between nested items. */
	font-weight: 400;
}

.text .terms-list ul li::before {
    counter-increment: subsection; /* Incrementing the counter for nested items. */
    content: counter(section) "." counter(subsection) ". "; /* Numbering: 1.1., 1.2. */
    position: absolute;
    left: -40px; /* Shift the number to the left.*/
}




/********* Responsiveness. *********/




@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;		
	}
	
	/* =========== Any content block without a background. =========== */
	
	.block,
	.block-white {
		border-radius: 0;
		box-shadow: none;
		margin-bottom: 10px;
	}
}

@media (max-width: 800px) {
	
	main {
        width: 100%;
    }
}

@media (max-width: 640px) {

	
	/* Test block */
	
	.block2 { /* General block */
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 30px;
		padding: 0;
	}
	
	.block2-right { /* Block on the right */
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		align-content: space-between;
		flex: 1; 
	}
	
	.block2-left {
		width: 100%;
	}
	
	.block2-left img { /* Preview styles */
		display: block;
		width: 100%;
		height: auto;
	}

	/********* Book *********/

	.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 { /* Dropdown block */
		max-width: 100%;
		margin: 0 auto 10px;
		border-radius: 0;
	}

	.details__title { /* Heading block */
		border-radius: 0;
		padding: 15px 50px 15px 20px;
	}
	
	
	/********* Photo block with text on the side. *********/

	.block-text-right { /* General block */
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		padding: 0px;
	}

	.block-text-right-item{ /* Left block elements */
		width: 100%;
		border: 1px solid #444;
	}

	.block-text-right-item img { /* Preview styles */
        width: 100%;
        height: auto;
    }
	
	.block-text-right-item:nth-child(2) { /* Right block */
		padding: 30px;
	}

	.block-text-text:nth-child(2) { /* Button */
		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;
	}

	
}