:root {
	--text-color: #343232;
}

body.lock-scroll {
	position: fixed;
    overflow: hidden; /* блокирует скролл */
    /*position: fixed;   фиксируем body */
/*     width: 100%;      чтобы не сдвигалось */
	height: 100%;
	width: 100%;
}
/*
.accept_policita_class a {
  font-size: clamp(0.75rem, 0.6818rem + 0.3409vw, 0.9375rem);
}
*/

.wpcf7-form{}

.wpcf7-list-item {
    margin-inline-end: unset !important;
}

span .wpcf7-form-control-wrap {
    margin-inline-start: 10px;
}

.screen-reader-response{
    display: none;
}

.wpcf7-response-output{
    margin: 0px !important;
    margin-top: 5px !important;
    border-radius: 8px !important;
}

.wpcf7-not-valid-tip{
    margin-bottom: -25px;
}

.calculator_button{
	width: 150px;
	color: #fff !important;
	background-color: #EA1826 !important;
	border-radius: 5px !important; 
	display: inline-block !important;
	font-family: Poppins, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 22.4px !important;
	padding: 10px 24px !important;
    text-align: center !important;
	text-transform: none !important;
}

.calculator_button:hover{
	background-color: #d30c19 !important;
}

.pop_up{
    width: 100%;
    height: 100%;
    position: fixed;
    inset: 0;
    background-color: rgba(0,0,0, .7);
    z-index: 100000;
    display: none;
    overflow-y: hidden; /* Запрещаем скролл */
    
}

.active{
    display: block !important; 
}

.pop_up_conteiner{
    width: 100%;
    min-height: 100%;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
}

.pop_up_body{
    margin: auto;
    width: 80vw;
    max-width: 1200px;
    max-height: 655px;
    padding: 25px;
    border-radius: 5px;
    background-color: #f0f0f0;
    position: relative;
    display: flex;
    flex-direction: nowrap;
    flex-wrap: wrap;
    gap: 25px;
}

.pop_up_body p{
    margin-bottom: 0 !important;
    margin-block-start: 0px;
    margin-block-end: 0px;
}

.pop_up_body h1{
	color: #000000; 
	font-family: Roboto; 
	font-size: 48px; 
	font-weight: 600; 
	text-align: center; 
	width: 100%; margin: 0 0 20px 0;
}

.bg_white{
    width: 100%;
    background-color: white;
    padding: 15px 20px;
    border-radius: 10px;
	text-align: center;
}

.left_part{
    display: flex;
    flex-direction: column;
    flex: 0 0 35%;
    gap: 5px;
}

.text_help{
    font-weight: 800;
    font-size: 15px;
	color: red;
}

.standart_font{
	display: block !important;
	font-family: Outfit, sans-serif !important;
	font-weight: bold !important;
    font-size: 15px !important;
    color: var(--text-color) !important;
}

.right_part{
    display: flex;
    flex-direction: column;
    flex: 1 0 60%;
    gap: 5px;
}

.type_roof_div{
    gap: 10px;
    width: 100%;
    display: flex;

}

.type_roof_item {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    border: 2px solid #e5e5e5;   /* обычный бордер */
    border-radius: 12px;         /* скругление как на картинке */
    padding: 20px;
    background: #f7f7f7;
	color: var(--text-color);

    transition: all 0.3s ease;   /* плавность */
}

.type_roof_item img{
	width: 100px;
	height: 100px !important;
}

.type_roof_item span{
    font-weight: 400;
    font-size: 14px;
    text-align: center;
}

.active_type_roof_item{
    border: 2px solid #2f6df6;
}

/* hover эффект */
.type_roof_item:hover {
    border-color: #2f6df6;       /* синий бордер */
    box-shadow: 0 0 0 3px rgba(47, 109, 246, 0.2); /* синяя подсветка */
    cursor: pointer;
}


.input_roof_size{
    max-width: 100px !important;
    font-size: 16px !important;
	color: black !important;
}

.input_roof_size::placeholder {
    color: lightgray;
}


.info_pop_up_content{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;	
    gap: 10px;
	color :var(--text-color);
}

.div_buttons{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 15px;
    max-height: 42px;
}

.list_buttons_month{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 10px 5px;
    margin-bottom: 5px;
}

