/* Общие стили */

footer {
    transition: transform 1s ease;
}

.top > .container, .services-slider > .container, .partnersNearby > .container, .partners > .container, .slider-sectioen > .container, .app .userInfo > .container {
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 16px;
}

.slider-section {
    width: 100%;
    max-width: 1150px;
    margin: 30px auto 0;
    /*padding-bottom: 30px;*/
    display: none;
    /*height: 176px;
    overflow:hidden;*/
}

/*.slider .slick-slide {
    /*box-sizing: border-box;
    border-radius: 1rem;
    transform: scale(100%);
    transition: all 0.15s ease-in-out;
/*    height: 166px;
	/*padding: 0 1rem;
	cursor: pointer;
	/*pointer-events: auto;
}

@media (hover: hover) and (pointer: fine) {
   /* .slider .slick-slide:hover {
        pointer-events: auto;
        transform: scale(93%);
        transition: transform 0.25s ease-out;
    }
}*/



.slider .slick-slide a img {
    width: 98%;
    box-sizing: border-box;
    border-radius: 1rem;
    transition: all 0.25s ease-in;
}

@media (hover: hover) and (pointer: fine) {
    .slider .slick-slide img:hover {
        pointer-events: auto;
        transform: scale(95%);
        transition: all 0.25s ease-in;
    }
}

@media (max-width: 599px) and (min-width: 0px) {
    .slider .slick-slide img {
        margin: 0 6px;
    }
}

