
/* ==================== GLOBAL MODAL SIZING (FANCYBOX V6) ==================== */


.f-html {
	--f-html-padding: 0;
	--f-html-color: #000;
	--f-html-bg: #fff;
	--f-html-border-radius: .875rem;
}


.service-variants-modal,
.kvbeauty-booking-modal {
	width: min(760px, 94vw);
	border-radius: .875rem;
	background: #ffffff;
	margin-bottom: 2rem;
}

#header-modal,
#call-text-modal,
#mobile-bar-modal,
#cta-modal {
	border-radius: .875rem;
	background-color: #ffaad3;
}

.service-popup-wrapper {
	background-color: #3e313c;
}

@media (min-width: 767px) {
	.service-variants-modal,
	.kvbeauty-booking-modal {
		padding: 2rem;
	}
}





/* ==================== SERVICE VARIANTS MODAL ==================== */

.services-accordion__hidden-book {
		display: none !important;
}

.service-variants-modal {
		width: min(760px, 94vw);
		border-radius: .875rem;
		background: #ffffff;
		margin-bottom: 2rem;
}
/* .service-variants-modal__inner {
	padding: 2.5rem;
} */
.service-variants-modal .wc-deposits-wrapper {
	width: 100%;
	padding: 0!important;
}
.service-variants-modal .service-deposit__label {
	padding-top: 1rem;
}


/* Fancybox clones the hidden template, so force it visible inside the lightbox */
.fancybox__content #kvb-service-variants-modal[hidden] {
		display: flex !important;
		visibility: visible !important;
}

.service-variants-modal__head {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		margin-bottom: 1.5rem;
}

.service-variants-modal__eyebrow {
		font-size: 0.8rem;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		color: #807287;
}

.service-variants-modal__title {
		font-size: 1.875rem;
		margin: 0;
		color: #000000;
}

.service-variants-modal__subtitle {
		margin: 0;
		color: #54455b;
}

.service-variants-modal__service-meta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
}

.service-variants-modal__thumb {
		width: 80px;
		height: 80px;
		border-radius: 20px;
		background: #f7eff7;
		border: 1px solid rgba(134, 112, 136, 0.2);
		overflow: hidden;
}

.service-variants-modal__thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
}

.service-variants-modal__link {
		font-weight: 600;
		color: #f77fbe;
		text-decoration: none;
}

.service-variants-modal__body {
		display: flex;
		flex-direction: column;
		gap: 1.25rem;
}

.service-variants-modal__list {
		list-style: none;
		padding: 0;
		margin: 0;
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.85rem;
}

@media (min-width: 768px) {
	.service-variants-modal__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.service-variants-modal__option {
		height: 100%;
	}
}

.service-variants-modal__option {
		border: 2px solid transparent;
		border-radius: .75rem;
		padding: .625rem .875rem;
		box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.25);
		transition: border-color 0.2s, box-shadow 0.2s;
}

.service-variants-modal__option.is-active {
		border-color: #f77fbe;
		box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
		/* box-shadow: 0 2px 15px rgba(197, 70, 123, 0.5); */
		/* transform: translateY(-2px); */
}

.service-variants-modal__option-btn {
		background: none;
		border: none;
		width: 100%;
		display: flex;
		padding: 0;
		align-items: center;
		justify-content: space-between;
		/* gap: 1rem; */
		color: #000000;
		text-align: left;
		cursor: pointer;
}

.service-variants-modal__option-info {
		display: flex;
		flex-direction: column;
		gap: 0.25rem;
}

.service-variants-modal__option-title {
		font-size: 1rem;
		font-weight: 600;
}
.service-variants-modal__option-duration {
		line-height: 1;
		font-size: 0.875rem;
		color: #7c6b81;
}

.service-variants-modal__option-badge {
		padding-left: .5rem;
		font-size: 0.625rem;
		font-weight: 400;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		/* color: #000; */
		color: #f77fbe;
}

.service-variants-modal__option-meta {
		font-size: 0.85rem;
		color: #7c6b81;
		/* color: rgba(0, 0, 0, 0.65); */
		margin-top: 0.2rem;
}

.service-variants-modal__option-price {
		font-size: 1.2rem;
		font-weight: 600;
		/* color: #7c6b81; */
		color: rgba(0, 0, 0, 1);
}



.service-variants-modal__preview {
		color: #000;
		padding: .75rem;
		display: flex;
		flex-direction: column;
		gap: 1rem;
}

.service-variants-modal__preview-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		color: #000;
}

.service-variants-modal__preview-eyebrow {
		font-size: 0.75rem;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		color: rgba(0, 0, 0, 0.6);
}

.service-variants-modal__preview-badge {
		font-size: 0.85rem;
		font-weight: 600;
		text-transform: uppercase;
		/* color: #fcd7ed; */
		/* color: #000; */
		color: #f77fbe;
}

.service-variants-modal__preview-main h4 {
		margin: 0;
		font-size: 1.25rem;
		font-weight: 600;
}

.service-variants-modal__preview-price {
		font-size: 2rem;
		font-weight: 700;
		color: #000;
}

.service-variants-modal__preview-icons {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
		gap: 0.85rem;
}
.service-variants-modal__preview-icons strong {
		padding-left: .25rem;
}

.service-variants-modal__icon {
		display: flex;
		gap: 0.5rem;
		align-items: flex-start;
}

.service-variants-modal__icon svg {
		width: 24px;
		height: 24px;
		/* fill: #fcd7ed; */
		fill: #000;
		opacity: 0.8;
}

