/*!
Theme Name: topcosmetics
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: topcosmetics
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

topcosmetics is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}





















.tc-news-page-wrap {
    position: relative;
    background: #ffffff;
    overflow: hidden;
    padding-bottom: 40px;
}


/* hero */
.tc-news-page-wrap__hero {
    width: 100%;
    background: linear-gradient(90deg, #E2E0F4 0%, #FCEFEC 100%);
    border-bottom-left-radius: 34px;
    border-bottom-right-radius: 34px;
    padding: 54px 0 48px;
    margin-bottom: 70px;
}

.tc-news-page-wrap__hero-box {
    max-width: 860px;
}

.tc-news-page-wrap__title {
    margin: 0 0 22px;
    font-size: 58px;
    line-height: 1.05;
    font-weight: 700;
    color: #2f2946;
    letter-spacing: -0.02em;
    margin-top: 120px;
}

.tc-news-page-wrap__desc {
    max-width: 880px;
    font-size: 24px;
    line-height: 1.55;
    font-weight: 400;
    color: #4f4960;
}

/* content */
.tc-news-page-wrap__section-title {
    margin: 0 0 36px;
    line-height: 1;
    font-weight: 700;
    color: #3b3567;
    letter-spacing: -0.03em;

        font-size: 44px;
}

.tc-news-page-wrap__item {
    background: #fff;
    border: 1px solid #ece8ee;
    border-radius: 32px;
    padding: 18px;
    box-shadow: 0 4px 14px rgba(45, 33, 68, 0.04);
}

.tc-news-page-wrap__thumb {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 22px;
    overflow: hidden;
    background: #f4efeb;
}

.tc-news-page-wrap__thumb img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.tc-news-page-wrap__info {
    padding: 4px 10px 4px 26px;
}

.tc-news-page-wrap__item-title a {
    margin: 0 0 10px;
    max-width: 610px;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 600;
    color: #272441;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.tc-news-page-wrap__meta {
    margin-bottom: 14px;
}

.tc-news-page-wrap__date {
    position: relative;
    display: inline-block;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.3;
    color: #aea8b7;
}

.tc-news-page-wrap__date::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 12px;
    height: 12px;
    border: 1px solid #cfc8d5;
    border-radius: 2px;
}

.tc-news-page-wrap__excerpt {
    max-width: 620px;
    margin-bottom: 22px;
    font-size: 14px;
    line-height: 1.75;
    color: #5f586c;
}

.tc-news-page-wrap__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 100%;
    height: 48px;
    padding: 10px 22px;
    border: 1px solid #383244;
    border-radius: 999px;
    text-decoration: none;
    background: transparent;
    color: #2d2937;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.25s ease;
}

.tc-news-page-wrap__btn:hover {
    background: #2d2937;
    color: #fff;
}

.tc-news-page-wrap__btn span {
    font-size: 17px;
    line-height: 1;
    position: relative;
    top: -1px;
}

/* responsive */
@media (max-width: 1399.98px) {
    .tc-news-page-wrap__title {
        font-size: 52px;
    }

    .tc-news-page-wrap__desc {
        font-size: 22px;
    }

    .tc-news-page-wrap__section-title {
        font-size: 52px;
    }
}

@media (max-width: 1199.98px) {
    .tc-news-page-wrap .container {
        max-width: 1040px;
    }

    .tc-news-page-wrap__hero {
        padding: 48px 0 42px;
        margin-bottom: 56px;
    }

    .tc-news-page-wrap__title {
        font-size: 48px;
    }

    .tc-news-page-wrap__desc {
        font-size: 20px;
    }

    .tc-news-page-wrap__section-title {
        font-size: 48px;
    }

    .tc-news-page-wrap__item-title {
        font-size: 25px;
    }
}

@media (max-width: 991.98px) {
    .tc-news-page-wrap__hero {
        padding: 40px 0 36px;
        border-bottom-left-radius: 24px;
        border-bottom-right-radius: 24px;
        margin-bottom: 42px;
    }

    .tc-news-page-wrap__title {
        font-size: 40px;
        margin-bottom: 16px;
    }

    .tc-news-page-wrap__desc {
        font-size: 18px;
    }

    .tc-news-page-wrap__section-title {
        font-size: 40px;
        margin-bottom: 26px;
    }

    .tc-news-page-wrap__thumb img {
        height: 190px;
    }

    .tc-news-page-wrap__info {
        padding: 18px 4px 4px 18px;
    }

    .tc-news-page-wrap__item-title {
        font-size: 22px;
    }
}

@media (max-width: 767.98px) {
    .tc-news-page-wrap__hero {
        padding: 32px 0 28px;
        margin-bottom: 34px;
    }

    .tc-news-page-wrap__title {
        font-size: 34px;
    }

    .tc-news-page-wrap__desc {
        font-size: 16px;
        line-height: 1.6;
    }

    .tc-news-page-wrap__section-title {
        font-size: 32px;
    }

    .tc-news-page-wrap__item {
        border-radius: 24px;
        padding: 14px;
    }

    .tc-news-page-wrap__thumb {
        border-radius: 18px;
    }

    .tc-news-page-wrap__thumb img {
        height: 210px;
    }

    .tc-news-page-wrap__info {
        padding: 18px 2px 2px;
    }

    .tc-news-page-wrap__item-title {
        font-size: 20px;
    }

    .tc-news-page-wrap__btn {
        min-width: 100%;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .tc-news-page-wrap__title {
        font-size: 30px;
    }

    .tc-news-page-wrap__desc {
        font-size: 15px;
    }

    .tc-news-page-wrap__section-title {
        font-size: 26px;
    }

    .tc-news-page-wrap__item-title {
        font-size: 18px;
    }

    .tc-news-page-wrap__excerpt {
        font-size: 14px;
        line-height: 1.65;
    }

    .tc-news-page-wrap__thumb img {
        height: 180px;
    }
}

.tc-news-page-wrap__other-news {
    margin-top: 90px;
}

.tc-news-page-wrap__other-title {
    margin: 0 0 34px;
    font-size: 34px;
    line-height: 1.1;
    font-weight: 700;
    color: #3b3567;
}

.tc-news-page-wrap__other-item {
    height: 100%;
    background: #fff;
    border: 1px solid #ece8ee;
    border-radius: 26px;
    padding: 12px;
    box-shadow: 0 4px 14px rgba(45, 33, 68, 0.04);
}

.tc-news-page-wrap__other-thumb {
    display: block;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    background: #f4efeb;
    margin-bottom: 18px;
}

.tc-news-page-wrap__other-thumb img {
    display: block;
    width: 100%;
    height: 215px;
    object-fit: cover;
}

.tc-news-page-wrap__other-info {
    padding: 0 8px 8px;
}

.tc-news-page-wrap__other-item-title a {
    margin: 0 0 10px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
    color: #272441;
    text-decoration: none;
}

.tc-news-page-wrap__other-excerpt {
    margin: 0 0 18px;
    font-size: 13px;
    line-height: 1.65;
    color: #5f586c;
}

.tc-news-page-wrap__btn--small {
    min-width: 205px;
    height: 46px;
    font-size: 13px;
}

@media (max-width: 991.98px) {
    .tc-news-page-wrap__other-news {
        margin-top: 60px;
    }

    .tc-news-page-wrap__other-title {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .tc-news-page-wrap__other-thumb img {
        height: 200px;
    }
}

@media (max-width: 575.98px) {
    .tc-news-page-wrap__other-thumb img {
        height: 190px;
    }

    .tc-news-page-wrap__other-item {
        border-radius: 22px;
    }

    .tc-news-page-wrap__other-thumb {
        border-radius: 16px;
    }

    .tc-news-page-wrap__other-title {
        font-size: 24px;
    }

    .tc-news-page-wrap__other-item-title {
        font-size: 17px;
    }
}



.tc-single-news-page {
    position: relative;
    padding: 40px 0 80px;
    background: #ffffff;
    overflow: hidden;
}



.tc-single-news-page__wrap {
    position: relative;
}

.tc-single-news-page__article {
    margin-bottom: 110px;
}

.tc-single-news-page__header {
    margin-bottom: 28px;
}

.tc-single-news-page__title {
    margin: 0 0 14px;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #322d4f;
    letter-spacing: -0.02em;
    margin-top: 120px;
}

.tc-single-news-page__meta {
    margin-bottom: 0;
}

.tc-single-news-page__date {
    position: relative;
    display: inline-block;
    padding-left: 18px;
    font-size: 12px;
    line-height: 1.3;
    color: #b3adba;
}

.tc-single-news-page__date::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 11px;
    height: 11px;
    border: 1px solid #cfc8d5;
    border-radius: 2px;
}

.tc-single-news-page__image {
    margin-bottom: 34px;
}

.tc-single-news-page__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
}

.tc-single-news-page__content {
    max-width: 920px;
    font-size: 14px;
    line-height: 2;
    color: #4c4658;
}

.tc-single-news-page__content p {
    margin: 0 0 22px;
}

.tc-single-news-page__content img {
    max-width: 100%;
    height: auto;
}

.tc-single-news-page__content h2,
.tc-single-news-page__content h3,
.tc-single-news-page__content h4,
.tc-single-news-page__content h5,
.tc-single-news-page__content h6 {
    margin: 30px 0 16px;
    color: #322d4f;
    line-height: 1.3;
}

.tc-single-news-page__related {
    margin-top: 0;
}

.tc-single-news-page__related-title {
    margin: 0 0 28px;
    font-size: 28px;
    line-height: 1.1;
    font-weight: 700;
    color: #3b3567;
}

.tc-single-news-page__related-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.tc-single-news-page__related-item {
    background: #fbfbfc;
    border: 1px solid #f0edf3;
    border-radius: 18px;
    padding: 18px 18px;
}

.tc-single-news-page__related-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.tc-single-news-page__related-info {
    flex: 1 1 auto;
}

.tc-single-news-page__related-item-title {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
}

.tc-single-news-page__related-item-title a {
    color: #2f2a46;
    text-decoration: none;
}

.tc-single-news-page__related-item-title a:hover {
    color: #2f2a46;
    text-decoration: none;
}

.tc-single-news-page__related-meta {
    margin-bottom: 10px;
}

.tc-single-news-page__related-date {
    position: relative;
    display: inline-block;
    padding-left: 18px;
    font-size: 11px;
    line-height: 1.3;
    color: #b3adba;
}

.tc-single-news-page__related-date::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 10px;
    height: 10px;
    border: 1px solid #cfc8d5;
    border-radius: 2px;
}

.tc-single-news-page__related-excerpt {
    max-width: 880px;
    font-size: 12px;
    line-height: 1.8;
    color: #625b6e;
}

.tc-single-news-page__related-arrow {
    flex: 0 0 34px;
}

.tc-single-news-page__related-arrow a {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ece8ef;
    border-radius: 8px;
    text-decoration: none;
    color: #8b8593;
    font-size: 18px;
    line-height: 1;
    transition: all 0.2s ease;
    background: #fff;
}

.tc-single-news-page__related-arrow a:hover {
    background: #322d4f;
    border-color: #322d4f;
    color: #ffffff;
}

/* responsive */
@media (max-width: 991.98px) {
    .tc-single-news-page {
        padding: 30px 0 60px;
    }

    .tc-single-news-page__article {
        margin-bottom: 70px;
    }

    .tc-single-news-page__title {
        font-size: 28px;
    }

    .tc-single-news-page__content {
        font-size: 14px;
        line-height: 1.85;
    }

    .tc-single-news-page__related-title {
        font-size: 24px;
    }
}

@media (max-width: 767.98px) {
    .tc-single-news-page__title {
        font-size: 24px;
    }

    .tc-single-news-page__header {
        margin-bottom: 22px;
    }

    .tc-single-news-page__image {
        margin-bottom: 26px;
    }

    .tc-single-news-page__related-item {
        padding: 16px;
    }

    .tc-single-news-page__related-inner {
        gap: 12px;
    }

    .tc-single-news-page__related-item-title {
        font-size: 15px;
    }
}

@media (max-width: 575.98px) {
    .tc-single-news-page {
        padding: 24px 0 50px;
    }

    .tc-single-news-page__title {
        font-size: 22px;
    }

    .tc-single-news-page__content {
        font-size: 13px;
        line-height: 1.75;
    }

    .tc-single-news-page__related-title {
        font-size: 22px;
    }

    .tc-single-news-page__related-excerpt {
        font-size: 12px;
        line-height: 1.65;
    }
}



.zanyattya-schedule-block{
    position:relative;
    width:100%;
    padding:0;
}

.zanyattya-schedule-block *{
    box-sizing:border-box;
}

.zanyattya-schedule-block.is-loading{
    pointer-events:none;
    opacity:.72;
    transition:opacity .25s ease;
}

.zanyattya-schedule-block .zanyattya-schedule-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:30px;
    margin-bottom:36px;
}

.zanyattya-schedule-block .zanyattya-schedule-head-left{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.zanyattya-schedule-block .zanyattya-schedule-title{
    margin:0;
    font-size:56px;
    line-height:1;
    font-weight:700;
    color:#342e67;
}

.zanyattya-schedule-block .zanyattya-schedule-filters{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.zanyattya-schedule-block .zanyattya-schedule-filter{
    position:relative;
}

.zanyattya-schedule-block .zanyattya-filter-select{
    min-width:170px;
    height:52px;
    padding:0 42px 0 18px;
    border:1px solid #ece8ef;
    border-radius:999px;
    background-color:#ffffff;
    color:#5f5b6d;
    font-size:16px;
    line-height:1;
    outline:none;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%23706c7b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:14px;
}

.zanyattya-schedule-block .zanyattya-filter-select:focus{
    border-color:#d5cdea;
}

.zanyattya-schedule-block .zanyattya-schedule-month-nav{
    display:flex;
    align-items:center;
    gap:24px;
    padding-top:6px;
    flex-shrink:0;
}

.zanyattya-schedule-block .zanyattya-schedule-month-btn{
    width:36px;
    height:36px;
    border:1px solid #ece8ef;
    border-radius:8px;
    background:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:#817c8d;
    padding:0;
    transition:all .2s ease;
}

.zanyattya-schedule-block .zanyattya-schedule-month-btn:hover{
    border-color:#d8d2e6;
    color:#342e67;
}

.zanyattya-schedule-block .zanyattya-schedule-month-btn svg{
    width:16px;
    height:16px;
}

.zanyattya-schedule-block .zanyattya-schedule-month-label{
    min-width:110px;
    text-align:center;
    font-size:18px;
    line-height:1.1;
    font-weight:600;
    color:#4c4756;
    letter-spacing:.04em;
}

.zanyattya-schedule-block .zanyattya-schedule-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
}

.zanyattya-schedule-block .zanyattya-schedule-card{
    position:relative;
}

.zanyattya-schedule-block .zanyattya-schedule-card-inner{
    position:relative;
    background:#f8f7fa;
    border:1px solid #ece8ef;
    border-radius:28px;
    padding:28px 28px 26px;
    min-height:100%;
    display:flex;
    flex-direction:column;
}

.zanyattya-schedule-block .zanyattya-schedule-badge{
    position:absolute;
    top:22px;
    right:18px;
    padding:10px 16px;
    border-radius:999px;
    font-size:12px;
    line-height:1;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.zanyattya-schedule-block .zanyattya-schedule-badge.badge-new{
    background:#f1b5d0;
    color:#6b4560;
}

.zanyattya-schedule-block .zanyattya-schedule-badge.badge-popular{
    background:#c9c1f1;
    color:#5f588b;
}

.zanyattya-schedule-block .zanyattya-schedule-badge.badge-default{
    background:#f3aac8;
    color:#5e5970;
}

.zanyattya-schedule-block .zanyattya-schedule-card-title{
    margin:0 0 24px;
    padding-right:124px;
    font-size:22px;
    line-height:1.3;
    font-weight:700;
    color:#383341;
}

.zanyattya-schedule-block .zanyattya-schedule-teacher{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
}

.zanyattya-schedule-block .zanyattya-schedule-teacher-photo{
    width:42px;
    height:42px;
    border-radius:50%;
    overflow:hidden;
    flex-shrink:0;
}

.zanyattya-schedule-block .zanyattya-schedule-teacher-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.zanyattya-schedule-block .zanyattya-schedule-teacher-name{
    font-size:13px;
    line-height:1.2;
    font-weight:500;
    color:#4e4958;
    text-transform:uppercase;
}

.zanyattya-schedule-block .zanyattya-schedule-meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:18px;
}

.zanyattya-schedule-block .zanyattya-schedule-meta-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:15px;
    line-height:1.2;
    color:#5f5a6b;
}

.zanyattya-schedule-block .zanyattya-schedule-meta-icon{
    display:inline-flex;
    width:16px;
    height:16px;
    color:#6f6880;
}

.zanyattya-schedule-block .zanyattya-schedule-meta-icon svg{
    width:16px;
    height:16px;
    display:block;
}

.zanyattya-schedule-block .zanyattya-schedule-desc{
    color:#696475;
    font-size:16px;
    line-height:1.65;
    margin-bottom:26px;
    flex:1 1 auto;
}

.zanyattya-schedule-block .zanyattya-schedule-card-bottom{
    margin-top:auto;
}

.zanyattya-schedule-block .zanyattya-schedule-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:64px;
    padding:16px 22px;
    border-radius:999px;
    background:#353b45;
    color:#ffffff;
    text-decoration:none;
    font-size:18px;
    line-height:1.2;
    font-weight:600;
    transition:all .2s ease;
}

.zanyattya-schedule-block .zanyattya-schedule-btn:hover{
    background:#2c313a;
    color:#ffffff;
}

.zanyattya-schedule-block .zanyattya-schedule-empty{
    padding:34px 24px;
    border:1px solid #ece8ef;
    border-radius:24px;
    background:#f8f7fa;
    text-align:center;
    font-size:18px;
    line-height:1.4;
    color:#615d6c;
}

@media (max-width: 991px){
    .zanyattya-schedule-block .zanyattya-schedule-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .zanyattya-schedule-block .zanyattya-schedule-month-nav{
        padding-top:0;
    }

    .zanyattya-schedule-block .zanyattya-schedule-grid{
        grid-template-columns:1fr;
    }

    .zanyattya-schedule-block .zanyattya-schedule-title{
        font-size:44px;
    }
}

