:root {
    --shadow-soft: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
}в

*,
*::before,
*::after {
    box-sizing: border-box;
}
img,
video,
iframe {
    max-width: 100%;
    height: auto;
}
body,
h1,
h2,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}
h3 {
    margin-bottom: 1.5rem;
    font-size: 1.625rem;
    color: #422a9b;
    font-weight: 600;
    line-height: 1.1;
    font-family: "Raleway" !important;
}
ul[role="list"],
ol[role="list"] {
    list-style: none;
}
html:focus-within {
    scroll-behavior: smooth;
}
body {
    min-height: 100dvh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}
a:not([class]) {
    text-decoration-skip-ink: auto;
}
img,
picture {
    max-width: 100%;
    display: block;
}
input,
button,
textarea,
select {
    font: inherit;
}
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    box-shadow: none;
    outline: none;
    outline-offset: 0;
}
img {
    display: block;
    position: relative;
}
img:before {
    content: "Упс, изображение ниже поломалось :(";
    display: block;
    margin-bottom: 10px;
}
img:after {
    content: "(url: " attr(src) ")";
    display: block;
    font-size: 12px;
}
video[autoplay]:not([muted]) {
    display: none;
}
input[type="text"],
input[type="number"],
select,
textarea {
    font-size: 16px;
}
button:disabled {
    opacity: 0.5;
    pointer-events: none;
}
br + br {
    display: none;
}
ul,
ol {
    margin-left: 12px;
    list-style-type: disc;
    color: rgba(42, 36, 68, 0.8);
}
ul li,
ol li {
    line-height: 1.2;
    margin-bottom: 9px;
}
ul li:last-child,
ol li:last-child {
    margin-bottom: 0;
}
ul li::marker,
ol li::marker {
    color: #0094D2;
}
@font-face {
    font-family: "Raleway";
    src: url(../fonts/Raleway.woff2) format("woff2");
    font-display: swap;
}
html {
    background: radial-gradient(62.29% 62.29% at 50% 37.71%, #f4f3f8 0%, #f3effa 50%, #f0ebf8 100%);
    scroll-behavior: smooth;
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
}
body {
    background-image: url(../images/home-bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: "Raleway", sans-serif;
    font-weight: 400;
    line-height: 1.4;
    color: rgba(42, 36, 68, 0.9);
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
}
body.no-scroll {
    overflow: hidden;
}
.body > .content {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100dvh;
    height: 100%;
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
    position: relative;
}
@media only screen and (min-width: 768px) {
    .body > .content.not-home .header {
        margin-bottom: 3.875rem;
    }
}
.body > .content.not-home .main {
    display: flex;
    flex-direction: column;
    gap: 3.75rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.not-home .main {
        gap: 5.625rem;
    }
}
@media only screen and (min-width: 768px) {
    .body > .content.not-home .types {
        margin-top: 0;
    }
}
.body > .content.not-home .section--faq {
    padding: 0;
}
@media only screen and (min-width: 768px) {
    .body > .content.not-home .section--faq {
        padding: 0;
    }
}
.body > .content.service .header {
    margin-bottom: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.service .header {
        margin-bottom: 2rem;
    }
}
.body > .content.service .main {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.service .main {
        gap: 3.75rem;
    }
}
.body > .content.service .main > .section:last-child {
    padding-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.service .main > .section:last-child {
        padding-bottom: 3.75rem;
    }
}
.body > .content.service .main > .section.section--how-we-clean {
    padding: 0;
}
.body > .content.reviews .section--order-hero .button {
    display: none;
}
.body > .content.reviews .section--order-hero .container p {
    display: block;
    margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.reviews .section--reviews > .container > .section--reviews {
        display: none;
    }
}
.body > .content.reviews .section--reviews > .container > .swiper-reviews {
    display: none;
}
@media only screen and (min-width: 768px) {
    .body > .content.reviews .section--reviews > .container > .swiper-reviews {
        display: grid;
    }
}
@media only screen and (min-width: 768px) {
    .body > .content.all-service .section--order-hero .container h1 {
        font-size: 3.375rem;
    }
}
.body > .content.all-service .section--order-hero .button {
    display: none;
}
.body > .content.all-service .services,
.body > .content.all-service .premium {
    padding: 0;
}
.body > .content.faq .main {
    gap: 0;
}
.body > .content.faq .section--order-hero {
    padding-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.faq .section--order-hero {
        padding-bottom: 5.625rem;
    }
}
.body > .content.faq .section--order-hero h1 {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width: 768px) {
    .body > .content.faq .section--order-hero h1 {
        max-width: 21rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px) {
    .body > .content.faq .section--order-hero h1 {
        font-size: 3.375rem;
    }
}
.body > .content.faq .section--order-hero .button {
    display: none;
}
.body > .content.faq .section--faq {
    padding-bottom: 6.625rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.faq .section--faq {
        padding-bottom: 5.625rem;
    }
}
.body > .content.faq .section--faq .container > h2,
.body > .content.faq .section--faq .container > .button {
    display: none;
}
.body > .content.faq .section--address__form .form-item {
    width: 100%;
}
.body > .content.faq .section--address__form .button {
    margin: 1.25rem auto 0;
}
.body > .content.blog-page .section--order-hero h1 {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width: 768px) {
    .body > .content.blog-page .section--order-hero h1 {
        font-size: 3.375rem;
    }
}
.body > .content.blog-page .section--order-hero .button {
    display: none;
}
.body > .content.blog-page .section--blog {
    padding: 0;
}
.body > .content.blog-page .section--blog .container > .button {
    margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.blog-page .section--blog .container > .button {
        margin-top: 1.25rem;
    }
}
.body > .content.article .hero--services .wrapper picture {
    top: 0;
    left: 0;
    width: 100%;
}
.body > .content.article .section--blog {
    padding: 0;
}
.body > .content.cleaners .main {
    gap: 0;
}
.body > .content.cleaners .header {
    padding-bottom: 1.875rem;
}
.body > .content.cleaners .section--order-hero {
    padding-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.cleaners .section--order-hero .container h1 {
        font-size: 3.375rem;
    }
}
.body > .content.cleaners .section--order-hero .button {
    display: none;
}
@media only screen and (min-width: 768px) {
    .body > .content.cleaners .section--order-hero {
        padding-bottom: 5.625rem;
    }
}
.body > .content.cleaners .section--address__form .form-item {
    width: 100%;
}
.body > .content.cleaners .section--address__form .button {
    margin: 1.25rem auto 0;
}
@media only screen and (min-width: 768px) {
    .body > .content.cleaners .section--address {
        padding: 2.5rem 0;
    }
}
.body > .content.cleaners .section--cleaners {
    padding: 0.625rem 0 1.5rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.cleaners .section--cleaners {
        padding: 0 0 5.625rem;
    }
}
.body > .content.cleaners .section--faq {
    padding: 3.75rem 0;
}
@media only screen and (min-width: 768px) {
    .body > .content.cleaners .section--faq {
        padding: 5.625rem 0;
    }
}
.body > .content.about .section--order-hero h1 {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
@media only screen and (min-width: 768px) {
    .body > .content.about .section--order-hero h1 {
        max-width: 21rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px) {
    .body > .content.about .section--order-hero h1 {
        font-size: 3.375rem;
    }
}
.body > .content.about .section--order-hero .button {
    display: none;
}
.body > .content.about .section--cleaners {
    padding: 0;
}
.body > .content.about .types {
    margin: 0;
    padding-bottom: 3.75rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.about .types {
        padding-bottom: 5.625rem;
    }
}
.body > .content.login {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
}
.body > .content.login .logo__text {
    color: #fff;
}
.body > .content.user .main {
    gap: 2.375rem;
    padding-bottom: 3.75rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.user .main {
        gap: 5.625rem;
        padding-bottom: 5.625rem;
    }
}
.body > .content.user-account .main {
    gap: 2.5rem;
    padding-bottom: 3.75rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.user-account .main {
        gap: 5.625rem;
        padding-bottom: 5.625rem;
    }
}
.body > .content.user-account .section--form {
    padding: 0;
}
.body > .content.user-account .section--form form {
    display: flex;
    flex-direction: column;
    gap: 2.125rem;
}
.body > .content.user-account .section--form form .form-item {
    margin: 0;
    padding: 0;
}
.body > .content.user-account .section--form form .form-item label {
    display: block;
    margin-bottom: 0.3125rem;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    color: rgba(42, 36, 68, 0.9);
}
.body > .content.user-account .section--form form .form-item input {
    padding: 1.28125rem 0.75rem;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    color: #33236e;
}
.body > .content.user-account .section--form form .form-item input:placeholder-shown {
    color: #a4a4a4;
}
.body > .content.user-account .section--form form .form-item__prefix {
    top: auto;
    bottom: 0;
    height: 65px;
}
.body > .content.user-account .section--form form .form-item__prefix + label + input {
    padding-left: 5.4375rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.user-account .section--form form {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .body > .content.user-account .section--form form .form-item {
        max-width: none;
    }
    .body > .content.user-account .section--form form .button--green {
        padding: 1.75rem 1.875rem;
    }
}
.body > .content.user-account--deleted .main {
    gap: 2.375rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.user-account--deleted .main {
        gap: 3.125rem;
    }
}
.body > .content.user-account--locations .main {
    gap: 2.5rem;
    padding-bottom: 0;
}
.body > .content.user-account--locations .section--address__form > p {
    width: 100%;
    padding: 1.4375rem 1.25rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.22);
    box-shadow: var(--shadow-soft);
    font-size: 1.25rem;
    line-height: 1;
    color: #fff;
}
.body > .content.user-account--locations .section--address__form .form-actions {
    display: flex;
    justify-content: center;
    width: 100%;
}
.body > .content.user-account--locations .section--address__form .form-actions .button {
    width: 100%;
    min-width: 21rem;
}
@media only screen and (min-width: 768px) {
    .body > .content.user-account--locations .section--address__form .form-actions .button {
        width: auto;
    }
}
@media only screen and (min-width: 768px) {
    .body > .content.user-account--locations .section--address__form {
        gap: 2.5rem 1.25rem;
    }
    .body > .content.user-account--locations .section--address__form > .form-item {
        flex: 0 1 calc(16.6666666667% - 1.25rem);
    }
    .body > .content.user-account--locations .section--address__form > .form-item:first-of-type {
        flex: 0 1 50%;
    }
    .body > .content.user-account--locations .section--address__form > .form-item:nth-child(8) {
        min-width: 14.0625rem;
    }
}
@media only screen and (min-width: 768px) {
    .body > .content.user-account--cards .section--address__form {
        gap: 1.25rem;
    }
    .body > .content.user-account--cards .section--address__form > .form-item {
        flex: 0 1 100%;
    }
    .body > .content.user-account--cards .section--address__form > .form-item:first-of-type {
        flex: 0 1 100%;
    }
}
.body--cleaner {
    background: linear-gradient(180deg, #f8f5ff -24.58%, #e4dcf5 16.53%, #f2ebff 57.64%, #e4d6ff 100%);
}
.body--cleaner:after {
    display: none;
}
@media only screen and (min-width: 768px) {
    .body--cleaner > .content.not-home .header {
        margin-bottom: 2rem;
    }
    .body--cleaner > .content.not-home .main {
        gap: 3.75rem;
    }
}
.body--cleaner .cleaner-order {
    padding-bottom: 14.6875rem;
}
@media only screen and (min-width: 768px) {
    .body--cleaner .cleaner-order {
        padding-bottom: 15rem;
    }
}
.body--cleaner .cleaner-order .section--cleaner-items.hidden {
    display: none;
}
.body--cleaner .cleaner-new-order .card__cleaner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .body--cleaner .cleaner-new-order .section--user-info .section--result__footer .button--repeat {
        max-width: 21rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px) {
    .body--cleaner .cleaner-new-order .section--user-info .section--result__footer .button--repeat {
        display: flex;
    }
}
.body--cleaner .cleaner-new-order .section--result {
    padding: 0;
}
@media only screen and (min-width: 768px) {
    .body--cleaner .cleaner-new-order .section--result__footer .container {
        max-width: 43.75rem;
    }
}
.body--cleaner .cleaner-new-order .section--user-info .section--result .container .section--result__methods {
    margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
    .body--cleaner--payment > .content.not-home .header {
        margin-bottom: 0.75rem;
    }
    .body--cleaner--payment > .content.not-home .main {
        gap: 2.5rem;
    }
}
.body--cleaner--payment .main > .container {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.body--cleaner--payment .main > .container .status {
    align-self: center;
}
.body--cleaner--payment .main > .container .section--download .button {
    padding: 2.1875rem;
    border-radius: 24px;
}
@media only screen and (min-width: 768px) {
    .body--cleaner--payment .main > .container .section--download .button {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.body--cleaner--payment .main > .container .section--cleaner-orders__info-item:nth-last-child(2) {
    margin-bottom: 0.75rem;
}
a {
    text-decoration: none;
    color: inherit;
}
.sr-only {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
ul {
    padding: 0;
}
ol {
    padding: 0;
}
.mobile {
    display: block;
}
@media only screen and (min-width: 1024px) {
    .mobile {
        display: none;
    }
}
.section {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    position: relative;
    box-sizing: border-box;
}
.section .container {
    width: 100%;
    box-sizing: border-box;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
@media (min-width: 993px) {
    .section .container {
        padding-left: 0;
        padding-right: 0;
    }
}
.section-padding {
    padding-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .section-padding {
        padding-top: 5.625rem;
    }
}
.cleaner-padding .main {
    padding-bottom: 8.4375rem;
}
@media only screen and (min-width: 768px) {
    .cleaner-padding .main {
        padding-bottom: 3.75rem;
    }
}
::backdrop {
    background: rgba(0, 0, 0, 0.5);
}
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
}
@media (min-width: 993px) {
    .container {
        padding-left: 0;
        padding-right: 0;
    }
}
.header {
    position: relative;
    padding: 0.75rem 0 2.5rem;
    z-index: 10;
}
@media only screen and (min-width: 768px) {
    .header {
        padding: 1.875rem 0 1.75rem;
    }
}
.hero .wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    /* gap: 1.25rem; */
    padding: 2rem 1.5rem;
    border-radius: 18px;
    overflow: hidden;
    background-image: url("/images/hero.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.hero .wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(35, 27, 66, 0.5) 1%, rgba(0, 148, 210, 0.1) 100%);
    z-index: 0;
}

.hero .wrapper h1 {
    position: relative;
    width: 100%;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    z-index: 1;
}
@media (min-width: 500px) {
    .hero .wrapper h1 {
        width: 50%;
    }
}
@media only screen and (min-width: 768px) {
    .hero .wrapper {
        padding: 8.25rem 2.5rem;
        border-radius: 23px;
    }
    .hero .wrapper h1 {
        font-size: 4rem;
        line-height: 1.2;
        width: 100%;
    }
}
.hero__breadcrumbs {
    position: relative;
    z-index: 1;
}
.hero__breadcrumbs ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.hero__breadcrumbs ul li {
    display: inline-block;
    font-size: 1.125rem;
    line-height: 1.2;
    color: #fff;
}
.hero__breadcrumbs ul li a {
    font-size: 1.125rem;
    line-height: 1.2;
    color: #fff;
    text-decoration: underline;
}
.hero__breadcrumbs ul li:not(:last-child) {
    position: relative;
    margin-right: 1rem;
}
.hero__breadcrumbs ul li:not(:last-child):after {
    content: "";
    position: absolute;
    top: 50%;
    top: 50%;
    right: -8px;
    transform: translate(100%, -50%);
    width: 6px;
    height: 1px;
    background-color: #fff;
}
.hero--services .wrapper {
    flex-direction: column;
    justify-content: flex-start;
    gap: 2.1875rem;
    padding: 0.75rem;
    background: #33236e;
}
.hero--services .wrapper:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(35, 27, 66, 0.6) -6.24%, rgba(0, 148, 210, 0.6) 164.24%);
}
.hero--services .wrapper h1 {
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -1.12px;
    text-shadow: none;
    text-align: left;
}
.hero--services .wrapper picture {
    left: auto;
    right: 0;
    width: 50%;
    top: auto;
    bottom: 0;
    height: auto;
}
@media only screen and (min-width: 768px) {
    .hero--services .wrapper {
        align-items: center;
        gap: 4.5rem;
        padding: 1.5rem;
        text-align: center;
    }
    .hero--services .wrapper h1 {
        width: 100%;
        font-size: 4rem;
        text-align: center;
        letter-spacing: -2.56px;
    }
}
.hero__text,
.hero .button {
    position: relative;
    z-index: 1;
}
.hero__text {
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .hero__text {
        max-width: 40.9375rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px) {
    .hero .button {
        min-width: 18.75rem;
    }
}
.hero__date {
    position: relative;
    z-index: 1;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.2;
    text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15);
    color: #c1b2f5;
}
.section .container > h2 {
    margin-bottom: 2.5rem;
    font-size: 2.125rem;
    font-weight: 500;
    line-height: 1;
    color: #422a9b;
    text-align: center;
}
.section .container:has(.swiper) > h2 {
    margin-bottom: 1.875rem;
}
.services .wrapper {
    padding: 0 0.75rem;
    overflow: hidden;
    touch-action: none;
    user-select: none;
}
.services .wrapper__inner {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .services .wrapper {
        width: 100vw;
    }
    .services .wrapper__inner {
        flex-direction: row;
        justify-content: center;
        gap: 1.25rem;
        transform: translateX(300px);
    }
}
@media (min-width: 992px) {
    .services .wrapper__inner {
        transform: translateX(278px);
    }
}
.info-list {
    padding: 2.75rem 0;
    background: #fff;
}
.info-list__item {
    line-height: 1.4;
}
.info-list__item h3 {
    margin-bottom: 1rem;
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.1;
    color: #422a9b;
}
.info-list__item p:not(:last-of-type) {
    margin-bottom: 1rem;
}
.info-list__item ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.875rem;
    padding-left: 1.5rem;
    list-style: disc;
}
.info-list__item ul li::marker {
    color: rgba(42, 36, 68, 0.9);
}
.section--why-we__buttons {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}
.section--why-we__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.section--why-we__items__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1.5rem 0.75rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.3;
}

.hero__why-we {
    position: relative;
    z-index: 1;
    margin-top: 1.5rem;
    width: 100%;
}
.hero__why-we__items {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}
.hero__why-we__item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 0.75rem;
    border-radius: 999px;
    /* background: rgba(255, 255, 255, 0.9); */
    /* box-shadow: var(--shadow-soft); */
    font-size: 0.875rem;
    font-weight: 500;
    color: #33236e;
}
.hero__why-we__item p {
    font-family: Unbounded, sans-serif;
    font-weight: 300;
    color: #fff;
    font-size: 16px;
}
.hero__why-we__item img {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
}

@media only screen and (max-width: 768px) {
    .hero__why-we__items {
        flex-direction: column;
        align-items: stretch;
    }
    .hero__why-we__item {
        width: 100%;
        justify-content: flex-start;
    }
}
.section--why-we__items__item .image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4.25rem;
    height: 4.25rem;
    margin-bottom: 0.1875rem;
    padding: 0.875rem;
    border-radius: 8px;
    background: #e7e4f2;
}
.section--why-we__items__item h3 {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
    color: #422a9b;
}
@media only screen and (min-width: 768px) {
    .section--why-we__items {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.25rem;
    }
    .section--why-we__items__item {
        flex: 0 1 calc(50% - 0.625rem);
        padding: 2.75rem;
    }
    .section--why-we__items__item .image {
        width: 5rem;
        height: 5rem;
        margin-bottom: 0.75rem;
    }
}
.section--clients {
    padding-bottom: 3.625rem;
}
.section--clients .container h2 {
    max-width: 14.6875rem;
    margin: 0 auto;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: normal;
    color: rgba(42, 36, 68, 0.7);
}
.section--clients .container h2 span {
    font-size: 2.25rem;
    color: #5c41be;
}
@media only screen and (min-width: 768px) {
    .section--clients {
        padding-bottom: 5rem;
    }
}
.section--reviews > .button {
    width: fit-content;
    margin: 1.375rem auto 0;
}
.section--reviews > .button.hide-mobile {
    display: none;
}
@media only screen and (min-width: 768px) {
    .section--reviews > .button.hide-mobile {
        display: block;
    }
}
/* Объединенная секция клиентов и отзывов */
.section--clients-reviews {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin-top: 3rem;
}
.section--clients-reviews__background {
    position: absolute;
    top: 3rem;
    left: 0;
    width: 100%;
    height: 45%;
    background: linear-gradient(287deg,rgba(92, 65, 190, 1) 41%, rgba(128, 103, 220, 1) 100%);
    z-index: 0;
}
.section--clients-reviews__bubbles {
    position: absolute;
    top: 3rem;
    left: 0;
    width: 100%;
    height: 45%;
    z-index: 1;
    pointer-events: none;
}
.section--clients-reviews__bubbles .bubble {
    position: absolute;
    opacity: 0.6;
    animation: float 20s infinite ease-in-out;
}
.section--clients-reviews__bubbles .bubble--big {
    width: 100px;
    height: 100px;
    top: 10%;
    left: 5%;
    animation-delay: 0s;
    animation-duration: 25s;
}
.section--clients-reviews__bubbles .bubble--middle {
    width: 50px;
    height: 50px;
    top: 30%;
    right: 10%;
    animation-delay: 5s;
    animation-duration: 20s;
}
.section--clients-reviews__bubbles .bubble--little {
    width: 30px;
    height: 30px;
    bottom: 20%;
    left: 15%;
    animation-delay: 10s;
    animation-duration: 15s;
}
@keyframes float {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    25% {
        transform: translate(20px, -30px) rotate(5deg);
    }
    50% {
        transform: translate(-15px, -50px) rotate(-5deg);
    }
    75% {
        transform: translate(30px, -20px) rotate(3deg);
    }
}
.section--clients-reviews .container {
    position: relative;
    z-index: 3;
    padding: 0;
}
.section--clients-reviews__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 20px;
}
.section--clients-reviews__woman {
    width: 300px;
    height: auto;
    flex: 1 1 50%;
    max-width: 50%;
    object-fit: contain;
    object-position: bottom left;
}
.section--clients-reviews__title {
    flex: 1 1 50%;
    max-width: 50%;
}
.section--clients-reviews__title {
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    color: #fff;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 3;
}
.section--clients-reviews__title span {
    font-size: 1.5rem;
    color: #FFC053;
    font-weight: 700;
}
.section--clients-reviews__reviews {
    position: relative;
    z-index: 5;
    margin-top: -2rem;
}
.section--clients-reviews__reviews .swiper {
    padding-bottom: 0;
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.section--clients-reviews__reviews .swiper-slide {
    width: 100%;
    height: auto;
    max-width: 100%;
    box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
    .section--clients-reviews__reviews .swiper-slide {
        width: calc(33.3333333333% - 0.8333333333rem) !important;
        flex-shrink: 0;
    }
}
.section--clients-reviews__reviews .review {
    background: #fff !important;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
    margin-bottom: 0;
    padding: 2.5rem 2.5rem;
    backdrop-filter: none !important;
    opacity: 1 !important;
    height: 100%;
}
.section--clients-reviews__reviews .swiper-pagination {
    display: none !important;
}
.section--clients-reviews__controls {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center;
}
.section--clients-reviews__reviews .section--clients-reviews__controls .swiper-button-next,
.section--clients-reviews__reviews .section--clients-reviews__controls .swiper-button-prev {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 3.125rem !important;
    height: 3.125rem !important;
    margin: 0 !important;
    transform: none !important;
    flex-shrink: 0;
}
.section--clients-reviews__controls .button {
    width: fit-content;
    margin: 0;
}
@media only screen and (min-width: 768px) {
    .section--clients-reviews .container {
        padding: 0;
    }
    .section--clients-reviews__footer {
        gap: 2rem;
    }
    .section--clients-reviews__reviews {
        margin-top: -3rem;
    }
    .section--clients-reviews__title {
        font-size: 1rem;
        flex: 0 1 auto;
        max-width: none;
    }
    .section--clients-reviews__title span {
        font-size: 1.5rem;
    }
    .section--clients-reviews__reviews .swiper-slide {
        width: calc(33.3333333333% - 0.8333333333rem) !important;
        flex-shrink: 0;
    }
    .section--clients-reviews__woman {
        width: 300px;
        flex: 0 0 auto;
        max-width: 300px;
    }
}
.section--how-we-clean.section-padding {
    padding-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .section--how-we-clean.section-padding {
        padding-bottom: 5.625rem;
    }
}
.section--how-we-clean__items__item {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
}
.section--how-we-clean__items__item__image {
    width: 100%;
    height: 220px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
}
.section--how-we-clean__items__item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.section--how-we-clean__items__item__content {
    padding: 0.75rem;
    min-width: 0;
}
.section--how-we-clean__items__item__content h3 {
    margin-bottom: 1.5rem;
    font-size: 1.625rem;
    color: #422a9b;
    font-weight: 600;
    line-height: 1.1;
    font-family: "Raleway" !important;
}
@media only screen and (min-width: 768px) {
    .section--how-we-clean__items__item {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        align-items: stretch;
    }
    .section--how-we-clean__items__item__image {
        height: 100%;
    }
    .section--how-we-clean__items__item__content {
        padding: 3rem;
    }
}
.section--cleaners {
    padding-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .section--cleaners {
        padding-bottom: 5.625rem;
    }
}
.section--join-us {
    position: relative;
    background: linear-gradient(331deg, #5c41be 32.86%, #8067dc 91.92%);
}
.section--join-us__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.section--join-us__image picture,
.section--join-us__image img {
    height: 100%;
}
.section--join-us .container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.625rem;
    text-align: center;
    padding: 5.625rem 2rem;
    z-index: 1;
}
.section--join-us .container h2 {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: normal;
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .section--join-us .container {
        width: 38%;
        padding: 10.5rem 0;
    }
}
.section--faq {
    padding: 2.5rem 0;
}
@media only screen and (min-width: 768px) {
    .section--faq {
        padding: 5.625rem 0;
    }
}
.section--faq__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.section--faq .container > .button {
    width: fit-content;
    margin: 1.25rem auto 0;
}
.section.section--social-media h2 {
    font-size: 1.375rem;
    font-weight: 600;
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .section.section--social-media h2 {
        font-size: 2.125rem;
    }
}
.section--social-media {
    position: relative;
    padding: 2.625rem 0;
    background: linear-gradient(300deg, #5c41be 15.55%, #8067dc 120.24%);
}
.section--social-media:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/social-media-bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media only screen and (min-width: 768px) {
    .section--social-media {
        padding: 7.8125rem 0;
    }
    .section--social-media:before {
        background-size: contain;
    }
}
.section--social-media__items {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.375rem 2.1875rem;
}
@media only screen and (min-width: 768px) {
    .section--social-media__items {
        flex-wrap: nowrap;
        gap: 4rem;
    }
}
.section--social-media__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: normal;
    color: #fff;
}
.section--blog {
    padding: 2.5rem 0;
}
@media only screen and (min-width: 768px) {
    .section--blog {
        padding: 5.625rem 0;
    }
}
.section--blog .container > .button {
    width: fit-content;
    margin: 1.25rem auto 0;
}
.section--blog__subscription {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
    margin-top: 2.5rem;
}
.section--blog__subscription h3 {
    font-size: 1.375rem;
    font-weight: 600;
    color: rgba(42, 36, 68, 0.7);
    line-height: normal;
    text-align: center;
}
.section--blog__subscription form {
    position: relative;
}
.section--blog__subscription form button {
    all: unset;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    aspect-ratio: 1;
    z-index: 1;
    cursor: pointer;
}
.section--blog__subscription form input {
    width: 100%;
    height: 4.25rem;
    padding: 0.75rem 4.375rem 0.75rem 0.75rem;
    border: none;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: var(--shadow-soft);
}
.section--blog__subscription form input::placeholder {
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    color: rgba(42, 36, 68, 0.45);
}
@media only screen and (min-width: 768px) {
    .section--blog__subscription {
        flex-direction: row;
    }
    .section--blog__subscription h3 {
        background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: rgba(0, 0, 0, 0);
        flex: 1;
        font-size: 1.625rem;
    }
    .section--blog__subscription form {
        position: relative;
        flex: 0 1 35%;
    }
    .section--blog__subscription form button {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        aspect-ratio: 1;
        z-index: 1;
    }
    .section--blog__subscription form input {
        padding: 1.5rem 4.375rem 1.5rem 1.5rem;
    }
    .section--blog__subscription form input::placeholder {
        font-weight: 500;
    }
}
.section--blog__items {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
.section--blog__items .blog {
    width: 100% !important;
}
@media only screen and (min-width: 768px) {
    .section--blog__items {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }
}
.section--order-hero .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.section--order-hero .container h1 {
    font-size: 2.375rem;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    color: #0094d2;
}
.section--order-hero .container h1 span {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
.section--order-hero .container p,
.section--order-hero .container a {
    display: none;
}
.section--order-hero .container details {
    width: 100%;
    margin-top: 3.75rem;
    padding: 0.9375rem 1.125rem;
    border-radius: 9px;
    background: rgba(42, 36, 68, 0.08);
}
.section--order-hero .container details summary h3 {
    flex: 1;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    color: #33236e;
    text-align: left;
}
.section--order-hero .container details[open] {
    background: #fff;
}
.section--order-hero .container details[open] > summary .accordion__icons > img:last-child {
    transform: rotate(180deg);
}
.section--order-hero .container details p {
    display: block;
    text-align: left;
    margin-top: 0.625rem;
    font-size: 0.875rem;
}
@media only screen and (min-width: 768px) {
    .section--order-hero .container {
        gap: 1.25rem;
    }
    .section--order-hero .container h1 {
        font-size: 4rem;
        line-height: 1.2;
    }
    .section--order-hero .container p,
    .section--order-hero .container a {
        display: block;
    }
}
.section--date-time .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    text-align: center;
}
.section--date-time .container h2 {
    margin: 0;
}
.section--date-time .container form {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    width: 100%;
}
.section--date-time .container form .form-item__date,
.section--date-time .container form .form-item__time {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.375rem;
    padding: 0.9375rem 1rem;
    border: none;
    background-color: #fff;
    border-radius: 16px;
    cursor: pointer;
}
@media only screen and (min-width: 768px) {
    .section--date-time .container form {
        flex-wrap: nowrap;
    }
}
@media only screen and (min-width: 768px) {
    .section--date-time .container {
        max-width: 21rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px) {
    .section--date-time .container {
        padding: 0;
    }
}
.section--additional-cards__items {
    display: none;
}
@media only screen and (min-width: 768px) {
    .section--additional-cards__items {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 1.25rem;
    }
}
.section--additional-cards .swiper-slide {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--additional-cards .swiper-slide {
        display: flex;
        gap: 1rem;
        align-items: stretch; /* Выравнивание по высоте */
        height: auto;
    }
    .section--additional-cards .swiper-slide .additional-card {
        height: 100%; /* Заполняет всю высоту слайда */
        min-height: auto;
    }
}
.section--additional-cards .swiper--dry {
    display: none;
}
@media only screen and (min-width: 768px) {
    .section--additional-cards .swiper {
        display: none;
    }
    .section--additional-cards .swiper--dry {
        display: block;
    }
    .section--additional-cards .swiper--dry .swiper-wrapper {
        display: flex;
        align-items: stretch; /* Выравнивание по высоте */
    }
    .section--additional-cards .swiper--dry .swiper-slide {
        width: calc((100% - 80px) / 5) !important;
        flex-shrink: 0;
        flex-grow: 0;
        display: flex; /* Для выравнивания карточек */
        align-items: stretch; /* Растягивание по высоте */
    }
    .section--additional-cards .swiper--dry .additional-card {
        width: 100%;
        min-width: 0;
        height: 100%; /* Заполняет всю высоту слайда */
    }
    /* Сетка для дополнительных услуг в аккордеоне на десктопе */
    .section--order-hero .container details[open] .section--details-cards .swiper {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 1.25rem !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        padding: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
        position: relative !important;
    }
    .section--order-hero .container details[open] .section--details-cards .swiper .swiper-wrapper {
        display: contents !important;
        width: 100% !important;
        transform: none !important;
        flex-direction: row !important;
    }
    /* Делаем слайды прозрачными для grid, чтобы карточки стали прямыми детьми grid */
    .section--order-hero .container details[open] .section--details-cards .swiper .swiper-slide {
        display: contents !important; /* Карточки становятся прямыми детьми grid */
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        min-height: auto !important;
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        margin: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }
    .section--order-hero .container details[open] .section--details-cards .swiper .additional-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: auto !important;
        box-sizing: border-box !important;
    }
    .section--order-hero .container details[open] .section--details-cards .swiper .swiper-pagination,
    .section--order-hero .container details[open] .section--details-cards .swiper .swiper-button-prev,
    .section--order-hero .container details[open] .section--details-cards .swiper .swiper-button-next {
        display: none !important;
    }
}
.section--subscriptions .container {
    display: flex;
    flex-direction: column;
    gap: 1.625rem;
    text-align: center;
}
.section--subscriptions .container h2 {
    margin-bottom: 0;
}
.section--subscriptions .container > p:first-of-type {
    color: rgba(42, 36, 68, 0.7);
}
.section--subscriptions__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--subscriptions__items {
        grid-template-columns: repeat(4, minmax(100px, 184px));
        justify-content: center;
        gap: 1.25rem;
    }
}
.section--subscriptions__details {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: normal;
    color: rgba(42, 36, 68, 0.7);
}
@media only screen and (min-width: 768px) {
    .section--subscriptions__details {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.section--address {
    padding: 2.5rem 0;
    background: radial-gradient(389.93% 150.26% at 50% 101.22%, #0094d2 0%, #5c41be 67.11%);
}
.section--address .container {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.section--address .container > h2 {
    margin: 0;
    font-size: 2.125rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}
.section--address .container > p {
    color: #fff;
    text-align: center;
}
.section--address__header {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.section--address__header__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    color: #fff;
}
.section--address__header__item .buttons {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
}
.section--address__header__item .buttons__text {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.9375rem 1.5625rem;
    text-align: center;
    border-radius: 14px;
    background: #422a9b;
    box-shadow: var(--shadow-soft);
}
@media only screen and (min-width: 768px) {
    .section--address__header {
        flex-direction: row;
        justify-content: space-around;
    }
}
.section--address__form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
@media only screen and (min-width: 768px) {
    .section--address__form {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .section--address__form > .form-item {
        width: calc(16.6666666667% - 0.9375rem);
    }
    .section--address__form > .form-item:first-child {
        width: calc(50% - 0.9375rem);
    }
    .section--address__form > .form-item:last-child {
        width: 30%;
    }
    .section--address__form--contacts > .form-item {
        width: calc(33.3333333333% - 0.9375rem);
    }
    .section--address__form--contacts > .form-item:first-child {
        width: calc(33.3333333333% - 0.9375rem);
    }
    .section--address__form--contacts > .form-item:last-child {
        width: 100%;
    }
}
@media only screen and (min-width: 768px) {
    .section--address {
        padding: 3.75rem 0;
    }
}
.section--result {
    padding-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .section--result {
        padding-bottom: 3.75rem;
    }
}
.section--result .container {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.section--result .container > h2 {
    margin-bottom: 0;
}
.section--result__bill {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.25rem;
}
.section--result__bill__services,
.section--result__bill__sum,
.section--result__bill__time {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    color: rgba(42, 36, 68, 0.7);
}
.section--result__bill__services .item,
.section--result__bill__sum .item,
.section--result__bill__time .item {
    display: flex;
    justify-content: space-between;
    gap: 0.625rem;
}
.section--result__bill__services p span,
.section--result__bill__sum p span,
.section--result__bill__time p span {
    margin-right: 0.375rem;
    font-weight: 700;
    color: #422a9b;
}
.section--result__bill__services p.bold,
.section--result__bill__sum p.bold,
.section--result__bill__time p.bold {
    font-weight: 700;
}
.section--result__bill__sum p:first-child {
    font-weight: 700;
}
.section--result__bill__border {
    border: 1px dashed rgba(42, 36, 68, 0.9);
}
.section--result__bill__sum,
.section--result__bill__time {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.section--result__promocode .form-item {
    position: relative;
}
.section--result__promocode .form-item button {
    all: unset;
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    background-color: #0094d2;
    border-radius: 20px;
    aspect-ratio: 1;
    z-index: 1;
    cursor: pointer;
}
.section--result__methods {
    display: flex;
    gap: 0.75rem;
}
.section--result__methods > .payment-item {
    flex: 1;
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
    .section--result__methods {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.section--result__footer {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.section--result__footer .buttons {
    display: flex;
    flex-direction: column;
    gap: 2.375rem;
}
.section--result__footer .buttons .button {
    padding: 2.15625rem 1.875rem;
    border-radius: 24px;
    font-size: 1.125rem;
    line-height: normal;
}
@media only screen and (min-width: 768px) {
    .section--result__footer .buttons .button {
        max-width: 21rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px) {
    .section--result__footer {
        flex-direction: row;
    }
    .section--result__footer .buttons {
        width: 100%;
        flex-direction: row;
        gap: 1.5rem;
    }
    .section--result__footer .buttons > * {
        flex: 1;
    }
    .section--result__footer .buttons .button--green {
        min-width: auto;
    }
}
.section--result__description .container {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    text-align: center;
}
.section--result__description .container button {
    all: unset;
    font-size: 1.375rem;
    font-weight: 400;
    border-bottom: 1px solid #c00006;
    display: inline;
    width: fit-content;
    margin: 0 auto;
    color: #c00006;
    text-align: center;
    cursor: pointer;
}
.section--wrapper > .container {
    display: flex;
    flex-direction: column;
    gap: 3.75rem;
}
.section--wrapper > .container > .section {
    margin: 0;
    padding: 0;
}
.section--wrapper > .container > .section.section--date-time .container {
    max-width: none;
}
@media only screen and (min-width: 768px) {
    .section--wrapper > .container {
        flex-direction: row;
    }
    .section--wrapper > .container > .section {
        flex: 1;
    }
    .section--wrapper > .container > .section.types--renovation {
        padding: 2.8125rem;
    }
}
.section--features h3 {
    margin: 1rem 0;
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.1;
    color: #422a9b;
}
.section--features p {
    margin-bottom: 1rem;
}
.section--features ul {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding-left: 1.25rem;
    list-style-type: disc;
}
.section--features ul + p {
    margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
    .section--instagram h2 {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.section--instagram .swiper-slide img {
    width: 100%;
}
.section--article .container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.875rem;
    line-height: 1.4;
    color: rgba(42, 36, 68, 0.7);
}
.section--article .container h2 {
    margin-bottom: 1.5rem;
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.1;
    color: #422a9b;
}
@media only screen and (min-width: 768px) {
    .section--article .container h2 {
        font-size: 2.125rem;
    }
}
@media only screen and (min-width: 768px) {
    .section--article .container {
        grid-template-columns: 1fr 21rem;
        grid-template-rows: repeat(4, auto);
        gap: 1.5rem 3.75rem;
    }
}
.section--article__image {
    border-radius: 18px;
}
.section--article__image img {
    width: 100%;
    border-radius: 18px;
}
@media only screen and (min-width: 768px) {
    .section--article__image {
        grid-column: 2/-1;
        grid-row: 1/3;
    }
}
@media only screen and (min-width: 768px) {
    .section--article__text {
        grid-column: 1/2;
        grid-row: 1/2;
    }
}
.section--article__list ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0.875rem 0;
    padding-left: 1.5rem;
    list-style: disc;
}
.section--article__list ul li::marker {
    color: rgba(42, 36, 68, 0.7);
}
@media only screen and (min-width: 768px) {
    .section--article__list {
        grid-column: 1/2;
        grid-row: 2/-1;
    }
}
.section--list .container {
    display: flex;
    flex-direction: column;
}
.section--list .container picture,
.section--list .container img {
    margin: 0 auto;
}
.section--list ul {
    display: flex;
    flex-direction: column;
    gap: 1.625rem;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: normal;
}
.section--list ul span {
    color: #5c41be;
}
.section--list ul li {
    position: relative;
    padding-left: 3.5rem;
}
.section--list ul li:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1.875rem;
    height: 1.875rem;
    background-image: url(../images/icon-list.svg);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
    .section--list ul li {
        padding-left: 3.5625rem;
    }
    .section--list ul li:before {
        width: 2.8125rem;
        height: 2.8125rem;
    }
}
@media only screen and (min-width: 768px) {
    .section--list ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2.125rem;
    }
}
.section--about h1 {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    width: 100%;
    font-size: 2.375rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
    .section--about h1 {
        font-size: 3.375rem;
    }
}
.section--about .container {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .section--about .container {
        flex-direction: row;
        flex-wrap: wrap;
    }
}
.section--about__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    color: rgba(42, 36, 68, 0.7);
    line-height: 1.4;
}
.section--about__text h3 {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: normal;
}
@media only screen and (min-width: 768px) {
    .section--about__text {
        font-size: 1.125rem;
    }
    .section--about__text h3 {
        font-size: 2.25rem;
    }
}
.section--about__image {
    flex: 1;
    border-radius: 23px;
}
.section--about__image img {
    width: 100%;
    border-radius: 23px;
}
.section--advantages__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--advantages__items {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}
.section--advantages__item {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 1.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.3;
    color: rgba(42, 36, 68, 0.7);
    text-align: center;
}
.section--advantages__item__image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4.25rem;
    height: 4.25rem;
    margin-bottom: 0.1875rem;
    padding: 0.875rem;
    background-color: #e7e4f2;
    border-radius: 8px;
}
.section--advantages__item h3 {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
    color: #422a9b;
}
@media only screen and (min-width: 768px) {
    .section--advantages__item {
        padding: 2.75rem;
    }
    .section--advantages__item__image {
        width: 5rem;
        height: 5rem;
        margin-bottom: 0.75rem;
        padding: 1.15625rem;
    }
}
.before-after .wrapper {
    display: flex;
    gap: 1.25rem;
    padding: 0 0.75rem;
    width: calc(100vw - 1.5rem);
    overflow-x: auto;
}
@media only screen and (min-width: 768px) {
    .before-after .wrapper {
        justify-content: center;
        gap: 2.125rem;
    }
}
.before-after__image {
    flex-shrink: 0;
    width: 25rem;
    border-radius: 23px;
    aspect-ratio: 1/1;
}
.before-after__image picture,
.before-after__image img {
    width: 100%;
}
@media only screen and (min-width: 768px) {
    .before-after__image {
        width: 28.125rem;
    }
}
.section--form {
    padding-bottom: 3.25rem;
    line-height: 1.4;
    color: #fff;
}
.section--form .container {
    position: relative;
}
.section--form .container > h2 {
    margin: 0;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -1.28px;
    text-transform: uppercase;
    text-align: left;
}
.section--form .container > h2,
.section--form .container p,
.section--form .container .form-item:first-of-type {
    position: relative;
    z-index: 1;
}
@media only screen and (min-width: 768px) {
    .section--form .container > h2,
    .section--form .container p,
    .section--form .container .form-item:first-of-type {
        max-width: 24.5rem;
        margin: 0 auto;
    }
    .section--form .container .form-item:first-of-type {
        margin: 1.375rem auto;
    }
}
.section--form .form-item {
    position: relative;
    margin: 1.375rem 0;
}
.section--form .form-item input {
    padding: 1.1875rem 1.75rem 1.1875rem 5.3125rem;
}
.section--form .form-item--checkbox {
    margin: 3rem 0;
    font-size: 0.875rem;
    line-height: 1.4;
    color: #fff;
}
.section--form .form-item--checkbox a {
    color: #fff;
}
.section--form .form-item--checkbox label {
    padding-left: 3.875rem;
}
.section--form .form-item--checkbox label:before {
    top: 0;
    transform: translateY(0);
}
@media only screen and (min-width: 768px) {
    .section--form .form-item--checkbox {
        margin: 0;
    }
}
.section--form__bottom {
    position: relative;
    display: flex;
    flex-direction: column;
    z-index: 1;
}
.section--form__bottom .button {
    width: 100%;
}
@media only screen and (min-width: 768px) {
    .section--form__bottom {
        flex-direction: row;
        align-items: center;
        gap: 2.5rem;
        max-width: 39.375rem;
        margin: 4.5rem auto 0;
    }
    .section--form__bottom .button--green {
        min-width: auto;
    }
}
.section--form__bg {
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translateY(66px);
}
@media only screen and (min-width: 768px) {
    .section--form__bg {
        transform: translateY(40px);
    }
}
.section--user-title h1 {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    margin-bottom: 0;
    font-size: 2.375rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
    .section--user-title h1 {
        font-size: 3.375rem;
    }
}
.section--user-cards .container {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--user-cards .container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem 1.25rem;
    }
}
.section--user-info {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.section--user-info .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.375rem;
}
.section--user-info .container > h2 {
    margin: 0;
}
.section--user-info .container--cleaners {
    align-items: stretch;
}
@media only screen and (min-width: 768px) {
    .section--user-info .container {
        gap: 2.5rem;
        max-width: 43.75rem;
    }
    .section--user-info .container--cleaners {
        gap: 1.5rem;
    }
}
@media only screen and (min-width: 768px) {
    .section--user-info > .container {
        max-width: 41rem;
    }
}
.section--user-info__items {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.section--user-info__items .button {
    width: 100%;
    border-radius: 20px;
}
.section--user-info__item {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    flex: 0 1 calc(50% - 0.375rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    font-size: 1rem;
    line-height: 1.4;
    color: #422a9b;
}
.section--user-info__item > p:first-of-type {
    font-size: 0.875rem;
    line-height: 1;
    color: rgba(42, 36, 68, 0.9);
}
.section--user-info__item:last-child {
    flex: 0 1 100%;
}
.section--user-info .section--result .container {
    align-items: stretch;
}
@media only screen and (min-width: 768px) {
    .section--user-info .section--result .container {
        gap: 0;
    }
    .section--user-info .section--result .container h2,
    .section--user-info .section--result .container .section--result__bill,
    .section--user-info .section--result .container .section--result__methods {
        width: calc(100% - 2.25rem);
        margin: 0 auto;
    }
    .section--user-info .section--result .container > h2 {
        margin-bottom: 2.5rem;
    }
    .section--user-info .section--result .container > h2:first-of-type {
        margin-bottom: 1.5rem;
    }
    .section--user-info .section--result .container .section--result__bill,
    .section--user-info .section--result .container .section--result__methods {
        margin-bottom: 5.625rem;
    }
}
.section--user-info .section--result__footer {
    justify-content: center;
}
@media only screen and (min-width: 768px) {
    .section--user-info .section--result__footer .button--repeat {
        display: none;
    }
}
.section--user-account-delete .container {
    display: flex;
    flex-direction: column;
    gap: 2.375rem;
}
.section--user-account-delete .container > p {
    text-align: center;
}
@media only screen and (min-width: 768px) {
    .section--user-account-delete .container {
        gap: 2.5rem;
        max-width: 41rem;
    }
    .section--user-account-delete .container .form-item {
        width: 21rem;
        margin: 0 auto;
    }
}
@media only screen and (min-width: 768px) {
    .section--button .container {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.section--user-account-deleted p {
    text-align: center;
}
.section--user--cards {
    padding-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
    .section--user--cards {
        padding-bottom: 3.125rem;
    }
}
.section--user--cards .container {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--user--cards .container {
        flex-direction: row;
    }
}
.section--user--cards__item {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
}
.section--user--cards__item .item__header {
    display: flex;
    justify-content: space-between;
    gap: 1.125rem;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.1;
}
.section--user--cards__item .item__header button {
    all: unset;
    cursor: pointer;
}
.section--user--cards__item .item__content {
    display: flex;
    align-items: center;
    gap: 1.125rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
}
.section--user--cards__item .item__content > p {
    flex: 1;
}
.section--cleaner-title .container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center;
}
.section--cleaner-title .container h1 {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    margin-bottom: 0;
    font-size: 2.375rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-title .container h1 {
        font-size: 3.375rem;
    }
}
.section--blocks {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-bottom: 0.9375rem;
}
.section--blocks__item {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.section--blocks__item h2 {
    font-size: 2.125rem;
    font-weight: 500;
    line-height: 1;
    color: #422a9b;
    text-align: center;
}
.section--blocks__item .form-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
    font-size: 1.25rem;
    line-height: 1;
}
.section--blocks__item .form-item input {
    padding: 1.28125rem 1.25rem;
    color: #33236e;
}
.section--blocks__item .form-item__prefix {
    top: auto;
    bottom: 0;
    height: 65px;
}
.section--blocks__item .form-item__prefix + label + input {
    padding-left: 5.4375rem;
}
.section--blocks > .container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.section--blocks > .container:last-child > p {
    text-align: center;
}
.section--blocks > .container .checkboxes {
    gap: 1.875rem;
}
.section--blocks > .container .form-item--checkbox label:after {
    top: 50%;
    transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
    .section--blocks {
        gap: 2.5rem;
        padding-bottom: 9.375rem;
    }
    .section--blocks__item {
        flex: 0 1 calc(50% - 0.75rem);
        gap: 1.5rem;
    }
    .section--blocks__item h2 {
        text-align: left;
    }
    .section--blocks > .container {
        gap: 2.5rem;
    }
    .section--blocks > .container:first-child {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 2.5rem 1.5rem;
    }
    .section--blocks > .container .checkboxes {
        gap: 2.75rem;
    }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
    .section--blocks > .container .button {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.section--cleaner-orders .container:first-child {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: calc(100% - 1.5rem);
    padding: 0.75rem;
    border-radius: 18px;
    background: #422a9b;
}
.section--cleaner-orders .container:first-child h3 {
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 400;
    color: #fff;
    text-align: center;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-orders .container:first-child {
        max-width: 49.75rem;
        margin: 0 auto;
        padding: 1.5rem;
    }
}
.section--cleaner-orders .container:last-child > p {
    display: block;
    margin: 0.75rem 0;
    font-size: 0.875rem;
    line-height: 1;
    text-align: center;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-orders .container:last-child {
        max-width: 51.25rem;
        margin: 0 auto;
    }
}
.section--cleaner-orders__items {
    display: flex;
    gap: 0.75rem;
}
.section--cleaner-orders__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 14px;
    background: #fff;
    background: #33236e;
    font-size: 0.875rem;
    line-height: 1;
    color: #fff;
    text-align: center;
}
.section--cleaner-orders__item > p:last-child {
    font-size: 2.125rem;
    font-weight: 700;
    color: #ffc053;
}
.section--cleaner-orders__info {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(4px);
}
.section--cleaner-orders__info-item {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.875rem;
}
.section--cleaner-orders__info-item p {
    line-height: 1;
}
.section--cleaner-orders__info-item p:last-child {
    color: #422a9b;
}
.section--cleaner-orders__info-item span {
    font-size: 1.125rem;
    font-weight: 700;
}
.section--cleaner-orders__info-item__bottom {
    padding-top: 1.5rem;
    border-top: 1px dashed rgba(42, 36, 68, 0.9);
}
.section--cleaner-orders__info-item__bottom p:first-child {
    font-weight: 700;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-orders__info {
        padding: 1.25rem;
    }
}
.section--cleaner-items__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-items__wrapper {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem 1.25rem;
    }
}
.section--dayoff .container .wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.5rem 0.75rem;
    border-radius: 18px;
    background: #c00006;
    font-size: 1.25rem;
    line-height: 1.1;
    color: #fff;
    text-align: center;
}
@media only screen and (min-width: 768px) {
    .section--dayoff .container .wrapper {
        max-width: 29.375rem;
        margin: 0 auto;
        padding: 1.5rem;
    }
}
.section--dayoff .container span {
    font-weight: 700;
}
@media only screen and (min-width: 768px) {
    .section--dayoff-payout .container .wrapper {
        max-width: 49.875rem;
    }
}
.section--working-time__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem 0.375rem;
    margin-bottom: 2.5rem;
}
.section--working-time__item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 0.375rem;
    border-radius: 18px;
    background: #422a9b;
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    text-align: center;
}
.section--working-time__item.free {
    background: #fff;
    color: #5c41be;
}
@media only screen and (min-width: 768px) {
    .section--working-time__item {
        padding: 0.75rem;
    }
}
.section--working-time .button {
    width: 100%;
    padding: 0.9375rem 1.125rem;
    font-size: 1rem;
}
@media only screen and (min-width: 768px) {
    .section--working-time .button {
        max-width: 19.125rem;
        margin: 0 auto;
    }
}
.section--dayoff-button .button {
    width: 100%;
}
@media only screen and (min-width: 768px) {
    .section--dayoff-button .button {
        width: auto;
        margin: 0 auto;
    }
}
.section--cleaner-history__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-history__items {
        flex-direction: row;
    }
    .section--cleaner-history__items > * {
        flex: 1;
    }
}
.section-cleaner-menu__items {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section-cleaner-menu__items {
        grid-template-columns: repeat(2, 1fr);
    }
}
.section-cleaner-menu__item {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}
@media only screen and (min-width: 768px) {
    .section-cleaner-menu--aggreement .section-cleaner-menu__items {
        grid-template-columns: 1fr;
        max-width: 39.5rem;
        margin: 0 auto;
    }
}
.section--cleaner-search .form-item {
    position: relative;
    margin-bottom: 1.25rem;
}
.section--cleaner-search .form-item button {
    all: unset;
    position: absolute;
    left: 1.125rem;
    top: 50%;
    width: 1.25rem;
    height: 1.25rem;
    transform: translateY(-50%);
}
.section--cleaner-search .form-item input {
    padding: 0.9375rem 1.125rem 0.9375rem 3.125rem;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-search .form-item {
        margin-bottom: 3.75rem;
    }
}
.section--cleaner-search-result__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.section--cleaner-search-result__items li {
    padding: 1.25rem;
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--shadow-soft);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.2;
    color: #33236e;
}
.section--cleaner-article h3 {
    margin: 1rem 0;
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.1;
    color: #33236e;
}
.section--cleaner-article p:not(:last-child) {
    margin-bottom: 1rem;
}
.section--cleaner-article .item:not(:last-of-type) {
    margin-bottom: 3.75rem;
}
.section--cleaner-article .button {
    margin: 2.875rem auto 0;
}
.section--cleaner-reviews__head {
    display: flex;
    width: calc(100vw - 1.5rem);
    margin: 0 auto;
    overflow-x: auto;
    gap: 0.375rem;
}
.section--cleaner-reviews__head-item {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.3125rem;
    padding: 1.0625rem 0.75rem;
    background: #0094d2;
    border-radius: 14px;
    border: none;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    cursor: pointer;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-reviews__head {
        justify-content: center;
        width: 100%;
    }
    .section--cleaner-reviews__head-item {
        flex-shrink: none;
    }
}
.section--cleaner-reviews__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
.section--cleaner-reviews__content .stars {
    justify-content: flex-start;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-reviews__content {
        grid-template-columns: repeat(3, 1fr);
    }
}
.section--cleaner-reviews .container {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
@media only screen and (min-width: 768px) {
    .section--cleaner-reviews .container {
        gap: 2.5rem;
    }
}
.section--files .container {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
@media only screen and (min-width: 768px) {
    .section--files .container {
        gap: 2.5rem;
    }
}
.section--files__uploaded {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.section--files__uploaded__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    width: 50%;
    font-weight: 500;
}
.section--files__uploaded__item img {
    width: 100%;
    height: auto;
    border-radius: 18px;
}
.section--files__uploaded__item__input {
    position: relative;
}
.section--files__uploaded__item__input > input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
.section--files__uploaded__item:last-child {
    padding: 0 1.5rem;
}
@media only screen and (min-width: 768px) {
    .section--files__uploaded {
        max-width: 30rem;
        margin: 0 auto;
    }
    .section--files__uploaded__item {
        width: auto;
    }
}
.section--files__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.section--files__item {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow-soft);
    font-weight: 500;
}
.section--files__item__head {
    display: flex;
    gap: 0.75rem;
}
.section--files__item h3 {
    flex: 1;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.1;
    color: #33236e;
}
.section--files__item__bottom {
    display: flex;
    align-items: center;
    gap: 1.125rem;
}
@media only screen and (min-width: 768px) {
    .section--files__item {
        padding: 1.5rem;
    }
}
.section--files .form-item__file__title {
    display: block;
}
@media only screen and (min-width: 768px) {
    .section--files .form-item__file__input {
        padding: 1.75rem 1.875rem;
    }
}
.section--calendar .container {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}
.section--calendar__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}
.section--calendar__header > button {
    all: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.125rem;
    height: 3.125rem;
    cursor: pointer;
    background-color: #fff;
    border-radius: 30px;
    box-shadow: var(--shadow-soft);
    transition: all 0.3s ease;
}
.section--calendar__header > button img {
    transition: filter 0.3s ease;
}
.section--calendar__header > button:hover {
    background-color: #0094D2;
    border-radius: 19px;
    box-shadow: var(--shadow-soft);
}
.section--calendar__header > button:hover img {
    filter: brightness(0) invert(1);
}
.section--calendar__header > button:active {
    background-color: #017EB3;
    border-radius: 19px;
    box-shadow: none;
}
.section--calendar__header > button:active img {
    filter: brightness(0) invert(1);
}
.section--calendar__header__title {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.375rem;
    padding: 0.875rem 1rem;
    border-radius: 18px;
    background: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    color: #0094d2;
    box-shadow: var(--shadow-soft) !important;
}
.section--calendar__header__title img {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}
.section--calendar__header__title p {
    font-size: 14px;
}
@media only screen and (min-width: 768px) {
    .section--calendar__header {
        max-width: 22rem;
        margin: 0 auto;
    }
}
.section--calendar__week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.375rem;
}
.section--calendar__week p {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.625rem;
    text-align: center;
}
.section--calendar__days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.375rem;
}
.section--calendar__day {
    height: 4.375rem;
    border-radius: 6px;
    background: #fff;
    box-shadow: var(--shadow-soft);
    border: 1px solid #E7E6E6;
    font-size: 0.875rem;
    font-weight: 600;
    color: #422a9b;
    transition: all 0.3s ease;
    text-align: center;
    cursor: pointer;
}
.section--calendar__day:hover {
    border: 1px solid #0094D2;
    border-radius: 3px;
}
.section--calendar__day.current {
    border: 1px solid #5c41be;
}
.section--calendar__day.active {
    background: #0094D2;
    border-color: #0094D2;
    border-radius: 3px;
    box-shadow: none;
    color: #fff;
}
.section--calendar__day.active p {
    color: #fff;
}
.section--calendar__day.dayoff {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    background: #c1b2f5;
    border-color: #c1b2f5;
    color: #765fcb;
}
.section--calendar__day.dayoff img {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
}
.section--calendar__day.inactive {
    color: #c1b2f5;
}
.section--calendar__day p:nth-child(2) {
    font-size: 0.75rem;
    height: 6.25rem;
    color: #0094d2;
}
.section--calendar__day__coef {
    font-size: 0.625rem;
    font-weight: 600;
    color: #0094d2;
    margin-top: 0.25rem;
}
.section--calendar__day.active .section--calendar__day__coef {
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .section--calendar__day {
        padding: 0.1875rem;
    }
}
.section--socials .container {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .section--socials .container {
        flex-direction: row;
        justify-content: center;
        max-width: 41rem;
        margin: 0 auto;
    }
}
.section--socials__item {
    display: flex;
    flex-direction: column;
    gap: 0.9375rem;
    padding: 2.125rem 1.5rem 1.5rem;
    border-radius: 18px;
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    font-size: 2.75rem;
    font-weight: 600;
    line-height: 1.2;
    color: #e1dcf1;
    text-align: center;
}
.section--socials__item h3 {
    margin-bottom: 0.625rem;
    font-size: 3.75rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}
.section--socials__item .button {
    width: 100%;
}
.footer {
    padding: 2.5rem 0 7.5rem;
    background: radial-gradient(190.16% 64.28% at 50% 100%, #302756 0%, #231b42 100%);
}
.footer ul,
.footer ol {
    list-style: none;
}
.footer .wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.footer .wrapper .logo__text {
    display: none;
}
.footer__menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.4375rem 0.75rem;
}
.footer__menu ul {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.footer__menu ul:first-child {
    display: none;
}
.footer__menu ul li a {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}
.footer__menu ul li:first-child {
    margin-bottom: 0.6875rem;
}
.footer__menu ul li:first-child a {
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .footer__menu {
        display: flex;
        gap: 1.25rem;
    }
    .footer__menu ul {
        flex: 1;
    }
    .footer__menu ul:first-child {
        display: block;
    }
}
.footer__contact {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
}
.footer__contact__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 0 0.75rem;
    font-size: 1rem;
    line-height: normal;
    font-weight: 500;
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .footer__contact {
        gap: 2.5rem;
    }
    .footer__contact__item {
        padding: 0;
    }
}
.footer__social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.375rem 1.5625rem;
}
.footer__social__item {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: normal;
    color: rgba(255, 255, 255, 0.7);
}
@media only screen and (min-width: 768px) {
    .footer__social {
        flex-wrap: nowrap;
        justify-content: center;
        gap: 2.5rem;
    }
}
.cleaner-login {
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
}
.cleaner-login .header {
    padding-bottom: 0;
}
.cleaner-login .logo__text {
    color: #fff;
}
.cleaner-login .section--form {
    display: flex;
    height: 100%;
    padding-bottom: 0.75rem;
    overflow-x: clip;
}
.cleaner-login .section--form .container {
    display: grid;
    grid-template-rows: 1fr 2fr 1fr;
    gap: 1.375rem;
    z-index: 2;
}
.cleaner-login .section--form .container__fields {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
}
.cleaner-login .section--form .container h2 {
    font-size: 1.875rem;
    font-weight: 500;
    line-height: 1.3;
    color: #fff;
    text-align: center;
    letter-spacing: -1.2px;
    text-transform: uppercase;
}
.cleaner-login .section--form .container .button--repeat {
    position: relative;
    margin-top: auto;
    background: radial-gradient(127.22% 88.9% at 5.96% 0%, #44b3e1 0%, #0094d2 100%);
    border: none;
    font-size: 1.5rem;
    z-index: 2;
}
.cleaner-login .section--form .container .form-item {
    position: relative;
    margin: 0;
    z-index: 2;
}
.cleaner-login .section--form .container .form-item input {
    padding: 1.1875rem 0.75rem;
}
@media only screen and (min-width: 768px) {
    .cleaner-login .section--form .container {
        grid-template-rows: 1fr 3fr 5.625rem;
        max-width: 30.875rem;
    }
    .cleaner-login .section--form .container__fields {
        gap: 1.5rem;
    }
    .cleaner-login .section--form .container h2 {
        margin-bottom: 1rem;
    }
    .cleaner-login .section--form .container .button--repeat {
        max-width: 19.0625rem;
        width: 100%;
        margin: 0 auto;
        font-size: 1.125rem;
    }
    .cleaner-login .section--form .container .form-item {
        max-width: none;
    }
    .cleaner-login .section--form .container .form-item input {
        padding: 1.3125rem 1.5rem;
    }
}
.cleaner-login .section--form__bg {
    top: 50%;
    bottom: auto;
    width: 50%;
    transform: translateY(-50%);
}
.cleaner-login .section--form__bg img {
    width: 100%;
    object-fit: contain;
}
@media only screen and (min-width: 768px) {
    .cleaner-login .section--form__bg {
        height: 100%;
        width: auto;
        transform: translate(85%, -60%);
    }
    .cleaner-login .section--form__bg img {
        height: 100%;
    }
}
.review {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9375rem;
    padding: 2.5rem 1.25rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    font-size: 1rem;
    line-height: 1.4;
    text-align: center;
}
.review__name {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
    color: #422a9b;
}
.review__date {
    font-size: 0.875rem;
    color: rgba(42, 36, 68, 0.6);
    font-weight: 400;
}
.section--clients-reviews__reviews .review {
    background: #fff !important;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
    margin-bottom: 0;
    padding: 2.5rem 1.5rem;
    backdrop-filter: none !important;
    opacity: 1 !important;
}
.section--clients-reviews__reviews .review__name {
    color: #422a9b;
}
.section--clients-reviews__reviews .review__text {
    color: rgba(42, 36, 68, 0.8);
    font-size: 1rem;
    line-height: 1.4;
    text-align: center;
}
.form-item input,
.form-item textarea {
    width: 100%;
    padding: 1.375rem 1.25rem;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow-soft);
    border: none;
    font-size: 1.25rem;
}
.form-item input::placeholder,
.form-item textarea::placeholder {
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    color: #a4a4a4;
}
.form-item__prefix {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    padding: 1.34375rem 0.78125rem;
    background-color: #422a9b;
    border-radius: 18px 0 0 18px;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    color: #fff;
}
.menu {
    position: fixed;
    bottom: 0;
    left: 50%;
    display: none;
    gap: 1.875rem;
    width: 29.375rem;
    padding: 0.4375rem 0.75rem;
    border-radius: 15px 15px 0px 0px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: var(--shadow-soft);
    transform: translateX(-50%);
    z-index: 100;
    overflow: hidden;
}
.menu:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(12px);
    z-index: -1;
}
.menu__item {
    all: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: normal;
    color: rgba(42, 36, 68, 0.7);
    text-align: center;
    cursor: pointer;
}
.menu__item svg {
    width: 4.0625rem;
    height: 4.0625rem;
}
.menu__item svg rect {
    transition: all 0.3s ease;
}
.menu__item:hover svg rect {
    fill: #0094d2;
}
.menu__contact {
    position: fixed;
    bottom: 0;
    left: 50%;
    display: none;
    flex-direction: column;
    gap: 1.75rem;
    width: 49.25rem;
    height: 18.75rem;
    padding: 2.75rem;
    border-radius: 18px 18px 0px 0px;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: var(--shadow-soft);
    transform: translateX(-50%);
    z-index: 110;
    overflow: hidden;
}
.menu__contact::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(7px);
    z-index: -1;
}
.menu__contact__head {
    display: flex;
    gap: 0.75rem;
    text-align: center;
}
.menu__contact__head > p {
    flex: 1;
}
.menu__contact__head button {
    all: unset;
    width: 2.1875rem;
    height: 2.1875rem;
    cursor: pointer;
}
.menu__contact__items {
    display: flex;
    justify-content: center;
    gap: 2.1875rem;
}
.menu__contact__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: normal;
    color: rgba(42, 36, 68, 0.7);
    text-align: center;
    cursor: pointer;
}
.menu__contact__item img {
    object-fit: contain;
}
.menu__contact > a {
    font-size: 2.125rem;
    font-weight: 500;
    line-height: normal;
    color: #0094d2;
    text-align: center;
}
.menu--contact {
    width: 49.25rem;
    height: 18.75rem;
}
.menu--contact:before {
    display: none;
}
.menu--contact .menu__contact {
    display: flex;
}
.menu--contact .menu__item {
    display: none;
}
.menu.hidden {
    display: none;
}
@media only screen and (min-width: 768px) {
    .menu {
        display: flex;
    }
}
.menu--mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    border-radius: 15px 15px 0px 0px;
    background: radial-gradient(40.46% 69.91% at 50% 100%, #35afe3 0%, #0094d2 100%);
    box-shadow: var(--shadow-soft);
    z-index: 100;
    overflow: hidden;
}
.menu--mobile__logo {
    padding: 0.875rem 1.5625rem;
    background: rgba(42, 36, 68, 0.15);
}
.menu--mobile__button {
    all: unset;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    padding: 0.9375rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    cursor: pointer;
}
.menu--mobile.hidden {
    display: none;
}
.menu--mobile--open {
    position: fixed;
    top: 0;
    /* left: 0; */
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.125rem;
    padding: 0 0.375rem;
    /* padding-bottom: 4.125rem; */
    background: #F2F1F9;
    box-shadow: var(--shadow-soft);
    z-index: 100;
    overflow: auto;
}
.menu--mobile--open:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(10px);
    z-index: -1;
}
.menu--mobile--open > * {
    width: 22.5rem;
}
.menu--mobile--open__head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0;
}
.menu--mobile--open__head button {
    all: unset;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 8.125rem;
    padding: 0.6875rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: var(--shadow-soft);
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
}
.menu--mobile--open__phone {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: normal;
    color: #0094d2;
    text-align: center;
}
.menu--mobile--open__social {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
}
.menu--mobile--open__social a {
    width: 2.25rem;
    height: 2.25rem;
}
.menu--mobile--open__social a img {
    width: 100%;
    height: 100%;
}
.menu--mobile--open__account {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 2rem 0.25rem;
    border-radius: 14px;
    background: #0094D2;
    box-shadow: var(--shadow-soft);
    font-size: 0.875rem;
    font-weight: 500;
    color: #fff;
    width: 100%;
}
.menu--mobile--open > button {
    all: unset;
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    margin-top: auto;
    padding: 1rem 0.375rem;
    border-radius: 15px 15px 0 0;
    background: #c00006;
    font-size: 0.875rem;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
}
.menu--mobile--open > button p {
    line-height: 1.15;
}
@media only screen and (min-width: 768px) {
    .menu--mobile--open > button {
        left: 50%;
        width: 22.5rem;
        transform: translateX(-50%);
    }
}
.menu--mobile--open__links {
    display: flex;
    gap: 0.375rem;
    width: 100%;
}
.menu--mobile--open__links__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    padding: 2rem 0.375rem;
    border-radius: 14px;
    background: #0094d2;
    box-shadow: var(--shadow-soft);
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    text-align: center;
}
.menu--mobile--open__links__item img {
    width: 1.125rem;
    height: 1.125rem;
}
.menu--mobile--open.hidden {
    display: none;
}
@media only screen and (min-width: 768px) {
    .menu--mobile {
        left: 50%;
        width: 22.5rem;
        transform: translateX(-50%);
    }
}
.menu__desktop {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    z-index: 120;
    overflow: hidden;
}
.menu__desktop:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(4.5px);
    z-index: -1;
}
.menu__desktop .wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    width: 420px;
    margin: 12px auto;
}
.menu__desktop .wrapper > button {
    all: unset;
    position: absolute;
    bottom: 0;
    right: -56px;
    width: 60px;
    height: 60px;
    transform: translateX(100%);
    cursor: pointer;
}
.menu__desktop__head {
    display: flex;
    justify-content: space-between;
}
.menu__desktop__head button {
    all: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 10px;
    cursor: pointer;
}
.menu__desktop__head button img {
    width: 100%;
    height: 100%;
    padding: 11px;
    object-fit: contain;
}
.menu__desktop__phone {
    padding: 0.625rem 0 0.875rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.5);
    text-align: center;
}
.menu__desktop__phone a {
    font-size: 2.125rem;
    font-weight: 500;
    line-height: normal;
    color: #0094d2;
}
.menu__desktop__items {
    display: flex;
    /* flex-direction: column; */
    gap: 0.75rem;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
}
.menu__desktop__item {
    display: flex;
    align-items: center;
    gap: 1.875rem;
    padding: 1.125rem 1.25rem;
    background: #fff;
    border-radius: 16px;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: normal;
    color: #33236e;
    cursor: pointer;
    width: fit-content;
}
.menu__desktop__subitems {
    display: flex;
    justify-content: space-between;
    gap: 0.375rem;
}
.menu__desktop__subitems .subitem {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.75rem;
    border-radius: 14px;
    background: #0094d2;
    font-size: 0.625rem;
    font-weight: 500;
    color: #fff;
}
.menu__desktop__subitems .subitem img {
    width: 1.125rem;
    height: 1.125rem;
}
.menu__desktop.visible {
    display: block;
}
.logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
    color: rgba(42, 36, 68, 0.9);
    line-height: 1;
}
.button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.9375rem 1.125rem;
    border-radius: 12px;
    background-color: #0094d2;
    font-size: 1rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.2;
    box-shadow: var(--shadow-soft);
    transition: all 0.3s ease;
    cursor: pointer;
}
.button.dark {
    background-color: #422a9b;
}
.button.white {
    background-color: #fff;
    color: #422a9b;
}
.button.grey {
    background-color: rgba(255, 255, 255, 0.2);
    color: rgba(42, 36, 68, 0.9);
}
.button.yellow {
    background-color: #ffc053;
    color: #33236e;
}
.button.border {
    background-color: rgba(0, 0, 0, 0);
    color: #0094d2;
    border: 1.5px solid #0094d2;
}
.button--icon {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.125rem;
    height: 3.125rem;
    background-color: #fff;
    box-shadow: var(--shadow-soft);
    border-radius: 30px;
    cursor: pointer;
}
.button--icon img {
    width: 100%;
    height: 100%;
    padding: 0.9375rem;
    object-fit: contain;
}
.button--green {
    padding: 2.125rem 1.875rem;
    background-color: #00b190;
    border-radius: 24px;
    box-shadow: var(--shadow-soft);
    font-size: 1.125rem;
}
@media only screen and (min-width: 768px) {
    .button--green {
        min-width: 21rem;
    }
}
.button--red {
    padding: 2.125rem 1.875rem;
    background-color: #c00006;
    border-radius: 24px;
    box-shadow: var(--shadow-soft);
    font-size: 1.125rem;
}
@media only screen and (min-width: 768px) {
    .button--red {
        min-width: 21rem;
    }
}
.button--repeat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.375rem;
    padding: 1.25rem 1.875rem;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: normal;
    color: #fff;
    border-radius: 23px;
    border: 1px solid #5c41be;
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    cursor: pointer;
}
.button--repeat img {
    width: 5.875rem;
    height: 3rem;
}
@media only screen and (min-width: 768px) {
    .button--repeat {
        padding: 1.25rem 1.875rem;
        font-size: 1.125rem;
    }
}
.button:hover,
.button:focus-within {
    border-radius: 8px;
    background-color: #017EB3;
}
.card--service {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.5625rem;
    padding: 0.75rem;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    background-color: #422a9b;
}
.card--service__bg {
    position: absolute;
    top: 0;
    right: 0;
    object-fit: cover;
	opacity: 0.4;
}
.card--service__title {
    position: relative;
    display: flex;
	flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    z-index: 1;
}
.card--service__title h3 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: normal;
    color: #fff;
	text-align: center;
}
.card--service__title img {
    width: 3.875rem;
    height: 3.875rem;
    object-fit: contain;
}
.card--service__buttons {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    z-index: 1;
}
.card--service__buttons .button {
    flex: 1;
}
@media only screen and (min-width: 768px) {
    .card--service {
        flex-shrink: 0;
        width: min-content;
        gap: 4.6875rem;
        padding: 1.5rem;
    }
    .card--service__bg {
        top: 2.5rem;
		left: 7.5rem;
		opacity: 0.4;
    }
    .card--service__title img {
        width: 2.8125rem;
        height: 2.8125rem;
    }
}
.card--premium {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}
.card--premium:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(35, 27, 66, 0.6) -6.24%, rgba(0, 148, 210, 0.6) 164.24%);
}
.card--premium__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.card--premium__text {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: auto;
    line-height: 1.4;
    z-index: 1;
    color: #fff;
}
.card--premium__text h3 {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
}
.card--premium__text img {
    width: 1.875rem;
    height: 1.875rem;
    object-fit: contain;
}
.card--premium__button {
    position: relative;
    align-self: flex-end;
    display: flex;
    gap: 0.75rem;
    z-index: 1;
}
.card--premium__button .button--icon:last-of-type {
    display: none;
}
.card--premium__price {
    position: relative;
    align-self: flex-end;
    margin-bottom: 0.3125rem;
    z-index: 1;
}
.card--premium__price .price {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem;
    border-radius: 6px;
    background: #ffc053;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1;
}
.card--premium__price .price span {
    font-size: 1.375rem;
    font-weight: 800;
    color: #002839;
}
@media only screen and (min-width: 768px) {
    .card--premium {
        padding: 1.5rem;
    }
    .card--premium__text h3 {
        font-size: 1.625rem;
    }
}
.card--premium.active {
    background-color: #422a9b;
}
.card--premium.active .card--premium__bg {
    display: none;
}
.card--premium.active .card--premium__button .button--icon:first-of-type {
    display: none;
}
.card--premium.active .card--premium__button .button--icon:last-of-type {
    display: block;
}
.card-user {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
}
.card-user__title {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
    color: #33236e;
}
.card-user__title--big {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    color: #33236e;
}
.card-user__title--big h3 {
    font-size: 1.375rem;
    font-weight: 600;
    color: #5c41be;
    line-height: 1.2;
}
.card-user__title--big p {
    font-size: 0.875rem;
    line-height: 1.2;
}
.card-user__title--big p span {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
}
.card-user__date img,
.card-user__location img {
    width: 1.875rem;
    height: 1.875rem;
    object-fit: contain;
}
.card-user__date {
    display: flex;
    align-items: center;
    gap: 1.125rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
}
.card-user__date__text {
    font-weight: 500;
    line-height: 1;
    text-align: center;
}
.card-user__location {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
}
.card-user__bottom {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: auto;
}
.card-user button {
    all: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    padding: 0.9375rem 1.125rem;
    border-radius: 14px;
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    box-shadow: var(--shadow-soft);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    text-align: center;
    cursor: pointer;
}
.card-user button span {
    font-size: 0.75rem;
}
.card-user button > p:first-child {
    font-weight: 700;
}
.card-user button > p:first-child span {
    font-weight: 400;
}
.card-user__period {
    font-size: 1.125rem;
    font-weight: 500;
}
.card-user .buttons {
    display: flex;
    gap: 0.75rem;
}
.card-user .buttons button {
    background: #0094d2;
}
.card-user .buttons .button {
    flex: 1;
}
.card__cleaner {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.75rem;
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--shadow-soft);
}
.card__cleaner--name {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 500;
}
.card__cleaner h4 {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    color: #0094d2;
}
.card__cleaner__rating {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-left: auto;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.2;
    color: rgba(42, 36, 68, 0.7);
}
.card__cleaner--loading {
    text-align: center;
}
.card__cleaner--loading p {
    width: 100%;
}
.card__cleaner__count {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1rem;
    font-weight: 500;
    color: #5c41be;
}
.card--cleaner-review {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    background: #fff;
    font-weight: 500;
}
.card--cleaner-review h3 {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.2;
    color: #33236e;
}
.card--cleaner-review__date {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    color: #33236e;
}
.cleaner-order .section--tabs .tab-wrap {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.cleaner-order .section--tabs .tab-wrap .buttons {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    overflow-x: auto;
}
.cleaner-order .section--tabs .tab-wrap .buttons .tab {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem;
    border: none;
    border-radius: 18px;
    background-color: #0094d2;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    cursor: pointer;
}
.cleaner-order .section--tabs .tab-wrap .buttons .tab span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.75rem;
    height: 2.75rem;
    background: #005173;
    border-radius: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
}
.cleaner-order .section--tabs .tab-wrap .buttons .tab.active {
    background-color: #422a9b;
}
.cleaner-order .section--tabs .tab-wrap .buttons .tab.active span {
    background: #33236e;
}
@media only screen and (min-width: 768px) {
    .cleaner-order .section--tabs .tab-wrap .buttons .tab {
        flex: none;
        width: 13.75rem;
    }
}
.cleaner-order .section--tabs .tab-wrap .content .tab__content {
    display: none;
}
.cleaner-order .section--tabs .tab-wrap .content .tab__content.active {
    display: block;
}
.tab-wrap {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}
.tab-wrap .buttons {
    display: flex;
    justify-content: left;
    /* gap: 0.75rem; */
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    max-width: 100%;
}
.tab-wrap .buttons::-webkit-scrollbar {
    height: 4px;
}
.tab-wrap .buttons::-webkit-scrollbar-track {
    background: transparent;
}
.tab-wrap .buttons::-webkit-scrollbar-thumb {
    background: rgba(42, 36, 68, 0.3);
    border-radius: 2px;
}
.tab-wrap .buttons .tab,
.tab-wrap .buttons .button {
    flex-shrink: 0;
    white-space: nowrap;
}
.tab-wrap .buttons .tab.active {
    background-color: #422a9b;
}
.tab-wrap .buttons .button {
    border-radius: 6px;
    border: 1px solid #fff;
}
.tab-wrap .content .tab__content {
    display: none;
}
.tab-wrap .content .tab__content.active {
    display: block;
}
.stars {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
}
.stars svg path {
    transition: all 0.3s ease;
}
.stars svg:hover {
    cursor: pointer;
}
.stars svg:hover path {
    fill: #ffc053;
}
.stars svg.active path {
    fill: #ffc053;
}
.types {
    margin-top: 2.5rem;
}
.types .wrapper {
    display: flex;
    gap: 0.375rem;
    margin-bottom: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .types .wrapper {
        margin-bottom: 0;
        flex: 0 1 calc(50% - 0.625rem);
    }
}
.types__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    padding: 1.15625rem 0;
    border-radius: 16px;
    background-color: #fff;
    font-size: 0.625rem;
    transition: all 0.3s ease;
}
.types__item svg {
    width: 1.5625rem;
    height: 1.5625rem;
    object-fit: contain;
    transition: all 0.3s ease;
}
.types__item:hover {
    background-color: #422a9b;
    color: #fff;
    cursor: pointer;
}
.types__item:hover svg path {
    stroke: #fff;
    fill: #fff;
}
@media only screen and (min-width: 768px) {
    .types__item {
        flex: none;
        min-width: 5rem;
    }
}
.types__item.active {
    background-color: #422a9b;
    color: #fff;
    cursor: pointer;
}
.types__item.active svg path {
    stroke: #fff;
    fill: #fff;
}
.types .form-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(7px);
}
.types .form-item > button {
    all: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5rem;
    width: 5rem;
    padding: 0;
    box-sizing: border-box;
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow-soft);
    cursor: pointer;
}
.types .form-item > button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.types .form-item__text {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin: 0 1.25rem;
    font-weight: 500;
}
.types .form-item__text span {
    font-size: 1.25rem;
    font-weight: 700;
    color: #5c41be;
}
.types .form-item input {
    all: unset;
    max-width: 1.875rem;
    margin-right: 0.3125rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: #5c41be;
    appearance: none;
}
.types .form-item__square {
    gap: 1.5625rem;
}
.types .form-item__square > button {
    flex-direction: column;
    gap: 0.375rem;
}
.types .form-item__square > button > p {
    font-size: 0.625rem;
    color: #0094d2;
}
.types .form-item__square > button > p span {
    font-weight: 700;
}
.types .form-item__square > button.active {
    color: #fff;
    background-color: #5c41be;
}
.types .form-item__square .form-item__text {
    flex-direction: column;
    gap: 0;
    margin: 0;
    line-height: 1.2;
}
@media only screen and (min-width: 768px) {
    .types .form-item {
        flex: 0 1 calc(50% - 0.625rem);
    }
}
.types .container {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media only screen and (min-width: 768px) {
    .types .container {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.25rem;
        padding: 2.8125rem;
        max-width: 50rem;
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.4);
        box-shadow: var(--shadow-soft);
        backdrop-filter: blur(12.25px);
    }
}
.types__summary {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-top: 0.5rem;
}
.types__summary__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
    line-height: normal;
    color: rgba(42, 36, 68, 0.7);
}
.types__summary__item span {
    font-size: 1rem;
    font-weight: 700;
    color: #422a9b;
}
.types__summary > button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: troem(6);
    padding: 1.75rem 1.875rem;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: normal;
    color: #fff;
    border-radius: 23px;
    border: 1px solid #5c41be;
    background: linear-gradient(292deg, #5c41be 19.65%, #8067dc 95.06%);
    cursor: pointer;
}
.types__summary > button img {
    width: 5.875rem;
    height: 3rem;
}
.types__summary > button:hover {
    opacity: 0.85;
}
@media only screen and (min-width: 768px) {
    .types__summary {
        flex: 0 1 calc(55% - 0.3125rem);
        margin: 0 auto;
    }
    .types__summary > button {
        padding: 1.25rem 1.875rem;
        font-size: 1.125rem;
    }
}
.types__pollution {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
    font-size: rgba(42, 36, 68, 0.7);
    line-height: 1.4;
    font-weight: 400;
    text-align: center;
}
.types__pollution__items {
    display: flex;
    gap: 0.75rem;
}
.types__pollution__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem 1rem;
    background-color: #fff;
    border-radius: 18px;
    box-shadow: var(--shadow-soft);
    font-size: 1rem;
    line-height: 1.2;
    transition: all 0.3s ease;
}
.types__pollution__item svg {
    width: 2.5rem;
    height: 2.5rem;
}
.types__pollution__item svg path {
    transition: all 0.3s ease;
}
.types__pollution__item:hover {
    background-color: #422a9b;
    color: #fff;
    cursor: pointer;
}
.types__pollution__item:hover svg path {
    stroke: #fff;
    fill: #fff;
}
.types__pollution__item.active {
    background-color: #422a9b;
    color: #fff;
    cursor: pointer;
}
.types__pollution__item.active svg path {
    stroke: #fff;
    fill: #fff;
}
.types__pollution > p:first-of-type {
    font-size: 2.125rem;
    font-weight: 500;
    line-height: 1;
    color: #422a9b;
}
@media only screen and (min-width: 768px) {
    .types__pollution > p:first-of-type {
        font-size: 1rem;
        font-weight: 400;
        color: rgba(42, 36, 68, 0.7);
    }
}
@media only screen and (min-width: 768px) {
    .types__pollution {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.types__price {
    align-self: center;
}
.types__price p {
    padding: 0.375rem 1rem;
    border-radius: 15px;
    background: #ffc053;
    font-size: 1rem;
    font-weight: 400;
    line-height: normal;
    color: #002839;
}
.types__price p span {
    font-size: 1.375rem;
    font-weight: 800;
}
.types--office .container {
    gap: 1.25rem;
}
@media only screen and (min-width: 768px) {
    .types--office .container {
        flex-direction: column;
    }
}
.types--office .types__price {
    margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
    .types--office .types__price {
        margin-top: 0;
    }
}
.types--office .form-item {
    width: 100%;
}
@media only screen and (min-width: 768px) {
    .types--office .form-item {
        max-width: 21rem;
        margin: 0 auto;
    }
}
.types--office .form-item input {
    max-width: 3.125rem;
}
.types--renovation {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.types--renovation .form-item input {
    max-width: 3.125rem;
}
@media only screen and (min-width: 768px) {
    .types--renovation {
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.5);
        backdrop-filter: blur(7px);
    }
    .types--renovation .form-item {
        background: rgba(0, 0, 0, 0);
        backdrop-filter: none;
    }
}
.types > h2 {
    margin-bottom: 2.5rem;
    font-size: 2.125rem;
    font-weight: 500;
    line-height: 1;
    color: #422a9b;
    text-align: center;
}
.types__vacuum {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem;
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
	width: 100%;
	max-width: 410px;
}
.types__vacuum img {
    width: 1.6875rem;
    height: 40px;
}
.types__vacuum p:last-of-type {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem;
    border-radius: 6px;
    background: #ffc053;
    font-size: 1.375rem;
    font-weight: 800;
    color: #002839;
}
.types__vacuum p:last-of-type span {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.2;
}
/* Активное состояние - только при клике */
.types__vacuum.active {
    background-color: #0094D2 !important;
}
.types__vacuum.active p:last-of-type {
    background-color: #fff !important;
    color: #0094D2 !important;
}
.types__vacuum.active .types__vacuum--name {
    color: #fff !important;
}
.types__vacuum.active svg path,
.types__vacuum.active svg {
    fill: #fff !important;
    stroke: #fff !important;
}
/* Убираем все hover эффекты - важно чтобы они были после active */
.types__vacuum:hover:not(.active) {
    background-color: #fff !important;
}
.types__vacuum:hover:not(.active) p:last-of-type {
    background-color: #ffc053 !important;
    color: #002839 !important;
}
.types__vacuum:hover:not(.active) .types__vacuum--name {
    color: inherit !important;
}
.types__vacuum:hover:not(.active) svg path,
.types__vacuum:hover:not(.active) svg {
    fill: inherit !important;
    stroke: inherit !important;
}

@media only screen and (min-width: 768px) {
    .types {
        margin-top: -2.8125rem;
    }
}
.cleaner {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-height: 26.875rem;
    padding: 0.75rem;
    overflow: hidden;
}
@media only screen and (min-width: 768px) {
    .cleaner {
        padding: 1.5rem;
    }
}
.cleaner > picture,
.cleaner > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cleaner > picture img,
.cleaner > img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}
.cleaner__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cleaner__name {
    font-size: 1.375rem;
    line-height: 1.2;
    font-weight: 600;
    color: #422a9b;
}
.cleaner__rating {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
    font-size: 1.125rem;
    font-weight: 500;
    color: rgba(42, 36, 68, 0.7);
    line-height: 1.2;
}
.cleaner__footer {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
}
.cleaner__footer__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.75rem;
    gap: 0.375rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    font-size: 0.875rem;
    color: #33236e;
    line-height: 1;
}
.cleaner__footer__item > p:last-child {
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1;
    color: #5c41be;
}
.accordion {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    padding: 0.875rem 0.75rem;
}
.accordion[open] {
    background: #fff;
}
.accordion[open] > summary .accordion__icons > img:last-child {
    transform: rotate(180deg);
}
.accordion[open] > .accordion__content {
    padding-top: 0.625rem;
}
.accordion__content {
    font-size: 1rem;
}
.accordion__icons {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height: 1rem;
}
.accordion__icons > img:last-child {
    position: absolute;
    transform: rotate(90deg);
    transition: all 0.3s ease;
}
@media only screen and (min-width: 768px) {
    .accordion {
        padding: 1.5rem;
    }
}
summary::-webkit-details-marker {
    display: none;
}
summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
    cursor: pointer;
}
summary h3 {
    flex: 1;
    font-size: 1.325rem;
    font-weight: 600;
    line-height: 1.2;
    color: #422a9b;
}
@media only screen and (min-width: 768px) {
    summary h3 {
        font-size: 1.375rem;
    }
}
.blog {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 23.125rem;
    padding: 2.5rem 0.5rem;
    border-radius: 20px;
    aspect-ratio: 9/12;
    overflow: hidden;
}
.blog:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(35, 27, 66, 0.6) -6.24%, rgba(0, 148, 210, 0.6) 164.24%);
}
.blog__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.blog__image picture,
.blog__image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}
.blog__content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.2;
    color: #c1b2f5;
    text-align: center;
    z-index: 1;
}
.blog__content h3 {
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.15);
}
.swiper {
    display: grid;
    padding-top: 0.625rem;
    padding-bottom: 4rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}