.service-variants-modal__icon span {
		display: block;
		/* color: rgba(255, 255, 255, 0.85); */
		color: rgba(0, 0, 0, 0.85);
		font-size: 0.9rem;
}

.service-variants-modal__footer {
		margin-top: 1.75rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.75rem;
}

.service-variants-modal__footer .btn {
		min-width: 200px;
		width: 100%;
		padding: .75rem;
		line-height: 1.5;
		font-size: 1rem;
		/* font-weight: 600; */
		text-transform: uppercase;
}

@media (max-width: 640px) {
		/* .services-accordion__variant-panel {
				padding: 1.1rem;
		} */

		.service-variants-modal__inner {
			padding: 3rem .75rem 2rem;
			/* margin-bottom: 2rem; */
		}

		.service-variants-modal__service-meta {
				flex-direction: column;
				align-items: flex-start;
		}

		.service-variants-modal__footer {
				flex-direction: column;
				align-items: stretch;
		}

		.service-variants-modal__footer .btn--book,
		.service-variants-modal__footer .btn--more {
				min-width: auto;
				width: 100%;
				padding: 0.75rem;
		}
}







/* ==================== EAPPS WIDGETS ==================== */
.eapps-widget-toolbar {
		display: none !important;
}



/* ==================== CALL/TEXT MODAL ==================== */

.call-text-modal__content {
		padding: 2rem;
		text-align: center;
		background: #FFD7EA;
		border-radius: 12px;
		max-width: 400px;
		margin: 0 auto;
}

.call-text-modal__content h3 {
		margin: 2rem 0 1.5rem;
		font-size: 1.5rem;
		font-weight: 400;
		color: #000;
}

.call-text-modal__buttons {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		justify-content: center;
		flex-wrap: wrap;
}

.call-text-modal__buttons .btn {
		flex: 1;
		min-width: 120px;
}










/* ==================== BOOKING BLOCK PICKER FIXES ==================== */
/* Критически Важно! для правильного отображения блоков времени в модалке бронирования */
.kvbeauty-booking-modal .block-picker .block a {
	height: auto !important;
	width: auto !important;
}



/* Скрываем тайм-слоты до выбора даты */
/* .block-picker[data-kvb-hidden="1"] { display: none !important; } */


/* ==================== BOOKING FORM LOADER ==================== */
/* Лоадер при ленивой загрузке booking-формы через AJAX */

/* Откуда этот код? */
.kvb-booking-loader {
	padding: 2rem;
	text-align: center;
	font-size: 18px;
	color: #f77fbe;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kvb-booking-loader::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 8px;
	border: 3px solid rgba(0,0,0,0.1);
	border-top-color: #f77fbe;
	border-radius: 50%;
	animation: kvb-spinner 0.8s linear infinite;
}

@keyframes kvb-spinner {
	to { transform: rotate(360deg); }
}

.wc-bookings-date-picker {
		position: relative;
}

.kvb-date-picker-spinner {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(255, 255, 255, 0.9);
		opacity: 0;
		transition: opacity 0.2s ease;
		pointer-events: none;
		z-index: 2;
}

.kvb-date-picker-spinner__icon {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		border: 3px solid rgba(0, 0, 0, 0.1);
		border-top-color: #f77fbe;
		animation: kvb-spinner 0.8s linear infinite;
}

.wc-bookings-date-picker.kvb-date-picker-spinner--active .kvb-date-picker-spinner {
		opacity: 1;
}







/* ==================== BOOKING SKELETON ==================== */



/* Хост формы во время загрузки */
.kvb-booking-form-host--loading {
		height: 760px;
		/* height: auto; */
}

/* Полноэкранный скелет со спиннером */
.kvb-skeleton--fullscreen {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		min-height: 100%;
		padding: 32px 24px;
		box-sizing: border-box;
}

/* Сам спиннер */
.kvb-skeleton__spinner {
		width: 64px;
		height: 64px;
		border-radius: 50%;
		border: 4px solid rgba(255, 255, 255, 0.2);
		border-top-color: #f77fbe;
		animation: kvb-spin 0.9s linear infinite;
		margin-bottom: 24px;
}

.kvb-skeleton__text {
		font-size: 24px;
		opacity: 0.8;
}

/* Анимация вращения */
@keyframes kvb-spin {
		to {
				transform: rotate(360deg);
		}
}




































/* И фронт, и редактор (если подключать editor-style.css) */
#kv-map-modal .kv-map-modal__inner {
	width: 960px;                  /* базовая ширина модала */
	max-width: min(96vw, 1200px);  /* адаптивный предел */
	/* height: 75vh; */
	margin: 0 auto;
}

#kv-map-iframe-wrapper {
	width: 100%;
	height: 75vh;
	aspect-ratio: 16 / 9;          /* чтобы не прыгало, пока грузится карта */
	background: #f4f4f4;
	border-radius: 12px;
	overflow: hidden;
}

#kv-map-iframe-wrapper iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* Можно чуть расширить внутренний контейнер Fancybox под карты */
.fancybox-map .fancybox__content {
	max-width: none;               /* не ограничивать жестко */
	padding: 0;                    /* чистый вид без внутренних отступов */
	background: transparent;       /* без белого фона вокруг */
}












