/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/
body {
	position: relative
}

body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* Градиент из верхнего левого угла */
    background: radial-gradient(
        circle at 0% 0%, 
        #002925 10%, 
        transparent 42rem
    );
    z-index: 0; 
    pointer-events: none;
}

@media (max-width: 600px) {
    body::before {
        background: radial-gradient(
            circle at 0% 0%, 
            #002925 3%, 
            transparent 26rem
        );
    }
}

.l-footer {
    position: relative;
    overflow: hidden; /* Чтобы свечение не создавало полосу прокрутки */
    background-color: #050b0a; /* Основной фон футера */
}

.l-footer:before,
.l-footer:after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 21rem;  /* 420px */
    height: 17rem; /* 340px */
    z-index: 0;
    pointer-events: none;
}

/* Свечение слева */
.l-footer:before {
    left: 0;
    background: radial-gradient(
        circle at 0% 100%, 
        rgba(0, 41, 37, 1) 0%,   /* Насыщенный цвет в самом углу */
        rgba(0, 41, 37, 0.65) 40%, 
        transparent 80%          /* Плавное исчезновение */
    );
}

/* Свечение справа */
.l-footer:after {
    right: 0;
    background: radial-gradient(
        circle at 100% 100%, 
        rgba(0, 41, 37, 1) 0%, 
        rgba(0, 41, 37, 0.65) 40%, 
        transparent 80%
    );
}

@media (max-width: 600px) {
    /* Свечение слева */
    .l-footer:before {
        background: radial-gradient(
            circle at 0% 100%, 
            rgba(0, 41, 37, 1) 0%,   /* Насыщенный цвет в самом углу */
            rgba(0, 41, 37, 0.65) 4%, 
            transparent 40%          /* Плавное исчезновение */
        );
    }

    /* Свечение справа */
    .l-footer:after {
        background: radial-gradient(
            circle at 100% 100%, 
            rgba(0, 41, 37, 1) 0%, 
            rgba(0, 41, 37, 0.65) 4%, 
            transparent 40%
        );
    }    
}

.head-cont a {
	display: flex;
}

.head-cont svg {
	width: 2rem;
}

.foot-cont a {
	display: flex;
}

.foot-cont svg {
	width: 2rem;
}

.count-days .w-text-value span {
	font-size: 1.8rem;
}

.main-top .main-top__btn .w-btn-wrapper {
	margin: 0;
}

.obj-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 166%;
  height: 130%;
  background: radial-gradient( circle at 100% 100%,rgba(0, 117, 102, 0.8) 0%,rgba(9, 147, 134, 0.4) 20%,transparent 60%);
  z-index: 0;
  pointer-events: none;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 20%);
}

.badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;  /* 42px */
  height: 2.1rem; /* 42px */
  border-radius: 50%;
  flex-shrink: 0;
  user-select: none;
}

.badge--white {
  background-color: #ffffff;
  color: #000000;
  font-size: 0.9rem; /* ~18px */
  font-weight: 400;
}

.badge--green {
  background-color: var(--color-content-link);
}

.badge svg {
  width: 1.2rem;  /* Размер иконки ~24px */
  height: 1.2rem;
  /* Цвет иконки (черный, как на скрине) */
  fill: #0a1a18; 
}

.wr-img-opt img {
	width: 12.75rem;
}

.img-top-text img {
	width: 23rem;
}

.img-left-text img {
	width: 14.7rem;
}

.img-top-text__text .w-text-value span {
	color: var(--color-content-link);
}

.tabs-vert .w-tabs-list-h button {
	padding: 1.5rem 2rem!important;
	border-radius: 0!important;
	margin-bottom: 0!important;
}

.contakt-item .w-iconbox-icon {
	margin-right: 0.5rem!important;
}

.contakt-item .w-iconbox-title {
	padding-bottom: 0.1rem;
}

.contakt-item .w-iconbox-text {
	margin-left: 0.5rem;
	opacity: .65;
}

