/* ================================= Header ============================== */

header {
  min-height: 92px;
}

.navbar {
  height: 90px;
  padding: 0;
}

.active .nav-link {
  color: #e22f1c !important;
}

li.nav-item::before {
  background-color: #e22f1c;
}

.active .nav-link {
  opacity: 1;
  transition: all ease 0.5s 0s;
}

.custom-dropdown .dropdown-item:hover {
  color: #fff;
  padding-left: 25px;
}

.nav-item.dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0;
  opacity: 1;
  visibility: visible;
}

.nav-link.dropdown-toggle::after {
  transition: 0.3s;
}

@media (min-width: 320px) and (max-width: 480px) {
  header {
    min-height: 64px;
  }
}

.nav-item.dropdown:hover .nav-link.dropdown-toggle::after {
  transform: rotate(180deg);
}

.dropdown-item {
  font-weight: 600;
}

.dropdown-item {
  padding: 8px 18px;
}


li.nav-item::before {
    display: none;
    content: '';
    height: 5px;
    width: 5px;
    margin: 4px 0px -20px 0px;
    background-color: #c6a062;
}

.nav-item:first-child:before {
    display: none;
    content: '';
    height: 5px;
    width: 5px;
    margin: 4px 0px -20px 0px;
    background-color: #fff;
}

.navbar-nav .nav-link {
  padding-left: 10px !important;
  padding-top: 30px !important;
}
/* ================================= Header ============================== */

/* ================================= property Section ============================== */

.featured_box {
  padding: 60px 0 80px;
  background: #fff;
}

/* CARD */
.featured_properties {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  transition: 0.4s;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
  position: relative;
}

.featured_properties:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

/* IMAGE */
.featured_img {
  position: relative;
  overflow: hidden;
}

.featured_img img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  transition: 0.5s;
}

.featured_properties:hover .featured_img img {
  transform: scale(1.1);
}

/* DARK OVERLAY */
.img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
}