@media (max-width: 768px) and (min-width: 600px) {
    .slider .slick-slide img {
        width: 94%;
        margin: 0 11px;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .slider .slick-slide img {
        width: 94%;
        margin: 0 10rem;
    }
}

@media (hover: hover) and (pointer: fine) {
    .popupOverlay .apply:hover {
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    }
}

.popupOverlay .apply {
    color: #FFFFFF;
    background: #90278E;
    cursor: pointer;
    transition: box-shadow 0.3s ease, background 0.2s ease;
}

.popupOverlay .apply:active {
    background: #993897;
}

.partnersList.scrollBlock {
    overflow-x: auto;
}

.scrollBlock::-webkit-scrollbar {
    display: none;
}

/* Блок «Верхний» */
.top img {
    width: 100%;
}

/* Блок «Сервисы» */
.services-slider, .profile-popup > .container {
    width: 100%;
    background: #FFFFFF;
}
.services-slider {
    margin-top: 48px;
}

.services-slider .header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.services-slider .header .title {
    font-size: 32px;
    font-weight: 700;
    color: #333333;
}

.services-slider .header .more {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    text-decoration: none;
}

.services-slider .header .more p {
    font-size: 16px;
    font-weight: 500;
    color: #333333;
    cursor: pointer;
}

.services-slider .header .more div {
    margin-left: 8px;
}

.services-slider .servicesList {
    margin-top: 24px;
}

.services-slider .servicesList .service {
    display: flex;
    flex-direction: column;
    padding: 16px;
    border-radius: 16px;
    text-decoration: none;
    outline-offset: -2px;
    outline: 2px solid transparent;
    transition: outline 0.3s ease-in;
}

@media (hover: hover) and (pointer: fine) {
    .services-slider .servicesList .service:hover {
        outline-color: #b6b6b6;
        transition: outline 0.2s ease-in;
    }
}

.services-slider .servicesList .service:active {
    outline-color: #b6b6b6;
    transition: outline 0.2s ease-in;
}

.services-slider .servicesList .service * {
    pointer-events: none;
}

.services-slider .servicesList .service:not(:first-child) {
    margin-left: 24px;
}

.services-slider .servicesList .service img {
    width: 48px;
    height: 48px;
}

.services-slider .servicesList .service .content {
    min-width: 350px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    margin-top: 24px;
}

.services-slider .servicesList .service .content .title {
    font-size: 24px;
    font-weight: 700;
    color: #333333;
}

.services-slider .servicesList .service .content .text {
    align-content: end;
    flex: 1;
    margin-top: 16px;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 400;
    color: #333333;
}



/* Блок «Партнёры рядом» */
.movable .partnersNearby {
    margin-bottom: 48px;
}

.partnersNearby {
    width: 100%;
    margin-top: 48px;
}

.partnersNearby .header, .slider-section .header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.partnersNearby .header .title, .slider-section .header .title {
    font-size: 32px;
    font-weight: 700;
    color: #333333;
}

.partnersNearby .header .more {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    text-decoration: none;
}

.partnersNearby .header .more p {
    font-size: 16px;
    font-weight: 500;
    color: #333333;
    cursor: pointer;
}

.partnersNearby .header .more div {
    margin-left: 8px;
}

.partnersNearby .partnersList {
    margin-top: 24px;
}

.partnersNearby .partnersList .wrapper:empty {
    width: 100%;
    height: 178px;
}

.partnersNearby .partnersList .partnerCard:not(:first-child), .partnersNearby .partnersList .blank:not(:first-child) {
    margin-left: 16px;
}



/*Блок «Партнёры»*/
.partners {
    /*margin-top: 48px;*/
    padding-bottom: 30px;
}

.partners .container > .title {
    margin-bottom: 24px;
}

.app .partners .container > .title {
    margin-top: 24px;
}

.partners .title h1 {
    font-weight: 700;
    font-size: 32px;
    line-height: 40px;
    text-transform: unset;
    color: #333333;
}

.partners .title button[name='showInMap'] {
    height: 48px;
    display: none;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    border-radius: 12px;
    background: #FFFFFF;
    font-weight: 600;
    font-size: max(14px, min(1.367vw, 16px));
    color: #90278E;
    cursor: pointer;
    width: 21%;
    transition: all 0.2s ease;
}

.partners .title button[name='showInMap']:active {
    color: #FFFFFF;
    background: #90278E;
}

.partners .title button[name='showInMap'] svg {
    height: 18px;
    width: 15px;
    margin-right: 10px;
}

.partners .title button[name='showInMap']:active svg * {
    stroke: #FFFFFF;
    transition: all 0.2s ease;
}

.partners .options {
    width: 100%;
    display: grid;
    grid-template-columns: 33.675% 14.786% 16.239% 13.162% 16.666%;
    grid-template-rows: 48px;
    gap: 20px 1.367%;
    justify-content: space-between;
    margin-bottom: 16px;
}

.app .partners .options {
    grid-template-columns: 1fr 14.786% 16.239% 13.162%;
}

.partners .options-wrapper.sticky {
    --v-padding: 12px;
    --side-padding: 16px;
    width: calc(100% + var(--side-padding) * 2);
    margin: 0 calc(0px - var(--side-padding));
    position: relative;
    top: -1px;
    z-index: 15;
    background: #fff;
}


.partners .options-wrapper.sticky .options {
    margin: 0;
    padding: var(--v-padding) var(--side-padding);
}

.partners .options label {
    height: 48px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px;
    border-radius: 12px;
    background-color: #F2F4F8;
    transition: box-shadow 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
    .partners .options label:hover {
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.08);
    }
}

.partners .options label::before {
    width: 16px;
    height: 16px;
    position: absolute;
    left: 24px;
    content: "";
    background: url("/assets/site/pz_img/partners/magnifyingGlass.svg") center no-repeat;
    background-size: 16px;
    pointer-events: none;
}

.partners .options button.main--favorites-checkbox {
    display: none;
}

.partners .options input {
    width: auto;
    flex: auto;
    padding-left: 52px;
    border: none;
    background-color: #F2F4F8;
    font-weight: 400;
    font-size: max(14px, min(1.367vw, 16px));
    color: #777777;
    outline: none;
}

.partners .options button.main--favorites-checkbox {
    display: none;
}

.partners .options input[type="text"]::placeholder {
    text-align: left;
}

.partners .options input:invalid + .clear-input {
    display: flex;
}

.partners .options .clear-input {
    margin-right: 12px;
}

.partners .options .filters {
    display: none;
    align-items: center;
    flex-wrap: nowrap;
    margin-left: auto;
}

.partners .options .filters p {
    display: block;
    color: #90278E;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
}

.partners .options .filters div {
    display: flex;
    align-items: center;
}

.partners .options .filters div svg {
    width: 24px;
    height: 24px;
    margin-left: 12px;
    pointer-events: none;
}

