/* ====== Specification ====== */

body {
    font-family: "Inter", sans-serif;
    background: #ffffff;
    font-size: 16px;
    color: #000;
    padding: 0;
    margin: 0;
}

.container {
    width: 1236px;
    margin: 0 auto;
    padding: 0;
}

div,
p,
form,
input,
a,
span,
button,
ul,
li {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

p {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    color: #000000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Inter", sans-serif;
    color: #000;
    padding: 0;
    margin: 0;
}

h1 {}

h2 {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.018em;
}

h3 {}

a {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    color: #000000;
    text-decoration: none;
}

a:hover,
a:active {
    text-decoration: none;
}

button,
button:hover,
button:focus,
button:active,
input,
input:hover,
input:focus,
input:active,
textarea,
textarea:hover,
textarea:focus,
textarea:active {
    outline: none;
}

input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn {
    width: 180px;
    height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
    background: #000;
    border: 0;
    transition: 0.3s;
}

.btn:hover {
    background: #606060;
}

/* ====== Header ====== */

.header {
    padding: 36px 0;
}

.header-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1050px;
    width: 100%;
}

.logo {

}

.menu {
    display: flex;
    align-items: center;
}

.menu>li {
    position: relative;
    display: block;
    margin: 0 15px;
    /* padding: 10px 0; */
}

.menu>li:first-child {
    margin-left: 0;
}

.menu>li:last-child {
    margin-right: 0;
}

.menu>li>a {
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    transition: 0.3s;
}

.menu>li>a:hover {
    opacity: 0.8;
}

.menu>li li>ul {
    display: none;
}

.menu>li>ul {
    position: absolute;
    top: 100%;
    left: 0;
    /* left: -20px; */
    padding: 29px 8px;
    background: #FFFFFF;
    min-width: 201px;
    border: 1px solid #D9D9D9;
    display: none;
    opacity: 0;
    z-index: 100;
}

.menu>li:hover>ul {
    display: block;
    animation: 0.3s animSubMenu;
    opacity: 1;
}

@keyframes animSubMenu {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}

.menu>li>ul>li {
    display: block;
    padding: 10px 0 10px 19px;
    border-bottom: 1px dashed #D9D9D9;
}

.menu>li>ul>li:first-child {
    padding-top: 0;
}

.menu>li>ul>li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.menu>li>ul>li>a {
    display: block;
    font-size: 16px;
    font-weight: 400;
    white-space: nowrap;
    transition: 0.3s;
}

.menu>li>ul>li:last-child {
    margin-bottom: 0;
}

.menu>li>ul>li>a:hover {
    opacity: 0.7;
}

.menu-item-has-children {
    padding-right: 21px !important;
    position: relative;
    cursor: pointer;
}

.menu-item-has-children::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -4px;
    width: 14px;
    height: 8px;
    background: url(../img/arrow-down-menu.svg) no-repeat center center;
    transition: 0.3s;
    z-index: 100;
}

.menu-item-has-children:hover:before {
    opacity: 0.8;
}


.menu-mob {
    display: none;
}

.header-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 209px;
    width: 100%;
}

.header__favorite {
    transition: 0.3s;
}

.header__favorite svg {
    display: block;
    fill: #B1B1B1;
    transition: 0.3s;
}

.header__favorite:hover svg {
    opacity: 0.8;
}

.header-soc {
    display: flex;
    align-items: center;
}

.header-soc a {
    display: block;
    margin: 0 5px;
}

.header-soc a svg {
    display: block;
    fill: #B1B1B1;
    transition: 0.3s;
}

.header-soc a:hover svg {
    opacity: 0.8;
}

.header-link {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    transition: 0.3s;
}

.header-link:hover {
    opacity: 0.8;
}


/* screen-cart-img */

.screen-cart-img {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -720px;
    opacity: 0.3;
    z-index: 100;
    pointer-events: none;
}


/* offer */

.offer {
    height: 617px;
}

.offer-wrap {
    padding-top: 236px;
}

.offer__video {
    display: inline-block;
    margin-bottom: 64px;
    transition: 0.3s;
}

.offer__video svg {
    display: block;
    transition: 0.3s;
}

.offer__video svg path {
    fill: #D9D9D9;
    transition: 0.3s;
}

.offer__video svg circle {
    stroke: #D9D9D9;
    transition: 0.3s;
}

.offer__video:hover svg path {
    fill: #fff;
}

.offer__video:hover svg circle {
    stroke: #fff;
}

.offer-block {
    display: flex;
    align-items: center;
}

.offer__title {
    font-size: 48px;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.028em;
    text-transform: uppercase;
    margin-right: 103px;
    margin-left: -4px;
}

.offer-box {

}

.offer__desc {
    font-weight: 400;
    color: #fff;
    margin-bottom: 4px;
}

.offer__desc:last-child {
    margin-bottom: 0;
}

.offer-filter {
    height: 153px;
    background: #fff;
    margin-top: 94px;
    position: relative;
}

.offer-filter-tabs {
    display: flex;
    position: absolute;
    bottom: 100%;
    cursor: pointer;
}

.offer-filter-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 89px;
    height: 42px;
    border: 1px solid #fff;
    color: #fff;
}

.offer-filter-tab.active {
    background: #fff;
    color: #000;
}

.offer-filter-contents {

}

.offer-filter-content {
    padding: 47px 21px;
    max-height: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.offer-filter-content.active {
    padding: 47px 21px;
    max-height: none;
    opacity: 1;
    display: block;
    pointer-events: inherit;
}


.wpc-edit-filter-set {
    display: none !important;
}


.offer-filter-label {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    width: 89px;
    height: 42px;
    position: absolute;
    bottom: 100%;
}




/* filter btns */

.wpc-filter-layout-submit-button {
    display: inline-flex;
    flex-direction: row !important;
    justify-content: start !important;
    padding-left: 483px;
    margin-top: 22px;
    margin-bottom: 0 !important;
}

.wpc-horizontal-layout .wpc-filter-layout-submit-button {
    margin-bottom: 0 !important;
}

.wpc-filters-submit-button {
    border-radius: 0 !important;
    min-width: 229px !important;
    height: 42px !important;
    display: flex !important;
    font-size: 14px !important;
    margin-right: 0 !important;
}

.wpc-filters-reset-button {
    border: 0 !important;
    position: relative;
    margin-left: 18px !important;
    font-size: 14px !important;
    max-width: 99px !important;
}

.wpc-filters-reset-button::before {
    content: '';
    position: absolute;
    left: 6px;
    width: 12px;
    height: 12px;
    background: url(../img/clear-btn-icon.svg) no-repeat center center;
}


/* filter select */

.wpc-instead-of-posts-found {
    display: none;
}

.wpc-filters-widget-select {
    padding: 0 !important;
    width: 100%;
    height: 42px !important;
    font-size: 16px !important;
    border: 1px solid #000 !important;
    padding-left: 12px !important;
    margin-bottom: 0 !important;
    cursor: pointer;
    -webkit-appearance: none;
    outline: none;
    border-radius: 0 !important;
    background: #fff !important;
    color: #000 !important;
}
.wpc-filters-widget-select option {
    border-radius: 0 !important;
    padding: 20px 0;
}

.wpc-filter-content {
    position: relative;
}

.wpc-filter-content::before {
    content: '';
    position: absolute;
    top: 2px;
    bottom: 2px;
    right: 2px;
    height: 38px;
    width: 38px;
    background: #fff;
    background: #fff url(../img/select-arrow-icon.svg) no-repeat center center;
    pointer-events: none;
}

.wpc-filters-section {
    margin-bottom: 10px !important;
}

.wpc-filters-widget-wrapper {
    display: flex;
    justify-content: space-between !important;
    /* transform: translateX(-15px); */
}

.wpc-filter-title {
    display: none !important;
}

.wpc-filter-layout-dropdown {
    min-width: 229px !important;
    margin: 0 !important;
}

.wpc-dropdown-default {
    /* display: none; */
}

.jq-selectbox li.wpc-dropdown-default {
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    min-height: 0 !important;
}



.jq-selectbox__select {
    background: transparent;
    border-radius: 0;
    border-color: transparent;
    box-shadow: 0 0 0 !important;
    height: 42px;
    color: #000;
    padding: 0;
    padding-left: 3px;
}

.jq-selectbox.focused .jq-selectbox__select {
    border: 1px solid transparent;
}

.jq-selectbox__select:hover {
    background: transparent !important;
}

.jq-selectbox__trigger {
    border-left: none;
    /* background: url(../img/select-arrow-icon.svg) no-repeat center center; */
}

.jq-selectbox__trigger-arrow {
    display: none;
}

.jq-selectbox__dropdown {
    border: 1px solid #D9D9D9;
    border-radius: 0;
    box-shadow: 0 0 0;
    margin-top: 0px;
    padding: 18px 0 15px;
    margin-left: -12px;
}

.jq-selectbox__select-text {
    font-size: 16px;
    margin-top: 3px;
}

.jq-selectbox li {
    font-size: 16px;
    padding: 10px 0;
    margin: 0 10px;
    border-bottom: 1px dashed #D9D9D9;
}

.jq-selectbox li:last-child {
    border-bottom: 0;
}

.jq-selectbox li.selected {
    background: transparent;
    color: #000;
    font-weight: 500 !important;
}

.jq-selectbox li:hover {
    background: transparent;
    color: #000;
}

.wpc-term-count-0 {
    display: none;
}





.offer-filter-content_buy {

}

.offer-filter-content_buy .wpc-filter-real-estate_size {
    position: absolute;
    min-width: 229px !important;


    bottom: 0;
    left: 120px;
    z-index: 1000;
    display: none;
}

.offer-filter-content_archive .wpc-filter-real-estate_size {
    left: 0;
}

.wpc-filter-real-estate-rent_period {
    position: absolute !important;
    bottom: 0 !important;
    margin-left: 241px;
    /* left: 241px !important; */
    min-width: 229px !important;
}

.wpc-filters-widget-wrapper {
    position: relative;
}

.offer-filter-content_archive .wpc-filter-real-estate-rent_period {
    position: absolute !important;
    bottom: 0 !important;
    /* left: 0 !important; */
    margin-left: 0;
}

.offer-filter-content_archive .wpc-filter-real-estate_rent_property_tag {
    min-width: 229px !important;
    position: absolute !important;
    bottom: 0 !important;
    margin-left: 241px;
}

.offer-filter-content_archive .wpc-filter-real-estate_property_tag {
    min-width: 229px !important;
    position: absolute !important;
    bottom: 0 !important;
    margin-left: 241px;
    z-index: 100;
}




/* types */

.types {
    padding: 177px 0 76px;
}

.types__title {
    margin-left: 502px;
    margin-bottom: 45px;
}

.infotabs_types .infotab-items {
    margin-left: 502px;
    margin-bottom: -20px;
}

.types-slider {
    display: flex;
}

.types-slide {
    display: flex !important;
    width: 283px;
    /* max-width: 283px; */
    height: 365px;
    padding: 39px 30px;
    margin: 0 17px;
    transition: 0.5s;
    /* margin-right: 35px; */
}

.types-slider .types-slide {
    /* min-width: 602px !important; */
    /* background: #000 !important; */
}

.types-slide.slide_first {
    width: 602px;
}

.types-slide[tabindex="0"] {
    /* width: 602px; */
}

.types-slide.slick-current {
    /* width: 602px !important; */
    /* transition: 0.5s; */
}

.types-slide__label {
    display: inline-block;
    padding: 3px 15px;
    background: #fff;
    margin-top: auto;
    margin-left: auto;
}

.types-slide__label span {
    position: relative;
    display: block;
    padding-left: 10px;
    font-size: 12px;
}

.types-slide__label span::before {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    content: "";
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
}

.slider-arrows {
    display: flex;
    align-items: center;
    justify-content: end;
    margin-bottom: 50px;
    /* margin-right: 17px; */
    cursor: pointer;
    transition: 0.3s;
}

.slider-arrow svg {
    display: block;
    stroke: #000;
    transition: 0.3s;
}

.slider-arrow:hover svg {
    stroke: #606060;
}

.slider-arrow.slick-disabled svg {
    stroke: #B1B1B1;
}

.slider-arrows span {
    margin: 0 10px;
    color: #B1B1B1;
}


/* infotabs */

.infotab-items {
    display: flex;
    margin-bottom: 50px;
}

.infotab-items span {
    display: block;
    line-height: 150%;
    margin: 0 13px;
}

.infotab-item {
    padding: 3px 10px;
    cursor: pointer;
    transition: 0.3s;
}

.infotab-item:hover{
    background: #F2F2F2;
}

.infotab-item.active {
    background: #D9D9D9;
}

.infotab-content {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
}

.infotab-content.active {
    animation: 0.7s animTabs;
    opacity: 1;
    max-height: none;
    overflow: visible;
}

@keyframes animTabs {
    0% {opacity: 0; transform: translateY(60px);}
    100% {opacity: 1; transform: translateY(0);}
}


/* newsletter */

.newsletter {
    padding: 76px 0;
}

.newsletter-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.newsletter__title {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.008em;
    margin-right: 35px;
}

.newsletter-wrap {
    max-width: 918px;
    width: 100%;
}

.newsletter-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.newsletter-form>p {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.newsletter-form__input {
    width: 283px;
    border: 0;
    color: #000;
    font-size: 12px;
    height: 49px;
    border-bottom: 1px solid #000;
    margin-top: -18px;
}

.newsletter-form__input::placeholder {
    font-size: 12px;
}

.newsletter-form__btn {
    cursor: pointer;
    margin-left: 12px;
}


/* areas */

.areas {
    padding: 75px 0 57px;
}

.areas__title {
    margin-left: 317px;
    margin-bottom: 44px;
}

.areas-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px 35px;
}

.areas-item {
    display: flex;
    height: 165px;
    padding: 21px 17px;
}

.areas-item__label {
    display: inline-block;
    padding: 3px 15px;
    background: #fff;
    margin-top: auto;
}

.areas-item__label span {
    position: relative;
    display: block;
    padding-left: 10px;
    font-size: 12px;
}

.areas-item__label span::before {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    content: "";
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
}


/* advantages */

.advantages {
    padding: 57px 0 66px;
}

.advantages-wrap {
    display: flex;
    justify-content: space-between;
}

.advantages__title {
    font-size: 16px;
    font-weight: 400;
    margin-right: 35px;
    letter-spacing: normal;
}

.advantages-grid {
    max-width: 918px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 52px 82px;
}

.advantages-card {

}

.advantages-card__title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.017em;
    margin-bottom: 44px;
}

.advantages-card__text {
    letter-spacing: 0.006em;
}


/* budget */

.budget {
    padding: 66px 0 68px;
}

.budget__title {
    margin-left: 317px;
    margin-bottom: 45px;
}

.infotabs_budget .infotab-items {
    margin-left: 318px;
}

.budget-wrap {
    display: flex;
}

.budget-wrap {
    display: flex;
    justify-content: space-between;
}

.budget__subtitle {
    font-size: 16px;
    font-weight: 400;
    margin-right: 35px;
}

.budget-grid {
    max-width: 918px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 34px;
}

.budget-item {
    display: flex;
    height: 200px;
    padding: 21px 17px;
}

.budget-item__label {
    display: inline-block;
    padding: 3px 15px;
    background: #fff;
    margin-top: auto;
}

.budget-item__label span {
    position: relative;
    display: block;
    padding-left: 10px;
    font-size: 12px;
}

.budget-item__label span::before {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    content: "";
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
}


/* featured */

.featured {
    padding: 68px 0 68px;
}

.featured .container {
    width: 1266px;
}

.featured__title {
    margin-left: 334px;
    margin-bottom: 45px;
}

.infotabs_featured .infotab-items {
    margin-left: 333px;
    margin-bottom: -22px;
}

.featured-wrap {

}

.featured-wrap .slider-arrows {
    margin-right: 15px;
}

.featured-slider {
    
}


/* prod-card */

.prod-card {
    display: block;
    max-width: 392px;
    margin: 0 15px;
}

.prod-card__photo {
    display: flex;
    height: 266px;
    padding: 13px 10px;
    margin-bottom: 21px;
}

.prod-card__label {
    display: inline-block;
    padding: 3px 15px;
    background: #fff;
    margin-top: auto;
}

.prod-card__label span {
    position: relative;
    display: block;
    padding-left: 10px;
    font-size: 12px;
}

.prod-card__label span::before {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    content: "";
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
}

.prod-card__title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.01em;
    margin-bottom: 15px;
}

.prod-card-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 15px;
    border-bottom: 1px solid #000;
    margin-bottom: 18px;
}

.prod-card__price {
    position: relative;
    padding: 5px 10px;
}

.prod-card__price .prod-card__num {
    position: relative;
    display: flex;
    align-items: center;
    z-index: 10;
    white-space: nowrap;
}

.prod-card__price::before {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    content: "";
    width: 35%;
    height: 29px;
    transform: translateY(-50%);
    background: #D9D9D9;
    z-index: 5;
}

.prod-card__price_conv .convert {
    /* margin-top: -6px; */
}

.prod-card__price_conv .convert .convert__btn {
    z-index: 20;
    position: relative;
}

.prod-card__price_conv .convert .convert-list {
    z-index: 10;
}

.prod-card__price_up .convert__btn {
    /* transform: rotate(180deg); */
}

.prod-card__price_up .convert-list {
    top: auto;
    bottom: -4px;
}


.prod-card-task {
    margin-left: 5px;
    position: relative;
    z-index: 1 !important;
}

.prod-card-task__icon {
    
}

.prod-card-task__modal {
    position: absolute !important;
    left: 50%;
    bottom: 50%;
    font-size: 12px;
    /* line-height: 100%; */
    padding: 16px 22px;
    border: 1px solid rgba(177, 177, 177, 1);
    background: #fff;
    width: 198px;
    opacity: 0;
    pointer-events: none;
    text-wrap: wrap;
}

.prod-card-task:hover .prod-card-task__modal {
    opacity: 1;
    pointer-events: all;
}

.prod-info .prod-card-task img {
    display: block;
    width: 18px;
    height: 18px;
}




.prod-card__place {
    display: flex;
    align-items: center;
    font-size: 14px;
}

.prod-card__place img {
    margin-right: 8px;
}

.prod-card-flex {
    display: flex;
    justify-content: space-between;
}

.prod-card__type {
    font-size: 14px;
}

.prod-card__item {
    position: relative;
    font-size: 14px;
    padding-left: 10px;
}

.prod-card__item::before {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    content: "";
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
}


/* request-sec */

.request-sec {
    padding: 68px 0 67px;
}

.request-sec-wrap {
    max-width: 392px;
    width: 100%;
    margin: 0 auto;
}

.request-sec__title {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: normal;
    text-align: justify;
    margin-bottom: 55px;
}

.request-sec-card {

}

.request-sec-card-wrap {
    display: flex;
    align-items: center;
    padding: 28px 24px 25px;
    border: 1px solid #000;
    margin-bottom: 28px;
}

.request-sec-card__photo {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    margin-right: 20px;
}

.request-sec-card-content {

}

.request-sec-card__name {
    margin-bottom: 11px;
}

.request-sec-card__prof {
    color: #B1B1B1;
    margin-bottom: 11px;
}

.request-sec-card-contacts {
    display: flex;
}

.request-sec-card-contacts a {
    display: block;
    margin-right: 24px;
    transition: 0.3s;
}

.request-sec-card-contacts a:last-child {
    margin-right: 0;
}

.request-sec-card-contacts a:hover {
   color: #606060;
}

.request-sec-card-flex {
    display: flex;
    justify-content: space-between;
}

.request-sec-card__soc {
    display: flex;
    align-items: center;
    transition: 0.3s;
}

.request-sec-card__soc img {
    margin-left: 6px;
}

.request-sec-card__soc:hover {
    opacity: 0.8;
}


/* faq-sec */

.faq-sec {
    padding: 67px 0 97px;
}

.faq-sec-wrap {
    display: flex;
    justify-content: space-between;
}

.faq-sec__title {
    font-size: 20px;
    letter-spacing: 0.01em;
}

.faq-sec-block {
    max-width: 813px;
    width: 100%;
}

.faq {
    margin-bottom: 98px;
}

.faq-item {
    width: 100%;
    padding: 14px 0;
    border-bottom: 1px solid #000;
}

.faq-item:first-child {
    padding-top: 0;
}

.faq-item-title-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.faq-item__title {
    font-size: 16px;
    font-weight: 600;
    margin-right: 30px;
}

.faq-item__btn {
    width: 15px;
    margin-right: 0;
    transition: 0.3s;
}

.faq-item__btn img {
    display: block;
    width: 100%;
    transition: 0.3s;
}

.faq-item-text {
    overflow: hidden;
    max-height: 0;
    transition: 0.4s;
}

.faq-item-text-height {
    padding-top: 41px;
    display: flex;
    justify-content: space-between;
}

.faq-item-content {
    max-width: 387px;
    width: 100%;
    margin-bottom: 8px;
}

.faq-item-content p {
    text-align: justify;
    margin-bottom: 19px;
}

.faq-item.collapse .faq-item__btn img {
    transform: rotate(45deg);
}

.faq-sec-edge {

}

.faq-sec-edge__title {
    font-size: 20px;
    margin-bottom: 45px;
}

.faq-sec-edge-wrap {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    max-height: 140px;
    transition: 0.3s;
}

.txtswitchr .faq-sec-edge-wrap {
    max-height: 160px;
}

.faq-sec-edge-content {
    max-width: 387px;
    width: 100%;
}

.faq-sec-edge-content p {
    text-align: justify;
    margin-bottom: 19px;
}

.faq-sec-edge-content p:last-child {
    margin-bottom: 0;
}

.faq-text-switch {
    margin-top: 16px;
    cursor: pointer;
}

.faq-text-switch span {
    font-size: 12px;
}

.faq-sec-edge.collapse .open {
    display: none;
}

.faq-sec-edge.collapse .close {
    display: block !important;
}




/* inner-page */

.inner-page {
    padding: 76px 0 55px;
}

.inner-page .container {
    display: flex;
    justify-content: space-between;
}

.inner-page-first-col {
    min-width: 283px;
    position: relative;
}

.inner-page-title-vertical {

}

.inner-page__title {
    position: absolute;
    transform: rotate(-90deg);
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    color: #B1B1B1;
}

.inner-page-content {
    width: 100%;
}

.about {
    padding-top: 82px;
}

.about-video {
    width: 381px;
    height: 254px;
    margin-bottom: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.about-video-icon {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    border: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about__desc {
    position: relative;
    max-width: 548px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.018em;
    color: #B1B1B1;
    margin-left: 335px;
}

.about__desc span {
    margin-left: 70px;
}

.about__desc::before {
    position: absolute;
    top: 12px;
    left: 45px;
    content: "";
    width: 7px;
    height: 7px;
    background: #D9D9D9;
}

.advantages-grid__about {
    max-width: 953px;
    gap: 52px 44px;
}


/* services */

.services {
    padding: 66px 0 0;
}

.services .container {
    width: 1256px;
}

.services-wrap {
    margin-left: 283px;
}

.services__title {
    font-size: 20px;
    margin-left: 10px;
    letter-spacing: 0.01em;
    margin-bottom: 84px;
    text-transform: uppercase;
}

.services-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.services__item {
    position: relative;
    padding-left: 27px;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 10px;
    margin-bottom: 73px;
}

.services__item::before {
    position: absolute;
    top: 50%;
    left: 3px;
    margin-top: -3px;
    content: "";
    width: 6px;
    height: 6px;
    background: #000;
    box-shadow: 0 0 0 3px #D9D9D9;
}

.request-sec_inner {
    padding: 60px 0 100px;
}


/* favorite */

.inner-page_favorite {
    padding: 110px 0 22px;
}

.favorite {
    padding-top: 77px;
    display: flex;
}

.favorite__title {
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin-right: 77px;
    margin-top: -5px;
}

.favorite__desc {
    max-width: 296px;
    color: #B1B1B1;
    margin-top: -3px;
}


/* favorite-saved */

.favorite-saved {
    padding: 63px 0 73px;
}

.favorite-saved-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.prod-card_favorite {
    margin: 0;
}

.favorite-saved-grid .prod-card {
    position: relative;
}

.bm-delete {
    position: absolute;
    right: 10px;
    top: 10px;
    max-width: 88px;
    overflow: hidden;
}

.bm-delete-wr {
    display: flex;
    align-items: center;
}

.bm-delete__icon {
    width: 14px;
    height: 14px;
    margin-right: 7px;
    position: relative;
    margin-top: -1px;
}

.bm-delete__icon .line {
    position: absolute;
    top: 50%;
    height: 1px;
    width: 100%;
    background: #fff;
}
.bm-delete__icon .line-1 {
    transform: rotate(45deg);
}
.bm-delete__icon .line-2 {
    transform: rotate(-45deg);
}

.bm-delete__text {
    font-size: 14px;
    color: #fff;
}

.bm-delete-hide {
    position: absolute;
    opacity: 0;
}


/* favorite-empty */

.favorite_empty {
    display: block;
}

.favorite_empty .favorite__title {
    position: relative;
    max-width: 471px;
    letter-spacing: 0.01em;
    margin-bottom: 64px;
}

.favorite_empty .favorite__title::after {
    position: absolute;
    bottom: -26px;
    left: 0;
    content: "";
    width: 434px;
    height: 1px;
    background: #000;
}

.favorite__text {
    max-width: 217px;
    color: #B1B1B1;
    margin-left: 219px;
}

.types_favorite {
    padding: 23px 0 78px;
}


/* gallery */

.gallery {
    padding: 44px 0 24px;
}

.gallery-wrap {
    display: flex;
}

.gallery__item {
    display: block;
    width: 100%;
}

.gallery__item_big {
    margin-right: 30px;
}

.gallery__item_small {
    height: 230px;
    margin-bottom: 30px;
}

.gallery__item_small:last-child {
    margin-bottom: 0;
}

.gallery__item_link {
    position: relative;
}

.gallery__item_link::after {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin-top: -9px;
    content: "VIEW MORE";
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    transition: 0.3s;
    opacity: 1;
}

.gallery__item_link:hover:after {
    opacity: 1;
}

.gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-block {
    max-width: 392px;
    width: 100%;
}


.gallery-grid {
    display: grid;
    grid-template-areas: 
        'a a b'
        'a a c';
    grid-template-rows: 232px 232px;
    grid-template-columns: 392px 392px 392px;
    gap: 30px;
}

.gallery-photo {
    display: none;
}

.gallery-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-photo:nth-child(1) {
    display: block;
    grid-area: a;
}
.gallery-photo:nth-child(2) {
    display: block;
    grid-area: b;
}
.gallery-photo:nth-child(3) {
    display: block;
    grid-area: c;
    position: relative;
}


.gallery-photo:nth-child(3)::after {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin-top: -9px;
    content: "VIEW MORE";
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    transition: 0.3s;
    opacity: 1;
}


/* prod-info */

.prod-info {
    padding: 24px 0 38px;
}

.prod-info-wrap {
    display: flex;
}

.prod-info-col {
    max-width: 814px;
    width: 100%;
    margin-right: 30px;
}

.prod-info__title {
    max-width: 645px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin-top: -4px;
    margin-bottom: 26px;
}

.prod-info__price {
    position: relative;
    display: inline-block;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 36px;
}

.prod-info__price div {
    position: relative;
    display: block;
    letter-spacing: 0.026em;
    z-index: 10;
}

.prod-info__price::before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    content: "";
    width: 35%;
    background: #D9D9D9;
    z-index: 5;
}

.prod-info-price-item {
    display: none !important;
}

.prod-info-price-item.active {
    display: block !important;
}


/* ==== Convert ==== */

.prod-info__price_conv {
    display: inline-flex;
    align-items: center;
}

.prod-info__price_conv span {
    /* padding-left: 20px; */
}

.prod-info__price_conv::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    height: 32px;
}

