/*
Theme Name: ZilTrest Theme
Theme URI: https://ziltrest31.ru
Author: ZilTrest
Description: Кастомная тема агентства недвижимости ЖилТрест
Version: 1.0
*/


/* =========================================
   VARIABLES
========================================= */

:root {

    --brown: #6B3F22;
    --brown-dark: #432515;
    --brown-light: #F5EEE8;

    --cream: #F7F1EA;

    --text: #222;
    --gray: #777;

    --white:#fff;

    --shadow:
    0 10px 30px rgba(0,0,0,.08);

    --radius:20px;

}



/* =========================================
   RESET
========================================= */


*,
*::before,
*::after {

    box-sizing:border-box;

}



html {

    scroll-behavior:smooth;

}



body {

    margin:0;

    font-family:
    Arial,
    Helvetica,
    sans-serif;

    color:var(--text);

    background:#fff;

}



img {

    max-width:100%;

    height:auto;

}



a {

    transition:.25s ease;

}



button,
input,
select {

    font-family:inherit;

}




.container {

    max-width:1200px;

    margin:0 auto;

    padding:0 20px;

}



section {

    padding:70px 0;

}



h1,
h2,
h3 {

    margin-top:0;

    line-height:1.2;

}



h2 {

    font-size:36px;

}



p {

    line-height:1.6;

}





/* =========================================
   BUTTONS
========================================= */


.zl-call-button,
.hero-button,
.card-button,
.zl-property-more,
.zl-contact a {


    display:inline-flex;

    align-items:center;

    justify-content:center;


    background:var(--brown);

    color:#fff;


    padding:14px 28px;


    border-radius:12px;


    text-decoration:none;


    font-weight:600;


    border:none;


}



.zl-call-button:hover,
.hero-button:hover,
.card-button:hover,
.zl-property-more:hover,
.zl-contact a:hover {

    background:var(--brown-dark);

    color:#fff;

}





/* =========================================
   HEADER
========================================= */


.zl-header {


    height:85px;

    background:#fff;

    border-bottom:1px solid #eee;

    display:flex;

    align-items:center;

}



.zl-header-inner {


    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

}




.zl-logo img {

    width:150px;

    display:block;

}




.zl-menu ul {


    display:flex;

    gap:30px;

    list-style:none;

    padding:0;

    margin:0;

}



.zl-menu a {


    text-decoration:none;

    color:#222;

    font-size:15px;

    font-weight:500;


}



.zl-menu a:hover {


    color:var(--brown);

}





.zl-header-contact {


    display:flex;

    flex-direction:column;

    align-items:flex-end;

}



.zl-phone {


    color:#222;

    text-decoration:none;

    font-weight:700;

    font-size:18px;

}



.zl-header-contact span {


    font-size:12px;

    color:#777;

}





/* =========================================
   HERO
========================================= */


.zl-hero {


    min-height:720px;


    display:flex;

    align-items:center;


    background-size:cover;

    background-position:center;


    position:relative;


}



.zl-hero .container {

    width:100%;

}



.zl-hero-content {


    max-width:650px;

    padding-top:50px;

}



.zl-hero h1 {


    font-size:54px;

    font-weight:700;

    line-height:1.1;

    color:#3b2416;

    margin-bottom:25px;


}



.zl-hero p {


    max-width:560px;

    font-size:20px;

    color:#555;

    margin-bottom:30px;

}





.hero-buttons {


    display:flex;

    gap:20px;

}





.hero-buttons a:last-child {


    border:1px solid var(--brown);

    color:var(--brown);

    padding:14px 28px;

    border-radius:12px;

    text-decoration:none;

    font-weight:600;


}



.hero-buttons a:last-child:hover {


    background:var(--brown);

    color:#fff;

}





/* =========================================
   SEARCH
========================================= */


.zl-search-box {


    background:#fff;


    border-radius:25px;


    padding:30px;


    max-width:1100px;


    box-shadow:

    0 20px 50px rgba(0,0,0,.15);


    margin-top:60px;


}




.zl-search-tabs {


    display:flex;

    gap:10px;

    margin-bottom:20px;


}



.zl-search-tabs button {


    border:none;

    background:var(--brown-light);

    padding:12px 30px;

    border-radius:10px;

    cursor:pointer;

    font-size:16px;


}



.zl-search-tabs .active {


    background:var(--brown);

    color:#fff;

}





.zl-search-box form {


    display:grid;


    grid-template-columns:

    1.2fr

    1.2fr

    1fr

    1fr

    1fr;


    gap:12px;


}





.zl-search-box input,
.zl-search-box select {


    width:100%;

    height:52px;


    border:1px solid #ddd;


    border-radius:12px;


    padding:0 15px;


    background:#fff;


    font-size:15px;


}




.zl-search-box button {


    height:52px;


    border:none;


    border-radius:12px;


    background:var(--brown);


    color:#fff;


    font-weight:600;


    cursor:pointer;


}



.zl-search-box button:hover {


    background:var(--brown-dark);

}




.advanced-search {


    display:block;

    margin-top:18px;

    color:var(--brown);

    text-decoration:none;

    font-size:15px;


}

/* =========================================
   STATS
========================================= */


.zl-stats {

    margin-top:-40px;

    position:relative;

    z-index:2;

}



.stats-grid {


    background:#fff;

    border-radius:25px;

    box-shadow:var(--shadow);

    padding:35px;


    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;


}




.stats-grid div {


    text-align:center;


}



.stats-grid strong {


    display:block;

    font-size:38px;

    color:var(--brown);

    font-weight:700;

    margin-bottom:8px;


}



.stats-grid span {


    font-size:15px;

    color:#666;


}