/* Стили для Картинок внутри Паттерна и в блоках .section-block */
/* .service-content .wp-block-image img {
	width: 100%;
	max-height: 550px;
	border-radius: .875rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
}


.service-content ul,
.service-content ol {
	padding-left: 2.5rem;
	list-style: auto;
}

.service-content ul li::marker {
	width: 1rem;
} */


/* .wp-block-group>div {
	padding: 2rem 1rem;
} */





.header__bottom {
	position: relative;
}



.section-head__text--120  {
	font-size: 120%;
	color: #000;
	/* line-height: 1.5;
	margin-bottom: 1rem; */
}
















/* CSS для стилизации Форм CF7 */

/* Общие стили для инпутов форм CF7 */
.custom-cf7-form {
	max-width: 600px;
	margin: 0 auto;
	padding: 2rem 1.5rem 1rem;
	border-radius: .875rem;
	background: #ffd7ea;
}
.custom-cf7-form--transparent {
	margin-top: 2rem;
	background: rgba(255, 255, 255, .2);
	padding-bottom: 2rem;
}
.custom-cf7-form .form-row {
	margin-bottom: 1.25rem;
	position: relative;
}
.custom-cf7-form .form-row--dark .wpcf7-list-item-label {
	color: #3e313c;
}
.custom-cf7-form .form-label {
	display: block;
	margin-bottom: .5rem;
	font-weight: 400;
	color: #222;
	text-align: left;
	position: relative;
}
.custom-cf7-form .form-input,
.custom-cf7-form .form-select {
	width: 100%;
	height: 3rem;
	padding: .75rem 1rem;
	border: 1px solid #F6E6F0;
	border-radius: .5rem;
	font-size: 1rem;
	color: #3e313c;
	background: #fafafa;
	transition: border-color 0.2s;
}
.custom-cf7-form .form-input:focus,
.custom-cf7-form .form-select:focus {
	border-color: #f77fbe;
	outline: none;
}
.custom-cf7-form input[type="submit"] {
	padding: .75rem 1rem;
	font-size: 1rem;
	width: 100%;
}
.custom-cf7-form .form-row--submit {
	font-size: 1rem;
}
/* Стили для заголовков внутри форм CF7 (если используются) */
.cf7-service-title {
	text-align: center;
	color: #000;
	font-size: 1.5rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .125rem;
	padding: 1.5rem 0;
}
.custom-cf7-form--transparent .cf7-service-title {
	color: #fff;
}
.custom-cf7-form--transparent .form-label {
	color: #fff;
}
.custom-cf7-form--transparent .form-label.form-label--submit {
	margin-top: 1.5rem;
}
.custom-cf7-form--transparent input[type="submit"] {
	box-shadow: 0px 2px 18px 0px rgba(255, 255, 255, 0.5);
}
.custom-cf7-form--transparent input[type="submit"]:hover {
	box-shadow: 0px 2px 14px 0px rgba(255, 255, 255, 0.7);
}
/* CF7 always wraps controls with a span; make it not break layout */
.custom-cf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}


/* Формы в "две колонки" в секции Consult (.consult.consult--grid)  */
/* --- CF7 layout for Consult section (mobile: 1 col, tablet+: 2 cols) --- */
.consult.consult--grid .custom-cf7-form form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
/* WP/CF7 markup: form is outside, rows are inside .custom-cf7-form */
.consult.consult--grid .wpcf7 .custom-cf7-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
/* Override default CF7 spacing inside grid */
.consult.consult--grid .custom-cf7-form .form-row {
	margin-bottom: 0;
}
.consult.consult--grid .custom-cf7-form .form-row--submit {
	margin-top: 1rem;
}
.consult.consult--grid .custom-cf7-form .form-row--full {
	text-align: left;
}
/* Кнопки в секции Consult (.consult.consult--grid) */
.consult.consult--grid .custom-cf7-form input[type="submit"] {
	width: 100%;
	padding: .75rem 1rem;
	font-size: 1rem;
}
/* .consult.consult--grid .custom-cf7-form .form-row--submit {
	margin-top: 2.5rem;
} */
@media (min-width: 768px) {
	.consult.consult--grid .custom-cf7-form form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.consult.consult--grid .wpcf7 .custom-cf7-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.consult.consult--grid .wpcf7 .custom-cf7-form .form-title {
		grid-column: 1 / -1;
	}
	.consult.consult--grid .custom-cf7-form .form-row--submit {
		grid-column: 1 / -1;
	}
	/* Новый класс для дисклеймера — занимает всю ширину */
	.consult.consult--grid .custom-cf7-form .form-row--full {
		grid-column: 1 / -1;
	}
}

/* Формы в "две колонки" в секции Consult (.consult.consult--inline)  */
.consult.consult--inline .custom-cf7-form {
	max-width: 400px;
}
/* .consult.consult--inline .custom-cf7-form form {
	display: flex;
	flex-direction: column;
} */
.consult.consult--inline .custom-cf7-form {
	padding: 1rem 1.5rem 1rem;
}
.consult.consult--inline .custom-cf7-form .form-label {
	color: transparent;
}
.consult.consult--inline .custom-cf7-form .form-row--submit {
	margin-top: 2.5rem;
}
.consult.consult--inline .custom-cf7-form .form-row--submit input[type="submit"] {
	width: 100%;
}
.consult.consult--inline .custom-cf7-form .form-col--consent {
	text-align: left;
}