.convert {
    display: inline !important;
    position: relative;
    margin-left: 3px;
}

.convert__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 33px;
    padding: 0px 5px;
    margin-left: 3px;
    cursor: pointer;
}

.convert-list {
    display: none;
    position: absolute;
    top: -3px;
    left: 0;
    width: 143px;
    border: 1px solid #000;
    background: #fff;
}

.convert-list__item {
    display: flex;
    justify-content: center;
    border-bottom: 1px dashed #D9D9D9;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

.convert-list__item:last-child {
    border-bottom: 0;
}

.convert.collapse .convert-list {
    display: block;
}

.cym {
    display: inline !important;
    margin-left: 6px;
}

.prod-info__price_conv .prod-info-price-item.active {
    display: flex !important;
    align-items: center;
}

.prod-info__price_conv .convert {
    /* display: inline !important; */
}






.prod-info-sidebar {
    max-width: 392px;
    width: 100%;
}

.prod-info-box {
    display: flex;
    align-items: center;
    margin-bottom: 26px;
}

.prod-info-box-wrap {
    max-width: 207px;
    width: 100%;
    margin-right: 20px;
}

.prod-info-ts {
    display: flex;
    justify-content: space-between;
    max-width: 200px;
    width: 100%;
}

.prod-info-ts span {
    display: block;
    margin-top: -2px;
    margin-bottom: 2px;
}

.prod-info-t {
    font-size: 16px;
    text-transform: uppercase;
    cursor: pointer;
    position: relative;
}

.prod-info-t.active::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    background: #000;
}


.prod-info-box__item {
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: 400;
    transition: 0.3s;
}

.prod-info-box__item:hover {
    opacity: 0.7;
}

.prod-info-box__item_fav {
    max-width: 251px;
    width: 100%;
}

.prod-info-box__item_share {
    max-width: 226px;
    width: 100%;
}

.prod-info-box__item svg {
    display: block;
    margin-right: 12px;
}

.prod-info-block {
    display: grid;
    grid-template-columns: 205px 222px 195px 1fr;
    gap: 32px 30px;
    padding: 45px 0 36px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin-bottom: 76px;
}

.prod-info-item {
    position: relative;
    padding-left: 28px;
}

.prod-info-item::before {
    position: absolute;
    top: 4px;
    left: 0;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #D9D9D9;
}

.prod-info-item__value {

}

.prod-info-item__name {
    color: #B1B1B1;
}

.prod-info-text {
    margin-bottom: 76px;
}

.prod-info-text p {
    font-size: 16px;
    font-weight: 300;
    text-align: justify;
    margin-bottom: 17px;
}

.prod-info-text p:last-child {
    margin-bottom: 0;
}

.prod-info-features {
    padding-bottom: 72px;
    border-bottom: 1px solid #000;
    margin-bottom: 83px;
}

.prod-info-features__title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 45px;
}

.prod-info-features-grid {
    display: grid;
    /* grid-template-columns: 164px 115px 138px 146px 1fr; */
    grid-template-columns: repeat(4, 140px) 1fr;
    gap: 28px 30px;
}

.prod-info-features-item {
    display: flex;
    align-items: center;
}

.prod-info-features-item img {
    display: block;
    width: 24px;
    height: 24px;
    margin-right: 15px;
}

.prod-info-features-item span {
    font-size: 16px;
    font-weight: 400;
}

.prod-info-map {
    height: 405px;
}

.prod-info-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.prod-info-box .simplefavorite-button {
    font-size: 12px;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    width: 246px;
    margin-left: 10px;
}

.prod-info-box .simplefavorite-button img {
    margin-right: 15px;
}


/* similar */

.similar {
    padding: 39px 0 73px;
}

.similar .container {
    width: 1266px;
}

.similar__title {
    margin-left: 15px;
    margin-bottom: -15px;
}

.similar-wrap {

}

.similar-wrap .slider-arrows {
    margin-right: 437px;
    margin-bottom: 41px;
}


/* contacts */

.inner-page_contacts {
    padding: 84px 0 78px;
}

.contacts {
    padding-top: 98px;
}

.contacts__title {
    font-family: "Inter", sans-serif;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.018em;
    color: #000;
    max-width: 530px;
    text-transform: uppercase;
    margin-bottom: 87px;
}

.request-sec-wrap_contacts {
    margin-left: 283px;
}


/* inner-form */

.inner-form {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.inner-form p {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.inner-form__input {
    display: block;
    width: 287px;
    border: 0;
    color: #000;
    font-size: 12px;
    height: 49px;
    border-bottom: 1px solid #000;
    margin-bottom: 67px;
}

.inner-form__input::placeholder {
    font-size: 12px;
}

.inner-form__area {
    box-sizing: border-box;
    width: 625px;
    padding-top: 17px;
    border: 0;
    color: #000;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    height: 49px;
    border-bottom: 1px solid #000;
    resize: none;
    margin-right: 150px;
    margin-bottom: 70px;
}

.inner-form__area::placeholder {
    font-size: 12px;
}

.inner-form-flex {
    width: 628px;
    margin-right: 150px;
    margin-bottom: 95px;
}

.inner-form-flex p {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
}

.inner-form__checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-right: 50px;
}

.inner-form__checkbox:last-child {
    margin-right: 0;
}

.custom-checkbox input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.custom-checkbox span.wpcf7-list-item-label {
    display: inline-flex;
    font-size: 14px;
    text-transform: uppercase;
    align-items: start;
    user-select: none;
}

.custom-checkbox span.wpcf7-list-item-label::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    flex-grow: 0;
    border: 1px solid #000;
    margin-right: 14px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
    transition: 0.3s;
}

.custom-checkbox input:hover+span.wpcf7-list-item-label::before {
    border-color: #606060;
}

.custom-checkbox input:checked+span.wpcf7-list-item-label::before {
    border-color: #000;
    background-color: #fff;
    background: #fff url(../img/checkbox-icon.svg) no-repeat center center / 90%;
}

.custom-checkbox .wpcf7-list-item {
    margin-left: 0;
}


.inner-form__btn {
    text-transform: uppercase;
    cursor: pointer;
}


.wpcf7-response-output, .wpcf7-spinner {
    display: none !important;
}
.wpcf7-not-valid-tip {
    position: absolute;
    top: 52px;
    font-size: 12px;
}


/* property */

.inner-page_property {
    padding: 65px 0 77px;
}

.property {
    padding-top: 117px;
}

.property__title {
    max-width: 320px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin-bottom: 74px;
}

.infotabs_property .infotab-items {
    margin-bottom: 69px;
}

.infotabs_property .inner-form__area {
    margin-bottom: 51px;
}


/* catmain */

.catmain {
    padding: 183px 0 70px;
}

.catmain-prodfilter {
    display: flex;
    align-items: center;
    margin-bottom: 55px;
    margin-left: 260px;
}

.catmain-prodfilter__link {
    font-size: 16px;
    font-weight: 400;
    text-transform: lowercase;
    text-decoration: underline;
    margin-right: 28px;
    transition: 0.3s;
}

.catmain-prodfilter__link:hover {
    text-decoration: underline;
    opacity: 0.7;
}

.catmain-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 55px 32px;
    margin-bottom: 66px;
}

.catmain-grid .prod-card {
    margin: 0;
}

.catmain-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 392px;
    width: 100%;
    height: 43px;
    padding: 0 50px;
    border: 1px solid #D9D9D9;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

.catmain-pagination__arrow {
    display: block;
    cursor: pointer;
    transition: 0.3s;
}

.catmain-pagination__arrow img {
    display: block;
}

.catmain-pagination__arrow:hover {
    opacity: 0.7;
}

.catmain-pagination__arrow.prev {
    margin-right: 10px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catmain-pagination__arrow.next {
    margin-left: 10px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catmain-pagination__num {
    padding: 3px 9px;
    cursor: pointer;
    transition: 0.3s;
}

.catmain-pagination__num:hover {
    background: #F2F2F2;
}

.catmain-pagination__num.current {
    background: #D9D9D9;
}


.catmain-pagination .page-numbers.next {
    position: absolute;
    bottom: 100%;
}

.catmain-pagination .page-numbers.prev {
    position: absolute;
    bottom: 100%;
}

.catmain-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
}

.catmain-pagination .page-numbers.current {
    background: #D9D9D9;
}

.catmain-pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
}





/* blog-block */

.inner-page_blog {
    padding: 143px 0 68px;
}

.blog-block {
    max-width: 295px;
    width: 100%;
    padding-top: 38px;
}

.blog-block__title {
    margin-bottom: 41px;
}

.blog-block__text {
    color: #B1B1B1;
}


/* blog */

.blog {
    padding: 69px 0 77px;
}

.blog-wrap {

}

.blog-item {
    display: flex;
    align-items: center;
    padding: 8px 21px 7px 0;
    border-bottom: 1px solid #000000;
}

.blog-item:first-child {
    border-top: 1px solid #000000;
}

.blog-item__photo {
    min-width: 101px;
    width: 101px;
    height: 54px;
    margin-right: 182px;
}

.blog-item-wrap {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.blog-item__title {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.005em;
    margin-right: 20px;
}

.blog-item-wrap img {
    display: block;
    min-width: 11px;
}


/* blog-single */

.inner-page_blog-single {
    padding: 102px 0 0;
}

.blog-single {
    padding-top: 79px;
}

.blog-single__title {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 0.025em;
}


/* blog-pg */

.blog-pg {
    padding: 53px 0 49px;
}

.blog-pg__img {
    height: 470px;
    margin-bottom: 77px;
}

.blog-pg-content {
    
}

.blog-pg-text {
    max-width: 811px;
    width: 100%;
    margin-left: 283px;
}

.blog-pg-text h2 {
    margin-bottom: 19px;
}

.blog-pg-text h3 {
    margin-bottom: 19px;
}

.blog-pg-text h4 {
    margin-bottom: 19px;
}

.blog-pg-text p {
    display: block;
    font-size: 16px;
    font-weight: 400;
    text-align: justify;
    margin-bottom: 19px;
}

.blog-block-photo {
    margin: 60px 0 76px;
}

.blog-pg-text img {
    width: 100%;
    display: block;
    background: #D9D9D9;
}

.blog-pg-text ul, .blog-pg-text ol {
    padding-left: 20px;
    margin-bottom: 19px;
}

.blog-pg-text li {
    margin-bottom: 8px;
}

.blog-pg-text a {
    color: #1a5bff;
    text-decoration: underline;
}


/* sitemap */

.inner-page_sitemap {
    padding: 112px 0 47px;
}

.sitemap-block {
    padding-top: 73px;
}

.sitemap-page {
    padding: 40px 0 81px;
}

.sitemap-page-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 101px 40px;
}

.sitemap-page-card {

}

.sitemap-page-card__photo {
    display: flex;
    height: 355px;
    padding: 38px 30px;
}

.sitemap-page-card__label {
    display: inline-block;
    padding: 3px 15px;
    background: #fff;
    margin-top: auto;
    margin-left: auto;
}

.sitemap-page-card__label span {
    position: relative;
    display: block;
    padding-left: 10px;
    font-size: 12px;
}

.sitemap-page-card__label span::before {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    content: "";
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
}

.sitemap-page-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 26px;
    margin-top: 30px;
    padding-right: 40px;
}

.sitemap-page-card-tag {
    display: block;
    font-size: 16px;
    /* text-decoration: underline; */
    text-transform: lowercase;
    border-bottom: 1px solid #000;
    position: relative;
}

.sitemap-page-card-tag::after {
    content: " /";
    font-size: 10px;
    color: #B1B1B1;
    position: absolute;
    left: 100%;
    bottom: 0;
    margin-left: 12px;
}

.sitemap-page-card-tag.no-sep::after {
    content: "";
}





/* privacy */

.inner-page_privacy {
    padding: 100px 0 54px;
}

.privacy {
    padding-top: 81px;
}

.privacy__title {
    margin-bottom: 89px;
}

.privacy-text {
    max-width: 811px;
    width: 100%;
}

.privacy-text .addtoany_share_save_container {
    display: none;
}

.privacy-text h2 {
    margin-bottom: 19px;
}

.privacy-text h3 {
    margin-bottom: 19px;
}

.privacy-text h4 {
    margin-bottom: 19px;
}

.privacy-text p {
    display: block;
    font-size: 16px;
    font-weight: 400;
    text-align: justify;
    margin-bottom: 19px;
}

.privacy-text img {
    display: block;
    background: #D9D9D9;
}

.privacy-text ul, .privacy-text ol {
    margin-bottom: 19px;
    padding-left: 20px;
}

.privacy-text ul li, .privacy-text ol li {
    margin-bottom: 12px;
}


/* error404 */

.error404 {
    padding: 100px 0 150px;
}

.error404-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 200px;
    margin: 0 auto;
}

.error404__num {
    font-size: 96px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 47px;
}

.error404__desc {
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 64px;
}

.error404__back {
    display: flex;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    opacity: 1;
    transition: 0.3s;
}

.error404__back img {
    display: block;
    margin-left: 13px;
}

.error404__back:hover {
    opacity: 0.7;
}





/* ====== Footer ====== */

.footer {

}

.footer-wrap {
    display: flex;
    justify-content: space-between;
    padding: 61px 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.footer-col {

}

.footer-col_contacts {
    max-width: 214px;
    width: 100%;
}

.footer__title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 39px;
}

.footer-menu {

}

.footer-menu li {
    display: block;
    margin-bottom: 22px;
}

.footer-menu li a {
    display: block;
    font-size: 16px;
    font-weight: 400;
    transition: 0.3s;
}

.footer-menu li:hover {
    opacity: 0.7;
}

.footer-menu li:last-child {
    margin-bottom: 0;
}

.footer-edge {
    display: flex;
    align-items: center;
    padding: 33px 0 36px;
}

.footer-edge__item {
    font-size: 14px;
    font-weight: 400;
    margin-right: 20px;
}

.footer-edge__item:last-child {
    margin-right: 0;
}

.footer-edge__item a {
    width: 100%;
    font-size: 14px;
    transition: 0.3s;
}

.footer-edge__item a:hover {
    opacity: 0.7;
}

.footer-edge__item_1 {
    max-width: 404px;
    width: 100%;
}

.footer-edge__item_2 {
    max-width: 345px;
    width: 100%;
}

.footer-edge__item_3 {
    max-width: 174px;
    width: 100%;
}

.footer-edge__item_4 {
    max-width: 168px;
    width: 100%;
    /* margin-left: 180px; */
    margin-right: 0;
}

.footer-edge__item_5 {
    max-width: 80px;
    width: 100%;
}





/* form-modal */

.arcticmodal-container_i2 {
    padding: 0 !important;
}

.form-modal {
    width: 100vw;
    height: 100vh;
    background: #fff;
}

