/*
	* Theme name: Hello Elementor Child
	* Template: hello-elementor
	* Author: IT Solutions
	* Author URI: https://itsolutions.ee/
	* Version: 1.0.0
*/



/* Стилизация вывода отчёта на странице анализа или в любом другом месте на фронте / */
.ae-report {
	--color-primary: #8A2BE2;

	--h-font-family: 'Viaoda Libre', serif;

	--h1-font-size: 48px;
	--h1-font-weight: 400;
	--h1-line-height: 100%;
	--h1-letter-spacing: 0.02em;

	--h2-font-size: 32px;
	--h2-font-weight: 400;
	--h2-line-height: 110%;
	--h2-letter-spacing: 0.02em;

	--h3-font-size: 24px;
	--h3-font-weight: 400;
	--h3-line-height: 110%;
	--h3-letter-spacing: 0.02em;

	--h4-font-size: 20px;
	--h4-font-weight: 400;
	--h4-line-height: 110%;
	--h4-letter-spacing: 0.02em;
}

.ae-report :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--h-font-family);
}

.ae-report :is(h1, h2, h3, h4, h5, h6, p, ul, ol, li) {
	margin: 0px;
	padding: 0px;
}

.ae-report .ae-report-meta

/* Скрыто по дизайну. */
	{
	display: none;
}

.ae-report h1 {
	font-size: var(--h1-font-size);
	font-weight: var(--h1-font-weight);
	line-height: var(--h1-line-height);
	letter-spacing: var(--h1-letter-spacing);
}

.ae-report h2 {
	font-size: var(--h2-font-size);
	font-weight: var(--h2-font-weight);
	line-height: var(--h2-line-height);
	letter-spacing: var(--h2-letter-spacing);
}

.ae-report h3 {
	font-size: var(--h3-font-size);
	font-weight: var(--h3-font-weight);
	line-height: var(--h3-line-height);
	letter-spacing: var(--h3-letter-spacing);
}

.ae-report :is(h4, h5, h6) {
	font-size: var(--h4-font-size);
	font-weight: var(--h4-font-weight);
	line-height: var(--h4-line-height);
	letter-spacing: var(--h4-letter-spacing);
}

.ae-report ul {
	list-style: none;
}

.ae-report ul li {
	position: relative;
	padding-left: 26px;
}

.ae-report ul li::before {
	content: '';
	position: absolute;
	top: 8.5px;
	left: 0px;
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 100px;
	background-color: var(--color-primary);
}

.ae-report :is(h2, h3, h4, h5, h6)+.ae-report-text:has(p:first-child),
.ae-report :is(h2, h3, h4, h5, h6)+p,
.ae-report ul li+li,
.ae-report p+ul {
	margin-top: 16px;
}

.ae-report :is(h2, h3, h4, h5, h6)+.ae-report-text:has(ul:first-child),
.ae-report :is(h2, h3, h4, h5, h6)+ul,
.ae-report p+p,
.ae-report p+ :is(h2, h3, h4, h5, h6) {
	margin-top: 32px;
}

.ae-report h1+*,
.ae-report .ae-report-block,
.ae-report .ae-report-common,
.ae-report ul+p,
.ae-report ul+ :is(h2, h3, h4, h5, h6) {
	margin-top: 48px;
}

@media screen and (max-width: 767px) {

	.ae-report p+p,
	.ae-report p+ :is(h2, h3, h4, h5, h6) {
		margin-top: 24px;
	}

	.ae-report h1+*,
	.ae-report .ae-report-block,
	.ae-report .ae-report-common,
	.ae-report ul+p,
	.ae-report ul+ :is(h2, h3, h4, h5, h6) {
		margin-top: 40px;
	}
}

/* / Стилизация вывода отчёта на странице анализа или в любом другом месте на фронте */



/* Стилизация полей, ошибок и другого (делалось для страницы checkout) / */
/* ITS: Checkout birthdate fields */
.woocommerce .its-birthdate-fields {
	margin: 0px 0 16px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
}

.elementor-widget-woocommerce-checkout-page .its-birthdate-fields h3 {
	margin: 0 0 12px !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	font-family: 'Mulish', sans-serif;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #F3E9FC !important;
}

.woocommerce .its-birthdate-fields .form-row {
	margin-bottom: 12px;
}

.woocommerce .its-birthdate-fields .form-row-first,
.woocommerce .its-birthdate-fields .form-row-last {
	width: 48%;
}

.woocommerce .its-birthdate-fields .form-row-wide {
	width: 100%;
}

.woocommerce .its-birthdate-fields .form-row select {
	outline: none;
	width: 100%;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	/* background-color: #F3E9FC; */
	color: inherit;
	padding: 12px 12px;
	transition-property: border;
	transition-duration: 0.3s;
}

.woocommerce .its-birthdate-fields .form-row select:focus,
.woocommerce .its-birthdate-fields .form-row.woocommerce-invalid select:focus {
	border-color: #8A2BE2;
}

/* ITS: Brand invalid state for selects */
.woocommerce .its-birthdate-fields .form-row.woocommerce-invalid select,
.woocommerce .its-birthdate-fields .form-row.woocommerce-invalid-required-field select {
	border-color: #ff4a7a;
	box-shadow: 0 0 0 2px rgba(255, 74, 122, 0.25);
}