@media (min-width: 1024px) {
	.consult.consult--inline .custom-cf7-form .form-row {
		flex-basis: 270px;
	}
	.consult.consult--inline .custom-cf7-form {
		max-width: 1200px;
		padding: 0 1.5rem .5rem;
	}
	.consult.consult--inline .custom-cf7-form .form-label {
		margin-bottom: 0;
	}
	.consult.consult--inline .custom-cf7-form .form-col--inputs {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: flex-end;
		gap: 1rem;
	}
	/* .consult.consult--inline .custom-cf7-form .form-col--consent {
		text-align: left;
	} */
	.consult.consult--inline .custom-cf7-form .form-row--submit input[type="submit"] {
		width: 100%;
		height: 3rem;
	}
}


/* Кастомный чекбокс для дисклеймера в форме */
.custom-cf7-form .form-consent {
	display: inline-block;
	appearance: none; /* Убираем стандартный вид чекбокса */
	margin-right: 10px;
	vertical-align: middle;
	position: relative;
	width: 20px;
	height: 20px;
	border: 2px solid #f77fbe; /* Розовый бордер */
	border-radius: 4px;
	background: #fff; /* Белый фон для контраста */
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
}
.consult.consult--inline .custom-cf7-form .wpcf7-list-item-label {
	color: #3e313c; 
}
.custom-cf7-form .form-consent:checked {
	background: #f77fbe; /* Розовый фон при выборе */
	border-color: #f77fbe;
}
.custom-cf7-form .form-consent:checked::after {
	content: '✓'; /* Галочка */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff; /* Белая галочка */
	font-size: 14px;
	font-weight: bold;
}
/* Стили для текста дисклеймера (чтобы был чуть меньше и с отступом) */
.custom-cf7-form .wpcf7-list-item-label {
	display: inline;
	font-size: 0.875rem; /* Меньше шрифт */
	line-height: 1.4;
	color: #fff; /* Белый текст для прозрачной формы */
	margin-left: 5px;
	vertical-align: middle;
}
.custom-cf7-form .wpcf7-list-item-label--dark {
	color: #000; /* Чёрный текст для непрозрачной формы */
}


/* Стили для сообщений об ошибках и успешной отправке */
.wpcf7 form .wpcf7-response-output {
		/* color: #ffffff; */
		color: #3e313c;
		max-width: 600px;
		margin: 0 auto;
		margin-top: 1rem;
		border-radius: .625rem;
		background: rgba(255, 255, 255, .2);
}
.wpcf7 .wpcf7-not-valid-tip {
	color: #dc3232; /* Error color */
	font-size: .875rem;
	font-weight: normal;
	display: block;
	position: absolute;
	bottom: -20px;
	right: 0;
	background: #FFC107; /* Warning color */
	border-radius: 24px;
	padding: .125rem .5rem;
}


/* Минималистичный круглый спиннер */
.custom-cf7-form .wpcf7-spinner {
	display: block;
	/* margin: 12px auto 0 auto; */
	width: 10px;
	height: 10px;
	border: 2px solid #f77fbe;
	border-top: 2px solid #f77fbe;
	border-bottom: 2px solid #f77fbe;
	color: transparent;
	background-color: transparent;
	border-color: transparent;
	border-radius: 50%;
	/* animation: cf7spin 0.8s linear infinite; */
	animation: none;
	/* background:#f77fbe; */
	position: absolute;
	top: 40%;
	left: 5%;
}
.custom-cf7-form .wpcf7-spinner::before {
	content: '';
	position: absolute;
	color: transparent;
	background-color: transparent;
	border-color: transparent;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border: none;
	animation: none;
}
@keyframes cf7spin {
	0% { transform: rotate(0deg);}
	100% { transform: rotate(360deg);}
}




















/* --- СТИЛИ ДЛЯ WOO-COMMERCE --- */

.woocommerce-Price-amount .kvb-price-decimals {
		font-size: 0.65em;
		vertical-align: baseline;
		line-height: 1;
		margin-left: 1px;
}



/* --- СТИЛИ ДЛЯ WOO-COMMERCE УВЕДОМЛЕНИЙ --- */
.woocommerce-notices-wrapper {
		/* position: absolute;
		top: 4rem;
		left: 0;
		width: 100%;
		z-index: 9999;
		margin: 0; */
		pointer-events: none; /* если не нужны клики по уведомлениям */
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
		pointer-events: auto; /* если нужны клики по кнопкам внутри уведомлений */
}

/* Убираем outline и border у уведомлений WooCommerce */
.woocommerce-notices-wrapper,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
		outline: none !important;
		border: none !important;
		box-shadow: none !important;
}

/* .woocommerce-error, .woocommerce-info, .woocommerce-message {
	margin: 0 auto;
	width: 85%;
} */
.woocommerce-info {
	border-top-color: #f77fbe;
}
.woocommerce-info::before {
	color: #f77fbe;
}


/* --- БРОНИРОВАНИЕ WOO Bookings --- */

/* Старая и Новая Модалка Букинга */
/* @media screen and (min-width: 768px) {
	.kvbeauty-booking-modal.fancybox__content, 
	.kvb-booking-modal.fancybox__content {
		width: 50vw !important;
	}
}
@media screen and (min-width: 1600px) {
	.kvbeauty-booking-modal.fancybox__content, 
	.kvb-booking-modal.fancybox__content {
		width: 35vw !important;
	}
} */

/* .kvbeauty-booking-modal__inner {

} */
.kvbeauty-booking-modal__head {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		margin-bottom: 1.5rem;
}

.kvbeauty-booking-modal__eyebrow {
		font-size: 0.8rem;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		color: #807287;
}

