/* =======================================================
   RAU landing — стили шаблона
   ======================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
	--color-bg:#ffffff;
	--color-bg-soft:#f6f5f3;
	--color-text:#1b1b1b;
	--color-text-muted:#6f6d69;
	--color-border:#e7e5e1;
	--color-accent:#a8462d;
	--color-accent-dark:#8d3a24;
	--color-dark:#191919;
	--color-dark-soft:#26241f;
	--radius-sm:6px;
	--radius-md:12px;
	--radius-lg:20px;
	--container:1400px;
	--font-main:"Inter", Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
	margin:0;
	font-family:var(--font-main);
	color:var(--color-text);
	background:var(--color-bg);
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}

a{color:inherit;text-decoration:none;}

ul{margin:0;padding:0;list-style:none;}

button, .btn{
	font-family:var(--font-main);
	cursor:pointer;
	border:none;
	background:none;
}

.container{
	width:100%;
	max-width:var(--container);
	margin:0 auto;
	padding:0 24px;
}

.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:12px;
	font-weight:600;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--color-text-muted);
}
.eyebrow::before,
.eyebrow::after{
	content:"";
	width:22px;
	height:1px;
	background:var(--color-border);
}

.section{
	padding:88px 0;
}
.section--soft{
	background:var(--color-bg-soft);
}

.section-head{
	text-align:center;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:14px;
	margin-bottom:56px;
}
.section-head h2{
	font-size:38px;
	font-weight:700;
	line-height:1.2;
	margin:0;
	max-width:640px;
}

/* Buttons */
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:16px 28px;
	border-radius:var(--radius-sm);
	font-weight:600;
	font-size:15px;
	transition:background .2s ease, color .2s ease, transform .15s ease;
	white-space:nowrap;
}
.btn--primary{
	background:var(--color-accent);
	color:#fff;
}
.btn--primary:hover{
	background:var(--color-accent-dark);
}
.btn--outline{
	background:transparent;
	color:var(--color-text);
	border:1px solid var(--color-border);
}
.btn--outline:hover{
	border-color:var(--color-accent);
	color:var(--color-accent);
}
.btn--block{width:100%;}

/* =========================
   Header
   ========================= */
.site-header{
	position:sticky;
	top:0;
	z-index:50;
	background:rgba(255,255,255,.96);
	backdrop-filter:blur(6px);
	border-bottom:1px solid var(--color-border);
}
.site-header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:10px 10px 10px 10px;
    position:relative;
}
.logo{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:20px;
	font-weight:800;
	letter-spacing:.01em;
}
.logo__dot{
	width:8px;height:8px;border-radius:50%;
	background:var(--color-accent);
	display:inline-block;
}
.main-nav{
	display:flex;
	align-items:center;
	gap:32px;
}
.main-nav a{
	font-size:15px;
	font-weight:500;
	color:var(--color-text-muted);
	position:relative;
	padding:6px 0;
}
.main-nav a:hover,
.main-nav a.is-active{
	color:var(--color-text);
}
.main-nav a.is-active::after{
	content:"";
	position:absolute;
	left:0;right:0;bottom:0;
	height:2px;
	background:var(--color-accent);
	border-radius:2px;
}
.header-actions{
	display:flex;
	align-items:center;
	gap:24px;
}
.header-phone{
	font-weight:600;
	font-size:15px;
	white-space:nowrap;
}
.nav-toggle{
	display:none;
	flex-direction:column;
	gap:5px;
	padding:8px;
}
.nav-toggle span{
	width:22px;height:2px;background:var(--color-text);
}

/* =========================
   Hero
   ========================= */
.hero{

    position:relative;

    width:100%;

    height:100vh;

    overflow:hidden;

}

.hero-image{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

}

.hero-overlay{

    position:absolute;

    inset:0;

}

.hero-content{

    position:absolute;

    left:8%;

    top:10%;

    z-index:2;

    max-width:650px;

    color:#fff;

}

.hero h1{

    font-size:52px;

    line-height:1.05;

    margin-bottom:24px;

}