/* Когда обе кнопки disabled (один слайд), убираем padding-bottom */
.swiper:has(.swiper-button-prev.swiper-button-disabled):has(.swiper-button-next.swiper-button-disabled) {
    padding-bottom: 0;
}
.swiper-wrapper {
    min-width: 0;
}
.swiper-slide {
    height: auto;
    width: 100% !important;
}
@media only screen and (min-width: 768px) {
    .swiper-slide {
        width: calc(33.3333333333% - 0.75rem) !important;
    }
}
.swiper-pagination {
    display: none !important;
}
.swiper-pagination-bullet {
    width: 9.5px;
    height: 9.5px;
    margin: 0;
    background: #005173;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    width: 13.5px;
    height: 13.5px;
    background: #0094d2;
}
.section--clients-reviews__reviews .section--clients-reviews__controls .swiper-button-prev,
.section--clients-reviews__reviews .section--clients-reviews__controls .swiper-button-next {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex-shrink: 0;
}
.swiper .swiper-button-prev,
.swiper .swiper-button-next {
    position: absolute !important;
    top: auto !important;
    bottom: 0 !important;
    width: 3.125rem;
    height: 3.125rem;
}
/* Делаем кнопки полупрозрачными когда они disabled */
.swiper .swiper-button-prev.swiper-button-disabled,
.swiper .swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: auto;
}
/* Когда кнопки скрыты (display: none), они не занимают место, поэтому пустого пространства не будет */
.swiper .swiper-button-prev {
    left: calc(50% - 1.8125rem);
    transform: translateX(-50%);
}
.swiper .swiper-button-prev:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../images/icon-prev.svg) no-repeat;
    background-size: contain;
}
.swiper .swiper-button-next {
    left: calc(50% + 1.8125rem);
    transform: translateX(-50%);
}
.swiper .swiper-button-next:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../images/icon-next.svg) no-repeat;
    background-size: contain;
}
.swiper-reviews .swiper-wrapper > .swiper-slide {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}
.swiper-reviews .swiper-wrapper > .swiper-slide .review {
    width: calc(33.3333333333% - 0.8333333333rem) !important;
    flex-shrink: 0;
    box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
    .swiper-reviews .swiper-wrapper > .swiper-slide {
        width: 100% !important;
        max-width: 100%;
    }
    .swiper-reviews .swiper-wrapper > .swiper-slide .review {
        width: calc(33.3333333333% - 0.8333333333rem) !important;
    }
}
.additional-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}
.additional-card svg {
    margin-bottom: 0.875rem;
    transition: all 0.3s ease;
}
.additional-card h4 {
    margin-top: auto;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    color: rgba(42, 36, 68, 0.7);
    transition: all 0.3s ease;
}
.additional-card button {
    all: unset;
    align-self: center;
    padding: 0.375rem 1rem;
    border-radius: 15px;
    background: #ffc053;
    font-size: 1rem;
    font-weight: 400;
    line-height: normal;
    color: #002839;
}
.additional-card button span {
    font-size: 1.375rem;
    font-weight: 800;
}
.additional-card:hover,
.additional-card.active {
    background-color: #422a9b;
}
.additional-card.active svg path {
    fill: #fff;
}
.additional-card.active h4 {
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .additional-card {
        padding: 0.625rem;
    }
}
@media only screen and (min-width: 1024px) {
    .additional-card {
        padding: 1.25rem;
    }
}
.subscription-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    padding: 1.9375rem 1.25rem;
    text-align: center;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}
