/**
 * Theme Name:  Окна в Лобне
 * Theme URI:   
 * Author:      vladmaxi
 * Author URI:  https://fl.ru/users/vladmaxi
 * Description:  
 * License:     
 * License URI: 
 * Tags:        
 * Text Domain: 
 * Version:     1.0
 */
.ibg img {
    position: initial;
    opacity: 1;
    visibility: initial;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.grecaptcha-badge {
    display: none !important;
}

.products__slider-wrapp {
    display: grid
;
    grid-column-gap: var(--grid-column-gap);
    grid-row-gap: var(--grid-row-gap);
    grid-template-columns: repeat(3, 1fr);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    --grid-column-gap: 30px;
    --grid-row-gap: 35px;
}
.products__slider-card__link {
    color: #4798e4;
    font-weight: 500;
    opacity: 1;
    visibility: initial;
}
.products__slider-card a.header__btn.header__btn--white.open-modal {
    margin-top: 15px;
}
.products__slider-card__features {
    margin: 10px 0;
    padding: 0;
}

.feature-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}

.feature-item:last-child {
    border-bottom: none;
}

.feature-label {
    color: #666;
    font-weight: 500;
}

.feature-value {
    color: #333;
    font-weight: 600;
    text-align: right;
    font-size: 12px;
}
.products__slider-card__price {
    margin: 12px 0 15px;
}
.products__slider-card {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
    position: relative;
    height: 705px;
}
.products__slider-card__features {
    position: absolute;
    bottom: 20px;
    margin: 0;
    width: 89%;
    max-width: 100%;
}


.toggle-arrow:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: -3px 0 0 10px;
    width: 10px;
    height: 10px;
    border-color: #000;
    border-style: solid;
    border-width: 0 2px 2px 0;
    right: 0;
    position: absolute;
    top: -10px;
    transition: 0.3s;
}
.products__slider-card__text {
    margin-bottom: 10px;
}
.products__slider-card__text-wrapper {
    position: relative;
    margin: 10px 0;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
    background: #fff;
    padding: 10px;
    z-index: 999;
    cursor: pointer;
}
.products__slider-card__text {
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
}

/* Состояние "свернуто" - 2 строки */
.products__slider-card__text[data-collapsed="true"] {
    max-height: 3em;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin: 0;
}

/* Состояние "развернуто" */
.products__slider-card__text[data-collapsed="false"] {
    max-height: none;
    display: block;
}
.products__slider-card__text-wrapper:hover .products__slider-card__text {
    max-height: 100em;
    -webkit-line-clamp: 100;
}


/* Градиент для плавного перехода в свернутом состоянии */
.products__slider-card__text[data-collapsed="true"]::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 20px;
    background: linear-gradient(transparent, white);
    pointer-events: none;
}
.products__slider-card__text-wrapper:hover .products__slider-card__text[data-collapsed="true"]::after {
    background: none;
}
/* Стили для стрелки */
.text-toggle {
    text-align: center;
    margin-top: 8px;
    cursor: pointer;
    user-select: none;
}

.toggle-arrow {
    display: inline-block;
    font-size: 16px;
    color: #2c5aa0;
    transition: transform 0.3s ease;
    font-weight: bold;
    position: relative;
}
/* Скрываем кнопку, если текст короткий */
.products__slider-card__text-wrapper:not(.has-long-text) .text-toggle {
    display: none;
}
section.reviews__swdgts {
    height: 600px;
    padding-top: 100px;
}
.main-home__bg {
    background: none;
}
.main-home__img {
    width: 100%;
}
.vyvod_preimushhestv {
    display: grid;
    grid-column-gap: var(--grid-column-gap);
    grid-row-gap: var(--grid-row-gap);
    grid-template-columns: repeat(3, 1fr);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    --grid-column-gap: 30px;
    --grid-row-gap: 30px;
    padding: 20px 0 50px;
}
.title_vyvod_preimushhestv {
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 10px;
}
.ikonka_vyvod_preimushhestv {
    width: 50px;
    height: 50px;
    margin-bottom: 20px;
}
.ikonka_vyvod_preimushhestv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main-floating-button {
    background: #2c3e50;
    color: #fff;
    border: none;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
    transition: all .3s ease;
}
.floating-buttons-popup {
    position: absolute;
    bottom: 70px;
    right: 5px;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.floating-buttons-container {
    position: fixed;
    bottom: 50px;
    right: 30px;
    z-index: 999;
}
.floating-button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
    transition: all .2s ease;
}
.floating-buttons-container:hover .floating-buttons-popup {
    opacity: 1;
    visibility: visible;
}
.floating-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, .3);
}
a.floating-button.whatsapp {
    background: #25D366;
}
a.floating-button.phone {
    background: #70B8F1;
}
/* Стили для пульсирующей анимации */
.main-floating-button {
    animation: pulse 2s infinite;
    box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7);
}