/* =========================================
   CATEGORIES
========================================= */


.zl-categories {


    padding:70px 0;


}




.category-grid {


    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;


}





.category-card {


    height:230px;

    position:relative;


    border-radius:20px;


    overflow:hidden;


    background-size:cover;


    background-position:center;


}





.category-card::after {


    content:"";


    position:absolute;


    inset:0;


    background:

    linear-gradient(

    transparent,

    rgba(0,0,0,.75)

    );


}





.category-overlay {


    position:absolute;


    bottom:25px;


    left:25px;


    right:20px;


    z-index:2;


    color:#fff;


}





.category-overlay h3 {


    font-size:26px;


    margin-bottom:8px;


}





.category-overlay p {


    margin:0 0 10px;


    font-size:15px;


    opacity:.9;


}





.category-overlay span {


    display:block;


    font-size:18px;


    font-weight:700;


    margin-bottom:10px;


}





.category-overlay a {


    color:#fff;


    font-size:14px;


    text-decoration:none;


}







/* =========================================
   BEST OFFERS
========================================= */


.zl-properties {


    background:#faf8f5;


    padding:70px 0;


}




.section-title {


    display:flex;


    justify-content:space-between;


    align-items:center;


    margin-bottom:35px;


}



.section-title a {


    color:var(--brown);


    text-decoration:none;


    font-weight:600;


}






/* сетка карточек */


.zl-properties .property-grid {


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:25px;


}





/* =========================================
   PROPERTY CARD
========================================= */


.zl-property-card {


    background:#fff;


    border-radius:22px;


    overflow:hidden;


    box-shadow:0 8px 30px rgba(0,0,0,.08);


    transition:.3s;


    display:flex;


    flex-direction:column;


}



.zl-property-card:hover {


    transform:translateY(-6px);


    box-shadow:0 15px 40px rgba(0,0,0,.15);


}






.zl-property-image {


    height:260px;


    position:relative;


    overflow:hidden;


}



.zl-property-image img {


    width:100%;


    height:100%;


    object-fit:cover;


    display:block;


}





.zl-property-label {


    position:absolute;


    top:15px;


    left:15px;


    background:var(--brown);


    color:#fff;


    padding:7px 14px;


    border-radius:20px;


    font-size:13px;


}





.zl-property-like {


    position:absolute;


    top:15px;


    right:15px;


    width:38px;


    height:38px;


    border-radius:50%;


    background:#fff;


    border:none;


    font-size:20px;


    cursor:pointer;


}






.zl-property-body {


    padding:22px;


    display:flex;


    flex-direction:column;


    flex:1;


}






.zl-property-price {


    font-size:24px;


    font-weight:700;


    color:var(--brown);


    margin-bottom:12px;


}





.zl-property-card h3 {


    font-size:18px;


    line-height:1.35;


    margin:0 0 15px;


}



.zl-property-card h3 a {


    color:#222;


    text-decoration:none;


}





.zl-property-info {


    display:flex;


    gap:8px;


    flex-wrap:wrap;


    margin-bottom:15px;


}





.zl-property-info span {


    background:#f5eee8;


    padding:7px 12px;


    border-radius:10px;


    font-size:13px;


    color:#555;


}





.zl-property-location {


    color:#777;


    font-size:14px;


    line-height:1.5;


    margin-bottom:15px;


}





.zl-property-more {


    margin-top:auto;


    width:100%;


}

/* =========================================
   MORTGAGE
========================================= */


.zl-mortgage {


    margin:70px auto;


    max-width:1160px;


    background:


    linear-gradient(

    90deg,

    var(--brown),

    var(--brown-dark)

    );


    color:#fff;


    border-radius:25px;


    padding:55px;


}





.zl-mortgage h2 {


    font-size:36px;


    margin-bottom:20px;


}





.zl-mortgage p {


    max-width:650px;


    font-size:18px;


    opacity:.9;


    margin-bottom:30px;


}





.zl-mortgage a {


    display:inline-flex;


    background:#fff;


    color:var(--brown);


    padding:15px 35px;


    border-radius:12px;


    text-decoration:none;


    font-weight:700;


}





.zl-mortgage a:hover {


    background:#f5f5f5;


}








/* =========================================
   ADVANTAGES
========================================= */


.zl-advantages {


    padding:80px 0;


}




.zl-advantages h2 {


    text-align:center;


    margin-bottom:50px;


}





.advantages-grid {


    display:grid;


    grid-template-columns:repeat(4,1fr);


    gap:25px;


}





.advantages-grid > div {


    background:#fff;


    border-radius:20px;


    padding:30px;


    box-shadow:0 8px 25px rgba(0,0,0,.06);


}





.advantages-grid h3 {


    font-size:20px;


    margin-bottom:15px;


    color:#2d2118;


}





.advantages-grid p {


    color:#666;


    margin:0;


}








/* =========================================
   AREAS
========================================= */


.zl-areas {


    background:#faf8f5;


    padding:70px 0;


}





.zl-areas h2 {


    margin-bottom:35px;


}





.areas-grid {


    display:grid;


    grid-template-columns:repeat(6,1fr);


    gap:15px;


}





.areas-grid div {


    height:150px;


    border-radius:18px;


    overflow:hidden;


    background-size:cover;


    background-position:center;


    position:relative;


    display:flex;


    flex-direction:column;


    justify-content:flex-end;


    padding:20px;


    color:#fff;


}





.areas-grid div::before {


    content:"";


    position:absolute;


    inset:0;


    background:


    linear-gradient(

    transparent,

    rgba(0,0,0,.7)

    );


}