/* PRICE BADGE */
.price-badge {
  position: absolute;
  bottom: 15px;
  left: 15px;
  background: linear-gradient(135deg, #caa54b, #e6c76a);
  color: #000;
  padding: 5px 18px;
  border-radius: 20px;
  font-weight: 600;
}

/* CONTENT */
.featured_con {
  padding: 20px;
}

.featured_con h3 {
  font-size: 20px;
  font-weight: 700;
  color: #222;
  margin-bottom: 10px;
}

/* LOCATION */
.location {
  color: #777;
  font-size: 14px;
  margin-bottom: 15px;
}

.location i {
  color: #caa54b;
  margin-right: 5px;
}

/* DETAILS */
.featured_detail {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin-bottom: 15px;
  color: #555;
}

.featured_detail i {
  color: #caa54b;
  margin-right: 5px;
}

/* BUTTON */
.view-btn {
  display: inline-block;
  padding: 5px 18px;
  font-size: 15px;
  background: transparent;
  border: 2px solid #caa54b;
  border-radius: 25px;
  color: #caa54b;
  text-decoration: none;
  transition: 0.3s;
}

.view-btn:hover {
  background: #caa54b;
  color: #fff;
}

.title-box h2 {
  font-size: 40px;
  font-weight: 800;
  position: relative;
}

.title-box .text_change {
  color: #caa54b;
}

.title_border1 {
  width: 80px;
  height: 3px;
  background: linear-gradient(135deg, #caa54b, #e6c76a);
  margin: 10px auto;
}

/* ================================= property Section ============================== */

/* ================================= blog Section ============================== */

.blog .title_box {
  margin-bottom: 25px;
}

.blog_box h4 {
  font-size: 15px;
  font-weight: 600;
  color: #c6a062;
  text-transform: uppercase;
}

.blog_box h2 {
  font-size: 20px;
  font-weight: 700;
  color: #03031f;
  letter-spacing: 0.5px;
  margin-top: 15px;
  font-family: "Playfair Display", serif;
}

.blog_btn {
  font-size: 15px;
  color: #c6a062;
  font-weight: 600;
  transition: all ease 0.5s 0s;
  text-transform: capitalize;
}

.blog {
    margin-top: 60px;
    margin-bottom: 60px;
}

/* ================================= blog Section ============================== */

/* ================================= team Section ============================== */

/* .agents {
  padding-top: 40px;
  padding-bottom: 40px;
} */

/* ================================= team Section ============================== */

/* ================================= Testimonial Section ============================== */

.testimonials {
  background-color: #f7f7f8;
  padding-top: 60px;
  padding-bottom: 60px;
}

.testimonials .title-box {
  margin-bottom: 20px;
  text-align: center;
}

.testimonial_card {
  background: #fff;
  border: 1px solid #ececec;
  padding: 14px 22px;
  text-align: center;
  height: 100%;
  transition: 0.3s ease;
}

.testimonials .title-box h2 {
  font-size: 38px;
  font-weight: 600;
  color: #222;
  margin-bottom: 10px;
}

.testimonials .title-box .text_change {
  color: #c79a3b;
}

.testimonials .title_border1 {
  width: 70px;
  height: 2px;
  background: #c79a3b;
  margin: 0 auto;
}

#slider4 .item {
  padding: 12px;
}

.testimonial_card:hover {
  border-color: #c79a3b;
  transform: translateY(-4px);
}

.testimonial_img {
  width: 95px;
  height: 95px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 18px;
  border: 3px solid #c79a3b;
  background: #fff;
}

.testimonial_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial_stars {
  margin-bottom: 12px;
}

.testimonial_stars i {
  color: #c79a3b;
  font-size: 14px;
  margin: 0 2px;
}

.testimonial_content h3 {
  font-size: 22px;
  font-weight: 600;
  color: #222;
  margin-bottom: 12px;
}

.testimonial_content p {
  font-size: 15px;
  line-height: 1.8;
  color: #666;
  margin-bottom: 0;
}

.testimonial_content p {
  min-height: 110px;
}

#slider4 .owl-dots {
  margin-top: 25px;
  text-align: center;
}

#slider4 .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px;
  background: #d6d6d6;
  display: block;
  border-radius: 50%;
}

#slider4 .owl-dot.active span,
#slider4 .owl-dot:hover span {
  background: #c79a3b;
}

@media (max-width: 767px) {
  .testimonials .title-box h2 {
    font-size: 30px;
  }

  .testimonial_card {
    padding: 24px 18px;
  }

  .testimonial_content h3 {
    font-size: 20px;
  }

  .testimonial_content p {
    min-height: auto;
  }
}

#slider4 .owl-nav {
  display: none !important;
}

.title_box .text_change {
  color: #c79a3b;
}

/* ================================= Testimonial Section ============================== */

/* ================================= Counter Section ============================== */

.counter_box_con p {
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-top: 5px;
}

/* ================================= Counter Section ============================== */

/* ================================= Carreer Section ============================== */

.career_form_box {
  height: 100%;
  border: 1px solid #b1aecb63;
  padding: 30px 35px;
  box-shadow: 3px 4px 5px 0px rgba(3, 3, 31, 0.1);
  background: #fff;
}

.career_form_input,
.career_form_textarea,
.career_form_file {
  width: 100%;
  border: 2px dashed #cdcae0;
  background: #fff;
  padding: 14px 16px;
  font-size: 15px;
  color: #222;
  outline: none;
  margin-bottom: 20px;
  transition: 0.3s ease;
}

.career_small_tag {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #3b2a99;
  margin-bottom: 8px;
}

.contact_box {
  margin-top: 40px;
  margin-bottom: 40px;
}

