:root {
  --vh: 1vh;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  line-height: 1;
  font-family: sans-serif;
  background-color: #fff;
  color: #000;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

button, input, select, textarea {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  outline: none;
}

a {
  color: inherit;
  text-decoration: none;
}
section + section
{
    padding-top:46px !important;
}
section:has( + section)
{
    padding-bottom:46px !important;
}
@media only screen and (max-width: 800px)
{
    section + section
    {
        padding-top:26px !important;
    }
    section:has( + section)
    {
        padding-bottom:26px !important;
    }
}
header
{
    height:80px;
    background:#fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}
header > div
{
    display:grid;
    grid-template-columns:1fr auto;
    gap:26px;
    align-items:center;
    padding-inline:30px;
    max-width: 1400px;
    margin-inline: auto;
    height:100%;
}
header[inside] > div
{
    grid-template-columns:1fr auto auto;
}
header div[logo]
{
    display: flex;
    gap: 18px;
    align-items:center;
}
header div[logo] img
{
    /*max-height:34px;*/
    /*width:auto;*/
    /*width:180px;*/
    /*height:auto;*/
    width: auto;
    height: auto;
    max-height: none;
    max-width: 180px;
}
header div[logo] span img
{
    max-height:40px;
}
header div[logo] small
{
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 29px;
}
header div[menu] button
{
    /*display:inline-block;*/
    /*width:40px;*/
    /*height:24px;*/
    cursor:pointer;
}
/*header div[menu] button svg*/
/*{*/
/*    max-width:40px;*/
/*    height:auto;*/
/*}*/
header[inside] div[phone]
{
    display:none;
}
header[inside] div[scrollbtn] button
{
    display:inline-grid;
    align-items:center;
    text-align:center;
    height:48px;
    width:190px;
    border-radius: 10px;
    background: #2B2D32;
    color: #FFF;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19.2px; /* 120% */
    cursor:pointer;
    transition:all .1s;
}
@media (hover: hover)
{
    header[inside] div[scrollbtn] button:hover
    {
        color:#2B2D32;
        background:rgb(254, 230, 0);
    }
}
@media only screen and (max-width: 800px) 
{
    header
    {
        height:70px;
    }
    /*header div[logo] small,*/
    /*header div[logo] span*/
    /*{*/
    /*    display:none;*/
    /*}*/
    header div[logo] small
    {
        font-size:14px;
    }
    header div[logo]
    {
        gap:10px;
    }
    header > div 
    {
        gap: 20px;
        padding-inline:10px;
    }
    /*header[inside] > div*/
    /*{*/
    /*    grid-template-columns:1fr auto;*/
    /*}*/
    header[inside] div[scrollbtn]
    {
        display:none;
    }
    header[inside] div[phone]
    {
        display:block;
    }
    header div[logo] img
    {
        max-width:120px;
        max-height:25px !important;
    }
}
nav[main],
.swiper-container
{
    /*display:grid;*/
    /*grid-template-columns:1fr 1fr 1fr;*/
    /*gap:0;*/
    height: calc(var(--vh, 1vh) * 100 - 80px);
    overflow:hidden;
    margin-top:80px;
}
/*nav[main][maintwo]*/
/*{*/
/*    grid-template-columns:1fr 1fr;*/
/*}*/
/*@media only screen and (max-width: 1000px)*/
/*{*/
/*    nav[main]*/
/*    {*/
/*        display:block;*/
/*    }*/
/*}*/
@media only screen and (max-width: 800px)
{
    nav[main],
    .swiper-container
    {
        height: calc(var(--vh, 1vh) * 100 - 70px);
        margin-top:70px;
    }
}
.swiper-slide
{
    overflow: hidden;
    position:relative;
    height:100%;
}
.swiper-slide div.videomargin
{
    position:absolute;
    inset:2px;
    width:calc(100% + 4px);
    height:calc(100% + 4px);
    left:-2px;
    top:-2px;
}
.swiper-slide video 
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    outline: none;
}
/*@media only screen and (max-width: 800px)*/
/*{*/
/*    .swiper-slide video */
/*    {*/
/*        display:none;*/
/*    }*/
/*}*/
.swiper-slide div.link
{
    position:absolute;
    inset:0;
}
.swiper-slide div.link div.content
{
    position:absolute;
    bottom:100px;
    left:20px;
    right:20px;
    text-align:center;
}
@media only screen and (max-width: 1100px)
{
    .swiper-slide div.link div.content
    {
        bottom:60px;
    }
}
@media only screen and (max-height: 1000px)
{
    .swiper-slide div.link div.content
    {
        bottom:60px;
    }
}
.swiper-slide div.link div.content span
{
    font-family: Verdana, Geneva, sans-serif;
    color: #2B2D32;
    text-align: center;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 57px;
    display:block;
    margin-bottom:15px;
}
@media only screen and (max-width: 1100px)
{
    .swiper-slide div.link div.content span
    {
        font-size: 26px;
        line-height: 1.3;
    }
}
@media only screen and (max-height: 1000px)
{
    .swiper-slide div.link div.content span
    {
        font-size: 26px;
        line-height: 1.3;
    }
}
.swiper-slide div.link div.content a
{
    display: inline-flex;
    padding: 14px 22px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #2B2D32;
    color: #FFF;
    text-align: center;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19px;
    transition: all .3s;
}
@media (hover: hover)
{
    .swiper-slide div.link div.content a:hover
    {
        border-radius:0;
        opacity:0.8;
    }
}
.swiper-pagination-bullet
{
    height:4px;
    width:50px;
    background:#2B2D32;
    opacity:0.5;
    transition:all .3s;
    border-radius:5px;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active
{
    opacity:1;
}
/*.swiper-wrapper*/
/*{*/
/*    overflow:hidden;*/
/*}*/
.swiper-pagination-bullets
{
    bottom:30px !important;
}
/* Стили для кнопки гамбургера */
#hamburger {
    position: relative;
    width: 40px;
    height: 24px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1000;
}

/* Линии гамбургера */
#hamburger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #333;
    transition: all 0.3s ease;
}