.form-modal .container {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.form-modal-wrap {
    width: 800px;
    margin: 0 auto;
}

.form-modal-soc {
    width: 484px;
    display: flex;
    justify-content: space-between;
    margin-top: 110px;
}

.form-modal-soc__link {
    text-transform: uppercase;
    color: #D9D9D9;
}

.form-modal_close {
    display: flex;
    align-items: center;
    position: absolute;
    right: 126px;
    top: 24px;
    cursor: pointer;
}

.form-modal-close__icon {
    width: 12px;
    height: 12px;
    position: relative;
    margin-right: 15px;
}

.form-modal-close__icon .line {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #000;
}

.form-modal-close__icon .line-1 {
    transform: rotate(45deg);
}

.form-modal-close__icon .line-2 {
    transform: rotate(-45deg);
}


/* Thanks modal */

.form-modal_thanks {
    width: 850px;
    height: auto;
    padding: 75px 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.form-modal_thanks .form-modal_close {
    right: 29px;
    top: 24px;
}

.thanks-modal {
    width: 416px;
}

.thanks-modal__text {
    text-transform: uppercase;
    font-weight: 300;
    text-align: center;
}

.thanks-modal__text span {
    font-weight: 600;
}

.thanks-modal__text_1 {
    margin-bottom: 25px;
}


.wpcf7-response-output {
    display: none !important;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
}


.form-modal_video {
    padding: 0;
    width: 660px;
    height: 380px;
    background: #000;
}

.form-modal_video .form-modal_close {
    right: 10px;
    top: -30px;
    color: #fff;
}

.form-modal_video .form-modal-close__icon .line {
    background: #fff;
}

.video-modal {
    width: 100%;
    height: 100%;
    position: relative;
}

.video-modal iframe {
    width: 100% !important;
    height: 100% !important;
}

.video-modal video {
    width: 100%;
    height: 100%;
}

.vdm-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    /* pointer-events: none; */
}

.approach-video-wrap .vdm-nav {
    bottom: auto;
    height: 62%;
    align-items: flex-end;
}

/* .video-modal:hover .vdm-nav {
    opacity: 1;
} */

.vdm-nav__play {
    display: block;
}

.vdm-nav__pause {
    display: none;
}

.vdm_switch .vdm-nav__play {
    display: none;
}

.vdm_switch .vdm-nav__pause {
    display: block;
    opacity: 0;
}

.vdm_switch:hover .vdm-nav__pause {
    display: block;
    animation: 3s animPauseBtn;
}

@keyframes animPauseBtn {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

.approach-video-wrap .vdm-nav__play img {
    width: 30px;
}

.approach-video-wrap .vdm-nav__pause img {
    width: 30px;
}




/* MAP */ 
.leaflet-control-attribution > a:first-child {
    display: none !important;
}

.leaflet-control-attribution > span {
    display: none !important;
}

.prod-info-map .leaflet-map {
    width: 100% !important;
    height: 100% !important;
}



/* Header modal */
.header-modal {
    padding: 100px 80px;
    max-width: 800px;
    width: 100%;
    border-radius: 0;
    box-shadow: 0 0 0;
    /* height: 100vh; */
}

.header-modal .inner-form__input {
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin-bottom: 36px;
}

.header-modal .inner-form>p {
    display: block;
    width: 100%;
}

.header-modal .inner-form>p>span {
    box-sizing: border-box;
    display: block;
    width: 100%;
}

.header-modal .contacts {
    padding-top: 0;
    display: block;
    box-sizing: border-box;
}

.header-modal .inner-form__area {
    margin-right: 0;
    width: 100%;
}

.header-modal .contacts__title {
    line-height: 135%;
    margin-bottom: 40px;
}

.header-modal .form-modal_close {
    right: 60px;
}

.header-modal_thanks .contacts__title {
    text-align: center;
    margin-bottom: 0 !important;
}

.header-modal_share {
    max-width: 630px;
    padding-bottom: 80px;
}



.posts-none {
    margin-left: 283px;
    opacity: 0.8;
}



.faq-sec_filter .faq-sec-edge-content {
    width: 100%;
    max-width: 100%;
}

.faq-sec_filter .faq-sec-edge-content .addtoany_share_save_container {
    display: none;
}





.catmain-tags {
    justify-content: center;
    flex-wrap: wrap-reverse;
    margin-bottom: 38px;
    padding-right: 0;
    margin-top: 0;
}

.catmain-tag {

}


/* ====== Media Quaries ====== */

/* 992-1250 */
@media screen and (max-width: 1250px) {
    .container {
        width: 960px;
    }
    .featured .container {
        width: 960px;
    }
    .similar .container {
        width: 960px;
    }
    .services .container {
        width: 960px;
    }


    .nav {
        max-width: 830px;
    }
    .header-block {
        max-width: 190px;
    }
    .logo {
        font-size: 12px;
    }
    .menu>li>a {
        font-size: 12px;
    }
    .header-link {
        font-size: 12px;
    }

    .menu>li {
        margin: 0 8px;
    }
    .menu-item-has-children::before {
        transform: scale(0.6);
        margin-top: -2px;
    }

    .types-slide {
        width: 230px;
        height: 320px;
        margin: 0 10px;
    }
    .types-slide.slick-current {
        /* width: 460px !important; */
    }
    .types-slide.slide_first {
        width: 460px;
    }

    .newsletter-form__input {
        width: 220px;
    }

    .newsletter__title {
        font-size: 14px;
    }

    .newsletter-wrap {
        max-width: 740px;
    }

    .areas-grid {
        gap: 15px 25px;
    }

    .areas__title {
        margin-left: 245px;
    }

    .advantages-grid {
        max-width: 720px;
        gap: 32px 52px;
    }

    .advantages-card__title {
        margin-bottom: 24px;
    }

    .types__title {
        margin-left: 390px;
    }

    .infotabs_types .infotab-items {
        margin-left: 400px;
    }

    .budget__title {
        margin-left: 240px;
    }

    .infotabs_budget .infotab-items {
        margin-left: 240px;
    }

    .budget-grid {
        max-width: 720px;
        gap: 20px;
    }

    .featured__title {
        margin-left: 240px;
    }

    .infotabs_featured .infotab-items {
        margin-left: 240px;
    }

    .prod-card__title {
        font-size: 16px;
    }

    .prod-card__price div {
        font-size: 14px;
    }

    .prod-card__price span {
        font-size: 14px;
    }

    .prod-card__type {
        font-size: 12px;
    }

    .prod-card__item {
        font-size: 12px;
    }


    .request-sec-wrap {
        margin-left: 240px;
    }

    .faq-sec-block {
        max-width: 720px;
    }


    .faq-sec-edge-content {
        max-width: 350px;
    }


    .prod-info-wrap {
        width: 100%;
    }
    .prod-info-col {
        /* max-width: 650px; */
    }

    .prod-info-block {
        gap: 20px;
        grid-template-columns: 150px 150px 150px 1fr;
    }

    .prod-info-features-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .similar-wrap .slider-arrows {
        margin-right: 345px;
    }

    .request-sec-card-contacts a:last-child {
        font-size: 12px;
    }

    .request-sec-card-contacts a {
        font-size: 12px;
    }

    .request-sec-card-wrap {
        padding: 16px;
    }

    .about__desc {
        font-size: 19px;
        margin-left: 260px;
    }

    .inner-page-first-col {
        min-width: 240px;
    }

    .advantages-grid {
        gap: 30px 40px;
    }

    .services-wrap {
        margin-left: 240px;
    }

    .services__item {
        font-size: 14px;
        margin-bottom: 50px;
    }
    

    .favorite__text {
        margin-left: 160px;
    }

    .catmain-prodfilter {
        margin-left: 170px;
    }


    .inner-form__input {
        width: 200px;
    }
    .infotab-content {
        /* max-width: 720px; */
    }

    .inner-form p {
        max-width: 720px;
        width: 100%;
    }

    .inner-form__checkbox {
        margin-bottom: 12px;
    }

    .inner-form__area {
        width: 600px;
        margin-right: 0;
    }


    .prod-info-t {
        font-size: 14px;
    }

    .blog-item__photo {
        margin-right: 139px;
    }

    .blog-pg-text {
        max-width: none;
        width: auto;
        margin-left: 240px;
    }


    /* Filter */
    .wpc-filter-layout-dropdown {
        min-width: 175px !important;
    }
    .wpc-filter-layout-submit-button {
        padding-left: 373px;
    }

    .wpc-filters-submit-button {
        min-width: 175px !important;
    }

    .offer-filter-content_buy .wpc-filter-real-estate_size {
        min-width: 175px !important;
    }

    .wpc-filters-reset-button {
        min-width: 100px;
    }

    .wpc-filter-real-estate-rent_period {
        margin-left: 93px !important;
        min-width: 175px !important;
        max-width: 175px !important;
    }

    .offer-filter-content_archive .wpc-filter-real-estate_property_tag {
        min-width: 175px !important;
        margin-left: 93px !important;
    }

    .offer-filter-content_archive .wpc-filter-real-estate_rent_property_tag {
        min-width: 175px !important;
        margin-left: 93px !important;
    }

    .offer-filter-content_archive .wpc-filter-real-estate-rent_period {
        min-width: 175px !important;
        margin-left: 0px !important;
    }


    .posts-none {
        margin-left: 240px;
    }


    .footer-edge__item_4 {
        max-width: 99px;
        width: 100%;
        margin-left: 80px;
    }
    .footer-edge__item_2 {
        max-width: 250px;
    }

    .footer-edge__item_1 {
        max-width: 310px;
    }


    .sitemap-page-card__photo {
        height: 290px;
    }
    .footer-edge__item_4 {
        text-align: left;
        margin-left: 0;
        margin-right: 30px;
    }
    .footer-edge__item_3 {
        max-width: 120px;
    }

    .gallery-grid {
        grid-template-columns: 290px 290px 319px;
    }
}

/* 768-992 */
@media screen and (max-width: 992px) {
    .container {
        width: 720px;
    }
    .featured .container {
        width: 720px;
    }
    .similar .container {
        width: 720px;
    }
    .services .container {
        width: 720px;
    }

    .body-fixed {
        /* position: fixed; */
        overflow: hidden;
    }
    .logo {
        font-size: 16px;
    }
    .header {
        padding: 15px 0;
    }

    .mob-btn {
        display: flex !important;
        align-items: center;
        position: relative;
        z-index: 300;
    }

    .mob-btn__icon {
        width: 21px;
        height: 14px;
        position: relative;
    }
    .mob-btn__icon .line {
        width: 100%;
        height: 2px;
        background: #000;
        position: absolute;
        left: 0;
        margin-top: -1px;
    }
    .mob-btn__icon .line-1 {
        top: 0;
    }
    .mob-btn__icon .line-2 {
        top: 50%;
    }
    .mob-btn__icon .line-3 {
        top: 100%;
    }

    .header.collapse .mob-btn__icon .line-1 {
        top: 50%;
        transform: rotate(45deg);
    }
    .header.collapse .mob-btn__icon .line-3 {
        top: 50%;
        transform: rotate(-45deg);
    }
    .header.collapse .mob-btn__icon .line-2 {
        top: 50%;
        width: 0;
    }

    .header.collapse .mob-btn {
        transform: translateY(7px);
    }

    .header.collapse .mob-btn__text {
        display: block !important;
        margin-left: 15px;
        color: #000;
    }
    .header.collapse .mob-btn__icon .line {
        background: #000;
        height: 1px;
    }


    .nav {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        background: #fff;
        display: block !important;
        width: 100vw;
        max-width: none;
        height: 0vh;
        box-sizing: border-box;
        /* padding-top: 60px; */
        overflow: hidden;
        transition: 0.3s;
    }

    .header.collapse .nav {
        height: 100vh;
        z-index: 200;
    }

    .menu {
        margin-top: 60px !important;
        border-top: 1px dashed #B1B1B1;
        flex-direction: column;
        margin: 0 calc((100vw - 720px) / 2);
    }
    .menu>li {
        width: 100%;
        padding-right: 0 !important;
        margin: 0 !important;
        margin-bottom: 19px !important;
        padding-left: 40%;
    }
    .menu>li>a {
        font-size: 20px;
        text-align: left;
        color: #000 !important;
    }

    .menu>li:nth-child(1) {
        margin-right: auto;
        padding-top: 36px;
        padding-left: 0%;
        margin-bottom: 0 !important;
    }

    .menu>li:nth-child(1)> a {
        display: block;
        font-size: 24px;
        font-weight: 600;
        margin-bottom: 40px !important;
    }

    .menu>li:nth-child(2).menu-item-has-children {
        margin-right: auto;
        margin-left: 0;
        padding-top: 36px;
        margin-bottom: 45px !important;
        padding-left: 0%;
    }

    .menu>li:nth-child(2).menu-item-has-children> a {
        display: block;
        font-size: 24px;
        font-weight: 600;
        margin-bottom: 40px !important;
    }




    .menu>li:nth-child(1)> ul {
        display: flex !important;
        flex-wrap: wrap;
        /* justify-content: space-between; */
        opacity: 1;
        position: static;
        border: 0;
        padding: 0;
        padding-bottom: 14px;
        border-bottom: 1px dashed #B1B1B1;
    }
    .menu>li:nth-child(1)> ul li {
        font-size: 20px;
        margin-bottom: 23px;
        padding: 0;
        margin-right: 50px;
    }
    .menu>li:nth-child(1)> ul li a {
        font-size: 20px;
    }
    
    .menu>li:nth-child(2).menu-item-has-children> ul {
        display: flex !important;
        flex-wrap: wrap;
        /* justify-content: space-between; */
        opacity: 1;
        position: static;
        border: 0;
        padding: 0;
        padding-bottom: 14px;
        border-bottom: 1px dashed #B1B1B1;
    }
    .menu>li:nth-child(2).menu-item-has-children> ul li {
        font-size: 20px;
        margin-bottom: 23px;
        padding: 0;
        margin-right: 50px;
    }
    .menu>li:nth-child(2).menu-item-has-children> ul li a {
        font-size: 20px;
    }
    .menu>li>ul>li {
        border: 0;
    }


    .menu-desc {
        display: none;
    }

    .menu-mob {
        display: flex;
    }



    .header__favorite svg {
        fill: #B1B1B1 !important;
    }
    .header-soc a svg {
        fill: #B1B1B1 !important;
    }
    .header-link {
        display: none;
    }

    .header-block {
        position: absolute;
        top: 490px;
        right: calc((100vw - 720px) / 2);
        max-width: 90px;
        margin-right: 36px;
    }

    

    .types__title {
        margin-left: 0;
    }
    .infotabs_types .infotab-items {
        margin-left: 0;
    }

    .types-slide {
        width: 280px !important;
    }
    .types-slide.slick-current {
        /* width: 280px !important; */
    }
    .types-slide.slide_first {
        width: 280px;
    }


    .newsletter-flex {
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .newsletter__title {
        font-size: 16px;
        margin-bottom: 56px;
    }

    .newsletter-wrap {
        max-width: 100%;
    }

    .areas-grid {
        display: flex;
        overflow-x: scroll;

        -ms-overflow-style: none;
        overflow: -moz-scrollbars-none;
    }
    .areas-grid::-webkit-scrollbar { width: 0; }


    .areas-item:first-child {
        display: none;
    }

    

    .areas-item {
        min-width: 283px;
    }

    .areas-item:last-child {
        margin-right: calc((100vw - 720px) / 2);
    }
    .areas .container {
        width: 100% !important;
        padding-left: calc((100vw - 720px) / 2);
    }

    .areas__title {
        margin-left: 0;
    }

    .advantages__title {
        margin-right: 0;
        margin-bottom: 54px;
    }

    .advantages-wrap {
        flex-direction: column;
    }

    .advantages-grid {
        display: flex;
        overflow-x: scroll;
        max-width: 100%;

        -ms-overflow-style: none;
        overflow: -moz-scrollbars-none;
    }

    .advantages-grid::-webkit-scrollbar { width: 0; }

    .advantages .container {
        width: 100% !important;
        padding-left: calc((100vw - 720px) / 2);
    }

    .advantages-card {
        min-width: 251px;
    }

    .advantages-card:last-child {
        margin-right: calc((100vw - 720px) / 2);
    }

    .budget__title {
        margin-left: 0;
    }

    .infotabs_budget .infotab-items {
        margin-left: 0;
    }

    .budget__subtitle {
        display: none;
    }

    .budget-grid {
        overflow-x: scroll;
        max-width: 100%;

        -ms-overflow-style: none;
        overflow: -moz-scrollbars-none;
    }

    .budget-grid::-webkit-scrollbar { width: 0; }

    .budget-item {
        min-width: 266px;
    }

    .budget .container {
        width: 100% !important;
        padding-left: calc((100vw - 720px) / 2);
    }

    .budget-item:last-child {
        margin-right: calc((100vw - 720px) / 2);
    }

    .featured__title {
        margin-left: 0;
    }

    .infotabs_featured .infotab-items {
        margin-left: 0;
    }

    .request-sec-wrap {
        margin: 0 auto;
    }

    .faq-sec-wrap {
        flex-direction: column;
    }

    .faq-sec__title {
        margin-bottom: 62px;
    }

    .faq-item {

    }

    .footer-col_contacts {
        max-width: none;
        width: auto;
    }


    .prod-info-sidebar {
        display: none;
    }
    .prod-info-col {
        margin-right: 0;
    }

    .prod-info-block {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .gallery-wrap {
        flex-direction: column;
    }

    .gallery-block {
        display: flex;
        max-width: 70%;
    }

    .gallery__item_big {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .gallery__item_small {
        height: 140px;
        margin-right: 20px;
    }

    .gallery__item_link::after {
        left: 100%;
        color: #000;
        font-size: 20px;
        white-space: nowrap;
        margin-left: 65px;
    }


    .inner-page-first-col {
        
    }

    .inner-page .container {
        flex-direction: column;
    }

    .about-video {
        width: 100%;
        height: 480px;
    }

    .inner-page-title-vertical {
        height: 45px !important;
    }

    .inner-page__title {
        transform: rotate(0) !important;
        margin: 0 !important;
        margin-bottom: 25px !important;
    }

    .about {
        padding-top: 0;
    }

    .about-video {
        margin-bottom: 54px;
    }

    .services-wrap {
        margin-left: 0;
    }

    .services__title {
        margin-bottom: 53px;
    }

    .services__item {
        font-size: 16px;
    }


    .favorite__text {
        margin-left: 0;
    }
    .favorite_empty {
        padding-top: 0;
    }

    .favorite-saved-grid {
        grid-template-columns: 1fr 1fr;
    }

    .catmain-grid {
        grid-template-columns: 1fr 1fr;
    }

    .catmain-prodfilter {
        margin-left: 0;
    }


    .property {
        padding-top: 0;
    }

    .property__title {
        margin-bottom: 23px;
    }

    .infotabs_property .infotab-items {
        margin-bottom: 80px;
    }

    .contacts {
        padding-top: 0;
    }


    .gallery-grid {
        display: grid;
        grid-template-areas: 
            'a a a'
            'a a a'
            'a a a'
            'b c .';
        grid-template-rows: 148px 148px 148px 148px;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 10px;
    }

    .gallery-photo:nth-child(3)::after {
        left: 100%;
        width: 100%;
        color: #000;
        white-space: nowrap;
    }


    .prod-info-ts {
        max-width: 180px;
    }


    .featured-slider .prod-card {
        max-width: 300px;
    }

    .blog-item__photo {
        margin-right: 63px;
    }

    .blog-pg-text {
        margin-left: 164px;
    }


    /* Thanks modal */

    .form-modal_thanks {
        width: 600px;
        padding: 75px;
    }
    .form-modal_video {
        padding: 0;
    }

    /* Filter */
    .wpc-filter-layout-dropdown {
        min-width: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 10px !important;
    }

    .offer {
        margin-bottom: 200px;
    }

    .offer-filter-content_buy .wpc-filter-real-estate_size {
        max-width: 100% !important;
        width: 100% !important;
        min-width: auto !important;
        position: relative !important;
    }

    .wpc-filter-real-estate-rent_period {
        max-width: 100% !important;
        width: 100% !important;
        min-width: auto !important;
        position: relative !important;
        margin-left: 0 !important;
    }

    .wpc-filter-layout-submit-button {
        padding-left: 0;
    }

    .offer-filter-content_archive .wpc-filter-real-estate_property_tag {
        position: relative !important;
        margin-left: 0 !important;
    }

    .offer-filter-content_archive .wpc-filter-real-estate_rent_property_tag {
        position: relative !important;
        margin-left: 0 !important;
    }

    .offer-filter-content_archive .wpc-filter-real-estate-rent_period {
        position: relative !important;
        margin-left: 0 !important;
    }

    .offer_rent {
        margin-bottom: 300px; 
    }

    .posts-none {
        margin-left: 0px;
    }

    .footer-edge__item_4 {
        margin-left: 50px;
    }


    .sitemap-page-card__photo {
        height: 190px;
        padding: 21px;
    }
    .sitemap-page-grid {
        gap: 80px 20px;
    }
    .sitemap-page-card-tags {
        margin-top: 22px;
    }
    .sitemap-block {
        padding-top: 0;
    }
    .inner-page_sitemap {
        padding-bottom: 20px;
    }
}

/* 576-768 */
@media screen and (max-width: 767px) {
    .container {
        width: 540px;
    }
    .featured .container {
        width: 540px;
    }
    .similar .container {
        width: 540px;
    }
    .services .container {
        width: 540px;
    }

    .areas .container {
        padding-left: calc((100vw - 540px) / 2);
    }
    .areas-item:last-child {
        margin-right: calc((100vw - 540px) / 2);
    }

    .advantages .container {
        padding-left: calc((100vw - 540px) / 2);
    }
    .advantages-card:last-child {
        margin-right: calc((100vw - 540px) / 2);
    }

    .budget .container {
        padding-left: calc((100vw - 540px) / 2);
    }
    .budget-item:last-child {
        margin-right: calc((100vw - 540px) / 2);
    }

    .types .container {
        width: 100% !important;
        padding-left: calc((100vw - 540px) / 2);
    }
    .featured .container {
        width: 100% !important;
        padding-left: calc((100vw - 540px) / 2);
    }

    .menu {
        border-top: 1px dashed #B1B1B1;
        flex-direction: column;
        margin: 0 calc((100vw - 540px) / 2);
    }
    .menu>li>ul>li>a {
        margin-right: 20px;
    }

    .header-block {
        position: absolute;
        top: 490px;
        right: calc((100vw - 540px) / 2);
        max-width: 90px;
        margin-right: 36px;
    }

    .slider-arrows {
        display: none;
    }

    .infotabs_types .infotab-items {
        margin-bottom: 35px;
    }

    .newsletter-form > p {
        flex-direction: column;
        align-items: start;
    }

    .newsletter-form > p > span {
        width: 100%;
    }

    .newsletter-form__input {
        width: 100%;
        margin-bottom: 32px;
    }

    .newsletter-form__btn {
        margin-left: 0;
        margin-top: 19px;
    }

    .infotabs_featured .infotab-items {
        margin-bottom: 35px;
    }

    .prod-card {
        margin: 0;
        margin-right: 12px;
        width: 310px !important;
    }

    .prod-card__photo {
        height: 211px;
    }

    .prod-card__type {
        font-size: 14px;
    }

    .prod-card__item {
        font-size: 14px;
    }

    .prod-card__title {
        font-size: 20px;
    }


    .footer-wrap {
        flex-wrap: wrap;
    }
    .footer-col {
        width: 50%;
        padding: 31px 0;
    }

    .footer-col:nth-child(1) {
        order: 3;
    }
    .footer-col:nth-child(2) {
        border-bottom: 1px solid #D9D9D9;
        order: 2;
    }
    .footer-col:nth-child(3) {
        border-bottom: 1px solid #D9D9D9;
        order: 1;
    }
    .footer-col:nth-child(4) {
        order: 4;
    }

    .footer-wrap {
        padding: 10px 0;
    }

    .footer-edge {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .footer-edge__item {
        margin-bottom: 20px;
        margin-right: 50px !important;
        max-width: none;
        width: auto;
    }

    .footer-edge__item:nth-child(1) {
        order: 5;
        margin-right: 0 !important;
    }
    .footer-edge__item:nth-child(2) {
        order: 3;
    }
    .footer-edge__item:nth-child(3) {
        order: 1;
    }
    .footer-edge__item:nth-child(4) {
        order: 2;
        margin-right: 0 !important;
        margin-left: 100px;
    }
    .footer-edge__item:nth-child(5) {
        order: 4;
    }

    .footer-edge {
        padding-bottom: 15px;
    }

    .offer__title {
        font-size: 30px;
    }


    .faq-sec-edge-wrap {
        flex-direction: column;
    }

    .faq-sec-edge-content {
        max-width: 100%;
        margin-bottom: 19px;
    }

    .faq-sec {
        padding-bottom: 88px;
    }


    .about__desc {
        margin-left: 0;
        font-size: 20px;
    }

    .services {
        padding: 50px 0 10px;
    }

    .services__title {
        margin-left: 0;
    }

    .services__item {
        margin-bottom: 37px !important;
    }

    .about-video {
        height: 360px;
    }


    .inner-page_favorite {
        padding-top: 100px;
    }

    .favorite-saved-grid {
        grid-template-columns: 1fr;
    }

    .favorite {
        flex-direction: column;
        padding-top: 0; 
    }

    .favorite-saved .prod-card {
        width: 100% !important;
    }

    .favorite__title {
        margin-right: 0;
        padding-bottom: 30px;
        margin-bottom: 30px;
        border-bottom: 1px solid #000;
    }

    .favorite-saved {
        padding-top: 80px;
    }

    .catmain-grid {
        grid-template-columns: 1fr;
    }

    .catmain-prodfilter {
        overflow-x: scroll;
    }

    .catmain-prodfilter__link {
        white-space: nowrap;
    }

    .catmain .prod-card {
        width: 100% !important;
    }

    .catmain-prodfilter {
        -ms-overflow-style: none;
        overflow: -moz-scrollbars-none;
    }

    .catmain-prodfilter::-webkit-scrollbar { width: 0; }

    .catmain-prodfilter {
        margin-bottom: 10px;
    }


    .inner-form__area {
        width: 100%;
        margin-bottom: 40px;
    }

    .inner-form__input {
        width: 100%;
        margin-bottom: 17px;
    }

    .inner-form>p:nth-child(1) {
        flex-direction: column;
    }

    .inner-form-flex {
        margin-right: 0;
    }

    .inner-form-flex > p {
        justify-content: start;
    }
    .inner-form-flex {
        margin-bottom: 50px;
    }


    .gallery-grid {
        display: grid;
        grid-template-areas: 
            'a a a'
            'a a a'
            'a a a'
            'b c .';
        grid-template-rows: 108px 108px 108px 108px;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 10px;
    }


    .prod-info-t {
        font-size: 13px;
    }

    .prod-info-ts span {
        font-size: 13px;
    }

    .inner-page_blog {
        padding: 94px 0 49px;
    }

    .blog-item__title {
        margin-right: 0;
    }

    .blog-item__photo {
        margin-right: 19px;
    }

    .blog-item-wrap img {
        display: none;
    }

    .blog-pg-text {
        margin-left: 0;
    }

    .catmain .prod-card {
        max-width: 100%;
        margin-right: 0;
    }


    /* Thanks modal */

    .form-modal_thanks {
        width: 500px;
    }


    /* Header modal */
    
    .header-modal {
        padding: 80px 50px;
    }



    .favorite_empty .favorite__title::after {
        display: none;
    }

    .favorite__title {
        padding-bottom: 30px !important;
        margin-bottom: 30px !important;
    }

    .prod-info-box__item_share {
        max-width: 100px;
        margin-left: 10px;
    }

    .prod-info-box .simplefavorite-button {
        max-width: 100px;
    }

    .faq-item-text-height {
        flex-direction: column;
        padding-right: 40px;
    }

    .faq-item__btn {
        min-width: 19px;
    }



    .sitemap-page-card__photo {
        height: 290px;
        padding: 21px;
    }
    .sitemap-page-grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .footer-edge__item:nth-child(4) {
        margin-right: 10px !important;
    }
}

/* <576 */
@media screen and (max-width: 576px) {
    .container {
        width: 94vw;
    }
    .featured .container {
        width: 94vw;
    }
    .similar .container {
        width: 94vw;
    }
    .services .container {
        width: 94vw;
    }

    .menu {
        border-top: 1px dashed #B1B1B1;
        flex-direction: column;
        margin: 0 3vw;
    }
    .menu>li>ul>li>a {
        margin-right: 20px;
    }
    .menu>li:nth-child(1)> a {
        font-size: 16px;
    }
    .menu>li:nth-child(1)> ul li a {
        font-size: 16px;
        margin-right: 0;
    }
    .menu>li:nth-child(1)> ul li {
        margin-right: 30px !important;
    }
    .menu>li:nth-child(2).menu-item-has-children> a {
        font-size: 16px;
    }
    .menu>li:nth-child(2).menu-item-has-children> ul li a {
        font-size: 16px;
        margin-right: 0;
    }
    .menu>li:nth-child(2).menu-item-has-children> ul li {
        margin-right: 30px !important;
    }
    .menu>li {
        padding-left: 106px;
    }
    .menu>li>a {
        font-size: 16px;
    }

    .header-block {
        position: absolute;
        top: 453px;
        right: 3vw;
        max-width: none;
        width: auto;
        margin-right: 36px;
    }

    .header__favorite {
        display: none;
    }




    .areas .container {
        padding-left: 3vw;
    }
    .areas-item:last-child {
        margin-right: 3vw;
    }

    .advantages .container {
        padding-left: 3vw;
    }
    .advantages-card:last-child {
        margin-right: 3vw;
    }

    .budget .container {
        padding-left: 3vw;
    }
    .budget-item:last-child {
        margin-right: 3vw;
    }

    .types .container {
        width: 100% !important;
        padding-left: 3vw;
    }
    .featured .container {
        width: 100% !important;
        padding-left: 3vw;
    }



    .offer-wrap {
        padding-top: 81px;
    }
    .offer__title {
        font-size: 20px;
        margin-bottom: 66px;
    }
    .offer-box {
        display: none;
    }

    .offer-filter {
        /* height: 320px; */
        height: 0;
        /* margin-top: 66px; */
        margin-top: 0;
        box-shadow: 100px 0 #fff, -100px 0 #fff;
    }

    .offer {
        height: auto;
    }

    .types {
        padding-top: 116px;
        padding-bottom: 59px;
    }

    .types__title {
        margin-bottom: 30px;
    }

    .types-slide {
        height: 354px;
    }

    .newsletter {
        padding: 59px 0;
    }

    .areas {
        padding: 59px 0;
    }

    .areas__title {
        margin-bottom: 29px;
    }

    .advantages-card__title {
        margin-bottom: 44px;
    }

    .advantages {
        padding: 59px 0;
    }

    .budget {
        padding: 40px 0 57px;
    }

    .infotabs_budget .infotab-items {
        margin-bottom: 35px;
    }

    .budget__title {
        margin-bottom: 30px;
    }

    .budget-grid {
        gap: 10px;
    }

    .featured {
        padding: 50px 0 59px;
    }

    .featured__title {
        margin-bottom: 30px;
    }

    .request-sec {
        padding: 50px 0;
    }

    .request-sec__title {
        margin-bottom: 28px;
    }

    .request-sec-card-wrap {
        padding: 27px 16px;
        margin-bottom: 26px;
    }

    .request-sec-card__photo {
        width: 84px;
        height: 84px;
        margin-right: 16px;
    }

    .request-sec-card__name {
        margin-bottom: 10px;
    }

    .request-sec-card__prof {
        margin-bottom: 10px;
    }

    .faq-sec {
        padding: 64px 0;
    }

    .faq-sec__title {
        margin-bottom: 62px;
    }

    .faq {
        margin-bottom: 112px;
    }

    .faq-item__btn {
        margin-right: 0;
    }

    .prod-info-block {
        grid-template-columns: 1fr 1fr;
        margin-bottom: 49px;
    }

    .prod-info-features-grid {
        grid-template-columns: 1fr 1fr;
    }

    .gallery__item_link::after {
        font-size: 14px;
        margin-left: 20px;
    }

    .prod-info__title {
        font-size: 20px;
    }

    .gallery {
        padding: 19px 0 31px;
    }

    .gallery__item_big {
        height: 203px;
    }

    .gallery__item_small {
        height: 65px;
        margin-bottom: 0;
    }

    .prod-info {
        padding-top: 0;
    }

    .prod-info-box__item_print {
        display: none;
    }
    .prod-info-box {
        flex-direction: column;
        margin-left: auto;
        max-width: 100px;
        margin-right: 31px;
    }

    .prod-info__price {
        margin-bottom: 31px;
    }

    .prod-info-text {
        margin-bottom: 49px;
    }

    .prod-info-features__title {
        margin-bottom: 40px;
    }

    .prod-info-features {
        padding-bottom: 50px;
        margin-bottom: 54px;
    }

    .prod-info-map {
        height: 196px;
    }

    .similar {
        display: none;
    }

    .prod-info {
        padding-bottom: 80px;
    }


    .about-video {
        height: calc(94vw / 1.5);
    }

    .inner-page {
        padding-top: 95px;
    }

    .about__desc::before {
        left: 20px;
        top: 8px;
        background: #B1B1B1;
    }

    .about__desc {
        font-size: 19px;
    }

    .services-flex {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 15px;
    }

    .services__item {
        display: flex;
        align-items: center;
        margin: 0;
    }


    .favorite_empty .favorite__title {
        max-width: 100%;
        font-size: 20px;
        width: 100%;
    }

    .favorite_empty .favorite__title::after {
        width: 100%;
        bottom: -30px;
    }

    .favorite__text {
        max-width: 260px;
    }

    .types_favorite {
        padding-top: 60px;
    }

    .offer__title {
        margin-right: 0;
    }

    .inner-form__checkbox {
        margin-right: 35px;
    }

    .contacts__title {
        font-size: 20px;
        margin-bottom: 100px;
    }


    .faq-text-switch {
        display: flex !important;
        align-items: center;
        margin-top: 20px;
    }

    .faq-text-switch span {
        font-size: 12px;
    }

    .faq-text-switch svg {
        margin-left: 13px;
    }

    .faq-sec-edge-wrap {
        max-height: 160px;
        overflow: hidden;
        transition: 0.3s;
    }

    .faq-sec-edge.collapse .faq-text-switch .open {
        display: none;
    }
    .faq-sec-edge.collapse .faq-text-switch .close {
        display: block !important;
    }
    .faq-sec-edge.collapse svg {
        transform: rotate(180deg);
    }


    .gallery-grid {
        display: grid;
        grid-template-areas: 
            'a a a'
            'a a a'
            'a a a'
            'b c .';
        grid-template-rows: 65px 65px 65px 65px;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 6px;
    }

    .gallery-photo:nth-child(3)::after {
        font-size: 14px;
        margin-left: 6px;
    }
    

    .prod-info-ts {
        max-width: 166px;
        position: absolute;
        left: 3vw;
        margin-top: 3px;
    }

    .prod-info-t {
        font-size: 14px;
    }

    .prod-info-ts span {
        font-size: 14px;
    }

    .error404__num {
        font-size: 48px;
        margin-bottom: 25px;
    }

    .prod-card__title {
        font-size: 16px;
    }

    .blog-block {
        padding-top: 0;
    }
    
    .blog-block__title {
        margin-bottom: 35px;
    }

    .blog {
        padding: 69px 0 72px;
    }

    .blog-item {
        padding: 5px 0 4px;
        border-color: #D9D9D9;
    }

    .blog-item:first-child {
        border-color: #D9D9D9;
    }

    .blog-item__photo {
        min-width: 79px;
        width: 79px;
        height: 56px;
    }

    .blog-single {
        padding-top: 0;
    }

    .blog-single__title {
        font-size: 20px;
    }

    .blog-pg {
        padding: 24px 0 35px;
    }

    .blog-pg__img {
        height: 53vw;
        margin-bottom: 38px;
    }

    .blog-block-photo {
        margin: 30px 0 30px;
    }


    /* Thanks modal */

    .form-modal_thanks {
        width: 100%;
        padding: 163px 45px 113px;
    }

    .form-modal_thanks .form-modal_close {
        top: 12px;
        right: 22px;
    }

    .thanks-modal {
        width: 100%;
    }

    .form-modal_video {
        padding: 0;
        width: 94vw;
        height: 60vw;
    }

    .form-modal_video .form-modal_close {
        top: -30px;
        right: 4px;
    }

    

    


    /* filter */

    .offer {
        margin-bottom: 350px;
    }

    .offer-filter-content.active {
        padding: 31px 0 0;
    }

    .wpc-filters-submit-button {
        min-width: 229px !important;
    }


    .catmain-pagination {
        padding: 0 20px;
    }


    .header-modal {
        padding: 60px 30px;
    }

    .header-modal .contacts__title {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .header-modal .inner-form__input {
        margin-bottom: 24px;
    }

    .header-modal .form-modal_close {
        right: 30px;
    }

    .privacy {
        padding-top: 30px;
    }

    .privacy__title {
        margin-bottom: 39px;
    }

    .header-modal_share {
        padding: 60px 20px;
    }


    .prod-info-box__item_share {
        margin-left: 0;
    }



    /* Mob menu new */

    .nav {
        overflow-y: scroll;
    }

    .menu>li {
        padding-left: 30%;
        padding-right: 90px !important;
        display: flex;
        justify-content: center;
        /* margin-left: 2vw; */
        text-align: left;
       
    }

    .menu>li>a {
        display: block;
        width: 38vw;
    }

    .header.collapse .mob-btn {
        margin-right: 5px;
    }

    .menu>li:nth-child(1) {
        display: block;
        padding-right: 0 !important;
        width: 100%;
    }
    .menu>li:nth-child(1) > a {
        width: 100%;
    }
    .menu>li:nth-child(1)> ul li {
        margin-right: 0 !important;
    }
    .menu>li:nth-child(2).menu-item-has-children {
        display: block;
        padding-right: 0 !important;
        width: 100%;
    }
    .menu>li:nth-child(2).menu-item-has-children > a {
        width: 100%;
    }
    .menu>li:nth-child(2).menu-item-has-children> ul li {
        margin-right: 0 !important;
    }

    .menu-item-has-children::before {
        display: none !important;
    }

    .menu-item-has-children ul li:nth-child(1), .menu-item-has-children ul li:nth-child(4) {
        display: block;
        min-width: 30%;
        margin-right: 0 !important;
    }
    .menu-item-has-children ul li:nth-child(2), .menu-item-has-children ul li:nth-child(5) {
        display: block;
        min-width: 40%;
    }
    .menu-item-has-children ul li:nth-child(3), .menu-item-has-children ul li:nth-child(6) {
        display: block;
        min-width: 90px;
    }

    .menu-item-has-children ul {
        justify-content: space-between;
    }

    .menu-item-has-children ul li {
        margin-right: 0 !important;
    }

    .menu-item-has-children ul li a {
        margin-right: 0 !important;
    }

    .menu-mob {
        background: #fff;
        position: relative;
        /* z-index: 1000; */
    }


    

    .faq-sec {
        /* padding-top: 0; */
    }

    .faq-sec_filter .faq-sec__title {
        display: none;
    }

    .faq-sec_filter {
        padding-bottom: 100px;
    }


    .footer-edge__item:nth-child(4) {
        margin-left: 0;
    }

    .footer-edge {
        justify-content: start;
    }



    .sitemap-page-card__photo {
        height: 55vw;
        padding: 21px;
    }

    .convert-list {
        width: 120px;
    }

    .prod-card-task__modal {
        left: auto;
        right: 50%;
    }
}

.faq-sec_filter .faq-sec-wrap {
    justify-content: flex-end;
}
.faq-sec_filter .faq-sec-edge-content {
    max-width: 813px;
    width: 100%;
}


/* ==========================================================
   Horizon Estate, правки 2026-09
   Аренда убрана, Favorites текстом, пункт Calculator в меню
   ========================================================== */

/* Вкладки BUY/RENT: осталась одна вкладка, переключатель не нужен */
.infotab-items_single {
    display: none !important;
}

/* Когда вкладок BUY/RENT нет, стрелки слайдера встают на одну линию
   с заголовком блока (types, featured), а карточки поднимаются:
   отступ от заголовка до контента как в блоке Bali's best areas (44px) */
.infotab-items_single ~ .infotab-contents .slider-arrows {
    margin-top: -73px;
    margin-bottom: 44px;
}

/* у двухстрочного заголовка types стрелки по центру заголовка */
.infotabs_types .infotab-items_single ~ .infotab-contents .slider-arrows {
    margin-top: -87px;
    margin-bottom: 58px;
}

/* Стрелки всех слайдеров: пара кнопок 34×28 в серой рамке, как переключатель IDR/USD/EUR.
   Рамка-прямоугольник из SVG и разделитель «|» скрыты, стрелка та же */
.slider-arrows {
    gap: 0;
}

.slider-arrows span {
    display: none;
}

.slider-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 28px;
    border: 1px solid #B1B1B1;
    box-sizing: border-box;
    background: #fff;
    transition: background 0.3s;
}

.slider-arrow_right {
    border-left: 0;
}

.slider-arrow svg {
    width: 18px;
    height: auto;
    overflow: visible;
}

.slider-arrow svg rect {
    display: none;
}

.slider-arrow svg path {
    fill: #000;
    stroke: #000;
    transition: 0.3s;
}

.slider-arrow:hover {
    background: #F4F4F4;
}

.slider-arrow.slick-disabled {
    cursor: default;
    background: #fff;
}

.slider-arrow.slick-disabled svg path {
    fill: #D9D9D9;
    stroke: #D9D9D9;
}

/* Заголовок «Explore Bali property for sale by type» в две строки, как было */
@media screen and (min-width: 768px) {
    .types__title {
        max-width: 275px;
    }
}

/* Шапка: отступ сверху и снизу 28px вместо 36px (на десктопе) */
@media screen and (min-width: 993px) {
    .header {
        padding: 28px 0;
    }
}

/* Шапка: Favorites словом.
   Ссылка также имеет класс .header-link, поэтому на страницах с тёмным
   первым экраном она белеет вместе с [ LET'S TALK ] */
.header-block {
    max-width: none;
    width: auto;
    gap: 26px;
}

.header__favorite_text {
    display: block;
    white-space: nowrap;
}

@media screen and (max-width: 1250px) {
    .header-block {
        max-width: none;
        gap: 14px;
    }
}

@media screen and (max-width: 992px) {
    .header-block {
        max-width: none;
        width: auto;
        gap: 14px;
    }
    /* Мобильное меню: отступ между разделом с подменю и обычными ссылками
       (раньше его давал раздел аренды) */
    .menu>li.menu-item-has-children + li:not(.menu-item-has-children) {
        padding-top: 45px;
    }

    /* меню открывается на белом фоне: текст всегда чёрный */
    .header .header__favorite_text {
        display: block;
        font-size: 16px;
        color: #000;
    }
}


@media screen and (max-width: 576px) {
    .header .header__favorite_text {
        display: block;
    }
}


/* FAQ на главной (2026-09).
   Только для .faq-sec_home: левый край блока совпадает с колонкой
   «Real Estate For Sale» в футере, вопросы одним списком в серых плашках */
.faq-sec_home .faq-home {
    margin-left: 449px;
}

.faq-sec_home .faq-sec__title,
.faq-sec_home .faq-sec-edge__title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.018em;
    margin-bottom: 44px;
}

.faq-sec_home .faq-home__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 76px;
}

.faq-sec_home .faq-item,
.faq-sec_home .faq-item:first-child {
    padding: 0;
    border-bottom: 0;
    background: #F4F4F4;
}

.faq-sec_home .faq-item-title-btn {
    padding: 15px 20px;
}

.faq-sec_home .faq-item__title {
    margin-right: 20px;
}

/* ответ внутри плашки в две колонки (поля left / right в админке) */
.faq-sec_home .faq-item-text-height {
    gap: 36px;
    padding: 8px 20px 10px;
}

.faq-sec_home .faq-item-content {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    margin-bottom: 0;
}

.faq-sec_home .faq-item-content p {
    text-align: left;
    margin-bottom: 14px;
}

/* SEO-текст: свёрнут до ~4 строк, внизу затухание */
.faq-sec_home .faq-sec-edge-wrap {
    position: relative;
    justify-content: flex-start;
    gap: 36px;
    max-height: 78px;
}

.faq-sec_home .faq-sec-edge-wrap::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 44px;
    background: linear-gradient(rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
    transition: opacity 0.3s;
}

.faq-sec_home .faq-sec-edge.collapse .faq-sec-edge-wrap::after,
.faq-sec_home .faq-sec-edge.is-short .faq-sec-edge-wrap::after {
    opacity: 0;
}

.faq-sec_home .faq-sec-edge-content {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
}

.faq-sec_home .faq-sec-edge-content p {
    text-align: left;
}

@media screen and (max-width: 1250px) {
    .faq-sec_home .faq-home {
        margin-left: 357px;
    }
}

@media screen and (max-width: 992px) {
    .faq-sec_home .faq-home {
        margin-left: 0;
    }
}

@media screen and (max-width: 767px) {
    .faq-sec_home .faq-sec__title,
    .faq-sec_home .faq-sec-edge__title {
        margin-bottom: 29px;
    }
    .faq-sec_home .faq-home__list {
        margin-bottom: 56px;
    }
    .faq-sec_home .faq-item-text-height {
        flex-direction: column;
        gap: 0;
        padding-right: 20px;
    }
    .faq-sec_home .faq-sec-edge-wrap {
        gap: 0;
        max-height: 118px;
    }
}

/* Футер: e-mail в одну строку, на телефоне перенос после @ */
.footer-col_contacts .footer__link {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .footer-col_contacts .footer__link {
        white-space: normal;
    }
    .footer-email {
        display: inline-block;
    }
}

/* Калькулятор расходов (template-parts/calculator.php), 2026-09 */
.calc-sec {
    padding: 68px 0 76px;
}

/* Заголовок и текст блоком шириной с блок контактов (392px), по его левому краю */
.calc-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    margin-bottom: 56px;
}

.calc-head > * {
    width: 100%;
    max-width: 392px;
}

/* на ноутбуках блок контактов стоит не по центру, а с отступом 240px */
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .calc-head {
        align-items: flex-start;
        padding-left: 240px;
    }
}

/* на странице калькулятора блок контактов стоит по колонке текста (283px) */
@media screen and (min-width: 1251px) {
    .inner-page_calculator ~ .calc-sec .calc-head {
        align-items: flex-start;
        padding-left: 283px;
    }
}

/* 22px: заголовок в одну строку в ширину блока контактов (392px) */
.calc__title {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.018em;
}

.calc__intro {
    max-width: 392px;
    font-size: 16px;
    line-height: normal;
    color: #000;
    text-align: justify;
}

.calc-cur {
    display: flex;
    border: 1px solid #000;
}

.calc-cur__btn,
.calc-seg__btn {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #000;
    background: #fff;
    border: 0;
    border-left: 1px solid #000;
    cursor: pointer;
    transition: 0.3s;
}

.calc-cur__btn {
    height: 30px;
    padding: 0 12px;
    font-size: 13px;
}

.calc-cur__btn:first-child,
.calc-seg__btn:first-child {
    border-left: 0;
}

.calc-cur__btn:hover,
.calc-seg__btn:hover {
    background: #F4F4F4;
}

.calc-cur__btn.on,
.calc-seg__btn.on {
    background: #000;
    color: #fff;
}

/* светлая рамка вокруг калькулятора, высота 448px */
.calc-frame {
    border: 1px solid #D9D9D9;
    min-height: 448px;
    padding: 64px 52px 46px 46px;
}

/* слева: валюты (справа сверху колонки) и форма; справа: расчёт на всю высоту;
   между ними серая линия на всю высоту рамки (::before как элемент сетки,
   отрицательные поля = внутренние отступы рамки) */
.calc-grid {
    display: grid;
    grid-template-columns: minmax(0, 457fr) 1px minmax(0, 582fr);
    grid-template-areas:
        "cur  line result"
        "form line result";
    grid-template-rows: auto 1fr;
    column-gap: 48px;
    row-gap: 24px;
    align-items: start;
}

.calc-grid::before {
    content: '';
    grid-area: line;
    align-self: stretch;
    margin: -64px 0 -46px;
    background: #D9D9D9;
}

.calc-grid > * {
    min-width: 0;
}

.calc-col_form {
    grid-area: form;
}

.calc-col_result {
    grid-area: result;
}

.calc-cur {
    grid-area: cur;
    justify-self: end;
}

@media screen and (max-width: 1250px) {
    .calc-frame {
        padding: 48px 36px 40px;
    }
    .calc-grid {
        column-gap: 28px;
    }
    .calc-grid::before {
        margin: -48px 0 -40px;
    }
}

@media screen and (max-width: 992px) {
    .calc-frame {
        min-height: 0;
        padding: 32px 28px;
    }
    .calc-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        grid-template-areas:
            "cur"
            "form"
            "result";
        row-gap: 20px;
    }
    .calc-grid::before {
        display: none;
    }
    .calc-col_result {
        margin-top: 12px;
    }
}

/* Вспомогательный текст калькулятора — один стиль: 13px, серый, обычный регистр
   (подписи полей, подсказка, оговорка, годовой налог). Капсом только кнопки. */
.calc-label {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: #B1B1B1;
    margin-bottom: 8px;
}

.calc-price {
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 18px;
    background: #F4F4F4;
}

.calc-price__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    font-family: "Inter", sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #000;
    background: transparent;
    border: 0;
    outline: none;
}