.banner-style-2:before {
  background: rgba(3, 3, 31, 1);
  content: "";
  height: 140px;
  left: 0;
  opacity: 0.7;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.banner-style-2 {
  display: flex;
  align-items: center;
  height: 140px;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.career_image_box {
  position: relative;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
}

.career_image_box img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  display: block;
}

.career_image_content {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 30px;
  background: rgba(17, 17, 17, 0.72);
  padding: 28px 24px;
}

.career_tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #c79a3b;
  margin-bottom: 10px;
}

.career_image_content h2 {
  font-size: 34px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  line-height: 1.3;
}

.career_image_content p {
  font-size: 15px;
  line-height: 1.8;
  color: #e8e8e8;
  margin-bottom: 0;
}

.career_form_heading {
  margin-bottom: 24px;
}

.career_form_heading h3 {
  font-size: 34px;
  font-weight: 700;
  color: #111;
  margin-bottom: 0;
}

.career_form_input {
  height: 54px;
}

.career_form_textarea {
  height: 150px;
  resize: none;
  padding-top: 16px;
}

.career_form_input:focus,
.career_form_textarea:focus,
.career_form_file:focus {
  border-color: #c79a3b;
}

.upload_label {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #111;
  margin-bottom: 8px;
}

.upload_note {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  color: #777;
}

.career_submit_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #111;
  color: #fff;
  border: none;
  padding: 15px 30px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  transition: 0.3s ease;
}

.career_submit_btn:hover {
  background: #c79a3b;
  color: #fff;
}

.career_submit_btn i {
  transition: 0.3s ease;
}

.career_submit_btn:hover i {
  transform: translateX(4px);
}

@media (max-width: 991px) {
  .career_image_box img {
    min-height: 420px;
  }

  .career_form_box {
    padding: 32px 24px;
  }

  .career_form_heading h3 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .career_image_content {
    left: 15px;
    right: 15px;
    bottom: 15px;
    padding: 20px 16px;
  }

  .career_image_content h2 {
    font-size: 26px;
  }

  .career_form_box {
    padding: 26px 18px;
  }

  .career_form_heading h3 {
    font-size: 24px;
  }

  .career_submit_btn {
    width: 100%;
    justify-content: center;
  }
}

/* ================================= Carreer Section ============================== */

/* ================================= Conatct Section ============================== */

.contact_form_detail {
  width: 100%;
  height: 50px;
  padding: 16px;
  border: 1px dashed #c6a062;
  background: #fff;
  color: #000;
  display: block;
}

.select {
  cursor: pointer;
  display: inline-block;
  position: relative;
  font-size: 16px;
  color: #000000;
  width: 100%;
  height: 50px;
  margin-bottom: 20px;
  background: #ffffff;
  border: 1px dashed #c6a062;
}

.contact_form_detail1 {
  height: 160px;
  resize: none;
  padding-top: 16px;
  border: 1px dashed #c6a062;
}

.submit_btn_box {
  margin-top: 20px;
}

.submit_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #c6a062;
  color: #fff;
  border: none;
  padding: 15px 30px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: 0.3s ease;
}

.contact_info_box h2 {
  font-size: 42px;
  font-weight: 700;
  color: #111;
  margin-bottom: 5px;
  line-height: 1.25;
}

.contact_info_box {
  background: #faf7f1;
  padding: 20px 35px;
  height: 100%;
  border-left: 4px solid #c79a3b;
}

select.contact_form_detail {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  background: #fff !important;
  color: #000 !important;
  cursor: pointer;
}

.select-styled {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: transparent;
  padding: 14px 13px 11px 7px;
  border-bottom: 1px solid #fff;
  color: #8897ba;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.contact_form_box_new {
  background: #faf7f1;
  padding: 45px 40px;
  border: 1px solid #ececec;
  height: 100%;
}