@media (max-width: 767px){
    .zanyattya-schedule-block .zanyattya-schedule-title{
        font-size:36px;
    }

    .zanyattya-schedule-block .zanyattya-schedule-filters{
        flex-direction:column;
        width:100%;
    }

    .zanyattya-schedule-block .zanyattya-schedule-filter{
        width:100%;
    }

    .zanyattya-schedule-block .zanyattya-filter-select{
        width:100%;
        min-width:100%;
    }

    .zanyattya-schedule-block .zanyattya-schedule-card-inner{
        padding:22px 20px 20px;
        border-radius:22px;
    }

    .zanyattya-schedule-block .zanyattya-schedule-card-title{
        font-size:20px;
        padding-right:0;
        margin-bottom:18px;
    }

    .zanyattya-schedule-block .zanyattya-schedule-badge{
        position:static;
        display:inline-flex;
        margin-bottom:14px;
        align-self:flex-start;
    }

    .zanyattya-schedule-block .zanyattya-schedule-btn{
        min-height:56px;
        font-size:16px;
    }
}




.trainers-top-cosmetics {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
    background: #fbfafc;
}

.trainers-top-cosmetics::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 30%, rgba(235, 231, 248, 0.8) 0%, rgba(235, 231, 248, 0) 45%),
        radial-gradient(circle at 80% 20%, rgba(243, 239, 249, 0.8) 0%, rgba(243, 239, 249, 0) 42%);
    pointer-events: none;
}

.trainers-top-cosmetics .container {
    position: relative;
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 20px;
}

.trainers-top-cosmetics__head {
    margin-bottom: 34px;
}

.trainers-top-cosmetics__head h2 {
    margin: 0;
    color: #3a3366;
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
}

.trainers-top-cosmetics__slider-wrap {
    position: relative;
    padding-right: 70px;
}

/*.trainers-top-cosmetics__slider {
    overflow: visible;
}*/

.trainers-top-cosmetics .swiper-slide {
    height: auto;
}

.trainer-flip-card {
    height: 520px;
    perspective: 1200px;
}

.trainer-flip-card__inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.7s ease;
    transform-style: preserve-3d;
}

.trainer-flip-card:hover .trainer-flip-card__inner {
    transform: rotateY(180deg);
}

.trainer-flip-card__front,
.trainer-flip-card__back {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: 34px;
    overflow: hidden;
    background: #f5f3f9;
    box-shadow: 0 8px 24px rgba(46, 42, 66, 0.08);
    border: 1px solid #ece8f2;
}

.trainer-flip-card__front {
    display: flex;
    flex-direction: column;
}

.trainer-flip-card__back {
    transform: rotateY(180deg);
    background: #ffffff;
}

.trainer-flip-card__image {
    height: 390px;
    background: #e9e4f6;
}

.trainer-flip-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.trainer-flip-card__content {
    padding: 22px 24px 24px;
}

.trainer-flip-card__content h3 {
    margin: 0 0 8px;
    color: #3c3947;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 600;
}

.trainer-flip-card__content span {
    display: block;
    color: #676271;
    font-size: 15px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.trainer-flip-card__back-inner {
    height: 100%;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
}

.trainer-flip-card__back-inner h3 {
    margin: 0 0 8px;
    color: #3c3947;
    font-size: 32px;
    line-height: 1.15;
    font-weight: 600;
}

.trainer-flip-card__back-inner > span {
    display: block;
    margin-bottom: 20px;
    color: #676271;
    font-size: 14px;
    line-height: 1.4;
    text-transform: uppercase;
}

.trainer-flip-card__desc {
    color: #575262;
    font-size: 15px;
    line-height: 1.7;
}

.trainer-flip-card__desc p {
    margin: 0 0 16px;
}

.trainer-flip-card__desc p:last-child {
    margin-bottom: 0;
}

.trainers-top-cosmetics__nav {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: 1px solid #e7e2ec;
    border-radius: 10px;
    background: #fff;
    color: #7b7687;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    z-index: 5;
}

.trainers-top-cosmetics__nav:hover {
    color: #3a3366;
    border-color: #d9d2e3;
}

.trainers-top-cosmetics__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
}

.trainers-top-cosmetics__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    background: #d8d4df;
    opacity: 1;
    transition: all 0.25s ease;
}

.trainers-top-cosmetics__pagination .swiper-pagination-bullet-active {
    background: #9e98ac;
}

@media (max-width: 1199px) {
    .trainers-top-cosmetics__head h2 {
        font-size: 46px;
    }

    .trainer-flip-card {
        height: 470px;
    }

    .trainer-flip-card__image {
        height: 340px;
    }

    .trainer-flip-card__content h3,
    .trainer-flip-card__back-inner h3 {
        font-size: 28px;
    }
}

@media (max-width: 991px) {
    .trainers-top-cosmetics {
        padding: 60px 0;
    }

    .trainers-top-cosmetics__head h2 {
        font-size: 38px;
    }

    .trainer-flip-card {
        height: 430px;
    }

    .trainer-flip-card__image {
        height: 300px;
    }

    .trainer-flip-card__content {
        padding: 18px 18px 20px;
    }

    .trainer-flip-card__content h3,
    .trainer-flip-card__back-inner h3 {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .trainers-top-cosmetics__slider-wrap {
        position: relative;
        padding-right: 0px;
    }

    .trainers-top-cosmetics__nav {
        display: none;
    }

    .trainers-top-cosmetics__head {
        margin-bottom: 24px;
    }

    .trainers-top-cosmetics__head h2 {
        font-size: 30px;
    }

    .trainer-flip-card {
        height: 520px;
    }

    .trainer-flip-card__image {
        height: 280px;
    }

    .trainer-flip-card__content h3,
    .trainer-flip-card__back-inner h3 {
        font-size: 22px;
    }

    .trainer-flip-card__desc {
        font-size: 14px;
        line-height: 1.6;
    }
}





.top-cosmetics-training-video {
    position: relative;
    padding: 80px 0 40px;
    background: #fcfbfd;
}

.top-cosmetics-training-video .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

.top-cosmetics-training-video__head {
    margin-bottom: 28px;
}

.top-cosmetics-training-video__head h2 {
    margin: 0;
    color: #3b3468;
    font-size: 56px;
    line-height: 1.08;
    font-weight: 700;
}

.top-cosmetics-training-video__subhead {
    margin-bottom: 20px;
}

.top-cosmetics-training-video__subhead p {
    margin: 0;
    color: #3f3950;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 500;
}

.top-cosmetics-training-video__slider-wrap {
    position: relative;
    overflow: hidden;
    padding-right: 58px;
}

.top-cosmetics-training-video__slider {
    overflow: hidden;
    width: 100%;
}

.top-cosmetics-training-video__slider .swiper-slide {
    height: auto;
}

.training-video-card {
    position: relative;
    display: block;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    background: #ddd;
}

.training-video-card__image {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.training-video-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease;
}

.training-video-card:hover .training-video-card__image img {
    transform: scale(1.03);
}

.training-video-card__overlay {
    position: absolute;
    inset: 0;
    background: rgba(25, 24, 31, 0.22);
    transition: background .3s ease;
}

.training-video-card:hover .training-video-card__overlay {
    background: rgba(25, 24, 31, 0.12);
}

.training-video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 92px;
    height: 92px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    /*background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(6px);*/
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease, background .25s ease;
}

.training-video-card:hover .training-video-card__play {
    transform: translate(-50%, -50%) scale(1.06);
    /*background: rgba(255, 255, 255, 0.2);  */
}

.training-video-card__play svg {
    width: 80px;
    height: 80px;
    color: #ffffff;
    margin-left: 4px;
}

.top-cosmetics-training-video__nav {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: 1px solid #e8e3ef;
    border-radius: 10px;
    background: #ffffff;
    color: #8a8498;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .25s ease;
    z-index: 5;
    padding: 0;
}

.top-cosmetics-training-video__nav:hover {
    color: #3b3468;
    border-color: #d9d2e4;
}

.top-cosmetics-training-video__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
}

.top-cosmetics-training-video__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    background: #d5d0dc;
    opacity: 1;
}

.top-cosmetics-training-video__pagination .swiper-pagination-bullet-active {
    background: #9a95a6;
}

@media (max-width: 1199px) {
    .top-cosmetics-training-video__head h2 {
        font-size: 46px;
    }

    .top-cosmetics-training-video__subhead p {
        font-size: 22px;
    }
}

@media (max-width: 991px) {
    .top-cosmetics-training-video {
        padding: 60px 0 30px;
    }

    .top-cosmetics-training-video__head h2 {
        font-size: 38px;
    }

    .top-cosmetics-training-video__subhead p {
        font-size: 20px;
    }

    .top-cosmetics-training-video__slider-wrap {
        padding-right: 0;
    }

    .top-cosmetics-training-video__nav {
        display: none;
    }

    .training-video-card__play {
        width: 78px;
        height: 78px;
    }
}

@media (max-width: 767px) {
    .top-cosmetics-training-video__head {
        margin-bottom: 20px;
    }

    .top-cosmetics-training-video__head h2 {
        font-size: 30px;
    }

    .top-cosmetics-training-video__subhead {
        margin-bottom: 16px;
    }

    .top-cosmetics-training-video__subhead p {
        font-size: 18px;
    }

    .training-video-card {
        border-radius: 10px;
    }

    .training-video-card__play {
        width: 64px;
        height: 64px;
    }

    .training-video-card__play svg {
        width: 80px;
        height: 80px;
    }
}




.top-cosmetics-training-photo {
    position: relative;
    padding: 12px 0 60px;
    background: #fcfbfd;
}

.top-cosmetics-training-photo .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

.top-cosmetics-training-photo__subhead {
    margin-bottom: 22px;
}

.top-cosmetics-training-photo__subhead p {
    margin: 0;
    color: #3f3950;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 500;
}

.top-cosmetics-training-photo__slider-wrap {
    position: relative;
    overflow: hidden;
    padding-right: 58px;
}

.top-cosmetics-training-photo__slider {
    overflow: hidden;
    width: 100%;
}

.top-cosmetics-training-photo__slider .swiper-slide {
    height: auto;
}

.training-photo-pair {
    display: grid;
    grid-template-columns: 0.74fr 1.18fr;
    gap: 32px;
    align-items: center;
}

.training-photo-card {
    display: block;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    background: #e9e6eb;
    box-shadow: 0 8px 22px rgba(42, 39, 56, 0.05);
}

.training-photo-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.training-photo-card:hover img {
    transform: scale(1.03);
}

.training-photo-card:not(.training-photo-card--wide) {
    aspect-ratio: 0.72 / 1.36;
    max-height: 520px;
}

.training-photo-card--wide {
    aspect-ratio: 1.45 / 0.9;
    max-height: 340px;
}

.top-cosmetics-training-photo__nav {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: 1px solid #e8e3ef;
    border-radius: 10px;
    background: #ffffff;
    color: #8a8498;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .25s ease;
    z-index: 5;
    padding: 0;
}

.top-cosmetics-training-photo__nav:hover {
    color: #3b3468;
    border-color: #d9d2e4;
}

.top-cosmetics-training-photo__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
}

.top-cosmetics-training-photo__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    background: #d5d0dc;
    opacity: 1;
}

.top-cosmetics-training-photo__pagination .swiper-pagination-bullet-active {
    background: #9a95a6;
}

@media (max-width: 1199px) {
    .top-cosmetics-training-photo__subhead p {
        font-size: 22px;
    }

    .training-photo-pair {
        gap: 24px;
    }
}

@media (max-width: 991px) {
    .top-cosmetics-training-photo {
        padding: 8px 0 40px;
    }

    .top-cosmetics-training-photo__subhead p {
        font-size: 20px;
    }

    .top-cosmetics-training-photo__slider-wrap {
        padding-right: 0;
    }

    .top-cosmetics-training-photo__nav {
        display: none;
    }

    .training-photo-pair {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .training-photo-card:not(.training-photo-card--wide) {
        aspect-ratio: 0.9 / 1.15;
        max-height: none;
    }

    .training-photo-card--wide {
        aspect-ratio: 1.35 / 0.9;
        max-height: none;
    }
}

@media (max-width: 767px) {
    .top-cosmetics-training-photo__subhead {
        margin-bottom: 16px;
    }

    .top-cosmetics-training-photo__subhead p {
        font-size: 18px;
    }

    .training-photo-pair {
        gap: 14px;
    }

    .training-photo-card {
        border-radius: 10px;
    }
}


.zanyattya-center-block {
    padding: 0 0 60px;
}





.zanyattya-popup-overlay{
    position:fixed;
    inset:0;
    background:rgba(28, 27, 35, 0.34);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:all .25s ease;
    z-index:9999;
}

.zanyattya-popup-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.zanyattya-popup{
    position:relative;
    width:100%;
    max-width:860px;
    background:#ffffff;
    border-radius:40px;
    padding:34px 30px 28px;
    box-shadow:0 20px 60px rgba(21, 18, 35, 0.12);
}

.zanyattya-popup-close{
    position:absolute;
    top:26px;
    right:26px;
    width:36px;
    height:36px;
    border:none;
    background:transparent;
    color:#8c8796;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    padding:0;
}

.zanyattya-popup-close svg{
    width:26px;
    height:26px;
    display:block;
}

.zanyattya-popup-head{
    margin-bottom:24px;
    padding-right:40px;
}

.zanyattya-popup-title{
    margin:0 0 14px;
    color:#3b3744;
    font-size:20px;
    line-height:1.3;
    font-weight:700;
    max-width:520px;
}

.zanyattya-popup-meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.zanyattya-popup-meta-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#5c5668;
    font-size:15px;
    line-height:1.2;
}

.zanyattya-popup-meta-icon{
    display:inline-flex;
    width:16px;
    height:16px;
}

.zanyattya-popup-meta-icon svg{
    width:16px;
    height:16px;
    display:block;
}

.zanyattya-popup-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}

.zanyattya-popup-field > label{
    display:block;
    margin-bottom:8px;
    color:#3d3946;
    font-size:15px;
    line-height:1.2;
    font-weight:500;
}

.zanyattya-popup-field input{
    width:100%;
    height:54px;
    padding:0 18px;
    border:none;
    border-radius:999px;
    background:#f3f2f6;
    color:#4d4858;
    font-size:15px;
    outline:none;
}

.zanyattya-popup-field input::placeholder{
    color:#b2aeb8;
}







.zanyattya-popup-file-wrap{
    position: relative;
    width: 100%;
}