.owl-carousel>.owl-nav {
	flex-direction: column;
    left: unset;
    bottom: unset;
    right: -3rem;
	gap: 1px;
}

.owl-carousel.navstyle_square>.owl-nav button {
	width: calc(3rem - 1px);
	height: calc(3rem - 1px);
	padding: 0;
    background: linear-gradient(90deg, var(--color-content-primary) 0%, #004032 100%);
	transition: .3s;
}

.no-touch .owl-carousel.navstyle_square .owl-prev:hover {
	background: linear-gradient(90deg, #06b982 0%,#004032 100%)!important;
}

.owl-carousel.navstyle_square>.owl-nav button.owl-next {
	background: linear-gradient(90deg, #004032 0%, var(--color-content-primary) 100%);	
}

.no-touch .owl-carousel.navstyle_square .owl-next:hover {
	background: linear-gradient(90deg, #004032 0%, #06b982 100%)!important;
}

.owl-prev:after,
.owl-next:after{
	font-weight: 300;
	content: '\f061';
}

.owl-prev:after {
	transform: rotate(180deg);
}

.wpcf7-form input:not([type="submit"]),
.wpcf7-form textarea,
.wpcf7-form select {
    margin-top: 0;
    margin-bottom: .85rem;
}

.wpcf7-form h2 {
    padding-top: 0;
    margin-bottom: 1.5rem;
}

.wpcf7-form-control-wrap {
    margin-top: 0;
}

form input[type=submit] {
    width: 100%;
}

.wpcf7-spinner {
    position: absolute;
    margin: 0;
    top: calc(50% - 0.6rem);
    left: calc(50% - 0.6rem);
}

.wpcf7-response-output {
    text-align: center;
    color: #fff;
    line-height: 1.3;
    padding: .6em 1em !important;
    margin: 2em 0 0 !important;
}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #dc3232;
    background: #dc3232;
}

.wpcf7-not-valid-tip {
    font-size: 0.7rem;
    margin-bottom: 0.6rem;
}

.polit {
    display: flex;
    font-size: 0.7rem;
    line-height: 140%;
    margin-top: 1.1rem;;
}

.polit-popup:hover {
    cursor: pointer;
}

.about-link {
    transition: .3s;
}

.about-link:hover {
    border-bottom: 1px solid transparent;
}

.cat-link span {
    transition: .3s;
    border-bottom: 1px solid #1cc273;
}

.cat-link:hover span {
    border-bottom: 1px solid transparent;
}

@media (min-width: 1140px) {
    :root {
        --header-height: 5rem;
        --header-sticky-height: 5rem;        
    }	
	
	/* 2. Плавное масштабирование от 1140px до 1920px */
    html {
        font-size: 1.7544vw; /* (20 / 1140) * 100 */	
    }
	.l-subheader.at_middle {
        --header-area-height: 3.565rem!important;
    }	
}

@media (min-width: 1920px) {
    html {
        /* Замораживаем на значении, которое было достигнуто при 1920px */
        font-size: 33.6842px; 
    }
}

@media (max-width: 1024px) {
    .count-days .w-text-value span {
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 1024px) {
    .footer-contacts .contakt-item {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
    }

    .wr-advans .wr-advans__col-first {
        margin: 0!important;
    }    
}

@media (max-width: 600px) {
    .head-cont svg {
        width: 1.3rem;
    }

    .main-top__advans .wpb_wrapper {
        display: flex;
        gap: 22px;
    }

    .w-tabs-section {
        margin-bottom: 1px;
        overflow: hidden;
    }

    .pr-slider .owl-carousel>.owl-nav {
        position: unset;
        flex-direction: row;
        gap: 8px;
        margin-top: 16px;
        justify-content: center;
    }

    .advans-group {
        display: flex !important;
        gap: 22px;
        flex-direction: row;
        align-items: start;
        margin-bottom: 0!important;
    }

    .advans-group > div {
        margin: 0 !important;
    }
}