/* Позиционирование линий */
#hamburger span:nth-child(1) { top: 0; }
#hamburger span:nth-child(2) { top: 50%; transform: translateY(-50%); }
#hamburger span:nth-child(3) { bottom: 0; }

/* Анимация при открытии меню */
body.open-menu #hamburger span:nth-child(1) {
    transform: 
        translateY(10px)    /* Смещаем вниз на половину высоты кнопки (24/2 - 3/2) */
        rotate(45deg);
}
body.open-menu,
body.open-lightbox
{
    overflow:hidden;
}
body.open-menu #hamburger span:nth-child(2) {
    opacity: 0;
}

body.open-menu #hamburger span:nth-child(3) {
    transform: 
        translateY(-11px)   /* Смещаем вверх на половину высоты кнопки */
        rotate(-45deg);
}
div[mobilemenu] {
    opacity: 0;
    transform: translateY(-11px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    position:fixed;
    top:79px;
    left:0;
    right:0;
    bottom:0;
    z-index:-1;
    padding-block:1rem;
    padding-inline:30px;
    background:#fff;
}
@media only screen and (max-width: 800px)
{
    div[mobilemenu]
    {
        top:69px;
        padding-inline:20px;
    }
}
body.open-menu div[mobilemenu] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    z-index:10;
}
div[mobilemenu] ul
{
    list-style:none;
    padding:0;
    max-width:1340px;
    margin-inline:auto;
}
div[mobilemenu] ul li
{
    font-size: 1.3rem;
    margin-bottom:1.5rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
div[mobilemenu] ul li a
{
    color: #2b2d32;
    text-decoration:none;
}
div[mobilemenu] ul li.border
{
    padding-top:1.5rem;
    border-top:1px solid #2b2d3233;
}
section[calcsimple]
{
    max-width:1400px;
    margin-inline:auto;
    padding-inline:30px;
    display:grid;
    grid-template-columns: minmax(0, 1fr) minmax(auto, 580px);
    gap:30px;
    align-items:start;   
    background-image: url('/wp-content/uploads/2025/04/calculator-bg.png');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%; /* ширина — автоматически, высота — 100% */
    padding-block:92px;
}
@media only screen and (max-width: 1300px)
{
    section[calcsimple]
    {
        grid-template-columns: auto 580px;
    }
}
@media only screen and (max-width: 1000px)
{
    section[calcsimple]
    {
        grid-template-columns: 1fr;
        background-image: url('/wp-content/uploads/2025/04/calculator-bg-mobile.png');
        background-position: right top;
        background-size: 100% auto;
    }
}
@media only screen and (max-width: 800px)
{
    section[calcsimple]
    {
        padding-block:52px;
        gap:16px;
    }
}
div[grid2]
{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px 32px;
    align-items:start;
}
div[grid2] + div[grid2]
{
    padding-top:20px;
}
div[grid2] div[span]
{
    grid-column: span 2;
}
@media only screen and (max-width: 750px)
{
    div[grid2]
    {
        grid-template-columns:1fr;
    }
    div[grid2] div[span]
    {
        grid-column: unset;
    }
}
div[grid2] label span[label]
{
    display:block;
    height:20px;
    color: rgba(43, 45, 50, 0.80);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19px;
    font-family: Verdana, Geneva, sans-serif;
    margin-bottom:4px;
}
@media only screen and (max-width: 800px)
{
    div[grid2] label span[label]
    {
        font-size: 14px;
    }
    div[grid2] label span[label]:has( + [value] )
    {
        margin-bottom:0;
    }
}
label span[label]:nth-of-type(2)
{
    padding-top:2px;   
}
.choices
{
    margin-bottom:0;
}
.choices__inner
{
    min-height:52px;
    display:inline-grid;
    align-items:center;
    padding:0 16px !important;
    border-radius: 8px;
    border-color:#B5B6B7;
    background: #fff;
}
.is-open .choices__inner 
{
    border-radius: 8px 8px 0 0;
}
.choices__list--dropdown .choices__item, .choices__list[aria-expanded] .choices__item
{
    padding-inline:16px !important;
    font-size:18px;
    padding-block:16px;
}
.choices__list--single
{
    padding:0 !important;
}
.choices[data-type*="select-one"]::after {
    display: none;
}
.choices[data-type*="select-one"]::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2219%22%20height%3D%2219%22%20viewBox%3D%220%200%2019%2019%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_185_2339)%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0.307607%205.87753L9.5%2015.0699L18.6924%205.87753L17.2782%204.46331L9.5%2012.2415L1.72182%204.46331L0.307607%205.87753Z%22%20fill%3D%22%232B2D32%22%20fill-opacity%3D%220.6%22/%3E%3C/g%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_185_2339%22%3E%3Crect%20width%3D%2219%22%20height%3D%2219%22%20fill%3D%22white%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    transition: transform 0.1s ease;
}
.choices[data-type="select-one"].is-open::before {
    transform: translateY(-50%) rotate(180deg);
}
.choices__list--single .choices__item
{
    font-size:18px;
    font-weight:400;
    font-family: Verdana, Geneva, sans-serif;
}
@media only screen and (max-width: 800px)
{
    .choices__list--single .choices__item
    {
        font-size: 16px;
    }
}
div[grid2] input
{
    min-height:52px;
    display:inline-grid;
    align-items:center;
    padding:0 16px !important;
    border-radius: 8px;
    border:1px solid #B5B6B7;
    background: #fff;
    width:100% !important;
    font-size: 18px;
    font-weight: 400;
    font-family: Verdana, Geneva, sans-serif;
}
@media only screen and (max-width: 800px)
{
    div[grid2] input
    {
        font-size: 16px;
    }
}
div[grid2] span[value]
{
    display: grid;
    padding: 0;
    min-height: 52px;
    font-size: 32px;
    line-height: 38px;
    align-items: center;
}
div[formaction]
{
    margin-top:25px;
}
div[formaction] button
{
    background:rgb(43, 45, 50);
    border-radius: 20px;
    font-size: 20px;
    font-weight: 400;
    font-family: Verdana, Geneva, sans-serif;
    height:64px;
    display:grid;
    text-align:center;
    align-items:center;
    color:#fff;
    padding-inline:32px;
    justify-content:center;
    width:100%;
    cursor:pointer;
    transition:0.1s all;
}
@media (hover: hover)
{
    div[formaction] button:hover:not([disabled])
    {
        background:rgb(254, 230, 0);
        color:rgb(43, 45, 50);
    }
}
div[formaction] button[disabled]
{
    opacity: 0.5;
    cursor: not-allowed;
}
@media only screen and (max-width: 800px)
{
    div[formaction] button
    {
        font-size: 16px;
    }
}
.table-wrapper {
    display: block;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.table-wrapper table {
    border-collapse: collapse;
    width: max-content; /* только ширина по контенту */
    min-width: 100%;     /* если меньше контента — растянуть */
    table-layout: auto;
}
/* Оверлей */
.lightbox-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1000;
    display: none;
    overflow-y: auto; /* чтобы весь контент мог прокручиваться */
    padding: 2em 1em;
}