.zanyattya-popup-file-wrap input[type="file"]{
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.zanyattya-popup-file-label{
    width: 100%;
    height: 54px;
    padding: 0 18px;
    border-radius: 999px;
    background: #f3f2f6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-sizing: border-box;
    color: #3d3946;
    line-height: 54px;
}

.zanyattya-popup-file-label .js-zanyattya-file-name{
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    height: 100%;
    color: #3d3946;
    font-size: 15px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.zanyattya-popup-file-icon{
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    color: #6f6880;
}

.zanyattya-popup-file-icon svg{
    width: 22px;
    height: 22px;
    display: block;
}
.zanyattya-popup-file-label .js-zanyattya-file-name{
    color: #b2aeb8;
}

.zanyattya-popup-submit{
    width:100%;
    height:54px;
    border:none;
    border-radius:999px;
    background:#c7ccd3;
    color:#ffffff;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:all .2s ease;
}

.zanyattya-popup-submit:hover{
    background:#b8bec6;
}

.zanyattya-popup-message{
    margin-top:14px;
    font-size:14px;
    line-height:1.4;
    color:#5e5a68;
}

body.zanyattya-popup-open{
    overflow:hidden;
}

@media (max-width: 767px){
    .zanyattya-popup{
        max-width:100%;
        border-radius:24px;
        padding:24px 16px 20px;
    }

    .zanyattya-popup-close{
        top:18px;
        right:16px;
    }

    .zanyattya-popup-head{
        padding-right:34px;
        margin-bottom:18px;
    }

    .zanyattya-popup-title{
        font-size:18px;
    }

    .zanyattya-popup-grid{
        grid-template-columns:1fr;
        gap:14px;
    }
}


.zanyattya-popup-form .zanyattya-popup-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
    row-gap: 18px;
    align-items: end;
}

.zanyattya-popup-form .zanyattya-popup-field {
    margin: 0;
}

.zanyattya-popup-form .zanyattya-popup-field > label {
    display: block;
    margin: 0 0 8px;
    color: #3d3946;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
}

.zanyattya-popup-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.zanyattya-popup-form input[type="text"],
.zanyattya-popup-form input[type="tel"],
.zanyattya-popup-form input[type="email"] {
    width: 100%;
    height: 54px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: #f3f2f6;
    color: #4d4858;
    font-size: 15px;
    line-height: 54px;
    outline: none;
    box-sizing: border-box;
}

.zanyattya-popup-form input::placeholder {
    color: #b2aeb8;
}

.zanyattya-cf7-file {
    position: relative;
    display: block;
    width: 100%;
    height: 54px;
    margin: 0 !important;
}

.zanyattya-cf7-file .wpcf7-form-control-wrap {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 54px;
}

.zanyattya-cf7-file input[type="file"] {
    width: 100%;
    height: 54px;
    opacity: 0;
    cursor: pointer;
}

.zanyattya-cf7-file-view {
    position: absolute;
    inset: 0;
    z-index: 1;
    height: 54px;
    padding: 0 18px;
    border-radius: 999px;
    background: #f3f2f6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    pointer-events: none;
}

.zanyattya-cf7-file-view .js-zanyattya-file-name {
    color: #b2aeb8;
    font-size: 15px;
    line-height: 1;
}

.zanyattya-cf7-file-icon {
    margin-left: auto;
    color: #6f6880;
    font-size: 19px;
    line-height: 1;
}

.zanyattya-popup-form input[type="submit"],
.zanyattya-popup-form .wpcf7-submit {
    width: 100%;
    height: 54px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: #c7ccd3;
    color: #ffffff;
    font-size: 15px;
    line-height: 54px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
}

.zanyattya-popup-form input[type="submit"]:hover,
.zanyattya-popup-form .wpcf7-submit:hover {
    background: #b8bec6;
    color: #ffffff;
}

.zanyattya-popup-form .wpcf7-spinner {
    display: none;
}

.zanyattya-popup-form .wpcf7-not-valid-tip {
    margin-top: 6px;
    font-size: 12px;
}

.zanyattya-popup-form .wpcf7-response-output {
    margin: 14px 0 0;
    font-size: 14px;
}
.zanyattya-popup-success {
    display: none;
    text-align: center;
    padding: 40px 20px 28px;
}

.zanyattya-popup.is-success .zanyattya-popup-head,
.zanyattya-popup.is-success .zanyattya-popup-form {
    display: none;
}

.zanyattya-popup.is-success .zanyattya-popup-success {
    display: block;
}

.zanyattya-popup-success-icon {
    width: 240px;
    margin: 0 auto 28px;
}

.zanyattya-popup-success-icon img {
    display: block;
    width: 100%;
    height: auto;
}

.zanyattya-popup-success h3 {
    margin: 0 0 18px;
    color: #3d3946;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
}

.zanyattya-popup-success p {
    margin: 0;
    color: #4d4858;
    font-size: 18px;
    line-height: 1.55;
}
.zanyattya-popup-form .wpcf7-response-output {
    display: none !important;
}

.zanyattya-popup-success {
    display: none;
}

.zanyattya-popup.is-success .zanyattya-popup-head,
.zanyattya-popup.is-success .zanyattya-popup-form {
    display: none !important;
}

.zanyattya-popup.is-success .zanyattya-popup-success {
    display: block !important;
}

/* focus */
.zanyattya-popup-form input[type="text"]:focus,
.zanyattya-popup-form input[type="tel"]:focus,
.zanyattya-popup-form input[type="email"]:focus {
    border: 1px solid #9f93cf;
    background: #f3f2f6;
}

/* error */
.zanyattya-popup-form input.wpcf7-not-valid {
    border: 1px solid #e08a98 !important;
    background: #f3f2f6;
}

/* hide default red text */
.zanyattya-popup-form .wpcf7-not-valid-tip {
    display: none !important;
}

/* valid file */
.zanyattya-cf7-file.is-file-selected .zanyattya-cf7-file-view {
    border: 1px solid #8ed2af;
}

/* file name active */
.zanyattya-cf7-file.is-file-selected .js-zanyattya-file-name {
    color: #3d3946;
}

/* remove file icon */
.zanyattya-cf7-file-remove {
    display: none;
    position: relative;
    z-index: 3;
    width: 28px;
    height: 28px;
    margin-left: auto;
    border: 0;
    background: transparent;
    color: #df6f78;
    cursor: pointer;
    padding: 0;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
}

.zanyattya-cf7-file-remove svg {
    width: 28px;
    height: 28px;
    display: block;
}

.zanyattya-cf7-file.is-file-selected .zanyattya-cf7-file-icon {
    display: none;
}

.zanyattya-cf7-file.is-file-selected .zanyattya-cf7-file-remove {
    display: flex;
}

/* submit active */
.zanyattya-popup-form .wpcf7-submit {
    background: #343a43;
    color: #fff;
}

/* invalid response */
.zanyattya-popup-form .wpcf7 form.invalid .wpcf7-response-output,
.zanyattya-popup-form .wpcf7 form.unaccepted .wpcf7-response-output,
.zanyattya-popup-form .wpcf7 form.payment-required .wpcf7-response-output {
    display: none !important;
}


/* по умолчанию неактивная */
.zanyattya-popup-form .wpcf7-submit {
    background: #c7ccd3 !important;
    color: #ffffff !important;
    cursor: not-allowed;
    transition: .2s ease;
}

/* активная */
.zanyattya-popup-form .wpcf7-submit.is-active {
    background: #343a43 !important;
    color: #ffffff !important;
    cursor: pointer;
}

.zanyattya-popup-form .wpcf7-submit.is-active:hover {
    background: #2b3038 !important;
}


@media (max-width: 767px) {
    .zanyattya-popup-overlay {
        padding: 14px;
        align-items: center;
    }

    .zanyattya-popup {
        width: 100%;
        max-width: 360px;
        max-height: calc(100vh - 28px);
        overflow-y: auto;
        border-radius: 20px;
        padding: 24px 16px 16px;
    }

    .zanyattya-popup-close {
        top: 14px;
        right: 14px;
        width: 24px;
        height: 24px;
    }

    .zanyattya-popup-close svg {
        width: 22px;
        height: 22px;
    }

    .zanyattya-popup-head {
        padding-right: 24px;
        margin-bottom: 18px;
    }

    .zanyattya-popup-title {
        max-width: 100%;
        margin-bottom: 12px;
        font-size: 18px;
        line-height: 1.25;
    }

    .zanyattya-popup-meta {
        gap: 12px;
    }

    .zanyattya-popup-meta-item {
        font-size: 12px;
        gap: 6px;
    }

    .zanyattya-popup-meta-icon,
    .zanyattya-popup-meta-icon svg {
        width: 14px;
        height: 14px;
    }

    .zanyattya-popup-form .zanyattya-popup-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .zanyattya-popup-form .zanyattya-popup-field > label {
        margin-bottom: 6px;
        font-size: 12px;
    }

    .zanyattya-popup-form input[type="text"],
    .zanyattya-popup-form input[type="tel"],
    .zanyattya-popup-form input[type="email"],
    .zanyattya-cf7-file,
    .zanyattya-cf7-file-view,
    .zanyattya-cf7-file input[type="file"],
    .zanyattya-popup-form .wpcf7-submit {
        height: 42px;
        min-height: 42px;
    }

    .zanyattya-popup-form input[type="text"],
    .zanyattya-popup-form input[type="tel"],
    .zanyattya-popup-form input[type="email"] {
        padding: 0 14px;
        font-size: 12px;
        line-height: 42px;
    }

    .zanyattya-cf7-file-view {
        padding: 0 14px;
    }

    .zanyattya-cf7-file-view .js-zanyattya-file-name {
        font-size: 12px;
    }

    .zanyattya-cf7-file-icon {
        font-size: 16px;
    }

    .zanyattya-cf7-file-remove {
        width: 18px;
        height: 18px;
        flex-basis: 18px;
    }

    .zanyattya-cf7-file-remove svg {
        width: 18px;
        height: 18px;
    }

    .zanyattya-popup-form .wpcf7-submit {
        font-size: 13px;
        line-height: 42px;
    }

    .zanyattya-popup-form .wpcf7-not-valid-tip,
    .zanyattya-popup-form .wpcf7-response-output {
        display: none !important;
    }

    .zanyattya-popup.is-success {
        min-height: 360px;
    }

    .zanyattya-popup.is-success .zanyattya-popup-success {
        padding: 34px 8px 18px;
    }

    .zanyattya-popup-success-icon {
        width: 110px;
        margin-bottom: 22px;
    }

    .zanyattya-popup-success h3 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .zanyattya-popup-success p {
        font-size: 14px;
        line-height: 1.45;
    }
}







.zanyattya-schedule-filters {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    position: relative;
    z-index: 50;
}

.zanyattya-custom-select {
    position: relative;
    min-width: 170px;
}

.zanyattya-custom-select-btn {
    height: 54px;
    padding: 0 18px;
    border: 1px solid #d8d0ef;
    border-radius: 999px;
    background: #fff;
    color: #3d3946;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    font-size: 16px;
    cursor: pointer;
}

.zanyattya-custom-select-btn i {
    width: 9px;
    height: 9px;
    border-right: 1.7px solid #4d4858;
    border-bottom: 1.7px solid #4d4858;
    transform: rotate(45deg);
    margin-top: -5px;
}

.zanyattya-custom-select.is-open .zanyattya-custom-select-btn i {
    transform: rotate(-135deg);
    margin-top: 4px;
}

.zanyattya-custom-select-list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 210px;
    padding: 8px 0;
    border-radius: 0 0 22px 22px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(36,31,55,.08);
    opacity: 0;
    visibility: hidden;
    z-index: 100;
    overflow: hidden;
}

.zanyattya-custom-select.is-open .zanyattya-custom-select-list {
    opacity: 1;
    visibility: visible;
}

.zanyattya-custom-select-list button {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 12px 18px;
    text-align: left;
    color: #4d4858;
    font-size: 17px;
    cursor: pointer;
}

.zanyattya-custom-select-list button:hover,
.zanyattya-custom-select-list button.is-active {
    background: #d9d1f1;
}








.partnership-hero-section {
    margin: 0;
    padding: 0;
}