.contact_map {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.contact_tag {
  display: inline-block;
  font-size: 14px;
  color: #c79a3b;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.contact_info_box .text_change {
  color: #c79a3b;
}

.contact_info_box>p {
  font-size: 16px;
  line-height: 1.9;
  color: #666;
  margin-bottom: 30px;
}

.contact_info_list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.contact_info_item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.contact_icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 50%;
  background: rgba(199, 154, 59, 0.12);
  color: #c79a3b;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.contact_text h4 {
  font-size: 18px;
  font-weight: 600;
  color: #111;
  margin-bottom: 6px;
}

.contact_text p {
  font-size: 16px;
  line-height: 1.8;
  color: #666;
  margin-bottom: 0;
}

.contact_text p a {
  color: #666;
  text-decoration: none;
}

.contact_text p a:hover {
  color: #c79a3b;
}

.contact_form_detail {
  height: 54px;
}

.contact_form_detail:focus,
.contact_form_detail1:focus {
  border-color: #c79a3b;
  box-shadow: none;
}

.contact_form_detail::placeholder,
.contact_form_detail1::placeholder {
  color: #888;
}

/* ================================= Conatct Section ============================== */

/* ================================= About Section ============================== */

.about-section {
  background: linear-gradient(135deg, #ffffff, #ffffff);
  color: #fff;
  position: relative;
  overflow: hidden;
}

/* GOLD GLOW */
.about-section::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  background: rgba(202, 165, 75, 0.2);
  filter: blur(150px);
  top: -100px;
  right: -100px;
}

/* IMAGE WRAPPER */
.about-img-wrapper {
  position: relative;
}

/* MAIN IMAGE */
.img-box.main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 2px 25px rgba(0, 0, 0, 0.5);
}

/* SMALL OVERLAY IMAGE */
.img-box.small {
  position: absolute;
  bottom: -30px;
  left: 30px;
  width: 200px;
  border: 4px solid #caa54b;
  border-radius: 15px;
  overflow: hidden;
}

.img-box.small img {
  width: 100%;
  height: 140px;
  object-fit: cover;
}