/* подпись поля внутри плашки справа (вместо отдельной подписи сверху) */
.calc-price__label {
    flex: none;
    margin-left: 12px;
    font-size: 13px;
    white-space: nowrap;
    color: #B1B1B1;
    cursor: text;
}

/* на самых узких экранах в плашке остаётся только «IDR», чтобы поместилась цена */
@media screen and (max-width: 420px) {
    .calc-price__label-long {
        display: none;
    }
}

/* Ползунок цены: своя отрисовка. Дорожка 4px (заполненная часть чёрная,
   --p выставляет calculator.js), кружок белый с серым ободком и серой точкой (вариант B) */
.calc-range {
    display: block;
    width: 100%;
    height: 18px;
    margin: 16px 0 0;
    padding: 0;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.calc-range:focus {
    outline: none;
}

.calc-range::-webkit-slider-runnable-track {
    height: 4px;
    border-radius: 2px;
    background: linear-gradient(to right, #000 0, #000 var(--p, 10%), #D9D9D9 var(--p, 10%), #D9D9D9 100%);
}

.calc-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    margin-top: -7px;
    border: 0;
    border-radius: 50%;
    background: radial-gradient(circle, #B1B1B1 0, #B1B1B1 3px, #fff 3.5px);
    box-shadow: inset 0 0 0 1.5px #B1B1B1;
    transition: box-shadow 0.2s;
}

.calc-range::-moz-range-track {
    height: 4px;
    border-radius: 2px;
    background: #D9D9D9;
}

.calc-range::-moz-range-progress {
    height: 4px;
    border-radius: 2px;
    background: #000;
}

.calc-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: radial-gradient(circle, #B1B1B1 0, #B1B1B1 3px, #fff 3.5px);
    box-shadow: inset 0 0 0 1.5px #B1B1B1;
    transition: box-shadow 0.2s;
}

.calc-range:hover::-webkit-slider-thumb,
.calc-range:focus-visible::-webkit-slider-thumb {
    box-shadow: inset 0 0 0 1.5px #B1B1B1, 0 0 0 4px rgba(0, 0, 0, 0.08);
}

.calc-range:hover::-moz-range-thumb,
.calc-range:focus-visible::-moz-range-thumb {
    box-shadow: inset 0 0 0 1.5px #B1B1B1, 0 0 0 4px rgba(0, 0, 0, 0.08);
}

.calc-field {
    margin-top: 24px;
}

.calc-seg {
    display: flex;
    border: 1px solid #000;
}

.calc-seg__btn {
    flex: 1 1 0;
    height: 34px;
    text-transform: uppercase;
}

.calc-hint {
    font-size: 13px;
    line-height: 1.5;
    color: #B1B1B1;
    margin-top: 10px;
}

.calc-checks {
    margin-top: 16px;
}

.calc-check {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    cursor: pointer;
    margin-bottom: 12px;
}

.calc-check input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #000;
    cursor: pointer;
}

.calc-checks .calc-check {
    margin-bottom: 0;
}

.calc-check_sub {
    margin-left: 28px;
    margin-top: 10px;
}

.calc-check.is-hidden {
    display: none;
}

.calc-breakdown {
    border: 1px solid #000;
    padding: 20px 24px;
}

.calc-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    padding: 7px 0;
}

.calc-row__l {
    font-size: 16px;
    line-height: 1.4;
}

.calc-row__v {
    font-size: 16px;
    white-space: nowrap;
}

.calc-row_strong .calc-row__l {
    font-weight: 600;
}

.calc-row_total .calc-row__l {
    font-weight: 600;
}

.calc-row_total .calc-row__v {
    font-size: 20px;
    font-weight: 600;
}

.calc-row_muted .calc-row__l,
.calc-row_muted .calc-row__v {
    color: #B1B1B1;
}

.calc-row_small .calc-row__l,
.calc-row_small .calc-row__v {
    font-size: 13px;
}

.calc-rule {
    height: 1px;
    background: #000;
    margin: 12px 0;
}

.calc-disclaimer {
    font-size: 13px;
    line-height: 1.5;
    color: #B1B1B1;
    margin-top: 16px;
}

.calc-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 42px;
    margin-top: 20px;
    font-size: 14px;
    text-transform: uppercase;
    color: #fff;
    background: #000;
    transition: 0.3s;
}

.calc-cta:hover {
    color: #fff;
    background: #606060;
}

@media screen and (max-width: 767px) {
    .calc-sec {
        padding: 56px 0;
    }
    .calc-head {
        gap: 16px;
        margin-bottom: 32px;
    }
    .calc__intro {
        text-align: left;
    }
    .calc-frame {
        padding: 20px 16px 24px;
    }
    .calc-price {
        padding: 0 16px;
    }
    .calc-price__input {
        font-size: 20px;
    }
    .calc-breakdown {
        padding: 16px 14px;
    }
    .calc-row__l,
    .calc-row__v {
        font-size: 14px;
    }
    .calc-row_total .calc-row__v {
        font-size: 18px;
    }
    .calc-row__v {
        white-space: normal;
        text-align: right;
    }
}


/* ==========================================================
   «Резиновая» сетка (body.hz-fluid), 2026-09. Пока только главная.
   Поля по 40px, контейнер до 1360px. Жёсткие отступы старой сетки
   (контейнер 1236px) пересчитаны в доли ширины контейнера.
   ========================================================== */
@media screen and (min-width: 993px) {
    .hz-fluid .container {
        width: calc(100% - 80px);
        max-width: 1360px;
    }
    .hz-fluid .featured .container {
        width: calc(100% - 50px);
        max-width: 1390px;
    }

    /* заголовки блоков: 502 / 317 / 334px из 1236 (1266) */
    .hz-fluid .types__title,
    .hz-fluid .infotabs_types .infotab-items {
        margin-left: 40.61%;
    }
    .hz-fluid .areas__title,
    .hz-fluid .budget__title {
        margin-left: 25.65%;
    }
    .hz-fluid .infotabs_budget .infotab-items {
        margin-left: 25.73%;
    }
    .hz-fluid .featured__title,
    .hz-fluid .infotabs_featured .infotab-items {
        margin-left: 26.38%;
    }

    /* правая колонка контента: 918px из 1236 */
    .hz-fluid .newsletter-wrap,
    .hz-fluid .advantages-grid,
    .hz-fluid .budget-grid {
        max-width: 74.27%;
    }
    /* поля подписки: 283px из 918. CF7 оборачивает поле в span, ширина задаётся ему */
    .hz-fluid .newsletter-form .wpcf7-form-control-wrap {
        width: 30.83%;
    }
    .hz-fluid .newsletter-form .wpcf7-form-control-wrap .newsletter-form__input {
        width: 100%;
    }

    /* карточки и плитки растут вместе с сеткой, сохраняя пропорции */
    .hz-fluid .types-slide {
        width: calc(min(100vw - 80px, 1360px) * 0.229);
        height: auto;
        aspect-ratio: 283 / 365;
    }
    .hz-fluid .types-slide.slide_first {
        width: calc(min(100vw - 80px, 1360px) * 0.4871);
        aspect-ratio: 602 / 365;
    }
    .hz-fluid .featured .prod-card {
        max-width: none;
    }
    .hz-fluid .prod-card__photo {
        height: auto;
        aspect-ratio: 392 / 266;
    }
    .hz-fluid .areas-item {
        height: auto;
        aspect-ratio: 283 / 165;
    }
    .hz-fluid .budget-item {
        height: auto;
        aspect-ratio: 283 / 200;
    }

    /* футер: колонки в тех же долях, что и раньше (449 / 833px из 1236) */
    .hz-fluid .footer-wrap {
        display: grid;
        grid-template-columns: 36.33% 31.07% 1fr auto;
    }

    /* FAQ по колонке «Real Estate For Sale» футера */
    .hz-fluid .faq-sec_home .faq-home {
        margin-left: 36.33%;
    }

    /* Фильтр первого экрана (разметка плагина Filter Everything):
       5 полей на всю ширину, SEARCH под третьим полем, CLEAR под четвёртым */
    .hz-fluid .offer-filter .wpc-filters-widget-wrapper {
        flex-wrap: wrap;
        justify-content: flex-start !important;
        gap: 12px;
    }
    /* 2026-10 (обновление 11): стили плагина (filter-everything.min.css) задают полям width / max-width 19%,
       а кнопкам 14% с нулевыми боковыми полями — селектором .wpc-horizontal-layout.wpc-horizontal-cols-5 …,
       он сильнее прежних правил темы. На сайте SEARCH сжималась до 36px, а ряд полей был уже панели на 18px.
       Селекторы ниже повторяют цепочку плагина (.wpc-horizontal-layout + тег a), размеры заданы явно. */
    .hz-fluid .offer-filter .wpc-filter-layout-dropdown,
    .hz-fluid .offer-filter .wpc-horizontal-layout .wpc-filters-section.wpc-filter-layout-dropdown {
        flex: 1 1 0;
        min-width: 0 !important;
        max-width: none;
        width: auto;
    }
    .hz-fluid .offer-filter .wpc-filter-layout-submit-button {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        column-gap: 12px;
        flex: 0 0 100%;
        width: 100%;
        padding-left: 0;
    }
    .hz-fluid .offer-filter .wpc-filters-submit-button,
    .hz-fluid .offer-filter .wpc-horizontal-layout a.wpc-filters-submit-button {
        grid-column: 3;
        width: 100%;
        max-width: none;
        min-width: 0 !important;
        margin-right: 0 !important;
        padding: 6px 14px;
    }
    .hz-fluid .offer-filter .wpc-filters-reset-button,
    .hz-fluid .offer-filter .wpc-horizontal-layout a.wpc-filters-reset-button {
        grid-column: 4;
        justify-self: start;
        width: auto;
        min-width: 0;
        max-width: none !important;
        margin-right: 0;
        padding: 6px 14px 6px 30px;
    }
}


/* Шапка (2026-09): один ряд с одинаковым шагом.
   Раньше меню и блок «Favorites + иконки + Let's talk» стояли по краям .nav
   (space-between), и остаток ширины уходил в промежуток перед Favorites.
   Теперь пункты меню и элементы блока — прямые элементы .nav (display: contents),
   и space-between раздаёт свободное место поровну между всеми.
   flex-basis .nav = ширина ряда, при которой шаг ~30px (16px шрифт) / ~24px (12px);
   если ширины не хватает, .nav сжимается, шаги уменьшаются поровну до минимума (gap).
   Если пунктов в меню станет больше или меньше, поправить flex-basis. */
@media screen and (min-width: 993px) {
    .header .logo {
        flex-shrink: 0;
        white-space: nowrap;
        margin-right: 32px;
    }
    .header .nav {
        flex: 0 1 1120px;
        max-width: none;
        width: auto;
        min-width: 0;
        justify-content: space-between;
        gap: 16px;
    }
    .header .menu-desc,
    .header .header-block {
        display: contents;
    }
    .header .menu-desc>li {
        margin: 0;
    }
    .header .menu-desc>li>a,
    .header .header-block>a {
        white-space: nowrap;
    }
    .header .header-soc {
        gap: 10px;
    }
    .header .header-soc a {
        margin: 0;
    }
}

/* 1251–1320px: чуть мельче шрифт, чтобы шаг не падал ниже ~20px */
@media screen and (min-width: 1251px) and (max-width: 1320px) {
    .header .logo,
    .header .menu-desc>li>a,
    .header .header-link {
        font-size: 15px;
    }
}

@media screen and (min-width: 993px) and (max-width: 1250px) {
    .header .nav {
        flex-basis: 870px;
        gap: 12px;
    }
}