.partnership-hero-section .partnership-hero-bg {
    width: 100%;
    min-height: 310px;
    border-radius: 0 0 36px 36px;
    overflow: hidden;
    background-image:
        linear-gradient(
            90deg,
            rgba(42, 42, 42, 0.62) 0%,
            rgba(42, 42, 42, 0.55) 45%,
            rgba(42, 42, 42, 0.36) 100%
        ),
        url('/wp-content/themes/topcosmetics/img/partnership-hero.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.partnership-hero-section .partnership-hero-content {
    padding: 200px 0 42px;
    max-width: 620px;
}

.partnership-hero-section .partnership-hero-content h1 {
    margin: 0 0 40px;
    color: #ffffff;
    font-size: 52px;
    line-height: 1.16;
    font-weight: 800;
    letter-spacing: -0.8px;
}

.partnership-hero-section .partnership-hero-content p {
    margin: 0;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.55;
    font-weight: 400;
    font-style: italic;
    max-width: 560px;
}

@media (max-width: 991px) {
    .partnership-hero-section .partnership-hero-bg {
        min-height: 430px;
        border-radius: 0 0 30px 30px;
    }

    .partnership-hero-section .partnership-hero-content {
        padding: 120px 0 42px;
    }

    .partnership-hero-section .partnership-hero-content h1 {
        font-size: 34px;
    }
}

@media (max-width: 575px) {
    .partnership-hero-section .partnership-hero-bg {
        min-height: 410px;
        border-radius: 0 0 28px 28px;
    }

    .partnership-hero-section .partnership-hero-content {
        padding: 160px 0 0px;
    }

    .partnership-hero-section .partnership-hero-content h1 {
        font-size: 30px;
    }

    .partnership-hero-section .partnership-hero-content p {
        font-size: 16px;
    }
}


.partnership-about-section {
    padding: 100px 0 100px;
}



.partnership-about-section h2 {
    font-size: 58px;
    line-height: 1.1;
    font-weight: 800;
    color: #332b59;
    margin: 0 0 64px;
}

.partnership-about-section .row {
    --bs-gutter-x: 22px;
}

.partnership-about-section .partnership-about-image {
    border-radius: 26px;
    overflow: hidden;
}

.partnership-about-section .partnership-about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.partnership-about-section .partnership-about-text {
    padding-top: 2px;
}

.partnership-about-section .partnership-about-text p {
    font-size: 20px;
    line-height: 1.7;
    color: #2b2b2b;
    margin: 0 0 32px;
}

.partnership-about-section .partnership-about-text p:last-child {
    margin-bottom: 0;
}





 .partner-benefits-section {
    padding: 88px 0 96px;
    background: #ffffff;
}


.partner-benefits-section .partner-benefits-wrap h2 {
    margin: 0 0 42px;
    text-align: center;
    color: #342c59;
    font-size: 42px;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.8px;
}

.partner-benefits-section .partner-benefits-grid {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 28px;
}

.partner-benefits-section .partner-benefits-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.partner-benefits-section .partner-benefits-column-left {
    width: 48%;
}

.partner-benefits-section .partner-benefits-column-right {
    width: 44%;
}

/* карточки */
.partner-benefits-section .partner-benefit-card {
    border-radius: 22px;
    padding: 18px 20px 18px;
    min-height: 96px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-sizing: border-box;
}

.partner-benefits-section .partner-benefit-icon {
    width: 26px;
    height: 26px;
    padding: 4px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: #ffffff;
    font-size: 10px;
    line-height: 1;
    flex: 0 0 auto;
}

.partner-benefits-section .partner-benefit-card p {
    margin: 0;
    color: #3a3547;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 400;
}

/* индивидуальные размеры */
.partner-benefits-section .partner-benefit-purple {
    width: 100%;
    background: #f3f0fb;
}

.partner-benefits-section .partner-benefit-orange {
    width: 88%;
    background: #fbf6f3;
}

.partner-benefits-section .partner-benefit-blue {
    width: 100%;
    background: #f2f5fa;
}

.partner-benefits-section .partner-benefit-green {
    width: 100%;
    background: #eef8f7;
}

.partner-benefits-section .partner-benefit-pink {
    width: 82%;
    background: #f9eef5;
}

/* выравнивание по макету */
.partner-benefits-section .partner-benefits-column-left .partner-benefit-purple,
.partner-benefits-section .partner-benefits-column-left .partner-benefit-orange,
.partner-benefits-section .partner-benefits-column-left .partner-benefit-blue {
    margin-left: 0;
}

.partner-benefits-section .partner-benefits-column-right .partner-benefit-green,
.partner-benefits-section .partner-benefits-column-right .partner-benefit-pink {
    margin-left: 0;
}

/* цвета иконок */
.partner-benefits-section .partner-benefit-purple .partner-benefit-icon {
    background: #9b86db;
}

.partner-benefits-section .partner-benefit-orange .partner-benefit-icon {
    background: #edaa9e;
}

.partner-benefits-section .partner-benefit-blue .partner-benefit-icon {
    background: #9ec3ea;
}

.partner-benefits-section .partner-benefit-green .partner-benefit-icon {
    background: #5dcac2;
}

.partner-benefits-section .partner-benefit-pink .partner-benefit-icon {
    background: #d777a7;
}

/* tablet */
@media (max-width: 991px) {
    .partner-benefits-section {
        padding: 64px 0 72px;
    }

    .partner-benefits-section .partner-benefits-wrap {
        max-width: 100%;
    }

    .partner-benefits-section .partner-benefits-wrap h2 {
        font-size: 34px;
        margin-bottom: 30px;
    }

    .partner-benefits-section .partner-benefits-grid {
        gap: 18px;
    }

    .partner-benefits-section .partner-benefits-column-left,
    .partner-benefits-section .partner-benefits-column-right {
        width: 50%;
    }

    .partner-benefits-section .partner-benefit-purple,
    .partner-benefits-section .partner-benefit-orange,
    .partner-benefits-section .partner-benefit-blue,
    .partner-benefits-section .partner-benefit-green,
    .partner-benefits-section .partner-benefit-pink {
        width: 100%;
    }

    .partner-benefits-section .partner-benefit-card {
        min-height: 90px;
        padding: 16px 18px;
    }

    .partner-benefits-section .partner-benefit-card p {
        font-size: 14px;
    }
}

/* mobile */
@media (max-width: 767px) {
    .partner-benefits-section {
        padding: 0px 0 56px;
    }

    .partner-benefits-section .partner-benefits-wrap h2 {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .partner-benefits-section .partner-benefits-grid {
        flex-direction: column;
        gap: 14px;
    }

    .partner-benefits-section .partner-benefits-column-left,
    .partner-benefits-section .partner-benefits-column-right {
        width: 100%;
        gap: 14px;
    }

    .partner-benefits-section .partner-benefit-purple,
    .partner-benefits-section .partner-benefit-orange,
    .partner-benefits-section .partner-benefit-blue,
    .partner-benefits-section .partner-benefit-green,
    .partner-benefits-section .partner-benefit-pink {
        width: 100%;
    }

    .partner-benefits-section .partner-benefit-card {
        min-height: auto;
        border-radius: 18px;
        padding: 16px;
    }

    .partner-benefits-section .partner-benefit-card p {
        font-size: 14px;
    }
}
.partner-benefit-icon img {
    max-width: 14px;
}



.partners-with-section {
    padding: 100px 0 100px;
    background: #fcf8fb;
}

.partners-with-section .partners-with-row {
    align-items: center;
}

.partners-with-section .partners-with-content {
    padding-left: 24px;
}

.partners-with-section .partners-with-content h2 {
    margin: 0 0 24px;
    color: #352d5a;
    font-size: 46px;
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -0.8px;
}

.partners-with-section .partners-with-list {
    margin: 0;
    padding-left: 18px;
}

.partners-with-section .partners-with-list li {
    margin: 0 0 7px;
    color: #4c4558;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}

.partners-with-section .partners-with-list li:last-child {
    margin-bottom: 0;
}


.partners-with-section .partners-with-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

@media (max-width: 991px) {
    .partners-with-section {
        padding: 46px 0 48px;
    }

    .partners-with-section .partners-with-content {
        max-width: 100%;
        padding-left: 0;
        margin-bottom: 24px;
    }

    .partners-with-section .partners-with-content h2 {
        font-size: 29px;
        margin-bottom: 18px;
    }

    .partners-with-section .partners-with-image {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .partners-with-section {
        padding: 38px 0 40px;
    }

    .partners-with-section .partners-with-content h2 {
        font-size: 26px;
    }

    .partners-with-section .partners-with-list li {
        font-size: 14px;
    }

    .partners-with-section .partners-with-image {
        border-radius: 18px;
    }
}







.partnership-process-section {
    padding: 90px 0 100px;
    background: #ffffff;
}

.partnership-process-section .partnership-process-row {
    align-items: flex-start;
}

.partnership-process-section .partnership-process-steps {
    padding-right: 14px;
}

.partnership-process-section .partnership-process-step {
    min-height: 56px;
    background: #f7f8fb;
    border-radius: 30px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 24px;
    margin-bottom: 16px;
}

.partnership-process-section .partnership-process-step:last-child {
    margin-bottom: 0;
}

.partnership-process-section .partnership-process-step-num {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 6px;
    background: #e3a3c1;
    color: #ffffff;
    font-size: 12px;
    line-height: 24px;
    text-align: center;
    font-weight: 700;
}

.partnership-process-section .partnership-process-step-text {
    color: #4c4558;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 400;
}

.partnership-process-section .partnership-process-content {
    padding-left: 12px;
    padding-right: 10px;
}

.partnership-process-section .partnership-process-content h2 {
    margin: 0 0 28px;
    color: #352d5a;
    font-size: 46px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.8px;
}

.partnership-process-section .partnership-process-content p {
    margin: 0 0 24px;
    color: #4c4558;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
}

.partnership-process-section .partnership-process-content p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .partnership-process-section {
        padding: 60px 0 70px;
    }

    .partnership-process-section .partnership-process-steps {
        padding-right: 0;
        margin-bottom: 30px;
    }

    .partnership-process-section .partnership-process-content {
        padding-left: 0;
        padding-right: 0;
    }

    .partnership-process-section .partnership-process-content h2 {
        font-size: 34px;
        margin-bottom: 22px;
    }

    .partnership-process-section .partnership-process-content p {
        font-size: 15px;
        line-height: 1.65;
    }
}

@media (max-width: 767px) {
    .partnership-process-section {
        padding: 46px 0 56px;
    }

    .partnership-process-section .partnership-process-step {
        min-height: 52px;
        padding: 10px 14px;
        gap: 12px;
        border-radius: 16px;
        margin-bottom: 12px;
    }

    .partnership-process-section .partnership-process-step-text {
        font-size: 14px;
    }

    .partnership-process-section .partnership-process-content h2 {
        font-size: 28px;
        margin-bottom: 18px;
    }

    .partnership-process-section .partnership-process-content p {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 18px;
    }
}

.contact-page-form .cf7-submit-arrow {
    top: 24px;
}

.tc-promo-wrap__desc {
    margin: 0;
    max-width: 980px;
    color: #3f3c46;
    font-size: 22px;
    line-height: 1.45;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.2px;
}


.promo-codes-section {
    padding: 82px 0 70px;
    background: #ffffff;
}


.promo-codes-section .promo-codes-content h2 {
    margin: 0 0 34px;
    color: #342c59;
    font-size: 52px;
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -1px;
}

.promo-codes-section .promo-codes-text-block {
    margin-bottom: 34px;
}

.promo-codes-section .promo-codes-text-block:last-child {
    margin-bottom: 0;
}

.promo-codes-section .promo-codes-text-block h3 {
    margin: 0 0 16px;
    color: #3d3848;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.3px;
}

.promo-codes-section .promo-codes-text-block p {
    margin: 0 0 14px;
    color: #5a5565;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 400;
}

.promo-codes-section .promo-codes-text-block p:last-child {
    margin-bottom: 0;
}

.promo-codes-section .promo-codes-text-block strong {
    font-weight: 700;
    color: #3d3848;
}

.promo-codes-section .promo-codes-text-block ul {
    margin: 0;
    padding-left: 24px;
}

.promo-codes-section .promo-codes-text-block ul li {
    margin: 0 0 8px;
    color: #5a5565;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 400;
}

.promo-codes-section .promo-codes-text-block ul li:last-child {
    margin-bottom: 0;
}

/* если нужна картинка снизу */
.promo-codes-section .promo-codes-image {
    margin-top: 80px;
    border-radius: 34px;
    overflow: hidden;
}

.promo-codes-section .promo-codes-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

@media (max-width: 991px) {
    .promo-codes-section {
        padding: 64px 0 56px;
    }

    .promo-codes-section .promo-codes-content h2 {
        font-size: 42px;
        margin-bottom: 28px;
    }

    .promo-codes-section .promo-codes-text-block {
        margin-bottom: 28px;
    }

    .promo-codes-section .promo-codes-text-block h3 {
        font-size: 25px;
        margin-bottom: 14px;
    }

    .promo-codes-section .promo-codes-text-block p,
    .promo-codes-section .promo-codes-text-block ul li {
        font-size: 18px;
        line-height: 1.65;
    }
}

@media (max-width: 767px) {
    .promo-codes-section {
        padding: 46px 0 42px;
    }

    .promo-codes-section .promo-codes-content h2 {
        font-size: 34px;
        margin-bottom: 22px;
    }

    .promo-codes-section .promo-codes-text-block {
        margin-bottom: 22px;
    }

    .promo-codes-section .promo-codes-text-block h3 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .promo-codes-section .promo-codes-text-block p,
    .promo-codes-section .promo-codes-text-block ul li {
        font-size: 16px;
        line-height: 1.6;
    }

    .promo-codes-section .promo-codes-text-block ul {
        padding-left: 20px;
    }

    .promo-codes-section .promo-codes-image {
        margin-top: 30px;
        border-radius: 22px;
    }
}

.certificates-info-section {
    padding: 78px 0 86px;
    background: #ffffff;
}

.certificates-info-section .certificates-info-content {
    max-width: 980px;
}

.certificates-info-section .certificates-info-content h2 {
    margin: 0 0 38px;
    color: #342c59;
    font-size: 52px;
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -1px;
}

.certificates-info-section .certificates-info-text-block {
    margin-bottom: 38px;
}

.certificates-info-section .certificates-info-text-block:last-child {
    margin-bottom: 0;
}

.certificates-info-section .certificates-info-text-block h3 {
    margin: 0 0 18px;
    color: #3d3848;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.3px;
}

.certificates-info-section .certificates-info-text-block p {
    margin: 0;
    color: #5a5565;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 400;
}

.certificates-info-section .certificates-info-text-block strong {
    font-weight: 700;
    color: #3d3848;
}

@media (max-width: 991px) {
    .certificates-info-section {
        padding: 62px 0 68px;
    }

    .certificates-info-section .certificates-info-content h2 {
        font-size: 42px;
        margin-bottom: 30px;
    }

    .certificates-info-section .certificates-info-text-block {
        margin-bottom: 30px;
    }

    .certificates-info-section .certificates-info-text-block h3 {
        font-size: 25px;
        margin-bottom: 14px;
    }

    .certificates-info-section .certificates-info-text-block p {
        font-size: 18px;
        line-height: 1.65;
    }
}

@media (max-width: 767px) {
    .certificates-info-section {
        padding: 46px 0 50px;
    }

    .certificates-info-section .certificates-info-content h2 {
        font-size: 34px;
        margin-bottom: 22px;
    }

    .certificates-info-section .certificates-info-text-block {
        margin-bottom: 22px;
    }

    .certificates-info-section .certificates-info-text-block h3 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .certificates-info-section .certificates-info-text-block p {
        font-size: 16px;
        line-height: 1.6;
    }
}


.important-note-section {
    position: relative;
    width: 100%;
    padding: 72px 0 76px;
    background: linear-gradient(90deg, #fbf8fc 0%, #fdf7f8 100%);
}

.important-note-section .important-note-row {
    align-items: flex-start;
}

.important-note-section .important-note-title h2 {
    margin: 0;
    color: #372e5e;
    font-size: 56px;
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -1px;
}

.important-note-section .important-note-text {
    padding-top: 4px;
    max-width: 760px;
}

.important-note-section .important-note-text p {
    margin: 0 0 28px;
    color: #4b4559;
    font-size: 20px;
    line-height: 1.65;
    font-weight: 400;
}

.important-note-section .important-note-text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .important-note-section {
        padding: 54px 0 58px;
    }

    .important-note-section .important-note-title {
        margin-bottom: 24px;
    }

    .important-note-section .important-note-title h2 {
        font-size: 42px;
    }

    .important-note-section .important-note-text {
        max-width: 100%;
        padding-top: 0;
    }

    .important-note-section .important-note-text p {
        font-size: 18px;
        line-height: 1.6;
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .important-note-section {
        padding: 40px 0 44px;
    }

    .important-note-section .important-note-title h2 {
        font-size: 32px;
    }

    .important-note-section .important-note-text p {
        font-size: 16px;
        line-height: 1.55;
        margin-bottom: 16px;
    }
}






.top-app-section {
    padding: 0;
    background: #ffffff;
}

.top-app-section .top-app-bg {
    width: 100%;
    min-height: 785px;
    padding: 88px 0 70px;
    background-color: #ffffff;
    background-image: url(/wp-content/themes/topcosmetics/img/test-bg-1.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
}

.top-app-section .top-app-content {
    max-width: 470px;
    padding-top: 110px;
}

.top-app-section .top-app-content h2 {
    margin: 0 0 32px;
    font-size: 42px;
    line-height: 1.1;
    font-weight: 600;
    color: #3e3568;
}

.top-app-section .top-app-content p {
    margin: 0 0 34px;
    max-width: 455px;
    color: #5b5566;
    font-size: 16px;
    line-height: 1.62;
    font-weight: 400;
}

.top-app-section .top-app-buttons {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.top-app-section .top-app-store-link {
    display: inline-flex;
    text-decoration: none;
}

.top-app-section .top-app-store-link img {
    display: block;
    width: auto;
    height: 56px;
}

/* laptop */
@media (max-width: 1399px) {
    .top-app-section .top-app-bg {
        min-height: 700px;
        padding: 72px 0 56px;
    }

    .top-app-section .top-app-content {
        padding-top: 90px;
        max-width: 430px;
    }

    .top-app-section .top-app-content h2 {
        font-size: 56px;
    }

    .top-app-section .top-app-content p {
        font-size: 18px;
        max-width: 420px;
    }

    .top-app-section .top-app-store-link img {
        height: 52px;
    }
}

/* tablet */
@media (max-width: 1199px) {
    .top-app-section .top-app-bg {
        min-height: 620px;
        padding: 56px 0 48px;
        background-position: 68% center;
        background-size: cover;
    }

    .top-app-section .top-app-content {
        padding-top: 70px;
        max-width: 390px;
    }

    .top-app-section .top-app-content h2 {
        font-size: 48px;
        margin-bottom: 24px;
    }

    .top-app-section .top-app-content p {
        font-size: 17px;
        line-height: 1.58;
        margin-bottom: 26px;
    }

    .top-app-section .top-app-store-link img {
        height: 48px;
    }
}

@media (max-width: 991px) {
    .top-app-section .top-app-bg {
        min-height: auto;
        padding: 54px 0 54px;
        background-position: 74% center;
        background-size: cover;
    }

    .top-app-section .top-app-content {
        max-width: 100%;
        padding-top: 20px;
    }

    .top-app-section .top-app-content h2 {
        font-size: 40px;
        line-height: 1.02;
        margin-bottom: 20px;
    }

    .top-app-section .top-app-content p {
        max-width: 420px;
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 24px;
    }

    .top-app-section .top-app-store-link img {
        height: 44px;
    }
}

@media (max-width: 767px) {
    .top-app-section .top-app-bg {
        padding: 40px 0 40px;
        background-image: none;
        background-color: #ffffff;
    }

    .top-app-section .top-app-content {
        padding-top: 0;
    }

    .top-app-section .top-app-content h2 {
        font-size: 32px;
        margin-bottom: 18px;
    }

    .top-app-section .top-app-content p {
        max-width: 100%;
        font-size: 15px;
        line-height: 1.58;
        margin-bottom: 22px;
    }

    .top-app-section .top-app-buttons {
        gap: 12px;
    }

    .top-app-section .top-app-store-link img {
        height: 42px;
    }
}

.advantages-section .advv-text {
    font-size: 16px;
    line-height: 1.4;
    color: #4a4f5c;
    display: block !important;
}
.partners-with-section .partners-with-content ul {
    margin: 0;
    padding-left: 18px;
}
.partners-with-section .partners-with-content ul li {
    margin: 0 0 7px;
    color: #4c4558;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}






/* =========================================================
   APTOS BRAND PAGE
========================================================= */

.aptos-hero-section,
.aptos-about-section {
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: inherit;
    color: #322d4f;
}

.aptos-hero-section *,
.aptos-about-section * {
    box-sizing: border-box;
}

/* =========================================================
   HERO FULL WIDTH
========================================================= */

.aptos-hero-section {
    background: #f4f4f4;
    overflow: hidden;
}

.aptos-hero-bg {
    width: 100%;
    min-height: 560px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 0 0 52px 52px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* =========================================================
   HERO CONTENT
========================================================= */

.aptos-hero-content {
    max-width: 500px;
    padding-top: 245px;
    padding-bottom: 80px;
}

.aptos-hero-content h1 {
    margin: 0 0 52px 0;
    padding: 0;
    color: #ffffff;
    font-size: 40px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.045em;
}

.aptos-main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-width: 276px;
    height: 68px;
    padding: 0 34px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: #ffffff;
    color: #2f2b46;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
    outline: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.aptos-main-btn:hover,
.aptos-main-btn:focus,
.aptos-main-btn:active {
    color: #2f2b46;
    text-decoration: none;
    outline: none;
}

.aptos-main-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(47, 43, 70, 0.12);
}

.aptos-main-btn span {
    display: inline-block;
}

.aptos-main-btn svg {
    flex: 0 0 auto;
}

/* =========================================================
   ABOUT SECTION
========================================================= */

.aptos-about-section {
    background: #ffffff;
    padding: 116px 0 120px;
}

.aptos-about-title {
    max-width: 100%;
}

.aptos-about-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 56px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.055em;
}

.aptos-about-content {
    max-width: 560px;
    margin: 0;
    padding: 0;
}

.aptos-about-content p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 18px;
    line-height: 1.72;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.aptos-about-content p + p {
    margin-top: 38px;
}

/* =========================================================
   1200 - 1399
========================================================= */

@media (max-width: 1399px) {
    .aptos-hero-bg {
        min-height: 540px;
    }

    .aptos-hero-content {
        max-width: 470px;
        padding-top: 235px;
    }

    .aptos-hero-content h1 {
        max-width: 470px;
        font-size: 40px;
    }
}

/* =========================================================
   992 - 1199
========================================================= */

@media (max-width: 1199px) {
    .aptos-hero-bg {
        min-height: 500px;
        background-position: center center;
    }

    .aptos-hero-content {
        max-width: 430px;
        padding-top: 215px;
        padding-bottom: 70px;
    }

    .aptos-hero-content h1 {
        max-width: 430px;
        margin-bottom: 42px;
        font-size: 36px;
    }

    .aptos-about-section {
        padding: 96px 0 100px;
    }

    .aptos-about-title h2 {
        font-size: 50px;
    }

    .aptos-about-content p {
        font-size: 17px;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
    .aptos-hero-bg {
        min-height: 430px;
        border-radius: 0 0 32px 32px;
        background-position: 42% center;
    }

    .aptos-hero-content {
        max-width: 310px;
        padding-top: 175px;
        padding-bottom: 34px;
    }

    .aptos-hero-content h1 {
        max-width: 310px;
        margin-bottom: 30px;
        font-size: 28px;
        line-height: 1.12;
    }

    .aptos-main-btn {
        min-width: 220px;
        height: 52px;
        padding: 0 24px;
        gap: 12px;
        font-size: 13px;
    }

    .aptos-about-section {
        padding: 44px 0 58px;
    }

    .aptos-about-title h2 {
        margin-bottom: 26px;
        font-size: 34px;
        line-height: 1.08;
    }

    .aptos-about-content {
        max-width: none;
    }

    .aptos-about-content p {
        font-size: 15px;
        line-height: 1.75;
    }

    .aptos-about-content p + p {
        margin-top: 24px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {
    .aptos-hero-bg {
        min-height: 240px;
        border-radius: 0 0 24px 24px;
        background-size: auto 100%;
        background-position: 44% center;
    }

    .aptos-hero-content {
        padding-top: 95px;
        padding-bottom: 20px;
    }

    .aptos-hero-content h1 {
        margin-bottom: 21px;
        font-size: 20px;
        line-height: 1.12;
        letter-spacing: -0.04em;
    }

    .aptos-main-btn {
        min-width: 198px;
        height: 44px;
        padding: 0 22px;
        gap: 10px;
        font-size: 12px;
    }

    .aptos-main-btn svg {
        width: 14px;
        height: 14px;
    }

    .aptos-about-section {
        padding: 26px 0 46px;
    }

    .aptos-about-title h2 {
        margin-bottom: 22px;
        font-size: 26px;
        line-height: 1.08;
    }

    .aptos-about-content p {
        font-size: 14px;
        line-height: 1.75;
    }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 375px) {
    .aptos-hero-bg {
        min-height: 230px;
        background-position: 45% center;
    }



    .aptos-hero-content h1 {
        font-size: 36px;
    }

    .aptos-main-btn {
        min-width: 188px;
        height: 42px;
        padding: 0 18px;
    }
}



















/* =========================================================
   APTOS PROBLEMS SECTION
========================================================= */

.aptos-problems-section,
.aptos-problems-section * {
    box-sizing: border-box;
}

.aptos-problems-section {
    width: 100%;
    background: #ffffff;
    padding: 0;
    margin: 0;
    color: #322d4f;
    overflow: hidden;
}

.aptos-problems-box {
    width: 100%;
    background: #f8fbff;
    border-radius: 36px 36px 0 0;
    padding: 72px 64px 86px;
}

.aptos-problems-title {
    max-width: 80%;
    margin: 0 0 48px;
}

.aptos-problems-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 56px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

.aptos-problems-row {
    row-gap: 18px;
    margin-left: -9px;
    margin-right: -9px;
}

.aptos-problems-row > [class*="col-"] {
    padding-left: 9px;
    padding-right: 9px;
}

/* =========================================================
   CARD
========================================================= */

.aptos-problem-card {
    position: relative;
    width: 100%;
    aspect-ratio: 0.74 / 1;
    overflow: hidden;
    border-radius: 24px;
    background: #dce3e8;
    box-shadow: 0 14px 34px rgba(50, 45, 79, 0.08);
    cursor: pointer;
}

.aptos-problem-card img {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.32s ease, transform 0.32s ease;
}

/* нижний градиент в обычном состоянии */
.aptos-problem-card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: 48%;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.72) 52%,
        rgba(255, 255, 255, 0.96) 100%
    );
    pointer-events: none;
    transition: opacity 0.32s ease;
}

/* белая вуаль при наведении */
.aptos-problem-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.66) 0%,
        rgba(255, 255, 255, 0.82) 42%,
        rgba(255, 255, 255, 0.96) 100%
    );
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.32s ease;
}

.aptos-problem-card-content {
    position: absolute;
    z-index: 3;
    left: 18px;
    right: 16px;
    bottom: 18px;
    transition: bottom 0.32s ease;
}

.aptos-problem-card-content h3 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 28px;
    line-height: 1.16;
    font-weight: 700;
    letter-spacing: -0.035em;
}

.aptos-problem-card-content p {
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    color: #454158;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: -0.02em;
    transition: max-height 0.32s ease, opacity 0.32s ease, margin-top 0.32s ease;
}

/* =========================================================
   HOVER
========================================================= */

.aptos-problem-card:hover img {
    opacity: 0.42;
    transform: scale(1.035);
}

.aptos-problem-card:hover::before {
    opacity: 0;
}

.aptos-problem-card:hover::after {
    opacity: 1;
}

.aptos-problem-card:hover .aptos-problem-card-content {
    bottom: 20px;
}

.aptos-problem-card:hover .aptos-problem-card-content p {
    max-height: 120px;
    margin-top: 10px;
    opacity: 1;
}

/* =========================================================
   1200 - 1399
========================================================= */

@media (max-width: 1399px) {
    .aptos-problems-box {
        padding: 62px 54px 76px;
    }

    .aptos-problems-title h2 {
        font-size: 31px;
    }

    .aptos-problems-row {
        row-gap: 16px;
        margin-left: -8px;
        margin-right: -8px;
    }

    .aptos-problems-row > [class*="col-"] {
        padding-left: 8px;
        padding-right: 8px;
    }
}

/* =========================================================
   992 - 1199
========================================================= */

@media (max-width: 1199px) {
    .aptos-problems-box {
        padding: 54px 42px 64px;
        border-radius: 32px 32px 0 0;
    }

    .aptos-problems-title {
        max-width: 590px;
        margin-bottom: 30px;
    }

    .aptos-problems-title h2 {
        font-size: 29px;
    }

    .aptos-problem-card {
        border-radius: 20px;
    }

    .aptos-problem-card-content {
        left: 14px;
        right: 12px;
        bottom: 14px;
    }

    .aptos-problem-card-content h3 {
        font-size: 12px;
    }

    .aptos-problem-card-content p {
        font-size: 10px;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
    .aptos-problems-box {
        padding: 38px 28px 50px;
        border-radius: 28px 28px 0 0;
    }

    .aptos-problems-title {
        max-width: 430px;
        margin-bottom: 24px;
    }

    .aptos-problems-title h2 {
        font-size: 26px;
        line-height: 1.08;
    }

    .aptos-problems-row {
        row-gap: 12px;
        margin-left: -6px;
        margin-right: -6px;
    }

    .aptos-problems-row > [class*="col-"] {
        padding-left: 6px;
        padding-right: 6px;
    }

    .aptos-problem-card {
        border-radius: 18px;
    }

    .aptos-problem-card-content {
        left: 12px;
        right: 10px;
        bottom: 12px;
    }

    .aptos-problem-card-content h3 {
        font-size: 11px;
    }

    .aptos-problem-card-content p {
        display: none;
    }

    .aptos-problem-card:hover img {
        opacity: 1;
        transform: none;
    }

    .aptos-problem-card:hover::before {
        opacity: 1;
    }

    .aptos-problem-card:hover::after {
        opacity: 0;
    }

    .aptos-problem-card:hover .aptos-problem-card-content {
        bottom: 12px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {
    .aptos-problems-box {
        margin-left: -12px;
        margin-right: -12px;
        padding: 34px 34px 44px;
        border-radius: 24px 24px 0 0;
    }

    .aptos-problems-title {
        max-width: 330px;
        margin-bottom: 20px;
    }

    .aptos-problems-title h2 {
        font-size: 21px;
        line-height: 1.08;
    }

    .aptos-problems-row {
        row-gap: 9px;
        margin-left: -5px;
        margin-right: -5px;
    }

    .aptos-problems-row > [class*="col-"] {
        padding-left: 5px;
        padding-right: 5px;
    }

    .aptos-problem-card {
        border-radius: 16px;
    }

    .aptos-problem-card-content {
        left: 9px;
        right: 8px;
        bottom: 9px;
    }

    .aptos-problem-card-content h3 {
        font-size: 9px;
        line-height: 1.12;
        letter-spacing: -0.04em;
    }
}

@media (max-width: 375px) {
    .aptos-problems-box {
        padding-left: 24px;
        padding-right: 24px;
    }

    .aptos-problems-title h2 {
        font-size: 20px;
    }

    .aptos-problem-card-content h3 {
        font-size: 8.5px;
    }
}

section.aptos-problems-section {
    background: linear-gradient(180deg, #F1F3F5 0%, #FFFFFF 100%);
    padding: 100px;
    border-radius: 42px 42px 0 0;
}










section.aptos-benefits-section {
    width: 100%;
    margin: 0;
    padding: 100px 0 110px;
    background: linear-gradient(
        180deg,
        #F7F9FD 0%,
        #F7FBFD 50%,
        #FBFEFF 100%
    );
    border-radius: 42px 42px 0 0;
    overflow: hidden;
}


.aptos-benefits-title {
    max-width: 100%;
    margin: 0 0 50px;
    text-align: center;
}

.aptos-benefits-title h2 {
    margin: 0;
    color: #322d4f;
    font-size: 56px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

.aptos-benefits-row {
    row-gap: 28px;
}

.aptos-benefits-row > [class*="col-"] {
    padding-left: 14px;
    padding-right: 14px;
}

.aptos-benefit-card {
    width: 100%;
    min-height: 150px;
    padding: 28px 32px 30px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(50, 45, 79, 0.035);
}

.aptos-benefit-icon {
    width: 28px;
    height: 28px;
    margin: 0 0 20px;
    padding: 0;
    border-radius: 7px;
    overflow: hidden;
    line-height: 0;
}

.aptos-benefit-icon img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.aptos-benefit-card p {
    margin: 0;
    color: #454158;
    font-size: 20px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.025em;
}

@media (max-width: 1199px) {
    section.aptos-benefits-section {
        padding: 80px 0 90px;
    }

    .aptos-benefits-title h2 {
        font-size: 34px;
    }
}

@media (max-width: 991px) {
    section.aptos-benefits-section {
        padding: 56px 0 66px;
        border-radius: 30px 30px 0 0;
    }

    .aptos-benefits-title {
        margin-bottom: 30px;
    }

    .aptos-benefits-title h2 {
        font-size: 28px;
    }

    .aptos-benefits-row {
        row-gap: 16px;
    }

    .aptos-benefit-card {
        min-height: auto;
        padding: 24px;
        border-radius: 20px;
    }
}

@media (max-width: 575px) {
    section.aptos-benefits-section {
        padding: 44px 0 54px;
        border-radius: 24px 24px 0 0;
    }

    .aptos-benefits-title {
        text-align: left;
        margin-bottom: 24px;
    }

    .aptos-benefits-title h2 {
        font-size: 24px;
    }

    .aptos-benefit-card {
        padding: 22px 20px;
        border-radius: 18px;
    }

    .aptos-benefit-card p {
        font-size: 13px;
        line-height: 1.58;
    }
}
















/* =========================================================
   APTOS PRODUCTS SECTION
========================================================= */

.aptos-products-section,
.aptos-products-section * {
    box-sizing: border-box;
}

.aptos-products-section {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff;
    color: #322d4f;
    overflow: hidden;
}

.aptos-products-bg {
    width: 100%;
    margin: 0;
    padding: 96px 0 105px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}

.aptos-products-title {
    text-align: center;
    margin: 0 0 42px;
}

.aptos-products-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 56px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

/* =========================================================
   SLIDER FULL CONTAINER WIDTH
========================================================= */

.aptos-products-slider-wrap {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
}

.aptos-products-slider {
    width: 100%;
    overflow: hidden;
}

.aptos-products-track {
    display: flex;
    margin-left: -12px;
    margin-right: -12px;
    transition: transform 0.35s ease;
    will-change: transform;
}

.aptos-product-slide {
    flex: 0 0 50%;
    max-width: 50%;
    padding-left: 12px;
    padding-right: 12px;
}

/* =========================================================
   CARD
========================================================= */

.aptos-product-card {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #efefef;
}

.aptos-product-image {
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: #fff;
}

.aptos-product-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 15px;
}

.aptos-product-content {
    padding: 24px 28px 32px;
}

.aptos-product-content h3 {
    margin: 0 0 12px;
    padding: 0;
    color: #9cd8f4;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.035em;
}

.aptos-product-content h4 {
    margin: 0 0 13px;
    padding: 0;
    color: #2f2b46;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.aptos-product-content p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 18px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.02em;
}

/* =========================================================
   ARROWS
========================================================= */

.aptos-products-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 42px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(50, 45, 79, 0.08);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    color: #322d4f;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(50, 45, 79, 0.08);
}

.aptos-products-prev {
    left: -10px;
}

.aptos-products-next {
    right: -10px;
}

.aptos-products-arrow svg {
    display: block;
}

.aptos-products-arrow.is-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1399px) {
    .aptos-product-image {
        height: 360px;
    }

    .aptos-products-arrow {
        top: 190px;
    }
}

@media (max-width: 1199px) {
    .aptos-products-bg {
        padding: 76px 0 86px;
    }

    .aptos-products-title h2 {
        font-size: 32px;
    }

    .aptos-product-image {
        height: 320px;
    }

    .aptos-product-content {
        padding: 20px 22px 26px;
    }

    .aptos-products-arrow {
        top: 170px;
    }
}

@media (max-width: 991px) {
    .aptos-products-bg {
        padding: 56px 0 66px;
        background-size: auto 100%;
    }

    .aptos-products-title {
        margin-bottom: 28px;
    }

    .aptos-products-title h2 {
        font-size: 28px;
    }

    .aptos-products-track {
        margin-left: -8px;
        margin-right: -8px;
    }

    .aptos-product-slide {
        padding-left: 8px;
        padding-right: 8px;
    }

    .aptos-product-card {
        border-radius: 20px;
    }

    .aptos-product-image {
        height: 260px;
    }

    .aptos-products-arrow {
        top: 140px;
    }
}

@media (max-width: 767px) {
    .aptos-product-slide {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 575px) {
    .aptos-products-bg {
        padding: 44px 0 54px;
    }

    .aptos-products-title {
        text-align: left;
        margin-bottom: 24px;
    }

    .aptos-products-title h2 {
        font-size: 24px;
    }

    .aptos-product-card {
        border-radius: 18px;
    }

    .aptos-product-image {
        height: 210px;
    }

    .aptos-product-content {
        padding: 16px 18px 22px;
    }

    .aptos-product-content h3 {
        margin-bottom: 10px;
        font-size: 16px;
    }

    .aptos-product-content h4,
    .aptos-product-content p {
        font-size: 12px;
    }

    .aptos-products-arrow {
        top: 128px;
        width: 30px;
        height: 38px;
    }
}








/* =========================================================
   APTOS DOCTOR SECTION
========================================================= */

.aptos-doctor-section,
.aptos-doctor-section * {
    box-sizing: border-box;
}

.aptos-doctor-section {
    width: 100%;
    margin: 0;
    padding: 96px 0 100px;
    background: #ffffff;
    color: #322d4f;
    overflow: hidden;
}

.aptos-doctor-title {
    margin: 0 0 42px;
}

.aptos-doctor-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 56px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

.aptos-doctor-row {
    row-gap: 28px;
}

.aptos-doctor-row > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
}

.aptos-doctor-image {
    width: 100%;
    height: 100%;
    min-height: 430px;
    overflow: hidden;
    border-radius: 24px;
    background: #f7f9fd;
}

.aptos-doctor-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aptos-doctor-steps {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100%;
}

.aptos-doctor-step {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    width: 100%;
    min-height: 124px;
    padding: 28px 32px 28px 28px;
    border-radius: 24px;
    background: #f6f6f7;
    box-shadow: 0 14px 34px rgba(50, 45, 79, 0.035);
}

.aptos-doctor-step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 7px;
    background: #cfe8ff;
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
}

.aptos-doctor-step p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

/* 1200-1399 */
@media (max-width: 1399px) {
    .aptos-doctor-section {
        padding: 86px 0 90px;
    }

    .aptos-doctor-title h2 {
        font-size: 35px;
    }

    .aptos-doctor-image,
    .aptos-doctor-image img {
        min-height: 410px;
    }

    .aptos-doctor-step {
        min-height: 120px;
        padding: 26px 28px 26px 26px;
    }
}

/* 992-1199 */
@media (max-width: 1199px) {
    .aptos-doctor-section {
        padding: 76px 0 82px;
    }

    .aptos-doctor-title {
        margin-bottom: 34px;
    }

    .aptos-doctor-title h2 {
        font-size: 32px;
    }

    .aptos-doctor-image,
    .aptos-doctor-image img {
        min-height: 385px;
    }

    .aptos-doctor-step {
        gap: 14px;
        min-height: 112px;
        padding: 24px;
        border-radius: 22px;
    }

    .aptos-doctor-step p {
        font-size: 14px;
        line-height: 1.58;
    }
}

/* Tablet */
@media (max-width: 991px) {
    .aptos-doctor-section {
        padding: 56px 0 66px;
    }

    .aptos-doctor-title {
        margin-bottom: 28px;
    }

    .aptos-doctor-title h2 {
        font-size: 28px;
    }

    .aptos-doctor-image,
    .aptos-doctor-image img {
        min-height: 360px;
    }

    .aptos-doctor-image {
        border-radius: 22px;
    }

    .aptos-doctor-steps {
        gap: 14px;
    }

    .aptos-doctor-step {
        min-height: auto;
        padding: 22px;
        border-radius: 20px;
    }

    .aptos-doctor-step-num {
        width: 26px;
        height: 26px;
        min-width: 26px;
        font-size: 13px;
    }

    .aptos-doctor-step p {
        font-size: 13px;
        line-height: 1.58;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .aptos-doctor-section {
        padding: 44px 0 54px;
    }

    .aptos-doctor-title {
        margin-bottom: 24px;
    }

    .aptos-doctor-title h2 {
        font-size: 24px;
    }

    .aptos-doctor-image,
    .aptos-doctor-image img {
        min-height: 320px;
    }

    .aptos-doctor-image {
        border-radius: 18px;
    }

    .aptos-doctor-row {
        row-gap: 18px;
    }

    .aptos-doctor-step {
        gap: 12px;
        padding: 20px;
        border-radius: 18px;
    }

    .aptos-doctor-step p {
        font-size: 13px;
        line-height: 1.58;
    }
}

@media (max-width: 575px) {
    .aptos-doctor-image,
    .aptos-doctor-image img {
        min-height: 270px;
    }
}








/* =========================================================
   APTOS BEFORE / AFTER SECTION
========================================================= */

.aptos-before-after-section,
.aptos-before-after-section * {
    box-sizing: border-box;
}

.aptos-before-after-section {
    width: 100%;
    margin: 0;
    padding: 96px 0 110px;
    background: linear-gradient(
        180deg,
        #F7F9FD 0%,
        #F7FBFD 50%,
        #FBFEFF 100%
    );
    color: #322d4f;
    overflow: hidden;
}

.aptos-before-after-title {
    margin: 0 auto 54px;
    text-align: center;
}

.aptos-before-after-title h2 {
    max-width: 90%;
    margin: 0 auto 30px;
    padding: 0;
    color: #322d4f;
    font-size: 56px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.aptos-before-after-title p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 20px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.025em;
}

/* =========================================================
   SLIDER
========================================================= */

.aptos-before-after-slider-wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0 72px 46px;
}

.aptos-before-after-slider {
    width: 100%;
    overflow: hidden;
}

.aptos-before-after-slide {
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
    background: #ffffff;
}

.aptos-before-after-slide img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
}

/* =========================================================
   NAVIGATION
========================================================= */

.aptos-before-after-nav {
    position: absolute;
    z-index: 5;
    top: calc(50% - 23px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(50, 45, 79, 0.08);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.92);
    color: #322d4f;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 8px 18px rgba(50, 45, 79, 0.08);
}

.aptos-before-after-nav--prev {
    left: 0;
}

.aptos-before-after-nav--next {
    right: 0;
}

.aptos-before-after-nav svg {
    display: block;
}

.aptos-before-after-nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* =========================================================
   PAGINATION
========================================================= */

.aptos-before-after-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.aptos-before-after-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;
    border-radius: 50%;
    background: #d8dde4;
    opacity: 1;
}

.aptos-before-after-pagination .swiper-pagination-bullet-active {
    background: #b8c0ca;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {
    .aptos-before-after-section {
        padding: 82px 0 94px;
    }

    .aptos-before-after-title h2 {
        font-size: 36px;
    }

    .aptos-before-after-slider-wrap {
        max-width: 840px;
    }

    .aptos-before-after-slide img {
        height: 430px;
    }
}

@media (max-width: 991px) {
    .aptos-before-after-section {
        padding: 62px 0 72px;
    }

    .aptos-before-after-title {
        margin-bottom: 38px;
    }

    .aptos-before-after-title h2 {
        margin-bottom: 22px;
        font-size: 30px;
    }

    .aptos-before-after-title p {
        font-size: 14px;
    }

    .aptos-before-after-slider-wrap {
        max-width: 100%;
        padding: 0 48px 40px;
    }

    .aptos-before-after-slide img {
        height: 380px;
    }
}

@media (max-width: 575px) {
    .aptos-before-after-section {
        padding: 46px 0 58px;
    }

    .aptos-before-after-title {
        text-align: left;
        margin-bottom: 28px;
    }

    .aptos-before-after-title h2 {
        margin: 0 0 18px;
        font-size: 24px;
        line-height: 1.1;
        text-align: left;
    }

    .aptos-before-after-title p {
        font-size: 13px;
        line-height: 1.55;
    }

    .aptos-before-after-slider-wrap {
        padding: 0 34px 36px;
    }

    .aptos-before-after-slide {
        border-radius: 10px;
    }

    .aptos-before-after-slide img {
        height: 300px;
    }

    .aptos-before-after-nav {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 375px) {
    .aptos-before-after-slide img {
        height: 260px;
    }
}
.text-block.text-block-apost img {
    border-radius: 24px;
}
.lemon-bottle-banner-wrap {
    background: #0000005c;
}













/* =========================================================
   LEMON PRODUCTS SECTION
========================================================= */

.lemon-products-section,
.lemon-products-section * {
    box-sizing: border-box;
}

.lemon-products-section {
    width: 100%;
    margin: 0;
    padding: 72px 0 92px;
    background: #ffffff;
    color: #322d4f;
    overflow: hidden;
}

.lemon-products-title {
    margin: 0 0 38px;
}

.lemon-products-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

.lemon-products-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}

.lemon-product-card {
    width: 100%;
    padding: 16px;
    border: 1px solid rgba(50, 45, 79, 0.08);
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(50, 45, 79, 0.08);
}

.lemon-product-card > .row {
    margin-left: -8px;
    margin-right: -8px;
}

.lemon-product-card > .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}