/* Показ */
.lightbox-overlay.active {
    display: block;
}

/* Контент */
.lightbox-content {
    background: #fff;
    padding: 2em;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    max-width: 700px;
    margin: 5vh auto; /* чтобы по центру, но с отступами */
    position: relative;
}

/* Кнопка закрытия */
.lightbox-close {
    position: absolute;
    top: 0.5em;
    right: 0.8em;
    width: 54px;
    height: 54px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") no-repeat center;
    background-size: 50% 50%;
    cursor: pointer;
    border: none;
    opacity:0.7;
    transition:all .1s;
}
.lightbox-close:hover
{
    opacity:1;
}
@media (max-width: 800px) {
    .lightbox-close {
        width: 44px;
        height: 44px;
    }
}
.calc-simple-result h3
{
    font-size: 32px;
    line-height: 1.4;
    color:rgb(43, 45, 50);
    font-weight:400;
    font-family: Verdana, Geneva, sans-serif;
    margin-bottom:24px;
}
@media only screen and (max-width: 800px)
{
    .calc-simple-result h3
    {
        font-size:17px;
    }
}
table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    line-height: 1.4;
    min-width: 700px; /* чтобы не ломалась на мобильных */
    margin-bottom:24px;
}

thead th,
table th {
    background-color: #f0f0f0;
    padding: 10px;
    text-align: left;
    font-weight: 600;
    /*border-bottom: 2px solid #ccc;*/
    white-space: nowrap;
}