/* Мобильное меню (≤992px): Favorites и иконки отдельной строкой под пунктами,
   по левому краю пунктов. Раньше блок стоял на фиксированной высоте
   (top: 490px / 453px) и наезжал на пункты, когда их стало больше. */
@media screen and (max-width: 992px) {
    .header .header-block {
        position: static;
        top: auto;
        right: auto;
        max-width: none;
        width: auto;
        justify-content: flex-start;
        margin: 21px 0 0 calc(50vw - 72px);
    }
    /* тот же размер, что у пунктов меню (20px, до 576px 16px) */
    .header .header-block .header__favorite_text {
        font-size: 20px;
    }
}
@media screen and (max-width: 767px) {
    .header .header-block {
        margin-left: calc(50vw - 54px);
    }
}
@media screen and (max-width: 576px) {
    .header .header-block {
        margin-left: calc(45.1vw - 45px);
    }
    .header .header-block .header__favorite_text {
        font-size: 16px;
    }
}


/* Калькулятор на главной (hz-fluid, от 1251px): левая колонка заканчивается
   по левому краю текста под заголовком (текст 392px по центру контейнера).
   Ширина сетки = контейнер − 100px (рамка 2px, поля 46 + 52), поэтому
   форма = 50% − 193px; шаг до линии и от линии — 9% (≈113px на 1440). */
@media screen and (min-width: 1251px) {
    .hz-fluid .calc-grid {
        grid-template-columns: calc(50% - 193px) 1px minmax(0, 1fr);
        column-gap: 9%;
    }
}


/* Сглаживание шрифтов на macOS как в Figma: без него Chrome и Safari на Mac
   рисуют текст заметно толще макета. На Windows и Android ни на что не влияет. */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* =====================================================================
   Блог (2026-09): список со вкладками тем, карточки, статья.
   Шаблоны: blog.php, category.php, single.php, template-parts/blog-*.php
   Серый для текста #767676 (контраст 4.5:1), линии #D9D9D9.
   ===================================================================== */

.blog-block__text {
    color: #767676;
}
.blog-block_topic {
    max-width: 520px;
}
.blog-block_topic .blog-block__title {
    margin-bottom: 28px;
}
.blog-block__text p {
    color: inherit;
    margin-bottom: 12px;
}
.blog-block__text p:last-child {
    margin-bottom: 0;
}

/* хлебные крошки */
.hz-crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-bottom: 20px;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #767676;
}
.hz-crumbs a {
    font-size: 13px;
    color: #767676;
    transition: 0.3s;
}
.hz-crumbs a:hover {
    color: #000;
}

/* --- список статей --- */
.blog-list {
    padding: 40px 0 96px;
}

.blog-topics {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 48px;
    border-bottom: 1px solid #000;
}
.blog-topics__list {
    display: flex;
    gap: 32px;
    list-style: none;
    overflow-x: auto;
    scrollbar-width: none;
}
.blog-topics__list::-webkit-scrollbar {
    display: none;
}
.blog-topics__link {
    display: block;
    padding-bottom: 16px;
    font-size: 16px;
    text-transform: uppercase;
    white-space: nowrap;
    color: #767676;
    transition: 0.3s;
}
.blog-topics__link:hover,
.blog-topics__link.is-active {
    color: #000;
}
.blog-topics__count {
    padding-bottom: 16px;
    font-size: 16px;
    white-space: nowrap;
    color: #767676;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 56px 24px;
}

.blog-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.blog-card__photo {
    display: block;
    aspect-ratio: 3 / 2;
    margin-bottom: 20px;
    overflow: hidden;
    background: #D9D9D9;
}
.blog-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.blog-card:hover .blog-card__img {
    transform: scale(1.03);
}
.blog-card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
}
.blog-card__topic {
    margin-bottom: 10px;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #767676;
    transition: 0.3s;
}
.blog-card__topic:hover {
    color: #000;
}
.blog-card__title {
    margin-bottom: 14px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.005em;
}
.blog-card__title a {
    font-size: inherit;
    transition: 0.3s;
}
.blog-card__title a:hover {
    opacity: 0.7;
}
.blog-card__excerpt {
    margin-bottom: 20px;
    line-height: 1.6;
    color: #444;
}
.blog-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    font-size: 13px;
    color: #767676;
}

/* первая статья крупно: фото слева, текст справа */
.blog-card_big {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 0 48px;
    align-items: center;
    padding-bottom: 56px;
    border-bottom: 1px solid #D9D9D9;
}
.blog-card_big .blog-card__photo {
    aspect-ratio: 16 / 10;
    margin-bottom: 0;
}
.blog-card_big .blog-card__body {
    flex: none;
}
.blog-card_big .blog-card__title {
    margin-bottom: 20px;
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: 0.01em;
}
.blog-card_big .blog-card__meta {
    margin-top: 0;
}

/* --- статья --- */
.blog-single__title {
    max-width: 811px;
    line-height: 1.25;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    margin-top: 20px;
    font-size: 13px;
    color: #767676;
}
.article-meta a {
    font-size: 13px;
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.article-hero {
    margin: 0 0 64px;
}
.article-hero__img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
    background: #D9D9D9;
}

.article-layout {
    display: grid;
    grid-template-columns: 283px minmax(0, 760px);
    align-items: start;
}
.article-layout_no-toc .article-body {
    grid-column: 2;
}

/* оглавление: слева, закреплено при прокрутке */
.article-toc {
    position: sticky;
    top: 24px;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding-right: 40px;
}
.article-toc__toggle {
    display: block;
    margin-bottom: 20px;
    padding: 0;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
    background: none;
    border: 0;
    pointer-events: none;
}
.article-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-left: 1px solid #D9D9D9;
}
.article-toc__list a {
    display: block;
    margin-left: -1px;
    padding: 8px 0 8px 20px;
    font-size: 14px;
    line-height: 1.4;
    color: #767676;
    border-left: 1px solid transparent;
    transition: 0.3s;
}
.article-toc__list a:hover {
    color: #000;
}
.article-toc__list a.is-active {
    color: #000;
    border-left-color: #000;
}

/* TL;DR */
.article-tldr {
    margin-bottom: 44px;
    padding: 28px 32px;
    background: #F4F4F4;
}
.article-tldr__label {
    margin-bottom: 14px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.article-tldr ul {
    list-style: none;
}
.article-tldr li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 22px;
    line-height: 1.6;
}
.article-tldr li:last-child {
    margin-bottom: 0;
}
.article-tldr li::before {
    content: '—';
    position: absolute;
    left: 0;
}

/* текст статьи */
.article-text {
    max-width: none;
    width: auto;
    margin-left: 0;
}
.article-text > :first-child {
    margin-top: 0;
}
.article-text p {
    margin-bottom: 20px;
    line-height: 1.7;
    text-align: left;
}
.article-text .hz-lead {
    font-size: 19px;
    line-height: 1.55;
}
.article-text h2 {
    margin: 56px 0 20px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.018em;
    scroll-margin-top: 24px;
}
.article-text h3 {
    margin: 36px 0 12px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    scroll-margin-top: 24px;
}
.article-text h4 {
    margin: 28px 0 10px;
    font-size: 16px;
    font-weight: 600;
}
.article-text strong,
.article-text b {
    font-weight: 600;
}
.article-text ul,
.article-text ol {
    margin: 0 0 20px;
    padding-left: 22px;
}
.article-text li {
    margin-bottom: 8px;
    line-height: 1.65;
}
.article-text li::marker {
    color: #767676;
}
.article-text ol > li::marker {
    font-weight: 600;
}
.article-text blockquote {
    margin: 36px 0;
    padding: 4px 0 4px 28px;
    border-left: 2px solid #000;
}
.article-text blockquote p {
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 1.5;
}
.article-text blockquote p:last-child {
    margin-bottom: 0;
}
.article-text blockquote cite {
    display: block;
    margin-top: 12px;
    font-size: 13px;
    font-style: normal;
    color: #767676;
}
.article-text .hz-callout,
.article-text .is-style-hz-callout,
.article-text .is-style-hz-callout-warn {
    margin: 32px 0;
    padding: 24px 28px;
    background: #F4F4F4;
}
.article-text .hz-callout_warn,
.article-text .is-style-hz-callout-warn {
    background: #fff;
    border: 1px solid #000;
}
.article-text .hz-callout > :last-child,
.article-text [class*="is-style-hz-callout"] > :last-child {
    margin-bottom: 0;
}
.article-text table {
    width: 100%;
    margin: 32px 0;
    border-collapse: collapse;
    font-size: 14px;
    line-height: 1.5;
}
.article-text figure.wp-block-table table {
    margin: 0;
}
.article-text th {
    padding: 0 16px 12px 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
    vertical-align: bottom;
    color: #767676;
    border-bottom: 1px solid #000;
}
.article-text td {
    padding: 14px 16px 14px 0;
    vertical-align: top;
    border-bottom: 1px solid #D9D9D9;
}
.article-text figure {
    margin: 40px 0;
}
.article-text figcaption {
    margin-top: 10px;
    font-size: 13px;
    color: #767676;
}
.article-text hr {
    margin: 48px 0;
    border: 0;
    border-top: 1px solid #D9D9D9;
}

/* автор */
.article-author {
    display: flex;
    gap: 24px;
    margin-top: 64px;
    padding-top: 32px;
    border-top: 1px solid #000;
}
.article-author__photo {
    flex: 0 0 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 32px;
    font-weight: 600;
    background: #F4F4F4;
}
.article-author__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.article-author__label {
    margin-bottom: 6px;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
}
.article-author__name {
    font-size: 18px;
    font-weight: 600;
}
.article-author__role {
    margin-top: 4px;
    font-size: 14px;
    color: #767676;
}
.article-author__bio {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.6;
}
.article-author__link {
    display: inline-block;
    margin-top: 12px;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* похожие статьи */
.article-related {
    padding: 40px 0 96px;
}
.article-related__title {
    margin-bottom: 44px;
}

@media screen and (max-width: 1250px) {
    .article-layout {
        grid-template-columns: 240px minmax(0, 1fr);
    }
    .article-toc {
        padding-right: 32px;
    }
    .blog-card_big .blog-card__title {
        font-size: 24px;
    }
}

@media screen and (max-width: 992px) {
    .blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px 24px;
    }
    .blog-card_big {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0 32px;
    }
    .blog-grid_related .blog-card:nth-child(3) {
        display: none;
    }

    /* на статье подпись «Blog» дублирует хлебные крошки */
    .inner-page_blog-single .inner-page-first-col {
        display: none;
    }
    .article-hero {
        margin-bottom: 40px;
    }
    .article-layout {
        grid-template-columns: minmax(0, 1fr);
    }
    .article-layout_no-toc .article-body {
        grid-column: auto;
    }
    /* оглавление сворачивается в кнопку над текстом */
    .article-toc {
        position: static;
        max-height: none;
        margin-bottom: 32px;
        padding: 0;
        border: 1px solid #D9D9D9;
    }
    .article-toc__toggle {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 16px 48px 16px 20px;
        text-align: left;
        color: #000;
        cursor: pointer;
        pointer-events: auto;
    }
    .article-toc__toggle::after {
        content: '';
        position: absolute;
        right: 22px;
        top: 50%;
        width: 8px;
        height: 8px;
        margin-top: -6px;
        border-right: 1.5px solid #000;
        border-bottom: 1.5px solid #000;
        transform: rotate(45deg);
        transition: 0.3s;
    }
    .article-toc.is-open .article-toc__toggle::after {
        margin-top: -2px;
        transform: rotate(-135deg);
    }
    .article-toc__list {
        display: none;
        margin: 0 20px 12px;
    }
    .article-toc.is-open .article-toc__list {
        display: block;
    }
}

@media screen and (max-width: 767px) {
    .blog-list {
        padding: 24px 0 64px;
    }
    .blog-topics {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-bottom: 32px;
    }
    .blog-topics__list {
        gap: 24px;
        margin: 0 -3vw;
        padding: 0 3vw;
    }
    .blog-topics__link {
        font-size: 14px;
        padding-bottom: 14px;
    }
    .blog-topics__count {
        order: -1;
        padding-bottom: 0;
        font-size: 13px;
    }
    .blog-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 40px;
    }
    .blog-card_big {
        grid-template-columns: minmax(0, 1fr);
        padding-bottom: 40px;
    }
    .blog-card_big .blog-card__photo {
        aspect-ratio: 3 / 2;
        margin-bottom: 20px;
    }
    .blog-card_big .blog-card__title {
        font-size: 22px;
    }
    .blog-grid_related .blog-card:nth-child(3) {
        display: flex;
    }

    .article-hero__img {
        height: 56vw;
    }
    .article-tldr {
        padding: 20px;
    }
    .article-text h2 {
        margin-top: 44px;
        font-size: 21px;
    }
    .article-text blockquote {
        padding-left: 20px;
    }
    .article-text blockquote p {
        font-size: 18px;
    }
    /* широкие таблицы прокручиваются вбок */
    .article-text table {
        display: block;
        overflow-x: auto;
    }
    .article-text td,
    .article-text th {
        min-width: 130px;
    }
    .article-text .hz-callout,
    .article-text [class*="is-style-hz-callout"] {
        padding: 20px;
    }
    .article-author {
        gap: 16px;
    }
    .article-author__photo {
        flex-basis: 64px;
        height: 64px;
        font-size: 24px;
    }
    .article-related {
        padding: 24px 0 64px;
    }
    .article-related__title {
        margin-bottom: 29px;
    }
}


/* Блог: верх страницы (2026-09, вторая версия).
   Крупный заголовок слева, вводный текст справа — по одной линии с текстом
   крупной карточки ниже (те же колонки 7fr / 5fr). Подписи «Blog» сбоку нет. */
.blog-hero {
    padding: 96px 0 64px;
}
.blog-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: 48px;
    align-items: end;
}
.blog-hero__title {
    font-size: 64px;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.01em;
}
.blog-hero .hz-crumbs {
    margin-bottom: 24px;
}
.blog-hero__text {
    max-width: 392px;
    padding-bottom: 6px;
    font-size: 16px;
    line-height: 1.6;
    color: #767676;
}
.blog-hero__text p {
    font-size: inherit;
    color: inherit;
    margin-bottom: 12px;
}
.blog-hero__text p:last-child {
    margin-bottom: 0;
}
.blog-list {
    padding-top: 0;
}

@media screen and (max-width: 1250px) {
    .blog-hero__title {
        font-size: 56px;
    }
}

@media screen and (max-width: 992px) {
    .blog-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 32px;
    }
    .blog-hero__title {
        font-size: 48px;
    }
}

@media screen and (max-width: 767px) {
    .blog-hero {
        padding: 48px 0 32px;
    }
    .blog-hero__grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .blog-hero__title {
        font-size: 40px;
    }
    .blog-hero__text {
        margin-top: 16px;
        padding-bottom: 0;
    }
}


/* статья: верх как у списка блога (96px), без старого отступа под подпись сбоку */
.inner-page_blog-single {
    padding-top: 96px;
}
.inner-page_blog-single .blog-single {
    padding-top: 0;
}
@media screen and (max-width: 767px) {
    .inner-page_blog-single {
        padding-top: 48px;
    }
}


/* Статья на «резиновой» сетке: заголовок и текст по второй колонке футера
   («Real Estate For Sale», 36.33% контейнера) — как FAQ на главной; оглавление слева. */
@media screen and (min-width: 993px) {
    .hz-fluid .inner-page_blog-single .inner-page-first-col {
        flex: 0 0 36.33%;
        min-width: 36.33%;
    }
    .hz-fluid .article-layout {
        grid-template-columns: 36.33% minmax(0, 760px);
    }
}


/* Блог: вводный текст сразу рядом с заголовком (по нижней линии);
   если не помещается — переносится под заголовок */
.blog-hero__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 24px 56px;
}
.blog-hero__head,
.blog-hero__grid > .blog-hero__title {
    flex: 0 1 auto;
    min-width: 0;
}
.blog-hero__text {
    flex: 0 1 392px;
    padding-bottom: 8px;
}
@media screen and (max-width: 992px) {
    .blog-hero__grid {
        gap: 20px 32px;
    }
}
@media screen and (max-width: 767px) {
    .blog-hero__grid {
        display: block;
    }
}


/* ==========================================================
   Служебные страницы на «резиновой» сетке (2026-09):
   About, Contacts, List with us, Favorites (+ пустое избранное).
   База старой сетки — контейнер 1236px, левая колонка 283px (22.9%),
   колонка контента 953px (77.1%). Жёсткие размеры пересчитаны в доли.
   --hz-c — ширина контейнера на hz-fluid; через неё считаются поля форм,
   чтобы не зависеть от разметки Contact Form 7 (обёртки span/p).
   Форма в окне Let's talk (.header-modal) не затрагивается: правила
   форм ограничены .inner-page.
   ========================================================== */
@media screen and (min-width: 993px) {
    .hz-fluid {
        --hz-c: min(100vw - 80px, 1360px);
    }

    /* левая колонка с вертикальной подписью */
    .hz-fluid .inner-page-first-col {
        flex: 0 0 22.9%;
        min-width: 22.9%;
    }

    /* About: видео 381x254 из 953, текст с отступом 335 и шириной 548 из 953 */
    .hz-fluid .about-video {
        width: 39.98%;
        height: auto;
        aspect-ratio: 381 / 254;
    }
    .hz-fluid .about__desc {
        max-width: 57.5%;
        margin-left: 35.15%;
    }
    .hz-fluid .advantages-grid__about {
        max-width: 77.1%;
    }
    /* Services: контейнер шире обычного на 20px (у пунктов поля по 10px) */
    .hz-fluid .services .container {
        width: calc(100% - 60px);
        max-width: 1380px;
    }
    .hz-fluid .services-wrap {
        margin-left: calc(22.9% - 4.58px);
    }

    /* Формы Contacts и List with us: поле 287, сообщение 625 из 953 */
    .hz-fluid .inner-page .inner-form p {
        max-width: none;
    }
    .hz-fluid .inner-page .inner-form__input {
        width: calc(var(--hz-c) * 0.2321);
    }
    .hz-fluid .inner-page .inner-form__area {
        width: calc(var(--hz-c) * 0.5057);
        /* как раньше: остаток строки занят отступом, кнопка уходит на новую строку */
        margin-right: calc(var(--hz-c) * 0.25);
    }

    /* блок менеджера на Contacts и List with us — по левому краю контента */
    .hz-fluid .request-sec-wrap_contacts {
        margin-left: 22.9%;
    }

    /* Favorites: карточки на всю ширину колонки сетки, отступы как в каталоге */
    .hz-fluid .favorite-saved-grid {
        gap: 55px 32px;
    }
    .hz-fluid .favorite-saved-grid .prod-card {
        max-width: none;
    }
    .hz-fluid .favorite__text {
        margin-left: 22.98%;
    }
}

/* Favorites на любой ширине: карточка без боковых полей слайдера */
.favorite-saved-grid .prod-card {
    margin: 0;
}

/* List with us: строка чекбоксов (628 + 150px) шире колонки на 993-1250px
   и растягивала страницу вбок — ограничена шириной колонки */
@media screen and (min-width: 993px) {
    .hz-fluid .inner-page-content {
        min-width: 0;
    }
    .hz-fluid .inner-page .inner-form-flex {
        width: auto;
        max-width: 100%;
        margin-right: 0;
    }
}

/* Favorites: подсказка к цене у карточек в правой колонке открывается влево,
   иначе выходит за край экрана (3 колонки от 993px, 2 колонки на 768-992px) */
@media screen and (min-width: 993px) {
    .favorite-saved-grid .prod-card:nth-child(3n) .prod-card-task__modal {
        left: auto;
        right: 50%;
    }
}
@media screen and (min-width: 768px) and (max-width: 992px) {
    .favorite-saved-grid .prod-card:nth-child(2n) .prod-card-task__modal {
        left: auto;
        right: 50%;
    }
}


/* ==========================================================
   Резиновая сетка на всём сайте продажи (обновление 03, 2026-09):
   каталог и страницы фильтров, карточка объекта, калькулятор, Sitemap,
   обычные страницы (Privacy и т.п.). База старой сетки — контейнер 1236px.
   ========================================================== */

/* Similar Properties: заголовок слева, стрелки справа (как Featured на главной).
   Раньше стрелок в шаблоне не было: слайдер нельзя было пролистать мышкой,
   а при одном похожем объекте main.js падал с ошибкой. */
.similar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 32px;
}
/* на компьютере у карточек слайдера поля по 15px — заголовок и стрелки по их краю */
@media screen and (min-width: 993px) {
    .similar-head {
        margin: 0 15px 44px;
    }
}
.similar-head .similar__title {
    margin: 0;
}
.similar-head .slider-arrows {
    margin: 0;
    flex-shrink: 0;
}

@media screen and (min-width: 993px) {
    /* Каталог и фильтры: карточки на всю ширину колонки сетки */
    .hz-fluid .catmain-grid .prod-card {
        max-width: none;
    }
    .hz-fluid .catmain-prodfilter {
        margin-left: 21.04%;
    }
    /* Property Tag на страницах типа стоит на месте поля TYPE (вторая колонка):
       ширина 229px была под старую сетку, теперь по сетке из 5 полей с шагом 12px.
       margin у полей плагина обнулён (!important), поэтому сдвиг через left */
    .hz-fluid .offer-filter-content_archive .wpc-filters-section.wpc-filter-real-estate_property_tag,
    .hz-fluid .offer-filter .offer-filter-content_archive .wpc-horizontal-layout .wpc-filters-section.wpc-filter-real-estate_property_tag {
        min-width: 0 !important;
        max-width: none; /* 2026-10 (11): у плагина 19% — поле было уже колонки */
        width: calc((100% - 48px) / 5);
        left: calc((100% + 12px) / 5);
        margin-left: 0 !important;
    }
    /* SEO-текст под каталогом — по колонке «Real Estate For Sale» футера (36.33%),
       как FAQ на главной и текст статьи в блоге */
    .hz-fluid .faq-sec_filter .faq-sec-block {
        flex: 1 1 auto;
        max-width: none;
        margin-left: 36.33%;
    }
    .hz-fluid .faq-sec_filter .faq-sec-edge-content {
        max-width: 813px;
    }

    /* Карточка объекта: галерея 3 колонки (крупное фото на две), высота рядов
       в пропорции 392:232, как было */
    .hz-fluid .gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: repeat(2, calc((var(--hz-c) - 60px) / 3 * 0.5918));
    }
    /* колонка описания = две колонки галереи, менеджер = третья */
    .hz-fluid .prod-info-col {
        flex: 0 0 calc((100% - 60px) * 2 / 3 + 30px);
        max-width: none;
        margin-right: 30px;
    }
    .hz-fluid .prod-info-sidebar {
        flex: 0 0 calc((100% - 60px) / 3);
        max-width: none;
    }
    .hz-fluid .prod-info__title {
        max-width: 79.2%;
    }
    .hz-fluid .prod-info-block {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .hz-fluid .prod-info-features-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }
    /* похожие объекты: как Featured на главной (поля карточек по 15px) */
    .hz-fluid .similar .container {
        width: calc(100% - 50px);
        max-width: 1390px;
    }
    .hz-fluid .similar .prod-card {
        max-width: none;
    }

    /* Sitemap: плитки типов растут, сохраняя пропорции 598:355 */
    .hz-fluid .sitemap-page-card__photo {
        height: auto;
        aspect-ratio: 598 / 355;
    }

    /* Страница калькулятора: заголовок и текст по колонке контента (22.9%) */
    .hz-fluid .inner-page_calculator ~ .calc-sec .calc-head {
        align-items: flex-start;
        padding-left: 22.9%;
    }
}

/* На странице калькулятора колонки формы и расчёта прежние (457:582),
   правило главной (левая колонка до текста по центру) здесь не подходит */
@media screen and (min-width: 1251px) {
    .hz-fluid .inner-page_calculator ~ .calc-sec .calc-grid {
        grid-template-columns: minmax(0, 457fr) 1px minmax(0, 582fr);
        column-gap: 48px;
    }
}

/* Каталог: подсказка к цене у карточек в правой колонке открывается влево
   (как в Избранном), иначе на 993-1250px страница прокручивается вбок */
@media screen and (min-width: 993px) {
    .catmain-grid .prod-card:nth-child(3n) .prod-card-task__modal {
        left: auto;
        right: 50%;
    }
}
@media screen and (min-width: 768px) and (max-width: 992px) {
    .catmain-grid .prod-card:nth-child(2n) .prod-card-task__modal {
        left: auto;
        right: 50%;
    }
}


/* Фильтр каталога: класс wpc-filter-real-estate_property_tag плагин ставит и на поле,
   и на его внутренний блок (.wpc-filter-content). Старое правило делало absolute + сдвиг
   и внутреннему блоку — внутри поля получалась узкая коробка со сдвигом. Внутренний блок — в поток. */
.offer-filter-content_archive .wpc-filter-content.wpc-filter-real-estate_property_tag,
.offer-filter-content_archive .wpc-filter-content.wpc-filter-real-estate_rent_property_tag {
    position: static !important;
    min-width: 0 !important;
    width: auto;
    left: auto;
    bottom: auto !important;
    margin-left: 0 !important;
}


/* Карточка объекта (каталог, Featured на главной, Избранное), 2026-09:
   плотнее по вертикали. Было: фото→заголовок 21, заголовок→цена 15,
   цена→линия 15, линия→характеристики 18px. Название держится вместе с ценой,
   характеристики — с линией. */
.prod-card__photo {
    margin-bottom: 16px;
}
.prod-card__title {
    margin-bottom: 8px;
}
.prod-card-wrap {
    padding-bottom: 10px;
    margin-bottom: 12px;
}


/* ==========================================================
   Низ каталога и новый футер (2026-09)
   ========================================================== */

/* Сетка «заголовок слева / содержимое справа»: левая колонка 36.33% —
   та же линия, что FAQ на главной, текст статьи в блоге и колонки футера */