@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 15px rgba(0, 123, 255, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0, 123, 255, 0);
    }
}

/* Существующие стили контейнера (дополните при необходимости) */
.floating-buttons-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
}

.main-floating-button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #007bff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.floating-buttons-popup {
    position: absolute;
    bottom: 70px;
    right: 6px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.floating-button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.floating-button.whatsapp {
    background: #25D366;
    color: white;
}

.floating-button.phone {
    background: #007bff;
    color: white;
}

/* Показ всплывающих кнопок при ховере */
.floating-buttons-container:hover .floating-buttons-popup {
    opacity: 1;
    visibility: visible;
}
.etapy_rabot {
    display: grid;
    grid-column-gap: var(--grid-column-gap);
    grid-row-gap: var(--grid-row-gap);
    grid-template-columns: repeat(4, 1fr);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    --grid-column-gap: 30px;
    --grid-row-gap: 30px;
    padding-bottom: 50px;
}
.img_etapy_rabot {
    position: relative;
    height: 120px;
    border-radius: 15px;
    overflow: hidden;
}
.img_etapy_rabot_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ikonka_etapy_rabot {
    position: absolute;
    width: 60px;
    height: 60px;
    background: #fff;
    top: 10px;
    right: 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ikonka_etapy_rabot img {
    width: 40px;
    height: 40px;
    object-fit: cover;
}
.opisanie_etapy_rabot {
    padding-top: 10px;
}
.vyvod_czen_na_produkcziyu {
    display: grid;
    grid-column-gap: var(--grid-column-gap);
    grid-row-gap: var(--grid-row-gap);
    grid-template-columns: repeat(5, 1fr);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    --grid-column-gap: 30px;
    --grid-row-gap: 30px;
    padding: 20px 0 50px;
}
.title_czen_na_produkcziyu {
    font-weight: 600;
    padding-bottom: 10px;
}
.img_czen_na_produkcziyu img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img_czen_na_produkcziyu {
    position: relative;
    height: 300px;
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 10px;
}
.tekst_czen_na_produkcziyu {
    padding-bottom: 20px;
}
.button--cyan {
    background-color: #f00;
}
.main-home__form-slogan p {
    font-size: 26px;
}
.title_bloka_etapov {
    font-size: 30px;
    font-weight: 600;
    padding-bottom: 40px;
}
.free-meas-form__block {
    border-radius: 20px;
    height: 352px;
    position: relative;
    width: 100%;
}
.free-meas-form__bg {
    border-radius: 20px;
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
}
.free-meas-form__bg .img {
    background-color: #6b767a;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: calc(100% - 2px);
}
.free-meas-form__bg .img {
    vertical-align: middle;
}
.free-meas-form__row {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 100%;
    justify-content: center;
    position: relative;
}
.free-meas-form__win {
    left: -140px;
    position: absolute;
    top: -26px;
    z-index: 1;
}
.free-meas-form__win .win--desktop {
    display: block;
    vertical-align: middle;
}
.free-meas-form__win .win--modal {
    display: none;
}
.form_box_new {
    color: #fff;
    height: 100%;
    margin-left: 410px;
    padding: 30px;
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.form_box_new:before {
    background-color: rgba(0, 23, 31, .8);
    border-bottom-right-radius: 20px;
    border-top-right-radius: 20px;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.free-meas-form__title {
    font-size: 26px;
    line-height: 1.4;
    padding-bottom: 6px;
    z-index: 999;
    position: relative;
}
form.form.form_box_new button {
    min-width: auto;
}
form.form.form_box_new .col-6 {
    -ms-flex: 0 0 33%;
    flex: 0 0 33%;
    max-width: 33%;
}
form.form.form_box_new .col-lg-3 {
    -ms-flex: 0 0 33%;
    flex: 0 0 33%;
    max-width: 33%;
}
form.form.form_box_new .button {
    font-size: 16px;
    padding: 20px 20px;
    margin: 0;
    width: 100%;
}
.free-meas-form__person-data {
    position: relative;
}
.recalc_smeta {
    overflow: hidden;
    position: relative;
    width: 100%;
    border-radius: 8px;
}
.recalc_smeta .background {
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    width: 100%;
}
.recalc_smeta .background.mobile, .recalc_smeta .background.tablet {
    display: none;
}
.recalc_smeta .blockCont {
    padding: 80px 0 70px 50%;
    position: relative;
}
.recalc_smeta .text {
    color: #fff;
    font-weight: 700;
}
.recalc_smeta .text .title {
    text-wrap: balance;
    font-size: 48px;
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1;
    color: #fff;
}
.recalc_smeta .text .subtitle {
    font-size: 32px;
    padding-top: 10px;
    color: #fff;
    font-weight: 600;
}
.no_style_box {
    margin-top: 20px;
}
.no_style_box a {
    align-items: center;
    background-color: rgb(255, 0, 0);
    border: 2px solid transparent;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    font-weight: 700;
    height: 50px;
    justify-content: center;
    line-height: 1;
    min-width: 110px;
    padding: 0 20px;
    text-align: center;
    transition: all .3s ease-in-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.no_style_box a:hover {
    background-color: rgba(51, 197, 243, 0);
    border: 2px solid rgb(255, 0, 0);
    color: #fff;
}
.form__block-wrapper {
    padding: 52px 0px 52px;
}
.form__input textarea, .form__input input {
    border: 1px solid #4798e4;
}
input[type="file"] {
    border: none !important;
    padding: 10px 0 0;
}
.form_box_new_item .button--blue {
    background-color: rgb(255, 0, 0);
}
.form_box_new_item .button--blue:hover {
    -webkit-box-shadow: 0 0 18px 0 rgba(243, 243, 243, .479);
    box-shadow: 0 0 18px 0 rgba(243, 243, 243, .479);
    color: #fff;
}
.reviews__video-slider__wrapper .owl-dots, .fittings__slider-wrapper .owl-dots, .fittings__slider-wrapper .owl-dots {
    padding-top: 31px;
    padding-bottom: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.reviews__video-slider__wrapper .owl-dots .owl-dot, .fittings__slider-wrapper .owl-dots .owl-dot, .fittings__slider-wrapper .owl-dots .owl-dot {
    border-radius: 50%;
    width: 16px;
    height: 16px;
    position: relative;
    margin: 0 7px;
}
.reviews__video-slider__wrapper .owl-dots .owl-dot::before, .fittings__slider-wrapper .owl-dots .owl-dot::before, .fittings__slider-wrapper .owl-dots .owl-dot::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    width: 16px;
    height: 16px;
    background: 0 0;
    border: 2px solid #4798e4;
    border-radius: 50%;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    opacity: 0;
}
.reviews__video-slider__wrapper .owl-dots .owl-dot.active::after, .fittings__slider-wrapper .owl-dots .owl-dot.active::after, .fittings__slider-wrapper .owl-dots .owl-dot.active::after {
    opacity: 0;
}
.reviews__video-slider__wrapper .owl-dots .owl-dot.active::before, .fittings__slider-wrapper .owl-dots .owl-dot.active::before, .fittings__slider-wrapper .owl-dots .owl-dot.active::before {
    opacity: 1;
}
.reviews__video-slider__wrapper .owl-dots .owl-dot::after, .fittings__slider-wrapper .owl-dots .owl-dot::after, .fittings__slider-wrapper .owl-dots .owl-dot::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    width: 7px;
    height: 7px;
    background-color: #202020;
    border-radius: 50%;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    opacity: 1;
}
.reviews__video-slider__wrapper .owl-dots .owl-dot, .fittings__slider-wrapper .owl-dots .owl-dot, .fittings__slider-wrapper .owl-dots .owl-dot {
    border-radius: 50%;
    width: 16px;
    height: 16px;
    position: relative;
    margin: 0 7px;
}
.vyvod_arshavin_web, .vyvod_arshavin_planshet, .vyvod_arshavin_mob {
    width: 100%;
    height: 100%;
    border-radius: 8px;
}
.vyvod_arshavin_planshet,
.vyvod_arshavin_mob {
    display: none;
}
.vyvod_arshavin_web img, .vyvod_arshavin_planshet img, .vyvod_arshavin_mob img {
    width: 100%;
}
/*stock_banner*/
section.content__slogan.stock_banner {
    position: relative;
}
.stock_banner .main-home__form {
    position: absolute;
    bottom: 5%;
    padding: 0 2em;
    left: auto;
    right: auto;
}
.stock_banner .main-home__form .button {
    padding: 10px;
}
.header_max .header__tell-icon img, .footer_max .header__tell-icon img {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
}
.header_max .header__tell-icon {
    width: 25px;
    height: 25px;
}
.footer_max .header__tell-icon {
    width: 30px;
    height: 30px;
}
@media (min-width: 900px) {.footer_max {
    margin: 0 !important;
}}
a.floating-button.max {
    background: #fff;
}
a.floating-button.max img {
    width: 30px;
    height: 30px;
    object-fit: cover;
    border-radius: 50%;
}
.products__card-img img {
    max-height: none;
    object-fit: cover;
    height: 100% !important;
}
.products__card-text {
    margin-bottom: 20px;
}
.header__btn--white {
    width: 100%;
}
.products__card-price {
    padding: 20px;
    min-width: 325px;
}
.products__card-price .products__card-data {
    padding-top: 30px;
}
.products__card-price .products__card-data__line {
    width: 100%;
}
.products__card:hover .products__card-data__text {
    color: #fff;
}
.products__card:hover .products__card-data span {
    background-color: #4798e496;
}
.products__card-info {
    padding: 40px;
}
.products__card-price__price {
    font-weight: 700;
}
.products__card-title {
    padding-bottom: 10px;
    font-size: 29px;
    font-weight: 500;
    position: relative;
    margin-bottom: 15px;
    display: inline-block;
}
.products__card-title::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0%;
    width: 100%;
    height: 2px;
    background-color: #4798e4;
}
.products__card-title span {
    font-weight: 700;
}
 










































































/* Адаптивность для мобильных */
@media (max-width: 1190px) {
.ymaps-2-1-79-map {
    width: 100% !important;
}
.free-meas-form__block {
    border-radius: 0;
    height: 100%;
    margin: 0 auto;
    width: 336px;
}
.free-meas-form__bg {
    border-radius: 0;
    height: 300px;
}

.free-meas-form__bg .img.win--desktop {
    display: none;
}
.free-meas-form__bg .img.win--modal {
    display: block;
}
.free-meas-form__row {
    flex-direction: column;
}
.free-meas-form__win {
    left: 0;
    top: 0;
}
.free-meas-form__win .win--desktop {
    display: none;
}
.free-meas-form__win .win--modal {
    display: block;
}
.form_box_new {
    margin-left: 0;
    margin-top: 310px;
    padding-left: 30px;
    padding-right: 30px;
}
.form_box_new:before {
    background-color: #00171f;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-right-radius: 0;
}
.free-meas-form__title {
    text-align: center;
}
.form_box_new_item .row.justify-content-between {
    display: block;
}
form.form.form_box_new .col-6 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}
form.form.form_box_new .col-lg-3 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}
.free-meas-form__person-data {
    padding-top: 20px;
    text-align: center;
}
form.form.form_box_new .button {
    width: 100%;
}
.free-meas-form__bg .img {
    margin-top: 20px;
}




















}



