.areas-grid h3,
.areas-grid span {


    position:relative;


    z-index:1;


}





.areas-grid h3 {


    margin:0 0 5px;


    font-size:18px;


}





.areas-grid span {


    font-size:14px;


}








/* =========================================
   CONTACT CTA
========================================= */


.zl-contact {


    text-align:center;


    padding:90px 0;


}





.zl-contact h2 {


    font-size:38px;


    margin-bottom:20px;


}





.zl-contact p {


    color:#666;


    font-size:18px;


    margin-bottom:35px;


}








/* =================================
   FOOTER ZILTREST
================================= */

.zl-footer{

background:#2c1b12;
color:#fff;
padding:50px 0 20px;
margin-top:70px;

}


.zl-footer-grid{

display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:50px;
align-items:start;

}


/* ЛОГО */

.zl-footer-company img{

width:120px;
height:auto;
display:block;
margin-bottom:20px;

}



.zl-footer-company p{

color:rgba(255,255,255,.75);
line-height:1.6;
max-width:300px;

}



/* Заголовки */

.zl-footer h3{

font-size:20px;
margin:0 0 20px;

}




/* Контакты */

.zl-footer-contacts p{

color:rgba(255,255,255,.75);
margin-bottom:12px;

}



.zl-footer-contacts a{

display:block;

font-size:22px;

font-weight:700;

color:#fff;

text-decoration:none;

margin-top:20px;

}





/* Меню */

.zl-footer-menu a{

display:block;

color:#fff;

text-decoration:none;

margin-bottom:12px;

}



.zl-footer-menu a:hover{

color:#c79a6b;

}





/* Нижняя часть */

.zl-footer-bottom{

border-top:1px solid rgba(255,255,255,.2);

margin-top:40px;

padding-top:20px;

text-align:center;

color:rgba(255,255,255,.6);

font-size:14px;

}





@media(max-width:800px){


.zl-footer-grid{

grid-template-columns:1fr;
gap:30px;

}


.zl-footer{

text-align:center;

}


.zl-footer-company img{

margin:0 auto 20px;

}


}







/* =========================================
   MOBILE MAIN
========================================= */



@media(max-width:1100px){


.zl-menu {


    display:none;


}



.zl-header {


    height:auto;


    padding:15px 0;


}



.zl-header-contact {


    display:none;


}



.category-grid {


    grid-template-columns:repeat(2,1fr);


}



.areas-grid {


    grid-template-columns:repeat(3,1fr);


}



.advantages-grid {


    grid-template-columns:repeat(2,1fr);


}



.zl-properties .property-grid {


    grid-template-columns:repeat(2,1fr);


}


}







@media(max-width:700px){



.container {


    padding:0 15px;


}



section {


    padding:45px 0;


}




.zl-hero {


    min-height:600px;


}



.zl-hero-content {


    padding-top:20px;


}



.zl-hero h1 {


    font-size:36px;


}



.zl-hero p {


    font-size:17px;


}



.hero-buttons {


    flex-direction:column;


}



.zl-search-box {


    padding:20px;


}



.zl-search-box form {


    grid-template-columns:1fr;


}



.stats-grid {


    grid-template-columns:1fr;


}



.category-grid {


    grid-template-columns:1fr;


}



.zl-properties .property-grid {


    grid-template-columns:1fr;


}



.section-title {


    flex-direction:column;


    align-items:flex-start;


    gap:15px;


}



.zl-mortgage {


    padding:30px 20px;


}



.zl-mortgage h2 {


    font-size:28px;


}



.advantages-grid {


    grid-template-columns:1fr;


}



.areas-grid {


    grid-template-columns:repeat(2,1fr);


}



.zl-footer-grid {


    grid-template-columns:1fr;


    gap:30px;


}



.zl-contact h2 {


    font-size:30px;


}


}

/* =========================================
   PROPERTY ARCHIVE
========================================= */


.property-archive {

    padding-bottom:80px;

}



.archive-header {


    background:var(--cream);


    padding:70px 0;


    margin-bottom:50px;


}




.archive-header h1 {


    font-size:42px;


    margin-bottom:15px;


}





.archive-header p {


    color:#666;


    font-size:18px;


}





.property-top-panel {


    display:flex;


    justify-content:space-between;


    align-items:center;


    margin-bottom:30px;


}





.property-count {


    font-size:18px;


}



.property-count strong {


    color:var(--brown);


}







/* =========================================
   FILTER
========================================= */


.property-filter {


    background:#f7f7f7;


    border-radius:25px;


    padding:30px;


    display:grid;


    grid-template-columns:repeat(5,1fr);


    gap:15px;


    margin-bottom:45px;


}





.property-filter input,
.property-filter select {


    height:52px;


    border:1px solid #ddd;


    background:#fff;


    border-radius:12px;


    padding:0 15px;


}





.property-filter button {


    height:52px;


    border:none;


    border-radius:12px;


    background:var(--brown);


    color:#fff;


    font-weight:600;


    cursor:pointer;


}





.property-filter button:hover {


    background:var(--brown-dark);


}







/* =========================================
   ARCHIVE CARDS
========================================= */


.property-archive .property-grid {


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:25px;


}





.property-card {


    background:#fff;


    border-radius:20px;


    overflow:hidden;


    box-shadow:0 8px 30px rgba(0,0,0,.08);


}





.property-card-image {


    height:260px;


    overflow:hidden;


}





.property-card-image img {


    width:100%;


    height:100%;


    object-fit:cover;


}





.property-card-content {


    padding:25px;


}





.property-card-content h2 {


    font-size:22px;


    margin-bottom:15px;


}





.property-card-content h2 a {


    color:#222;


    text-decoration:none;


}