.kvbeauty-booking-modal__title {
		font-size: 1.875rem;
		margin: 0;
		color: #000000;
}

@media (max-width: 640px) {
	.kvbeauty-booking-modal__inner {
		padding: 3rem .75rem 0;
	}
}

/* Стили для названия продукта в модалке бронирования */
/* .book-modal-product-name {
	padding: 3rem .75rem 0;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
} */

/* неизвестно */
.wc-bookings-booking-form {
	padding: 0 1rem 0 !important;
	margin-bottom: 0 !important;
	border: none !important;
}
/* Календарь выбора даты в форме бронирования ПАКЕТА (My Packages) */
.kvb-my-packages-booking .wc-bookings-booking-form {
	padding: 0 !important;
}
/* .booking-popup-form {
	padding-bottom: 1rem;
} */
.wc-bookings-booking-form .wc-bookings-booking-cost {
	margin: 1rem 0 0;
	padding-left: 1rem;
	padding-bottom: .5rem;
	background: #FFD7EA;
	border-top: 2px solid #f77fbe;
}
.wc-bookings-booking-form-button {
	width: 90% !important;
	margin: 0 auto 2rem !important;
	padding: 0.75rem !important;
	display: block !important;
	color: #000 !important;
	line-height: 1.5 !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	background-color: #f77fbe !important;
	border-radius: .625rem !important;
}
@media (min-width: 760px) {
	.wc-bookings-booking-form-button {
		width: 95% !important;
		margin: 0 auto !important;
	}
}

/* Padding для select поля ресурса бронирования "Artist" */
#wc_bookings_field_resource,
select[name="wc_bookings_field_resource"] {
		color: #000!important;
		padding: 1rem 0.75rem!important;
		line-height: 1.25!important;
		min-height: 40px!important; /* чтобы паддинг применялся на всех браузерах */
		outline-color: #f77fbe!important;
		border: 1px solid rgba(0, 0, 0, .15)!important;
}
/* .form-field.form-field-wide.wc_booking_field_artist.wc_bookings_field_resource {
	margin-bottom: 1rem;
} */
.wc-bookings-date-picker.wc_bookings_field_start_date {
	border: 2px solid transparent !important;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 0;
}

/* Стили для кнопок оформления заказа */
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button {
	background-color: #f77fbe;
	border-radius: 12px;
	box-shadow: none;
	border: none;
	font-size: 1rem;
	color: #000;
	text-transform: uppercase;
}


/* Стили для ссылок в таблице заказа */
.woocommerce-table__product-name.product-name a {
	color: #000;
}


/* Стили для календаря выбора даты */
.wc-bookings-date-picker .ui-widget-content {
	box-shadow: 0px 4px 8px 2px rgba(0, 0, 0, 0.25);
}

/* Стили для блоков времени (block-picker) */
.form-field .block-picker .block a {
	color: #000 !important;
}


/* .wc-bookings-booking-form .form-field.form-field-wide .wc_booking_field_artist {
	margin-bottom: 1rem;
} */

.wc-bookings-booking-form .form-field.form-field-wide {
	/* background: #ffd7ea; */
	margin-bottom: 0;
	/* padding: 1rem; */
	/* font-weight: bold; */
}
/* .wc-bookings-booking-form .form-field.form-field-wide .block-picker li {
	background: #ffd7ea;
	padding: 1rem;
	border-radius: 10px 10px 0 0;
} */


.wc-deposits-wrapper {
	/* padding: 1em 1em 0; */
	/* width: 90% !important; */
	margin: 0 auto;
	padding: 0 1rem 0 !important;
}




/* Стили для АДМИНКИ (User Login) */

/* Стили для контейнера с Кнопкой логина через соц сети (Google) */
.nsl-container {
		padding: 10px 20px;
		margin: 2em 0;
		border: 1px solid #cfc8d8;
		border-radius: 5px;
}

/* --- My Packages embedded booking form --- */
.kvb-my-packages-booking {
		background: transparent;
		padding: 1rem 0 4rem!important;
}

.kvb-my-packages-booking .kvbeauty-booking-modal__eyebrow,
.kvb-my-packages-booking .wc-deposits-wrapper,
.kvb-my-packages-booking .service-deposit {
		display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: flex-start;
		gap: .5rem;
		padding: 0;
		margin: 0;
}
@media (min-width: 393px) {
		.woocommerce-account .woocommerce-MyAccount-navigation ul {
			flex-direction: row;
		}
}
@media (min-width: 640px) {
		.woocommerce-account .woocommerce-MyAccount-navigation ul {
				gap: 0.75rem;
				/* flex-direction: column; */
		}
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
		margin: 0;
		text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		display: inline-flex;
		align-items: center;
		padding: .5rem .875rem;
		border-radius: 0;
		/* background: #F6E6F0; */
		color: #3e313c;
		text-decoration: none;
		font-size: .95rem;
		line-height: 1.2;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		/* background: #f77fbe; */
		color: #000;
		border-bottom: 2px solid #f77fbe;
}

.woocommerce-account .kvb-my-packages-selector {
		margin: 1rem 0 1.25rem;
}

.woocommerce-account #kvb-service-select {
		min-width: 280px;
		max-width: 100%;
}

.woocommerce-account .kvb-packages-table {
		margin: 1rem 0 1.25rem;
		border-collapse: separate;
		border-spacing: 0;
		width: 100%;
		border: 1px solid rgba(0, 0, 0, 0.12);
		border-radius: .625rem;
		overflow: hidden;
		background: #fff;
}