.hz-split {
    display: grid;
    grid-template-columns: 36.33% minmax(0, 1fr);
    align-items: start;
}
.hz-split__head {
    padding-right: 40px;
}
.hz-split__title {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.018em;
}
@media screen and (max-width: 992px) {
    .hz-split {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 28px;
    }
    .hz-split__head {
        padding-right: 0;
    }
}

/* Кнопки: чёрная (главная) и в рамке */
.hz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 24px;
    border: 1px solid #000;
    background: transparent;
    color: #000;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.hz-btn:hover {
    background: #000;
    color: #fff;
}
.hz-btn_dark,
.hz-btn_main {
    background: #000;
    color: #fff;
}
.hz-btn_dark:hover,
.hz-btn_main:hover {
    background: #606060;
    border-color: #606060;
}

/* Калькулятор в каталоге: заголовок и текст в левой колонке, рамка справа */
.calc-sec_split .calc-head {
    align-items: flex-start;
    gap: 20px;
    padding-left: 0 !important;
    margin-bottom: 32px;
}
.calc-sec_split .calc__title {
    font-size: 24px;
    line-height: 1.25;
}
.calc-sec_split .calc__intro {
    text-align: left;
}
@media screen and (min-width: 993px) {
    .calc-sec_split .calc {
        display: grid;
        grid-template-columns: 36.33% minmax(0, 1fr);
        align-items: start;
    }
    .calc-sec_split .calc-head {
        padding-right: 40px;
        margin-bottom: 0;
    }
    .calc-sec_split .calc-head > * {
        max-width: 360px;
    }
    .hz-fluid .calc-sec_split .calc-grid {
        grid-template-columns: minmax(0, 457fr) 1px minmax(0, 582fr);
        column-gap: 40px;
    }
    .calc-sec_split .calc-frame {
        padding: 48px 44px 40px;
    }
    .calc-sec_split .calc-grid::before {
        margin: -48px 0 -40px;
    }
}
/* на 993-1250px справа мало места: форма и расчёт друг под другом, как на планшете */
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .calc-sec_split .calc-frame {
        min-height: 0;
        padding: 32px 28px;
    }
    .hz-fluid .calc-sec_split .calc-grid,
    .calc-sec_split .calc-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        grid-template-areas:
            "cur"
            "form"
            "result";
        row-gap: 20px;
    }
    .calc-sec_split .calc-grid::before {
        display: none;
    }
    .calc-sec_split .calc-col_result {
        margin-top: 12px;
    }
}

/* «Не нашли подходящий объект?» — серая плашка на всю ширину */
.hz-cta {
    background: #F4F4F4;
    padding: 64px 0;
}
.hz-cta__text {
    max-width: 560px;
    font-size: 18px;
    line-height: 1.45;
    margin-bottom: 36px;
}
.hz-cta__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px 40px;
}
.hz-cta__person {
    display: flex;
    align-items: center;
    gap: 16px;
}
.hz-cta__photo {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #D9D9D9 no-repeat center center / cover;
}
.hz-cta__name {
    font-size: 16px;
}
.hz-cta__role,
.hz-cta__langs {
    margin-top: 4px;
    font-size: 13px;
    color: #767676;
}
.hz-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
@media screen and (max-width: 767px) {
    .hz-cta {
        padding: 48px 0;
    }
    .hz-cta__text {
        font-size: 16px;
        margin-bottom: 28px;
    }
    .hz-cta__actions {
        width: 100%;
    }
    .hz-cta__actions .hz-btn {
        flex: 1 1 auto;
    }
}

/* FAQ в каталоге: заголовок слева, плашки справа (отступ блока FAQ главной отменён) */
.faq-sec_home.faq-sec_catalog .faq-home {
    margin-left: 0;
}
.faq-sec_catalog {
    padding-top: 72px;
}
.faq-sec_catalog .faq-home__list {
    margin-bottom: 56px;
}

/* ---------- Футер ---------- */
.hz-footer {
    padding: 64px 0 28px;
    border-top: 1px solid #000;
    font-size: 15px;
    --ft-text: #000;
    --ft-muted: #767676;
    --ft-line: #D9D9D9;
}
.hz-footer_dark {
    background: #111;
    color: #fff;
    border-top: 0;
    --ft-text: #fff;
    --ft-muted: #8C8C8C;
    --ft-line: #2E2E2E;
}
.hz-footer a {
    color: var(--ft-text);
    transition: opacity 0.3s;
}
.hz-footer a:hover {
    opacity: 0.6;
}
.hz-footer-top,
.hz-footer-cols {
    display: grid;
    grid-template-columns: 36.33% minmax(0, 1fr);
}
.hz-footer-top {
    align-items: start;
    padding-bottom: 48px;
    border-bottom: 1px solid var(--ft-line);
}
.hz-footer__logo {
    display: inline-block;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.06em;
}
.hz-footer__tagline {
    max-width: 340px;
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--ft-muted);
}
.hz-footer__talk-title,
.hz-footer__title {
    margin-bottom: 20px;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ft-muted);
}
.hz-footer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.hz-footer__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 28px;
    margin-top: 18px;
    font-size: 13px;
    color: var(--ft-muted);
}
.hz-footer_dark .hz-btn {
    border-color: #fff;
    color: #fff;
}
.hz-footer_dark .hz-btn:hover {
    background: #fff;
    color: #111;
    opacity: 1;
}
.hz-footer_dark .hz-btn_main {
    background: #fff;
    color: #111;
}
.hz-footer_dark .hz-btn_main:hover {
    background: #D9D9D9;
    border-color: #D9D9D9;
}
.hz-footer .hz-btn:hover {
    opacity: 1;
}
.hz-footer-cols {
    grid-template-columns: 36.33% repeat(4, minmax(0, 1fr));
    column-gap: 24px;
    padding: 48px 0;
}
.hz-footer-cols > .hz-footer-col:first-child {
    margin-right: -24px;
}
.hz-footer-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.hz-footer-list li {
    margin: 0;
}
.hz-footer-list a,
.hz-footer-list__text {
    overflow-wrap: anywhere;
}
.hz-footer-list__text {
    color: var(--ft-muted);
    font-size: 14px;
    line-height: 1.45;
}
.hz-footer-social {
    display: flex;
    gap: 20px;
    margin-top: 8px !important;
}
.hz-footer-edge {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px 32px;
    padding-top: 24px;
    border-top: 1px solid var(--ft-line);
    font-size: 13px;
    color: var(--ft-muted);
}
.hz-footer-edge a {
    color: var(--ft-muted);
}
.hz-footer-edge__legal,
.hz-footer-edge__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
}

@media screen and (max-width: 1250px) {
    .hz-footer-cols {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .hz-footer-cols > .hz-footer-col:first-child {
        margin-right: 0;
    }
    .hz-footer-top {
        grid-template-columns: 40% minmax(0, 1fr);
    }
}
@media screen and (max-width: 992px) {
    .hz-footer {
        padding-top: 48px;
    }
    .hz-footer-top {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 36px;
        padding-bottom: 36px;
    }
    .hz-footer-cols {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 36px;
        padding: 36px 0;
    }
}
@media screen and (max-width: 576px) {
    .hz-footer-cols {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hz-footer-cols > .hz-footer-col_contacts {
        grid-column: 1 / -1;
    }
    .hz-footer__actions .hz-btn {
        flex: 1 1 auto;
    }
    .hz-footer-edge {
        flex-direction: column;
    }
}

/* футер: списки без маркеров; цвет текста кнопок сильнее общего цвета ссылок футера */
.hz-footer ul,
.hz-footer li {
    list-style: none;
    padding-left: 0;
}
.hz-footer .hz-btn_main {
    color: #fff;
}
.hz-footer_dark .hz-btn_main {
    color: #111;
}
.hz-footer-edge a {
    font-size: inherit;
}
/* калькулятор в каталоге уже, чем на главной: у поля цены короткая подпись «IDR» */
@media screen and (min-width: 993px) {
    .calc-sec_split .calc-price__label-long {
        display: none;
    }
}

/* Плашка «Can't find…»: кнопки под менеджером (в одну строку с ним не помещались);
   тёмный вариант — вместе с тёмным футером */
.hz-cta__row {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 28px;
}
.hz-cta_dark {
    background: #111;
    color: #fff;
}
.hz-cta_dark .hz-cta__role,
.hz-cta_dark .hz-cta__langs {
    color: #8C8C8C;
}
.hz-cta_dark .hz-btn {
    border-color: #fff;
    color: #fff;
}
.hz-cta_dark .hz-btn:hover {
    background: #fff;
    color: #111;
}
.hz-cta_dark .hz-btn_dark {
    background: #fff;
    color: #111;
}
.hz-cta_dark .hz-btn_dark:hover {
    background: #D9D9D9;
    border-color: #D9D9D9;
}
/* чёрная плашка и чёрный футер не должны слипаться: между ними FAQ, но если FAQ нет
   (вторая страница списка) — отступ-разделитель */
.hz-cta_dark + .hz-footer_dark {
    border-top: 1px solid #2E2E2E;
}

.hz-cta_dark .hz-split__title,
.hz-cta_dark .hz-cta__text,
.hz-cta_dark .hz-cta__name {
    color: #fff;
}


/* ==========================================================
   Вторичная ось сайта = левый край второй колонки карточек каталога (2026-09).
   Сетка карточек: 3 колонки с зазором 32px, вторая начинается на (100% + 32px) / 3
   ширины контейнера (на 1440: 464px от края контейнера; раньше ось была 36.33% = 494px
   и не совпадала с карточками). По этой линии: пагинация (ширина одной карточки,
   по средней), калькулятор / «Can't find…» / FAQ / текст в каталоге, колонки футера,
   FAQ на главной, текст статьи в блоге.
   ========================================================== */
@media screen and (min-width: 993px) {
    .hz-fluid .catmain-pagination {
        max-width: calc((100% - 64px) / 3);
    }
    .hz-split,
    .calc-sec_split .calc,
    .hz-footer-top {
        grid-template-columns: calc((100% + 32px) / 3) minmax(0, 1fr);
    }
    .hz-fluid .faq-sec_home .faq-home {
        margin-left: calc((100% + 32px) / 3);
    }
    .hz-fluid .faq-sec_home.faq-sec_catalog .faq-home {
        margin-left: 0;
    }
    .hz-fluid .inner-page_blog-single .inner-page-first-col {
        flex: 0 0 calc((100% + 32px) / 3);
        min-width: calc((100% + 32px) / 3);
    }
    .hz-fluid .article-layout {
        grid-template-columns: calc((100% + 32px) / 3) minmax(0, 760px);
    }
}
@media screen and (min-width: 993px) {
    /* колонки футера: вторая начинается по второй карточке */
    .hz-footer-cols {
        grid-template-columns: calc((100% - 64px) / 3 + 8px) repeat(4, minmax(0, 1fr));
        column-gap: 24px;
    }
    .hz-footer-cols > .hz-footer-col:first-child {
        margin-right: 0;
    }
}
@media screen and (min-width: 1251px) {
    /* калькулятор в каталоге занимает 2-ю и 3-ю колонки; разделитель формы и расчёта —
       ровно в зазоре между ними (поля рамки слева и справа равные, колонки 1:1) */
    .hz-fluid .calc-sec_split .calc-grid {
        grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
        column-gap: 44px;
    }
    .calc-sec_split .calc-frame {
        padding-left: 44px;
        padding-right: 44px;
    }
}

/* Карточки каталога на 993-1100px: колонка уже содержимого (цена + район в одну строку),
   сетка вылезала за контейнер на ~25px. Колонки не шире доли, район переносится под цену. */
@media screen and (min-width: 993px) {
    .hz-fluid .catmain-grid,
    .hz-fluid .favorite-saved-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .hz-fluid .catmain-grid .prod-card-wrap,
    .hz-fluid .favorite-saved-grid .prod-card-wrap {
        flex-wrap: wrap;
        gap: 6px 12px;
    }
}

/* калькулятор в каталоге: колонка расчёта уже, чем на главной —
   «Total to budget» в одну строку, сумма под ней справа */
@media screen and (min-width: 1251px) {
    .calc-sec_split .calc-row_total {
        flex-wrap: wrap;
        row-gap: 4px;
    }
    .calc-sec_split .calc-row_total .calc-row__l {
        white-space: nowrap;
    }
    .calc-sec_split .calc-row_total .calc-row__v {
        margin-left: auto;
    }
    .calc-sec_split .calc-breakdown {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* ==========================================================
   Первый экран каталога (.offer_catalog), 2026-09: раскладка и фото прежние;
   без вкладки BUY, под заголовком пункты-преимущества, видео — иконка меньше с подписью.
   Высота блоков подобрана так, что панель фильтра стоит там же, где раньше.
   ========================================================== */
.offer_catalog .offer-filter-label {
    display: none;
}
.offer_catalog .offer__video_label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 44px;
}
.offer_catalog .offer__video_label svg {
    width: 40px;
    height: 40px;
}
.offer__video-label {
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}
.offer-points {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
    margin-top: 19px;
    color: #fff;
    font-size: 16px;
}
.offer-points li {
    position: relative;
    padding-left: 22px;
    list-style: none;
}
/* галочка */
.offer-points li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 50%;
    width: 10px;
    height: 5px;
    margin-top: -5px;
    border-left: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
    transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
    .offer_catalog .offer__video_label {
        margin-bottom: 24px;
    }
    .offer-points {
        font-size: 14px;
        margin-top: -46px;
        margin-bottom: 40px;
    }
}

/* Первый экран каталога: заголовок с преимуществами ближе к фильтру (панель на прежнем месте),
   второй ряд фильтра (PROPERTY TAG / SEARCH / CLEAR) ближе к первому — зазор 12px, как между полями */
@media screen and (min-width: 993px) {
    .offer_catalog .offer-wrap {
        padding-top: 286px;
    }
    .offer_catalog .offer-filter {
        margin-top: 44px;
    }
    .offer_catalog .wpc-filter-layout-submit-button {
        margin-top: 2px;
    }
    .offer_catalog + .catmain {
        padding-top: 163px;
    }
}

/* Каталог: поля фильтра выше в белой панели (сверху было 47px белого) */
@media screen and (min-width: 993px) {
    .offer_catalog .offer-filter-content.active {
        padding-top: 28px;
    }
}

/* Каталог: фото заканчивается по нижнему краю первого ряда полей фильтра
   (панель 153px: отступ сверху 28 + поле 42 = 70px на фото, остальное ниже) */
@media screen and (min-width: 993px) {
    .offer.offer_catalog {
        height: auto;
        display: flow-root; /* отрицательный отступ панели не уходит за пределы секции */
    }
    .offer_catalog .offer-filter {
        margin-bottom: -83px;
    }
    .offer_catalog + .catmain {
        padding-top: 198px;
    }
}


/* ==========================================================
   Contacts (2026-09) и общие блоки страниц доверия.
   .hz-hero — верх страницы как у блога: крупный H1, текст рядом справа.
   .hz-paths — три карточки-пути по сетке карточек каталога (3 колонки, зазор 32px).
   Секции ниже — .hz-split (левая колонка = вторичная ось сайта): слева заголовок
   или прямые каналы, справа форма / шаги / офис. Правая колонка делится пополам —
   половины совпадают со 2-й и 3-й карточками каталога.
   ========================================================== */
.hz-hero {
    padding: 96px 0 0;
}
.hz-hero__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 24px 56px;
    margin-bottom: 56px;
}
.hz-hero__title {
    flex: 0 1 auto;
    min-width: 0;
    font-size: 64px;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.01em;
}
.hz-hero__text {
    flex: 0 1 392px;
    padding-bottom: 8px;
    font-size: 16px;
    line-height: 1.6;
    color: #767676;
}

/* три пути */
.hz-paths {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}
.hz-paths__item {
    display: flex;
    flex-direction: column;
    padding: 28px 28px 26px;
    border: 1px solid #D9D9D9;
    color: #000;
    transition: border-color 0.3s;
}
.hz-paths__item:hover,
.hz-paths__item.is-active {
    border-color: #000;
}
.hz-paths__label {
    margin-bottom: 28px;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
}
.hz-paths__title {
    margin-bottom: 12px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}
.hz-paths__text {
    flex: 1 0 auto;
    margin-bottom: 28px;
    font-size: 15px;
    line-height: 1.55;
    color: #767676;
}
.hz-paths__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.hz-paths__arrow {
    transition: transform 0.3s;
}
.hz-paths__item:hover .hz-paths__arrow {
    transform: translateX(4px);
}

/* форма и прямые каналы */
.hz-contact {
    padding-top: 112px;
    scroll-margin-top: 24px;
}
.hz-channels__person {
    margin: 32px 0 28px;
}
.hz-channels__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 36px;
}
.hz-channels__list {
    margin: 0;
    border-top: 1px solid #D9D9D9;
}
.hz-channels__row {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    column-gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #D9D9D9;
}
.hz-channels__k {
    padding-top: 3px;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
}
.hz-channels__v {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.hz-channels__v a {
    color: #000;
}
.hz-channels__v a:hover {
    opacity: 0.6;
}
.hz-channels__note {
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.5;
    color: #767676;
}
.hz-channels__note a {
    color: #000;
    text-decoration: underline;
}

.hz-contact__form-head {
    margin-bottom: 32px;
}
.hz-contact__form-text {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.5;
    color: #767676;
}
.hz-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 32px;
}
.hz-field {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    margin: 0;
}
.hz-field_wide,
.hz-form__submit {
    grid-column: 1 / -1;
}
.hz-field__label {
    font-size: 13px;
    color: #767676;
}
.hz-field__hint {
    margin-top: -2px;
    font-size: 13px;
    color: #B1B1B1;
}
.hz-form .wpcf7-form-control-wrap {
    display: block;
}
.hz-form input[type="text"],
.hz-form input[type="email"],
.hz-form input[type="tel"],
.hz-form input[type="number"],
.hz-form input[type="url"],
.hz-form textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #D9D9D9;
    border-radius: 0;
    background: #fff;
    font-family: inherit;
    font-size: 16px;
    color: #000;
    box-shadow: none;
    transition: border-color 0.2s;
}
.hz-form textarea {
    height: auto;
    min-height: 152px;
    padding: 14px 16px;
    line-height: 1.5;
    resize: vertical;
}
.hz-form input:focus,
.hz-form textarea:focus {
    border-color: #000;
    outline: none;
}
.hz-form ::placeholder {
    color: #B1B1B1;
    opacity: 1;
}
/* «How should we reply?» — переключатель как IDR / USD / EUR и Leasehold / Freehold */
.hz-form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.hz-form .wpcf7-list-item {
    margin: 0;
}
.hz-form .wpcf7-radio label {
    position: relative;
    display: block;
    cursor: pointer;
}
.hz-form .wpcf7-radio input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.hz-form .wpcf7-radio .wpcf7-list-item-label {
    display: inline-flex;
    align-items: center;
    height: 48px;
    padding: 0 18px;
    border: 1px solid #D9D9D9;
    font-size: 14px;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.hz-form .wpcf7-radio label:hover .wpcf7-list-item-label {
    border-color: #000;
}
.hz-form .wpcf7-radio input:checked + .wpcf7-list-item-label {
    border-color: #000;
    background: #000;
    color: #fff;
}
.hz-form .wpcf7-radio input:focus-visible + .wpcf7-list-item-label {
    outline: 2px solid #000;
    outline-offset: 2px;
}
.hz-form__submit {
    display: flex;
    align-items: center;
    gap: 16px;
}
.hz-form .wpcf7-submit {
    height: 48px;
    padding: 0 44px;
    border: 1px solid #000;
    border-radius: 0;
    background: #000;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s, border-color 0.3s;
}
.hz-form .wpcf7-submit:hover {
    background: #606060;
    border-color: #606060;
}
.hz-form .wpcf7-spinner {
    margin: 0;
}
.hz-form .wpcf7-not-valid-tip {
    margin-top: 6px;
    font-size: 13px;
    color: #C0392B;
}
.hz-form .wpcf7-not-valid {
    border-color: #C0392B !important;
}
.hz-contact__form .wpcf7-response-output {
    margin: 24px 0 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #D9D9D9 !important;
    font-size: 14px;
}
.hz-contact__privacy {
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.5;
    color: #767676;
}
.hz-contact__privacy a {
    font-size: inherit;
    color: #767676;
    text-decoration: underline;
}
/* прежняя форма bc6b315 (если новая ещё не создана): поля на всю ширину колонки */
.hz-contact__form .inner-form p {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 32px;
}
.hz-contact__form .inner-form .wpcf7-form-control-wrap {
    flex: 1 1 200px;
}
.hz-contact__form .inner-form__input,
.hz-contact__form .inner-form__area {
    width: 100% !important;
    margin: 0 !important;
}

/* строки «номер + заголовок | текст» (What happens next и другие шаги) */
.hz-next {
    padding-top: 112px;
}
.hz-rows {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #000;
}
.hz-rows__item {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    padding: 24px 0;
    border-bottom: 1px solid #D9D9D9;
    list-style: none;
}
.hz-rows__head {
    display: flex;
    align-items: baseline;
    gap: 20px;
}
.hz-rows__num {
    flex: 0 0 28px;
    font-size: 13px;
    letter-spacing: 0.06em;
    color: #767676;
}
.hz-rows__title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}
.hz-rows__text {
    font-size: 15px;
    line-height: 1.55;
    color: #767676;
}

/* офис и юрлицо */
.hz-office__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    padding-top: 24px;
    border-top: 1px solid #000;
}
.hz-office__k {
    margin-bottom: 12px;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
}
.hz-office__v {
    font-size: 16px;
    line-height: 1.5;
}
.hz-office__note {
    margin-top: 6px;
    font-size: 14px;
    color: #767676;
}
.hz-office__link {
    display: inline-flex;
    gap: 10px;
    margin-top: 16px;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #000;
}
.hz-page-end {
    height: 120px;
}

@media screen and (max-width: 1250px) {
    .hz-hero__title {
        font-size: 56px;
    }
    .hz-paths__item {
        padding: 24px 22px 22px;
    }
}
@media screen and (max-width: 992px) {
    .hz-hero__title {
        font-size: 48px;
    }
    .hz-paths {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .hz-paths__label {
        margin-bottom: 16px;
    }
    .hz-contact,
    .hz-next {
        padding-top: 80px;
    }
    .hz-channels {
        padding-bottom: 24px;
    }
    .hz-page-end {
        height: 88px;
    }
}
@media screen and (max-width: 767px) {
    .hz-hero {
        padding-top: 48px;
    }
    .hz-hero__grid {
        display: block;
        margin-bottom: 36px;
    }
    .hz-hero__title {
        font-size: 40px;
    }
    .hz-hero__text {
        margin-top: 16px;
        padding-bottom: 0;
    }
    .hz-contact,
    .hz-next {
        padding-top: 64px;
    }
    .hz-form,
    .hz-rows__item,
    .hz-office__grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .hz-form {
        gap: 22px;
    }
    .hz-rows__item {
        row-gap: 8px;
    }
    .hz-rows__text {
        padding-left: 48px;
    }
    .hz-office__grid {
        row-gap: 28px;
    }
    .hz-form .wpcf7-submit {
        width: 100%;
    }
    .hz-channels__actions .hz-btn {
        flex: 1 1 auto;
    }
    .hz-page-end {
        height: 64px;
    }
}

/* Contacts на 993-1250px: колонка каналов узкая — подпись над значением (e-mail не рвётся),
   переключатель «How should we reply?» в одну строку */
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-channels__row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 4px;
    }
    .hz-form .wpcf7-radio {
        gap: 6px;
    }
    .hz-form .wpcf7-radio .wpcf7-list-item-label {
        padding: 0 12px;
    }
}

/* «How should we reply?»: кнопки заполняют ширину колонки (по ширине поля телефона слева), в одну строку */
.hz-form .wpcf7-radio {
    flex-wrap: nowrap;
}
.hz-form .wpcf7-radio .wpcf7-list-item {
    flex: 1 1 auto;
}
.hz-form .wpcf7-radio .wpcf7-list-item-label {
    justify-content: center;
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
}

/* ==========================================================
   About us (2026-09): кто мы и цифры, что проверяем (8 пунктов в две колонки),
   How it works (.hz-rows), принципы на серой полосе, команда, лицензии, отзывы, услуги.
   Правая колонка делится пополам — половины совпадают со 2-й и 3-й карточками каталога.
   .hz-ph — пунктирная плашка-заглушка (видна только редактору сайта, см. inc/about.php).
   ========================================================== */
.hz-hero__title_wide {
    max-width: 13.5em;
    margin-bottom: 64px;
}
.hz-about-video {
    position: relative;
    display: block;
    aspect-ratio: 3 / 2;
    background: #8B8B8B no-repeat center center / cover;
}
.hz-about-video__play {
    position: absolute;
    left: 24px;
    bottom: 24px;
    width: 48px;
    height: 48px;
    border: 1px solid #fff;
    border-radius: 50%;
}
.hz-about-video__play::after {
    content: '';
    position: absolute;
    left: 19px;
    top: 15px;
    border-style: solid;
    border-width: 9px 0 9px 14px;
    border-color: transparent transparent transparent #fff;
}
.hz-about-video__label {
    position: absolute;
    left: 88px;
    bottom: 38px;
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}
.hz-about-lead {
    max-width: 760px;
    font-size: 26px;
    line-height: 1.4;
    letter-spacing: -0.005em;
}
.hz-about-text {
    max-width: 640px;
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.6;
    color: #767676;
}
.hz-about-text p {
    margin-bottom: 12px;
    font-size: inherit;
    color: inherit;
}
.hz-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 32px;
    margin: 56px 0 0;
    padding-top: 20px;
    border-top: 1px solid #000;
}
.hz-stats__item {
    min-width: 0;
}
.hz-stats__v {
    font-size: 40px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.01em;
}
.hz-stats__l {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: #767676;
}
.hz-stats__item_ph .hz-stats__v {
    color: #B1B1B1;
}

.hz-split__text {
    max-width: 360px;
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.55;
    color: #767676;
}