.partners .options .filters div.active svg * {
    fill: #90278E;
}

.partners .options .filters div svg * {
    transition: fill 0.2s ease;
}

.partners .options .filters div:active svg * {
    fill: #90278E;
    transition: fill 0.3s ease;
}

.partners .options button {
    height: 48px;
    border: none;
    padding: 0;
    border-radius: 12px;
    background: #F2F4F8;
    font-weight: 500;
    font-size: max(14px, min(1.367vw, 16px));
    color: #90278E;
    cursor: pointer;
    transition: all 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .partners .options button:hover {
        border: 1px solid #90278E;
        background: rgba(144, 39, 142, 0.08);
    }
}

.partners .options button:active {
    color: #FFFFFF;
    background: #90278E;
}

.partners .options button:active svg * {
    stroke: #FFFFFF;
    transition: all 0.2s ease;
}

.partners .options button[name='categories'] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.partners .options button[name='categories'] svg {
    height: 14px;
    width: 18px;
    margin-right: 10px;
}

.partners .options button[name='discounts'] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.partners .options button[name='discounts'] svg {
    height: 24px;
    width: 24px;
    margin-left: 8px;
}

.partners .options button[name='showInMap'] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.partners .options button[name='showInMap'] svg {
    height: 18px;
    width: 15px;
    margin-right: 10px;
}

.partners .options a {
    display: flex;
    height: 48px;
    background: #90278E;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 500;
    font-size: max(14px, min(1.367vw, 16px));
    color: #FFFFFF;
    transition: background 0.2s ease, box-shadow 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
    .partners .options a:hover {
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    }
}

.partners .options a:active {
    background: #993897;
}

.partners .filterTags {
    width: 100%;
    display: block;
    position: relative;
    z-index: 0;
    background: #fff;
    grid-column: 1 / -1;
}

.partners .options-wrapper .filterTags {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 0 var(--side-padding) var(--v-padding);
    display: grid;
    grid-template-rows: 1fr;
    transition: .3s ease;
}


.partners .options-wrapper .filterTags.empty {
    grid-template-rows: 0fr;
    visibility: hidden;
    /*opacity: 0;*/
    appearance: none;
    pointer-events: none;
    transition: 1s ease;
}


.partners .options-wrapper .filterTags.empty * {
    opacity: 0;
}

.partners .options-wrapper .filterTags.hidden {
    grid-template-rows: 0fr;
    /*opacity: 0;*/
    visibility: hidden;
    padding-bottom: 0;
    pointer-events: none;
    transition: .3s ease;
}

.partners .options-wrapper .hidden {
    grid-template-rows: 0fr;
}

.partners .filterTags .container {
    width: 100%;
    position: absolute;
    top: 0;
}

.partners .options-wrapper .filterTags .container {
    position: relative;
    /*--container-height: 36px;*/
    /*--container-offset: 10px;*/
    /*max-height: calc(var(--container-height) + var(--container-offset));*/
    /*padding-top: var(--container-offset);*/
    overflow: hidden;
}


.partners .options-wrapper .filterTags .container.hidden {
    grid-template-rows: 0fr;
}

/*.partners .options-wrapper .filterTags .container:has( .wrapper:empty) {*/
/*    max-height: 0;*/
/*    padding-top: 0;*/
/*    opacity: 0;*/
/*    visibility: hidden;*/
/*}*/

.partners .filterTags .container::-webkit-scrollbar {
    display: none;
}

.partners .filterTags .wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.partners .filterTags div[data-id] {
    display: flex;
    justify-content: center;
    align-items: center;
    /*margin: 0 10px 10px;*/
    /*margin-top: 10px;*/
    padding: 0 8px 0 16px;
    background: #F2F4F8;
    border-radius: 30px;
}

.partners .filterTags div[data-id] > svg {
    margin-right: 8px;
}

.partners .filterTags p {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    font-size: 12px;
    line-height: 36px;
    white-space: nowrap;
    color: #333333;
}

.partners .filterTags p span {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    padding: 8px;
    border-radius: 50%;
    cursor: pointer;
}

.partners .filterTags p span:hover {
    background: #F2F4F8;
}