.woocommerce-account .kvb-packages-table thead th:first-child {
	text-align: left;
}
.woocommerce-account .kvb-packages-table thead th:last-child{
	text-align: right;
}

.woocommerce-account .kvb-packages-table thead th {
		background: #F6E6F0;
		color: #000;
		font-weight: 600;
		font-size: .95rem;
		padding: .75rem 1rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.woocommerce-account .kvb-packages-table tbody td {
		padding: .75rem 1rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		color: #000;
}

.woocommerce-account .kvb-packages-table tbody tr:last-child td {
		border-bottom: none;
}

.woocommerce-account .kvb-packages-table tbody td:last-child {
		font-weight: 600;
		text-align: right;
		white-space: nowrap;
}

.woocommerce-account .kvb-packages-table .kvb-in-bag {
		color: #239e57;
		font-weight: 600;
		font-size: .9em;
		white-space: nowrap;
}

/* My Packages table: align with common My Account table style */
.woocommerce-account .woocommerce-MyAccount-content .kvb-packages-table {
		border: none;
		border-radius: 0;
		background: transparent;
}

.woocommerce-account .woocommerce-MyAccount-content .kvb-packages-table thead th {
		background: transparent;
		border-bottom: 0;
		text-transform: uppercase;
		padding: .75rem 1rem;
}

.woocommerce-account .woocommerce-MyAccount-content .kvb-packages-table tbody td {
		border-bottom: 0;
		padding: .75rem 1rem;
}

.woocommerce-account .woocommerce-MyAccount-content .kvb-packages-table td {
		border-top: 1px solid rgba(0, 0, 0, .1);
}

@media (max-width: 767px) {
		.woocommerce-account .kvb-packages-table {
				width: 100%;
				max-width: 100%;
				table-layout: auto;
		}

		.woocommerce-account .kvb-packages-table thead th,
		.woocommerce-account .kvb-packages-table tbody td {
				padding: .625rem .75rem;
				font-size: .9rem;
		}

		.woocommerce-account .kvb-packages-table tbody td:last-child {
				text-align: right;
		}
}

/* Optional: hide Downloads menu item if not needed */
/* .woocommerce-account .woocommerce-MyAccount-navigation-link--downloads { display: none !important; } */


/* ==================== MY ACCOUNT UI THEME ==================== */
.woocommerce-account .woocommerce {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1rem;
		align-items: start;
}

.woocommerce-account .page-inner {
	background: #F6E6F0;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		min-width: 0;
		margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
		text-align: left;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
		justify-content: flex-start;
}

.woocommerce-account .woocommerce-MyAccount-content {
		/* background: #F6E6F0; */
		border-radius: .75rem;
		padding: 0 2rem;
		/* box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08); */
}

.my_account_bookings .wc-bookings-status-label {
		background: #f77fbe;
		color: #000;
		padding: 0.25rem 0.75rem;
		border-radius: .875rem;
		font-size: .875rem;
		font-weight: 400;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content h4 {
		color: #000;
}
.woocommerce-account .woocommerce-MyAccount-content h2 {
	text-transform: uppercase;
	font-weight: 400;
}

.woocommerce-account .woocommerce-MyAccount-content p {
		margin-top: 2rem;
		color: #000000;
}

.woocommerce-account .woocommerce-MyAccount-content a {
		color: #000000;
		text-decoration: underline;
		text-underline-offset: 2px;
		/* text-decoration-color: #f77fbe; */
		transition: color 0.2s ease;
		/* border-bottom: 2px solid #f77fbe; */
}
.woocommerce-account .woocommerce-MyAccount-blog {
		/* background: #F6E6F0; */
		border-radius: .75rem;
		padding: 1rem;
		/* box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08); */
		margin-bottom: 2rem;
}

.woocommerce-account .woocommerce-MyAccount-blog__title {
		margin: 0 0 .75rem;
		font-size: 1.1rem;
		font-weight: 400;
		text-transform: uppercase;
		color: #000;
}

.woocommerce-account .woocommerce-MyAccount-blog__list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: .625rem;
}

.woocommerce-account .woocommerce-MyAccount-blog__item {
		/* background: #fff; */
		border: none;
		border-radius: .5rem;
		padding: .625rem .75rem;
}

.woocommerce-account .woocommerce-MyAccount-blog__link {
		display: inline-block;
		color: #000;
		text-decoration: none;
		font-weight: 600;
		line-height: 1.3;
}

.woocommerce-account .woocommerce-MyAccount-blog__link:hover {
		color: #f77fbe;
}

.woocommerce-account .woocommerce-MyAccount-blog__date {
		display: block;
		margin-top: .3rem;
		font-size: .82rem;
		color: rgba(0, 0, 0, 0.6);
}

.woocommerce-MyAccount-blog__link.kvb-account-blog__link {
	color: #3e313c;
	font-weight: 400;
}
.woocommerce-MyAccount-blog__link.kvb-account-blog__link .kvb-account-blog__icon {
	margin-right: 0.25rem;
}
.woocommerce-MyAccount-blog__link.kvb-account-blog__link:hover {
	color: #f77fbe;
}


.woocommerce-Address .woocommerce-account .woocommerce-MyAccount-content h2 {
	margin-top: 2rem;
}
.woocommerce-Address-title title {
	position: relative;
}
.woocommerce-account .addresses .title .edit {
		float: none;
		position: absolute;
		right: 40px;
		top: 40px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		min-height: 40px;
		/* border: 1px solid rgba(0, 0, 0, 0.08); */
		transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: #000;
		/* background: #f77fbe; */
		/* box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08); */
}

/* .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
} */

.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content textarea,
.woocommerce-account .woocommerce-MyAccount-content select {
		width: 100%;
		border: 1px solid rgba(0, 0, 0, 0.15);
		border-radius: .5rem;
		background: #fff;
		color: #000;
		padding: .7rem .85rem;
		line-height: 1.25;
		outline: none;
}

.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus {
		border-color: #f77fbe;
		box-shadow: 0 0 0 2px rgba(247, 127, 190, 0.25);
}

.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button.button,
.woocommerce-account .woocommerce-MyAccount-content button.button {
		border: none;
		border-radius: .25rem;
		background: #f77fbe;
		color: #000;
		padding: .375rem 1rem;
		font-size: .875rem;
		font-weight: 400;
		line-height: 1.2;
		text-transform: capitalize;
		text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button.button:hover,
.woocommerce-account .woocommerce-MyAccount-content button.button:hover {
		background: #ffaad3;
		text-decoration: underline;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
		margin: 1rem 0;
		border-collapse: separate;
		border-spacing: 0;
		border-radius: 0;
		border: none;
		overflow: hidden;
		/* border: 1px solid rgba(0, 0, 0, 0.12); */
		/* background: #fff; */
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table .booking-id {
		font-weight: 600;
		color: #000000;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
		/* background: #F6E6F0; */
		/* border-bottom: 1px solid rgba(0, 0, 0, 0.12); */
		border-bottom: 0;
		font-weight: 600;
		text-transform: uppercase;
		padding: .75rem 1rem;
		color: #000;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td {
		padding: .75rem 1rem;
		/* border-bottom: 1px solid rgba(0, 0, 0, 0.08); */
		border-bottom: 0;
		color: #000;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
	border-top: 1px solid rgba(0, 0, 0, .1);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
		border-bottom: none;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
		/* border-radius: .625rem; */
		margin-bottom: 2.75rem;
}

@media (max-width: 767px) {
		.woocommerce-account .woocommerce {
				row-gap: 0;
				gap: 0;
		}

		.woocommerce-account .woocommerce > .woocommerce-MyAccount-content,
		.woocommerce-account .woocommerce > .woocommerce-MyAccount-blog {
				margin-top: 4rem;
				padding: 0;
		}
}

@media (min-width: 980px) {
		.woocommerce-account .woocommerce {
				grid-template-columns: 260px minmax(0, 1fr);
				gap: 1.25rem;
				align-items: start;
		}

		.woocommerce-account .woocommerce-MyAccount-navigation {
				position: sticky;
				top: 1rem;
				grid-column: 1;
		}

		.woocommerce-account .woocommerce-MyAccount-content {
				grid-column: 2;
		}

		.woocommerce-account .woocommerce-MyAccount-blog {
				grid-column: 1 / -1;
		}

		.woocommerce-account .woocommerce-MyAccount-navigation ul {
				flex-direction: column;
		}
}

@media (min-width: 1280px) {
		.woocommerce-account .woocommerce {
				grid-template-columns: 260px minmax(0, 1fr) 300px;
		}

		.woocommerce-account .woocommerce-MyAccount-navigation {
				grid-column: 1;
		}

		.woocommerce-account .woocommerce-MyAccount-content {
				grid-column: 2;
		}

		.woocommerce-account .woocommerce-MyAccount-blog {
				grid-column: 3;
				position: sticky;
				top: 1rem;
		}
}



.woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce .woocommerce-form-register .woocommerce-form-register__submit {
		background-color: #f77fbe;
		border-radius: 12px;
		box-shadow: none;
		border: none;
		font-size: .875rem;
		font-weight: 400;
		color: #000;
		text-transform: uppercase;
		margin-top: 1rem;
		margin-bottom: 2rem;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
		margin-top: 1rem;
		margin-bottom: 2rem;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
}



/* --- СТИЛИ ДЛЯ ТАБЛИЦЫ КОРЗИНЫ В РЕДАКТОРЕ --- */
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
	color: black;
	font-weight: 600;
}


.woocommerce ul.order_details li {
	font-size: .875em;
	line-height: 1.65;
}


/* Блок суммы бронирования на checkout мини-корзине */
.wc-booking-summary {
	border: 2px solid #f77fbe;
	color: #000;
}
.wc-booking-summary .wc-booking-summary-number span {
	color: #000;
	background-color: #ffaad3!important;
}


















/* --- СТИЛИ ДЛЯ МИНИ-КОРЗИНЫ ВО ВСПЛЫВАЮЩЕМ ОКНЕ --- */

.cart-count.is-empty {
	display: none;
}

#mini-cart-modal {
		/* display: flex; */
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 360px;
		max-width: 80vw;
		/* height: 100vh; */
		height: 100%;
		background: #ffffff;
		z-index: 10001;
		box-shadow: -2px 0 16px rgba(0,0,0,0.15);
		overflow-y: auto;
		/* border-radius: 0 0 0 20px; */
		transform: translateX(100%);
		opacity: 0;
		pointer-events: none;
		transition: transform 0.35s cubic-bezier(.77,0,.18,1), opacity 0.25s;
}
#mini-cart-modal.is-open {
		transform: translateX(0);
		opacity: 1;
		pointer-events: auto;
}