/* EXPERIENCE BADGE */
.experience-badge {
  position: absolute;
  top: 20px;
  left: -20px;
  background: linear-gradient(135deg, #caa54b, #e6c76a);
  color: #000;
  padding: 15px 20px;
  border-radius: 12px;
  font-weight: 600;
}

.experience-badge h3 {
  margin: 0;
  font-size: 24px;
}

/* CONTENT BOX (GLASS EFFECT) */
.about-content {
  background: rgb(205 67 47 / 8%);
  padding: 40px;
  border-radius: 20px;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* SUB TITLE */
.sub-title {
  color: #caa54b;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
}

/* MAIN TITLE */
.main-title {
  font-size: 36px;
  font-weight: 800;
  margin: 15px 0;
  color: #000;
}

.main-title span {
  color: #caa54b;
}

/* TEXT */
.about-content p {
  color: #555;
  line-height: 1.8;
}

/* TAGLINE */
.about-tagline {
  margin-top: 20px;
  border-left: 4px solid #caa54b;
  padding-left: 15px;
  font-weight: 600;
  color: black;
}

/* BUTTON */
.about-btn {
  display: inline-block;
  margin-top: 25px;
  padding: 12px 30px;
  background: linear-gradient(135deg, #caa54b, #e6c76a);
  color: #000;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.3s;
}

.about-btn:hover {
  background: #fff;
  color: #000;
}

/* ================= MOBILE VIEW ================= */
@media (max-width: 767px) {

  /* hide small image */
  .img-box.small {
    display: none;
  }

  /* hide experience badge */
  .experience-badge {
    display: none;
  }

  /* spacing fix */
  .about-img-wrapper {
    margin-bottom: 20px;
  }

  /* heading size */
  .main-title {
    font-size: 26px;
    line-height: 1.3;
  }

  /* subtitle */
  .sub-title {
    font-size: 12px;
    letter-spacing: 1px;
  }

  /* paragraph */
  .about-content p {
    font-size: 14px;
    line-height: 1.7;
  }

  /* content padding reduce */
  .about-content {
    padding: 20px;
  }

  /* button full width (premium feel mobile pe) */
  .about-btn {
    display: block;
    text-align: center;
    width: 100%;
    padding: 12px;
  }
}

/* ================================= About Section ============================== */

/* ================================= Project Page ============================== */

.properties_page_section {
  padding: 40px 0px;
}

/* SECTION HEADING */
.properties_page_title {
  margin-bottom: 30px;
}

/* TOP TAG */
.property_tag {
  display: inline-block;
  background: rgba(192, 57, 43, 0.08);
  color: #c0392b;
  padding: 6px 16px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

/* MAIN HEADING */
.properties_page_title h2 {
  font-size: 42px;
  font-weight: 800;
  color: #222;
  margin-bottom: 10px;
  line-height: 1.3;
}

/* GOLD / RED MIX TEXT */
.properties_page_title .text_change {
  background: linear-gradient(90deg, #c0392b, #caa54b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* SUBTEXT */
.properties_page_title p {
  color: #777;
  font-size: 16px;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.7;
}

/* UNDERLINE DECOR */
.properties_page_title::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  margin: 20px auto 0;
  background: linear-gradient(90deg, #c0392b, #caa54b);
  border-radius: 10px;
}

@media (max-width: 767px) {
  .properties_page_title h2 {
    font-size: 26px;
  }

  .properties_page_title p {
    font-size: 14px;
    padding: 0 10px;
  }

  .property_tag {
    font-size: 11px;
  }
}

/* ================================= Project Page ============================== */

/* ================================= Blog Page ============================== */

.blog_page_con {
  margin-top: 40px;
  margin-bottom: 40px;
}

.blog_detail_page_con {
  margin-top: 40px;
  margin-bottom: 40px;
}

/* ================================= Blog Page ============================== */

/* ================================= Property Details Page ============================== */

.project_details_section {
  padding: 40px 0;
  background:
    radial-gradient(circle at top left,
      rgba(199, 154, 59, 0.08),
      transparent 28%),
    linear-gradient(180deg, #fbf8f2 0%, #f6f1e8 100%);
}

.project_main_box {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(199, 154, 59, 0.14);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(17, 17, 17, 0.08);
  backdrop-filter: blur(8px);
}

.project_main_image {
  position: relative;
  overflow: hidden;
  border-radius: 28px 28px 0 0;
  background: #e9e3d7;
}

.project_main_image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
      rgba(0, 0, 0, 0.48) 0%,
      rgba(0, 0, 0, 0.1) 35%,
      rgba(0, 0, 0, 0) 70%);
  z-index: 1;
  pointer-events: none;
}

.project_main_image img {
  width: 100%;
  height: 560px;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
  transition: transform 0.7s ease;
  filter: none;
  image-rendering: auto;
}

.project_main_box:hover .project_main_image img {
  transform: scale(1.04);
}

.project_image_overlay {
  display: none;
}

.project_image_badges {
  position: absolute;
  top: 22px;
  left: 22px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  z-index: 3;
}

.project_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.project_badge.gold {
  background: linear-gradient(135deg, #d4aa52, #b8862f);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.project_badge.dark {
  background: rgba(17, 17, 17, 0.72);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.project_content_box {
  padding: 16px 25px 10px;
}

.project_type_chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgb(205 67 47 / 8%);
  color: #dd2f20;
  border: 1px solid rgba(199, 154, 59, 0.18);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 10px 16px;
  margin-bottom: 18px;
}

.project_content_box h1 {
  font-size: 35px;
  font-weight: 700;
  color: #111;
  line-height: 1.2;
  margin-bottom: 22px;
}

.project_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.project_meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgb(205 67 47 / 8%);
  border: 1px solid #efe6d8;
  border-radius: 14px;
  padding: 9px 14px;
  font-size: 15px;
  font-weight: 500;
  color: #4b4b4b;
}

.project_meta i {
  color: #dd2f20;
  margin-right: 0;
}

.project_short_desc {
  font-size: 18px;
  line-height: 1.9;
  color: #2b2b2b;
  font-weight: 500;
  margin-bottom: 0;
}

.project_full_desc {
  font-size: 16px;
  line-height: 1.9;
  color: #666;
}

.project_gallery_box {
  padding: 0 36px 36px;
}

.section_head {
  margin-bottom: 22px;
}

.section_head h3 {
  font-size: 26px;
  font-weight: 700;
  color: #111;
  margin-bottom: 0;
}

.gallery_item {
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid #eee3d2;
  background: #fff;
  box-shadow: 0 10px 30px rgba(17, 17, 17, 0.05);
}

.gallery_item img {
  width: 100%;
  /* height: 230px; */
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.gallery_item:hover img {
  transform: scale(1.06);
}

.project_sidebar_sticky {
  position: sticky;
  top: 120px;
}

.project_enquiry_box,
.related_property_sidebar {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(199, 154, 59, 0.14);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 18px 50px rgba(17, 17, 17, 0.08);
  backdrop-filter: blur(10px);
}

.project_enquiry_box {
  margin-bottom: 24px;
}

.sidebar_tag {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #c79a3b;
  margin-bottom: 12px;
}

.project_enquiry_box h3 {
  font-size: 34px;
  font-weight: 700;
  color: #111;
  line-height: 1.25;
  margin-bottom: 12px;
}

.project_enquiry_box p {
  font-size: 15px;
  line-height: 1.8;
  color: #666;
  margin-bottom: 22px;
}

.form_group {
  margin-bottom: 14px;
}

.sidebar_form_input,
.sidebar_form_textarea {
  width: 100%;
  border: 1px solid #e7ddcd;
  background: #fcfaf7;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 15px;
  color: #222;
  outline: none;
  transition: all 0.3s ease;
  box-shadow: inset 0 1px 2px rgba(17, 17, 17, 0.02);
}

.sidebar_form_input {
  height: 56px;
}

.sidebar_form_textarea {
  min-height: 130px;
  resize: none;
  padding-top: 16px;
}

.sidebar_form_input::placeholder,
.sidebar_form_textarea::placeholder {
  color: #8a8a8a;
}

.sidebar_form_input:focus,
.sidebar_form_textarea:focus {
  border-color: #c79a3b;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(199, 154, 59, 0.12);
}

.sidebar_submit_btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, #161616, #2a2a2a);
  color: #fff;
  border: none;
  border-radius: 16px;
  padding: 16px 22px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: 0 14px 28px rgba(17, 17, 17, 0.18);
  transition: all 0.3s ease;
}

.sidebar_submit_btn:hover {
  background: linear-gradient(135deg, #c79a3b, #b8862f);
  color: #fff;
  transform: translateY(-2px);
}

.related_property_sidebar .section_head {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.related_property_card {
  display: flex;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f3ece1;
}

.related_property_card:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.related_property_img {
  flex-shrink: 0;
}

.related_property_img img {
  width: 110px;
  height: 92px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

.related_property_content h4 {
  font-size: 16px;
  line-height: 1.45;
  font-weight: 600;
  margin-bottom: 7px;
}

.related_property_content h4 a {
  color: #111;
  text-decoration: none;
}

.related_property_content h4 a:hover {
  color: #c79a3b;
}

.related_property_content p {
  font-size: 14px;
  color: #666;
  margin-bottom: 6px;
  line-height: 1.5;
}

.related_property_content p i {
  color: #c79a3b;
  margin-right: 4px;
}

.related_property_content span {
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

@media (max-width: 1199px) {
  .project_main_image img {
    height: 500px;
  }

  .project_content_box h1 {
    font-size: 36px;
  }

  .project_enquiry_box h3 {
    font-size: 30px;
  }
}

@media (max-width: 991px) {
  .project_details_section {
    padding: 70px 0;
  }

  .project_main_box,
  .project_enquiry_box,
  .related_property_sidebar {
    border-radius: 22px;
  }

  .project_main_image {
    border-radius: 22px 22px 0 0;
  }

  .project_main_image img {
    height: 380px;
  }

  .project_content_box h1 {
    font-size: 32px;
  }

  .project_sidebar_sticky {
    position: static;
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .project_details_section {
    padding: 55px 0;
  }

  .project_main_image img {
    height: 260px;
  }

  .project_content_box,
  .project_gallery_box,
  .project_enquiry_box,
  .related_property_sidebar {
    padding: 20px;
  }

  .project_content_box h1 {
    font-size: 26px;
  }

  .project_enquiry_box h3,
  .section_head h3 {
    font-size: 22px;
  }

  .project_meta {
    gap: 10px;
  }

  .project_meta span {
    width: 100%;
    justify-content: flex-start;
  }

  .related_property_card {
    align-items: flex-start;
  }

  .related_property_img img {
    width: 92px;
    height: 82px;
  }
}

.project_full_desc {
  font-size: 16px;
  line-height: 1.9;
  color: #666;
  margin-top: 18px;
}

.project_full_desc p {
  margin-bottom: 18px;
}

.project_full_desc a {
  color: #c79a3b;
  word-break: break-word;
  text-decoration: none;
}

.project_full_desc a:hover {
  text-decoration: underline;
}

.project_full_desc iframe,
.project_full_desc video,
.project_full_desc embed {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 20px;
  overflow: hidden;
  margin: 18px 0;
  display: block;
}

.project_full_desc img {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
  margin: 18px 0;
}

.project_full_desc ul,
.project_full_desc ol {
  padding-left: 20px;
  margin-bottom: 18px;
}

.project_full_desc h1,
.project_full_desc h2,
.project_full_desc h3,
.project_full_desc h4,
.project_full_desc h5,
.project_full_desc h6 {
  color: #111;
  margin: 18px 0 12px;
  line-height: 1.35;
}

.project_main_image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
      rgba(0, 0, 0, 0.22) 0%,
      rgba(0, 0, 0, 0.05) 30%,
      rgba(0, 0, 0, 0) 65%);
  z-index: 1;
  pointer-events: none;
}

.project_main_image img {
  width: 100%;
  height: 540px;
  display: block;
  object-fit: cover;
  object-position: center center;
  transform: none;
  transition: 0.4s ease;
}

.project_main_box:hover .project_main_image img {
  transform: scale(1.015);
}

/* ================================= Property Details Page ============================== */

/* ================================= Footer ============================== */
.footer_logo {
  float: none !important;
  margin-top: -20px;
}

.tweets_box {
  width: 25%;
  float: left;
  margin-right: 50px;
}

footer {
  padding-top: 30px;
  background-attachment: fixed;
}

.footer_bottom {
  margin-top: 15px;
  border-top: 1px solid #2f2c3d;
  overflow: hidden;
}

.services {
    /* background-image: url(../images/services_bg.jpg); */
    background: #f7f7f8;
    padding-top: 50px;
    padding-bottom: 30px;
    background-attachment: fixed;
}

.title_box h2 {
    font-size: 32px;
    color: #555;
    letter-spacing: 0.5px;
    float: left;
    font-family: 'Playfair Display', serif;
}

.services_con h2 {
    font-size: 20px;
    color: #555;
    font-family: 'Playfair Display', serif;
    letter-spacing: 1px;
}

.services_con p {
    font-size: 15px;
    color: #555;
    margin-top: 15px;
    letter-spacing: 1px;
    line-height: 1.5;
    margin-bottom: 0px;
}

/* ================================= Footer ============================== */