.woocommerce .its-birthdate-fields .form-row.woocommerce-invalid .select2-selection,
.woocommerce .its-birthdate-fields .form-row.woocommerce-invalid-required-field .select2-selection {
	border-color: #ff4a7a;
	box-shadow: 0 0 0 2px rgba(255, 74, 122, 0.25);
}

.woocommerce .its-birthdate-fields label {
	display: block;
	margin-bottom: 6px;
	font-size: 16px;
	color: #F3E9FC;
	line-height: 1.2 !important;
	transition: color 0.3s ease;
}

.woocommerce .its-birthdate-fields .form-row.woocommerce-invalid label,
.woocommerce .its-birthdate-fields .form-row.woocommerce-invalid-required-field label {
	color: #ff4a7a;
}

@media (max-width: 768px) {

	.woocommerce .its-birthdate-fields {
		margin: 24px 0px 16px;
	}

	.woocommerce .its-birthdate-fields .form-row-first,
	.woocommerce .its-birthdate-fields .form-row-last {
		width: 100%;
		float: none;
	}
}

/* ITS: WooCommerce checkout errors */
.woocommerce-checkout .woocommerce-error {
	margin: 0 0 16px;
	padding: 14px 16px 14px 44px;
	border-radius: 12px;
	border: 1px solid rgba(255, 80, 120, 0.35);
	background: linear-gradient(135deg, rgba(32, 10, 42, 0.92), rgba(12, 6, 24, 0.9));
	color: #F3E9FC;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
	font-family: 'Mulish', sans-serif;
}

.woocommerce-checkout .woocommerce-error a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ITS: WooCommerce checkout loader */
.woocommerce-checkout .blockUI.blockOverlay {
	background: rgba(12, 6, 24, 0.6) !important;
	opacity: 1 !important;
	backdrop-filter: blur(2px);
}

.woocommerce-checkout .blockUI.blockMsg {
	border: none !important;
	background: linear-gradient(135deg, rgba(36, 12, 52, 0.95), rgba(14, 8, 30, 0.95)) !important;
	color: #F3E9FC !important;
	border-radius: 16px !important;
	padding: 18px 20px !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
	min-width: 220px;
	text-align: center;
}

.woocommerce-checkout .blockUI.blockMsg::before {
	content: 'Updating';
	display: block;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #F3E9FC;
	opacity: 0.85;
	margin-bottom: 10px;
}

.woocommerce-checkout .blockUI.blockMsg::after {
	content: '';
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 3px solid rgba(243, 233, 252, 0.2);
	border-top-color: #8A2BE2;
	animation: itsCheckoutSpin 0.9s linear infinite;
}

@keyframes itsCheckoutSpin {
	to {
		transform: rotate(360deg);
	}
}

.woocommerce-checkout .woocommerce-error::before {
	left: 16px;
	top: 16px;
	font-size: 16px;
	color: #ff4a7a;
}

.woocommerce-checkout .woocommerce-error li {
	margin: 4px 0;
}

.woocommerce-checkout .woocommerce-error li,
.woocommerce-checkout .woocommerce-error a {
	color: #F3E9FC;
}

.woocommerce-checkout .woocommerce-error a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* / Стилизация полей, ошибок и другого (делалось для страницы checkout) */



/* Стилизация карточек на странице всех товаров (работает на всём сайте) / */
.products-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
}

.category-title {
	text-align: center;
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-size: 36px;
	font-weight: var(--e-global-typography-secondary-font-weight);
	line-height: var(--e-global-typography-secondary-line-height);
	color: #fff;
	margin-bottom: 48px;
}

.product-item {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 24px;
	width: 332px;
	color: #fff;
	background: #191320;
	border-radius: 16px;
}

.product-title {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	color: #fff;
	font-size: 24px;
	margin: 0px;
	max-width: 280px;
}

.catalog .product-image img {
	border-radius: 8px;
	object-fit: cover;
	width: 100%;
	height: 190px !important;
}

.product-price {
	display: flex;
	align-items: center;
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 8px;
}

.product-price .woocommerce-Price-amount {
	text-decoration: none !important;
}

.sale-price, .product-price .price {
	font-size: 20px;
	font-family: 'Mulish';
	font-weight: 600;
	position: relative;
}

.sale-price:before {
	content: '';
	background-image: url('/wp-content/uploads/2025/08/discount-badge.svg');
	width: 38px;
	height: 20px;
	display: flex;
	position: absolute;
	right: -25px;
	top: -11px;
}

.regular-price:has(+ .sale-price) {
	text-decoration: line-through;
	font-size: 14px;
	color: #9980B2;
	font-family: 'Mulish';
}

.regular-price:has(+ .sale-price) {
	text-decoration: line-through;
}

.product-actions .add_to_cart_button {
	border: 2px solid #8A2BE2;
	display: block;
	width: auto;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	border-radius: 12px 12px 12px 12px;
	padding: 20px;
	cursor: pointer !important;
}

.category-products-wrapper {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

@media screen and (max-width:500px) {
	.products-grid {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.product-item {
		width: 100%;
	}
}
/* / Стилизация карточек на странице всех товаров (работает на всём сайте) */