/* Адаптивность для мобильных */
@media (max-width: 991px) {
.vyvod_preimushhestv {
    grid-template-columns: repeat(2, 1fr);
    --grid-column-gap: 20px;
    --grid-row-gap: 50px;
}
.etapy_rabot {
    grid-template-columns: repeat(2, 1fr);
}
.img_etapy_rabot {
    height: 200px;
}
























}

























@media (max-width: 960px) {
.recalc_smeta .background.desktop, .recalc_smeta .background.mobile {
    display: none;
}
.recalc_smeta .background.tablet {
    display: block;
}
.recalc_smeta .blockCont {
    padding: 80px 0 70px 33%;
}
.recalc_smeta {
    border-radius: 25px;
    width: 100%;
}
.vyvod_arshavin_web { 
    display: none; 
}
.vyvod_arshavin_planshet {
    display: block;
}





















}









































/* Адаптивность для мобильных */
@media (max-width: 768px) {
.feature-item {
    font-size: 12px;
    padding: 4px 0;
}
.vyvod_preimushhestv {
    grid-template-columns: repeat(2, 1fr);
    --grid-column-gap: 20px;
    --grid-row-gap: 50px;
}
.title_bloka_etapov {
    padding-bottom: 20px;
}







}























@media (max-width: 720px) {
.recalc_smeta .blockCont {
    padding: 80px 0 70px 42%;
}






}


