/* что проверяем: две колонки */
.hz-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    margin: 0;
    padding: 0;
    border-top: 1px solid #000;
}
.hz-checklist__item {
    position: relative;
    padding: 20px 0 20px 30px;
    border-bottom: 1px solid #D9D9D9;
    list-style: none;
}
.hz-checklist__item::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 26px;
    width: 11px;
    height: 6px;
    border-left: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
    transform: rotate(-45deg);
}
.hz-checklist__title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}
.hz-checklist__text {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: #767676;
}
.hz-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 40px;
    margin-top: 28px;
}
.hz-links__a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #000;
}
.hz-links__a span {
    transition: transform 0.3s;
}
.hz-links__a:hover span {
    transform: translateX(4px);
}

/* принципы: серая полоса на всю ширину, три колонки по сетке карточек */
.hz-band {
    margin-top: 112px;
    padding: 80px 0 88px;
    background: #F4F4F4;
}
.hz-band__title {
    margin-bottom: 48px;
}
.hz-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 32px;
}
.hz-principles__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 20px;
    border-top: 1px solid #000;
}
.hz-principles__title {
    margin: 20px 0 12px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
}
.hz-principles__text {
    font-size: 15px;
    line-height: 1.55;
    color: #767676;
}
.hz-principles__item .hz-links__a {
    margin-top: 20px;
}

/* команда: две карточки в ряд (по 2-й и 3-й колонкам каталога) */
.hz-team {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 32px;
}
.hz-team__item {
    display: flex;
    gap: 20px;
    min-width: 0;
}
.hz-team__photo {
    flex: 0 0 128px;
    height: 160px;
    background: #D9D9D9 no-repeat center center / cover;
}
.hz-team__who {
    min-width: 0;
    padding-top: 4px;
}
.hz-team__name {
    font-size: 18px;
    font-weight: 600;
}
.hz-team__role {
    margin-top: 4px;
    font-size: 14px;
    color: #767676;
}
.hz-team__meta {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.45;
    color: #767676;
}
.hz-team__meta + .hz-team__meta {
    margin-top: 2px;
}
.hz-team__wa {
    margin-top: 14px;
}