.but_month{
    flex: 1;
    font-size: 17px !important;
    font-weight: 500 !important;
    padding: 3px 20px !important;
    max-width: 150px;
    max-height: 50px;
    border-radius: 8px !important;
    color: var(--text-color) !important;
}

.active_but_month{
    background-color: #66c6f2 !important;
    color: white !important;
}

.box_month{
    display:flex;
    flex-direction: column;
}

.form_row {
    display: flex;
    flex-wrap: wrap;
    gap: 0px 10px;
}

.input_container {
    flex: 1;
    flex-wrap: nowrap;
}

.label_input {
    margin-bottom: 5px;
    font-weight: bold;  
    font-size: 12px;
    font-family: Outfit, sans-serif;
	color: var(--text-color);
}

.input_el {
    text-align: left !important;
    min-width: 100px;
    border: 1px solid grey !important;
    border-radius: 5px !important;
    background-color: #e0f5ff !important;
}

.input_el::placeholder {
    color: gray !important; 
    font-style: italic !important; 
    font-weight: bold !important;
}

.input_el:focus {
    outline: none !important;
}


.but_credit{
	display: block !important;
    padding: 10px !important;
    border: solid 1px #4C352A !important;
    border-radius: 8px !important;
    color: #4C352A !important;
    background-color: transparent !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

.wpcf7 .accept_policita_class .wpcf7-list-item-label {
    display: none; /* скрывает текст внутри checkbox */
}

.link_to_politica{
    font-size: clamp(0.75rem, 0.6818rem + 0.3409vw, 0.9375rem);
}
.link_to_politica:hover{
    color: #442716 !important;
}

.accept_policita_class {
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: space-between;
    flex: 0 0 auto; /* не растягиваемся */
}

.info_text{
	margin-bottom: 5px;
    color: black;
	font-size: 17px;
    font-weight: bold !important;
    font-family: "Playfair Display", serif;
	color: var(--text-color);
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.text_garantie{
	color: var(--text-color);
}

/* ========================= */
/* АДАПТИВНЫЙ CSS ДЛЯ POP-UP */
/* ========================= */

/* ====== <= 1200px (ноутбуки) ====== */
@media (max-width: 1200px) {
    .pop_up_body {
        width: 90vw;
        gap: 20px;
        padding: 30px 20px;
    }

    .left_part {
        flex: 0 0 40%; /* оставляем место для правой части */
    }

    .right_part {
        flex: 1 0 55%; 
    }
}

/* ====== <= 990px (планшеты) ====== */
@media (max-width: 990px) {
    .pop_up_body {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch;
        width: 95vw;
        max-height: 90vh;
        margin: 0 auto;
        padding: 20px;
        border-radius: 10px;
        gap: 15px;
        overflow-y: auto;/* разрешаем скролл */
    	-webkit-overflow-scrolling: touch; /* плавный скролл на iOS */
    }

    left_part,
    .right_part {
        flex: 0 0 100% !important; /* обе части занимают всю ширину */
        max-width: 100% !important;
    }

}

/* ====== <= 768px (большие телефоны) ====== */
@media (max-width: 768px) {
    .pop_up_body {
        width: 100%;
        max-height: 85vh;
        padding: 15px;
        gap: 15px;
    }
	
	.pop_up_body h1{
		font-size: 24px;	
	}

    .input_container {
        margin-bottom: 5px; 
    }
    
    .form_row{
    	flex-direction: column;
        
    }

    .list_buttons_month {
        justify-content: center;
        gap: 10px;
    }
    
     .input_el {
        flex: 1 1 auto;
    }
    
}

/* ====== <= 620px ====== */
@media (max-width: 620px) {
    .change_flex_content{
    	flex-direction: column;
    }
    
    .accept_policita_class,
    .div_buttons{
    	width: 100%;
    }

    .but_month {
        max-width: 80px;
    }
}
/* ====== <= 480px (телефоны) ====== */
@media (max-width: 480px) {
    .pop_up_body {
        padding: 10px;
        border-radius: 8px;
    }

    .but_month {
        flex: 1 1 33%;
    }

    .list_buttons_month {
        gap: 10px;
    }

    .standart_font {
        font-size: 13px !important;
    }

    .info_text {
        font-size: 15px;
        text-align: center;
    }
}