.card-price {


    font-size:28px;


    font-weight:700;


    color:var(--brown);


    margin-bottom:20px;


}





.card-info {


    display:flex;


    flex-wrap:wrap;


    gap:10px;


    margin-bottom:20px;


}





.card-info span {


    background:var(--brown-light);


    padding:7px 12px;


    border-radius:10px;


    font-size:14px;


}





.card-address {


    color:#777;


    line-height:1.5;


    margin-bottom:20px;


}





.card-button {


    width:100%;


}








/* =========================================
   SINGLE PROPERTY
========================================= */


.single-property {


    padding:70px 0;


}





.property-gallery {


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:20px;


    margin-bottom:50px;


}





.gallery-item {


    height:280px;


    border-radius:20px;


    overflow:hidden;


}





.gallery-item img {


    width:100%;


    height:100%;


    object-fit:cover;


}





.property-main {


    background:#fff;


    border-radius:25px;


    padding:40px;


    box-shadow:var(--shadow);


}





.property-main h1 {


    font-size:40px;


    margin-bottom:20px;


}





.single-price {


    font-size:36px;


    font-weight:700;


    color:var(--brown);


    margin-bottom:30px;


}





.single-info {


    display:grid;


    grid-template-columns:repeat(4,1fr);


    gap:20px;


    margin-bottom:35px;


}





.single-info div {


    background:#f7f7f7;


    padding:20px;


    border-radius:15px;


}





.single-call-button {


    display:inline-flex;


    background:var(--brown);


    color:#fff;


    padding:16px 40px;


    border-radius:12px;


    text-decoration:none;


    font-weight:600;


}





.property-description,
.property-features {


    margin-top:50px;


}





.property-description h2,
.property-features h2 {


    font-size:30px;


}





.property-features ul {


    list-style:none;


    padding:0;


}





.property-features li {


    padding:15px 0;


    border-bottom:1px solid #eee;


}








/* =========================================
   AGENT
========================================= */


.property-agent {


    background:#f7f7f7;


    padding:40px;


    border-radius:25px;


    margin-top:50px;


}





.agent-card {


    background:#fff;


    padding:30px;


    border-radius:20px;


    display:flex;


    align-items:center;


    gap:30px;


}





.agent-photo img {


    width:130px;


    height:130px;


    border-radius:50%;


    object-fit:cover;


}





.agent-content h3 {


    font-size:26px;


    margin-bottom:10px;


}





.agent-phone {


    font-size:24px;


    font-weight:700;


    color:var(--brown);


    text-decoration:none;


}





.agent-call-button {


    margin-top:20px;


}








/* =========================================
   MOBILE
========================================= */


@media(max-width:1000px){


.property-filter {


    grid-template-columns:repeat(2,1fr);


}



.property-archive .property-grid {


    grid-template-columns:repeat(2,1fr);


}



.property-gallery {


    grid-template-columns:repeat(2,1fr);


}



.single-info {


    grid-template-columns:repeat(2,1fr);


}



.areas-grid {


    grid-template-columns:repeat(3,1fr);


}


}







@media(max-width:700px){


.archive-header {


    padding:45px 0;


}



.archive-header h1 {


    font-size:32px;


}



.property-filter {


    grid-template-columns:1fr;


    padding:20px;


}



.property-archive .property-grid {


    grid-template-columns:1fr;


}



.property-card-image {


    height:230px;


}



.property-gallery {


    grid-template-columns:1fr;


}



.gallery-item {


    height:240px;


}



.property-main {


    padding:25px;


}



.property-main h1 {


    font-size:28px;


}



.single-price {


    font-size:28px;


}



.single-info {


    grid-template-columns:1fr;


}



.agent-card {


    flex-direction:column;


    align-items:flex-start;


}



.agent-photo img {


    width:100px;


    height:100px;


}


}

.zl-footer-logo{

width:120px;

}


.zl-footer-logo img{

width:100%;
height:auto;
display:block;

}

/* ===========================
   HEADER FIX
=========================== */


.zl-header{

height:82px;
background:#fff;
border-bottom:1px solid #eee;
display:flex;
align-items:center;

}



.zl-header-inner{

display:flex;
align-items:center;
justify-content:space-between;
gap:35px;

}




/* LOGO */

.zl-logo{

flex-shrink:0;

}



.zl-logo img{

width:95px;
height:95px;
object-fit:contain;

display:block;

}





/* MENU */


.zl-menu{

flex:1;

}


.zl-menu ul{

display:flex;
align-items:center;
justify-content:center;
gap:28px;

margin:0;
padding:0;
list-style:none;

}



.zl-menu a{

font-size:15px;
color:#222;
text-decoration:none;
white-space:nowrap;

}





/* PHONE */


.zl-header-contact{

display:flex;
flex-direction:column;
align-items:flex-start;
min-width:170px;

}



.zl-phone{

font-size:18px;
font-weight:700;
line-height:1.2;
color:#222;
text-decoration:none;
white-space:nowrap;

}



.zl-header-contact span{

font-size:12px;
color:#777;
margin-top:5px;

}





/* BUTTON */


.zl-call-button{

background:#6B3F22;
color:#fff;

padding:13px 25px;

border-radius:10px;

font-weight:600;

white-space:nowrap;

text-decoration:none;

}





/* MOBILE */


@media(max-width:1100px){


.zl-header{

height:auto;
padding:15px 0;

}


.zl-header-inner{

flex-wrap:wrap;

}



.zl-menu{

display:none;

}


.zl-logo img{

width:75px;
height:75px;

}


.zl-header-contact{

margin-left:auto;

}


}