.subscription-card h4 {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    color: rgba(42, 36, 68, 0.9);
}
.subscription-card button {
    all: unset;
    align-self: center;
    padding: 0.375rem 1rem;
    border-radius: 15px;
    background: #ffc053;
    font-size: 1.375rem;
    font-weight: 800;
    line-height: normal;
    color: #002839;
}
.subscription-card p {
    line-height: 1.4;
    color: #422a9b;
}
.subscription-card p span {
    margin-top: 0.375rem;
    font-size: 1.5rem;
    font-weight: 700;
}
.subscription-card:hover,
.subscription-card.active {
    background-color: #422a9b;
}
.subscription-card:hover svg path,
.subscription-card.active svg path {
    fill: #fff;
}
.subscription-card:hover h4,
.subscription-card.active h4 {
    color: #fff;
}
.subscription-card:hover p,
.subscription-card.active p {
    color: #fff;
}
.subscription-card.image {
    padding: 1.375rem 1.25rem;
}
.payment-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem 1rem;
    min-height: 10rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: var(--shadow-soft);
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
}
.payment-item svg {
    width: 2.5rem;
    height: 2.5rem;
}
.payment-item:hover,
.payment-item.active {
    background: #422a9b;
    color: #fff;
}
.payment-item:hover svg path,
.payment-item.active svg path {
    fill: #fff;
}
.checkboxes {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.form-item--checkbox label {
    position: relative;
    display: block;
    padding-left: 4.25rem;
}
.form-item--checkbox label a {
    color: rgba(42, 36, 68, 0.7);
    text-decoration: underline;
}
.form-item--checkbox label:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: var(--shadow-soft);
    transform: translateY(-50%);
}
.form-item--checkbox label:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.53125rem;
    width: 1.4375rem;
    height: 1.4375rem;
    border-radius: 5px;
    background-color: #0094d2;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    transform: translateY(-50%);
}
.form-item--checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.form-item--checkbox input:checked + label:after {
    visibility: visible;
    opacity: 1;
}
.status {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
}
.status__square {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.75rem;
    height: 1.75rem;
    background: rgba(0, 0, 0, 0);
    color: rgba(42, 36, 68, 0.9);
    border: 3px solid currentColor;
    border-radius: 50%;
}
.status__square:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    height: 60%;
    background-color: currentColor;
    border-radius: 50%;
}
.status--in-process {
    color: #5c41be;
}
.status--in-process .status__square {
    color: #5c41be;
}
.status--done {
    color: #00b190;
}
.status--done .status__square {
    color: #00b190;
}
.status--no-rating {
    color: #0094d2;
}
.status--no-rating .status__square {
    color: #0094d2;
}
.status--no-cliner {
    color: #ffc053;
}
.status--no-cliner .status__square {
    color: #ffc053;
}
.status--review {
    color: #c00006;
}
.status--review .status__square {
    color: #c00006;
}
.user-review {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
    padding: 1.5rem;
    background: #422a9b;
    border-radius: 18px;
}
.user-review textarea {
    width: 100%;
    font-size: 1rem;
    line-height: 1.4;
    color: #fff;
    padding: 0.75rem;
    border: none;
    background: #33236e;
    border-radius: 18px;
}
.user-review textarea::placeholder {
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .user-review textarea {
        min-height: 10rem;
    }
}
.user-review--empty {
    gap: 0.75rem;
    color: #fff;
}
.user-review--empty .button {
    width: 100%;
}
@media only screen and (min-width: 768px) {
    .user-review--empty {
        gap: 1.5rem;
    }
}
.form-item--radio {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}
.form-item--radio input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.form-item--radio input:checked + label:after {
    visibility: visible;
    opacity: 1;
}
input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
input[type="radio"]:checked + label:after {
    visibility: visible;
    opacity: 1;
}
input[type="radio"] + label {
    position: relative;
    display: block;
    padding-left: 3.875rem;
    font-size: 0.875rem;
}
input[type="radio"] + label a {
    color: rgba(42, 36, 68, 0.7);
    text-decoration: underline;
}
input[type="radio"] + label:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: var(--shadow-soft);
    transform: translateY(-50%);
}
input[type="radio"] + label:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.5625rem;
    width: 1.4375rem;
    height: 1.4375rem;
    border-radius: 50%;
    background-color: #0094d2;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    transform: translateY(-50%);
}
.form-item__file {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    background: #422a9b;
    border-radius: 18px;
}
.form-item__file__title {
    padding: 1.5rem 1.25rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(7px);
    font-size: 1.25rem;
    line-height: 1;
    color: #fff;
}
@media only screen and (min-width: 768px) {
    .form-item__file__title {
        display: none;
    }
}
.form-item__file__input {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    padding: 1.75rem 1.875rem;
    border-radius: 14px;
    border: 2px dashed #fff;
    box-shadow: var(--shadow-soft);
    font-size: 1.125rem;
    font-weight: 500;
    color: #fff;
}
.form-item__file__input > input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
@media only screen and (min-width: 768px) {
    .form-item__file__input {
        padding: 3.375rem;
    }
}
select {
    appearance: none;
    display: grid;
    grid-template-areas: "select";
    align-items: center;
    padding: 1rem 0;
    border: none;
    background: rgba(0, 0, 0, 0);
    margin: 0;
    width: 100%;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    z-index: 1;
    outline: none;
}
.form-item--select {
    display: grid;
    grid-template-areas: "select";
    align-items: center;
    position: relative;
    border-radius: 14px;
    box-shadow: var(--shadow-soft);
    padding: 0 0.75rem;
    background-color: #fff;
}
.form-item--select select,
.form-item--select::after {
    grid-area: select;
}
.form-item--select:after {
    content: "";
    grid-area: select;
    width: 1.5rem;
    height: 1.5rem;
    background-image: url(../images/icon-chevron.svg);
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    justify-self: end;
}
.dialog {
    top: 50%;
    width: 21rem;
    border: none;
    border-radius: 18px;
    background: #F2F1F9;
    box-shadow: var(--shadow-soft);
    transform: translateY(-50%);
    color: rgba(42, 36, 68, 0.7);
}
.dialog--city .dialog__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}
.dialog--city__items {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
}
.dialog--city__items .item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border: none;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow-soft);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    color: #422a9b;
    transition: all 0.3s ease;
    cursor: pointer;
}
.dialog__close {
    all: unset;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
}
.dialog--calendar {
    padding: 0.75rem;
}
.dialog--calendar .dialog__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}
.dialog--calendar .section--calendar__day {
    padding: 0;
}
.dialog--time {
    width: 10rem;
    height: 18.75rem;
}
.dialog--time__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-x: auto;
    font-size: 1.125rem;
    font-weight: 500;
    color: rgba(42, 36, 68, 0.7);
}
.dialog--time__items p {
    cursor: pointer;
}
.dialog--time__items p:hover {
    color: #0094d2;
}
.dialog--nonstandart {
    text-align: center;
}
.dialog--nonstandart h3 {
    font-size: 2.125rem;
    font-weight: 500;
    line-height: 1;
    color: #422a9b;
}
.dialog--nonstandart .dialog__inner {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 1.5625rem;
}
.dialog--nonstandart .social {
    display: flex;
    justify-content: center;
    gap: 3.125rem;
}
.dialog--nonstandart .social a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(42, 36, 68, 0.7);
}
.dialog--nonstandart .social a img {
    width: 1.875rem;
    height: 1.875rem;
}
.dialog--nonstandart .button {
    width: 100%;
}
.dialog--nonstandart .form-item input {
    padding-top: 1.1875rem;
    padding-bottom: 1.1875rem;
}
.dialog--nonstandart .form-item:not(:last-child) {
    margin-bottom: 0.75rem;
}
.dialog--nonstandart .dialog__close {
    top: 0.75rem;
    right: 0.75rem;
}
.form-item.error input,
.form-item.error textarea {
	border: 2px solid #EB382B;
}