.hero p{

    font-size:24px;

    margin-bottom:40px;

}

.hero-logo{

    position:absolute;

    right:60px;

    bottom:100px;

    width:180px;

    z-index:2;

}

/* ===== RAU advantages ===== */

.advantages-grid--rau{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;

}

.advantages-grid--rau .advantage-card{

    position:relative;
    overflow:hidden;

    border-radius:24px;

    min-height:220px;
    padding:24px;

    display:block;
    align-items:baseline;

    background-size:50% auto;
    background-repeat:no-repeat;
    background-position:right top;

}

.advantages-grid--rau .advantage-card::before{

    content:"";

    position:absolute;
    inset:0;

    border-radius:24px;

    background:linear-gradient(
        90deg,
        #f6f6f6 0%,
        rgba(246,246,246,.96) 45%,
        rgba(246,246,246,.75) 62%,
        rgba(246,246,246,.25) 82%,
        rgba(246,246,246,0) 100%
    );

    z-index:1;
}

.advantages-grid--rau .advantage-card>*{

    position:relative;
    z-index:2;

}

    .advantages-grid--rau .advantage-card__icon{

        width:60px;
        height:60px;
        flex:0 0 60px;

        margin-right:5px;

    }

    .advantages-grid--rau .advantage-card__icon img{

        width:42px;
        height:42px;

    }

.advantages-grid--rau .advantage-card__content{

    flex:1;
    position:relative;
    z-index:2;

}

    .advantages-grid--rau h3{

        font-size:22px;
        line-height:1.25;
        margin-bottom:10px;

    }

    .advantages-grid--rau p{

        font-size:16px;
        line-height:1.45;

    }


/* картинки */