/* лицензии: подпись во 2-й колонке, значение в 3-й */
.hz-legal {
    margin: 0;
    border-top: 1px solid #000;
}
.hz-legal__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    padding: 16px 0;
    border-bottom: 1px solid #D9D9D9;
}
.hz-legal__k {
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
    padding-top: 2px;
}
.hz-legal__v {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

/* отзывы */
.hz-rating {
    margin: 16px 0 14px;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
}
.hz-reviews {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.hz-reviews__item {
    margin: 0;
    padding: 0 0 24px;
    border-bottom: 1px solid #D9D9D9;
}
.hz-reviews__text {
    margin: 0;
    font-size: 18px;
    line-height: 1.55;
}
.hz-reviews__who {
    margin-top: 12px;
    font-size: 13px;
    color: #767676;
}

/* услуги: две колонки */
.hz-services {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    margin: 0;
    padding: 0;
    border-top: 1px solid #000;
}
.hz-services__item {
    padding: 18px 0;
    border-bottom: 1px solid #D9D9D9;
    list-style: none;
}
.hz-services__title {
    display: block;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}
.hz-services__text {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.5;
    color: #767676;
}
.hz-before-cta {
    height: 120px;
}

/* плашки-заглушки (видны только редактору) */
.hz-ph {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 20px 22px;
    border: 1px dashed #B1B1B1;
    background: repeating-linear-gradient(135deg, #FAFAFA 0 10px, #F4F4F4 10px 20px);
    font-size: 13px;
    line-height: 1.45;
    color: #767676;
}
.hz-ph__where {
    font-size: 12px;
    color: #B1B1B1;
}
.hz-ph_text {
    margin-top: 20px;
    max-width: 640px;
    min-height: 88px;
}
.hz-ph_team {
    min-height: 160px;
}
.hz-ph_review {
    min-height: 104px;
}
.hz-ph-inline {
    color: #B1B1B1;
}

@media screen and (max-width: 1250px) {
    .hz-about-lead {
        font-size: 22px;
    }
    .hz-stats__v {
        font-size: 32px;
    }
    .hz-team {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media screen and (max-width: 992px) {
    .hz-hero__title_wide {
        margin-bottom: 40px;
    }
    .hz-about-intro .hz-split__head:empty {
        display: none;
    }
    .hz-band {
        margin-top: 80px;
        padding: 64px 0;
    }
    .hz-principles {
        grid-template-columns: minmax(0, 1fr);
    }
    .hz-before-cta {
        height: 88px;
    }
    .hz-team {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media screen and (max-width: 767px) {
    .hz-about-lead {
        font-size: 20px;
    }
    .hz-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hz-checklist,
    .hz-services,
    .hz-team,
    .hz-legal__row {
        grid-template-columns: minmax(0, 1fr);
    }
    .hz-legal__row {
        row-gap: 4px;
    }
    .hz-team__photo {
        flex-basis: 104px;
        height: 130px;
    }
    .hz-before-cta {
        height: 64px;
    }
}

/* ==========================================================
   List with us (2026-09): заголовок с кнопками, 6 карточек «Why list with us» (сетка каталога),
   шаги со сроками, условия и таблица эксклюзив / открытый, документы, форма оценки, FAQ продавцов.
   ========================================================== */
.hz-hero__grid > .hz-hero__title_wide {
    margin-bottom: 0;
}
.hz-hero__side {
    flex: 0 1 392px;
    padding-bottom: 8px;
}
.hz-hero__side .hz-hero__text {
    padding-bottom: 0;
}
.hz-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.hz-hero_lwu .hz-band__title {
    margin-top: 112px;
}
.hz-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}
.hz-cards__item {
    display: flex;
    flex-direction: column;
    padding: 28px 28px 24px;
    border: 1px solid #D9D9D9;
}
.hz-cards__item .hz-paths__text {
    margin-bottom: 0;
}
.hz-rows__time {
    margin-top: 4px;
    font-size: 13px;
    color: #767676;
}
.hz-compare {
    width: 100%;
    margin-top: 40px;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.45;
}
.hz-compare th,
.hz-compare td {
    width: 25%;
    padding: 14px 16px 14px 0;
    border-bottom: 1px solid #D9D9D9;
    text-align: left;
    vertical-align: top;
    font-weight: 400;
}
.hz-compare thead th {
    border-bottom-color: #000;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
}
.hz-compare tbody th {
    width: 50%;
}
.hz-compare_ph td {
    color: #B1B1B1;
}
.hz-ph_note {
    margin-top: 16px;
}
.hz-contact_lwu .hz-channels__person {
    margin-top: 28px;
}
@media screen and (max-width: 1250px) {
    .hz-cards__item {
        padding: 24px 22px 22px;
    }
}
@media screen and (max-width: 992px) {
    .hz-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
    .hz-hero_lwu .hz-band__title {
        margin-top: 80px;
    }
}
@media screen and (max-width: 767px) {
    .hz-cards {
        grid-template-columns: minmax(0, 1fr);
    }
    .hz-hero__side {
        margin-top: 16px;
    }
    .hz-hero__actions .hz-btn {
        flex: 1 1 auto;
    }
    .hz-hero_lwu .hz-band__title {
        margin-top: 64px;
    }
    .hz-compare th,
    .hz-compare td {
        padding-right: 10px;
        font-size: 14px;
    }
    .hz-compare tbody th {
        width: 40%;
    }
    .hz-compare th + th,
    .hz-compare td {
        width: 30%;
    }
}

/* переключатели в формах на телефоне: много вариантов (тип объекта) — переносятся на вторую строку */
@media screen and (max-width: 767px) {
    .hz-form .wpcf7-radio {
        flex-wrap: wrap;
    }
    .hz-form .wpcf7-radio .wpcf7-list-item {
        flex: 1 1 28%;
    }
}

/* ==========================================================
   Favorites (2026-09): панель действий (отправить список, ссылка), пустое состояние с плитками типов.
   ========================================================== */
.hz-hero_fav .hz-hero__grid {
    margin-bottom: 48px;
}
.hz-fav-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 32px;
    padding: 16px 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #D9D9D9;
}
.hz-fav-bar__left {
    display: flex;
    align-items: center;
    gap: 24px;
}
.hz-fav-bar__count {
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #767676;
}
.hz-fav-bar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.hz-fav-bar__actions .hz-btn {
    font-family: inherit;
    cursor: pointer;
}
.hz-fav-missing {
    margin-top: 16px;
    font-size: 14px;
    color: #767676;
}
.hz-fav-missing a {
    margin-left: 6px;
    color: #000;
    text-decoration: underline;
}
.hz-fav.favorite-saved {
    padding: 40px 0 0;
}

/* пустое избранное: плитки типов */
.hz-heart {
    font-size: 1.1em;
    color: #000;
}
.hz-type-tiles {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 32px;
}
.hz-type-tiles__item {
    display: block;
    color: #000;
}
.hz-type-tiles__photo {
    display: block;
    aspect-ratio: 4 / 5;
    background: #D9D9D9 no-repeat center center / cover;
    transition: opacity 0.3s;
}
.hz-type-tiles__item:hover .hz-type-tiles__photo {
    opacity: 0.85;
}
.hz-type-tiles__name {
    display: flex;
    justify-content: space-between;
    margin-top: 14px;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
@media screen and (max-width: 1250px) {
    .hz-type-tiles {
        gap: 20px;
    }
}
@media screen and (max-width: 992px) {
    .hz-type-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media screen and (max-width: 767px) {
    .hz-hero_fav .hz-hero__grid {
        margin-bottom: 32px;
    }
    .hz-fav-bar__actions {
        width: 100%;
    }
    .hz-fav-bar__actions .hz-btn {
        flex: 1 1 40%;
        padding: 0 12px;
    }
    .hz-type-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
}

/* ==========================================================
   Главная (2026-09): первый экран как в каталоге (.offer_catalog.offer_home), подписи на плитках типов,
   How it works — полоса из 5 шагов на месте подписки, плашка с менеджером как в каталоге.
   ========================================================== */
@media screen and (min-width: 993px) {
    .offer_home + .types {
        padding-top: 176px;
    }
}
@media screen and (max-width: 992px) {
    .offer_home .offer-filter {
        margin-top: 32px;
    }
}

/* подпись на плитке типа: белый текст внизу слева, поверх затемнения */
.types-slide {
    position: relative;
    overflow: hidden;
}
.types-slide__caption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 84px;
    z-index: 1;
    font-size: 15px;
    line-height: 1.35;
    color: #fff;
}
.types-slide:has(.types-slide__caption)::before {
    content: '';
    position: absolute;
    inset: 40% 0 0 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.55));
    pointer-events: none;
}
.types-slide__label {
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .types-slide__caption {
        left: 16px;
        right: 16px;
        bottom: 76px;
        font-size: 14px;
    }
}

/* How it works: 5 шагов в ряд */
.hz-steps-strip {
    padding: 72px 0 24px;
}
.hz-steps-strip__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px 32px;
    margin-bottom: 32px;
}
.hz-steps-strip__list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.hz-steps-strip__item {
    padding-top: 20px;
    border-top: 1px solid #000;
    list-style: none;
}
.hz-steps-strip__title {
    margin: 18px 0 10px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
}
.hz-steps-strip__text {
    font-size: 14px;
    line-height: 1.55;
    color: #767676;
}
@media screen and (max-width: 1250px) {
    .hz-steps-strip__list {
        gap: 20px;
    }
    .hz-steps-strip__title {
        font-size: 19px;
    }
}
@media screen and (max-width: 992px) {
    .hz-steps-strip__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 32px;
    }
}
@media screen and (max-width: 576px) {
    .hz-steps-strip {
        padding-top: 48px;
    }
    .hz-steps-strip__list {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 24px;
    }
    .hz-steps-strip__title {
        margin-top: 12px;
    }
}

/* ==========================================================
   Страница калькулятора (2026-09): верх .hz-hero, калькулятор на всю ширину (как на главной),
   «What’s in the estimate» — строки .hz-rows со ставкой, FAQ по расходам, плашка с менеджером.
   ========================================================== */
.hz-hero_calc .hz-hero__grid {
    margin-bottom: 72px;
}
.hz-hero__text p {
    margin: 0 0 10px;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.hz-hero__text p:last-child {
    margin-bottom: 0;
}
.hz-hero_calc + .calc-sec {
    padding-top: 0;
}
/* калькулятор на всю ширину, как на главной; свой заголовок блока не нужен — его роль играет верх страницы */
.hz-hero_calc + .calc-sec .calc-head {
    display: none;
}
.hz-costs__head {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.hz-costs__rate {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.005em;
}
.hz-costs__guides {
    margin-top: 20px;
}
.hz-costs + .faq-sec_catalog {
    padding-top: 112px;
}
@media screen and (max-width: 767px) {
    .hz-hero_calc .hz-hero__grid {
        margin-bottom: 40px;
    }
    .hz-costs__rate {
        font-size: 20px;
    }
    .hz-costs .hz-rows__text {
        padding-left: 0;
    }
    .hz-costs + .faq-sec_catalog {
        padding-top: 64px;
    }
}

/* страница калькулятора: у калькулятора свой нижний отступ (76px) — шаг до «What’s in the estimate» как между остальными блоками */
.calc-sec + .hz-costs {
    padding-top: 40px;
}

/* ==========================================================
   Обновление 05 (2026-09-29): главная и низ каталога.
   Сетка: вторичная ось = (100% + 32px) / 3 контейнера (2-я карточка каталога / Featured);
   колонки районов = 4 колонки, зазор 35px (на 993–1250px — 25px).
   ========================================================== */

/* --- Блок с менеджером в раскладке layout => stack (cta-manager.php): главная и каталог.
   Без серой плашки и (show_title => false) без заголовка; текст, менеджер и кнопки — в колонке 2-й карточки:
   левый край — вторичная ось, ширина — одна карточка (100% − 58px) / 3 (на 1440: 504–938px).
   Всегда светлый: тёмный вариант (HORIZON_FOOTER dark) здесь не нужен, фона нет (цвет задаёт cta-manager.php). */
.hz-cta_stack,
.hz-cta_dark.hz-cta_stack {
    background: none;
    color: inherit;
    padding: 64px 0;
}
.hz-cta_stack .hz-split {
    display: block;
}
.hz-cta_stack .hz-split__head {
    padding-right: 0;
    margin-bottom: 20px;
}
.hz-cta_stack .hz-cta__text {
    max-width: none;
}
/* кнопки на ширину колонки; если в ряд не помещаются — Send a request переносится под WhatsApp / Telegram */
.hz-cta_stack .hz-cta__actions {
    width: 100%;
}
.hz-cta_stack .hz-cta__actions .hz-btn {
    flex: 1 1 auto;
    padding: 0 16px;
}
@media screen and (min-width: 993px) {
    .hz-cta_stack .hz-split {
        margin-left: calc((100% + 32px) / 3);
        width: calc((100% - 58px) / 3);
    }
}
@media screen and (max-width: 767px) {
    .hz-cta_stack,
    .hz-cta_dark.hz-cta_stack {
        padding: 48px 0;
    }
}

/* --- Калькулятор (все страницы): сетка растягивается на всю высоту рамки (у рамки min-height 448px),
   иначе серая линия между формой и расчётом не доходила до низа рамки (/calculator/: не хватало 11px). */
.calc-frame {
    display: flex;
    flex-direction: column;
}
.calc-frame > .calc-grid {
    flex: 1 0 auto;
}

/* --- Калькулятор главной и каталога: class «calc-sec_wide calc-sec_inhead», head => inside, intro => ''.
   Рамка на всю ширину контейнера; колонки формы и расчёта — прежние главной (форма 50% − 193px, шаг 9%).
   Заголовок внутри рамки, в левой колонке сверху, в две строки (22px); под ним 24px — валюты справа,
   16px — поле цены (как от поля до ползунка). Когда расчёт справа растёт (PT PMA, off-plan), свободное место
   уходит под форму. Кнопка «Get an exact figure» прижата к низу правой колонки. Поля рамки сверху и снизу
   равные — как справа: 52px (на 993–1250px — 40px); разделитель тянется на всю высоту. */
.calc-sec_inhead .calc-head_in {
    grid-area: head;
    display: block;
    margin: 0;
    padding: 0 !important;
}
.calc-sec_inhead .calc-head_in > * {
    max-width: none;
}
.calc-sec_inhead .calc__title {
    max-width: 220px;
    font-size: 22px;
    line-height: 1.2;
    text-align: left;
}
.calc-sec_inhead .calc-disclaimer {
    margin-bottom: 20px;
}
@media screen and (min-width: 993px) {
    .calc-sec_inhead .calc-grid {
        grid-template-areas:
            "head line result"
            "cur  line result"
            "form line result"
            ".    line result";
        grid-template-rows: auto auto auto 1fr;
        row-gap: 0;
    }
    /* верх заглавных — по верхней линии рамки расчёта (у Inter над заглавными ≈ 0.24em пустого места) */
    .calc-sec_inhead .calc__title {
        margin-top: -5px;
    }
    .calc-sec_inhead .calc-head_in {
        margin-bottom: 24px;
    }
    .calc-sec_inhead .calc-cur {
        grid-area: cur;
        justify-self: end;
        align-self: start;
        margin-bottom: 16px;
    }
    .calc-sec_inhead .calc-col_form {
        align-self: start;
    }
    .calc-sec_inhead .calc-col_result {
        align-self: stretch;
        display: flex;
        flex-direction: column;
    }
    .calc-sec_inhead .calc-cta {
        margin-top: auto;
    }
}
@media screen and (min-width: 1251px) {
    .calc-sec_inhead .calc-frame {
        padding-top: 52px;
        padding-bottom: 52px;
    }
    .calc-sec_inhead .calc-grid::before {
        margin: -52px 0;
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .calc-sec_inhead .calc-frame {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .calc-sec_inhead .calc-grid::before {
        margin: -40px 0;
    }
}
@media screen and (max-width: 992px) {
    .calc-sec_inhead .calc-grid {
        grid-template-areas:
            "head"
            "cur"
            "form"
            "result";
    }
    .calc-sec_inhead .calc-head_in {
        margin-bottom: 8px;
    }
}
/* от калькулятора до FAQ — как на странице калькулятора: 76px низ калькулятора + 40px */
.calc-sec_wide + .faq-sec_catalog {
    padding-top: 40px;
}
@media screen and (max-width: 767px) {
    .calc-sec_wide + .faq-sec_catalog {
        padding-top: 16px;
    }
}

/* --- FAQ и текст в раскладке stack (главная; каталог — catalog-faq.php, layout => stack):
   заголовки над вопросами и над текстом; левый край — по разделителю калькулятора
   (от 1251px: 0.59 × контейнер − 205px; 993–1250px: 0.43985 × контейнер + 7px);
   ответы и текст в одну колонку (поля left / right друг под другом). */
@media screen and (min-width: 993px) {
    .faq-sec_stack .hz-split {
        display: block;
    }
    .faq-sec_stack .hz-split__head {
        padding-right: 0;
        margin-bottom: 32px;
    }
}
@media screen and (min-width: 1251px) {
    /* сильнее правила каталога .hz-fluid .faq-sec_home.faq-sec_catalog .faq-home (margin-left: 0) */
    .hz-fluid .faq-sec_home.faq-sec_stack .faq-home,
    .faq-sec_home.faq-sec_stack .faq-home {
        margin-left: calc(59% - 205px);
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-fluid .faq-sec_home.faq-sec_stack .faq-home,
    .faq-sec_home.faq-sec_stack .faq-home {
        margin-left: calc(43.985% + 7px);
    }
}
.faq-sec_stack .faq-item-text-height,
.faq-sec_stack .faq-sec-edge-wrap {
    flex-direction: column;
    gap: 0;
}
.faq-sec_stack .faq-item-content,
.faq-sec_stack .faq-sec-edge-content {
    flex: 0 0 auto;
    max-width: none;
}
.faq-sec_stack .faq-item-content + .faq-item-content,
.faq-sec_stack .faq-sec-edge-content + .faq-sec-edge-content {
    margin-top: 14px;
}

/* --- FAQ и SEO-текст (главная и каталог, .faq-sec_home): оформление из визуального редактора —
   заголовки H2–H4, нумерованные и маркированные списки, абзацы с одним шагом 14px. */
.faq-sec_home .faq-item-content p,
.faq-sec_home .faq-sec-edge-content p {
    margin: 0 0 14px;
}
.faq-sec_home .faq-item-content :is(h2, h3, h4),
.faq-sec_home .faq-sec-edge-content :is(h2, h3, h4) {
    margin: 24px 0 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.01em;
}
.faq-sec_home .faq-item-content :is(ul, ol),
.faq-sec_home .faq-sec-edge-content :is(ul, ol) {
    margin: 0 0 14px;
    padding-left: 22px;
}
.faq-sec_home .faq-item-content ul,
.faq-sec_home .faq-sec-edge-content ul {
    list-style: disc;
}
.faq-sec_home .faq-item-content ol,
.faq-sec_home .faq-sec-edge-content ol {
    list-style: decimal;
}
.faq-sec_home .faq-item-content li,
.faq-sec_home .faq-sec-edge-content li {
    display: list-item;
    margin-bottom: 6px;
    padding-left: 4px;
}
.faq-sec_home .faq-item-content li::marker,
.faq-sec_home .faq-sec-edge-content li::marker {
    color: #767676;
}
.faq-sec_home .faq-item-content li:last-child,
.faq-sec_home .faq-sec-edge-content li:last-child {
    margin-bottom: 0;
}
/* первый элемент без верхнего отступа, последний — без нижнего */
.faq-sec_home .faq-item-content > :first-child,
.faq-sec_home .faq-sec-edge-content > :first-child,
.faq-sec_home .wpc-page-seo-description > :first-child {
    margin-top: 0;
}
.faq-sec_home .faq-item-content > :last-child,
.faq-sec_home .faq-sec-edge-content > :last-child {
    margin-bottom: 0;
}

/* --- Главная: How it works. Заголовок в левой колонке (1-я колонка районов + зазор), шаги — по 2-й…4-й
   колонкам плиток Bali's best areas, 3 в ряд (сейчас 4 шага: 5-й скрыт в home.php).
   В шаге: номер → 8px → линия → 14px → заголовок 20px (как у карточек преимуществ) → текст.
   Верх заглавных «How it works» — по верху цифр. */
@media screen and (min-width: 993px) {
    .hz-steps-strip > .container {
        display: grid;
        grid-template-columns: calc((100% + 35px) / 4) minmax(0, 1fr);
        align-items: start;
    }
    .hz-steps-strip__head {
        margin: -3px 0 0;
        padding-right: 24px;
    }
    .hz-steps-strip__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 48px 35px;
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-steps-strip > .container {
        grid-template-columns: calc((100% + 25px) / 4) minmax(0, 1fr);
    }
    .hz-steps-strip__list {
        column-gap: 25px;
    }
}
.hz-steps-strip__item {
    padding-top: 0;
    border-top: 0;
}
.hz-steps-strip .hz-rows__num {
    display: block;
    line-height: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #000;
}
.hz-steps-strip .hz-steps-strip__title {
    margin-top: 14px;
    font-size: 20px;
    letter-spacing: 0.017em;
}

/* --- Главная: подпись на плитке типа — в левом верхнем углу, затемнение сверху вниз */
.types-slide__caption {
    top: 24px;
    bottom: auto;
}
.types-slide:has(.types-slide__caption)::before {
    inset: 0 0 55% 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.55));
}
@media screen and (max-width: 767px) {
    .types-slide__caption {
        top: 16px;
    }
}

/* ==========================================================
   Обновление 06 (2026-09-30): правки страниц.
   ========================================================== */

/* --- Contacts: три карточки-пути (Buying / Selling / Second opinion) убраны;
   от верха страницы до «Talk to us directly» — обычный шаг секций (.hz-contact: 112 / 80 / 64px) */
.hz-hero_contacts .hz-hero__grid {
    margin-bottom: 0;
}

/* --- List with us: верх страницы — только заголовок и текст (кнопки, Why list with us и Terms убраны),
   сразу под ним форма оценки #valuation — через обычный шаг секций (.hz-contact: 112 / 80 / 64px), как на Contacts. */
.hz-hero_lwu .hz-hero__grid {
    margin-bottom: 0;
}

/* --- List with us и Calculator (H1 в две строки): вводный текст рядом с H1 — по верху заголовка:
   верх заглавных текста = верх заглавных H1 без выносных элементов (у «B» и «P» плоский верх; +4px к верху блока при H1 64px). Рядом с H1 текст стоит
   на широких экранах (List with us от ~1390px, Calculator от ~1440px); уже — под заголовком, как раньше. */
.hz-hero_lwu .hz-hero__grid,
.hz-hero_calc .hz-hero__grid {
    align-items: flex-start;
}
.hz-hero_lwu .hz-hero__text,
.hz-hero_calc .hz-hero__text {
    padding-bottom: 0;
}
@media screen and (min-width: 1251px) {
    .hz-hero_lwu .hz-hero__text,
    .hz-hero_calc .hz-hero__text {
        margin-top: 4px;
    }
}

/* --- Contacts (H1 в одну строку): вводный текст рядом с H1 — последняя строка по базовой линии
   заголовка (было: низ текста на 8px выше низа блока H1). Когда текст под заголовком (≤767px) — без изменений. */
.hz-hero_contacts .hz-hero__grid {
    align-items: last baseline;
}
.hz-hero_contacts .hz-hero__text {
    padding-bottom: 0;
}

/* --- Contacts и List with us: строка о приватности в ряд с кнопкой отправки, справа
   (horizon_form_with_privacy() в inc/contacts.php ставит её в div.hz-form__submit новой формы CF7;
   у прежних форм строка остаётся под формой). Не помещается — уходит под кнопку. */
.hz-form__submit {
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 12px;
}
.hz-form__submit .hz-contact__privacy {
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
}

/* --- Шаги (.hz-rows): у последнего шага нет серой линии, если сразу ниже ещё один блок .hz-next
   (у него своя чёрная линия сверху — две линии подряд). Contacts: What happens next → Office & company;
   List with us: How it works → Documents to prepare. Если ниже другой блок или ничего — линия остаётся. */
.hz-next:has(+ .hz-next) .hz-rows__item:last-child {
    border-bottom: 0;
}

/* --- Calculator: «What’s in the estimate» — правая колонка (строки) начинается по разделителю калькулятора,
   как FAQ на главной (от 1251px: 0.59 × контейнер − 205px; 993–1250px: 0.43985 × контейнер + 7px).
   FAQ по расходам и плашка с менеджером убраны (page-calculator.php) — внизу обычный отступ .hz-page-end;
   у последней строки (Annual property tax) серой линии нет. */
.hz-costs .hz-rows__item:last-child {
    border-bottom: 0;
}
@media screen and (min-width: 1251px) {
    .hz-costs .hz-split {
        grid-template-columns: calc(59% - 205px) minmax(0, 1fr);
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-costs .hz-split {
        grid-template-columns: calc(43.985% + 7px) minmax(0, 1fr);
    }
}

/* --- Главная и каталог: одинаковый просвет между блоками (от 768px). Видимый шаг «низ содержимого блока →
   верх содержимого следующего» — 137px, как между Explore our listings / Featured / блоком с менеджером.
   Было: Explore by type → How it works 150, How it works → Bali's best areas 107, → A better way 118,
   блок с менеджером → калькулятор 132, калькулятор → FAQ 121 (каталог: те же два последних). */
@media screen and (min-width: 768px) {
    .hz-fluid .hz-steps-strip {
        padding-top: 59px;
        padding-bottom: 54px;
    }
    .hz-fluid .advantages {
        padding-top: 76px;
    }
    .hz-fluid .calc-sec.calc-sec_wide {
        padding-top: 73px;
    }
    .hz-fluid .faq-sec.faq-sec_stack {
        padding-top: 56px;
    }
}

/* --- Главная, A better way to buy property in Bali: сетка как у плиток Bali's best areas — заголовок в 1-й
   колонке, карточки преимуществ по 2-й…4-й колонкам плиток (зазор 35px, 993–1250 — 25px), как How it works;
   заголовок блока — по базовой линии заголовков карточек первого ряда.
   Заголовок карточки → текст: 28px (было 44); на 577–1250 остаётся 24; на телефоне ≤576 — 24 (было 44). */
@media screen and (min-width: 993px) {
    .hz-fluid .advantages-wrap {
        display: grid;
        grid-template-columns: calc((100% + 35px) / 4) minmax(0, 1fr);
        align-items: first baseline;
    }
    .hz-fluid .advantages__title {
        margin-right: 0;
        padding-right: 24px;
    }
    .hz-fluid .advantages-grid {
        max-width: none;
        column-gap: 35px;
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-fluid .advantages-wrap {
        grid-template-columns: calc((100% + 25px) / 4) minmax(0, 1fr);
    }
    .hz-fluid .advantages-grid {
        column-gap: 25px;
    }
}
@media screen and (min-width: 1251px) {
    .advantages-card__title {
        margin-bottom: 28px;
    }
}
@media screen and (max-width: 576px) {
    .advantages-card__title {
        margin-bottom: 24px;
    }
}

/* --- Калькулятор (главная, каталог, /calculator/): форма слева и расчёт справа — посередине своих половин рамки:
   поле рамки = шаг до разделителя = шаг от разделителя = поле справа. Разделитель стоит где был
   (от 1251px: 0.59 × контейнер − 205px; 993–1250px: 0.43985 × контейнер + 7px — по нему FAQ и What’s in the estimate),
   ширина формы прежняя (от 1251px: 0.5 × контейнер − 243px = 437px на 1440). Расчёт получает остаток (+6px на 1440).
   От 1251px: поле = 0.045 × контейнер + 18.5px (80px на 1440); в сетке те же величины через её ширину
   (сетка = 0.91 × контейнер − 39px). 993–1250: поля и шаги 32px (было 36 / 28). */
@media screen and (min-width: 1251px) {
    .hz-fluid .calc-frame {
        padding-left: calc(4.5% + 18.5px);
        padding-right: calc(4.5% + 18.5px);
    }
    .hz-fluid .calc-grid,
    .hz-fluid .inner-page_calculator ~ .calc-sec .calc-grid {
        grid-template-columns: calc(54.945% - 221.57px) 1px minmax(0, 1fr);
        column-gap: calc(4.945% + 20.43px);
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-fluid .calc-frame {
        padding-left: 32px;
        padding-right: 32px;
    }
    .hz-fluid .calc-grid {
        column-gap: 32px;
    }
}

/* --- Главная, How it works: текст шага 16px (было 14), цвет прежний серый #767676, межстрочный 1.55 */
.hz-steps-strip__text {
    font-size: 16px;
}

/* --- Главная, A better way to buy property in Bali: текст карточки серый #767676, как в How it works (было чёрный) */
.advantages-card__text {
    color: #767676;
}

/* --- Шапка: «Let’s talk» квадратной кнопкой вместо «[ LET’S TALK ]» — как остальные кнопки сайта
   (рамка 1px цветом текста шапки: на фото — белая, на белых страницах — чёрная). Открывает то же окно
   Let’s talk (класс header-call). Текст короткий нарочно: «Send a request» на 993–1290px не помещается в шапку. */
@media screen and (min-width: 993px) {
    .header .header-cta {
        display: inline-flex;
        align-items: center;
        height: 40px;
        padding: 0 18px;
        margin: -10px 0;
        border: 1px solid currentColor;
        white-space: nowrap;
    }
    .header .header-cta:hover {
        opacity: 1;
        background: color-mix(in srgb, currentColor 12%, transparent);
    }
}
/* отрицательные поля сверху и снизу = (высота кнопки − высота строки) / 2: шапка той же высоты (76px),
   что со строкой «[ LET’S TALK ]», меню и логотип на прежнем месте. 1251–1320: шрифт 15px, строка 19px. */
@media screen and (min-width: 1251px) and (max-width: 1320px) {
    .header .header-cta {
        margin: -10.5px 0;
    }
}
/* 993–1250: шрифт шапки 12px (строка 15px) — кнопка ниже и уже, шапка помещается до 993px (как с прежним текстом) */
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .header .header-cta {
        height: 34px;
        margin: -9.5px 0;
        padding: 0 8px;
    }
}
/* на телефоне в меню кнопки нет, как и раньше (окно Let’s talk — из блоков страницы) */

/* --- Первый экран (главная и каталог): значок видео — тонкий круг 40px с контурным треугольником (был круг
   с заливкой); подпись «Watch the video» обычным регистром. При наведении круг заливается белым, треугольник — чёрный.
   Между заголовком и пунктами с галочками на 10px больше (19 → 29; на телефоне 8px); заголовок и видео подняты
   на столько же — панель фильтра и фото на прежнем месте. */
.offer__video .offer__play-frame {
    stroke: rgba(255, 255, 255, 0.85);
    fill: transparent;
    transition: 0.3s;
}
.offer__video .offer__play-tri {
    stroke: #fff;
    stroke-width: 1.2;
    stroke-linejoin: round;
    fill: none;
    transition: 0.3s;
}
.offer__video:hover .offer__play-frame {
    stroke: #fff;
    fill: #fff;
}
.offer__video:hover .offer__play-tri {
    stroke: #000;
}
@media screen and (min-width: 768px) {
    .offer-points {
        margin-top: 29px;
    }
}
@media screen and (min-width: 993px) {
    .offer_catalog .offer-wrap {
        padding-top: 276px;
    }
}
@media screen and (max-width: 767px) {
    .offer-points {
        margin-top: -38px;
        margin-bottom: 32px;
    }
}
.offer__video-label {
    font-size: 15px;
    letter-spacing: 0.01em;
    text-transform: none;
}

/* --- Первый экран (главная и каталог): у пунктов под заголовком — маленький серый квадрат 6px (#B1B1B1) вместо
   галочки (галочки перекликались со стрелками полей фильтра; квадрат — как квадратные кнопки и поля сайта) */
.offer-points li::before {
    left: 2px;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border: 0;
    background: #B1B1B1;
    transform: none;
}

/* ==========================================================
   Обновление 07 (2026-10)
   Favorites: строка «N no longer available — sold or withdrawn. See similar properties» (было «N saved
   property is no longer available…») — в панели, в одной строке с числом объектов и кнопками (было отдельной
   строкой под панелью). Уже ~1340px — под числом, кнопки справа; до 992px — число и строка над кнопками.
   Пустое избранное: без плашки «Not sure where to start?», заголовок над плитками по ширине «Favorites»,
   сердце в тексте — SVG. About: карточка менеджера в The team (стили — ниже, .hz-mcard).
   ========================================================== */
.hz-fav-bar__left {
    flex: 1 1 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 24px;
    min-width: 0;
}
.hz-fav-bar__actions {
    flex: none;
}
.hz-fav-bar .hz-fav-missing {
    margin-top: 0;
}
.hz-fav-missing__text {
    margin-right: 6px;
}
.hz-fav-bar .hz-fav-missing a {
    margin-left: 0;
    white-space: nowrap;
}

/* Favorites: значок-сердце в тексте — SVG (horizon_heart_icon()) вместо символа ♡ */
.hz-heart {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 0.05em;
    vertical-align: -0.14em;
    font-size: inherit;
    color: #000;
}
.hz-nobr {
    white-space: nowrap; /* значок не остаётся один в конце строки */
}

/* Пустое избранное: «Start with a property type» заканчивается там же, где «Favorites» (по чернилам,
   замер preview/hmeas.js): 21.7px при H1 64px, 18.96px при H1 56px. До 992px — прежние 24px
   (под H1 48/40px вышло бы 16/13.5px — мельче подписей плиток). */
@media screen and (min-width: 1251px) {
    .hz-hero_fav .hz-band__title {
        font-size: 21.7px;
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-hero_fav .hz-band__title {
        font-size: 18.96px;
    }
}
@media screen and (max-width: 992px) {
    .hz-fav-bar__left {
        flex-basis: 100%;
    }
}

/* Карточка менеджера (template-parts/manager-card.php): человек → WhatsApp / Telegram пополам → строки Phone / E-mail
   (строки — те же .hz-channels__row, что на Contacts). About: блок .hz-contact-card (пока команда не заполнена). */
.hz-mcard {
    min-width: 0;
}
.hz-mcard__person {
    margin-bottom: 24px;
}
.hz-mcard__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.hz-mcard__actions .hz-btn {
    padding: 0 12px;
}
.hz-mcard__list {
    margin-top: 28px;
}
/* About: пока команда не заполнена — заголовок над карточкой менеджера, карточка во 2-й колонке страницы
   (как заголовок над 2-й карточкой How we work with buyers); редактор видит в 3-й колонке подсказку заполнить Team */
.hz-contact-card .hz-band__title {
    margin-left: calc((100% + 32px) / 3);
}
.hz-contact-card__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}
.hz-contact-card__card {
    grid-column: 2;
}
@media screen and (max-width: 992px) {
    .hz-contact-card .hz-band__title {
        margin-left: 0;
    }
    .hz-contact-card__grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .hz-contact-card__card {
        grid-column: auto;
        max-width: 420px;
    }
}
/* на 993–1250px подпись и значение остаются в строку (на Contacts колонка уже — там подпись над значением) */
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .hz-mcard .hz-channels__row {
        grid-template-columns: 80px minmax(0, 1fr);
        row-gap: 0;
    }
}

/* About → How we work with buyers (.hz-pcards): три серые карточки 3:2 по колонкам страницы (колонки каталога,
   как Services и The team); номер вверху, заголовок и текст прижаты к низу.
   Заголовок блока над 2-й карточкой. До 992px — карточки столбиком без пропорции, заголовок слева. */
.hz-pcards .hz-band__title {
    margin-left: calc((100% + 32px) / 3);
}
.hz-pcards .hz-principles {
    gap: 32px;
    container-type: inline-size;
}
/* высота не меньше 2/3 ширины карточки (3:2); текст длиннее — карточки ряда вытягиваются вместе (до высоты самой высокой) */
.hz-pcards .hz-principles__item {
    min-height: calc((100cqw - 64px) * 2 / 9);
    padding: 32px;
    border-top: 0;
    background: #F4F4F4;
}
.hz-pcards .hz-principles__title {
    margin-top: auto;
    padding-top: 24px;
}
@media screen and (max-width: 1250px) {
    .hz-pcards .hz-principles__item {
        padding: 24px;
    }
    .hz-pcards .hz-principles__title {
        font-size: 20px;
    }
}
@media screen and (max-width: 992px) {
    .hz-pcards .hz-band__title {
        margin-left: 0;
    }
    .hz-pcards .hz-principles {
        gap: 16px;
    }
    .hz-pcards .hz-principles__item {
        min-height: 0;
        padding: 28px 24px;
    }
    .hz-pcards .hz-principles__title {
        margin-top: 0;
    }
}

/* About: без нижних линий у последних строк — карточка менеджера (под E-mail), Services (под последним рядом) */
.hz-mcard .hz-channels__row:last-child {
    border-bottom: 0;
}
.hz-services__item:last-child,
.hz-services__item:nth-last-child(2):nth-child(odd) {
    border-bottom: 0;
}
@media screen and (max-width: 767px) {
    .hz-services__item:nth-last-child(2):nth-child(odd) {
        border-bottom: 1px solid #D9D9D9;
    }
}

/* About: один видимый шаг между блоками — 112px (от 993), 80 (768–992), 64 (телефон): низ чернил блока → верх чернил
   следующего (замер preview/agaps.js). У последних строк без линии (карточка менеджера, Services) нет нижнего поля;
   у блоков, которые начинаются с заголовка, — минус воздух над заглавными. Шаг до футера — общий .hz-page-end. */
.hz-mcard .hz-channels__row:last-child,
.hz-services__item:last-child,
.hz-services__item:nth-last-child(2):nth-child(odd) {
    padding-bottom: 0;
}
.hz-contact-card {
    margin-top: -5px;
}
.hz-ab-services {
    margin-top: -4px;
}
.hz-pcards {
    margin-top: -7px;
}
/* после серых карточек — оптическая поправка: залитый блок визуально «съедает» шаг (по замеру 112 = как везде, на глаз меньше) */
.hz-pcards + .hz-checks {
    margin-top: 24px;
}
@media screen and (max-width: 992px) {
    .hz-contact-card {
        margin-top: -7px;
    }
    .hz-ab-services {
        margin-top: -9px;
    }
    .hz-pcards + .hz-checks {
        margin-top: 11px;
    }
}
@media screen and (max-width: 767px) {
    .hz-services__item:nth-last-child(2):nth-child(odd) {
        padding-bottom: 18px;
    }
    .hz-pcards + .hz-checks {
        margin-top: 7px;
    }
}

/* Карточка объекта: галерея ближе к шапке — 24px от низа шапки (было 44); на телефоне без изменений (19px) */
@media screen and (min-width: 768px) {
    .hz-fluid .gallery {
        padding-top: 24px;
    }
}

/* Карточка объекта: менеджер в рамке (template-parts/property-manager.php) вместо старой карточки с FB / IG:
   человек как в блоке менеджера (.hz-cta__person) → WhatsApp на всю ширину → Telegram / E-mail → «or call» и телефон. */
.hz-pm {
    padding: 28px 24px 24px;
    border: 1px solid #000;
}
.hz-pm__person {
    margin-bottom: 24px;
}
.hz-pm__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.hz-pm__actions .hz-btn {
    padding: 0 12px;
}
.hz-pm__wa {
    grid-column: 1 / -1;
}
.hz-pm__phone {
    margin-top: 16px;
    font-size: 14px;
    color: #767676;
    text-align: center;
}
.hz-pm__phone a {
    color: #000;
}
.hz-pm__phone a:hover {
    opacity: 0.6;
}

/* Sitemap и обычные страницы (2026-10): заголовок страницы — H1 (был H2), вид как у h2 */
h1.sitemap-block__title,
h1.privacy__title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.018em;
}

/* Фокус с клавиатуры (2026-10): рамка только при навигации Tab (:focus-visible), мышью не видна —
   старые правила outline: none у полей и кнопок оставлены, это их дополняет */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px;
}

/* ==========================================================
   Обновление 10 (2026-10-02): главная — шапка, плитки типов, блок с менеджером.
   ========================================================== */

/* Шапка: «Let’s talk» — шрифт и разрядка как у кнопок сайта (.hz-btn: 14px, 0.04em; был 16px как пункты меню),
   кнопка ниже: 36px (была 40). Отрицательные поля = (36 − строка 20px) / 2, шапка прежних 76px. */
@media screen and (min-width: 993px) {
    .header .header-cta {
        height: 36px;
        margin: -8px 0;
        font-size: 14px;
        letter-spacing: 0.04em;
    }
}
@media screen and (min-width: 1251px) and (max-width: 1320px) {
    .header .header-cta {
        margin: -8.5px 0;
    }
}
@media screen and (min-width: 993px) and (max-width: 1250px) {
    .header .header-cta {
        height: 30px;
        margin: -7.5px 0;
        font-size: 12px;
    }
}

/* Explore by type: плашка «Villas» и т.д. на том же расстоянии от низа, что и от правого края (30px; было 39) */
.types-slide {
    padding-bottom: 30px;
}
/* подпись в левом верхнем углу — до двух строк (ширина до 11em), а не в одну на всю плитку */
.types-slide__caption {
    right: auto;
    max-width: 11em;
}

/* Блок с менеджером на главной (cta-manager, card => true): текст → карточка как на About
   (WhatsApp / Telegram пополам → Phone / E-mail), на ширину колонки 2-й карточки */
.hz-cta_stack .hz-cta__card {
    width: 100%;
}
.hz-cta_stack .hz-cta__card .hz-mcard__person {
    margin-bottom: 28px;
}

/* Карточка объекта: менеджер — карточка как на About и главной (manager-card.php, без рамки);
   сайдбар закреплён при прокрутке (sticky) — остаётся на экране, пока идёт описание */
@media screen and (min-width: 993px) {
    .prod-info-wrap {
        align-items: flex-start;
    }
    .prod-info-sidebar {
        position: sticky;
        top: 24px;
    }
}

/* Слайдеры до инициализации slick (главная: типы и Featured, карточка объекта: Similar): чтобы карточки не
   растягивались на всю ширину и не стояли столбиком, пока грузятся скрипты — раскладка в ряд, как у готового слайдера */
.types-slider:not(.slick-initialized),
.featured-slider:not(.slick-initialized),
.similar-slider:not(.slick-initialized) {
    display: flex;
    overflow: hidden;
}
.types-slider:not(.slick-initialized) .types-slide {
    flex: 0 0 auto;
}
.featured-slider:not(.slick-initialized) .prod-card,
.similar-slider:not(.slick-initialized) .prod-card {
    flex: 0 0 calc(100% / 3 - 30px);
    width: calc(100% / 3 - 30px);
}
@media screen and (max-width: 992px) {
    .featured-slider:not(.slick-initialized) .prod-card,
    .similar-slider:not(.slick-initialized) .prod-card {
        flex-basis: calc(50% - 30px);
        width: calc(50% - 30px);
    }
}
@media screen and (max-width: 576px) {
    .featured-slider:not(.slick-initialized) .prod-card,
    .similar-slider:not(.slick-initialized) .prod-card {
        flex-basis: calc(100% - 30px);
        width: calc(100% - 30px);
    }
}

/* Блоки с единственной вкладкой «BUY» (типы, районы, бюджеты, Featured на главной): содержимое видно сразу,
   без ожидания скрипта и без анимации «выезда» снизу (0.7s) — из-за неё главная грузилась «частями» */
.infotab-items_single ~ .infotab-contents .infotab-content:first-child {
    opacity: 1;
    max-height: none;
    overflow: visible;
    animation: none;
}

/* List with us: FAQ владельцев и плашка «Selling?» убраны — Documents to prepare последний блок, у последнего ряда
   нет серой линии и нижнего поля (как у Services на About), шаг до футера — .hz-page-end */
.hz-checklist_docs .hz-checklist__item:last-child,
.hz-checklist_docs .hz-checklist__item:nth-last-child(2):nth-child(odd) {
    border-bottom: 0;
    padding-bottom: 0;
}
@media screen and (max-width: 767px) {
    .hz-checklist_docs .hz-checklist__item:nth-last-child(2):nth-child(odd) {
        border-bottom: 1px solid #D9D9D9;
        padding-bottom: 20px;
    }
}

/* Окно Let’s talk (footer.php, форма bc6b315 с разметкой cf7-lets-talk-form.txt): на компьютере три поля в ряд
   (имя, один контакт, сообщение) и кнопка Send, под ними строка о приватности; окно шире (1180px). На телефоне — столбиком. */
.hz-form_row .hz-form__submit {
    display: contents;
}
.hz-form_row .hz-form__submit .wpcf7-submit {
    padding: 0 36px;
}
.hz-form_row .hz-form__submit .hz-contact__privacy {
    grid-column: 1 / -1;
    margin-top: 4px;
}
.hz-form_row .wpcf7-spinner {
    display: none;
}
.header-modal .hz-form_row {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
}
@media screen and (min-width: 993px) {
    .header-modal {
        max-width: 1180px;
        padding: 72px 80px 64px;
    }
    .header-modal .contacts__title {
        margin-bottom: 32px;
    }
    .header-modal .hz-form_row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.5fr) auto;
        align-items: end;
        gap: 20px 16px;
    }
}
/* ответ CF7 (ошибка / отправлено) под формой во всю ширину */
.header-modal .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 12px 16px;
    border-width: 1px;
}
.header-modal .wpcf7-not-valid-tip {
    font-size: 12px;
    margin-top: 6px;
}

/* Футер: колонка «Calculator» + «Guides» — второй заголовок в той же колонке с шагом как между колонкой и списком */
.hz-footer__title_next {
    margin-top: 32px;
}

/* Блог, автор статьи: фото кругом, как у менеджера везде на сайте (было квадратом) */
.article-author__photo {
    border-radius: 50%;
}

/* Блог, заголовок статьи крупнее: 36px (было 28); 768–1250 — 32; телефон — 24 (было 20) */
.blog-single__title {
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: 0.01em;
}
@media screen and (max-width: 1250px) {
    .blog-single__title {
        font-size: 32px;
    }
}
@media screen and (max-width: 767px) {
    .blog-single__title {
        font-size: 24px;
    }
}

/* Футер от 1251px: больше воздуха между колонками ссылок — зазор 40px (было 24), колонка Company уже (0.6 доли),
   остальные три шире; вторая колонка по-прежнему начинается на вторичной оси (2-я карточка каталога) */
@media screen and (min-width: 1251px) {
    .hz-footer-cols {
        grid-template-columns: calc((100% - 64px) / 3 - 8px) repeat(3, minmax(max-content, 1fr)) minmax(max-content, 0.6fr);
        column-gap: 40px;
    }
}

/* Sitemap: блок с менеджером убран — шаг до футера задаёт .hz-page-end (120 / 88 / 64), нижнее поле секции не нужно */
.sitemap-page {
    padding-bottom: 0;
}

/* Sitemap: верх как на Contacts — H1 64px (.hz-hero), плитки через обычный шаг секций 112 / 80 / 64 */
.hz-hero_sitemap .hz-hero__grid {
    margin-bottom: 0;
}
.sitemap-page {
    padding-top: 112px;
}
@media screen and (max-width: 1250px) {
    .sitemap-page {
        padding-top: 80px;
    }
}
@media screen and (max-width: 767px) {
    .sitemap-page {
        padding-top: 64px;
    }
}

/* Обычные страницы (Terms, Privacy): блок с менеджером убран — шаг до футера .hz-page-end, нижнее поле секции не нужно */
.inner-page_privacy {
    padding-bottom: 0;
}
.inner-page_privacy .privacy-text > :last-child {
    margin-bottom: 0;
}

/* ==========================================================
   404 (2026-10, обновление 11): H1 «Page not found» + текст со ссылками + плитки типов — блок пустого Избранного
   (.hz-hero_fav) с модификатором .hz-hero_404. Заголовок над плитками обычного размера (в Избранном он подогнан
   под ширину слова «Favorites»). Ссылки в тексте чёрные, подчёркнутые. Старые стили .error404 не используются.
   ========================================================== */
.hz-hero_404 .hz-hero__text a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.hz-hero_404 .hz-hero__text a:hover {
    text-decoration: none;
}
@media screen and (min-width: 993px) {
    .hz-hero_fav.hz-hero_404 .hz-band__title {
        font-size: 24px;
    }
}

/* Каталог без своих вопросов и SEO-текста (обновление 11): после калькулятора сразу .hz-page-end —
   нижнее поле секции калькулятора не складывается с ним (до футера те же 120 / 88 / 64, что на служебных страницах). */
.calc-sec:has(+ .hz-page-end) {
    padding-bottom: 0;
    margin-bottom: 0;
}

/* ==========================================================
   Блог и <picture> (2026-10, обновление 11): плагин Imagify (WebP) на сайте заменяет <img class="X"> на
   <picture class="X"><source type="image/webp"><img></picture> — класс уезжает на picture, а сам img остаётся без стилей:
   главная картинка статьи и картинки карточек выводились в натуральный размер и не заполняли блок.
   Здесь те же размеры для img внутри picture; сам picture — блок на всю площадь.
   ========================================================== */
picture.article-hero__img,
picture.blog-card__img,
.article-author__photo picture {
    display: block;
    width: 100%;
}
.article-author__photo picture {
    height: 100%;
}
picture.article-hero__img > img,
picture.blog-card__img > img,
.article-author__photo picture > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* картинки в тексте статьи (редактор: «по центру») */
.article picture.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.article picture > img {
    max-width: 100%;
    height: auto;
}
.article picture.aligncenter > img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.article picture.article-hero__img > img,
.article picture.blog-card__img > img,
.article .article-author__photo picture > img {
    max-width: none;
    height: 100%;
}