@media(max-width:600px){


.zl-header-contact{

display:none;

}



.zl-call-button{

font-size:14px;
padding:12px 18px;

}


}

/* =================================
   FOOTER FINAL DESIGN
================================= */


.zl-footer{

background:#2c1b12;

color:#fff;

padding:70px 0 25px;

}



.zl-footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr;

gap:70px;

align-items:start;

}




/* LOGO */


.zl-footer-logo{

display:block;

margin-bottom:25px;

}



.zl-footer-logo img{

width:110px;

height:110px;

object-fit:contain;

display:block;

filter:none;

}





.zl-footer-company p{

color:rgba(255,255,255,.75);

line-height:1.6;

max-width:330px;

}





.footer-company-title{

font-size:20px;

font-weight:700;

color:#fff!important;

margin-bottom:15px;

}





/* HEADINGS */


.zl-footer h3{

font-size:20px;

margin:0 0 25px;

color:#fff;

}





/* CONTACT */


.zl-footer-contacts p{

color:rgba(255,255,255,.75);

line-height:1.5;

margin-bottom:12px;

}





.footer-phone{

display:block;

font-size:24px;

font-weight:700;

color:#fff;

text-decoration:none;

margin-top:20px;

}





/* MENU */


.zl-footer-menu a{

display:block;

color:rgba(255,255,255,.85);

text-decoration:none;

margin-bottom:14px;

transition:.2s;

}



.zl-footer-menu a:hover{

color:#fff;

}





/* BOTTOM */


.zl-footer-bottom{

border-top:1px solid rgba(255,255,255,.15);

margin-top:50px;

padding-top:20px;

text-align:center;

font-size:14px;

color:rgba(255,255,255,.55);

}





/* MOBILE */


@media(max-width:900px){


.zl-footer-grid{

grid-template-columns:1fr;

gap:35px;

}


.zl-footer-company{

text-align:center;

}



.zl-footer-company p{

margin-left:auto;

margin-right:auto;

}



.zl-footer-contacts,
.zl-footer-menu{

text-align:center;

}



.zl-footer-logo img{

margin:auto;

}



}

/* ==========================
   HOME STATISTICS ICONS
========================== */


.stat-item {

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

}



.stat-icon {

width:55px;
height:55px;

border-radius:50%;

background:#6B3F22;

color:#fff;

display:flex;
align-items:center;
justify-content:center;

font-size:26px;

margin-bottom:15px;

}




.stats-grid strong {

font-size:36px;
font-weight:700;

color:#6B3F22;

line-height:1.2;

}



.stats-grid span {

margin-top:8px;

color:#555;

font-size:15px;

}




@media(max-width:768px){

.stat-icon {

width:50px;
height:50px;

font-size:22px;

}


.stats-grid strong {

font-size:32px;

}

}

/* =================================
 PREMIUM CATEGORY CARDS
================================= */


.category-card {

height:260px;

border-radius:22px;

overflow:hidden;

position:relative;

transition:.3s;

}



.category-card:hover {

transform:translateY(-7px);

}



.category-card:after {

content:"";

position:absolute;

inset:0;

background:
linear-gradient(
transparent,
rgba(0,0,0,.75)
);

}



.category-content {

position:absolute;

left:25px;

right:25px;

bottom:25px;

z-index:2;

color:#fff;

}



.category-content h3 {

font-size:28px;

margin-bottom:8px;

color:#fff;

}



.category-content p {

font-size:15px;

opacity:.9;

margin-bottom:20px;

}



.category-bottom {

display:flex;

align-items:center;

justify-content:space-between;

}



.category-bottom span {

font-size:14px;

background:rgba(255,255,255,.15);

padding:7px 14px;

border-radius:20px;

}



.category-bottom a {

width:38px;

height:38px;

border-radius:50%;

background:#fff;

color:#6B3F22;

display:flex;

align-items:center;

justify-content:center;

font-size:22px;

text-decoration:none;

}



@media(max-width:900px){


.category-card {

height:230px;

}



.category-content h3 {

font-size:24px;

}


}

/* =====================================================
   PREMIUM PROPERTY CATALOG
   ZILTREST
===================================================== */


/* ==========================
GLOBAL CATALOG
========================== */


.property-catalog {

    background:#faf8f5;

    padding-bottom:80px;

}



.property-catalog .container{

    max-width:1200px;

}



/* ==========================
CATALOG HERO
========================== */


.catalog-hero {


    background:

    linear-gradient(
    90deg,
    rgba(255,255,255,.96),
    rgba(255,255,255,.45)
    );


    padding:80px 0 60px;


}



.catalog-hero h1 {


    font-size:48px;

    line-height:1.15;

    color:#3b2416;

    margin-bottom:20px;


}



.catalog-hero p {


    font-size:19px;

    color:#666;

    max-width:600px;

    line-height:1.6;


}





/* ==========================
FILTER
========================== */


.catalog-filter-box {


    background:#fff;

    border-radius:25px;

    padding:35px;

    margin-bottom:45px;

    box-shadow:

    0 15px 40px rgba(0,0,0,.08);


}



.catalog-filter-header {


    margin-bottom:25px;


}



.catalog-filter-header h2 {


    font-size:30px;

    color:#3b2416;

    margin-bottom:10px;


}



.catalog-filter-header p {


    color:#777;


}




.catalog-filter {


    display:grid;

    grid-template-columns:
    repeat(5,1fr);

    gap:15px;

    align-items:end;


}



.filter-item label {


    display:block;

    font-size:13px;

    color:#777;

    margin-bottom:8px;


}



