/* stylelint-disable indentation */
/* stylelint-enable indentation */
.has-lines {
    display: inline-block;
    position: relative;
}
.has-lines::before, .has-lines::after {
    content: "";
    display: block;
    height: var(--lines-size, 1.5px);
    left: 0;
    background: var(--lines-color, currentColor);
    position: absolute;
    user-select: none;
    right: 0;
    top: 50%;
}
.has-lines::before {
    transform: translateY(calc(-1 * var(--lines-offset, 0.75em)));
}
.has-lines::after {
    transform: translateY(var(--lines-offset, 0.75em));
}

.has-lines2 {
    display: inline-block;
    position: relative;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.has-lines2::before, .has-lines2::after {
    content: "";
    display: block;
    height: var(--lines-size, 1.5px);
    left: 0;
    background: var(--lines-color, currentColor);
    position: absolute;
    user-select: none;
    right: 0;
}
.has-lines2::before {
    top: 0 !important;
    transform: none !important;
}
.has-lines2::after {
    top: unset !important;
    transform: none !important;
    bottom: 0 !important;
}

.c-program-popup {
    padding: 3.4375rem 1.5625rem 1.5625rem;
    --lines-size: 2px;
}
@media screen and (min-width: 80em) {
    .c-program-popup {
        min-width: 56.875rem;
        padding: 1.875rem 1.25rem 1.875rem 2.5rem;
    }
}
.c-program-popup__image-main {
    height: 100%;
}
.c-program-popup__image-main img {
    object-fit: cover;
    width: 100%;
    height: 100% !important;
}
.c-program-popup__copy {
    font-family: "museo-sans", sans-serif;
    font-size: 1.25rem;
    line-height: 1.5625rem;
    font-weight: 500;
    --gutter-size-y: 15px;
}
@media screen and (min-width: 80em) {
    .c-program-popup__copy {
        font-size: 1.375rem;
        line-height: 1.5625rem;
    }
}
.c-program-popup__heading {
    font-family: "Saira Condensed", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 2.5rem;
    line-height: 2.875rem;
    font-weight: 600;
}
@media screen and (min-width: 64em) {
    .c-program-popup__heading {
        font-size: 2.8125rem;
        line-height: 3.1875rem;
    }
}
.c-program-popup__grid {
    display: grid;
    grid-template: "text image" auto "button button" auto/1fr auto;
    gap: 1.25rem;
}
@media screen and (min-width: 80em) {
    .c-program-popup__grid {
        grid-template: "text image" auto "button image" auto/1fr auto;
    }
}
.c-program-popup__image {
    grid-area: image;
    margin-top: auto;
    margin-block-start: auto !important;
}
.c-program-popup__image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    margin: 0;
    max-width: 8.75rem !important;
}
.c-program-popup__button {
    grid-area: button;
    margin-top: auto;
}
@media screen and (max-width: 79.99em) {
    .c-program-popup__button {
        width: 100%;
    }

    .c-program-popup__button .c-button {
        width: 100%;
    }
}
.c-program-popup__text {
    grid-area: text;
    font-family: "museo-sans", sans-serif;
    margin: 0 0 1.25rem !important;
}
.c-program-popup__text p {
    margin: 0 !important;
}

.c-flats-popup-block {
    background: url("../../../assets/img/popup-decor-mobile.png") no-repeat bottom 12.5rem right;
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block {
        background: url("../../../assets/img/popup-decor.png") no-repeat top left;
    }
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block.no-info .c-flats-popup-block__content {
        grid-template-areas: "number plan" "rooms plan" "area plan" "old_price plan" "new_price plan" "last_price plan" "link plan";
    }
}
.c-flats-popup-block__content {
    align-items: center;
    padding: 0 2.1875rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    grid-auto-rows: auto;
    grid-template-areas: "number number" "rooms area" "plan plan" "info info" "old_price old_price" "new_price new_price" "last_price last_price" "link link";
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__content {
        gap: 0 1.5rem;
        padding: 0 5.625rem 0 8.4375rem;
        grid-template-areas: "number plan" "rooms plan" "area plan" "info plan" "old_price plan" "new_price plan" "last_price plan" "link plan";
    }
}

.c-flats-popup-block__number {
    font-family: "museo-sans", sans-serif;
    font-size: 1.125rem;
    grid-area: number;
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__number {
        font-size: 1rem;
    }
}

.c-flats-popup-block__rooms {
    grid-area: rooms;
    font-size: 1.375rem;
    line-height: 1.375rem;
    font-weight: 700;
}

.c-flats-popup-block__area {
    line-height: 1.375rem;
    grid-area: area;
    font-size: 1rem;
    margin-top: auto;
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__area {
        margin-bottom: auto;
        margin-top: 0;
    }
}

.c-flats-popup-block__plan {
    grid-area: plan;
}
.c-flats-popup-block__plan-img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__plan-img {
        min-width: 26.25rem;
    }
}

.c-flats-popup-block__info {
    margin: auto auto auto 0;
    font-family: "Saira Condensed", sans-serif;
    padding: 0.1875rem 0.375rem;
    background: var(--color-orange);
    color: white;
    grid-area: info;
    font-size: 1rem;
    line-height: 1.6875rem;
    text-transform: uppercase;
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__info {
        margin: 1.5rem auto 1.5rem 0;
    }
}
.c-flats-popup-block__info span {
    font-size: 1.4375rem;
    line-height: 1.6875rem;
}

.c-flats-popup-block__old-price {
    margin-top: auto;
    font-weight: 500;
    grid-area: old_price;
    font-size: 1.25rem;
    line-height: 1.125rem;
    color: var(--color-blue);
    position: relative;
    margin-right: auto;
}
.c-flats-popup-block__old-price::after {
    height: 2px;
    background: currentColor;
    left: 0;
    right: 0;
    content: "";
    display: block;
    top: 40%;
    position: absolute;
    transform: translateY(-50%);
}
.c-flats-popup-block__old-price span {
    font-size: 0.5em;
}

.c-flats-popup-block__new-price {
    color: var(--color-blue);
    grid-area: new_price;
    font-weight: bold;
    white-space: nowrap;
    font-size: 3rem;
    line-height: 2.6875rem;
}
.c-flats-popup-block__new-price span {
    font-size: 0.5em;
}

.c-flats-popup-block__last-price {
    grid-area: last_price;
    font-size: 0.625rem;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}
@media screen and (max-width: 79.99em) {
    .c-flats-popup-block__last-price {
        padding-right: 3.125rem;
    }
}

.c-flats-popup-block__link {
    grid-area: link;
}

.c-flats-popup-block__footer {
    margin-top: 2.25rem;
    --sfy-heading-color: white;
    --sfy-text-color: white;
    color: white;
    background: var(--color-blue);
    padding: 1.25rem 2.1875rem;
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__footer {
        padding: 1.25rem 8.4375rem;
    }
}

.c-flats-popup-block__footer-first-line h2 {
    font-family: "Saira Condensed", sans-serif;
    font-weight: 600;
    font-size: 1.375rem;
    line-height: 1.5rem;
}
@media screen and (max-width: 79.99em) {
    .c-flats-popup-block__footer-first-line h2 {
        text-align: center;
    }
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__footer-first-line {
        padding-right: 12.8125rem;
        background: url("../../../assets/img/popup-footer.png") no-repeat right bottom;
    }
}

.c-flats-popup-block__footer-second-line {
    font-weight: normal;
    font-size: 0.625rem;
    line-height: 1.125rem;
    text-align: center;
}
@media screen and (min-width: 80em) {
    .c-flats-popup-block__footer-second-line {
        text-align: left;
    }
}