.advantages-grid--rau .advantage-card:nth-child(1){
background-image:url("/local/templates/rau_landing/images/adv-bg-01.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(2){
background-image:url("/local/templates/rau_landing/images/adv-bg-02.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(3){
background-image:url("/local/templates/rau_landing/images/adv-bg-03.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(4){
background-image:url("/local/templates/rau_landing/images/adv-bg-04.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(5){
background-image:url("/local/templates/rau_landing/images/adv-bg-05.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(6){
background-image:url("/local/templates/rau_landing/images/adv-bg-06.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(7){
background-image:url("/local/templates/rau_landing/images/adv-bg-07.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(8){
background-image:url("/local/templates/rau_landing/images/adv-bg-08.jpg");
}

.advantages-grid--rau .advantage-card:nth-child(9){
background-image:url("/local/templates/rau_landing/images/adv-bg-09.jpg");
}

/* планшет */

@media (max-width:1100px){

    .advantages-grid--rau{

        grid-template-columns:repeat(2,1fr);

    }

}

/* мобильная */

@media (max-width:768px){

    .advantages-grid--rau{

        grid-template-columns:1fr;

    }

    .advantages-grid--rau .advantage-card{

        min-height:220px;

        background-size:45% auto;

    }

    .advantages-grid--rau p{

        max-width:70%;

    }

}

/* =========================
   Applications
   ========================= */
.apps-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
}
.apps-grid--top .app-card{min-height:400px;}
.apps-grid--bottom{
	grid-template-columns:repeat(3,1fr);
	margin-top:20px;
}
.apps-grid--bottom .app-card{min-height:400px;}

.app-card{
	position:relative;
	border-radius:var(--radius-md);
	overflow:hidden;
	background-color:#3a332e;
	background-size:cover;
	background-position:center;
	display:flex;
	align-items:flex-end;
}
.app-card::before{
	content:"";
	position:absolute;inset:0;
	background:linear-gradient(0deg, rgba(10,9,8,.78) 0%, rgba(10,9,8,0) 55%);
}
.app-card__body{
	position:relative;
	z-index:1;
	color:#fff;
	padding:24px 28px;
}
.app-card__body h3{
	margin:0 0 6px;
	font-size:19px;
	font-weight:700;
}
.app-card__body p{
	margin:0;
	font-size:13px;
	opacity:.85;
	max-width:280px;
}

.app-card--kitchen{background-image:linear-gradient(0deg, rgba(10,9,8,.78) 0%, rgba(10,9,8,0) 55%), url('images/app-kitchen.jpg');}
.app-card--bathroom{background-image:linear-gradient(0deg, rgba(10,9,8,.78) 0%, rgba(10,9,8,0) 55%), url('images/app-bathroom.jpg');}
.app-card--commercial{background-image:linear-gradient(0deg, rgba(10,9,8,.78) 0%, rgba(10,9,8,0) 55%), url('images/app-commercial.jpg');}
.app-card--interior{background-image:linear-gradient(0deg, rgba(10,9,8,.78) 0%, rgba(10,9,8,0) 55%), url('images/app-interior.jpg');}
.app-card--slopes{background-image:linear-gradient(0deg, rgba(10,9,8,.78) 0%, rgba(10,9,8,0) 55%), url('images/app-slopes.jpg');}

/* =========================
   Decors catalog
   ========================= */
.decor-tabs{
	display:flex;
	justify-content:center;
	gap:10px;
	flex-wrap:wrap;
	margin-bottom:40px;
}
.decor-tab{
	padding:12px 22px;
	border-radius:999px;
	border:1px solid var(--color-border);
	font-size:14px;
	font-weight:600;
	color:var(--color-text-muted);
	background:#fff;
	transition:all .15s ease;
}
.decor-tab.is-active,
.decor-tab:hover{
	background:var(--color-text);
	color:#fff;
	border-color:var(--color-text);
}
.decor-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}
.decor-card{
	display: block;
	flex-direction:column;
	gap:12px;
}
.decor-card__thumb{
	aspect-ratio:1/1;
	border-radius:var(--radius-md);
	background-size:cover;
	background-position:center;
	background-color:#d9d5cd;
}
.decor-card__thumb--1{background-color:#c9c2b6;}
.decor-card__thumb--2{background-color:#a89f92;}
.decor-card__thumb--3{background-color:#8a8377;}
.decor-card__thumb--4{background-color:#b7ada0;}
.decor-card span{
	font-size:14px;
	font-weight:500;
	color:var(--color-text);
}

/* =========================
   Map
   ========================= */
.map-wrap{
	position:relative;
	border-radius:var(--radius-md);
	overflow:hidden;
	min-height:750px;
	background:#e5e0d6;
}
.map-wrap iframe{
	width:100%;
	height:750px;
	border:0;
	display:block;
}
.map-pin{
	position:absolute;
	left:50%;top:46%;
	transform:translate(-50%,-100%);
	background:#fff;
	padding:10px 16px;
	border-radius:999px;
	box-shadow:0 8px 24px rgba(0,0,0,.14);
	display:flex;
	align-items:center;
	gap:8px;
	font-size:14px;
	font-weight:600;
	pointer-events:none;
}
.map-pin__icon{
	width:20px;height:20px;
	border-radius:50%;
	background:var(--color-accent);
	color:#fff;
	display:flex;align-items:center;justify-content:center;
	font-size:11px;
	font-weight:800;
}



/* =========================
   Responsive
   ========================= */

@media (max-width:1024px){
	.hero{grid-template-columns:1fr;}
	.hero__panel--right{min-height:220px;}
	.apps-grid--bottom{grid-template-columns:repeat(2,1fr);}
	.decor-grid{grid-template-columns:repeat(3,1fr);}
	.contact-grid{grid-template-columns:1fr;}
	.footer-top{grid-template-columns:repeat(3,1fr);}
}

@media (max-width: 768px){
	.main-nav,.header-actions .header-phone{display:none;}
	.nav-toggle{display:flex;}
	.section{padding:56px 0;}
	.section-head h2{font-size:28px;}
	.hero__content{padding:36px 28px;}
	.hero__title{font-size:32px;}
	.advantages-grid{grid-template-columns:1fr;}
	.apps-grid,.apps-grid--bottom{grid-template-columns:1fr;}
	.decor-grid{grid-template-columns:repeat(2,1fr);}
	.footer-top{grid-template-columns:1fr 1fr;}
	.contact-form-col{padding:40px 24px;}
}

body{font-family:"Inter", Arial, sans-serif;}/* placeholder */
.site-footer{
    background:#ffffff !important;
    color:#222 !important;
}

.footer-layout{
    display:grid !important;
    grid-template-columns:42% 58% !important;
    max-width:1700px;
    margin:0 auto;
}

.footer-left{
    border-right:1px solid #e5e5e5;
}

.footer-right{
    display:flex;
    flex-direction:column;
}
/* ===========================
   NEW FOOTER
   =========================== */

.site-footer{
    background:#fff !important;
    color:#222;
    border-top:1px solid #e6e6e6;
    padding:0 !important;
}

.footer-layout{
    max-width:1700px;
    width:90%;
    margin:0 auto;

    display:grid;
    grid-template-columns:42% 58%;
}

.footer-left{
    padding:70px;
    border-right:1px solid #e6e6e6;

    display:flex;
    flex-direction:column;
}

.footer-logo{
    width:140px;
    margin-bottom:60px;
}

.footer-menu{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.footer-menu a{
    font-size:22px;
    color:#222;
}

.footer-space{
    height:40px;
}

.footer-button{
    margin-top:auto;

    background:#9d432d;
    color:#fff;

    padding:22px;
    text-align:center;

    font-size:22px;
}

.footer-right{
    display:flex;
    flex-direction:column;
}

.footer-row{
    padding:50px 60px;
    border-bottom:1px solid #e6e6e6;
}

.footer-row span{
    display:block;
    color:#777;
    margin-bottom:15px;
}

.footer-row h2{
    margin:0;
    font-size:52px;
    font-weight:600;
}

.footer-row h2 a{
    color:#222;
}

.footer-socials{
    display:flex;
    gap:20px;
    margin-top:20px;
}

.footer-socials img{
    width:54px;
}

.footer-bottom{
    width:90%;
    max-width:1700px;
    margin:auto;

    display:flex;
    justify-content:space-between;

    padding:28px 0;

    border-top:1px solid #e6e6e6;
}
.logo{
    display:flex;
    align-items:center;
}

.logo img{
    width:auto;
    height:38px;
    display:block;
}
/* =====================================
   MOBILE FOOTER
   ===================================== */

@media (max-width: 768px){

    .footer-layout{
        display:block !important;
        width:100% !important;
    }

    .footer-left,
    .footer-right{
        width:100%;
        padding:30px 20px;
        border:none;
    }

    .footer-left{
        border-bottom:1px solid #e6e6e6;
    }

    .footer-logo{
        width:120px;
        margin-bottom:30px;
    }

    .footer-menu{
        display:flex;
        flex-direction:column;
        gap:14px;
        margin-bottom:30px;
    }

    .footer-menu a{
        font-size:18px;
        line-height:1.4;
    }

    .footer-button{
        display:block;
        width:100%;
        padding:16px;
        font-size:18px;
        text-align:center;
    }

    .footer-row{
        padding:25px 20px;
        border-bottom:1px solid #e6e6e6;
    }

    .footer-row span{
        font-size:14px;
        margin-bottom:10px;
    }

    .footer-row h2{
        font-size:26px;
        line-height:1.25;
        margin:0;
        word-break:break-word;
    }

    .footer-row h2 a{
        font-size:26px;
    }

    .footer-socials{
        display:flex;
        gap:12px;
        flex-wrap:wrap;
        margin-top:15px;
    }

    .footer-socials img{
        width:36px;
        height:36px;
    }

    .footer-bottom{
        display:flex;
        flex-direction:column;
        gap:12px;
        padding:20px;
        text-align:center;
        font-size:13px;
    }

    .footer-bottom a{
        display:block;
    }
}
.footer-logo {
    width: 140px;
    height: auto;
    display: block;
}

.footer-logo-link {
    display: inline-block;
}

.footer-socials {
    display: flex;
    gap: 14px;
    align-items: center;
}

.footer-socials a {
    width: 42px;
    height: 42px;
    border: 1px solid #E6E6E6;
    border-radius: 0%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .25s;
}

.footer-socials a:hover {
    background: #111;
    border-color: #111;
}

.footer-socials img {
    width: 42px;
    height: 42px;
    display: block;
}
/* ===== CONTACT ===== */

.contact-section{
    background-image: url("/local/templates/rau_landing/images/form_bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.contact-wrapper{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr 500px;

    gap:80px;

}

.contact-info{

    color:#fff;

}

.contact-info h2{

    font-size:54px;

    line-height:1.15;

    font-weight:700;

    margin-bottom:30px;

}

.contact-info p{

    max-width:520px;

    font-size:20px;

    line-height:1.8;

    opacity:.9;

}

.contact-form-wrap{

    backdrop-filter:blur(22px);

    background:rgba(255,255,255,.18);

    border:1px solid rgba(255,255,255,.25);

    border-radius:24px;

    padding:40px;

}

.request-form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.request-form input,
.request-form select,
.request-form textarea{

    background:rgba(255,255,255,.88);

    border:none;

    border-radius:12px;

    padding:18px 20px;

    font-size:16px;

    outline:none;

}

.request-form textarea{

    resize:none;

    min-height:140px;

}

.form-consent{

    display:flex;

    gap:10px;

    color:#fff;

    font-size:14px;

}

@media(max-width:992px){

.contact-wrapper{

grid-template-columns:1fr;

gap:40px;

}

.contact-info h2{

font-size:38px;

}

.contact-form-wrap{

padding:25px;

}

}

.decor-card{
    cursor:pointer;
}

.decor-card__thumb{
    position:relative;
    overflow:hidden;
    border-radius:10px;
    background:#f4f4f4;
}

.decor-card__thumb img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .3s;

}

.decor-card:hover img{

    transform:scale(1.03);

}

.decor-card__thumb img{

    display:block;

    width:100%;

    aspect-ratio:600/1300;

    object-fit:cover;

    transition:.35s;
}

.decor-card:hover img{

    transform:scale(1.05);

}

.decor-card__title{

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    padding:18px;

    color:#fff;

    font-size:18px;

    font-weight:600;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.75)
    );

}

#decorViewer{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;

    background:rgba(0,0,0,.55);
    backdrop-filter:blur(10px);

    z-index:9999;

    overflow:hidden;
}

#decorImage{

    max-width:90vw;
    max-height:90vh;

    cursor:grab;

    user-select:none;

    transition:transform .08s linear;

    transform-origin:center center;
}

#decorCaption{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    padding:35px;

    color:#fff;

    font-size:28px;

    font-weight:600;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.65)
    );

}

#decorClose{

    position:absolute;

    right:30px;

    top:20px;

    font-size:46px;

    color:#fff;

    cursor:pointer;

    z-index:10000;
}

/* ===================================
   MOBILE MENU
=================================== */

@media (max-width:991px){

    .main-nav{

        display:none;

        position:absolute;

        top:100%;

        left:0;

        width:100%;

        background:#fff;

        padding:20px;

        flex-direction:column;

        gap:15px;

        border-radius:0 0 18px 18px;

        box-shadow:0 10px 30px rgba(0,0,0,.12);

    }

    .main-nav.is-open{

        display:flex;

    }

    .nav-toggle{

        display:flex;

        cursor:pointer;

        border:0;

        background:none;

    }

}

/* ===================================
   МОБИЛЬНЫЙ КАТАЛОГ
=================================== */

@media (max-width:768px){

    .decor-grid{

        grid-template-columns:1fr;

        gap:20px;

    }

}
@media (max-width:768px){

    .decor-grid{

        grid-template-columns:1fr;

    }

    .decor-card{

        max-width:500px;

        width:100%;

        margin:0 auto;

    }

}

/* ===================================
   HERO MOBILE
=================================== */

@media (max-width:768px){

    .hero{

        min-height:100vh;



    }

    .hero-image{

        object-position:center center;
    }

    .hero-overlay{

        background:linear-gradient(
            to bottom,
            rgba(0,0,0,.35),
            rgba(0,0,0,.65)
        );

    }

    .hero-content{

        width:100%;

        max-width:100%;

        text-align:left;

        padding:0;

    }

    .hero-content p{

        font-size:16px;

        line-height:1.5;

        margin-bottom:18px;

    }

    .hero-content h1{

        font-size:32px;

        line-height:1.1;

        margin-bottom:18px;

    }

    .hero-content h2{

        font-size:22px;

        margin-bottom:30px;

    }

    .hero-content .btn{

        width:100%;

        max-width:320px;

        margin:0 auto;

    }

    .hero-logo{

        width:140px;

        left:50%;

        transform:translateX(-50%);

        top:24px;

    }

}

.request-form{

display:flex;
flex-direction:column;
gap:18px;

}

.form-field{

width:100%;

}

.request-form input[type=text],
.request-form input[type=email],
.request-form input[type=tel],
.request-form textarea,
.request-form select{

width:100%;
padding:18px 22px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.25);

border-radius:18px;

color:#fff;

font-size:16px;

font-family:inherit;

backdrop-filter:blur(12px);

transition:.25s;

box-sizing:border-box;

}

.request-form input:focus,
.request-form textarea:focus,
.request-form select:focus{

outline:none;

border-color:#ffffff;

background:rgba(255,255,255,.18);

}

.request-form textarea{

height:160px;
resize:none;

}

.request-form input::placeholder,
.request-form textarea::placeholder{

color:rgba(255,255,255,.75);

}

.request-form select{

appearance:none;

cursor:pointer;

}

.request-form option{

color:#000;

}

.form-consent{

display:flex;
gap:12px;
align-items:flex-start;
font-size:14px;
color:#fff;

}

.form-consent input{

margin-top:4px;

}

.request-form .btn{

margin-top:10px;

}

.form-message{

padding:18px;
border-radius:18px;
margin-bottom:20px;

}

.form-message--success{

background:#edf9ee;
color:#22763d;

}

.form-message--error{

background:#fff1f1;
color:#d32f2f;

}

@media(max-width:768px){

.request-form input[type=text],
.request-form input[type=email],
.request-form input[type=tel],
.request-form textarea,
.request-form select{

padding:16px;

}

}
.request-form label:not(.form-consent){

display:none;

}

/* ===== RAU Form ===== */

.contact-form-wrap table{
    width:100%;
    border-collapse:collapse;
}

.contact-form-wrap tr{
    display:block;
    margin-bottom:18px;
}

.contact-form-wrap td{
    display:block;
    width:100%;
    padding:0;
    border:0;
}

.contact-form-wrap td:first-child{
    display:none; /* скрываем подписи слева */
}

.contact-form-wrap input[type=text],
.contact-form-wrap input[type=email],
.contact-form-wrap input[type=tel],
.contact-form-wrap textarea,
.contact-form-wrap select{

    width:100%;
    box-sizing:border-box;

    padding:18px 22px;

    border-radius:18px;
    border:1px solid rgba(255,255,255,.25);

    background:rgba(255,255,255,.12);

    color:#fff;

    font-size:16px;

    backdrop-filter:blur(15px);

}

.contact-form-wrap textarea{
    min-height:160px;
}

.contact-form-wrap input::placeholder,
.contact-form-wrap textarea::placeholder{

    color:rgba(255,255,255,.7);

}

.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus,
.contact-form-wrap select:focus{

    outline:none;
    border-color:#fff;

}

.contact-form-wrap select option{
    color:#000;
}

.contact-form-wrap input[type=submit]{

    width:100%;

    padding:18px;

    border:none;

    border-radius:18px;

    background:#ffffff;

    color:#000;

    cursor:pointer;

    font-weight:600;

    font-size:16px;

}
.contact-form-wrap label{
    display:none;
}

.contact-form-wrap input::placeholder,
.contact-form-wrap textarea::placeholder{
    color:rgba(255,255,255,.75);
}

.contact-form-wrap select{
    color:rgba(255,255,255,.75);
}

.contact-form-wrap select option{
    color:#000;
}

.request-form label{
    display:none;
}

.request-form .form-consent{
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:#fff;
    font-size:14px;
}

.request-form .form-consent input{
    width:18px;
    height:18px;
    margin-top:2px;
    flex-shrink:0;
}

.request-form input[type=submit]{
    display:block;
    width:100%;
    margin-top:20px;
}

.map-wrap{
    width:100%;
    height:500px;
    border-radius:24px;
    overflow:hidden;
}

#leaflet-map{
    width:100%;
    height:100%;
}
.leaflet-control-attribution .leaflet-attribution-flag{
    display:none !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
}

.btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

}

.btn-icon{

    width:20px;
    height:20px;

    display:block;

    transition:.25s;

}

.btn:hover .btn-icon{

    transform:translateX(4px);

}

.section-cta{
    margin-top:48px;
    text-align:center;
}

.section-cta .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.footer-map{

    width:100%;
    aspect-ratio:5/3;

    overflow:hidden;
    border-radius:18px;

    margin-bottom:32px;
}

.footer-map iframe{
    width:100%;
    height:100%;
    border:0;
}

#footerMap{

    height:460px;
    border-radius:24px;

}

.footer-company{

    margin-top:auto;

    padding:40px;
}

.footer-company-text{

    color:#777;
    font-size:18px;
    line-height:1.8;

}

.footer-company img{

    width:170px;
    margin-top:30px;

}

/* ========================================
   МОБИЛЬНАЯ ШАПКА
   Телефон над кнопкой и меню
   ======================================== */

@media (max-width: 767px) {

    .header-actions {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        padding-top: 42px;
    }

    /* Телефон */
    .header-actions > a:first-child {
        position: absolute;
        top: 0;
        right: 0;

        white-space: nowrap;

        font-size: 18px;
        line-height: 1.2;
        color: #222;
        text-decoration: none;
    }

    /* Кнопка "Оставить заявку" */
    .header-actions .btn--primary {
        margin: 0;
    }

    /* Меню */
    .header-actions .nav-toggle {
        margin: 0;
    }
}