.filter-item input,
.filter-item select {


    width:100%;

    height:52px;

    border-radius:12px;

    border:1px solid #ddd;

    background:#fff;

    padding:0 15px;

    font-size:15px;


}



.catalog-filter-button {


    height:52px;

    border:none;

    background:#6b3f22;

    color:white;

    border-radius:12px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;


}



.catalog-filter-button:hover {


    background:#432515;


}





/* ==========================
TOOLBAR
========================== */


.catalog-toolbar {


    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;


}



.catalog-count {


    font-size:18px;

    color:#555;


}



.catalog-count strong {


    color:#6b3f22;

    font-size:22px;


}



.catalog-sort select {


    height:45px;

    border-radius:10px;

    border:1px solid #ddd;

    padding:0 20px;

    background:#fff;


}





/* ==========================
GRID
========================== */


.catalog-grid {


    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;


}







/* ==========================
CARD
========================== */


.catalog-card {


    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:

    0 8px 25px rgba(0,0,0,.08);

    transition:.3s;


}



.catalog-card:hover {


    transform:translateY(-6px);

    box-shadow:

    0 20px 45px rgba(0,0,0,.15);


}







/* IMAGE */


.catalog-card-image {


    height:270px;

    position:relative;

    overflow:hidden;


}



.catalog-card-image img {


    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;


}



.catalog-card:hover img {


    transform:scale(1.05);


}




.catalog-no-image {


    height:100%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#999;

    background:#eee;


}




/* BADGE */


.catalog-badge {


    position:absolute;

    top:18px;

    left:18px;


    background:#6b3f22;

    color:#fff;

    padding:8px 16px;

    border-radius:30px;

    font-size:13px;


}





/* FAVORITE */


.catalog-favorite {


    position:absolute;

    right:18px;

    top:18px;


    width:40px;

    height:40px;


    border-radius:50%;

    border:none;

    background:#fff;


    font-size:22px;

    cursor:pointer;


}






/* BODY */


.catalog-card-body {


    padding:25px;


}



.catalog-price {


    font-size:27px;

    font-weight:700;

    color:#6b3f22;

    margin-bottom:12px;


}



.catalog-card h2 {


    font-size:20px;

    line-height:1.35;

    margin-bottom:18px;


}



.catalog-card h2 a {


    color:#222;

    text-decoration:none;


}





.catalog-info {


    display:flex;

    gap:8px;

    flex-wrap:wrap;

    margin-bottom:20px;


}



.catalog-info span {


    background:#f5eee8;

    padding:7px 12px;

    border-radius:10px;

    font-size:14px;


}




.catalog-address {


    color:#777;

    font-size:15px;

    line-height:1.5;

    min-height:45px;

    margin-bottom:20px;


}





.catalog-more {


    display:block;

    text-align:center;

    background:#6b3f22;

    color:#fff;

    padding:13px;

    border-radius:12px;

    text-decoration:none;

    font-weight:600;


}



.catalog-more:hover {


    color:#fff;

    background:#432515;


}





/* EMPTY */


.catalog-empty {


    background:#fff;

    padding:50px;

    border-radius:20px;

    text-align:center;


}






/* ==========================
TABLET
========================== */


@media(max-width:1000px){


.catalog-filter {


    grid-template-columns:
    repeat(2,1fr);


}



.catalog-grid {


    grid-template-columns:
    repeat(2,1fr);


}


}






/* ==========================
MOBILE
========================== */


@media(max-width:600px){


.catalog-hero {


    padding:45px 0;


}



.catalog-hero h1 {


    font-size:32px;


}



.catalog-filter-box {


    padding:20px;


}



.catalog-filter {


    grid-template-columns:1fr;


}



.catalog-toolbar {


    flex-direction:column;

    align-items:flex-start;

    gap:15px;


}



.catalog-grid {


    grid-template-columns:1fr;


}



.catalog-card-image {


    height:230px;


}



.catalog-card-body {


    padding:20px;


}



.catalog-price {


    font-size:24px;


}



}
/* =====================================================
   SINGLE PROPERTY PREMIUM DESIGN
   ZILTREST
===================================================== */



.single-property-premium {

    background:#faf8f5;

    padding-bottom:80px;

}





/* ==========================
HERO
========================== */


.property-hero-premium {


    padding:70px 0;


}



.property-hero-premium > .container {


    display:grid;

    grid-template-columns:
    1.3fr 1fr;

    gap:50px;

    align-items:start;


}





/* ==========================
GALLERY
========================== */


.property-gallery-premium {


    background:#fff;

    padding:20px;

    border-radius:25px;

    box-shadow:

    0 10px 35px rgba(0,0,0,.08);


}



.property-main-image {


    height:560px;

    border-radius:20px;

    overflow:hidden;


}



.property-main-image img {


    width:100%;

    height:100%;

    object-fit:cover;


}




.property-thumbnails {


    display:flex;

    gap:12px;

    margin-top:15px;

    overflow-x:auto;


}



.property-thumbnails img {


    width:90px;

    height:70px;

    object-fit:cover;

    border-radius:10px;

    cursor:pointer;


}







/* ==========================
CONTENT
========================== */


.property-main-content {


    background:#fff;

    padding:40px;

    border-radius:25px;

    box-shadow:

    0 10px 35px rgba(0,0,0,.08);


}





.property-status-premium {


    display:inline-block;

    background:#6b3f22;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:14px;

    margin-bottom:20px;


}




.property-main-content h1 {


    font-size:38px;

    line-height:1.2;

    color:#3b2416;

    margin-bottom:25px;


}






.property-price-premium {


    font-size:42px;

    font-weight:700;

    color:#6b3f22;

    margin-bottom:35px;


}





/* ==========================
SHORT INFO
========================== */