@media (max-width: 660px) {
.recalc_smeta .text .title {
    font-size: 32px;
}
.recalc_smeta .text .subtitle {
    font-size: 18px;
    padding-top: 6px;
}
.recalc_smeta .blockCont {
    padding: 30px 0 70px 38%;
}










}








@media (max-width: 540px) {
.recalc_smeta .background.desktop, .recalc_smeta .background.tablet {
    display: none;
}
.recalc_smeta .background.mobile {
    display: block;
}
.recalc_smeta .blockCont {
    padding: 30px 30px 0;
}
.recalc_smeta .text .title {
    line-height: 35px;
}
.recalc_smeta .background.mobile {
    display: block;
}
.recalc_smeta {
    height: 385px;
    margin: 0 auto;
    text-align: center;
    width: 280px;
}
.no_style_box a {
    font-size: 13px;
    padding: 0 10px;
}
.vyvod_arshavin_planshet { 
    display: none; 
}
.vyvod_arshavin_mob { 
    display: block; 
}

















}

















/* Адаптивность для мобильных */
@media (max-width: 510px) {
section.reviews__swdgts {
    height: 750px;
    padding-top: 50px;
}
.vyvod_preimushhestv, .etapy_rabot {
    grid-template-columns: repeat(1, 1fr);
}
















}


