.lemon-product-image {
    width: 100%;
    height: 100%;
    min-height: 345px;
    overflow: hidden;
    border-radius: 22px;
    background: #f7f9fd;
}

.lemon-product-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 345px;
    object-fit: cover;
}

.lemon-product-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 10px 0 0 8px;
}

.lemon-product-content h3 {
    margin: 0 0 22px;
    padding: 0;
    color: #2f2b46;
    font-size: 27px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-transform: uppercase;
}

.lemon-product-content h4 {
    margin: 0 0 10px;
    padding: 0;
    color: #2f2b46;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.lemon-product-content > p {
    margin: 0 0 24px;
    padding: 0;
    color: #454158;
    font-size: 16px;
    line-height: 1.62;
    font-weight: 400;
    letter-spacing: -0.025em;
}

.lemon-product-info-row {
    margin-top: auto;
    row-gap: 16px;
    margin-left: -8px;
    margin-right: -8px;
}

.lemon-product-info-row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}

.lemon-product-info-box {
    height: 100%;
    min-height: 142px;
    padding: 24px 28px;
    border-radius: 22px;
    background: #f3f4f6;
}

.lemon-product-info-box h5 {
    margin: 0 0 12px;
    padding: 0;
    color: #2f2b46;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.lemon-product-info-box ul {
    margin: 0;
    padding-left: 18px;
    color: #454158;
}