/* Оверлей */
#mini-cart-overlay {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.3);
		z-index: 10000;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.25s;
		display: block;
}
#mini-cart-overlay.is-open {
		opacity: 1;
		pointer-events: auto;
}

/* Содержимое мини-корзины */
.mini-cart-content {
		max-width: 360px;
		/* padding: 0 .5rem 1rem; */
		color: #000;
		background: #ffffff;
		box-shadow: 0 6px 32px rgba(60,80,130,.1);
		/* обеспечивает высоту окна */
		/* height: 100vh; */
		height: 100%;
		display: flex;
		flex-direction: column;
}
/* Делать .mini-cart растягивающимся блоком внутри .mini-cart-content,
	чтобы footer можно было "прижать" вниз */
.mini-cart {
		display: flex;
		flex-direction: column;
		/* flex: 1 1 auto; */
		height: 100%;
		/* содержимое скроллится внутри */
		/* overflow: auto; */
		overflow: hidden; 
}
.mini-cart__header {
		display: flex;
		justify-content: flex-end;
		align-items: stretch;
		padding: .9rem 1rem;
		margin-bottom: 16px;
		/* border-bottom: 1px solid #000; */
		border-bottom: 1px solid rgba(0,0,0,0.15);
}
.mini-cart__title {
		font-size: 1.25rem;
		font-weight: 400;
		text-transform: uppercase;
		margin-right: 35%;
		margin-bottom: 0;
		letter-spacing: .1rem;
		color: #000;
		opacity: 0.9 !important;
}
.mini-cart__icon {
	margin-bottom: 1.25rem;
	opacity: 0.15;
}
.mini-cart__close {
		background: none;
		border: none;
		cursor: pointer;
		padding: 0;
		opacity: .15;
}
/* Контейнер списка — занимает доступное пространство */
.mini-cart__items {
		list-style: none;
		margin: 0;
		padding: .5rem 1rem;
		flex: 1 1 auto;
		overflow: auto;
}
.mini-cart__item {
		display: flex;
		flex-direction: column;
		margin-bottom: 2rem;
		align-items: flex-start;
		position: relative;
}
.mini-cart__img {
		display: flex;
		flex-direction: row;
		gap: 1rem;
		margin-bottom: .875rem;
}
.mini-cart__img img {
		/* border-radius: 12px; */
		max-width: 5rem;
		height: 5rem;
		object-fit: cover;
}
.mini-cart__details {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: .25rem;
}
.mini-cart__name {
		font-size: 1rem;
		font-weight: 400;
		/* margin-bottom: .875rem; */
		padding-right: 1.5rem;
}
.mini-cart__booking-date,
.mini-cart__booking-time {
		font-size: 1rem;
		color: #000;
		margin-bottom: 2px;
}
.mini-cart__price {
		display: inline-flex;
		font-size: 1rem;
		/* font-weight: 700; */
		color: #000;
		/* color: green; */
}
.mini-cart__remove {
		position: absolute;
		top: 0;
		right: 0;
		color: #999;
}
.mini-cart__vendors {
		font-size: 0.875rem;
		color: #666;
}