.form-item.error {
	position: relative;
}

.form-item.error::before {
	content: attr(data-error);
	position: absolute;
	left: 1.25rem;
	top: 5px;
	color: #EB382B;
	z-index: 10;
}

.section--form .form-item--checkbox label {
	height: 2.5rem;
}



.cal-opt::-webkit-outer-spin-button,
.cal-opt::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.details-service {
	margin-top: unset!important;
}

.details-service[open] {
	background: rgba(42,36,68,.08)!important;
}

.details-service .types {
	margin-top: 20px!important;
	margin-bottom: 20px!important;
}

.section--details-cards .additional-card {
	margin-bottom: 20px;
}

.section--result__bill__services .item-service {
	font-weight: bold;
}

.section--result__bill__services .item:not(.item-service) {
	padding-left: 20px;
}

/*.subscription-card input[type="radio"]:checked + h4 {
  background-color: rgb(66, 42, 155);
}*/

.subscription-card:hover {
	background-color: rgba(42, 36, 68, 0.08);
}

.subscription-card:hover h4 {
	color: rgba(42,36,68,.9);
}

.subscription-card:hover p {
	color: #422a9b;
}

.subscription-card:has(input[type="radio"]:checked) {
  background-color: rgb(66, 42, 155);
}

.subscription-card input[type="radio"]:checked + h4,
.subscription-card input[type="radio"]:checked + p {
    color: rgb(255, 255, 255);
}

