@font-face {
    font-family: 'DM_Sans';
    src: url(/assets/fonts/DMSans-VariableFont.ttf);
}
@font-face {
    font-family: 'Manrope';
    src: url(/assets/fonts/Manrope-VariableFont_wght.ttf);
}
*, *::before, *::after {box-sizing: border-box;}
* {margin: 0;padding: 0;box-sizing: border-box;font-family: var(--thm-font-family);}

:root{
    --primary:          #D1065B;
    --background:       #f7f7f7;
    --secondary:        #0A1D2F;
    --color-white:      #FFFFFF;
    --color-black:      #000000;
    --thm-font-family: 'DM_Sans', 'Manrope';
}

html{scroll-behavior: smooth;font-family: var(--thm-font-family);}
html, body {height: 100%;}
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  font-family: var(--thm-font-family);
  background: var(--background);
}
img{width: 100%;height: 100%;object-fit: contain;}
img, picture, video, canvas, svg {display: block;max-width: 100%;}
input, button, textarea, select {font: inherit;}
a {text-decoration: none;color: inherit;transition: 0.3s;}
h1, h2, h3, h4, h5 {font-weight: 600;line-height: 1.2;}

.container {
  width: 98%;
  max-width: 1200px;
  margin: 0 auto;
}
.plain-text{font-size: 16px;line-height: 24px;}
.card-text{font-size: 1em;}
.section-title{font-size: 36px;font-weight: bold;}
.card-title{font-size: 18px;font-weight: bold;}
.thm-btn{
    background: var(--primary);
    padding: 9px 20px;
    border-radius: 100px;
    font-family: var(--thm-font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    color: var(--color-white);
}
.thm-btn:hover{background: var(--secondary);}
.padding-bottom{padding-bottom: 120px;}
.padding-top{padding-top: 150px;}
.flex-block{display: flex;gap: 24px;}
/* ---------------------------------------------
        preloader
   --------------------------------------------- */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--background);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
#preloader.fade-out {opacity: 0;visibility: hidden;}
.spinner {
  width: 60px;
  height: 60px;
  border: 6px solid var(--secondary);
  border-top: 6px solid var(--primary);     
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {to {transform: rotate(360deg);}}

/* ---------------------------------------------
        tap to top
   --------------------------------------------- */
.tap-to-top{outline: 2px solid var(--primary);border-radius: 50%;}   
.tap-to-top svg{width: 24px;height: 24px;fill:var(--primary);}
#toTop {
  position: fixed;
  right: 20px;
  bottom: 30px;
  background: var(--color-white);
  border: none;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  z-index: 100;
}
#toTop.show {opacity: 1; visibility: visible; transform: translateY(0);}
#toTop svg {display: block;}

/* ---------------------------------------------
        language selector
   --------------------------------------------- */