.lemon-product-info-box li {
    margin: 0 0 6px;
    padding: 0;
    color: #454158;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.lemon-product-info-box li:last-child {
    margin-bottom: 0;
}

.lemon-product-info-box p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 400;
    letter-spacing: -0.02em;
}

/* 1200-1399 */
@media (max-width: 1399px) {
    .lemon-products-section {
        padding: 66px 0 84px;
    }

    .lemon-products-title h2 {
        font-size: 38px;
    }

    .lemon-product-content h3 {
        font-size: 24px;
        margin-bottom: 18px;
    }

    .lemon-product-image,
    .lemon-product-image img {
        min-height: 320px;
    }

    .lemon-product-info-box {
        padding: 22px 24px;
    }
}

/* 992-1199 */
@media (max-width: 1199px) {
    .lemon-products-section {
        padding: 58px 0 74px;
    }

    .lemon-products-title {
        margin-bottom: 30px;
    }

    .lemon-products-title h2 {
        font-size: 34px;
    }

    .lemon-product-card {
        border-radius: 26px;
        padding: 14px;
    }

    .lemon-product-image,
    .lemon-product-image img {
        min-height: 300px;
    }

    .lemon-product-content {
        padding-left: 4px;
    }

    .lemon-product-content h3 {
        font-size: 22px;
        margin-bottom: 14px;
    }

    .lemon-product-content h4 {
        font-size: 14px;
    }

    .lemon-product-content > p,
    .lemon-product-info-box li,
    .lemon-product-info-box p {
        font-size: 13px;
    }

    .lemon-product-info-box {
        min-height: 130px;
        padding: 20px;
        border-radius: 20px;
    }
}

/* Tablet */
@media (max-width: 991px) {
    .lemon-products-section {
        padding: 50px 0 64px;
    }

    .lemon-products-title h2 {
        font-size: 30px;
    }

    .lemon-products-list {
        gap: 18px;
    }

    .lemon-product-image,
    .lemon-product-image img {
        min-height: 280px;
    }

    .lemon-product-content h3 {
        font-size: 20px;
    }

    .lemon-product-content > p {
        margin-bottom: 18px;
        line-height: 1.55;
    }

    .lemon-product-info-box {
        min-height: auto;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .lemon-products-section {
        padding: 42px 0 54px;
    }

    .lemon-products-title {
        margin-bottom: 24px;
    }

    .lemon-products-title h2 {
        font-size: 26px;
    }

    .lemon-product-card {
        padding: 12px;
        border-radius: 22px;
    }

    .lemon-product-card > .row {
        row-gap: 18px;
    }

    .lemon-product-image {
        min-height: 260px;
        border-radius: 18px;
    }

    .lemon-product-image img {
        min-height: 260px;
    }

    .lemon-product-content {
        padding: 0;
    }

    .lemon-product-content h3 {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .lemon-product-content h4 {
        font-size: 14px;
    }

    .lemon-product-content > p {
        font-size: 13px;
        margin-bottom: 16px;
    }

    .lemon-product-info-row {
        row-gap: 12px;
    }

    .lemon-product-info-box {
        padding: 18px;
        border-radius: 18px;
    }
}

@media (max-width: 575px) {
    .lemon-products-title h2 {
        font-size: 24px;
    }

    .lemon-product-image,
    .lemon-product-image img {
        min-height: 230px;
    }
}








/* =========================================================
   LEMON COSMETOLOGIST BENEFITS
========================================================= */

.lemon-cosmetologist-benefits-section,
.lemon-cosmetologist-benefits-section * {
    box-sizing: border-box;
}

.lemon-cosmetologist-benefits-section {
    width: 100%;
    margin: 0;
    padding: 112px 0 118px;
    background: linear-gradient(180deg, #FBFAF4 0%, #FCFBF7 50%, #FFFFFF 100%);
    color: #322d4f;
    overflow: hidden;
}

.lemon-cosmetologist-benefits-title {
    text-align: center;
    margin: 0 0 54px;
}

.lemon-cosmetologist-benefits-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

.lemon-cosmetologist-benefits-row {
    width: 100%;
    max-width: none;
    margin-left: -12px;
    margin-right: -12px;
    row-gap: 22px;
}


.lemon-cosmetologist-benefits-row > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
}

.lemon-cosmetologist-benefit-item {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 68px;
    padding: 14px 24px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(50, 45, 79, 0.04);
    box-shadow: 0 12px 34px rgba(50, 45, 79, 0.08);
}

.lemon-cosmetologist-benefit-icon {
    width: 28px;
    height: 28px;
    min-width: 28px;
    margin-right: 16px;
    border-radius: 8px;
    overflow: hidden;
    line-height: 0;
}

.lemon-cosmetologist-benefit-icon img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.lemon-cosmetologist-benefit-item p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: -0.025em;
}

/* 1200-1399 */
@media (max-width: 1399px) {
    .lemon-cosmetologist-benefits-section {
        padding: 96px 0 104px;
    }

    .lemon-cosmetologist-benefits-title h2 {
        font-size: 38px;
    }

    .lemon-cosmetologist-benefits-row {
        max-width: 1020px;
    }
}

/* 992-1199 */
@media (max-width: 1199px) {
    .lemon-cosmetologist-benefits-section {
        padding: 82px 0 90px;
    }

    .lemon-cosmetologist-benefits-title {
        margin-bottom: 42px;
    }

    .lemon-cosmetologist-benefits-title h2 {
        font-size: 34px;
    }

    .lemon-cosmetologist-benefits-row {
        max-width: 920px;
    }

    .lemon-cosmetologist-benefit-item {
        min-height: 64px;
        padding: 13px 22px;
    }
}

/* Tablet */
@media (max-width: 991px) {
    .lemon-cosmetologist-benefits-section {
        padding: 62px 0 72px;
    }

    .lemon-cosmetologist-benefits-title {
        margin-bottom: 32px;
    }

    .lemon-cosmetologist-benefits-title h2 {
        font-size: 30px;
    }

    .lemon-cosmetologist-benefits-row {
        row-gap: 16px;
    }

    .lemon-cosmetologist-benefit-item {
        min-height: 60px;
        padding: 12px 18px;
    }

    .lemon-cosmetologist-benefit-item p {
        font-size: 14px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .lemon-cosmetologist-benefits-section {
        padding: 46px 0 56px;
    }

    .lemon-cosmetologist-benefits-title {
        text-align: left;
        margin-bottom: 26px;
    }

    .lemon-cosmetologist-benefits-title h2 {
        font-size: 26px;
    }

    .lemon-cosmetologist-benefits-row {
        row-gap: 12px;
    }

    .lemon-cosmetologist-benefit-item {
        min-height: 58px;
        padding: 12px 16px;
        border-radius: 18px;
    }

    .lemon-cosmetologist-benefit-icon {
        width: 26px;
        height: 26px;
        min-width: 26px;
        margin-right: 14px;
    }

    .lemon-cosmetologist-benefit-icon img {
        width: 26px;
        height: 26px;
    }

    .lemon-cosmetologist-benefit-item p {
        font-size: 13px;
        line-height: 1.35;
    }
}

@media (max-width: 575px) {
    .lemon-cosmetologist-benefits-title h2 {
        font-size: 24px;
    }
}

.lemon-cosmetologist-benefits-section {
    background: linear-gradient(
        180deg,
        #FDFBF7 0%,
        #FDFCF7 50%,
        #FFFFFF 100%
    );
}



/* =========================================================
   LEMON RESULTS SECTION
========================================================= */

.lemon-results-section,
.lemon-results-section * {
    box-sizing: border-box;
}

.lemon-results-section {
    width: 100%;
    margin: 0;
    padding: 96px 0 110px;
    background: linear-gradient(
        180deg,
        #FDFBF7 0%,
        #FDFCF7 50%,
        #FFFFFF 100%
    );
    color: #322d4f;
    overflow: hidden;
}

.lemon-results-title {
    max-width: 760px;
    margin: 0 auto 52px;
    text-align: center;
}

.lemon-results-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

/* =========================================================
   SLIDER — FULL CONTAINER WIDTH
========================================================= */

.lemon-results-slider-wrap {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 72px 48px;
}

.lemon-results-slider {
    width: 100%;
    overflow: hidden;
}

.lemon-results-slide {
    width: 100%;
    text-align: center;
}

.lemon-results-image {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 10px;
    background: #ffffff;
}

.lemon-results-image img {
    display: block;
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.lemon-results-caption {
    margin-top: 22px;
    color: rgba(69, 65, 88, 0.55);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

/* =========================================================
   NAVIGATION
========================================================= */

.lemon-results-nav {
    position: absolute;
    z-index: 5;
    top: calc(50% - 24px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(50, 45, 79, 0.08);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.92);
    color: #322d4f;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 8px 18px rgba(50, 45, 79, 0.08);
}

.lemon-results-nav--prev {
    left: 0;
}

.lemon-results-nav--next {
    right: 0;
}

.lemon-results-nav svg {
    display: block;
}

.lemon-results-nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* =========================================================
   PAGINATION
========================================================= */

.lemon-results-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.lemon-results-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;
    border-radius: 50%;
    background: #d8dde4;
    opacity: 1;
}

.lemon-results-pagination .swiper-pagination-bullet-active {
    background: #b8c0ca;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {
    .lemon-results-section {
        padding: 82px 0 94px;
    }

    .lemon-results-title h2 {
        font-size: 36px;
    }

    .lemon-results-slider-wrap {
        padding-left: 56px;
        padding-right: 56px;
    }

    .lemon-results-image {
        max-width: 700px;
    }

    .lemon-results-image img {
        height: 460px;
    }
}

@media (max-width: 991px) {
    .lemon-results-section {
        padding: 62px 0 72px;
    }

    .lemon-results-title {
        margin-bottom: 38px;
    }

    .lemon-results-title h2 {
        font-size: 30px;
    }

    .lemon-results-slider-wrap {
        padding: 0 42px 40px;
    }

    .lemon-results-image {
        max-width: 100%;
    }

    .lemon-results-image img {
        height: 420px;
    }
}

@media (max-width: 575px) {
    .lemon-results-section {
        padding: 46px 0 58px;
    }

    .lemon-results-title {
        margin: 0 0 28px;
        text-align: left;
    }

    .lemon-results-title h2 {
        font-size: 24px;
        line-height: 1.1;
    }

    .lemon-results-slider-wrap {
        padding: 0 34px 36px;
    }

    .lemon-results-image {
        border-radius: 8px;
    }

    .lemon-results-image img {
        height: 300px;
    }

    .lemon-results-caption {
        margin-top: 16px;
        font-size: 10px;
    }

    .lemon-results-nav {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 375px) {
    .lemon-results-image img {
        height: 260px;
    }
}

.text-block.text-block-lemon img {
    border-radius: 24px;
    max-height: 560px;
    width: 100%;
    object-fit: cover;
}





/* =========================================================
   LEMON REVIEWS SECTION
========================================================= */

.lemon-reviews-section,
.lemon-reviews-section * {
    box-sizing: border-box;
}

.lemon-reviews-section {
    width: 100%;
    margin: 0;
    padding: 96px 0 110px;
    background: #ffffff;
    color: #322d4f;
    overflow: hidden;
}

.lemon-reviews-title {
    max-width: 760px;
    margin: 0 auto 52px;
    text-align: center;
}

.lemon-reviews-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

/* =========================================================
   SLIDER — FULL CONTAINER WIDTH
========================================================= */

.lemon-reviews-slider-wrap {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 72px 48px;
}

.lemon-reviews-slider {
    width: 100%;
    overflow: hidden;
}

.lemon-reviews-slider .swiper-wrapper {
    align-items: stretch;
}

.lemon-reviews-slider .swiper-slide {
    height: auto;
}

.lemon-review-card {
    width: 100%;
    min-height: 215px;
    height: 100%;
    padding: 28px 32px 30px;
    border-radius: 24px;
    background: #f7f8fb;
    border: 1px solid rgba(50, 45, 79, 0.07);
}

.lemon-review-head {
    display: flex;
    align-items: center;
    margin: 0 0 24px;
}

.lemon-review-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    margin-right: 16px;
    border-radius: 50%;
    background: #e9e4ff;
    color: #322d4f;
    font-size: 17px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -0.03em;
}

.lemon-review-person h3 {
    margin: 0 0 12px;
    padding: 0;
    color: #322d4f;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.lemon-review-person span {
    display: block;
    color: rgba(69, 65, 88, 0.55);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.lemon-review-card p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 15px;
    line-height: 1.7;
    font-weight: 400;
    letter-spacing: -0.025em;
}

/* =========================================================
   NAVIGATION
========================================================= */

.lemon-reviews-nav {
    position: absolute;
    z-index: 5;
    top: calc(50% - 24px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(50, 45, 79, 0.08);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.92);
    color: #322d4f;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 8px 18px rgba(50, 45, 79, 0.08);
}

.lemon-reviews-nav--prev {
    left: 0;
}

.lemon-reviews-nav--next {
    right: 0;
}

.lemon-reviews-nav svg {
    display: block;
}

.lemon-reviews-nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* =========================================================
   PAGINATION
========================================================= */

.lemon-reviews-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.lemon-reviews-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;
    border-radius: 50%;
    background: #d8dde4;
    opacity: 1;
}

.lemon-reviews-pagination .swiper-pagination-bullet-active {
    background: #b8c0ca;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {
    .lemon-reviews-section {
        padding: 82px 0 94px;
    }

    .lemon-reviews-title h2 {
        font-size: 36px;
    }

    .lemon-reviews-slider-wrap {
        padding-left: 56px;
        padding-right: 56px;
    }

    .lemon-review-card {
        padding: 26px 28px 28px;
    }
}

@media (max-width: 991px) {
    .lemon-reviews-section {
        padding: 62px 0 72px;
    }

    .lemon-reviews-title {
        margin-bottom: 38px;
    }

    .lemon-reviews-title h2 {
        font-size: 30px;
    }

    .lemon-reviews-slider-wrap {
        padding: 0 42px 40px;
    }

    .lemon-review-card {
        min-height: 200px;
        padding: 24px;
        border-radius: 20px;
    }

    .lemon-review-card p {
        font-size: 14px;
        line-height: 1.6;
    }
}

@media (max-width: 575px) {
    .lemon-reviews-section {
        padding: 46px 0 58px;
    }

    .lemon-reviews-title {
        margin: 0 0 28px;
        text-align: left;
    }

    .lemon-reviews-title h2 {
        font-size: 24px;
        line-height: 1.1;
    }

    .lemon-reviews-slider-wrap {
        padding: 0 34px 36px;
    }

    .lemon-review-card {
        min-height: auto;
        padding: 22px 20px;
        border-radius: 18px;
    }

    .lemon-review-head {
        margin-bottom: 20px;
    }

    .lemon-review-avatar {
        width: 40px;
        height: 40px;
        min-width: 40px;
        margin-right: 14px;
        font-size: 15px;
    }

    .lemon-review-person h3 {
        margin-bottom: 8px;
        font-size: 13px;
    }

    .lemon-review-person span {
        font-size: 11px;
    }

    .lemon-review-card p {
        font-size: 13px;
        line-height: 1.58;
    }

    .lemon-reviews-nav {
        width: 30px;
        height: 30px;
    }
}








/* =========================================================
   LEMON TRAINING SECTION
========================================================= */

.lemon-training-section,
.lemon-training-section * {
    box-sizing: border-box;
}

.lemon-training-section {
    width: 100%;
    margin: 0;
    padding: 96px 0 110px;
    background: #ffffff;
    color: #322d4f;
    overflow: hidden;
}

.lemon-training-head {
    width: 100%;
    margin: 0 0 46px;
    text-align: center;
}

.lemon-training-head h2 {
    margin: 0 0 24px;
    padding: 0;
    color: #322d4f;
    font-size: 42px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

.lemon-training-head p {
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: -0.025em;
}

/* =========================================================
   LIST
========================================================= */

.lemon-training-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    max-width: none;
    margin: 0;
}

/* =========================================================
   CARD
========================================================= */

.lemon-training-card {
    width: 100%;
    padding: 16px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid rgba(50, 45, 79, 0.08);
    box-shadow: 0 14px 34px rgba(50, 45, 79, 0.045);
}

.lemon-training-card > .row {
    margin-left: -8px;
    margin-right: -8px;
}

.lemon-training-card > .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}

.lemon-training-image {
    width: 100%;
    height: 263px;
    overflow: hidden;
    border-radius: 22px;
    background: #f7f9fd;
}

.lemon-training-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================================================
   RIGHT CONTENT
========================================================= */

.lemon-training-content {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 32px;
    width: 100%;
    height: 100%;
    min-height: 263px;
    padding: 28px 24px 22px 0;
}

.lemon-training-text {
    flex: 1 1 auto;
    max-width: none;
    align-self: flex-start;
}

.lemon-training-text h3 {
    margin: 0 0 28px;
    padding: 0;
    color: #2f2b46;
    font-size: 26px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.045em;
}

.lemon-training-text p {
    max-width: 560px;
    margin: 0;
    padding: 0;
    color: #454158;
    font-size: 15px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.025em;
}

.lemon-training-button-wrap {
    flex: 0 0 auto;
    align-self: flex-end;
    margin-left: auto;
}

.lemon-training-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 245px;
    height: 62px;
    padding: 0 32px;
    border-radius: 999px;
    background: #333842;
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: -0.02em;
    transition: background 0.25s ease, transform 0.25s ease;
}

.lemon-training-btn:hover,
.lemon-training-btn:focus {
    color: #ffffff;
    text-decoration: none;
    background: #252932;
    transform: translateY(-2px);
}