.property-short-info {


    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

    margin-bottom:30px;


}



.property-short-info div {


    background:#f7f1ea;

    padding:18px;

    border-radius:15px;


}



.property-short-info strong {


    display:block;

    font-size:24px;

    color:#3b2416;


}



.property-short-info span {


    color:#777;

    font-size:14px;


}





.property-location-premium {


    color:#666;

    font-size:17px;

    line-height:1.6;

    margin-bottom:30px;


}






.property-call-premium {


    display:block;

    text-align:center;

    background:#6b3f22;

    color:#fff;

    padding:16px;

    border-radius:12px;

    text-decoration:none;

    font-weight:600;

    font-size:18px;


}



.property-call-premium:hover {


    background:#432515;

    color:#fff;


}







/* ==========================
DESCRIPTION
========================== */


.property-description-premium {


    padding:30px 0;


}



.property-description-card {


    background:#fff;

    padding:40px;

    border-radius:25px;

    box-shadow:

    0 10px 35px rgba(0,0,0,.06);


}



.property-description-card h2 {


    font-size:32px;

    color:#3b2416;


}



.description-text {


    font-size:18px;

    line-height:1.7;

    color:#555;


}





/* ==========================
FEATURES
========================== */


.property-features-premium {


    padding:40px 0;


}



.property-features-premium h2 {


    font-size:32px;

    margin-bottom:30px;

    color:#3b2416;


}




.features-grid-premium {


    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:20px;


}



.feature-item-premium {


    background:#fff;

    padding:25px;

    border-radius:18px;

    box-shadow:

    0 5px 20px rgba(0,0,0,.05);


}




.feature-item-premium span {


    display:block;

    color:#777;

    margin-bottom:10px;


}



.feature-item-premium strong {


    font-size:20px;

    color:#3b2416;


}







/* ==========================
BENEFITS
========================== */


.property-benefits-premium {


    padding:50px 0;


}



.property-benefits-premium h2 {


    font-size:32px;

    color:#3b2416;

    margin-bottom:30px;


}



.benefits-grid-premium {


    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;


}




.benefits-grid-premium > div {


    background:#fff;

    padding:30px;

    border-radius:20px;


}



.benefit-icon {


    width:45px;

    height:45px;

    background:#6b3f22;

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:20px;


}







/* ==========================
MORTGAGE
========================== */


.property-mortgage-premium {


    padding:40px 0;


}



.mortgage-box-premium {


    background:#6b3f22;

    color:#fff;

    padding:45px;

    border-radius:25px;


}




.mortgage-box-premium a {


    display:inline-block;

    margin-top:20px;

    background:#fff;

    color:#6b3f22;

    padding:14px 35px;

    border-radius:10px;

    text-decoration:none;

    font-weight:600;


}






/* ==========================
AGENT
========================== */


.property-agent-premium {


    padding:50px 0;


}




.agent-card-premium {


    display:flex;

    align-items:center;

    gap:40px;

    background:#fff;

    padding:40px;

    border-radius:25px;

    box-shadow:

    0 10px 35px rgba(0,0,0,.08);


}



.agent-photo-premium img {


    width:160px;

    height:160px;

    object-fit:cover;

    border-radius:50%;


}



.agent-info-premium h2 {


    margin-top:0;

    color:#3b2416;


}




.agent-phone-premium,
.agent-button-premium {


    display:inline-block;

    margin-top:15px;

    padding:14px 30px;

    border-radius:12px;

    text-decoration:none;


}



.agent-phone-premium {


    color:#6b3f22;

    font-size:22px;

    font-weight:700;


}




.agent-button-premium {


    background:#6b3f22;

    color:#fff;


}







/* ==========================
FINAL CTA
========================== */


.property-final-cta-premium {


    text-align:center;

    padding:70px 0;

}



.property-final-cta-premium h2 {


    font-size:38px;

    color:#3b2416;


}




.property-final-cta-premium a {


    display:inline-block;

    background:#6b3f22;

    color:#fff;

    padding:16px 45px;

    border-radius:12px;

    text-decoration:none;

    font-weight:600;


}







/* ==========================
MOBILE
========================== */


@media(max-width:1000px){


.property-hero-premium > .container {


    grid-template-columns:1fr;


}



.features-grid-premium {


    grid-template-columns:repeat(2,1fr);


}


}




@media(max-width:700px){


.property-main-image {


    height:350px;


}



.property-main-content {


    padding:25px;


}



.property-main-content h1 {


    font-size:28px;


}



.property-price-premium {


    font-size:32px;


}



.property-short-info {


    grid-template-columns:1fr;


}



.features-grid-premium {


    grid-template-columns:1fr;


}



.benefits-grid-premium {


    grid-template-columns:1fr;


}



.agent-card-premium {


    flex-direction:column;

    align-items:flex-start;


}



.agent-photo-premium img {


    width:120px;

    height:120px;


}


}

/* ==========================
SIMILAR PROPERTIES
========================== */


.similar-properties {

    padding:70px 0;

    background:#faf8f5;

}



.similar-properties h2 {


    font-size:36px;

    color:#3b2416;

    margin-bottom:35px;


}




.similar-grid {


    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;


}





.similar-grid .zl-property-card {


    box-shadow:

    0 8px 25px rgba(0,0,0,.08);


}



.similar-grid .zl-property-image {


    height:240px;


}





.similar-grid .zl-property-more {


    margin-top:15px;


}





@media(max-width:900px){


.similar-grid {


    grid-template-columns:repeat(2,1fr);


}


}



@media(max-width:600px){


.similar-grid {


    grid-template-columns:1fr;


}



.similar-properties h2 {


    font-size:30px;


}


}