.partners .filterTags p span:active {
    opacity: 48%;
}

.partners .filterTags p span svg {
    width: 12px;
    height: 12px;
    pointer-events: none;
}

.partners .movable {
    transition:
      transform 1s ease,
      padding 1s ease;
}

.partners .partnersList {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    padding-top: 8px;
    background-color: #FFFFFF;
    z-index: 1;
}

.partners .partnersList:empty {
    width: 100%;
    height: 600px;
}



/* Popup's */
.filters-popup {
    max-width: 90%;
    max-height: 90%;
    display: none;
    box-sizing: border-box;
    border-radius: 16px;
    overflow-y: auto;
    background: #FFFFFF;
}

.filters-popup.active {
    display: block;
    scale: 0;
    transition: scale ease;
    transition-duration: 0.2s;
}

.filters-popup.active.animation {
    scale: 1;
    transition: scale ease;
    transition-duration: 0.3s;
}

.filters-popup::-webkit-scrollbar {
    display: none;
}

.filters-popup .header {
    position: sticky;
    top: 0;
    padding: 24px 24px 0;
    background-color: #FFFFFF;
    touch-action: none;
    z-index: 1;
}

.filters-popup .header *:not(.close-popup) {
    pointer-events: none;
}

.filters-popup .header .wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 18px;
    /* border-bottom: 1px solid #EFEFF4; */
}

.filters-popup .header h3 {
    font-weight: 800;
    font-size: 24px;
    line-height: 31px;
    color: #333333;
}

.filters-popup .container {
    padding: 24px;
}

.filters-popup .categoriesList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
}

.filters-popup .discountsList {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 40px;
}

.filters-popup label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid #EFEFF4;
    cursor: pointer;
}

.filters-popup label input {
    display: none;
}

.filters-popup label svg {
    width: 24px;
    height: 24px;
    display: block;
    margin-right: 12px;
}

.filters-popup label p {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    white-space: nowrap;
    margin: 0;
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    color: #333333;
}

.filters-popup label:last-child p {
    margin-bottom: 0;
}

.filters-popup label p::after {
    content: "";
    height: 18px;
    width: 18px;
    margin-left: 40px;
    border: 1px solid #C7C7CC;
    border-radius: 4px;
    cursor: pointer;
}

.filters-popup .discountsList label p::after {
    margin-left: 200px;
}

@media (hover: hover) and (pointer: fine) {
    .filters-popup label:hover svg path[fill] {
        fill: #90278E;
    }

    .filters-popup label:hover svg path[stroke] {
        stroke: #90278E;
    }

    .filters-popup label:hover svg + p {
        color: #90278E;
    }
}

.filters-popup label:has(input:checked) {
    border-color: #424242;
}

.filters-popup label input:checked + svg path[fill] {
    fill: #90278E;
}

.filters-popup label input:checked + svg path[stroke] {
    stroke: #90278E;
}

.filters-popup label input:checked + svg + p, .filters-popup label input:checked + p {
    color: #90278E;
}

.filters-popup label input:checked + svg + p::after, .filters-popup label input:checked + p::after {
    border: 1px solid #424242;
    /* background: url("/assets/site/pz_img/partners/checkPath.svg") center no-repeat, #424242; */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 8' fill='none'%3E%3Cpath d='M12.3273 0.296141C12.1651 0.150516 11.9444 0.0686035 11.7141 0.0686035C11.4838 0.0686035 11.2631 0.150516 11.1009 0.296141L4.66699 6.0346L1.96387 3.61922C1.7371 3.4241 1.41068 3.35156 1.10758 3.42893C0.804472 3.5063 0.570735 3.72182 0.494409 3.99431C0.418083 4.2668 0.510764 4.55486 0.737541 4.74999L4.05382 7.70383C4.21598 7.84946 4.43672 7.93137 4.66699 7.93137C4.89726 7.93137 5.118 7.84946 5.28015 7.70383L12.3273 1.42691C12.5045 1.28128 12.6053 1.07629 12.6053 0.861525C12.6053 0.646757 12.5045 0.441768 12.3273 0.296141Z' fill='white'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-color: #424242;
    background-size: 13px 8px;
}