/* =========================================================
   1200 - 1399
========================================================= */

@media (max-width: 1399px) {
    .lemon-training-section {
        padding: 86px 0 98px;
    }

    .lemon-training-head h2 {
        font-size: 38px;
    }

    .lemon-training-image {
        height: 240px;
    }

    .lemon-training-content {
        min-height: 240px;
        padding: 24px 20px 20px 0;
    }

    .lemon-training-text h3 {
        margin-bottom: 22px;
        font-size: 24px;
    }

    .lemon-training-btn {
        min-width: 225px;
    }
}

/* =========================================================
   992 - 1199
========================================================= */

@media (max-width: 1199px) {
    .lemon-training-section {
        padding: 76px 0 86px;
    }

    .lemon-training-head {
        margin-bottom: 38px;
    }

    .lemon-training-head h2 {
        font-size: 34px;
    }

    .lemon-training-card {
        padding: 14px;
        border-radius: 26px;
    }

    .lemon-training-image {
        height: 220px;
        border-radius: 20px;
    }

    .lemon-training-content {
        gap: 22px;
        min-height: 220px;
        padding: 20px 16px 18px 0;
    }

    .lemon-training-text h3 {
        margin-bottom: 18px;
        font-size: 22px;
    }

    .lemon-training-text p {
        font-size: 14px;
        line-height: 1.58;
    }

    .lemon-training-btn {
        min-width: 205px;
        height: 56px;
        padding: 0 24px;
        font-size: 13px;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
    .lemon-training-section {
        padding: 60px 0 70px;
    }

    .lemon-training-head {
        margin-bottom: 32px;
    }

    .lemon-training-head h2 {
        font-size: 30px;
    }

    .lemon-training-head p {
        font-size: 14px;
    }

    .lemon-training-image {
        height: 200px;
    }

    .lemon-training-content {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 22px;
        min-height: 200px;
        padding: 12px 0 4px 0;
    }

    .lemon-training-text {
        align-self: flex-start;
    }

    .lemon-training-text h3 {
        margin-bottom: 14px;
        font-size: 21px;
    }

    .lemon-training-text p {
        max-width: none;
    }

    .lemon-training-button-wrap {
        width: 100%;
        align-self: flex-start;
        margin-left: 0;
    }

    .lemon-training-btn {
        min-width: 200px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
    .lemon-training-section {
        padding: 46px 0 56px;
    }

    .lemon-training-head {
        text-align: left;
        margin: 0 0 28px;
    }

    .lemon-training-head h2 {
        margin-bottom: 18px;
        font-size: 26px;
    }

    .lemon-training-list {
        gap: 16px;
    }

    .lemon-training-card {
        padding: 12px;
        border-radius: 22px;
    }

    .lemon-training-card > .row {
        row-gap: 18px;
    }

    .lemon-training-image {
        height: 220px;
        border-radius: 18px;
    }

    .lemon-training-content {
        min-height: auto;
        padding: 0;
    }

    .lemon-training-text h3 {
        font-size: 22px;
    }

    .lemon-training-text p {
        font-size: 13px;
        line-height: 1.58;
    }

    .lemon-training-button-wrap {
        width: 100%;
    }

    .lemon-training-btn {
        width: 100%;
        min-width: 0;
        height: 52px;
    }
}

@media (max-width: 575px) {
    .lemon-training-head h2 {
        font-size: 24px;
    }

    .lemon-training-image {
        height: 190px;
    }
}











/* =========================================================
   CHRISTINA RESULTS SECTION
========================================================= */

.christina-results-section,
.christina-results-section * {
    box-sizing: border-box;
}

.christina-results-section {
    width: 100%;
    margin: 0;
    padding: 96px 0 110px;
    background: #ffffff;
    color: #322d4f;
    overflow: hidden;
}

.christina-results-title {
    width: 100%;
    margin: 0 0 62px;
}

.christina-results-title h2 {
    margin: 0;
    padding: 0;
    color: #322d4f;
    font-size: 46px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.055em;
}

/* =========================================================
   SLIDER — FULL CONTAINER WIDTH
========================================================= */

.christina-results-slider-wrap {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 72px 48px;
}

.christina-results-slider {
    width: 100%;
    overflow: hidden;
}

.christina-results-slide {
    width: 100%;
}

.christina-results-image {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 12px;
    background: #f7f9fd;
}

.christina-results-image img {
    display: block;
    width: 100%;
    height: 560px;
    object-fit: cover;
}

.christina-results-text {
    max-width: 960px;
    margin: 36px auto 0;
    color: rgba(69, 65, 88, 0.72);
    font-size: 14px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.025em;
}

/* =========================================================
   NAVIGATION
========================================================= */

.christina-results-nav {
    position: absolute;
    z-index: 5;
    top: calc(50% - 24px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(50, 45, 79, 0.08);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.92);
    color: #322d4f;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 8px 18px rgba(50, 45, 79, 0.08);
}

.christina-results-nav--prev {
    left: 0;
}

.christina-results-nav--next {
    right: 0;
}

.christina-results-nav svg {
    display: block;
}

.christina-results-nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* =========================================================
   PAGINATION
========================================================= */

.christina-results-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.christina-results-pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;
    border-radius: 50%;
    background: #d8dde4;
    opacity: 1;
}

.christina-results-pagination .swiper-pagination-bullet-active {
    background: #b8c0ca;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {
    .christina-results-section {
        padding: 82px 0 94px;
    }

    .christina-results-title {
        margin-bottom: 48px;
    }

    .christina-results-title h2 {
        font-size: 40px;
    }

    .christina-results-slider-wrap {
        padding-left: 56px;
        padding-right: 56px;
    }

    .christina-results-image {
        max-width: 900px;
    }

    .christina-results-image img {
        height: 500px;
    }

    .christina-results-text {
        max-width: 900px;
    }
}

@media (max-width: 991px) {
    .christina-results-section {
        padding: 62px 0 72px;
    }

    .christina-results-title {
        margin-bottom: 38px;
    }

    .christina-results-title h2 {
        font-size: 34px;
    }

    .christina-results-slider-wrap {
        padding: 0 42px 40px;
    }

    .christina-results-image {
        max-width: 100%;
    }

    .christina-results-image img {
        height: 420px;
    }

    .christina-results-text {
        max-width: 100%;
        margin-top: 28px;
        font-size: 13px;
    }
}

@media (max-width: 575px) {
    .christina-results-section {
        padding: 46px 0 58px;
    }

    .christina-results-title {
        margin-bottom: 28px;
    }

    .christina-results-title h2 {
        font-size: 28px;
        line-height: 1.1;
    }

    .christina-results-slider-wrap {
        padding: 0 34px 36px;
    }

    .christina-results-image {
        border-radius: 10px;
    }

    .christina-results-image img {
        height: 300px;
    }

    .christina-results-text {
        margin-top: 20px;
        font-size: 12px;
        line-height: 1.55;
    }

    .christina-results-nav {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 375px) {
    .christina-results-image img {
        height: 260px;
    }
}

@media (max-width: 900px){
     .partnership-about-section h2{
        font-size: 36px;
    }
    .partnership-about-section .partnership-about-image img{
        margin-bottom: 24px;
    }
    .partnership-about-section .partnership-about-text p{
        font-size: 16px !important;
    }
    .contact-page-form{
        padding: 0px 0 40px;
    }
    .contact-page-form .text-block h3{
        font-size: 36px;
    }
    .contact-page-form .text-block p{
        padding-right: 0;
    }
    .contact-page-form .text-block img{
        margin-bottom: 24px;
    }
    .partnership-about-section{
        padding: 60px 0;
    }
    .aptos-hero-content {
        padding-top: 160px;
    }

}


/* Desktop */
.aptos-problems-section .aptos-problems-row {
    display: flex;
    flex-wrap: wrap;
}

.aptos-problems-section .aptos-problem-item {
    margin-bottom: 24px;
}

/* Mobile carousel */
@media (max-width: 767px) {
    .aptos-problems-section .aptos-problems-row {
        display: block;
    }

    .aptos-problems-section .aptos-problem-item {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 0;
    }

    .aptos-problems-section .aptos-problem-card {
        margin: 0 8px;
    }

    .aptos-problems-section .owl-nav {
        display: flex;
        justify-content: center;
        gap: 14px;
        margin-top: 18px;
    }

    .aptos-problems-section .owl-nav button {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: #000 !important;
        color: #fff !important;
        font-size: 28px !important;
        line-height: 1 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .aptos-problems-section .owl-dots {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 14px;
    }

    .aptos-problems-section .owl-dot span {
        width: 8px;
        height: 8px;
        display: block;
        border-radius: 50%;
        background: #ccc;
    }

    .aptos-problems-section .owl-dot.active span {
        background: #000;
    }
    section.aptos-problems-section{
        padding: 40px 0 16px;
    }

}







.brand-hero {
    width: 100%;
    min-height: 440px;
    background:
        linear-gradient(90deg, rgba(28, 28, 35, .62), rgba(28, 28, 35, .22)),
        url('/wp-content/uploads/brand-hero.jpg') center center / cover no-repeat;
    border-radius: 0 0 46px 46px;
    overflow: hidden;
}

.brand-hero-content {
    padding-top: 180px;
    padding-bottom: 50px;
    color: #fff;
}

.brand-hero-content h1 {
    margin: 0 0 18px;
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.5px;
    color: #fff;
}

.brand-hero-content p {
    margin: 0 0 36px;
    font-size: 28px;
    line-height: 1.5;
    font-style: italic;
    font-weight: 500;
    color: #fff;
}

.brand-hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    height: 58px;
    padding: 0 38px;
    border-radius: 999px;
    background: #fff;
    color: #2d2940;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.brand-hero-btn:hover {
    color: #2d2940;
    text-decoration: none;
}

.brand-hero-btn span {
    font-size: 22px;
    line-height: 1;
}

@media (max-width: 991px) {
    .brand-hero {
        min-height: 390px;
    }

    .brand-hero-content {
        padding-top: 100px;
    }

    .brand-hero-content h1 {
        font-size: 38px;
    }

    .brand-hero-content p {
        font-size: 20px;
    }
}








.brand-about {
    width: 100%;
    background: #fff;
    padding: 82px 0 70px;
}

.brand-about-content {
    padding-left: 0;
}

.brand-about-content h2 {
    margin: 0 0 42px;
    color: #3B315B;
    font-size: 56px;
    font-weight: 700;
    letter-spacing: -0.5%;
}

.brand-about-content p {
    margin: 0 0 28px;
    color: #282834;
    font-size: 20px;
    line-height: 1.85;
    font-weight: 400;
}



.brand-stats-item {
    text-align: center;
}

.brand-stats-number {
    color: #3B315B;
    font-size: 72px;
    line-height: 105%;
    font-weight: 700;
    letter-spacing: -1%;
}

.brand-stats-label {
    margin-top: 14px;
    color: #40315f;
    font-size: 16px;
    line-height: 130%;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 5%;
}

@media (max-width: 991px) {
    .brand-about {
        padding: 60px 0;
    }

    .brand-about-content h2 {
        font-size: 34px;
    }

    .brand-stats {
        grid-template-columns: repeat(2, 1fr);
        padding: 32px 24px;
    }

    .brand-stats-number {
        font-size: 36px;
    }
}

@media (max-width: 575px) {
    .brand-about {
        padding: 45px 0;
    }

    .brand-about-content h2 {
        margin-bottom: 28px;
        font-size: 30px;
    }

    .brand-about-content p {
        font-size: 14px;
        line-height: 1.7;
    }

    .brand-stats {
        grid-template-columns: 1fr;
        gap: 28px;
        border-radius: 22px;
    }
}



.brand-stats {
    position: relative;
    overflow: hidden;
    margin-top: 48px;
    width: 100%;
    min-height: 297px;
    padding: 72px 42px;
    border-radius: 56px;
    border: 1px solid #E9ECEF;
    background: #fff;
    box-shadow: 0 16px 40px rgba(89, 73, 136, 0.10);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    gap: 24px;
}

.brand-stats::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        115deg,
        transparent 0%,
        transparent 38%,
        rgba(206, 212, 218, 0.20) 38%,
        rgba(255, 255, 255, 0.95) 52%,
        rgba(206, 212, 218, 0.35) 68%,
        rgba(206, 212, 218, 0.18) 100%
    );
    opacity: 0.6;
    pointer-events: none;
}

.brand-stats::after {
    display: none;
}

.brand-stats-item {
    position: relative;
    z-index: 2;
    text-align: center;
}

.brand-stats-number {
    color: #3B315B;
    font-size: 72px;
    line-height: 105%;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.brand-stats-label {
    margin-top: 14px;
    color: #3B315B;
    font-size: 16px;
    line-height: 130%;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}












.brand-products {
    width: 100%;
    background: #fff;
    padding: 78px 0 86px;
}

.brand-products-title {
    margin: 0 0 34px;
    color: #3B315B;
    font-size: 56px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -0.005em;
}

.brand-products-tabs {
    display: flex;
    align-items: center;
    margin-bottom: 36px;
    border-bottom: 1px solid #E9ECEF;
    overflow-x: auto;
    scrollbar-width: none;
}

.brand-products-tabs::-webkit-scrollbar {
    display: none;
}

.brand-products-tab {
    width: auto;
    flex: none;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #8C8C92;
    font-size: 28px;
    line-height: 125%;
    font-weight: 600;
    text-align: center;
    padding: 8px 24px;
    cursor: pointer;
    border-radius: 0;
}

.brand-products-tab.active {
    color: #343A40;
    border-bottom-color: #343A40;
}

.brand-products-pane {
    display: none;
}

.brand-products-pane.active {
    display: block;
}

.brand-products-text {
    margin-bottom: 58px;
}

.brand-products-text p {
    margin: 0 0 8px;
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.brand-products-subtitle {
    margin: 34px 0 16px;
    color: #343A40;
    font-size: 18px;
    line-height: 140%;
    font-weight: 700;
    text-transform: uppercase;
}

.brand-products-text ul {
    margin: 0;
    padding-left: 22px;
}

.brand-products-text li {
    color: #343A40;
    font-size: 18px;
    line-height: 165%;
    font-weight: 400;
}

.brand-products-slider-wrap {
    position: relative;
}

.brand-products-slider {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 2px 0 12px;
}

.brand-products-slider::-webkit-scrollbar {
    display: none;
}

.brand-product-card {
    flex: 0 0 calc((100% - 48px) / 3);
    background: #fff;
    border: 1px solid #E9ECEF;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(35, 31, 50, 0.08);
}

.brand-product-img {
    padding: 12px 12px 0;
}

.brand-product-img img {
    width: 100%;
    height: auto;
    min-height: 390px;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
}

.brand-product-info {
    padding: 18px 18px 22px;
}

.brand-product-info h3 {
    margin: 0 0 12px;
    color: #343A40;
    font-size: 22px;
    line-height: 125%;
    font-weight: 700;
}

.brand-product-info p {
    margin: 0 0 18px;
    color: #343A40;
    font-size: 16px;
    line-height: 150%;
    font-weight: 400;
}

.brand-product-info span {
    display: block;
    color: #343A40;
    font-size: 15px;
    line-height: 150%;
    font-weight: 400;
}

.brand-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #E9ECEF;
    border-radius: 10px;
    background: #fff;
    color: #343A40;
    font-size: 28px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    box-shadow: 0 8px 20px rgba(35, 31, 50, 0.10);
    cursor: pointer;
}

.brand-slider-prev {
    left: -24px;
}

.brand-slider-next {
    right: -24px;
}

@media (max-width: 991px) {
    .brand-products {
        padding: 60px 0;
    }

    .brand-products-title {
        font-size: 40px;
    }

    .brand-products-tab {
        width: 220px;
        flex-basis: 220px;
        font-size: 22px;
    }

    .brand-products-text p,
    .brand-products-text li {
        font-size: 16px;
    }

    .brand-product-card {
        flex: 0 0 300px;
    }

    .brand-product-img img {
        height: 230px;
    }
}

@media (max-width: 575px) {
    .brand-products-title {
        font-size: 32px;
    }

    .brand-products-tab {
        width: 190px;
        flex-basis: 190px;
        font-size: 18px;
    }

    .brand-products-text p,
    .brand-products-text li {
        font-size: 15px;
    }

    .brand-products-subtitle {
        font-size: 15px;
    }

    .brand-slider-arrow {
        display: none;
    }

    .brand-product-card {
        flex: 0 0 270px;
    }
}










.cosmetologist-benefits {
    width: 100%;
    background: #F8F9FA;
    padding: 92px 0 88px;
}

.cosmetologist-benefits-title {
    margin: 0 0 40px;
    color: #3B315B;
    font-size: 56px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -0.005em;
    text-align: center;
}

.cosmetologist-benefits-row {
    row-gap: 18px;
}

.cosmetologist-benefit-item {
    min-height: 72px;
    padding: 14px 20px;
    border-radius: 999px;
    background: #FFFFFF;
    border: 1px solid #EEF1F4;
    box-shadow: 0 6px 18px rgba(35, 31, 50, 0.04);

    display: flex;
    align-items: center;
    gap: 14px;
}

.cosmetologist-benefit-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 10px;
    background: #EEF1F4;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cosmetologist-benefit-icon img {
    width: 40px;
    height: 40px;
    display: block;
    object-fit: contain;
}

.cosmetologist-benefit-text {
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
    letter-spacing: 0;
}

@media (max-width: 991px) {

    .cosmetologist-benefits {
        padding: 70px 0;
    }

    .cosmetologist-benefits-title {
        font-size: 40px;
    }

    .cosmetologist-benefit-text {
        font-size: 16px;
    }

}

@media (max-width: 575px) {

    .cosmetologist-benefits {
        padding: 55px 0;
    }

    .cosmetologist-benefits-title {
        margin-bottom: 28px;
        font-size: 32px;
    }

    .cosmetologist-benefit-item {
        min-height: auto;
        padding: 14px 16px;
        border-radius: 22px;
    }

    .cosmetologist-benefit-text {
        font-size: 14px;
        line-height: 160%;
    }

}








.apparatus-methods {
    width: 100%;
    background: #fff;
    padding: 64px 0 90px;
}

.apparatus-tabs {
    width: 100%;
    min-height: 72px;
    margin-bottom: 84px;
    padding: 8px;
    border-radius: 999px;
    background: #F1F2F4;
    display: flex;
    align-items: center;
}