.lang-menu {
  position: relative;
  display: inline-block;
  font-family: sans-serif;
}
.selected-language {
  cursor: pointer;
  padding: 15px;
  background: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
.lang-circle {
    font-family: var(--thm-font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    color: var(--color-black);
}
.lang-submenu {
  position: absolute;
  top: 55px;
  left: -5px;
  background: var(--color-white);
  border-radius: 12px;
  box-shadow: 0px 8px 16px rgba(0,0,0,0.1);
  padding: 10px 0;
  display: none;
  z-index: 100;
  transition: 0.3s;
}
.lang-submenu ul {list-style: none;}
.lang-submenu li {padding: 10px 22px; transition: 0.3s;}
.lang-submenu li a:hover {color: var(--primary);}
.lang-submenu a {font-weight: 400; font-size: 16px; line-height: 21px;}

/* ---------------------------------------------
        pagination
   --------------------------------------------- */
.pagination-nav {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}
.pagination-btn {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
  font-weight: 700;
  font-size: 18px;
}
.pagination-btn:not(.active):not(.pagination-arrow) {border: 2px solid #e91e63; color: var(--primary);}
.pagination-btn:not(.active):not(.pagination-arrow):hover {background-color: rgba(233, 30, 99, 0.1);}
.pagination-btn.active {background: var(--primary); border: 2px solid #e91e63; color: var(--color-white);}
.pagination-btn.pagination-arrow {border: 2px solid #e91e63;}
.pagination-arrow img{width: 28px;height: 28px; padding: 4px;}
.pagination-btn.pagination-arrow:hover {background: var(--color-white);}

/* ---------------------------------------------
        header
   --------------------------------------------- */
.header-logo {margin-right: 20px;}
.website-header{position: absolute;z-index: 100;width: 100%;top: 24px;}
.header{display: flex;gap: 24px;justify-content: space-between;align-items: center;position: relative;}
.header-navigation{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--color-white);
    border-radius: 100px;
    padding: 12px;
    width: 100%;   
}
.header-logo img{height: 40px;}
.header-menus{display: flex;gap: 10px;align-items: center;justify-content: space-between;width: 100%;}
.header-menus .nav-menu{
	display: flex;
    gap: 5px 20px;
	align-items: center;
	list-style: none;
	margin: 0 auto;
    margin-left: auto;
    padding: 0;
    flex-wrap: wrap;
}
.header-menus .nav-menu li a{
    font-family: var(--thm-font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    color: var(--color-black); 
    text-decoration: none;
    transition: 0.3s;
}
.header-menus .nav-menu li a:hover{color: var(--primary);}
.menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 8px;
    background: none;
    border: none;
}
.menu-toggle span {
    display: block;
    width: 25px;
    height: 3px;
    background: #000;
    border-radius: 2px;
    transition: all 0.3s ease;
}
.close-menu{display: none;}
.home-addr-item{display: flex;gap: 3px;align-items: center;}
.home-addr-item .home-addr-icon{width: 20px;}
.home-addr-link{color: var(--primary) !important;letter-spacing: -1px;}
/* ---------------------------------------------
    hero section
   --------------------------------------------- */
.website-hero-section {
  position: relative;
  width: 100%;
}
.hero-section {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2); 
    z-index: 2;
}
.hero-content {
  position: relative;
  z-index: 3;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  margin: 250px auto;
}
.hero-content .hero-title {
  font-weight: 800;
  font-size: 60px;
  color: var(--color-white);
  margin: 50px 0 10px 0;
}
.hero-content .hero-description {
  font-weight: 500;
  font-size: 30px;
  color: var(--color-white);
  margin-bottom: 50px;
}
.home-form-filter{
  background: var(--color-white);
  border-radius: 100px;
  width: max-content;
}
.hm-sort-top{
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 9px 9px 9px 24px;
}
.banner-divider{
  width: 1px;
  height: 24px;
  background: var(--color-black);
}
.hm-bn-tp-dropdown {
  position: relative;
  display: inline-block;
  font-family: var(--color-white);
  width: 150px;
}
.hm-bn-tp-dropdown:first-child{width: 140px;}
.hm-bn-tp-dropdown-btn {
  color: var(--color-black);
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: max-content;
}
.hm-bn-tp-dropdown-content {
  display: none;
  position: absolute;
  color: var(--color-black);
  background: var(--color-white);
  border-radius: 4px;
  width: 160px;
  z-index: 100;
}
.hm-bn-tp-dropdown-item {padding: 10px 15px; cursor: pointer;}
.hm-bn-tp-dropdown-item:hover {background: var(--background); color: var(--primary); }
.hm-bn-tp-show {display: block;}
.dropdown-container {
  position: relative;
  display: inline-block;
  width: 140px;
}
.dropdown-button {
  color: var(--color-black);
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dropdown-content {
  color: var(--color-black);
  display: none;
  position: absolute;
  background: var(--color-white);
  border-radius: 4px;
  width: 200px;
  max-height: 250px;
  overflow-y: auto;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 1004;
}
.dropdown-item {
  padding: 10px 15px;
  display: flex;
  align-items: center;
}
.dropdown-item:hover {background: var(--background);}
.dropdown-item input {margin-right: 10px;}      
.show {display: block;}
.hm-bn-price-dropdown {
  position: relative;
  display: inline-block;
  width: max-content;
}
.hm-bn-dropdown-btn {
  color: var(--color-black);
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hm-bn-dropdown-content {
  display: none;
  position: absolute;
  background: var(--color-white);
  color: var(--color-black);
  border-radius: 4px;
  width: 250px;
  padding: 15px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 1005;
}   
.hm-bn-price-input-group {margin-bottom: 10px;}
.hm-bn-price-label {font-weight: 500;}      
.hm-bn-price-input {
  flex: 1;
  padding: 8px;
  border-radius: 10px;
  border: 1px solid #0A1D2F;
  width: 220px;
}
.hm-bn-show {display: block;}
.search-banner__button{
  background: var(--primary);
  border-radius: 100px;
  padding: 9px;
  border: none;
  cursor: pointer;
}
/* ======= hero cards ========== */
.hero-slider {
  position: absolute;
  bottom: 0;
	transform:translateY(50%);
  z-index: 2;
  width: 100%;
  border-radius: 20px;
}
.properties-carousel-container {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box; 
  position: relative;
}
.property-content {
  padding: 24px 30px;
  display: flex;
  flex-direction: column;
}
.properties-carousel {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none; 
  gap: 24px;
}
#properties-carousel::-webkit-scrollbar {display: none;}
.property-content h2 {
  margin-bottom: 6px;
  font-weight: 700;
  font-size: 26px;
  line-height: 34px;
	position: relative;
	z-index: 3;
  color: var(--secondary);
}
.property-content .property-count {
  font-weight: 400;
  font-size: 26px;
  line-height: 34px;color: var(--primary);
}
.margin-cont {
  flex: 0 0 auto;
  width: calc(((100vw - 1200px) / 2) - 31px);
  height: 260px;
  position: relative;
  overflow: hidden; 
  transition: 0.3s; 
}
.property-link {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: 0.3s;
  border: 2px solid #D1065B;
  position: absolute;
  bottom: 30px;
}
.property-link img{width: 40px;height: 40px;padding: 9px;object-fit: contain;}
.property-link:hover {background: var(--background);}
.property-item {
  flex: 0 0 auto;
  width: 380px;
  height: 260px;
  background: var(--color-white);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
  transition: 0.3s;
  user-select: none; 
  -webkit-user-select: none; 
  -moz-user-select: none;
  -ms-user-select: none;
}
.property-item:active {cursor: grabbing; transform: scale(0.98);}
.property-image {width: 100%; height: 180px;}
.property-image img {
  width: 265px;
  height: 100%;
  object-fit: cover;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
}
.pink-blob {
  position: absolute;
  width: 270px;
  height: 270px;
  background: #D1065B15;
  border-radius: 50%;
  pointer-events: none;
}
.pink-blob-bottom-right {bottom: -60px; right: -30px;}

.hero-logo {
  width: 100%;
  max-width: 350px;
}
/* ---------------------------------------------
      cards style
   --------------------------------------------- */
.home-cards{margin-top: 270px;}
.main-cataloguie-sort{
	display: flex;
	gap: 24px;
	align-items: center;
	flex-wrap: wrap;
	padding: 16px 0 32px 0; 
	max-height: 150px; 
	overflow-x: auto;
}
.main-catalogue-category{
  padding: 12px 24px;
  outline: 1px solid #B1B1B1;
  border-radius: 100px;
  transition: 0.3s;
}
.main-catalogue-category-active{outline: none;background: var(--primary);color: var(--color-white);}
.main-catalogue-category:hover{outline: none; border: none; background: var(--primary);color: var(--color-white);}
.imobil-grid-top{padding-bottom: 40px;}
.imobil-grid{
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1fr 1fr;
}
.imobil-item {
    background: var(--color-white);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    transition: 0.3s;
}
.imobil-item:hover {transform: translateY(-5px);}
.imobil-image-container {
  position: relative;
  width: 100%;
  padding-top: 60%;
  overflow: hidden;
}
.imobil-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.imobil-badges {
  position: absolute;
  top: 20px;
  left: 30px;
  display: flex;
  gap: 8px;
  z-index: 1;
}
.badge {
  background: var(--secondary);
  color: var(--color-white);
  padding: 6px 12px;
  border-radius: 20px;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
}
.imobil-details {
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.imobil-title {
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 18px;
  line-height: 23px;
  color: var(--secondary);
}
.imobil-title:hover{color: var(--primary);}
.imobil-address {
  font-weight: 400;
  font-size: 15px;
  line-height: 20px;
  color: #555555;
  margin-bottom: 16px;
}
.feature-item {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--color-black);
  font-weight: 400;
  font-size: 16px;
}
.feature-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.imobil-features {
    display: flex;
    gap: 10px 20px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.imobil-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 16px;
    border-top: 1px solid #D4D4D4;
    margin-top: auto;
}
.footer-logo img{
	width: 270px;
}
.imobil-price {
  font-weight: 400;
  font-size: 26px;
  color: var(--primary);
}
.imobil-action-btn {
  font-weight: 700;
  font-size: 18px;
  color: var(--color-white);
}
.imobil-action-btn-optional,.badge-optional{background: #cccccc; cursor: default;}
.imobil-action-btn:hover {background: var(--secondary);}
.imobil-action-btn-optional:hover{background: #cccccc;}
.imobil-image-option img{opacity: 0.5;cursor: default;}

/* ---------------------------------------------
      Team Card
   --------------------------------------------- */
 .team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  padding-top: 48px;
}      
.team-card {
  background: var(--color-white);
  border-radius: 20px;
  overflow: hidden;
  transition: 0.3s;
}
.team-card:hover {transform: translateY(-5px);}
.team-card__image img{width: 100%; object-fit: cover; aspect-ratio: 1/1;}
.team-card__social{margin-bottom: 10px; display: flex; gap: 10px;}
.team-card__social a{
  border: 1px solid #D1065B;
  transition: transform 0.4s ease;
  border-radius: 67px;
  padding: 8px;
}
.team-card__social a img{
  width: 16px;
  height: 16px;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.team-card__social a:hover {transform: rotate(360deg);}
.team-card-content{padding: 20px 30px;}
.team-card__name {margin: 13px 0 4px 0;}
.team-card__position {
  font-size: 16px;
  font-weight: 500;
  color: #555555;
  margin-bottom: 20px;       
} 
/* ---------------------------------------------
      about us
   --------------------------------------------- */
.about-us-section{flex-direction: column; gap: 48px;}
.about-us-row{display: grid; gap: 24px; grid-template-columns: repeat(2, 1fr);align-items: center;}
.about-us-text{flex-direction: column;align-items: baseline;}
.about-us-thumb{border-radius: 20px;overflow: hidden;}
.about-us-midle{flex-direction: column;}
.about-us-activites{align-items: start;}
.info-block {
    position: relative;
    background: var(--color-white);
    border-radius: 20px;
    padding: 16px 24px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.info-text {
  color: var(--primary);
  position: relative;
  z-index: 2;
  font-weight: 500;
  font-size: 18px;
  line-height: 23px;
}
.info-blob {
    position: absolute;
    top: -40px; 
    right: -40px;
    width: 141px;
    height: 141px;
    background: #D1065B05;
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}
.info-block-activites{gap: 16px;flex-direction: column;}
.values-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.value-item {
  display: grid;
  grid-template-columns: 1fr 6fr;
  align-items: center;
  gap: 10px;
}
.pink-line {
    width: 40px; 
    height: 4px; 
    background: var(--primary);  
    border-radius: 20px; 
}
.value-item p {
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  color: #555555;
}
.advantages-section{padding-top: 50px;flex-direction: column;gap: 45px;}
.advantages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); 
  gap: 30px;
}
.advantage-item {
  background: var(--color-white);
  border-radius: 20px;
  padding: 24px;
  display: flex;
  gap: 16px;
  overflow: hidden;
  align-items: center;
  position: relative;
}
.advantage-icon-wrapper {
  position: relative;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2; 
}
.advantage-blob {
  position: absolute;
  top: 50%;
  left: -60px;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  background-color: #D1065B05;
  border-radius: 50%;
  z-index: 1;
}
.advantage-title {margin-bottom: 12px;}
.advantage-icon-wrapper{width: 80px; height: 80px;}
/* ---------------------------------------------
       Imobil
   --------------------------------------------- */
.imobil-filters{margin: 45px 0 24px 0;}
.imobil-filters-popular{padding-bottom: 48px;}
.pagination-imobil{padding-top: 96px;}
.imobil-single-head{gap: 40px;padding-bottom: 48px;align-items: center;flex-wrap: wrap;justify-content: space-between;}
.imobil-main-info{gap: 33px;flex-wrap: wrap;align-items: center;}
.offer-type-btn{gap: 10px;}
.offer-type{
  font-weight: 700;
  font-size: 18px;
  color: var(--color-white);
  padding: 12px 24px;
  background: var(--secondary);
  border-radius: 100px;
}
.imobil-id{font-weight: 700;font-size: 18px;color: #555555;}
.imobil-content-divs{display: flex; gap: 24px;}
.imobil-content-single{
  flex: 1;
  display: flex;
  gap: 48px;
  flex-direction: column;
}
.show_btn_filter{
	display: flex; 
	gap: 10px;
	border: 1px solid #D1065B;
    width: max-content;
    padding: 10px 30px;
    margin: 20px 0;
	border-radius: 10px;
}
 .show_btn_filter img{width: 24px;}
 .imobil-show-filters .show_btn_filter {display: none;}
 .imobil-show-filters form {display: block !important;}
 .imobil-show-filters .close_btn_filter {display: none;}
 .mobile-form-result{display: none;}
/* slider gallery */
.imobil-slider {width: 100%; position: relative;}
.imb-sld-main {position: relative;overflow: hidden;border-radius: 20px;}
.imb-sld-wrapper > img {width: 100%; height: 480px; object-fit: cover; border-radius: 20px;}
.imb-sld-btn {
  position: absolute;
  top: 240px;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255, 255, 255, 0.7);
  color: var(--secondary);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.imb-sld-btn img{width: 28px;height: 28px; margin: 14px;}
.imb-sld-btn-left {left: 20px;}
.imb-sld-btn-right {right: 20px;}
.imb-sld-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
  overflow-x: auto;
}
.imb-sld-thumb {
  width: 150px;
  height: 100px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.5;
  transition: all 0.3s;
}
.imb-sld-thumb.active {opacity: 10;}
.imb-sld-thumb img {width: 100%; height: 100%; object-fit: cover; display: block;}
.imb-sld-fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  flex-direction: column;
}
.imb-sld-fullscreen img {max-width: 90%; max-height: 80%; object-fit: contain; z-index: 10000;}
.imb-sld-fullscreen .imb-sld-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: var(--color-white);
  cursor: pointer;
}
.imb-sld-fullscreen .imb-sld-fs-btn {
  position: absolute;
  top: 50%;
  font-size: 40px;
  color: var(--color-white);
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10000;
  transform: translateY(-50%);
}
.imb-sld-fs-left {left: 20px;}
.imb-sld-fs-right {right: 20px;}

.imobil-sidebar{
  display: flex;
  gap: 12px;
  flex-direction: column; 
  top: 50px;
  width: 384px;
}
.imobil-single-price{
  font-weight: 700;
  font-size: 25px;
  color: var(--color-white);
  background: var(--primary);
  border-radius: 20px;
  padding: 12px 24px;
}
.imobil-spec{background: var(--color-white);border-radius: 20px;gap: 15px; width: 100%;}
.imobil-spec .spec-icon img{width: 40px;height: 40px;object-fit: cover;}
.spec-icon{background: #D1065B10; border-radius: 20px; padding: 14px;}
.spec-info{padding: 8px 0;}
.spec-info .plain-text{color: #555555;}
.imobil-spec-top{display: flex;gap: 12px;}
.imobil-agent{padding-bottom: 25px;}
.imobil-agent-container{background: var(--color-white);padding: 20px;border-radius: 20px;}
.imobil-agent-thumb{width: 80px;height: 80px;}
.imobil-agent-thumb img{object-fit:cover; border-radius: 10px;}
.imobil-agent-phone{align-items: center; gap: 8px;color: var(--primary);font-weight: 400;font-size: 16px;}
.imobil-agent-phone img{width: 24px;height: 24px;object-fit: contain;}
.imobil-advantages-grid {padding-top: 25px; display: flex; flex-wrap: wrap;  gap: 24px;}
.adv-grid {display: flex; align-items: center; gap: 14px;}
.adv-icon img {width: 24px; height: 24px; object-fit: contain;}

.imobil-content-description .imobil-content-text{color: #555555; margin-top: 24px;}
.imobil-content-description .imobil-content-text ul{list-style-type: inherit;margin-bottom: 10px;}
.imobil-content-description .imobil-content-text ul li{color: #555555;margin-left: 20px;}

.imobil-filters-top{display: flex;gap: 80px; align-items: center;flex-wrap: wrap; justify-content: space-between;}
.imobil-filters-top p{color: #555555;}
.imobil-filters-top p span{font-weight: 700;font-size: 16px;color: var(--color-black);}
.imobil-filters-resset{margin-left: auto;gap: 20px; display: flex;}
.imobil-filters-resset button{border: none; cursor: pointer;}

.imb-inc-sort-section {display: flex; align-items: center; gap: 16px;}
.imb-inc-custom-select {
  position: relative;
  width: 160px;
  text-align: left;
  outline: none;
  height: 40px;
  line-height: 40px;
  background: var(--color-white);
  border: 1px solid #D9D9D9;
  border-radius: 10px;
  cursor: pointer;
  font-size: 16px;
  color: #555555;
  transition: 0.3s;
}
.imb-inc-select-selected {
  padding: 0 15px;
  padding-right: 35px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  transition: 0.3s;
}
.imb-inc-select-selected::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 15px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
  transform: rotate(45deg);
  pointer-events: none;
  transition: 0.3s;
}
.imb-inc-select-arrow-active::after {transform: rotate(-135deg);}
.imb-inc-select-items {
  position: absolute;
  background: var(--color-white);
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
  border: 1px solid #D9D9D9;
  border-radius: 10px;
  max-height: 200px;
  width: 200px;
  overflow-y: auto;
}
.imb-inc-select-items div {
  padding: 10px 15px;
  cursor: pointer;
  color: #555555;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.3;
}
/* Imobill all filters */
.imb-inc-select-items div:hover,.same-as-selected {background: #f5f5f5;}
.imb-inc-select-hide {display: none;}
.imobil-filters{display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr;}
.imb-inc-id-filter, .imb-srt-sf-filter, .imb-fltr-unv-filter {position: relative;}
.imb-srt-sf-dropbtn, .imb-fltr-unv-dropbtn, .imb-inc-id-dropbtn {
  background: var(--color-white);
  color: var(--secondary);
  padding: 8px 15px;
  border: 1px solid #D9D9D9;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
}
.imb-inc-id-arrow::after, .imb-fltr-unv-arrow::after,.imb-srt-sf-arrow::after, .make-anonce-arrow::after{
  content: "";
  position: absolute;
  top: 40%;
  right: 15px;
  width: 6px;
  height: 6px;
  border-right: 1px solid var(--secondary);
  border-bottom: 1px solid var(--secondary);
  transform: rotate(45deg);
  pointer-events: none;
  transition: 0.3s;
}
.imb-inc-id-dropdown-content, .imb-srt-sf-dropdown-content, .imb-fltr-unv-dropdown-content {
  display: none;
  position: absolute;
  background: var(--color-white);
  width: 100%;
  z-index: 2;
  padding: 15px;
  border-radius: 0 0 10px 10px;
  border: 1px solid #D9D9D9;
  left: 0;
}
.imb-inc-id-dropdown-content.show, .imb-srt-sf-dropdown-content.show, .imb-fltr-unv-dropdown-content.show {display: block;}
.imb-inc-id-input, .imb-srt-sf-input-min, .imb-srt-sf-input-max {
  width: 100%;
  padding: 8px;
  border: 1px solid #D9D9D9;
  border-radius: 10px;
}
.imb-srt-sf-separator {margin: 0 8px; color: #555555;}
.imb-srt-sf-range-inputs { display: flex; flex-direction: column; align-items: center;}
.imb-fltr-unv-options {max-height: 300px; overflow-y: auto;}
.imb-fltr-unv-option {display: block; padding: 5px 0;  cursor: pointer;}
.imb-fltr-unv-option:hover {background: #f1f1f1;}
.imb-fltr-unv-option input {margin-right: 8px;}
.imb-fltr-unv-actions {display: flex;  gap: 5px;}
.imb-inc-id-dropbtn:hover,.imb-srt-sf-dropbtn:hover,.imb-fltr-unv-dropbtn:hover{background: #e9ecef;}

/* ---------------------------------------------
        Contacts
   --------------------------------------------- */
.contacts-container{flex-direction: column; gap: 24px;}
.contact-content-top{gap: 24px;display: grid; grid-template-columns: 1fr 1fr;}
.contact-iframe iframe{width: 100%;height: 650px;border: 3px solid var(--primary); border-radius: 20px;overflow: hidden;}

.contact-form {background: var(--color-white); border-radius: 20px; padding: 30px;}
.contact-form-ctn {display: flex; flex-direction: column;padding-top: 24px;}
.form-group-row {display: flex; gap: 20px; margin-bottom: 20px;}
.form-group-row input {
  width: 100%;
  flex: 1; 
  padding: 10px 15px;
  border: none; 
  background: var(--background); 
  border-radius: 10px;
  font-size: 16px;
  color: #555555;
}
.form-group-full {margin-bottom: 20px;}
textarea#message {
    width: 100%;
    height: 170px;
    padding: 15px 20px;
    border: none;
    background: var(--background);
    border-radius: 20px;
    font-size: 16px;
    color: #555555;
    resize: vertical;
}

.contact-addresses {background: var(--color-white); border-radius: 20px; padding: 30px;}
.contact-addr-description {color: #555555; margin: 24px 0;}
.contact-addr-details {display: flex; flex-direction: column; gap: 12px; margin-bottom: 30px;}
.contact-addr-item {display: flex; align-items: center; gap: 15px;transition: 0.3s;}
.contact-addr-item:hover{margin-left: 5px;}
.contact-addr-icon {width: 24px; height: 24px;}
.contact-addr-social-img {width: 32px;height: 32px;}
.contact-addr-link {color: var(--primary); transition: 0.3s;}
.contact-addr-link:hover {color: #c2185b;}
.contact-addr-social-icons {display: flex; gap: 16px;  margin-top: 30px; flex-wrap: wrap; justify-content: flex-start;}
.contact-addr-social-btn {border-radius: 50%; transition: 0.3s;padding: 8px;background: var(--primary);}
.contact-addr-social-btn:hover { transform: rotate(360deg);}

/* ------------------------------------------
      Manager styles
   ------------------------------------------ */
.manager-contact-form {
  background: var(--color-white);
  border-radius: 20px;
  padding: 24px;
  width: 100%;
  margin: 0 auto;
  font-family: sans-serif;
}
.manager-contact-form h2 {margin-bottom: 20px;}
.manager-form-row {display: flex; gap: 12px; flex-wrap: wrap;}
.manager-form-row input {
  flex: 1;
  min-width: 200px;
  padding: 12px;
  border: 1px solid #d4d4d4;
  border-radius: 10px;
  font-size: 16px;
}
.manager-contact-form textarea {
  width: 100%;
  height: 130px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #d4d4d4;
  border-radius: 10px;
  font-size: 16px;
  resize: vertical;
}
.manager-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  flex-wrap: wrap;
  gap: 10px;
}
.manager-checkbox-container {display: flex; align-items: center; gap: 5px; font-size: 16px;}
.manager-checkbox-container input[type="checkbox"] {width: 20px; height: 20px; cursor: pointer;}
.manager-checkbox-container a {color: var(--primary); text-decoration: none;}
.manager-form-footer button[type="submit"] {
  background: var(--primary);
  color: var(--color-white);
  padding: 10px 28px;
  border: none;
  border-radius: 100px;
  font-size: 15px;
  cursor: pointer;
  transition: 0.3s ease;
}
.manager-form-footer button[type="submit"]:hover {background: var(--secondary);}
.manager-form-footer button[disabled] {background: var(--background); cursor: not-allowed;}
.manager-form-footer button[disabled]:hover {background: var(--background);}

.manager-single-proprietes{padding-top: 120px;}
.manager-single-header .manager-single-description{ padding-top: 24px;}
.manager-single-links{display: flex; gap: 24px; align-items: center;justify-content: space-between; }
.manager-single-links .contact-addr-social-icons{margin-top: 0;}
.manager-single-property-list{padding: 40px 0 24px 0;}
.manager-single-moore-property{display: flex; justify-content: center; padding-top: 40px;}

.managers-grid{flex-direction: column;gap: 24px;padding-top: 48px;}
.manager-item{display: grid; grid-template-columns: 280px auto; gap:0; position: relative;background: var(--color-white);border-radius: 20px;overflow: hidden; }
.manager-item-thumb img{
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
  aspect-ratio: 1/1;
}
.manager-itm-button{background: var(--secondary) !important;height: max-content; width: max-content;}
.manager-item-detail{padding: 24px;}
.manager-itm-name a{
  padding-bottom: 8px;
  font-weight: 700;
  font-size: 28px;
  color: var(--secondary);
}
.manager-itm-position .plain-text{color: #555555;}
.manager-itm-links{margin-top: 12px;}
.manager-itm-links a:hover{color: var(--secondary);}
.manager-itm-links img{width: 16px;height: 16px;object-fit: contain;}
.manager-thm-btn{padding-top: 53px;}
.manager-single-roperty-title{margin-bottom: 30px;}
.manager-itm-header{
	display: flex;
	border-bottom: 1px solid #d4d4d4;
	justify-content: space-between;
    gap: 12px 24px;
    flex-wrap: wrap;
	padding-bottom: 12px;
}
.manager-thm-btn a{display: inline-block;}
/* ---------------------------------------------
    Make anounces
   --------------------------------------------- */
.make-anonce-container {
  max-width: 790px;
  margin: 40px auto;
  background: var(--color-white);
  border-radius: 20px;
  padding: 40px;
}
.make-anounce-container{padding: 100px 0;}
.make-anounce a{display: block ruby;}
.make-anonce-title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 25px;
}
.make-anonce-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.make-anonce-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.make-anonce-input, .make-anonce-textarea {
  flex: 1;
  padding: 14px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 16px;
}
.make-anonce-textarea {
  width: 100%;
  height: 160px;
  resize: none;
}
.make-anonce-submit {
  background: #d6005a;
  color: #fff;
  border: none;
  padding: 14px 28px;
  font-weight: 600;
  border-radius: 40px;
  cursor: pointer;
  transition: 0.3s;
}
.make-anonce-submit:hover {
  background: #b3004c;
}

/* Dropdowns */
.make-anonce-dropdown {
  position: relative;
  flex: 1;
}
.make-anonce-dropbtn {
  width: 100%;
  padding: 14px;
  text-align: left;
  background: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 10px;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.make-anonce-dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 10px;
  z-index: 10;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  max-height: 250px;
  overflow-y: auto;
}
.make-anonce-dropdown-content label {
  display: block;
  padding: 10px 15px;
  cursor: pointer;
}
.make-anonce-dropdown-content input[type="radio"] {
  margin-right: 10px;
}
.make-anonce-dropdown.show .make-anonce-dropdown-content {
  display: block;
}

.make-anonce-submit:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  opacity: 0.6;
}
/* ---------------------------------------------
    prima casa
   --------------------------------------------- */
.prima-casa-top{gap: 24px;}
.prima-casa-info{flex-direction: column;color: #555555;}
.prima-casa-top-value .values-grid{grid-template-columns: 1fr;} 
.prima-casa-top-value .value-item{display: flex;}
.prima-casa-midle .plus-section, .prima-casa-bottom{margin-top: 48px;}

.plus-grid-item .plus-grid-icon img{max-width: fit-content; width: 24px;height: 24px;object-fit: contain;}
.plus-grid-4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 24px;
  gap: 24px;
}
.plus-grid-item {display: flex; gap: 12px;}
.plus-grid-item h3 {margin-bottom: 10px;}
.plus-grid-item p {color: #555555;}
.apply-steps{flex-direction: column;}
.apply-steps-items {display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;}
.apply-steps-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.apply-steps-item:before {
  content: attr(data-step);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--primary);
  color: var(--color-white);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 36px;
  flex-shrink: 0;
}
.apply-steps-item p {color: #555555;padding-top: 9px;}

/* ---------------------------------------------
        footer
   --------------------------------------------- */
.footer{background: var(--color-white);}
.footer-copyright{border-top: 1px solid #00000014; text-align: center; padding: 20px;}
.footer-copyright a{color: var(--primary);}
.modern-house-section {
    font-family: var(--thm-font-family);
    padding: 64px 0;
    background: var(--color-white);
    color: #555555;
}
.modern-house-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    justify-content: space-between;
}
.modern-house-col .contact-info{list-style: none;}
.main-info{display: flex;flex-direction: column; gap: 32px;max-width: 385px;}
.footer-navigation ul li a{color: var(--secondary);transition:  0.3s;}
.footer-navigation ul li a:hover{color: var(--primary);margin-left: 5px;}
.modern-house-col{display: grid; gap: 20px;}
.footer-navigation .nav-links{display: grid;gap: 8px;list-style: none;}
.modern-house-col .contact-info{display: flex;flex-direction: column; gap: 12px;}
.modern-house-col .contact-info .contact-item,.modern-house-col .contact-info .contact-item a{display: flex;gap: 8px;align-items: center;transition: 0.3s;}
.modern-house-col .contact-info .contact-item img{width: 24px;height: 24px;}
.modern-house-col .contact-info .contact-item a{color: var(--primary);}
.modern-house-col .contact-info .contact-item a:hover{color: var(--secondary);margin-left: 5px;}

.terms-container h1{font-size: 25px; color: var(--color-black); margin-bottom: 20px;}
.terms-container p{font-size: 16px; line-height: 1.5; color: #555555;margin-bottom: 10px;}

.contact-item-mail a{width: max-content;}
/* ---------------------------------------------
        media queres
   --------------------------------------------- */
@media (max-width: 1060px) {   
  .imobil-footer{flex-wrap: wrap; gap: 20px;}
  .imobil-action-btn {width: 100%; text-align: center;}

}

@media (max-width: 980px) {   
  .prima-casa-top{flex-direction: column;}
  .imobil-filters-top{gap: 40px;}
}

@media (max-width: 960px) {   
  .modern-house-grid{grid-template-columns: 1fr 1fr 1fr;}
  .main-info{width: 100%;}
  .form-group-row{flex-direction: column;}
  .imobil-content-divs{flex-direction: column;}
  .imobil-sidebar{width: 100%;}

}

@media (max-width: 900px) {
 .close-menu{display: block;}
 .menu-toggle {display: flex;order: 2;z-index: 1001;}
 .header-logo {order: 1;}
 .header-menus {
    position: fixed;
    left: -100%;
    top: 0;
    width: 90%;
    max-width: 300px;
    height: 100vh;
    background: var(--color-white);
    z-index: 1002;
    padding: 20px;
    flex-direction: column;
    gap: 20px;
    transition: 0.3s;
    box-shadow: 2px 0 10px rgba(0,0,0,0.1);
    display: flex;
  }
  .header-menus.active {left: 0;}
  .close-menu {
    align-self: flex-end;
    font-size: 48px;
	line-height: 24px;
    background: none;
    border: none;
    cursor: pointer;
  }
  .header-menus .nav-menu {
    display: flex;
    flex-direction: column;
    align-items: baseline;
	line-height: 3;
    width: 100%;
  }
  .header-menus .nav-menu li a {font-size: 18px; padding: 8px 0; }
  .header-menus .make-anounce {margin-top: auto; margin-bottom: 100px; text-align: center;width: inherit;}
  .make-anounce .thm-btn{width: 100%;display: block;}
  .menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    display: none;
    z-index: 999;
  }
  .menu-overlay.active {display: block;}
  .about-us-row{grid-template-columns: 1fr;}
  .value-item{grid-template-columns: 1fr 8fr;}
  .imobil-filters-top {gap: 24px;}
  .imb-sld-thumb {width: 70px; height: 50px;}
  .manager-single-links{flex-direction: column;align-items: baseline;}
  .imobil-filters{grid-template-columns: 1fr 1fr 1fr 1fr;}
}

@media (max-width: 860px) {   
  .contact-content-top{grid-template-columns: auto;}
  .form-group-row {flex-direction: initial;}
  .imobil-filters-resset{margin-left: 0;}
   
}

@media (max-width: 800px){
  .home-form-filter {border-radius: 20px; width: 100%;}
  .hm-sort-top {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 15px;
  }
  .banner-divider {display: none;}
  .hm-bn-tp-dropdown,.hm-bn-tp-dropdown:first-child,.dropdown-container,.hm-bn-price-dropdown {
    width: 100%;
    margin-bottom: 8px;
    border-bottom: 1px solid #0000001f;
  }
  .hm-bn-tp-dropdown-btn,.dropdown-button, .hm-bn-dropdown-btn {
    width: 100%;
    justify-content: space-between;
    padding: 12px 15px;
  }
  .hm-bn-tp-dropdown-content,.dropdown-content,.hm-bn-dropdown-content {
    width: calc(100% - 20px);
    left: 10px;
    right: 10px;
  }
  .search-banner__button {
    width: 100%;
    padding: 12px;
    margin-top: 8px;
  }
  .search-banner__button img {
    margin: 0 auto;
    display: block;
	width: auto;
  }
  .plus-grid-4,.apply-steps-items{grid-template-columns: 1fr;}
  .make-anonce-row{flex-direction: column;}
  .make-anonce-textarea{height: 300px;}
	.hero-content {margin: 150px auto;}
}

@media (max-width: 768px) {   
  .container {width: 95%;}
  .modern-house-grid {flex-wrap: wrap; display: flex;}
  .imobil-action-btn {width: auto; text-align: initial;}
  .section-title {font-size: 25px;}
  .imobil-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    padding: 15px;
  }
  .imobil-item {max-width: none;}
  .imobil-details {padding: 15px;}
  .imobil-title {font-size: 18px;}
  .imobil-address {font-size: 13px;}
  .imobil-features {gap: 15px; margin-bottom: 15px;}
  .feature-item {font-size: 14px;}
  .feature-icon {font-size: 16px;}
  .imobil-price {font-size: 22px;}
  .imobil-action-btn {padding: 10px 20px; font-size: 14px;}
  .imobil-badges {top: 10px;left: 10px;gap: 5px;}
  .badge {padding: 5px 10px; font-size: 12px;}
  .values-grid{grid-template-columns: 1fr;}
  .value-item {grid-template-columns: 1fr 15fr;}
  .advantages-section {padding-top: 0;}
  .adv-grid {flex: 1 1 45%;}
  .manager-single-header .manager-item{flex-direction: column;}
  .manager-single-header .manager-item-detail{width: 100%; padding: 25px;}
  .manager-single-header .manager-item-thumb img{height: 100%;}
  .properties-carousel-container{width: 100%;}
  .margin-cont{display: none;}
  .home-cards {margin-top: 200px;}
  .main-cataloguie-sort{gap: 15px;}
  .advantages-grid{grid-template-columns: auto;}
  .imobil-filters{grid-template-columns: 1fr 1fr;}
  /* imobil filters */
  .imobil-show-filters form {display: none !important;}
  .imobil-show-filters .show_btn_filter {display: flex;}
  .imobil-show-filters .close_btn_filter {
    display: none;
    cursor: pointer;
    font-size: 24px;
    position: fixed;
    top: 10px;
    right: 10px;
  }
  .imobil-show-filters.active form {
    display: block !important;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: white;
    padding: 20px;
    overflow-y: auto;
    z-index: 9999;
  }
  .imobil-show-filters.active .close_btn_filter {display: block;z-index: 99999;}
  .imobil-show-filters.active .show_btn_filter {display: none;}
 .mobile-form-result{display: block; margin-bottom: 25px;}
 .mobile-form-result .card-text span{font-weight: 700; color: var(--color-black);}
}

@media (max-width: 680px) {   
  .hero-content .hero-title{font-size: 70px;}
  .manager-item{display: block;}
  .manager-item-thumb img{height: auto;}
  .manager-item-detail {padding: 24px;}
  .main-catalog-section{padding-bottom: 50px;}	
	
}

@media (max-width: 560px) {   
  .hero-content .hero-title{font-size: 60px;}
	.hero-logo {width:300px;}
  .hero-content .hero-description{font-size: 30px;}
  .form-group-row, .imobil-spec-top {flex-direction: column;}
  .imobil-single-price{text-align: center;font-size: 20px;}
  .manager-itm-button {top: 10px;right: 10px;}
}

@media (max-width: 480px) { 
  .hero-content .hero-title{font-size: 50px;}
  .hero-content .hero-description{font-size: 25px;}  
  .hm-bn-dropdown-content {
    width: calc(100% - 30px);
    left: 15px;
    right: 15px;
  }
  .hm-bn-price-input {width: 100%;}
  .imobil-grid {
    grid-template-columns: 1fr;
    padding: 10px;
    gap: 15px;
  }
  .imobil-item {width: 100%;}
  .adv-grid {flex: 1 1 100%;}
  .hero-logo{display: none;}
  .manager-form-footer button{width: 100%;}
  .manager-thm-btn a{width: 100%;}
  .imobil-filters{grid-template-columns: 1fr;}
}

@media (max-width: 380px){
  .advantage-item{display: block;}
  .advantage-icon-wrapper{margin-bottom: 20px;}
}