td {
    padding: 10px;
    border-bottom: 1px solid #eee;
    white-space: nowrap;
    vertical-align: top;
}

tr.highlight {
    background-color: #fcfcfc;
    font-weight: 500;
}

td.highlight {
    background-color: #fee600;
    color: #000;
}
.calc-simple-result p strong
{
    font-weight:400;
    font-size:16px;
}
.calc-simple-result p
{
    font-size: 18px;
    line-height:1.3;
    margin-bottom:18px;
    font-weight:700;
}
section[calcsimple] span[title]
{
    display:block;
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 50px;
    font-style: normal;
    font-weight: 400;
    line-height: 60px; /* 120% */
    max-width:490px;
    margin-bottom:12px;
}
@media only screen and (max-width: 1300px)
{
    section[calcsimple] span[title]
    {
        font-size:36px;
        max-width:100%;
        line-height:46px;
    }
}
@media only screen and (max-width: 1000px)
{
    section[calcsimple] span[title]
    {
        font-size:24px;
        max-width:100%;
        line-height:34px;
    }
}
section[calcsimple] small
{
    color: rgba(43, 45, 50, 0.80);
    font-family: Verdana, Geneva, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 16.8px; /* 120% */
}
section[hero]
{
    padding-inline:30px;
    max-width:1400px;
    margin-inline:auto;
    padding-bottom:92px;
    padding-top:80px;
}
@media (max-width: 800px)
{
    section[hero]
    {
        padding-inline:0px;
        padding-bottom:52px;
        padding-top:70px;
    }
}
section[hero] > div
{
    background-image: var(--bg-desktop);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100vw;
    max-height: 558px;
    padding: 30px;
    overflow-x: hidden;
    border-radius: 24px;
    display: grid;
    align-items: center;
}
@media (max-width: 1400px)
{
    section[hero] > div
    {
        padding:30px;
    }
}
@media (max-width: 800px)
{
    section[hero] > div
    {
        padding:24px 16px;
        border-radius:0;
    }
}
@media (max-width: 580px) 
{
    section[hero] > div
    {
        background-image: var(--bg-mobile);
        align-items:start;
    }
}
section[hero] h1
{
    display:block;
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 50px;
    font-style: normal;
    font-weight: 400;
    line-height: 60px; /* 120% */
    max-width:580px;
    margin-bottom:12px;   
}
section[hero] h2
{
    color: rgba(43, 45, 50, 0.80);
    font-family: Verdana, Geneva, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 32.4px; /* 180% */
    max-width:580px;
}
@media (max-width: 800px)
{
    section[hero] h1
    {
        font-size:24px;
        margin-bottom:16px;
        line-height:34px;
    }
    section[hero] h2
    {
        font-size:16px;
        line-height:30px;
    }
}
section[service-description]
{
    padding-inline:30px;
    max-width:1400px;
    margin-inline:auto;
    padding-block: 92px;
}
@media (max-width: 800px)
{
    section[service-description]
    {
        padding-inline:0px;
        padding-block:52px;
    }
}
section[service-description] div[content]
{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:30px;
    align-items:start;   
}
section[service-description] div[content] div[info]
{
    grid-column: span 2;
}
section[service-description] div[content] div[info] span[title]
{
    display:block;
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 50px;
    font-style: normal;
    font-weight: 400;
    line-height: 60px; /* 120% */
    margin-bottom:15px;
}
@media only screen and (max-width: 1300px)
{
    section[service-description] div[content] div[info] span[title]
    {
        font-size:36px;
        line-height:46px;
    }
}
@media only screen and (max-width: 1000px)
{
    section[service-description] div[content]
    {
        grid-template-columns:1fr;
    }
    section[service-description] div[content] div[info] span[title]
    {
        font-size:24px;
        line-height:34px;
    }
    section[service-description] div[content] div[info]
    {
        grid-column: unset;
    }
}
@media only screen and (max-width: 800px)
{
    section[service-description] div[content] div[info]
    {
        padding-inline:20px;
    }
}
section[service-description] div[content] div[info] p
{
    color: rgba(43, 45, 50, 0.80);
    font-family: Verdana, Geneva, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 32.4px; /* 180% */
    margin-bottom:24px;
}
@media (max-width: 800px)
{
    section[service-description] div[content] div[info] p
    {
        font-size: 16px;
        line-height:30px;
        margin-bottom:18px;
    }
}
section[service-description] div[content] div[info] p:last-child
{
    margin:0;
}
section[service-description] div[img]
{
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 24px;
}
section[service-description] div[img] img
{
    display:block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
@media only screen and (max-width: 1000px)
{
    section[service-description] div[img]
    {
        display:none;
    }
}   
@media only screen and (max-width: 800px)
{
    section[service-description] div[img]
    {
        display:block;
        border-radius:0;
        height:300px;
    }
}
@media only screen and (max-width: 600px)
{
    section[service-description] div[img]
    {
        height:280px;
    }
}
section[service-description] div[keys]
{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:30px;
    align-items:start;   
}
@media (max-width: 800px)
{
    section[service-description] div[keys]
    {
        grid-template-columns:1fr 1fr;
        padding-inline:20px;
    }
}
@media (max-width: 650px)
{
    section[service-description] div[keys]
    {
        grid-template-columns:1fr;
    }
}
section[service-description] div[keys]
{
    padding-top:30px;
}
section[service-description] div[keys] > div
{
    height:100%;
    background: linear-gradient(107deg, #F7F7FB -2.19%, #E0EAFF 102.78%);
    padding:15px 20px;
    border-radius:24px;
}
section[service-description] div[keys] > div span
{
    display:block;
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: 57.6px; /* 205.714% */
    border-bottom:1px solid rgba(43, 45, 50, 0.20);
}
section[service-description] div[keys] > div small
{
    display:block;
    padding-top:9px;
    color: #5E6266;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 21.6px; /* 135% */
}
footer
{
    background:#F7F7FB;
    padding-top:45px;
}
@media (max-width: 650px)
{
    footer
    {
        padding-top:25px;
    }
}
footer div[links]
{
    border-bottom:2px solid rgba(43, 45, 50, 0.10);
    padding-bottom: 20px;
}
footer div[links] > div,
footer div[copyright] > div
{
    max-width:1400px;
    margin-inline:auto;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:20px;
    align-items:start;
    padding-inline: 30px;
}
@media (max-width: 1000px)
{
    footer div[links] > div
    {
        grid-template-columns:1fr 1fr;
        gap:40px 20px;
    }
    footer div[copyright] > div
    {
        grid-template-columns:1fr 1fr;
        gap:16px 20px;
    }
}
@media (max-width: 800px)
{
    footer div[links] > div,
    footer div[copyright] > div
    {
        padding-inline: 20px;
    }
}
.footer-logo + .footer-contact
{
    display:none;
}
@media (max-width: 600px)
{
    footer div[links] > div,
    footer div[copyright] > div
    {
        grid-template-columns:1fr;
        gap:32px 20px;
    }
    footer div[col][desktop]
    {
        display:none;
    }
    footer div[copyright] > div
    {
        grid-template-columns:1fr;
        gap:16px 20px;
    }
    .footer-logo + .footer-contact
    {
        display:flex;
    }
}
footer .footer-social-title
{
    padding-top:18px;
    padding-bottom:12px;
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 21.6px;
}
@media (max-width: 800px)
{
    footer .footer-social-title
    {
        padding-top:31px;
        font-size: 14px;
        line-height: 16.8px;
    }
}
footer .footer-socials
{
    display: flex;
    flex-direction: row;
    gap: 16px;
    padding: 0;
    margin: 0;
    list-style: none;
}
@media (max-width: 600px)
{
    footer .footer-socials
    {
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:12px;
        align-items:center;
    }
}
footer .footer-socials li
{
    display:inline-block;
}
footer .footer-socials li a
{
    display:inline-grid;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #FFF;
    align-items: center;
    justify-content: center;
    transition: all .1s;
}
@media (max-width: 600px)
{
    footer .footer-socials li a
    {
        width:100%;
        text-align:center;
    }
}
@media (hover: hover)
{
    footer .footer-socials li a:hover:hover
    {
        background:rgb(254, 230, 0);
    }
}
footer .footer-links
{
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
footer .footer-links a
{
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 21.6px;
}
@media (max-width: 800px)
{
    footer .footer-links
    {
        gap:16px;
    }
    footer .footer-links a
    {
        font-size: 14px;
    }
}
@media (hover: hover)
{
    footer .footer-links a:hover
    {
        color:#000;
    }
}
footer .footer-contact
{
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
@media (max-width: 600px)
{
    footer .footer-contact
    {
        padding-top:32px;
    }
}
footer .footer-contact li
{
    font-family: Verdana, Geneva, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 21.6px;
    display: flex;
    align-items: center;
    gap: 8px;
}
footer .footer-contact a,
footer .footer-contact span
{
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 21.6px;
}
@media (max-width: 800px)
{
    footer .footer-contact
    {
        gap:16px;
    }
    footer .footer-contact li,
    footer .footer-contact a,
    footer .footer-contact span
    {
        font-size: 14px;
    }
}
@media (hover: hover)
{
    footer .footer-contact a:hover
    {
        color:#000;
    }
}
.footer-contact svg
{
    opacity:0.8;
}
footer div[copyright]
{
    padding-block:26px;
}
footer div[copyright] p
{
    color: rgba(43, 45, 50, 0.80);
    font-family: Verdana, Geneva, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 16.8px; /* 120% */
    cursor:default;
}
span[justpage]
{
    color:#000;
}
section[form]
{
    max-width:1400px;
    margin-inline:auto;
    padding-inline:30px;
    display:grid;
    grid-template-columns: minmax(0, 1fr) minmax(auto, 580px);
    gap:30px;
    align-items:start;   
    background-image: url('/wp-content/uploads/2025/04/leasing-request-bg.png');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%; /* ширина — автоматически, высота — 100% */
    padding-block:92px;
}
@media only screen and (max-width: 1300px)
{
    section[form]
    {
        grid-template-columns: auto 580px;
    }
}
@media only screen and (max-width: 1000px)
{
    section[form]
    {
        grid-template-columns: 1fr;
        background-image: url('/wp-content/uploads/2025/04/leasing-request-bg-mobile.png');
        background-position: right top;
        background-size: 100% auto;
    }
}
@media only screen and (max-width: 800px)
{
    section[form]
    {
        padding-block:52px;
        gap:16px;
    }
}
section[form] span[title]
{
    display:block;
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 50px;
    font-style: normal;
    font-weight: 400;
    line-height: 60px; /* 120% */
    max-width:490px;
    margin-bottom:16px;
}
@media only screen and (max-width: 1300px)
{
    section[form] span[title]
    {
        font-size:36px;
        max-width:100%;
        line-height:46px;
    }
}
@media only screen and (max-width: 1000px)
{
    section[form] span[title]
    {
        font-size:22px;
        max-width:100%;
        line-height:27px;
    }
}
section[form] small
{
    color: rgba(43, 45, 50, 0.80);
    font-family: Verdana, Geneva, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
}
@media only screen and (max-width: 1000px)
{
    section[form] small
    {
        font-size: 13px;
    }
}
section[form] div[content],
section[form] div[formbody]
{
    padding-top:43px;
}
@media only screen and (max-width: 1000px)
{
    section[form] div[content],
    section[form] div[formbody]
    {
        padding-top:0;
    }
}
div[acceptance]
{
    display:grid;
    grid-template-columns:32px auto;
    gap:16px;
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19.2px; /* 120% */
}
div[acceptance] span
{
    cursor:pointer;
    margin:0;
    display:block;
}
div[acceptance] a
{
    color:#578df6!important;
}
@media (hover: hover)
{
    div[acceptance] a:hover
    {
        text-decoration:underline;
    }
}
/* создаём контейнер */
.wpcf7-list-item {
  position: relative;
  padding-left: 28px;
}

/* скрываем input, но оставляем кликабельным */
.wpcf7-list-item input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px !important;
  height: 32px;
  opacity: 0;
  z-index: 2;
  cursor: pointer;
}

/* кастомная коробка */
.wpcf7-list-item::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 32px;
  height: 32px;
  border: 1.5px solid #666;
  border-radius: 4px;
  background: #fff;
  box-sizing: border-box;
  z-index: 1;
}
.wpcf7-list-item:has(input[type="checkbox"]:checked)::after {
  content: '';
  position: absolute;
    top: 11px;
    left: 12px;
    width: 6px;
    height: 12px;
  border: solid #000;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  z-index: 3;
}
div[formbody] form
{
    position:relative;
}
div[formbody] form:not(.sent) div[sent]
{
    display:none;
}
div[formbody] form.sent
{
    min-height:400px;
}
@media only screen and (max-width: 800px)
{
    div[formbody] form.sent
    {
        min-height:300px;
    }
}
div[formbody] form.sent div[sent]
{
    display:block;
    position:absolute;
    inset:0;
    z-index:2;
}
@media only screen and (max-width: 800px)
{
    div[formbody] form.sent div[sent]
    {
        padding-top:50px;
    }
}
div[formbody] form.sent > *:not([sent])
{
    display:none;
}
div[sent] img
{
    padding-bottom:3rem;
}
.wpcf7-form-control-wrap
{
    display:block;
}
.wpcf7-not-valid-tip 
{
    font-size: 12px !important;
    position: absolute;
    bottom: -14px;
    padding-left: 5px;
    letter-spacing: 0.6px;
    -webkit-animation: slide-in-top 0.2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-in-top 0.2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-top{0%{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slide-in-top{0%{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}
input.wpcf7-not-valid
{
    border-color:#dc3232 !important;
}
.wpcf7 form.invalid .wpcf7-response-output
{
    padding:16px;
    margin-inline:0;
    border-radius:10px;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19.2px;
}

.radio-group {
  display: flex;
  gap: 32px; /* убираем, если хотим 50% строго */
  margin-bottom:32px;
}
@media only screen and (max-width: 800px)
{
    .radio-group
    {
        display:grid;
        gap:2px;
        margin-bottom:12px;
        grid-template-columns:1fr 1fr;
    }
}
.radio-wrapper {
  width: 50%;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  font-size: 16px;
  box-sizing: border-box;
}
@media only screen and (max-width: 800px)
{
    .radio-wrapper
    {
        width:auto;
        display:inline-grid;
        text-align: center;
        align-items:center;
    }
}
/* скрываем стандартный radio */
.radio-wrapper input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width:0 !important;
}

/* внешний кружок */
.custom-radio {
  width: 25px;
  height: 25px;
  border: 0px solid #B5B6B7;
  /*border-radius: 50%;*/
  background-color: #fff;
  box-sizing: border-box;
  transition: border-color 0.2s;
  position: relative;
}
@media only screen and (max-width: 800px)
{
    .custom-radio
    {
        display:none;
    }
}
.radio-wrapper input[type="radio"]:checked + .custom-radio svg .radio-active
{
    fill:rgb(43, 45, 50);
}
/* активный кружок (точка внутри) */
/*.radio-wrapper input[type="radio"]:checked + .custom-radio::after {*/
/*  content: '';*/
/*  position: absolute;*/
/*  top: 3px;*/
/*  left: 3px;*/
/*  width: 16px;*/
/*  height: 16px;*/
/*  background-color: rgb(43, 45, 50);*/
/*  border-radius: 50%;*/
/*}*/
@media only screen and (max-width: 800px)
{
    .radio-wrapper:has( input[type="radio"]:checked )
    {
        background:rgb(43, 45, 50);
        border-radius: 10px;
        height: 44px;
    }
    .radio-wrapper:has( input[type="radio"]:checked ) .radio-label
    {
        color:#fff;
    }
}
/* hover эффект */
.radio-wrapper:hover .custom-radio {
  border-color: #000;
}
.radio-label
{
    color: rgba(0, 0, 0, 0.87);
    font-family: Verdana, Geneva, sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 26.4px; /* 120% */
}
@media only screen and (max-width: 800px)
{
    .radio-label
    {
        font-size:14px;
    }
}
label[info] span[value]
{
    font-size:18px;
    min-height:28px;
}
label[info] span[label]
{
    margin: 0 !important;
}
#moove_gdpr_cookie_info_bar
{
    bottom: 20px !important;
    right: 20px !important;
    width: 540px !important;
    left: unset !important;
    max-width: calc(100% - 40px) !important;
    box-shadow: 0 .625em 1.875em #0000024d !important;
    border:0 !important;
    border-radius:24px;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content
{
    padding:2rem 2.5rem !important;
    flex-direction: column !important;
    gap:20px !important;
}
@media only screen and (max-width: 800px)
{
    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content
    {
        padding:20px !important;
    }
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container
{
    padding:0 !important;
}
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content strong
{
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}
@media only screen and (max-width: 800px)
{
    #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content strong
    {
        font-size: 20px;
        line-height: 140%;
    }
}
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p
{
    color: #2B2D32;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}
@media only screen and (max-width: 800px)
{
    #moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p
    {
        font-size: 13px;
    }
}
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder
{
    width:100% !important;
    padding-inline:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:16px;
    align-items:center !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder button,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button
{
    display: inline-grid !important;
    align-items: center;
    text-align: center;
    height: 48px;
    border-radius: 10px !important;
    background: #2B2D32;
    color: #FFF;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 19.2px !important;
    cursor: pointer !important;
    transition: all .1s !important;
}
@media (hover: hover)
{
    #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder button:hover,
    #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button:hover
    {
        color:#2B2D32 !important;
        background:rgb(254, 230, 0) !important;
        text-decoration:none !important;
    }
}
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a, 
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button
{
    text-decoration:none !important;
    font-weight:bold;
}