/* ==========================
   AGENT PHOTO FIX
========================== */

.agent-photo-premium {
    width:130px;
    height:130px;
    flex-shrink:0;
    border-radius:50%;
    overflow:hidden;
}


.agent-photo-premium img {

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    border-radius:50%;

}



@media(max-width:768px){

    .agent-photo-premium {

        width:110px;
        height:110px;

    }

}

/* ==========================
   FIX SINGLE PROPERTY FOOTER GAP
========================== */


.single-property-premium {
    padding-bottom:0;
}



.similar-properties {
    padding-bottom:40px;
    margin-bottom:0;
}



.property-final-cta-premium {
    display:none;
}



/* убираем лишний воздух перед footer */

.single-property-premium + .similar-properties {
    margin-bottom:0;
}



.similar-properties .container {
    margin-bottom:0;
}



.zl-footer {
    margin-top:0;
}

/* ==========================
FIX SINGLE PROPERTY FOOTER
========================== */


.single-property-premium {
    padding-bottom:0;
}


.similar-properties {
    padding-top:40px;
    padding-bottom:40px;
    margin-bottom:0;
}


.similar-properties + .zl-footer {
    margin-top:0;
}


.zl-footer {
    margin-top:0;
}

/* =================================
SINGLE PROPERTY FINAL SPACING
================================= */


.single-property-premium {
    padding-bottom:0 !important;
}


.property-agent-premium {
    padding-bottom:40px !important;
    margin-bottom:0 !important;
}


.similar-properties {
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:40px !important;
    padding-bottom:50px !important;
}


.single-property-premium + .similar-properties {
    margin-top:0 !important;
}


.zl-footer {
    margin-top:0 !important;
}

/* =================================
PROPERTY AVITO GALLERY
================================= */


.property-gallery-premium{

width:100%;

}



.property-main-image{

height:520px;

border-radius:25px;

overflow:hidden;

background:#eee;

}


.property-main-image img{

width:100%;

height:100%;

object-fit:cover;

display:block;

cursor:pointer;

}





.property-thumbnails{

display:flex;

gap:12px;

margin-top:15px;

overflow-x:auto;

scroll-behavior:smooth;

padding-bottom:5px;

}



.property-thumbnails::-webkit-scrollbar{

height:5px;

}



.property-thumb{

width:90px;

height:70px;

flex:none;

border-radius:12px;

overflow:hidden;

border:2px solid transparent;

cursor:pointer;

}



.property-thumb img{

width:100%;

height:100%;

object-fit:cover;

}



.property-thumb.active{

border-color:#6B3F22;

}






/* MOBILE */


@media(max-width:768px){


.property-main-image{

height:300px;

border-radius:18px;

}



.property-thumbnails{

gap:10px;

}



.property-thumb{

width:75px;

height:60px;

}


}

/* =================================
GALLERY ARROWS
================================= */


.property-main-image{

    position:relative;

}



.gallery-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:45px;

    height:45px;

    border-radius:50%;

    border:none;

    background:rgba(255,255,255,.95);

    color:#6B3F22;

    cursor:pointer;

    z-index:5;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:0;

    font-size:0;

    box-shadow:0 5px 20px rgba(0,0,0,.15);

    transition:.25s ease;

}



.gallery-arrow::before{

    font-size:32px;

    font-family:Arial, sans-serif;

    font-weight:300;

    line-height:1;

    display:block;

    margin-top:-3px;

}



.gallery-prev::before{

    content:"‹";

}



.gallery-next::before{

    content:"›";

}




.gallery-arrow:hover{

    background:#6B3F22;

    color:#fff;

    transform:translateY(-50%) scale(1.05);

}




.gallery-prev{

    left:20px;

}



.gallery-next{

    right:20px;

}





.gallery-counter{

    position:absolute;

    bottom:20px;

    right:20px;

    background:rgba(0,0,0,.55);

    color:#fff;

    padding:8px 14px;

    border-radius:20px;

    font-size:14px;

}







@media(max-width:768px){


.gallery-arrow{

    width:38px;

    height:38px;

}


.gallery-arrow::before{

    font-size:26px;

    margin-top:-2px;

}


.gallery-prev{

    left:10px;

}


.gallery-next{

    right:10px;

}



.gallery-counter{

    bottom:12px;

    right:12px;

}


}

/* =========================================
   HOME - BEST PROPERTIES
   3 CARDS IN ONE ROW
========================================= */


.zl-properties .property-grid{

    display:grid;

    grid-template-columns:repeat(3, 1fr);

    gap:30px;

    width:100%;

}



/* чтобы карточки были одинаковой высоты */

.zl-properties .property-grid .property-card,
.zl-properties .property-grid .zl-property-card{

    height:100%;

}



/* планшеты */

@media(max-width:1024px){


    .zl-properties .property-grid{

        grid-template-columns:repeat(2, 1fr);

    }


}




/* мобильные */

@media(max-width:600px){


    .zl-properties .property-grid{

        grid-template-columns:1fr;

    }


}

/* ===============================
PROPERTY PAGINATION
=============================== */


.pagination,
.page-numbers{

display:flex;

justify-content:center;

gap:10px;

margin:50px 0;

list-style:none;

padding:0;

}



.page-numbers a,
.page-numbers span{


width:42px;

height:42px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#fff;

border:1px solid #eee;

color:#333;

font-size:15px;

text-decoration:none;

transition:.3s;


}



.page-numbers a:hover{


background:#b90c14;

color:#fff;

border-color:#b90c14;


}



.page-numbers .current{


background:#b90c14;

color:white;

border-color:#b90c14;


}