/* ==========================================
   Specifications
========================================== */

.spec-table{
    max-width:900px;
    margin:40px auto 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid #e6e6e6;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}

.spec-head,
.spec-value{
    padding:16px 18px;
    text-align:center;
    border-right:1px solid #e6e6e6;
}

.spec-head:last-child,
.spec-value:last-child{
    border-right:none;
}

.spec-head{
    background:#f7f7f7;
    font-size:15px;
    font-weight:600;
    color:#666;
}

.spec-value{
    font-size:18px;
    font-weight:500;
    color:#333;
}

@media (max-width:1200px){

.spec-head{
    font-size:26px;
    min-height:120px;
}

.spec-value{
    font-size:46px;
}

}

@media (max-width:768px){

.spec-table{

    display:grid;

    grid-template-columns:1fr 1fr;

    grid-template-areas:
    "h1 v1"
    "h2 v2"
    "h3 v3"
    "h4 v4";

    gap:2px;

}

.spec-head,
.spec-value{

    min-height:70px;

    display:flex;
    align-items:center;

    padding:20px;

}

.spec-head{

    background:#a5a2a2;
    color:#fff;

    font-size:18px;

}

.spec-value{

    background:#f3f3f3;

    display:flex;
    align-items:center;
    justify-content:flex-end;

    padding:20px;

    font-size:30px;
    font-weight:700;
    line-height:1;

    text-align:right;

}

/* размещение */

.spec-head:nth-child(1){grid-area:h1;}
.spec-head:nth-child(2){grid-area:h2;}
.spec-head:nth-child(3){grid-area:h3;}
.spec-head:nth-child(4){grid-area:h4;}

.spec-value:nth-child(5){grid-area:v1;}
.spec-value:nth-child(6){grid-area:v2;}
.spec-value:nth-child(7){grid-area:v3;}
.spec-value:nth-child(8){grid-area:v4;}

}