/* Футер прижимается к низу */
.mini-cart__footer {
		/* position: sticky;
		bottom: 0; */
		margin-top: 20px;
		padding: 1rem;
		/* при необходимости добавить фон/бордер */
}

.mini-cart__total {
		font-size: 1.08em;
		margin-bottom: 12px;
		display: flex;
		justify-content: space-between;
}
.mini-cart__btn {
		width: 100%;
		display: block;
		margin-top: 8px;
}
.mini-cart__empty {
		text-align: center;
		padding: 12rem 0 4rem 0;
		color: #888;
}

/* Анимация удаления строки */
.mini-cart__item.removing {
		opacity: 0;
		transform: translateX(50px) scale(0.95);
		transition: all .35s cubic-bezier(.77,0,.18,1);
		pointer-events: none;
}

/* Анимация обновления mini-cart */
#mini-cart-modal.is-updated .mini-cart-content {
		box-shadow: 0 0 0 3px #0ab8b860;
		transition: box-shadow 0.3s;
}

/* Анимация иконки корзины при добавлении товара */
.cart-icon.cart-animated {
		animation: cartBounce .7s cubic-bezier(.5,-0.2,.1,1.5);
}
@keyframes cartBounce {
		0% { transform: scale(1);}
		40% { transform: scale(1.23) rotate(-5deg);}
		60% { transform: scale(0.85) rotate(5deg);}
		80% { transform: scale(1.08) rotate(-3deg);}
		100% { transform: scale(1);}
}

/* Подсветка суммы при обновлении */
#mini-cart-modal.is-updated .mini-cart__total strong {
		background: #ffe9c2;
		color: #b86c00;
		border-radius: 8px;
		transition: background 0.5s, color 0.5s;
}







/* Mini-cart deposit info */
.mini-cart__deposit-info {
	display: inline-flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: .25rem;
	/* gap: 4px;
	margin-top: .875rem; */
	/* padding: 8px;
	background: #ffd7ea; */
	/* border-radius: 4px; */
}

.mini-cart__booking-artist,
.mini-cart__deposit-label,
.mini-cart__deposit-remaining  {
	display: inline-flex;
	flex-direction: row;
	font-size: 0.95rem;
	color: #000;
}


.mini-cart__card-icons {
	padding: 1rem 0;
	text-align: center;
}