.section--order-hero .container details {
    padding: 0.9375rem 0;
}

.subscription-card:has(input[type="radio"]:checked) p {
  color: #ffffff; /* делаем текст белым */
}

/*.details-service .swiper-slide {
	width: calc(25% - 0.75rem)!important;
}*/

@media only screen and (max-width: 768px) {
	.details-service .swiper-slide {
	    display: grid;
	    grid-template-columns: repeat(2, 1fr);
	    gap: 0.75rem;
	}
}

.section--services-hero .container {
	gap: 1.25rem;
}

/* Принудительное ограничение ширины для мобильных устройств */
@media (max-width: 767px) {
    html,
    body,
    .body,
    .body > .content {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    .section {
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    .section .container {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .section.services,
    .section.section--reviews,
    .section.section--clients-reviews {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    .services__grid,
    .swiper-wrapper,
    .swiper {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .services__grid .card--service,
    .card--service {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .card--service__bg {
        max-width: 100% !important;
        height: auto !important;
    }
    .hero .wrapper,
    .tab-wrap,
    .tab-wrap .buttons {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    img,
    video,
    iframe {
        max-width: 100% !important;
        height: auto !important;
    }
    /* Специальное правило для изображения в footer клиентов-отзывов */
    .section--clients-reviews__footer .section--clients-reviews__woman {
        max-width: 50% !important;
    }
}