.apparatus-tab {
    width: 50%;
    /*height: 56px;*/
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #8C8C92;
    font-size: 28px;
    line-height: 125%;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: 0.25s ease;
}

.apparatus-tab.active {
    background: #B4E0D9;
    color: #343A40;
}

.apparatus-pane {
    display: none;
}

.apparatus-pane.active {
    display: block;
}

.apparatus-brand-row {
    margin-bottom: 108px;
}

.apparatus-brand-title {
    margin: 0;
    color: #3B315B;
    font-size: 56px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -0.005em;
}

.apparatus-brand-text p {
    margin: 0 0 22px;
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.apparatus-brand-subtitle {
    margin: 46px 0 18px;
    color: #343A40;
    font-size: 18px;
    line-height: 140%;
    font-weight: 700;
    text-transform: uppercase;
}

.apparatus-brand-text ul {
    margin: 0;
    padding-left: 22px;
}

.apparatus-brand-text li {
    margin-bottom: 12px;
    color: #343A40;
    font-size: 20px;
    line-height: 160%;
    font-weight: 400;
}

.apparatus-section-title {
    margin: 0 0 58px;
    color: #3B315B;
    font-size: 56px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -0.005em;
    text-align: center;
}

.apparatus-cards {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.apparatus-card {
    width: 100%;
    padding: 16px;
    border-radius: 40px;
    border: 1px solid #E9ECEF;
    background: #FFFFFF;
    box-shadow: 0 16px 40px rgba(89, 73, 136, 0.10);
}

.apparatus-card-image {
    width: 100%;
    height: 100%;
    border-radius: 28px;
    overflow: hidden;
    object-fit: cover;
    background: #F4F5F7;
}

.apparatus-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.apparatus-card-content {
    min-height: 360px;
    position: relative;
    padding: 10px 16px 78px 0;
}

.apparatus-card-content h3 {
    margin: 0 0 24px;
    color: #343A40;
    font-size: 32px;
    line-height: 125%;
    font-weight: 600;
}

.apparatus-card-meta {
    margin-bottom: 28px;
    color: #343A40;
    font-size: 16px;
    line-height: 150%;
    font-weight: 500;
    text-transform: uppercase;
}

.apparatus-card-strong {
    margin: 0 0 20px;
    color: #343A40;
    font-size: 18px;
    line-height: 155%;
    font-weight: 700;
}

.apparatus-card-content p {
    margin: 0 0 18px;
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.apparatus-card-hidden {
    display: none;
    margin-top: 34px;
}

.apparatus-card.open .apparatus-card-hidden {
    display: block;
}

.apparatus-info-box {
    height: 100%;
    padding: 28px 30px;
    border-radius: 24px;
    background: #F4F5F7;
}

.apparatus-info-box h4 {
    margin: 0 0 16px;
    color: #343A40;
    font-size: 18px;
    line-height: 140%;
    font-weight: 700;
}

.apparatus-info-box ul {
    margin: 0;
    padding-left: 22px;
}

.apparatus-info-box li {
    margin-bottom: 8px;
    color: #343A40;
    font-size: 20px;
    line-height: 155%;
    font-weight: 400;
}



.bloomea-benefits {
    margin-top: 96px;
    padding: 92px 0 88px;
    background: #F4FAFB;
}

.bloomea-benefits-title {
    margin: 0 0 52px;
    color: #3B315B;
    font-size: 56px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -0.005em;
    text-align: center;
}
.apparatus-card {
    position: relative;
    padding: 16px;
    padding-bottom: 86px;
}

.apparatus-card-content {
    min-height: 360px;
    padding: 10px 16px 0 0;
}

.apparatus-card-hidden {
    display: none;
    margin-top: 24px;
}

.apparatus-card.open .apparatus-card-hidden {
    display: block;
}

.apparatus-card-toggle {
    position: absolute;
    right: 16px;
    bottom: 16px;
}

.bloomea-benefits-row {
    row-gap: 24px;
}

.bloomea-benefit-item {
    min-height: 72px;
    padding: 14px 20px;
    border-radius: 999px;
    background: #FFFFFF;
    border: 1px solid #EEF1F4;
    box-shadow: 0 6px 18px rgba(35, 31, 50, 0.04);
    display: flex;
    align-items: center;
    gap: 18px;
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.bloomea-benefit-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 8px;
    background: #B4E0D9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bloomea-benefit-icon img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: block;
}

@media (max-width: 991px) {
    .apparatus-methods {
        padding: 48px 0 70px;
    }

    .apparatus-tabs {
        min-height: 56px;
        margin-bottom: 56px;
        padding: 6px;
    }

    .apparatus-tab {
        height: 44px;
        font-size: 18px;
    }

    .apparatus-brand-row {
        margin-bottom: 70px;
    }

    .apparatus-brand-title {
        margin-bottom: 28px;
        font-size: 38px;
    }

    .apparatus-brand-text p,
    .apparatus-brand-text li {
        font-size: 16px;
    }

    .apparatus-section-title {
        margin-bottom: 38px;
        font-size: 38px;
    }

    .apparatus-card {
        border-radius: 28px;
    }

    .apparatus-card-image {
        height: 360px;
        margin-bottom: 24px;
    }

    .apparatus-card-content {
        min-height: auto;
        padding: 0 0 74px;
    }

    .apparatus-card-content h3 {
        font-size: 26px;
    }

    .apparatus-card-content p {
        font-size: 16px;
    }

    .apparatus-card-toggle {
        right: 0;
        width: 100%;
    }

    .bloomea-benefits {
        margin-top: 70px;
        padding: 70px 0;
    }

    .bloomea-benefits-title {
        font-size: 38px;
    }

    .bloomea-benefit-item {
        font-size: 16px;
    }
}

@media (max-width: 575px) {
    .apparatus-brand-title,
    .apparatus-section-title,
    .bloomea-benefits-title {
        font-size: 32px;
    }

    .apparatus-card-image {
        height: 300px;
    }

    .apparatus-card-content h3 {
        font-size: 24px;
    }

    .apparatus-info-box {
        padding: 22px 20px;
        margin-bottom: 14px;
    }

    .apparatus-info-box li {
        font-size: 15px;
    }

    .bloomea-benefit-item {
        min-height: auto;
        border-radius: 22px;
        font-size: 15px;
        line-height: 150%;
    }
}

.bloomea-benefits-section {
    position: relative;
    padding: 92px 0 88px;
    z-index: 1;
}

.bloomea-benefits-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: #F4FAFB;
    z-index: -1;
}



.apparatus-card-toggle {
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 260px;
    height: 56px;
    border: 1px solid #343A40;
    border-radius: 999px;
    background: #FFFFFF;
    color: #343A40;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    cursor: pointer;
}

.toggle-close {
    display: none;
}

.apparatus-card.open .toggle-open {
    display: none;
}

.apparatus-card.open .toggle-close {
    display: inline;
}

.toggle-arrow {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex: 0 0 14px;
}

.toggle-arrow img {
    position: absolute;
    width: 14px;
    height: 14px;
    display: block;
    object-fit: contain;
}

.toggle-arrow-up {
    opacity: 0;
    visibility: hidden;
}

.toggle-arrow-down {
    opacity: 1;
    visibility: visible;
}

.apparatus-card.open .toggle-arrow-down {
    opacity: 0;
    visibility: hidden;
}

.apparatus-card.open .toggle-arrow-up {
    opacity: 1;
    visibility: visible;
}
.apparatus-card-hidden .row {
    row-gap: 24px;
}
.christina-training-title {
    font-size: 56px;
    color:#3B315B;
}
.christina-training-short-desc {
    text-align: center;
    font-size: 20px;
    margin-bottom: 48px;
}
h2.christina-training-title.skintech {
    margin-bottom: 15px;
}
.christina-training-card-text ul {
    margin: 0px;
}
.christina-training-card-text ul li {
    font-size: 20px;
}
.christina-training-card-content h3 {
    font-size: 28px;
    font-weight: 600;
}










.about-hero {
    width: 100%;
    min-height: 340px;
    padding: 200px 0 70px;
    border-radius: 0 0 64px 64px;
    background: linear-gradient(120deg, #E2E0F4 0%, #FCEFEC 100%);
}

.about-hero h1 {
    margin: 0;
    color: #343A40;
    font-size: 72px;
    line-height: 105%;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.about-company {
    width: 100%;
    background: #fff;
    padding: 96px 0 90px;
}

.about-company-row {
    margin-bottom: 64px;
}

.about-company-img {
    width: 100%;
    height: 374px;
    border-radius: 28px;
    overflow: hidden;
}

.about-company-img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.about-company-text p {
    margin: 0 0 28px;
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.about-stats {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 200px;
    padding: 48px 56px;
    border-radius: 32px;
    border: 1px solid #E9ECEF;
    background: #fff;
    box-shadow: 0 16px 40px rgba(89, 73, 136, 0.10);

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    gap: 24px;
}

.about-stats::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        115deg,
        transparent 0%,
        transparent 38%,
        rgba(226, 224, 244, 0.28) 38%,
        rgba(255, 255, 255, 0.95) 52%,
        rgba(226, 224, 244, 0.55) 72%,
        rgba(252, 239, 236, 0.35) 100%
    );
    pointer-events: none;
}

.about-stat-item {
    position: relative;
    z-index: 2;
}

.about-stat-number {
    margin-bottom: 12px;
    color: #3B315B;
    font-size: 72px;
    line-height: 105%;
    font-weight: 700;
    letter-spacing: -0.01em;
}



@media (max-width: 991px) {
    .about-hero {
        min-height: 190px;
        padding: 92px 0 36px;
        border-radius: 0 0 32px 32px;
    }

    .about-hero h1 {
        font-size: 40px;
    }

    .about-company {
        padding: 48px 0 60px;
    }

    .about-company-img {
        height: 260px;
        margin-bottom: 28px;
        border-radius: 20px;
    }

    .about-company-text p {
        font-size: 16px;
        line-height: 165%;
    }

    .about-stats {
        grid-template-columns: 1fr;
        padding: 38px 24px;
        text-align: center;
    }

    .about-stat-number {
        font-size: 42px;
    }

    .about-stat-label {
        font-size: 12px;
    }
}











/*.about-mission {
    position: relative;
    width: 100%;
    padding: 130px 0 120px;
    overflow: hidden;
}

.about-mission::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(249, 248, 253, 1) 0%, rgba(253, 247, 250, 1) 58%, rgba(255, 252, 251, 1) 100%);
    z-index: 0;
}

.about-mission::after {
    content: "";
    position: absolute;
    left: -8%;
    bottom: -35%;
    width: 62%;
    height: 95%;
    background:
        radial-gradient(circle at 35% 60%, rgba(226, 224, 244, 0.55), transparent 58%);
    z-index: 0;
    pointer-events: none;
}*/

.about-mission .container {
    position: relative;
    z-index: 2;
}

.about-mission-box {
    width: 100%;
}

.about-mission-box h2 {
    margin: 0 0 52px;
    color: #3B315B;
    font-size: 56px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -0.005em;
    text-align: center;
}

.about-mission-lead {
    margin: 0 0 42px;
    color: #343A40;
    font-size: 28px;
    line-height: 125%;
    font-weight: 600;
}

.about-mission-box p {
    margin: 0;
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.about-mission-box strong {
    font-weight: 700;
}

@media (max-width: 991px) {
    .about-mission {
        padding: 70px 0;
    }

    .about-mission-box h2 {
        margin-bottom: 32px;
        font-size: 38px;
        text-align: left;
    }

    .about-mission-lead {
        margin-bottom: 28px;
        font-size: 20px;
        line-height: 135%;
    }

    .about-mission-box p {
        font-size: 16px;
        line-height: 165%;
    }
}

@media (max-width: 575px) {
    .about-mission {
        padding: 55px 0;
    }

    .about-mission-box h2 {
        font-size: 32px;
    }

    .about-mission-lead {
        font-size: 18px;
    }
}


.about-mission {
    position: relative;
    padding: 130px 0 120px;
    z-index: 1;
}

.about-mission::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 100%;
    transform: translateX(-50%);
    background:
        radial-gradient(circle at 15% 45%, rgba(226, 224, 244, 0.55) 0%, transparent 34%),
        radial-gradient(circle at 85% 20%, rgba(252, 239, 236, 0.75) 0%, transparent 38%),
        linear-gradient(120deg, #F9F8FD 0%, #FDF7FA 55%, #FFFCFB 100%);
    border-radius: 64px 64px 0 0;
    z-index: -1;
}

.about-stats {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 56px 58px;
}

.about-stat-item {
    display: flex;
    flex-direction: column;
}

/* индивидуальные смещения как в макете */
.about-stat-item:nth-child(1) {
    margin-top: 0;
}

.about-stat-item:nth-child(2) {
    margin-top: 38px;
}

.about-stat-item:nth-child(3) {
    margin-top: 0;
}

.about-stat-item:nth-child(4) {
    margin-top: 24px;
}

.about-stat-number {
    margin-bottom: 12px;
    font-size: 72px;
    line-height: 0.95;
    font-weight: 700;
    color: #3B315B;
}

.about-stat-label {
    font-size: 16px;
    line-height: 130%;
    font-weight: 500;
    color: #343A40;
    text-transform: uppercase;
}
.about-stat-item {
    max-width: 240px;
}
.christina-about-stats {
    position: relative;
}

.christina-about-stats .stats-row {
    align-items: flex-start;
}

.christina-about-stats .stat-item {
    text-align: left;
}

.christina-about-stats .stat-number {
    color: #3B315B;
    font-size: 72px;
    line-height: 105%;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.christina-about-stats .stat-text {
    color: #343A40;
    font-size: 16px;
    line-height: 130%;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.christina-about-stats {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 48px 56px;
    border-radius: 32px;
    border: 1px solid #E9ECEF;
    background: #fff;
    box-shadow: 0 16px 40px rgba(89, 73, 136, 0.10);
}

.christina-about-stats::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        115deg,
        transparent 0%,
        transparent 38%,
        rgba(226, 224, 244, 0.28) 38%,
        rgba(255, 255, 255, 0.95) 52%,
        rgba(226, 224, 244, 0.55) 72%,
        rgba(252, 239, 236, 0.35) 100%
    );
    pointer-events: none;
}

.christina-about-stats .stats-row {
    position: relative;
    z-index: 2;
}















.about-guarantee {
    width: 100%;
    background: #fff;
    padding: 110px 0 0;
}

.about-guarantee-title {
    margin: 0 0 58px;
    color: #3B315B;
    font-size: 56px;
    line-height: 110%;
    font-weight: 700;
    letter-spacing: -0.005em;
    text-align: center;
}

.about-guarantee-row {
    row-gap: 24px;
}

.about-guarantee-card {
    min-height: 124px;
    padding: 28px 30px;
    border-radius: 24px;
}

.about-guarantee-icon {
    width: 34px;
    height: 34px;
    margin-bottom: 18px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-guarantee-icon img {
    width: 20px;
    height: 20px;
    display: block;
    object-fit: contain;
}

.about-guarantee-text {
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.card-purple {
    background: #F4F0FF;
}

.card-purple .about-guarantee-icon {
    background: #A995E8;
}

.card-green {
    background: #EFFFFB;
}

.card-green .about-guarantee-icon {
    background: #69C7BE;
}

.card-orange {
    background: #FFF6F1;
}

.card-orange .about-guarantee-icon {
    background: #F6A08F;
}

.card-pink {
    background: #FFF0F7;
}

.card-pink .about-guarantee-icon {
    background: #DE7DAE;
}

.card-blue {
    background: #F0FAFF;
}

.card-blue .about-guarantee-icon {
    background: #78C9ED;
}


















.about-cta .container {
    position: relative;
    z-index: 2;
}

.about-cta-content p {
    margin: 0 0 52px;
    color: #343A40;
    font-size: 20px;
    line-height: 170%;
    font-weight: 400;
}

.about-cta-content h3 {
    margin: 0 0 34px;
    color: #3B315B;
    font-size: 28px;
    line-height: 125%;
    font-weight: 700;
}

.about-cta-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
}

.about-cta-btn {
    width: 220px;
    height: 56px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    text-decoration: none;
}

.about-cta-btn-light {
    border: 1px solid #343A40;
    color: #343A40;
    background: #fff;
}

.about-cta-btn-dark {
    border: 1px solid #343A40;
    color: #fff;
    background: #343A40;
}

@media (max-width: 991px) {
    .about-guarantee {
        padding: 70px 0 0;
    }

    .about-guarantee-title {
        margin-bottom: 36px;
        font-size: 38px;
    }

    .about-guarantee-card {
        min-height: auto;
        padding: 22px;
    }

    .about-guarantee-text {
        font-size: 16px;
    }

    .about-cta {
        padding: 80px 0 70px;
    }

    .about-cta-content p {
        margin-bottom: 34px;
        font-size: 16px;
    }

    .about-cta-content h3 {
        font-size: 22px;
    }

    .about-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .about-cta-btn {
        width: 100%;
    }
}






.about-cta {
    position: relative;
    overflow: visible;
    padding: 130px 0 95px;
    background: #fff;
}


.about-cta::before {
    content: "";
    position: absolute;
    left: 0;
    right: auto;
    bottom: 0;
    width: 100%;
    height: 680px;
    background: url(/wp-content/themes/topcosmetics/img/about-cta-wave-7.png) no-repeat right bottom;
    background-size: 60% auto;
    z-index: 1;
    pointer-events: none;
}

.about-cta::after {
    content: "";
    position: absolute;
    left: 0;
    right: auto;
    bottom: 0;
    width: 100%;
    height: 620px;
    background: url(/wp-content/themes/topcosmetics/img/about-cta-wave-6.png) no-repeat right bottom;
    background-size: 60% auto;
    z-index: 2;
    pointer-events: none;
}

.about-cta .container {
    position: relative;
    z-index: 5;
}

.brand-stats-item:nth-child(1) {
    margin-bottom: 40px;
}

.brand-stats-item:nth-child(2) {
    margin-top: 40px;
}

.brand-stats-item:nth-child(3) {
    margin-bottom: 40px;
}

.brand-stats-item:nth-child(4) {
    margin-top: 40px;
}
section.bloomea-benefits-section {
    margin-top: 82px;
}
.christina-training-section .christina-training-card-image {
    max-height: 260px;
}
