@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Baskervville:ital,wght@0,400..700;1,400..700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
html {
  margin: 0 !important;
  padding: 0 !important;
}

body {
  color: #fff;
  background-color: #0d1f30;
  font-family: "Poppins", sans-serif;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: hidden;
}

.container {
  max-width: 1366px;
  margin: 0 auto !important;
}

section {
  padding: 80px 40px;
}
@media (max-width: 1024px) {
  section {
    padding: 60px 30px;
  }
}
@media (max-width: 768px) {
  section {
    padding: 40px 20px;
  }
}

a {
  color: #fff;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
  font-weight: 100;
}
a:hover {
  color: #fff;
}

h1, h2, h3, h4, h5, h6 {
  color: #fff;
  font-family: "Baskervville";
  margin: 0;
  padding: 0;
}


/* SET HEADER STYLES */
.site-header .header {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  padding: 10px 20px;
  background-color: #0d1f30;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  font-weight: 100;
  font-family: "Poppins", sans-serif;
  text-transform: uppercase;
  font-size: 16px;
  position: relative;
  z-index: 9999;
}

.site-header .left-navigation, 
.site-header .right-navigation {
  width: 35%;
}

.site-header .left-navigation ul, 
.site-header .right-navigation ul,
.site-header #primary-menu,
.site-header #secondary-menu {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 40px;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

.site-header .left-navigation ul li, 
.site-header .right-navigation ul li,
.site-header #primary-menu li,
.site-header #secondary-menu li {
  margin: 0 !important;
  padding: 0 !important;
}

.site-header .left-navigation ul li a, 
.site-header .right-navigation ul li a,
.site-header #primary-menu li a,
.site-header #secondary-menu li a {
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  font-weight: 200;
  font-family: "Poppins", sans-serif;
  text-transform: uppercase;
  padding: 8px 20px;
  border: 1px solid transparent;
  transition: transform 0.2s ease, border-color 0.2s ease;
  display: inline-block; /* Important for transform to work properly */
  letter-spacing: 2.08px;
}

.site-header .left-navigation ul li a:hover, 
.site-header .right-navigation ul li a:hover,
.site-header #primary-menu li a:hover,
.site-header #secondary-menu li a:hover {
  color: #fff;
  border: 1px solid #fff;
  transform: scale(1.1);
}

/* Style last item in right navigation as a button */
.site-header .right-navigation ul li:last-child a,
.site-header #secondary-menu li:last-child a {
  background-color: #fff;
  color: #0d1f30;
  border: 1px solid #fff;
  padding: 8px 20px;
  transition: all 0.3s ease;
  font-weight: 700;
}

.site-header .right-navigation ul li:last-child a:hover,
.site-header #secondary-menu li:last-child a:hover {
  background-color: #0d1f30;
  color: #fff;
  border: 1px solid #fff;
  transform: scale(1.1); /* Slightly less scale for button */
}

/* Current page / active menu item styling */
.site-header .left-navigation ul li.current-menu-item a, 
.site-header .right-navigation ul li.current-menu-item a,
.site-header .left-navigation ul li.current_page_item a, 
.site-header .right-navigation ul li.current_page_item a,
.site-header .left-navigation ul li.current-page-ancestor a, 
.site-header .right-navigation ul li.current-page-ancestor a,
.site-header #primary-menu li.current-menu-item a,
.site-header #secondary-menu li.current-menu-item a {
  border: 1px solid #fff;
  color: #fff;
  background: #0D1F30;
  padding: 8px 20px;
}


/* HERO SECTION */

/* Unified Hero Base Styling */
.image-hero-section {
  position: relative;
  height: calc(100vh - 250px);
  min-height: 500px;
  overflow: hidden;
  z-index: 1;
}

.hero-slide {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-slide .hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  color: #fff;
  text-align: center;
  font-family: "Baskervville";
}

/* Mobile screens */
@media (max-width: 768px) {
    .hero-slide[data-mobile-bg] {
        background-image: var(--mobile-bg) !important;
    }
}
.hero-slide .hero-content h2 {
  font-size: 36px;
  font-weight: 600;
  margin: 0;
  padding: 0;
}
.hero-slide .hero-content p {
  font-size: 18px;
  font-weight: 300;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .hero-slide .hero-content h2 {
    font-size: 28px;
  }
  .hero-slide .hero-content p {
    font-size: 16px;
  }
}
@media (max-width: 480px) {
  .hero-slide .hero-content h2 {
    font-size: 24px;
  }
  .hero-slide .hero-content p {
    font-size: 14px;
  }
}

.banner-text {
  bottom: 100px;
  position: absolute;
  background-color: #0f2030;
  width: 100%;
  text-align: center;
  padding: 10px 0;
  text-transform: uppercase;
  font-size: 37px !important;
  font-family: "Baskervville";
  font-weight: 400 !important;
  color: #fff;
}


/* Mobile responsive styles for banner text */
@media (max-width: 1024px) {

	.banner-text {
		font-size: 28px !important;
	}

}

.image-hero-section {
  padding: 0 !important;
}

/* Single hero image styling */
.image-hero-section .single-hero {
  width: 100%;
  height: 100%;
  position: relative;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}
.image-hero-section .swiper-container {
  width: 100%;
  height: calc(100vh - 250px);
  overflow: hidden;

}
.image-hero-section .swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}
.image-hero-section .swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* Hero Slider Navigation Arrows */
.image-hero-section .swiper-button-next,
.image-hero-section .swiper-button-prev {
  position: absolute;
  top: calc(50vh - 10px);
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.image-hero-section .swiper-button-next:hover,
.image-hero-section .swiper-button-prev:hover {
  background-color: rgba(255, 255, 255, 1);
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.image-hero-section .swiper-button-next {
  right: 30px;
}

.image-hero-section .swiper-button-prev {
  left: 30px;
}

.image-hero-section .swiper-button-next::after,
.image-hero-section .swiper-button-prev::after {
  font-size: 60px;
  font-weight: bold;
  color: #325165;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -15px; /* Fine-tune vertical alignment */
}

.image-hero-section .swiper-button-next::after {
  content: '›';
}

.image-hero-section .swiper-button-prev::after {
  content: '‹';
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
  .image-hero-section .swiper-button-next,
  .image-hero-section .swiper-button-prev {
    width: 50px;
    height: 50px;
  }
  
  .image-hero-section .swiper-button-next {
    right: 15px;
  }
  
  .image-hero-section .swiper-button-prev {
    left: 15px;
  }
  
  .image-hero-section .swiper-button-next::after,
  .image-hero-section .swiper-button-prev::after {
    font-size: 45px;
    margin-top: -15px;
  }
}

/* Hero carousel slide overlay
.image-hero-section .swiper-slide .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  pointer-events: none;
}

.image-hero-section .hero-slide .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  pointer-events: none;
}

.image-hero-section .hero-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 6;
  max-width: 800px;
}

.image-hero-section .hero-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.image-hero-section .hero-slide-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  display: block;
  text-decoration: none;
  cursor: pointer;
}

.image-hero-section .banner-text {
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(13,31,48, 0.9);
  color: #ffffff;
  padding: 15px 0px;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  z-index: 7;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  max-width: 100%;
  pointer-events: none;
}
*/

@media (max-width: 768px) {
  .image-hero-section .hero-logo img {
    max-width: 90%;
  }

  .image-hero-section .banner-text {
    font-size: 16px!important;
    padding: 0px;
  }
}


.search-homes-section {
  text-align: center;
}
.search-homes-section .search-homes-container {
  max-width: 1366px;
  margin: 0 auto;
  background-color: #D9D9D9;
}

.search-homes-section .search-homes-container .form-wrapper {
  padding: 20px 40px;
  background-color: #325165;
    border-top: 8px solid #B2B2B2;
}
.search-homes-section .search-homes-container .search-form {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 50px;
	flex-wrap: wrap;
}
button.button.find-home-button {
    width: auto;
}

.search-homes-container .search-form select, .search-form .form-group {
	width:100%;
}

.search-form .form-group {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}

.search-form .form-group label{
  color: #FFF;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.available-plots input[type="text"],
.available-plots select,
.search-homes-section .search-homes-container .search-form input[type=text],
.search-homes-section .search-homes-container .search-form select {
  border-radius: 4px;
  background-color: #0d1f30;
  color: #fff;
  height: 50px;
  min-width: 206px;
  padding: 0 10px;
  text-transform: uppercase;
}

@media (max-width: 600px) {
  .search-homes-section .search-form input[type=text],
  .search-homes-section .search-form select {
    width: 100%;
  }
}

.price-range-container output {
  color: #FFF;
  text-align: center;
  display: block;
  margin-bottom: 10px;
  width: 206px;
}

/* Dual Range Slider Container */
.dual-range-wrapper {
  height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 206px;
}

.range-slider {
  position: relative;
  width: 206px;
  height: 20px;
}

/* Base styling for both range inputs */
.range-slider input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 206px;
  height: 1px;
  background: transparent;
  outline: none;
  border: none;
  pointer-events: none;
    padding: 0px;
}

/* Track background - only show on the first input */
.range-slider input[type="range"].range-min {
  background: #b2b2b2;
  pointer-events: auto;
  
}

/* Make both inputs interactive */
.range-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  background: #0D1F30;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  pointer-events: auto;
  position: relative;
  z-index: 2;
}

/* Firefox */
.range-slider input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  background: #0D1F30;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  pointer-events: auto;
}

.range-slider input[type="range"]::-moz-range-track {
  width: 100%;
  height: 1px;
  background: #b2b2b2;
  border: none;
}

/* Edge/IE */
.range-slider input[type="range"]::-ms-thumb {
  width: 18px;
  height: 18px;
  background: #0D1F30;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  pointer-events: auto;
}

.range-slider input[type="range"]::-ms-track {
  width: 100%;
  height: 1px;
  background: #b2b2b2;
  border: none;
  color: transparent;
}

.inspiration-title-section {
  padding: 0 !important;
  margin: 0 !important;
}
.inspiration-title-section .container {
  text-align: center;
  padding: 80px 0 0 0 !important;
}

/* Mobile responsive styles for inspiration titles */
@media (max-width: 1024px) {
  .inspiration-title-section .container {
    padding: 20px 10px!important;
    
  }
  
  /* Mobile styles for search homes section */
  .search-homes-section .search-homes-container h3 {
    font-family: "Baskervville";
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.57px;
  }
  
  .search-homes-section .search-homes-container .form-wrapper {
    padding: 20px 0;
  }

  .available-plots input[type="text"], .available-plots select, .search-homes-section .search-homes-container .search-form input[type=text], .search-homes-section .search-homes-container .search-form select {
    min-width: 80vw;
  }
  
  /* Range slider mobile styles */
  .dual-range-wrapper {
    width: 80vw;
	  margin: auto;
  }
  
  .range-slider {
    width: 80vw;
  }
  
  .range-slider input[type="range"] {
    width: 80vw;
  }
  
  .range-slider input[type="range"].range-min {
    background: #b2b2b2;
    height: 2px;
  }
  
  .range-slider input[type="range"]::-webkit-slider-track {
    background: #b2b2b2;
    height: 2px;
  }
  
  .range-slider input[type="range"]::-moz-range-track {
    background: #b2b2b2;
    height: 2px;
  }
  
  /* Override form-group input padding for range sliders */
  .form-group input[type="range"] {
    padding: 0 !important;
  }
}

button.button.find-home-button {
    margin: auto;
}

.two-col-content-section .flex-container {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 40px;
}

.two-col-content-section .col-left {
  display: flex;
  flex-direction: column;
  gap: 100px
}

.two-col-content-section button {
  margin-top: 20px;
  max-width: 250px;
}

@media (max-width: 768px) {
  .two-col-content-section .flex-container {
    flex-direction: column;
  }
  
  .two-col-content-section .col-left {
    display: contents;
  }
  
  .two-col-content-section .col-right {
    display: contents;
  }
  
  .two-col-content-section .main-content {
    text-align: center;
    order: 1;
  }
}
.two-col-content-section .flex-container .col-left, .two-col-content-section .flex-container .col-right {
  flex: 1;
}
.two-col-content-section .flex-container .col-left p, .two-col-content-section .flex-container .col-right p {
  margin-bottom: 20px;
}

/* One Column Content Section */
.one-col-content-section {
  padding: 60px 20px;
}

.one-col-content-section .one-col-container {
  text-align: center;
}

.one-col-content-section .one-col-content p {
  margin-bottom: 20px;
}

.one-col-content-section .one-col-button-wrapper {
  margin-top: 30px;
}



@media (max-width: 768px) {
  .one-col-content-section {
    padding: 40px 20px;
  }
  
  .one-col-content-section .one-col-button-wrapper {
    margin-top: 20px;
  }
}

/* Multi Column Content Section */
.multi-col-content-section {
  background-color: #0d1f30;
  padding: 0px;
}

.multi-col-content-section .container {
  max-width: unset;
}

.multi-col-content-section h2 {
  text-align: center;
  margin-bottom: 60px;
}

.multi-col-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 0;
}

.multi-col-item {
  padding: 40px;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

/* Odd columns - Medium Blue background */
.multi-col-item:nth-child(odd) {
  background-color: #325165;
}

.multi-col-item:nth-child(odd) h3,
.multi-col-item:nth-child(odd) p,
.multi-col-item:nth-child(odd) a {
  color: #D9D9D9;
}

.multi-col-item:nth-child(odd) a:hover {
  color: #D9D9D9;
  text-decoration: underline;
}

/* Even columns - Grey background */
.multi-col-item:nth-child(even) {
  background-color: #D9D9D9;
}

.multi-col-item:nth-child(even) h3,
.multi-col-item:nth-child(even) p,
.multi-col-item:nth-child(even) a {
  color: #0d1f30;
}

.multi-col-item:nth-child(even) a:hover {
  color: #0d1f30;
  text-decoration: underline;
}

.multi-col-item h3 {
text-align: center;
  margin-bottom: 20px;
}

.multi-col-item p {
  text-align: center;
  margin: 0;
}

/* Responsive - Stack columns */
@media (max-width: 768px) {
  .multi-col-content-section {
    padding: 40px 20px;
  }
  
  .multi-col-grid {
    grid-template-columns: 1fr;
  }
  
  .multi-col-item {
    padding: 30px 20px;
    min-height: 200px;
  }
  
  .multi-col-item h3 {
    margin-bottom: 15px;
  }
}

/* Multi Row Column Section */
.multi-row-column-section {
  background-color: #D9D9D9;
  padding: 80px 40px;
}

.one-col-content-section h2,
.multi-row-column-section h2,
.meet-the-team-section h2 {
  text-align: left;
  margin-bottom: 30px;
}

.multi-row-column-section h2 .subtitle,
.meet-the-team-section h2 .subtitle {
  display: block;
  text-align: right;
  margin-top: -30px;
}

.multi-row-column-section .main-description {
  text-align: left;
  margin-bottom: 60px;
  margin-left: 0;
  margin-right: auto;
}

.meet-the-team-section .team-description p,
.multi-row-column-section .main-description p {
  margin: 0;
  text-align: left;
}

.multi-row-grid {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.multi-row-item {
  display: grid;
  grid-template-columns: 33% 64%;
  gap: 40px;
  align-items: stretch;
  background-color: #D9D9D9;
  min-height: 250px;
}

.multi-row-image {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  border-radius: 0;
}

.multi-row-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.multi-row-content h3 {
  margin-bottom: 20px;
  text-align: left;
}

.multi-row-content p {
  margin: 0;
  text-align: left;
}

/* Responsive - Stack image and content */
@media (max-width: 768px) {
  .multi-row-column-section {
    padding: 40px 20px;
  }
  
  .multi-row-grid {
    gap: 40px;
  }
  
  .multi-row-item {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: auto;
	  display: block;
  }
  
  .multi-row-image {
    height: 200px;
    min-height: 200px;
  }
  
  .multi-row-content {
    padding: 20px;
  }

  .multi-row-content h3 {
    margin-bottom: 15px;
	  font-size: 24px!important;
  }
}

/* Meet The Team Section */
/* White background text color override for all content sections */
.one-col-content-section.white-background .one-col-title,
.one-col-content-section.white-background .one-col-content,
.one-col-content-section.white-background .one-col-content p,
.one-col-content-section.white-background .one-col-content a {
  color: #325165 !important;
}

.multi-col-content-section.white-background .multi-col-item:nth-child(even) h3,
.multi-col-content-section.white-background .multi-col-item:nth-child(even) p,
.multi-col-content-section.white-background .multi-col-item:nth-child(even) a {
  color: #325165 !important;
}

.multi-col-content-section.white-background .multi-col-item:nth-child(odd) h3,
.multi-col-content-section.white-background .multi-col-item:nth-child(odd) p,
.multi-col-content-section.white-background .multi-col-item:nth-child(odd) a {
  color: #D9D9D9 !important;
}

.multi-row-column-section.white-background h2,
.multi-row-column-section.white-background h2 .subtitle,
.multi-row-column-section.white-background .multi-row-description p,
.multi-row-column-section.white-background .multi-row-description a {
  color: #325165;
}

/* White background text color override for meet-the-team section */
.meet-the-team-section.white-background h2,
.meet-the-team-section.white-background h2 .subtitle,
.meet-the-team-section.white-background .team-description p {
  color: #325165 !important;
}

.meet-the-team-section {
  background-color: #0d1f30;
  padding: 80px 40px;
}

.meet-the-team-section h2 {
  color: #fff;
}

.meet-the-team-section h2 .subtitle {
  display: block;
  color: #b2b2b2;
}

.meet-the-team-section .team-description {
  text-align: left;
}

.meet-the-team-section .team-description p {
  color: #fff;
  margin-bottom: 20px;
}

.meet-the-team-section .team-description p:last-child {
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .meet-the-team-section {
    padding: 40px 20px;
  }
  
  .meet-the-team-section h2 {
    font-size: 48px;
    margin-bottom: 20px;
  }
  
  .meet-the-team-section h2 .subtitle {
    font-size: 48px;
    letter-spacing: 0.05em;
    font-weight: 300;
    font-family: "Poppins";
    font-style: italic;
    color: #b2b2b2;
    text-align: right;
    text-transform: lowercase;
    margin-top: -30px;
  }
  
  .meet-the-team-section .team-description {
    margin-bottom: 40px;
  }
  
  .meet-the-team-section .team-description p {
    font-size: 16px;
  }
}

/* Column Services Section */
.column-services-section {
  height: 600px;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
}



.column-services-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px;
  height: 100%;
  align-items: center;
}

.service-item {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0px;
}

.service-title {
  text-align: center;
  text-transform: uppercase;
  background-color: #325165;
  padding: 10px 0px;
  width: 100%;
}

.service-link {
  display: block;
  position: relative;
  overflow: hidden;
}

.service-link:hover {
  transform: none;
}

.service-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 0.3s ease;
  z-index: 1;
  pointer-events: none;
}

.service-link:hover::before {
  background-color: rgba(0, 0, 0, 0.4);
}

.service-link::after {
  content: 'EXPLORE';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #D9D9D9;
  color: #0D1F30;
  padding: 12px 24px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: none;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
  pointer-events: none;
}

.service-link:hover::after {
  opacity: 1;
}

.service-image {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 0px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Responsive Design */
@media (max-width: 768px) {
  .column-services-section {
    height: auto;
    padding: 40px 0;
  }
	a.service-link {
    margin: 0px!important;
}
	
	.column-services-section h4 {
		font-size: 15px!important;
	}
  
  .column-services-container {
    grid-template-columns: 1fr;
    gap: 0px;
  }
}

/* Property Offers Section */
.property-offers-section {
  background-color: #D9D9D9;
  padding: 150px 0px;
  overflow: hidden; /* Prevent horizontal scroll on body */
}

.property-offers-container {
  display: flex;
  align-items: flex-start;
  min-height: 500px;
  position: relative;
  max-width: 1366px;
  margin: 0 auto;
}

/* Left Column - 40% within container */
.offers-left-column {
  width: 40%;
  max-width: 546px; /* 40% of 1366px container */
  flex-shrink: 0;
  color: white;
  padding-right: 40px; /* Gap between columns */
}

/* Fallback for smaller screens */
@media (max-width: 1366px) {
  .offers-left-column {
    padding-left: 0; /* Remove any extra padding */
  }
}

/* Right Column - extends to page edge */
.offers-right-column {
  flex: 1;
  overflow: hidden;
  margin-right: calc(-50vw + 50%); /* Extend to viewport edge from container */
  width: calc(60% + 50vw - 50%); /* Ensure it reaches the edge */
}

.property-offers-description {
  color: #325165;
  font-family: Poppins;
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.48px;
}

.property-offers-description p {
  margin-bottom: 20px;
}

/* Right Column - extends to page edge */
.offers-right-column {
  flex: 1;
  overflow: hidden;
  width: 60vw; /* Ensure it takes significant space */
  min-width: 60%;
}

.locations-scroller {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  padding: 20px 0;
  scroll-behavior: smooth;
  cursor: grab;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  
  /* Hide scrollbar but keep functionality */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}

.locations-scroller::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}

.locations-scroller:active {
  cursor: grabbing;
}

.locations-scroller::-webkit-scrollbar {
  height: 8px;
}

.locations-scroller::-webkit-scrollbar-track {
  background: #0D1F30;
  border-radius: 4px;
}

.locations-scroller::-webkit-scrollbar-thumb {
  background: #325165;
  border-radius: 4px;
}

.locations-scroller::-webkit-scrollbar-thumb:hover {
  background: #8a6d2a;
}

/* Location Cards */
.location-card {
  background-color: #0D1F30;
  min-width: 320px;
  max-width: 320px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  align-items: center;
}

.location-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}

.location-name {
  padding: 20px 0;
}

.location-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.location-description {
  margin: 20px 0;
}

.location-terms {
  text-align: center;
  margin: 10px 0;
}

.location-footer {
  margin: 15px 0;
}

.scroll_img {
  display: block;
  margin: 0 auto;
  margin-left: calc(50% + 100px); /* Push 100px to the right from center */
  width: 100px; /* Adjust as needed */
  height: auto;
}

/* Client Testimonials Section */
.client-testimonials-section {
  background: #0D1F30;
  color: white;
  padding: 80px 40px;
}

.testimonials-title {
  text-align: left;
  margin-bottom: 60px;
  text-transform: uppercase;
}

.testimonials-slider {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden; /* Ensure container clips overflow */
  width: 100%;
}

.testimonials-track {
  display: flex;
  transition: transform 0.5s ease;
  /* Width will be set by JavaScript based on number of slides */
}

.testimonial-slide {
  flex-shrink: 0;
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 100%; /* Each slide takes full slider width */
  min-width: 100%; /* Ensure slide doesn't shrink */
  /* JavaScript will override this, but this is the fallback */
}

.testimonial-layout {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  padding: 0 40px;
  width: 100%;
  max-width: 1200px; /* Constrain content width regardless of slide width */
  box-sizing: border-box;
  margin: 0 auto;
}

.testimonial-quote-column {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
}

.quote-mark-text {
  color: #325165;
  font-family: "Baskervville";
  font-size: 500px;
  line-height: 1; /* Set to 1 to match font size exactly */
  font-style: normal;
  font-weight: 400;
  letter-spacing: 30px;
  text-transform: uppercase;
  display: block;
  user-select: none;
  pointer-events: none;
  margin: 0;
  padding: 0;
  height: 220px; /* Explicitly set height to constrain vertical space */
  overflow: hidden; /* Hide any overflow */
}

.testimonial-content-column {
  flex: 1;
  color: white;
  min-width: 0; /* Allow flex item to shrink below content width */
  max-width: 700px; /* Set a reasonable max width for readability */
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.testimonial-content {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
  display: block !important;
  width: 100%;
  max-width: 100%;
  line-height: 1.6;
}

.testimonial-content p {
  margin-bottom: 15px;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
  display: block !important;
  width: 100%;
}

.testimonial-content * {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

.testimonial-author {
  padding-top: 20px;
}

.testimonial-client-name {
  color: #325165!important;
}

.testimonial-client-type {
  color: #325165;
}

/* Pagination Dots */
.testimonials-pagination {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 50px;
  padding-bottom: 5px;;
}

.pagination-dot {
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  border: none !important;

  cursor: pointer;
  transition: background-color 0.3s ease;
  flex-shrink: 0;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 16px !important;
  max-width: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  outline: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: transparent !important;
}

.pagination-dot.active {
  background: #fff !important;
}

.pagination-dot:hover {
  background: rgba(255, 255, 255, 0.6) !important;
}

.pagination-dot:focus {
  outline: 2px solid rgba(255, 255, 255, 0.5) !important;
  outline-offset: 2px !important;
}

.no-testimonials {
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}

/* Responsive Design */
@media (max-width: 768px) {
  .client-testimonials-section {
    padding: 40px 20px;
    overflow-x: hidden;
  }
  
  .testimonials-slider {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  
  .testimonials-track {
    /* Width dynamically set by JavaScript based on slide count */
    display: flex;
  }
  
  .testimonial-slide {
    /* Width dynamically set by JavaScript, content constrained by layout */
    flex-shrink: 0;
  }
  
  .testimonials-title {
    font-size: 34px!important;
    margin-bottom: 40px;
    text-align: center!important;
  }
  
  .testimonial-layout {
    flex-direction: column;
    gap: 20px;
    padding: 0px;
    text-align: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: center;
    overflow: hidden;
  }
  
  .testimonial-quote-column {
    justify-content: center;
    padding-top: 0;
    order: 0;
  }
  
  .quote-mark-text {
    font-size: 240px;
    line-height: 1; /* Consistent approach */
    letter-spacing: 5px;
    margin: 0;
    padding: 0;
    height: 140px; /* Constrain height for mobile */
    overflow: hidden;
  }
  
  .testimonial-content-column {
    order: 1;
    text-align: center;
    max-width: 100%;
    width: 100%;
  }
  
  .testimonial-content p {
    font-size: 16px!important;
    text-align: center!important;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    margin-bottom: 15px!important;
    line-height: 1.25;
    width: 100%;
    max-width: 100%;
  }
  
  .testimonial-client-name {
    font-size: 16px!important;
    text-align: center;
    line-height: 1.3;
  }
  
  .testimonials-pagination {
    text-align: center;
    margin-top: 30px;
  }
  .pagination-dot {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    max-width: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;
  }
}

/* Responsive Design */
@media (max-width: 1366px) {
  .property-offers-container {
    padding-left: 40px;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
  
  .offers-right-column {
    margin-right: 0; /* Let it go to edge naturally */
    width: auto;
  }
}

@media (max-width: 1024px) {
  .property-offers-container {
    flex-direction: column;
    gap: 30px;
    padding-left: 40px;
    padding-right: 40px;
  }
  
  .offers-left-column {
    width: 100%;
    max-width: none;
    padding-right: 0;
  }
  
  .offers-right-column {
    width: 100%;
    margin-left: -40px;
    margin-right: -40px;
  }
  
  .locations-scroller {
    padding-left: 40px;
    padding-right: 40px;
  }
  
  .location-card {
    min-width: 280px;
    max-width: 280px;
  }
}

@media (max-width: 768px) {
  .property-offers-section {
    padding: 60px 20px;
  }
  
  .property-offers-container {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .offers-left-column {
    text-align: center;
  }

  .offers-right-column {
    width: 100vw;
    margin-left: -20px;
    margin-right: -20px;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  
  .locations-scroller {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .property-offers-title {
    font-size: 30px!important;
    margin-bottom: 20px;
    line-height: 40px;
	  text-transform: uppercase!important;
    text-align: center!important;
  }
  
  .property-offers-description p {
    font-size: 16px!important;
    margin-bottom: 30px;
    text-align: center!important;
  }
	
	a.button.location-card-button {
    margin: 0 40px !important;
        width: auto;
        padding: 12px 30px;
}
	
	.scroll_img {
		margin-left: auto;
	}
  
  .location-card {
    min-width: 250px;
    max-width: 250px;
    
  }
  
  .location-name {
    font-size: 20px;
  }
  
  .location-image {
    height: 140px;
  }
}

/* Socials Section */
.socials-section {
  background: #D9D9D9;
  padding: 80px 40px;
}

.socials-section .container > div:first-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;
}

.socials-title {
  color: #0D1F30;
  font-family: "Baskervville";
  font-size: 48px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0;
  flex: 1;
}

.socials-icons {
  display: flex;
  gap: 20px;
  flex-shrink: 0;
}

.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: #0D1F30;
  border-radius: 50%;
  color: white;
  text-decoration: none;
  font-size: 24px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(13, 31, 48, 0.2);
}

.social-icon:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(13, 31, 48, 0.3);
  background: #325165;
}

.social-icon i {
  color: white;
  font-size: 24px;
}

/* Responsive Design for Socials */
@media (max-width: 768px) {
  .socials-section {
    padding: 60px 20px;
  }
  
  .socials-section .container > div:first-child {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
  
  .socials-title {
    font-size: 36px;
    text-align: center;
  }
  
  .socials-icons {
    gap: 20px;
  }
  
  .social-icon {
    width: 50px;
    height: 50px;
    font-size: 20px;
  }
  
  .social-icon i {
    font-size: 20px;
  }
}

/* Contact Section */
.contact-section {
  background: #0D1F30;
  padding: 80px 20px;
  color: white;
}

.contact-content {
  margin: 0 auto;
}

.contact-title {
  text-align: left;
  margin-bottom: 60px;
  text-transform: uppercase;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.form-row {
  display: flex;
  gap: 30px;
}

.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
    margin-bottom: 5px;
}

.form-group.full-width {
  width: 100%;
}

.form-group label {
  color: white;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.form-group input,
.form-group textarea {
  background: #325165;
  border: none;
  border-radius: 4px;
  padding: 15px 20px;
  color: white;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  background: #3f6680;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2);
}

.form-group textarea {
  resize: vertical;
  min-height: 120px;
}

/* Radio Group Horizontal Styling */
.radio-group-horizontal {
  display: flex;
  gap: 20px;
  margin-top: 10px;
}

.radio-option {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.radio-option input[type="radio"] {
  width: auto;
  min-width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.radio-option label {
  margin: 0;
  color: white;
  text-transform: uppercase;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .radio-group-horizontal {
    flex-direction: column;
    gap: 15px;
  }
  
  .radio-option {
    justify-content: flex-start;
  }
}

.form-buttons {
  display: block;
  margin-top: 20px;
  text-align: center;
}

/* Responsive Design for Contact */
@media (max-width: 768px) {
  .contact-section {
    padding: 60px 20px;
  }
  
  .contact-title {
    font-size: 36px;
    margin-bottom: 40px;
  }
  
  .form-row {
    flex-direction: column;
    gap: 20px;
  }
  
  .contact-form {
    gap: 20px;
  }
  
  .form-buttons {
    flex-direction: column;
    gap: 15px;
  }
  
}


/* Developments Map Section */
.developments-map-section {
  padding: 0;
  margin: 0;
  background: #f8f8f8;
  position: relative;
}

.developments-map-section button{
  min-width: 10px!important;
}

.map-container {
  max-width: none;
  width: 100%;
  margin: 0;
  box-shadow: none;
  border-radius: 0;
  overflow: hidden;
}

.developments-map {
  width: 100%;
  height: calc(100vh - 230px);
  min-height: calc(100vh - 230px);
  display: block;
}

/* Map Legend Overlay */
.map-legend-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 90px;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  pointer-events: none;
}

.map-legend {
  display: flex;
  gap: 40px;
  align-items: center;
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #0D1F30;
}

.legend-marker {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.legend-text {
  white-space: nowrap;
  text-transform: uppercase;
}

/* Responsive adjustments for legend */
@media (max-width: 768px) {
  .map-legend {
    flex-direction: column;
    gap: 20px;
    padding: 15px;
  }
  
  .legend-item {
    justify-content: center;
  }
  
  .map-legend-overlay {
    height: 180px;
  }
}

@media (max-width: 480px) {
  .map-legend {
    gap: 15px;
    padding: 12px;
  }
  
  .legend-item {
    gap: 8px;
  }
  
  .legend-marker {
    width: 24px;
    height: 24px;
  }
  
  .legend-text {
    font-size: 12px;
  }
  
  .map-legend-overlay {
    height: 150px;
  }
}

/* Custom Info Window Styling */
.map-info-window {
  padding: 15px;
  max-width: 300px;
}

.map-info-window h4 {
  color: #0D1F30;
  margin: 0 0 8px 0;
  text-transform: uppercase;
}

.map-info-window .location-town {
  color: #325165;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.map-info-window .location-description {
  color: #666;
  margin-bottom: 10px;
}

.map-info-window .location-prices {
  color: #325165;
  margin-bottom: 10px;
}

.map-info-window .location-status {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.map-info-window .location-status.current {
  background: #4CAF50;
  color: white;
}

.map-info-window .location-status.future {
  background: #2196F3;
  color: white;
}

.map-info-window .location-status.past {
  background: #9E9E9E;
  color: white;
}

.map-info-window .location-link {
  display: inline-block;
  background: #0D1F30;
  color: white;
  padding: 8px 16px;
  text-decoration: none;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.3s ease;
}

.map-info-window .location-link:hover {
  background: #325165;
}

/* Map Tooltip */
.map-tooltip {
  position: absolute;
  background: rgba(13, 31, 48, 0.95);
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.4;
  z-index: 1000;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.1);
  max-width: 280px;
  word-wrap: break-word;
}

.map-tooltip .tooltip-name {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 4px;
  color: #ffffff;
}

.map-tooltip .tooltip-location {
  color: #B8D4E3;
  margin-bottom: 4px;
}

.map-tooltip .tooltip-status {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 3px;
  display: inline-block;
}

.map-tooltip .tooltip-status.current {
  background: #4CAF50;
  color: white;
}

.map-tooltip .tooltip-status.future {
  background: #2196F3;
  color: white;
}

.map-tooltip .tooltip-status.past {
  background: #9E9E9E;
  color: white;
}

/* Responsive Map */
@media (max-width: 768px) {
  .developments-map {
    height: 100vh;
    min-height: 100vh;
  }
  
  .map-info-window {
    max-width: 250px;
  }
  
  .map-tooltip {
    max-width: 250px;
    font-size: 13px;
  }
  
  .map-tooltip .tooltip-name {
    font-size: 14px;
  }
}

/* Development Listing Section */
.development-tabs {
  height: 100px;
  background-color: #325165;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.development-tabs .container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-direction: row;
}

@media (max-width: 768px) {
  .development-tabs .container {
    flex-direction: column;
    gap: 20px;
  }
}

.development-content {
  padding: 60px 20px;
  background-color: #0D1F30;
  min-height: 500px;
}

.development-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1366px;
  margin: 0 auto;
  padding: 60px 0;
  justify-content: center;
}

.development-card {
  background-color: white;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  flex: 1 1 calc(33% - 30px); /* 4 cards on large desktop */
  min-width: 428px; /* Minimum card width */
  max-width: 428px; /* Maximum card width */
}

.development-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.development-card .corner-flash {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 120px 120px 0 0;
  border-color: #325165 transparent transparent transparent;
  z-index: 2;
}

.development-card .corner-flash span {
      position: absolute;
    top: -95px;
    left: -11px;
    color: white;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.1;
    width: 100px;
    z-index: 3;
    transform: rotate(-45deg);
    transform-origin: center;
    text-align: center;
}

.development-card .card-image {
  width: 100%;
  height: 300px;
  position: relative;
  overflow: hidden;
}

.development-card .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.development-card:hover .card-image img {
  transform: scale(1.05);
}

.development-card .placeholder-image {
  width: 100%;
  height: 100%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-family: "Poppins", sans-serif;
}

.development-card .card-content {
  padding: 25px 20px 20px 20px;
}

.development-card .card-title {
  font-family: "Baskervville", serif;
  font-size: 30px;
  font-weight: 400;
  color: #0D1F30;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
  line-height: 1.2;
  text-wrap: nowrap;
}

.development-card .card-location {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #325165;
  margin-bottom: 20px;
  line-height: 1.4;
  text-wrap: nowrap;
}

.development-card .card-description {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
}

.development-card .card-prices {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
}

.development-card .card-details {
  margin-bottom: 30px;
}

.development-card .card-price {
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  color: #0D1F30;
  font-weight: 600;
  margin: 0;
}

/* No developments message */
.no-developments {
  text-align: center;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: #666;
  padding: 60px 20px;
  grid-column: 1 / -1;
}

/* Responsive Design */
@media (max-width: 768px) {
  .development-tabs {
    height: auto;
    flex-direction: column;
    padding: 20px 0;
  }
  

  
  .development-content {
    padding: 40px 15px;
  }
  
  .development-cards {
    gap: 20px;
    padding: 40px 0;
  }
  
  .development-card {
    flex: 1 1 100%; /* 1 card per row on mobile */
    min-width: auto;
  }
  
  .development-card .card-image {
    height: 250px;
  }
  
  .development-card .card-content {
    padding: 25px 15px;
	 
  }
  
	  .development-card .card-content, .development-card .card-content h3 , .development-card .card-content p, .plot-content .plot-title, .plot-content .plot-subtitle, #contact .contact-title, body .development-name, .contact-content-column .right-hand-content p, .search-results-count p, .results-group-title, .multi-row-column-section h2, .top-text, .bottom-text, .two-col-image-content-section h2, .two-col-image-content-section p {
	  text-align: center!important;
  }
  .development-card .card-title {
    font-size: 28px;
  }
  
  .development-card .card-location {
    font-size: 16px;
  }
  
  .development-card .card-description {
    font-size: 15px;
  }
  
  .development-card .card-price {
    font-size: 18px;
  }
  
  .development-card .corner-flash {
    border-width: 180px 180px 0 0;
  }
  
  .development-card .corner-flash span {
    font-size: 14px;
    width: 130px;
    top: -140px;
    left: 0px;
  }
}

/* Tablet responsive design */
@media (max-width: 1024px) and (min-width: 769px) {
  .development-cards {
    gap: 30px;
    padding: 50px 0;
  }
  
  .development-card {
    flex: 1 1 calc(50% - 15px); /* 2 cards per row on tablet */
  }
  
  .development-card .card-title {
    font-size: 28px;
  }
  
  .development-card .card-content {
    padding: 30px 25px;
  }
}

/* Taxonomy Templates Styles */
.developments-archive {
  padding: 40px 0;
}

.developments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.developments-archive .development-card {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.developments-archive .development-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.developments-archive .development-image {
  position: relative;
  height: 250px;
  overflow: hidden;
}

.developments-archive .development-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.developments-archive .offer-flash {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #d4af37;
  color: #0d1f30;
  padding: 8px 15px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

.developments-archive .development-content {
  padding: 25px;
}

.developments-archive .development-content h2 {
  font-size: 24px;
  margin-bottom: 10px;
  color: #fff;
}

.developments-archive .development-location {
  color: #d4af37;
  font-size: 14px;
  margin-bottom: 15px;
}

.developments-archive .development-status {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 15px;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 15px;
}

.developments-archive .development-status.current {
  background: #28a745;
  color: #fff;
}

.developments-archive .development-status.future {
  background: #007bff;
  color: #fff;
}

.developments-archive .development-status.past {
  background: #6c757d;
  color: #fff;
}

.developments-archive .development-description {
  color: #ccc;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 15px;
}

.developments-archive .development-prices {
  color: #d4af37;
  font-weight: 600;
  margin-bottom: 20px;
}

.developments-archive .development-link {
  background: #d4af37;
  color: #0d1f30;
  padding: 12px 25px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s ease;
}

.developments-archive .development-link:hover {
  background: #b8941f;
  color: #0d1f30;
}

/* Single Development Styles */
.single-development {
  margin: 0 auto;
}

.development-header {
  margin-bottom: 40px;
}

.development-title-section {
  text-align: center;
  margin-bottom: 30px;
}

.development-title {
  font-size: 48px;
  margin-bottom: 15px;
  color: #fff;
}

.development-location {
  color: #d4af37;
  font-size: 18px;
  margin-bottom: 15px;
}

.development-location i {
  margin-right: 8px;
}
.single-development .image-hero-section{
  height: 1000px;
}
.single-development .image-hero-section .hero-image {
  background-position: center!important;
};

.image-hero-section .hero-image {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.image-hero-section .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.offer-banner {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #d4af37;
  color: #0d1f30;
  padding: 12px 20px;
  border-radius: 25px;
  font-weight: 600;
}

.development-content {
  display: flex;
  
  gap: 40px;
}

.development-details h2,
.development-details h3 {
  color: #d4af37;
  margin-bottom: 15px;
}

.development-description,
.development-summary,
.development-pricing,
.development-map,
.development-location-section {
  margin-bottom: 40px;
}

/* Location Section with Two Columns - Shared between development and plot pages */
.development-location-section .location-content,
.plot-location-section .location-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.development-location-section .location-map-column,
.plot-location-section .location-map-column {
  flex: 1;
}

.development-location-section .location-info-column,
.plot-location-section .location-info-column {
  flex: 1;
}

/* Home Adviser Styles */
.home-adviser-info {
  margin: 0px;
  min-width: 300px;
}

.home-adviser-image,
.home-adviser-name,
.home-adviser-number {
  margin-bottom: 0px!important;
  text-align: center!important;
}

.multi-col-item img,
.home-adviser-image .adviser-photo {
  height: auto;
  object-fit: cover;
  width: 150px;
  margin-bottom: 5px;;
}

.home-adviser-name {
  color: #fff !important;
  font-weight: 600!important;
  margin: 0px;
}

.home-adviser-number {
  color: #fff;
}

.home-adviser-number a {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}

.home-adviser-number a:hover {
  color: #fff;
  text-decoration: underline;
}

.development-location-section .location-information-content,
.plot-location-section .location-information-content {
  color: #333;
  line-height: 1.7;
}

.development-location-section .location-information-content h4,
.development-location-section .location-information-content h5,
.plot-location-section .location-information-content h4,
.plot-location-section .location-information-content h5 {
  color: #d4af37;
  margin-bottom: 15px;
  margin-top: 25px;
}

.development-location-section .location-information-content h4:first-child,
.development-location-section .location-information-content h5:first-child,
.plot-location-section .location-information-content h4:first-child,
.plot-location-section .location-information-content h5:first-child {
  margin-top: 0;
}

.development-location-section .location-information-content p,
.plot-location-section .location-information-content p {
  margin-bottom: 15px;
  color: #333;
}

.development-location-section .location-information-content ul,
.development-location-section .location-information-content ol,
.plot-location-section .location-information-content ul,
.plot-location-section .location-information-content ol {
  margin-bottom: 15px;
  padding-left: 20px;
}

.development-location-section .location-information-content li,
.plot-location-section .location-information-content li {
  margin-bottom: 8px;
  list-style: none;
  padding-left: 30px;
  background-image: url('../assets/images/bullet.png');
  background-repeat: no-repeat;
  background-position: 0 0.3em;
  background-size: 24px 24px;
}

.development-location-section h2,
.plot-location-section h2 {
  color: #333;
  text-align: center;
  margin-bottom: 40px;
}

@media (max-width: 768px) {
  .development-location-section .location-content,
  .plot-location-section .location-content {
    flex-direction: column;
    gap: 30px;
  }
	.development-location-section .location-map-column {
		width:100%;
	}
	.development-section .location-contact, .plot-section .location-contact {
		flex-direction: column-reverse;
	}
	.home-adviser-image .adviser-photo, .home-adviser-info {
		width:100%!important;
	}
}

.description-content {
  color: #ccc;
  line-height: 1.7;
}

.price-display {
  color: #d4af37;
  font-size: 24px;
  font-weight: 600;
}

.development-sidebar {
  background: rgba(255, 255, 255, 0.05);
  padding: 30px;
  border-radius: 12px;
  height: fit-content;
}

.development-cta {
  text-align: center;
  margin-bottom: 30px;
}

.development-cta h3 {
  color: #fff;
  margin-bottom: 15px;
}

.development-cta p {
  color: #ccc;
  margin-bottom: 20px;
}



.back-to-developments {
  color: #d4af37;
  text-decoration: none;
  font-size: 14px;
}

.back-to-developments:hover {
  color: #b8941f;
}

.back-to-developments i {
  margin-right: 8px;
}

.development-description-footer {
  margin-top: 40px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  color: #ccc;
  line-height: 1.7;
}

/* Single Plot Styles */
.single-plot {
  margin: 0 auto;
}

/* Plot hero specific styles handled by base class */
/* Generic hero image styling already covered above */
@media (max-width: 768px) {
.image-hero-section .hero-overlay {
  padding: 0px!important;
	}
	}

/* Hero overlay and content styling for development/taxonomy pages */
.image-hero-section .hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:linear-gradient(to bottom, transparent 0%, transparent calc(100% - 200px), rgba(13, 31, 48, 1) calc(100% - 20px));
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 0 60px;
}



.image-hero-section .hero-content {
  text-align: left;
  color: white;
  z-index: 3;
  position: relative;
  width: 100%;
  margin-bottom: 80px;
}

/* Hero Navigation for Plot Pages */
.image-hero-section .hero-navigation {
  position: absolute;
  top: 50%;
  right: 60px;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.plot-name {
  font-size: 48px;
  margin-bottom: 15px;
  color: #fff;
  font-family: "Baskervville";
}

.plot-price {
  color: #d4af37;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}

.plot-development {
  color: #ccc;
  font-size: 18px;
}

/* Plot Navigation */
.plot-nav-bar {
    background-color: #325165;
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 100;
}

.plot-nav {
    max-width: 1366px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

.plot-nav .nav-link {
    color: white;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 20px 30px;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
}

.plot-nav .nav-link:hover {
    background-color: #0D1F30;
    border-bottom-color: #D9D9D9;
    color: white;
}

/* Plot Welcome Section */
.plot-welcome {
  padding: 0;
  background: #0d1f30;
}

.plot-welcome .welcome-left {
  height: 100%;
}

.plot-welcome .welcome-right {
  padding: 0;
}

.plot-welcome .welcome-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.plot-welcome .welcome-left h2 {
  color: #fff;
  font-size: 42px;
  margin-bottom: 30px;
  font-family: "Baskervville";
}

.plot-welcome .welcome-right {
  color: #ccc;
  line-height: 1.7;
  font-size: 16px;
}

/* Plot Sections */
.plot-section {
  padding: 80px 0;
}

.development-section .location-contact,
.plot-section .location-contact {
  background: #325165;
  padding: 20px;
  display: flex; 
  gap: 2rem; 
  align-items: flex-start;
}

.plot-section .location-content {
  display: flex; 
  gap: 2rem; 
  align-items: flex-start;
}

.plot-section h2 {
  color: #d4af37;
  font-size: 36px;
  margin-bottom: 40px;
  text-align: center;
  font-family: "Baskervville";
}

	#floor-plans .container {
		padding: 20px!important;
	}

/* Specifications Grid */
.spec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.spec-item {
  background: rgba(255, 255, 255, 0.05);
  padding: 30px;
  border-radius: 12px;
  text-align: center;
  border: 1px solid rgba(212, 175, 55, 0.2);
}

.spec-item.price-highlight {
  background: rgba(212, 175, 55, 0.1);
  border-color: #d4af37;
}

.spec-label {
  color: #ccc;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
}

.spec-value {
  color: #fff;
  font-size: 20px;
  font-weight: 600;
}

.spec-item.price-highlight .spec-value {
  color: #d4af37;
  font-size: 24px;
}

/* Floor Plan & Site Plan */
.site-plan-image {
  text-align: center;
  margin-top: 40px;
}

.site-plan-img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.floor-plan-placeholder,
.site-plan-placeholder,
.gallery-placeholder {
  text-align: center;
  padding: 60px 20px;
  color: #ccc;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  margin-top: 40px;
}
p.floor-plan-dimensions {
    display: flex;
    gap: 20px;
}

/* Brochure Section */
.brochure-content {
  text-align: center;
  margin-top: 40px;
}

.brochure-content p {
  color: #ccc;
  font-size: 16px;
  margin-bottom: 30px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Back to Development */
.back-to-development {
  padding: 40px 0;
  background: rgba(255, 255, 255, 0.02);
}

.back-link {
  color: #d4af37;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  transition: color 0.3s ease;
}

.back-link:hover {
  color: #b8941f;
}

/* Plot Responsive Design */
@media (max-width: 1024px) {
  .plot-welcome .welcome-grid {
    grid-template-columns: 1fr;
    gap: 40px;
	  margin-top:0px;
	          margin-bottom: 20px;
	  padding: 0px;
  }
	.single-plot-page #floor-plans .ground-floor {
    margin-bottom: 0px;
}
	.plot-welcome .welcome-left 
	{
		min-height: 400px;
	}
	body .multi-row-column-section h2 .subtitle, body .meet-the-team-section h2 .subtitle, body .inspiration-title-section h2.subtitle {
		font-size: 32px!important;
		display: flex !important;
        justify-content: center !important;
        text-align: center !important;
        margin-left: 0px !important;
	}
	.meet-the-team-section h2 {
		text-align: center!important;
	}
}
/* Plot Responsive Design */
@media (max-width: 768px) {
  .plot-name {
    font-size: 32px;
  }
  
  .plot-price {
    font-size: 20px;
  }
  
  .plot-nav {
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .plot-nav .nav-link {
            padding: 3px 10px;
    font-size: 12px;
  }
	.plot-nav {
		padding: 10px 0px;
	}
  
	
	.plot-welcome .welcome-left {
    height: 300px;
    width: 100%;
}
  
  .plot-welcome .welcome-left h2 {
    font-size: 32px;
    text-align: center;
  }
  
  .plot-welcome .welcome-buttons {
    justify-content: center;
    flex-wrap: wrap;
	  width: 80%;
	  margin:auto;
	 
  }
  
  .plot-section {
    padding: 20px 0;
  }
  
  .plot-section h2 {
    font-size: 28px;
  }
  
  .spec-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
	.single-plot-page #floor-plans h2, .floor-title, .room-item, #site-plan h2, #gallery h2, #contact-form h2, .one-col-container h2,.one-col-container h3, .one-col-container p, .main-description p, .multi-row-content h3, .multi-row-content p, .development-description p, .team-description p, .development-town, .plot-name, .plot-development, .location-map-column h2, .home-adviser-cta p, .specification-accordion-column h2 {
		text-align: center!important;
	}
	
	body .gallery .gallery-header h3 {
		margin: auto!important;
		text-align: center;
		font-size: 32px!important;
	}
	
	.welcome-buttons{
		width: 100%;
	} 
	
	.welcome-buttons button {
		width:80%;
	}
	body .development-town {
        font-size: 24px;
		margin-bottom: 20px;
		margin-top:-20px;
    }
	.one-col-content .alignleft {
		width: 100%;
		margin: 30px 0!important;
	}
	
	
	.one-col-content-section h2, .two-col-content-section h2, .multi-col-content-section h2, .multi-row-column-section h2, .meet-the-team-section h2, .property-offers-section h2, .client-testimonials-section h2, .socials-section h2, .contact-section h2, .column-services-section h2, .search-homes-section h2, .developments-map-section h2, .search-results-section h2, .two-col-image-content-section h2, .icon-listing-content-section h2, .inspiration-title-section h2, .single-plot-page h2, .plot-welcome h2, .plots-header h2, .plots-content h2, .development-description h2, .development-section h2, .search-results-section h2 {
		font-size: 32px!important;
	}
}

/* Responsive Design */
@media (max-width: 768px) {
  .developments-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .development-title {
    font-size: 36px;
  }
  
  .development-content {
display: block;
  }
    .development-content .button {
width: auto;
  }
}

/* Single Development Layout Styles */
.single-development section{
  padding: 0px;
}
.single-development .welcome-left {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}

.single-development {
  background-color: #0D1F30;
  color: white;
}

@media (max-width: 768px) {
.single-development .container {
  padding: 0 20px;
}

}

/* Hero Image Section - Full Width */
/* Hero styling handled by unified base class */

.image-hero-section .hero-image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  position: relative;
}

.development-name {
  font-family: "Baskervville", serif;
  font-size: 100px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: white;
}

.development-town {
  margin-top: -15px;
  font-family: "Poppins", sans-serif;
  font-size: 36px;
  font-weight: 300;
  text-transform: capitalize;
  letter-spacing: 2px;
  color: #B2B2B2;
  margin-bottom: 50px;
  font-style: italic;
}

/* Navigation Links Bar */
.development-nav-bar {
  background-color: #325165;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 100;
  
}

@media (max-width: 768px) {
  .development-nav-bar {
    position: relative;
  }
}

.development-nav {
  max-width: 1366px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  
  margin: 0 auto;
}

.development-nav .nav-link {
  color: white;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 20px 30px;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
}

.development-nav .nav-link:hover,
.development-nav .nav-link:focus {
  background-color: #0D1F30;
  border-bottom-color: #D9D9D9;
  color: white;
}

/* Welcome Section */
.development-welcome {
  padding: 0;
  background-color: #0D1F30;
}

.welcome-grid {
  display: grid;
  grid-template-columns: minmax(auto, 600px) 1fr;
  gap: 50px;
  align-items: flex-start;
  max-width: 1366px;
  margin: 100px auto;
	padding: 0px 20px;
}

.plot-details {
	padding:20px;
}

.welcome-left h2 {
  font-family: "Baskervville", serif;
  font-size: 64px;
  font-weight: 400;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
}

.welcome-buttons {
  display: flex;
  gap: 20px;
  flex-direction: row;
  justify-self: flex-start;
}

.welcome-right .development-description {
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.7;
  color: #B2B2B2;
}


/* Development Sections */
.development-section {
  padding: 20px 0!important;
}

.development-section h2 {
  font-family: "Baskervville", serif;
  font-size: 64px;
  font-weight: 400;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
  text-align: center;
}

.development-section .container {
  padding: 0 40px;
}

.available-plots {
  background-color: #d9d9d9;
}

.available-plots output {
  color: #0D1F30;
  font-weight: 300;
}

.available-plots .plots-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 1024px) {
  .available-plots .plots-header {
    flex-direction: column;
    align-items: flex-start;
  }
	.available-plots .price-range-container {
		margin-top:30px;
	}
	.available-plots .filter-group {
		align-self: center!important;
	}
	.available-plots .plots-header {
		align-items: center!important;
	}
	.available-plots .plots-header h2 {
		text-align: center !important;
	}
}

.available-plots h2 {
  color: #0D1F30!important;
  text-align: left!important;
}

.available-plots label {
  color: #0D1F30;
  font-family: Poppins;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 2.08px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.available-plots .filter-group {
  display: flex;
  flex-direction: column;
  align-self: flex-start;
}

/* Plots Grid and Cards */
.plots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 30px;
  margin-top: 40px;
	justify-items: center;
}

/* Plot card link wrapper - remove all default link styling */
.plot-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
	max-width: 400px;
}

.plot-card-link:hover {
  text-decoration: none;
  color: inherit;
}

.plot-card {
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  width: 428px;
 
}

.plot-card .button {
	    width: -webkit-fill-available;
}

.plot-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.plot-offer-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #ff6b35;
  color: white;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.plot-image {
  width: 100%;
  height: 300px;
  overflow: hidden;
  position: relative;
}

.plot-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.plot-card:hover .plot-image img {
  transform: scale(1.05);
}

.plot-card .corner-flash {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 120px 120px 0 0;
  z-index: 2;
}

.plot-card .corner-flash span {
      position: absolute;
    top: -90px;
    left: -11px;
    color: white;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.1;
    width: 100px;
    z-index: 3;
    transform: rotate(-45deg);
    transform-origin: center;
    text-align: center;
}
@media (max-width: 768px) {
	.plot-card {
		width: 100%;
	}
	.plot-content .button {
		width: -webkit-fill-available;
	}
	.plot-image {
		height: auto;
	}
	.plot-image img {
		height: 300px;
	}
}

/* Last Reserved Plot Banner */
.last-plot-banner {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #dc3545;
  color: white;
  text-align: center;
  padding: 8px 0;
  z-index: 10;
}

.last-plot-banner span {
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Hero banner for single plot pages */
.last-plot-hero-banner {
  width: 100%;
  padding: 0;
}

.last-plot-banner-hero {
  background-color: #dc3545;
  color: white;
  text-align: center;
  padding: 15px 0;
  width: 100%;
}

.last-plot-banner-hero span {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 15px;
}

.last-plot-banner-hero .contact-button {
  background-color: white;
  color: #dc3545;
  padding: 10px 20px;
  text-decoration: none;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 4px;
  display: inline-block;
  transition: all 0.3s ease;
}

.last-plot-banner-hero .contact-button:hover {
  background-color: #f8f9fa;
  transform: translateY(-1px);
}

.plot-image-placeholder {
  width: 100%;
  height: 100%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 14px;
}

.plot-content {
  padding: 20px;
}

.plot-title {
  color: #0D1F30;
  font-family: Baskervville;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 72px; /* 180% */
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.plot-subtitle {
  margin-top: -20px;
  margin-bottom: 20px;
  color: #0D1F30;
  font-family: Poppins;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.4px;
  text-align: left;
}

.plot-icons-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.plot-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.plot-icon-item .icon {
  font-size: 20px;
  margin-bottom: 8px;
  color: #0D1F30;
  font-weight: bold;
}

.plot-icon-item .value {
  color: #325165;
text-align: center;
font-family: Poppins;
font-size: 16px;
font-style: normal;
font-weight: 300;
line-height: normal;
letter-spacing: 0.32px;
}

/* Filter Section */
.plots-filters {
  margin-bottom: 30px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
}

.filter-row {
  display: flex;
  align-items: flex-end;
  gap: 30px;
  flex-wrap: wrap;
}

/* Responsive Design for Plots */
@media (max-width: 768px) {
  .plots-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .filter-row {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  
  .plot-footer {
    flex-direction: column;
    gap: 15px;
    align-items: stretch;
  }
  
  .plot-actions {
    justify-content: center;
  }
}

.plot-section.site-plan {
  text-align: left!important;
  padding: 60px 40px;
  background-color: #325165;
  color: #0D1F30;
  }

.plot-section.site-plan h2 {
  color: #fff;
  text-align: left;
}

@media (max-width: 768px) {
  .site-plan-img {
    width: 100%;
    height: auto;
  }
}

.specification {
  background-color: #325165;
}

.specification h2 {
  margin-top: 70px;
  color: #fff;
  text-align: left;
}

/* Specification Content Layout */
.development-section.specification {
  padding: 0px!important;
}

.specification-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

.specification-image-column {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

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

.specification-accordion-column {
  display: flex;
  flex-direction: column;
  margin-top: 50px;
}

/* Accordion Styles */
.specification-accordion {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.accordion-header:hover {
  background-color: #1a2d40;
}

.accordion-header h3 {
  color: #FFF!important;
  font-family: Poppins!important;
  font-size: 20px!important;
  font-style: normal!important;
  font-weight: 100!important;
  line-height: normal!important;
  letter-spacing: 2.08px!important;
  margin: 0!important;
}

.accordion-arrow {
  color: #fff;
  font-size: 16px;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

.accordion-content.active {
  max-height: 600px;
  padding: 0 25px 20px 25px;
}

.accordion-content ul {
  color: #B2B2B2!important;
  font-family: "Poppins", sans-serif!important;
  font-size: 18px!important;
  line-height: 1.6!important;
  margin: 0!important;
  padding-left: 20px!important;
}

.accordion-content li {
  margin-bottom: 8px;
}

/* Specification Disclaimer */
.specification-disclaimer {
  padding: 10px;
}

.specification-disclaimer p {
  color: #B2B2B2!important;
  font-family: "Poppins", sans-serif!important;
  font-size: 16px!important;
  font-style: italic!important;
  line-height: 1.3!important;
  margin: 0!important;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .specification-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .specification-image-column {
    order: 2;
  }
  
  .specification-accordion-column {
    order: 1;
  }
}

@media (max-width: 768px) {
  .specification-content {
    gap: 30px;
  }
  
  .accordion-header {
    padding: 15px 20px;
  }
  
  .accordion-header h3 {
    font-size: 16px;
  }
  
  .accordion-content.active {
    padding: 0 20px 15px 20px;
	  max-height: fit-content;
  }
  
  .specification-disclaimer {
    margin-top: 20px;
    padding: 15px;
  }
}

.gallery {
  background-color: #fff;
  color: #0D1F30;
}

.gallery h2 {
  color: #0D1F30;
font-family: Baskervville;
font-size: 64px;
font-style: normal;
font-weight: 400;
line-height: 72px; /* 112.5% */
letter-spacing: 3.84px;
text-transform: uppercase;
  text-align: left;
}

.gallery h3 {
  color: #B2B2B2;
font-family: Poppins;
font-size: 64px;
font-style: italic;
font-weight: 300;
line-height: normal;
letter-spacing: 3.2px;
  text-align: right;
}
.gallery .gallery-header {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 40px;
}

@media (max-width: 768px) {
  .gallery .gallery-header {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.gallery .gallery-titles {
    text-align: left;
}

.gallery .gallery-header h2,
.gallery .gallery-header h3 {
    margin: 0;
    line-height: 1.2;
}

.gallery .gallery-header h2 {
    font-family: "Baskervville", serif;
    font-size: 48px;
    font-weight: 400;
    color: #0D1F30;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.gallery .gallery-header h3 {
    font-family: "Poppins", sans-serif;
    font-size: 48px;
    font-weight: 300;
    color: #B2B2B2;
    font-style: italic;
    text-transform: lowercase;
    margin: -20px 0 0 130px !important;
}

.gallery .gallery-text {
    color: #325165;
    font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: 0.5px;
    text-align: left;
}

.gallery .gallery-text p {
    margin: 0;
}

/* Gallery Container and Main Image */
.gallery-container {
    margin-top: 60px;
}

.gallery-main-image {
    width: 100%;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.gallery-main-image img {
    width: 100%;
    height: auto;
    max-height: 700px;
    object-fit: cover;
    display: block;
}

/* Gallery Thumbnails */
.gallery-thumbnails {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    overflow: hidden;
    padding: 10px 0;
}

    .single-plot-page .gallery-thumbnails {
		flex-wrap: nowrap;
}

.gallery-thumb {
    flex-shrink: 0;
    width: 200px;
    height: 200px;
    overflow: hidden;
    cursor: pointer;
    border: 3px solid transparent;
    transition: all 0.3s ease;
    opacity: 0.7;
}

.gallery-thumb:hover {
    opacity: 1;
    transform: translateY(-2px);
}

.gallery-thumb.active {
    border-color: #D9D9D9;
    opacity: 1;
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Gallery Pagination */
.gallery-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.gallery-pagination .pagination-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background-color: #325165!important;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
    outline: none;
    padding: 0;
    min-width: 12px;
}

.gallery-pagination .pagination-dot.active {
    background-color: #0D1F30!important;
    transform: scale(1.2);
}

.gallery-pagination .pagination-dot:hover {
    background-color: #0D1F30;
    transform: scale(1.1);
}

.gallery-pagination .pagination-dot:focus {
    outline: 2px solid #0D1F30;
    outline-offset: 2px;
}
@media (max-width: 1024px) {
	.gallery-thumbnails {
       
		overflow-x: clip;
    }
	
	#gallery.plot-section .container {
		padding: 20px;
	}
}
/* Responsive Gallery */
@media (max-width: 768px) {
    .gallery-main-image img {
        max-height: 400px;
    }
    
    .gallery-thumbnails {
        gap: 8px;
	
    }
    
    .gallery-thumb {
        width: 60px;
        height: 60px;
    }
    
    .gallery-prev,
    .gallery-next {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
	

}

.get-in-touch {
  padding: 80px 0;
  background-color: #0D1F30;
}

.get-in-touch h2 {
  font-family: "Baskervville", serif;
  font-size: 64px;
  font-weight: 400;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 40px;
  text-align: left;
}

.socials-section {
  background-color: #fff;
}

.socials-section h2 {
  color: #0D1F30;
  text-align: left;
}

/* Placeholder Styles */

.site-plan-placeholder,
.specification-placeholder,
.brochure-placeholder,
.gallery-placeholder {
  text-align: center;
  padding: 60px 40px;
  background-color: rgba(255, 255, 255, 0.05);
  color: #B2B2B2;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
}

.price-range {
  margin-top: 30px;
  font-size: 24px;
  color: #D9D9D9;
}

.summary {
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.6;
}

/* Contact Section */
.get-in-touch {
  background-color: #0D1F30;
}

.contact-content {
  text-align: left;
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* Contact Form Column (Left) */
.contact-form-column {
  flex: 1;
  min-width: 0; /* Prevents flex items from overflowing */
}
.contact-form-column {
    width: 100%;
}

/* Contact Content Column (Right) */
.contact-content-column {
  flex: 1;
  min-width: 0; /* Prevents flex items from overflowing */
}

/* Right Hand Content Styling */
.right-hand-content {
  color: #B2B2B2;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.right-hand-content h1,
.right-hand-content h2,
.right-hand-content h3,
.right-hand-content h4,
.right-hand-content h5,
.right-hand-content h6 {
  color: white;
  font-family: "Baskervville", serif;
  margin-bottom: 20px;
  margin-top: 30px;
}

.right-hand-content h1 { font-size: 32px; }
.right-hand-content h2 { font-size: 28px; }
.right-hand-content h3 { font-size: 24px; }
.right-hand-content h4 { font-size: 20px; }
.right-hand-content h5 { font-size: 18px; }
.right-hand-content h6 { font-size: 16px; }

.right-hand-content p {
  margin-bottom: 20px;
}

.right-hand-content ul,
.right-hand-content ol {
  margin-bottom: 20px;
  padding-left: 20px;
}

.right-hand-content li {
  margin-bottom: 8px;
  color: #B2B2B2;
}

.right-hand-content a {
  color: #4a7694;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.right-hand-content a:hover {
  color: white;
}

.right-hand-content strong {
  color: white;
  font-weight: 600;
}

.right-hand-content em {
  font-style: italic;
}

.contact-content h2 {
  text-align: left!important;
}

/* Responsive: Stack columns on mobile */
@media (max-width: 768px) {
  .contact-content {
    flex-direction: column;
    gap: 30px;
	  padding:20px;
  }
}

.contact-content p {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  color: #B2B2B2;
  margin-bottom: 40px;
}

.development-location-info {
  margin: 40px 0;
}

.development-location-info h3 {
  font-family: "Baskervville", serif;
  font-size: 32px;
  color: white;
  margin-bottom: 20px;
}

.location-address {
  font-family: "Poppins", sans-serif;
  color: #0D1F30;
  font-style: italic;
  font-weight: 300!important;
  font-size: 20px!important;
  text-align: center!important;
  margin: 20px 0!important;
}

.contact-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 40px;
}



/* Navigation */
.development-navigation {
  padding: 40px 0;
  text-align: center;
  border-top: 1px solid #325165;
}

.back-to-developments {
  color: #D9D9D9;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.back-to-developments:hover {
  color: white;
}

.back-to-developments i {
  margin-right: 8px;
}

/* Responsive Design for Single Development */
@media (max-width: 1024px) {
  .development-nav {
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .development-nav .nav-link {
    padding: 15px 20px;
    font-size: 14px;
  }
  
  .welcome-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
	  padding: 0px 20px;
  }
.welcome-buttons {
	justify-content: center!important;
	}
  
  .welcome-left h2 {
    font-size: 32px;
  }
  
  .development-name {
    font-size: 48px;
	  margin-bottom: 20px;
  }
  
  .development-town {
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  .development-name {
    font-size: 30px;
	  overflow-wrap: break-word;
  }
  
	
	
  .development-town {
    font-size: 18px;
  }
  
  .development-nav {
    flex-direction: column;
    padding: 10px 0;
  }
  
  .development-nav .nav-link {
    padding: 10px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0;
  }
  
  .development-section {
    padding: 60px 0;
  }
  
  .development-section .container {
    padding: 20px;
  }
  
  .development-section h2 {
    font-size: 32px;
  }
  
  .welcome-buttons {
    flex-direction: column;
    align-items: center;
  }
  
  .contact-buttons {
    flex-direction: column;
    align-items: center;
  }
}

/* Single Plot Styles */
.plot-hero {
    background: var(--primary-color);
    color: white;
    padding: 2rem 0;
}

.plot-breadcrumb {
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.plot-breadcrumb a {
    color: white;
    text-decoration: none;
}

.plot-breadcrumb a:hover {
    text-decoration: underline;
}

.plot-title {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.plot-meta {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.plot-meta span {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-weight: 500;
}

.plot-images {
    padding: 3rem 0;
}

.plot-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
}

.plot-content {
    padding: 20px;
    background: #f8f9fa;
}

.plot-details {
    max-width: 800px;
    margin: 0 auto;
}

.plot-description h2,
.plot-specifications h2 {
    color: var(--primary-color);
    margin-bottom: 1.5rem;
}

.plot-specifications {
    margin-top: 3rem;
}

.spec-item {
    padding: 1rem 0;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.spec-item:last-child {
    border-bottom: none;
}

.plot-contact {
    padding: 3rem 0;
    background: var(--primary-color);
    color: white;
    text-align: center;
}

.contact-card h2 {
    margin-bottom: 1rem;
}

.contact-card p {
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.contact-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.back-to-development {
    padding: 2rem 0;
}

.back-link {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}

.back-link:hover {
    text-decoration: underline;
}

/* Responsive Design for Plot Page */
@media (max-width: 768px) {
    .plot-title {
        font-size: 2rem;
    }
    
    .plot-meta {
        gap: 1rem;
    }
    
    .plot-gallery {
        grid-template-columns: 1fr;
    }
    
    .contact-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .spec-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* Footer Styles */

.site-footer {
  background: #0D1F30;
  padding: 60px 0 30px;
  color: white;
}

.footer-container {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr minmax(auto, 100px);
  gap: 40px;
  align-items: start;
}

.footer-column {
  display: flex;
  flex-direction: column;
}

.footer-column.awards {
  text-align: center;
  margin-top: 30px;
}

@media only screen and (max-width: 768px) {
	.footer-awards {
		grid-column-end: span 1;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
	.footer-awards {
        grid-column-end: span 2;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 40px;
        height: 100%;
        align-items: center;
    }
}


.footer-col-header {
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 3.12px;
  margin-bottom: 20px;
  margin-top: 40px;
  padding-bottom: 15px;
  color: #fff;
  font-family: "Poppins", sans-serif !important;
  border-bottom: 4px solid #325165;
  font-weight: 500;
}

.footer-column p,
.footer-info-text li,
.footer-menu li,
.footer-menu li a {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 100;
  line-height: 1.2;
  margin: 0 0 6px;
  letter-spacing: 1.4px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-column p a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-column p a:hover,
.footer-menu li a:hover {
  color: #fff;
  text-decoration: underline;
}

/* Footer Menu Styles */
.footer-menu,
.footer-info-text {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Footer widget menu styling */
.footer-widget .menu,
.footer-widget .menu li,
.footer-widget .menu li a,
.menu-footer-information-container .menu,
.menu-footer-information-container .menu li,
.menu-footer-information-container .menu li a {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 100;
  line-height: 1.2;
  margin: 0 0 6px;
  letter-spacing: 1.4px;
  text-decoration: none;
  transition: color 0.3s ease;
  list-style: none;
}

.footer-widget .menu li a:hover,
.menu-footer-information-container .menu li a:hover {
  color: #fff;
  text-decoration: underline;
}


/* Logo and Awards */
.site-logo {
  max-width: 240px;
  height: auto!important;
  margin-bottom: 20px;
}

.footer-award {
  max-width: 60px;
  height: auto;
  display: block;
  margin: 0 auto;
}



/* Responsive Footer */
@media (max-width: 1024px) {
  .footer-container {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
	  margin-bottom: 30px;
  }
  
  .footer-column.awards {
    grid-column: span 3;
    margin-top: 20px;
  }
}

@media (max-width: 768px) {
  .site-footer {
    padding: 40px 20px 20px;
  }
	
	.footer-column.logo-footer {
    width: 50%;
    margin: auto;
}
  
  .footer-container {
    grid-template-columns: 1fr;
    gap: 30px;
    text-align: center;
  }
  
  .footer-column.awards {
    display: flex;
    flex-direction: row;
    margin-top: 40px;
    grid-column: unset;
    justify-content: center;
  }
  
  .footer-award {
    display: inline-block;
    margin: 0 10px 10px;
    max-width: 60px;
  }
}

/* Footer Bottom Bar Styles */
.footer-bottom-bar {

  border-top: 4px solid #325165;
  /* padding: 20px 0; */
  margin-top: 30px;
  display: flex;
  max-width: 1366px;
  margin: 0 auto;
}

.footer-bottom-content {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-bottom-content p {
  margin: 0;
  color: #999;
  font-size: 14px;
}

.footer-bottom-widget {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-bottom-widget > * {
  flex: 1;
  text-align: center;
  min-width: 200px;
}

.footer-bottom-widget .footer-bottom-title {
  color: #fff;
  font-size: 16px;
  margin-bottom: 15px;
  text-align: center;
}

/* Ensure widgets in bottom bar display inline */
.footer-bottom-widget .widget {
  flex: 1;
  text-align: center;
  margin: 0;
}

.footer-bottom-widget .widget p,
.footer-bottom-widget .widget ul,
.footer-bottom-widget .widget div {
  color: #999;
  font-size: 14px;
  margin: 0;
}

.footer-bottom-widget .widget ul {
  list-style: none;
  padding: 0;
}

.footer-bottom-widget .widget ul li {
  display: inline-block;
  margin: 0 10px;
}

.footer-mobile .footer-bottom-widget p {
    text-align: center!important;
}

@media (min-width: 769px) {
	.footer-mobile {
		display: none;
	}
}
/* Mobile responsive for footer bottom bar */
@media (max-width: 768px) {
  .footer-bottom-content,
  .footer-bottom-widget {
    padding: 0 20px;
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }
  
  .footer-bottom-widget > * {
    min-width: auto;
    flex: none;
    width: 100%;
  }
  
  .footer-bottom-content p {
    font-size: 12px;
  }
	.footer-column.contact-footer p {
    text-align: center;
}
  
  .footer-bottom-widget .widget ul li {
    display: block;
    margin: 5px 0;
  }
    .footer-awards {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 10px;
        align-content: space-between;
        align-items: center;
    }
	
	.footer-bottom-bar {
		display:none;
	}
	
	.socials-title {
		text-align: center!important;
		font-size:30px!important;
	}
}

/* Hide bullet points from footer menus */
.footer-bottom-bar .menu,
.footer-bottom-bar ul.menu,
.footer-bottom-widget .menu,
.footer-bottom-widget ul.menu,
#menu-contact-menu,
#menu-footer-information {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-bottom-bar .menu li,
.footer-bottom-bar ul.menu li,
.footer-bottom-widget .menu li,
.footer-bottom-widget ul.menu li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 10px;
  display: inline-block;
}

.footer-bottom-bar .menu-item,
.footer-bottom-widget .menu-item {
  list-style: none !important;
  list-style-type: none !important;
}

/* Ensure no bullet points appear anywhere in footer bottom */
.footer-bottom-bar *,
.footer-bottom-widget * {
  list-style: none !important;
  list-style-type: none !important;
}

/* Footer menu link styling */
.footer-bottom-bar .menu a,
.footer-bottom-widget .menu a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s ease;
}

.footer-bottom-bar .menu a:hover,
.footer-bottom-widget .menu a:hover {
  color: #fff;
  text-decoration: underline;
}

/* Display title attribute as visible text before the link */
.footer-bottom-bar a[title]:before,
.footer-bottom-widget a[title]:before,
#menu-contact-menu a[title]:before,
#menu-footer-information a[title]:before,
.menu-contact-menu-container a[title]:before {
  content: attr(title) " ";
  color: #fff;
  text-transform: uppercase;
}

/* Mobile Menu Styles */
.mobile-menu-toggle {
  display: none;
  background: none!important;
  border: none!important;
  cursor: pointer!important;
  padding: 10px!important;
  z-index: 1001!important;
  flex-direction: column!important;
  justify-content: space-around!important;
  width: 50px!important;
  height: 50px!important;
}

.hamburger-line {
  display: block;
  height: 3px;
  width: 100%;
  background-color: white;
  margin-bottom: 3px;
  transition: all 0.3s ease;
}

.hamburger-line:last-child {
  margin-bottom: 0;
}

/* Hamburger animation when active */
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  transition: right 0.3s ease;
}

.mobile-menu-overlay.active {
  right: 0;
}

/* Mobile Menu Panel */
.mobile-menu {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  height: 100%;
  background-color: #0D1F30;
  padding: 20px;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.3);
  overflow-y: auto;
}

.mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 20px;
}

.mobile-logo img {
  max-height: 140px;
  width: auto;
}

.mobile-menu-close {
  background: none;
  border: none;
  color: white;
  font-size: 24px;
  cursor: pointer;
  padding: 5px;
  line-height: 1;
  min-width: 30px!important;
}

.mobile-navigation {
  margin-top: 20px;
}

.mobile-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-menu-list a {
  color: white;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: color 0.3s ease;
}

.mobile-menu-list a:hover {
  color: #325165;
}

/* Responsive Breakpoint */
@media (max-width: 1490px) {
  .left-navigation,
  .right-navigation {
    display: none;
  }
  
  .mobile-menu-toggle {
    display: flex;
    min-width: 40px !important;
  }
  
  .header {
    justify-content: space-between!important;
    align-items: center;
  }
}

/* Smaller mobile screens */
@media (max-width: 480px) {
  .mobile-menu {
    width: 280px;
  }


}

 @media (max-width: 768px) {
	 
	 .site-logo {
		 max-width: 150px;
	 }
	 
	 #location .col-left h2 {
		 font-size:30px;
		 text-align:center;
	 }
	 #location .main-content p {
		 text-align: center;
		 font-size:16px;
	 }
	 button#contact {
		 margin:auto;
	 }
	 
	 .development-section .price-range-container {
		 margin-top:20px;
	 }
	 .available-plots .filter-group {
		 width: 100%;
	 }
	 .available-plots .plots-header {
		 align-items: center;
	 }
} 

 @media (max-width: 1024px) {
	 section#available-homes {
		 padding: 0px;
		 margin-top: 40px;
	 }
 .search-homes-section .search-homes-container .search-form {
    flex-direction: column;
  }
	 .search-homes-section .search-homes-container .form-wrapper {
		 border:0px;
	 }
.search-homes-section .search-homes-container {
        background: #325165;
        border-top: 5px solid #B2B2B2;
    }
	 .search-homes-section .search-homes-container h3 {
		 color: white;
		 text-align: center;
		 font-size:19px!important;
		 margin-top: 20px!important;
		 
	 }
	 	.search-homes-section .search-homes-container .search-form {
		 gap:20px!important;
			width: 90%;
			margin:auto;
		
	 }
	 
}


/* Search Results Page */
.search-results-section {
  padding: 60px 20px;
  background-color: #f8f8f8;
}

.search-results-section h1 {
  font-size: 36px;
  margin-bottom: 30px;
  color: #0D1F30;
  text-align: center;
}

.search-criteria {
  background: white;
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 30px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.search-criteria h3 {
  margin-bottom: 15px;
  color: #0D1F30;
}

.search-results-count {
  margin-bottom: 30px;
}

.search-results-count p {
  font-size: 18px;
  font-weight: bold;
  color: #325165;
}

/* County Filter Buttons */
.county-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  margin-bottom: 30px;
  padding: 20px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.county-filter-btn {
  padding: 12px 24px;
  background: #f0f0f0;
  border: 2px solid transparent;
  border-radius: 25px;
  color: #325165;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.county-filter-btn:hover {
  background: #e0e0e0;
  border-color: #325165;
}

.county-filter-btn.active {
  background: #325165;
  color: white;
  border-color: #325165;
}

@media (max-width: 768px) {
  .county-filters {
    gap: 10px;
    padding: 15px;
  }
  
  .county-filter-btn {
    padding: 10px 20px;
    font-size: 14px;
  }
}

/* County Groups */
.county-group {
  transition: opacity 0.3s ease;
}

.county-group.hidden {
  display: none;
}

.no-results {
  text-align: center;
  padding: 60px 20px;
  background: white;
  border-radius: 12px;
}

.no-results p {
  font-size: 18px;
  margin-bottom: 20px;
  color: #666;
}

.back-to-search {
  display: inline-block;
  background: #325165;
  color: white;
  padding: 12px 20px;
  text-decoration: none;
  border-radius: 5px;
}

.back-to-search:hover {
  background: #2a4557;
  color: white;
}

/* Search Results: Group Headings */
.search-results-section .results-group-title {
  margin: 50px 0 20px;
  font-family: "Baskervville", serif;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #0D1F30;
}

@media (max-width: 768px) {
  .search-results-section .results-group-title {
    font-size: 24px;
    margin: 30px 0 15px;
  }
}

/* Lightbox Styles */
.site-plan-image {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.lightbox-trigger {
  position: relative;
  display: block;
  transition: transform 0.3s ease;
}

.lightbox-trigger:hover {
  transform: scale(1.05);
}

.lightbox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lightbox-trigger:hover .lightbox-overlay {
  opacity: 1;
}

.lightbox-icon {
  width: 48px;
  height: 48px;
  color: #fff;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

/* Site Plan Drag and Zoom Functionality */
.drag-img {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
  border-radius: 0px;
  background: transparent;
  cursor: grab;
  border: 0px solid #e0e0e0;
  margin: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.drag-img:active {
  cursor: grabbing;
}

.drag-img__image {
  position: relative;
  left: 0;
  top: 0;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: all 0.1s ease;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.drag-img__image.dragging {
  cursor: grabbing !important;
}

.drag-img__button {
  position: absolute;
  background: rgba(13, 31, 48, 0.9);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: white;
  font-size: 20px;
  font-weight: bold;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 10;
  line-height: 1;
}

.drag-img__button:hover {
  background: rgba(13, 31, 48, 1);
  border-color: rgba(255, 255, 255, 0.6);
  transform: scale(1.1);
}

.drag-img__button--in {
  top: 20px;
  right: 20px;
}

.drag-img__button--out {
  top: 80px;
  right: 20px;
}

.drag-img__button--reset {
  top: 140px;
  right: 20px;
  font-size: 18px;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .drag-img {
    height: 300px;
  }
  
  .drag-img__button {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .drag-img__button--in {
    top: 15px;
    right: 15px;
  }
  
  .drag-img__button--out {
    top: 65px;
    right: 15px;
  }
  
  .drag-img__button--reset {
    top: 115px;
    right: 15px;
  }
}



@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Mobile responsive for lightbox */
@media (max-width: 768px) {
  .lightbox-close {
    top: -30px;
    right: -30px;
    width: 30px;
    height: 30px;
    font-size: 20px;
  }
  
  .lightbox-content {
    max-width: 95%;
    max-height: 95%;
  }
  
  .lightbox-icon {
    width: 32px;
    height: 32px;
  }
}

/* Responsive styles for modal */
@media (max-width: 768px) {
  .plots-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .search-results-section h1 {
    font-size: 28px;
  }
  
  .plot-specs {
    flex-direction: column;
    gap: 10px;
  }
}

.single-development .location {
  background-color: #fff;
}
.single-development .location h2 {
  color: #0D1F30;
  text-align: left;
}

#location button,
#single-development-map button {
  min-width: 20px;
}

/* Global Contact Modal Styles -> Unified Modal Styles */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeIn 0.3s ease-in-out;
}

.modal-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
}

.modal-content {
  position: relative;
  background: #0D1F30;
  border-radius: 0;
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
  from {
    transform: translateY(50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 40px 20px;
  border-bottom: 1px solid #eee;
}

.modal-header h2 {
  color: white;
  font-family: "Baskervville";
  font-size: 28px;
  margin: 0;
}

.modal-close {
  background: none;
  border: none;
  font-size: 30px;
  color: white;
  cursor: pointer;
  padding: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  transition: all 0.3s ease;
}

.modal-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}

.modal-body {
  padding: 30px 40px 40px;
}

/* Contact Modal Form Styling */
.global-contact-form,
.global-brochure-form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.global-contact-form .form-row,
.global-brochure-form .form-row {
  display: flex;
  gap: 30px;
}

.global-contact-form .form-group,
.global-brochure-form .form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.global-contact-form .form-group.full-width,
.global-brochure-form .form-group.full-width {
  width: 100%;
}

.global-contact-form .form-group label,
.global-brochure-form .form-group label {
  color: white;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
}

.global-contact-form .form-group input,
.global-contact-form .form-group textarea,
.global-brochure-form .form-group input,
.global-brochure-form .form-group textarea {
  background: #FFF;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 15px 20px;
  color: #333;
  text-transform: uppercase;
  transition: all 0.3s ease;
  font-size: 14px;
}

.global-contact-form .form-group input:focus,
.global-contact-form .form-group textarea:focus,
.global-brochure-form .form-group input:focus,
.global-brochure-form .form-group textarea:focus {
  outline: none;
  background: #4a7694;
  color: white;
  border-color: #325165;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2);
}

.global-contact-form .form-group input::placeholder,
.global-contact-form .form-group textarea::placeholder,
.global-brochure-form .form-group input::placeholder,
.global-brochure-form .form-group textarea::placeholder {
  color: #999;
  opacity: 1;
}

.global-contact-form .form-group textarea,
.global-brochure-form .form-group textarea {
  resize: vertical;
  min-height: 120px;
  text-transform: none;
}


.global-contact-form .form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

.global-contact-form .form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.global-contact-form .form-group.full-width {
  flex: 1 1 100%;
}

.global-contact-form label {
  color: #0D1F30;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.global-contact-form input,
.global-contact-form textarea {
  padding: 15px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  font-family: "Poppins", sans-serif;
  transition: border-color 0.3s ease;
  background: #fff;
  color: #333;
}

.global-contact-form input:focus,
.global-contact-form textarea:focus {
  outline: none;
  border-color: #0D1F30;
}

.global-contact-form input::placeholder,
.global-contact-form textarea::placeholder {
  color: #999;
  font-style: italic;
}

@media (max-width: 1024px) {
  .contact-form .form-row {
    flex-direction: column;
    gap: 15px;
  }
	
}
/* Mobile responsive */
@media (max-width: 768px) {
  .modal-content {
    width: 95%;
    margin: 20px;
    max-height: 85vh;
  }
  
  .modal-header,
  .modal-body {
    padding: 20px;
  }
  
  .modal-header h2 {
    font-size: 24px;
  }
  
  .global-contact-form .form-row,
  .global-brochure-form .form-row {
    flex-direction: column;
    gap: 15px;
  }
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  min-width: 10px;
  border-radius: 0px!important;
  text-transform: capitalize;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
  background-color: #325165!important;
  color: #fff!important;
}

/* Single Plot Page Styles */
.plot-details {
  color: #B2B2B2;
}

.plot-details .detail-item {
  margin-bottom: 30px;
}

.plot-details .detail-item:last-of-type {
  border-bottom: none;
  margin-bottom: 40px;
}

.plot-details .detail-item h3 {
  font-size: 20px;
letter-spacing: 0.06em;
text-transform: uppercase;
font-family: Baskervville;
color: #fff;
text-align: left;
font-weight: 400;
margin: 0px;
}

.plot-details .detail-item p {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 300;
  color: #B2B2B2;
  margin: 0;
}

.plot-details .detail-item a {
  color: #325165;
  text-decoration: underline;
  font-weight: 400;
}

.plot-details .detail-item a:hover {
  color: #D9D9D9;
}

/* Ensure welcome-left image styling */
.welcome-left img {
  width: 100%;
  height: auto;
  
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* Plot Image Cover Styling */
.plot-image-cover {
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Plot Icons Container */
.plot-icons-container {
  margin-bottom: 20px;
}

/* Plot Icons Grid */
.plot-icons-grid {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 60px;
  margin-bottom: 35px;
  flex-wrap: nowrap; /* Keep icons in single row */
}

/* Core icons row - can have 1-4 icons */
.core-icons-row .icon-item {
  min-width: 120px; /* Ensure consistent width for core icons */
}

/* Spotlight icons rows - always 4 icons per row */
.spotlight-icons-row .icon-item {
  flex: 1; /* Equal width distribution for spotlight icons */
  max-width: 150px;
	margin: auto;
}

.icon-item {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

/* Spotlight icon styling */
.spotlight-icon {
  width: 50px;
  height: 50px;
  /* White icons */
  filter: brightness(0) saturate(100%) invert(100%);
}

/* Alternative colors you can use instead:
.spotlight-icon {
  White icons:
  filter: brightness(0) saturate(100%) invert(100%);
  
  Blue icons:
  filter: brightness(0) saturate(100%) invert(27%) sepia(88%) saturate(1095%) hue-rotate(200deg) brightness(94%) contrast(94%);
  
  Green icons:
  filter: brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);
  
  Red icons:
  filter: brightness(0) saturate(100%) invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%);
  
  Dark gray icons:
  filter: brightness(0) saturate(100%) invert(20%);
  
  Light gray icons:
  filter: brightness(0) saturate(100%) invert(70%);
} */

/* Empty icon slot styling */
.empty-icon-slot {
  width: 40px;
  height: 40px;
  opacity: 0;
  pointer-events: none;
}

.plot-icon {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: brightness(0) invert(1); /* Makes icons white */
}

.icon-text {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #B2B2B2;
  text-align: center;
  line-height: 1.2;
}

/* Responsive adjustments for plot details */
@media (max-width: 768px) {
  .welcome-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .plot-details .detail-item {
    margin-bottom: 20px;
    padding-bottom: 15px;
  }
	
  .plot-details .detail-item h3, .plot-details .detail-item p  {
   text-align:center;
  }
  .plot-image-cover {
    height: 250px;
  }

  .plot-icons-grid {
    justify-content: center;
    gap: 20px;
    text-align: center;
	display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .icon-item {
   
    justify-content: center;
    gap: 15px;
  }

  .plot-icon {
    width: 30px;
    height: 30px;
  }

  .welcome-buttons {
    flex-direction: column;
    gap: 15px;
  }

  .contact-button,
  .brochure-button {
    width: 100%;
    padding: 18px 30px;
  }
}

@media (max-width: 480px) {
  .plot-icons-grid {
    justify-content: space-around;
    gap: 10px;
  }

  .icon-item {
    flex-direction: column;
    gap: 8px;
  }

  .icon-text {
    font-size: 12px;
  }
}

/* Single Plot Section Backgrounds */
.single-plot-page #floor-plans {
  background-color: #d9d9d9;
}

.single-plot-page #floor-plans h2 {
      font-family: "Baskervville", serif;
    font-size: 64px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.single-plot-page #floor-plans .ground-floor {
  margin-bottom: 100px;
}
.single-plot-page #floor-plans .first-floor {
  margin-bottom: 0px;
}

.single-plot-page .floor-info {
    padding: 20px;
}

.single-plot-page #floor-plans .ground-floor h3,
.single-plot-page #floor-plans .first-floor h3 {
  color: #0D1F30;
  font-family: "Baskervville", serif;
  font-size: 32px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.single-plot-page #floor-plans .kitchen-breakfast-container,
.single-plot-page #floor-plans .master-bedroom-metric-container {
  color: #0D1F30;
}

.single-plot-page #floor-plans .kitchen-breakfast {
  color: #0D1F30;
  font-weight: 600;
}

.single-plot-page #floor-plans .metric-635m-x {
  color: #666;
  font-size: 14px;
}

.single-plot-page #location {
  background-color: #0D1F30;
}

.single-plot-page #gallery {
  background-color: #d9d9d9;
}

.single-plot-page #gallery h2 {
  color: #0D1F30;
}

.single-plot-page #contact {
  background-color: #0D1F30;
}

/* Floor Plans Section - Generic Styling */
.single-plot-page .floor-title {
  font-family: "Baskervville", serif;
  font-size: 24px;
  font-weight: 400;
  color: #0D1F30;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 20px 0;
}

.single-plot .floor-plan-image-container {
  text-align: center;
    margin: 0;
  padding: 0;
  background-color: #fff;
}

.single-plot-page .floor-plan-image {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  height: auto;
}

/* Gallery Section - Generic Styling */
.single-plot-page .gallery-image {
  width: 100%;
  max-width: 800px;
  margin: 20px auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.single-plot-page .house-name {
  text-align: center;
  color: #0D1F30;
  font-size: 24px;
  margin-top: 20px;
  display: block;
  font-style: italic;
}

/* Location Section - Generic Styling */
.single-plot-page .location-map {
  width: 100%;
  max-width: 800px;
  margin: 20px auto;
  display: block;
  border-radius: 8px;
}

/* Contact Section - Generic Styling */
.single-plot-page .contact-label {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  color: white;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Location Section Styling */
.single-plot-page #location .location-child,
.single-plot-page #location .screenshot-2025-09-09-at-1116 {
  width: 100%;
  max-width: 800px;
  margin: 20px auto;
  display: block;
  border-radius: 8px;
}

.single-plot-page #location .map-to-be {
  text-align: center;
  font-style: italic;
  color: #B2B2B2;
  margin-top: 20px;
}

/* Gallery Section Styling */
.single-plot-page #gallery .gallery-child {
  width: 100%;
  max-width: 800px;
  margin: 20px auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.single-plot-page #gallery .the-haughley {
  text-align: center;
  color: #0D1F30;
  font-size: 24px;
  margin-top: 20px;
  display: block;
}

/* Single Plot Page Section Headings */
.single-plot-page h1 {
    font-family: "Baskervville", serif;
    font-size: 100px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: white;
}
.single-plot-page h2 {
  text-align: left;
  color: #283d4f;
  font-size: 64px;
}
  .single-plot-page .contact-content h2 {
    color: #fff;
}

.single-plot-page .plot-development { 
margin-top: -15px;
    font-family: "Poppins", sans-serif;
    font-size: 36px;
    font-weight: 300;
    text-transform: capitalize;
    letter-spacing: 2px;
    color: #B2B2B2;
    margin-bottom: 50px;
    font-style: italic;
}

/* Location Section Styling */
.single-plot-page #location {
  background-color: white;
  padding: 3rem 0;
}

.single-plot-page #location h2 {
      font-family: "Baskervville", serif;
    font-size: 48px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.single-development #location .location-information-content,
.single-plot-page #location .location-information-content {
  color: #0D1F30;
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 300;
  margin: 0;
  text-align: left;
}

.single-plot-page #location .location-information-content li {
  list-style: none;
  padding-left: 30px;
  background-image: url('../assets/images/bullet.png');
  background-repeat: no-repeat;
  background-position: 0 0.3em;
  background-size: 24px 24px;
  margin-bottom: 8px;
}

/* Google Map Container */
.single-plot-page #google-map {
  width: 100%;
  height: 400px;
  margin: 2rem 0;
  border-radius: 8px;
  overflow: hidden;
}

.single-plot-page #google-map iframe {
  border: 0;
  width: 100%;
  height: 400px;
}

/* Address Section */
.single-plot-page .address-section {
  text-align: center;
  margin: 2rem 0;
}

.single-plot-page .address-section h3 {
  color: #283d4f;
  font-family: Poppins, sans-serif;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 0.5rem;
}

.single-plot-page .address-section p {
  color: #283d4f;
  font-family: Poppins, sans-serif;
  font-weight: 400;
  font-size: 16px;
  margin: 0;
}

/* Floor Plans Styling */
.single-plot-page .ground-floor,
.single-plot-page .first-floor {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
  margin-bottom: 3rem;
}

.single-plot-page .floor-plan-image {
  width: 100%;
  height: auto;
}

.single-plot-page .floor-title {
  margin-bottom: 1rem;
}

.single-plot-page .room-list {
  list-style: none;
  padding: 0;
}

.single-plot-page .room-item {
  margin-bottom: 1rem;
    position: relative;
    font-size: 20px;
    letter-spacing: 0.02em;
    line-height: 156%;
    color: #283d4f;
    text-align: left;
    font-family: Poppins;
    font-weight: 600;
}

/* Responsive Design */
@media (max-width: 768px) {
  .single-plot-page #location {
    padding: 2rem 0;
  }
  
  .single-plot-page #google-map {
    height: 300px;
    margin: 1.5rem 0;
  }
  
  .single-plot-page #google-map iframe {
    height: 300px;
  }
  
  .single-plot-page .home-advisor-section {
    margin-top: 2rem;
    padding: 1.5rem;
  }
  
  .single-plot-page .ground-floor,
  .single-plot-page .first-floor {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
  
  .single-plot-page .room-item > div:first-child,
  .single-plot-page .room-item > div:last-child {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .single-plot-page #google-map {
    height: 250px;
    margin: 1rem 0;
  }
  
  .single-plot-page #google-map iframe {
    height: 250px;
  }
  
  .single-plot-page .home-advisor-section {
    padding: 1rem;
  }
  
  .single-plot-page .address-section h3 {
    font-size: 18px;
  }
  
  .single-plot-page .address-section p {
    font-size: 14px;
  }
  
  .single-plot-page .home-advisor-section h3 {
    font-size: 18px;
  }
  
  .single-plot-page .room-item > div:first-child,
  .single-plot-page .room-item > div:last-child {
    font-size: 18px;
  }
}

/* =============================================================================
   TWO COLUMN IMAGE CONTENT SECTION
   ============================================================================= */

.two-col-image-content-section .flex-container {
  display: flex;
  min-height: 400px;
  align-items: stretch;
}

.two-col-image-content-section .col-left {
  width: 550px;
  position: relative;
  overflow: hidden;
}

.two-col-image-content-section .col-left .image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.two-col-image-content-section .col-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.two-col-image-content-section .col-right {
  width: 65%;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

section.two-col-image-content-section  {
  margin: 0;
  padding: 0;
}

/* =============================================================================
   ICON LISTING CONTENT SECTION
   ============================================================================= */

.icon-listing-content-section {
  padding: 40px 20px;
}

.icon-listing-list {
  list-style: none;
  margin: 20px 0;
  padding: 0;
}

.icon-listing-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
  gap: 15px;
}

.icon-listing-item .icon-wrapper {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  color: #325165;
}

.icon-listing-item .content-wrapper {
    flex: 1;
    min-height: 64px;
    align-content: center;
}


/* Dark blue text for white backgrounds */
.bg-white h2,
.bg-white h3,
.bg-white h4,
.bg-white p,
.bg-white a,
.bg-white ul,
.bg-white .icon-wrapper,
.bg-grey h2,
.bg-grey h3,
.bg-grey h4,
.bg-grey p {
  color: #0D1F30;
}

.bg-bennetts-light-blue h2,
.bg-bennetts-light-blue h3,
.bg-bennetts-light-blue h4,
.bg-bennetts-light-blue p,
.bg-bennetts-dark-blue h2,
.bg-bennetts-dark-blue h3,
.bg-bennetts-dark-blue h4,
.bg-bennetts-dark-blue p {
  color: #fff;
}

.bg-white .subtitle,
.bg-bennetts-dark-blue .subtitle,
.bg-bennetts-light-blue .subtitle {
  color: #d9d9d9;
}

.bg-grey .subtitle {
  color: #325165;
}

/* =============================================================================
   CONTENT SECTIONS - ORGANIZED TYPOGRAPHY
   ============================================================================= */

/* Paragraph Styling for All Content Sections */
.one-col-content-section a,
.one-col-content-section ul,
.two-col-content-section a,
.multi-col-content-section a,
.multi-row-column-section a,
.meet-the-team-section a,
.socials-section a,
.contact-section a,
.column-services-section a,
.search-homes-section a,
.two-col-image-content-section a,
.icon-listing-content-section a,
.development-description a,
.plots-placeholder a{
  font-family: "Poppins";
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 30px 0;
  text-align: left;
  font-weight: 300;
}

.one-col-content-section p,
.two-col-content-section p,
.multi-col-content-section p,
.multi-row-column-section p,
.meet-the-team-section p,
.property-offers-section p,
.client-testimonials-section p,
.socials-section p,
.contact-section p,
.column-services-section p,
.search-homes-section p,
.developments-map-section p,
.search-results-section p,
.two-col-image-content-section p,
.icon-listing-content-section p,
.single-plot-page p,
.plot-welcome p,
.development-section p,
.development-description p,
.plots-placeholder p,
.search-results-section p {
  font-family: "Poppins";
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 30px 0;
  text-align: left;
  font-weight: 300;
}

.multi-col-content-section p {
  text-align: center;
}

.icon-listing-content-section p {
    font-weight: 500;
    height: 100%;
    align-content: center;
    margin: 0px;
}

.icon-listing-content-section p.top-text {
  font-weight: 300;
}


 p.bottom-text {
  font-weight: 300!important;
  font-size: 16px!important;
}

.two-col-content-section p,
.two-col-image-content-section p {
    font-family: "Poppins";
    font-size: 24px;
    line-height: normal;
    margin-bottom: 30px;
    text-align: left;
    font-weight: 300;
}

/* H2 Styling for All Content Sections */
.one-col-content-section h2,
.two-col-content-section h2,
.multi-col-content-section h2,
.multi-row-column-section h2,
.meet-the-team-section h2,
.property-offers-section h2,
.client-testimonials-section h2,
.socials-section h2,
.contact-section h2,
.column-services-section h2,
.search-homes-section h2,
.developments-map-section h2,
.search-results-section h2,
.two-col-image-content-section h2,
.icon-listing-content-section h2,
.inspiration-title-section h2,
.single-plot-page h2,
.plot-welcome h2,
.plots-header h2,
.plots-content h2,
.development-description h2,
.development-section h2,
.search-results-section h2 {
  font-family: "Baskervville";
  font-size: 48px;
  line-height: 1.2;
  margin: 0 0 30px 0;
  text-align: left;
  font-weight: 400;
  letter-spacing: 3.84px;
}

.inspiration-title-section h2 {
  font-size: 80px !important;
  margin: 0 !important;
  line-height: 1 !important;
}

@media (max-width: 768px) {
	.inspiration-title-section h2, .inspiration-title-section .inspiration-title-container .subtitle {
		font-size:24px!important;
		text-transform: uppercase!important;
	}
	.inspiration-title-section .inspiration-title-container h2.subtitle {
		
		text-transform: uppercase!important;
		display: flex;
		justify-content: flex-end;
		text-align: end;
	}
	#sb_instagram .sbi_photo img {
		scale: 0.8;
	}
	.inspiration-title-container h2 {
		text-align: center;
	}
}

@media  (min-width: 768px) and (max-width: 1024px) {
	.inspiration-title-container h2 {
    font-size: 32px !important;
		text-align: center;
}
}

/* H3 Styling for All Content Sections */
.one-col-content-section h3,
.two-col-content-section h3,
.multi-col-content-section h3,
.multi-row-column-section h3,
.meet-the-team-section h3,
.property-offers-section h3,
.client-testimonials-section h3,
.socials-section h3,
.contact-section h3,
.column-services-section h3,
.search-homes-section h3,
.developments-map-section h3,
.search-results-section h3,
.two-col-image-content-section h3,
.icon-listing-content-section h3,
.inspiration-title-section h3,
.single-plot-page h3,
.plot-welcome h3,
.development-section h3,
.development-description h3,
.plots-placeholder h3,
.search-results-section h3 {
  font-family: "Baskervville";
  font-size: 32px;
  line-height: 1.2;
  margin: 0 0 20px 0;
  text-align: left;
  font-weight: 400;
  letter-spacing: 3.84px;
  text-transform: uppercase;
}

.search-homes-section h3 {
  color: #0D1F30;
  text-align: left;
  text-transform: uppercase;
  padding: 10px 20px;
  margin: 0!important;
  line-height: 1.2;
}

/* Subtitle Styling for All Content Sections */
.one-col-content-section .subtitle,
.two-col-content-section .subtitle,
.multi-col-content-section .subtitle,
.property-offers-section .subtitle,
.client-testimonials-section .subtitle,
.socials-section .subtitle,
.contact-section .subtitle,
.column-services-section .subtitle,
.search-homes-section .subtitle,
.developments-map-section .subtitle,
.search-results-section .subtitle,
.two-col-image-content-section .subtitle,
.icon-listing-content-section .subtitle,
.inspiration-title-section .subtitle {
  font-family: "Poppins";
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 15px;
  text-align: left;
  font-weight: 300;
  opacity: 0.8;
}

.multi-row-column-section h2 .subtitle,
.meet-the-team-section h2 .subtitle,
.inspiration-title-section h2.subtitle {
  font-family: "Poppins", sans-serif;
  font-weight: 300 !important;
  color: #B2B2B2;
  text-align: left;
  font-style: italic;
  margin: 0px;
  line-height: 1.5 !important;
}

/* =============================================================================
  ADDITIONAL TEMPLATE SECTIONS - TYPOGRAPHY
  ============================================================================= */

  .cmplz-document h2,
  #section-172-statement h2 {
    font-size: 30px!important;
    text-transform: uppercase!important;
  }
 .cmplz-document h4 {
    text-align: left!important;
    
  }

.one-col-content-section h4,
.client-testimonials-section h4,
.property-offers-section h4,
.column-services-section h4 {
  text-align: center;
  font-family: Poppins;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3.12px;
  text-transform: uppercase;
  padding: 10px 0px;
  width: 100%;
}

.client-testimonials-section h4 {
  text-transform: capitalize;
}

.property-offers-section h4 {
  font-size: 18px;
  padding: 20px 0px;
}

.property-offers-section .location-card p {
  text-align: center;
  font-family: Baskervville;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 1.44px;
  text-transform: uppercase;
  margin: 20px 0;
}



/* Footer Content */
.site-footer h4 {
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 3.12px;
  margin-bottom: 20px;
  margin-top: 40px;
  padding-bottom: 15px;
  color: #fff;
  font-family: "Poppins", sans-serif !important;
  border-bottom: 4px solid #325165;
  font-weight: 500;
}

.site-footer a,
.site-footer p {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 100;
  line-height: 1.2;
  margin-bottom: 6px;
  letter-spacing: 1.4px;
  text-decoration: none;
  transition: color 0.3s ease;
  text-align: left;
}

.site-footer a:hover {
  text-decoration: underline;
}

/* Archive Pages */
.archive-description,
.plot-development,
.plot-price,
.plot-status {
  font-family: "Poppins";
  font-size: 20px;
  line-height: normal;
  margin-bottom: 15px;
  text-align: left;
  font-weight: 300;
}

/* Special Content Classes */
.card-prices,
.no-developments {
  font-family: "Poppins";
  font-size: 18px;
  line-height: normal;
  margin-bottom: 15px;
  text-align: center;
  font-weight: 400;
}

/* Contact and Social Title Classes */
.contact-title,
.socials-title {
  font-family: "Baskervville";
  font-size: 48px;
  line-height: normal;
  margin-bottom: 30px;
  text-align: left;
  font-weight: 400;
}

/* Floor Title Classes */
.floor-title {
  font-family: "Baskervville";
  font-size: 32px;
  line-height: normal;
  margin-bottom: 20px;
  text-align: left;
  font-weight: 400;
}

/* Image alignment classes */
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
}

.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 10px;
}

/* Get Directions Section */
.get-directions-section {
  margin: 40px 0;
  padding: 30px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}

.get-directions-btn {
  background: #325165;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 4px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.get-directions-btn:hover {
  background: #0D1F30;
  transform: translateY(-1px);
}

.get-directions-btn i {
  font-size: 18px;
}

.directions-form {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  background: #f8f9fa;
  border-radius: 4px;
  margin-top: 0;
}

.directions-form.active {
  max-height: 300px;
  padding: 20px;
  margin-top: 20px;
  border: 1px solid #e0e0e0;
}

.directions-input-group {
  margin-bottom: 20px;
}

.directions-input-group label {
  display: block;
  margin-bottom: 8px;
  color: #0D1F30;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.directions-input-group input {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}

.directions-input-group input:focus {
  outline: none;
  border-color: #325165;
}

.directions-input-group input::placeholder {
  color: #999;
  font-style: italic;
}

.directions-buttons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.directions-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  flex: 1;
  justify-content: center;
  min-width: 120px;
}

.directions-btn--google {
  background: #4285f4;
  color: white;
}

.directions-btn--google:hover {
  background: #3367d6;
  color: white;
  transform: translateY(-1px);
}

.directions-btn--apple {
  background: #007aff;
  color: white;
}

.directions-btn--apple:hover {
  background: #0051d5;
  color: white;
  transform: translateY(-1px);
}

.directions-btn--waze {
  background: #00d4aa;
  color: white;
}

.directions-btn--waze:hover {
  background: #00b894;
  color: white;
  transform: translateY(-1px);
}

.directions-btn i {
  font-size: 16px;
}

/* Mobile responsive for directions */
@media (max-width: 768px) {
  .get-directions-section {
    margin: 20px 0;
    padding: 20px;
  }
  
  .get-directions-btn {
    width: 100%;
    justify-content: center;
    padding: 15px 20px;
  }
  
  .directions-form.active {
    padding: 15px;
  }
  
  .directions-buttons {
    flex-direction: column;
    gap: 12px;
  }
  
  .directions-btn {
    width: 100%;
    min-width: auto;
    flex: none;
  }
}

/* Contact Form Message Styles */
.form-message {
  padding: 30px;
  border-radius: 8px;
  text-align: center;
  margin-top: 20px;
  animation: slideIn 0.3s ease-out;
}

.form-message.success {
  background-color: #d4edda;
  border: 2px solid #28a745;
  color: #155724;
}

.form-message.error {
  background-color: #f8d7da;
  border: 2px solid #dc3545;
  color: #721c24;
}

.form-message h3 {
  margin: 0 0 15px 0;
  font-family: "Baskervville", serif;
  font-size: 24px;
  font-weight: 400;
  color: #0D1F30;
}

.form-message p {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Contact form loading state */
.contact-form button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Mobile responsive for form messages */
@media (max-width: 768px) {
  .form-message {
    padding: 20px;
  }
  
  .form-message h3 {
    font-size: 20px;
  }
  
  .form-message p {
    font-size: 14px;
  }
}

.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
}

.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 10px;
}

.single-plot-page h1 {
  font-size: 50px;
}
.single-plot-page .plot-development {
  margin-bottom: 25px;
}

.single-plot-page .image-hero-section.tall{
  height: 900px;
}

.single-plot-page .image-hero-section .wide .hero-overlay {
  height: calc(100vh - 250px);
}

.single-plot-page .image-hero-section .hero-image.tall {
width: 1366px;
  background-size: 1366px;
 
  margin: 0 auto;
  background-position: center bottom;
}
.single-plot-page .image-hero-section .hero-image.wide {
  width: 100%;
  background-size: cover;
  background-position: center top;
  margin: 0 auto;
  height: calc(100vh - 250px);
}
.single-plot-page .image-hero-section .hero-overlay {
  background: linear-gradient(to bottom, transparent 0%, transparent calc(100% - 200px), rgba(13, 31, 48, 1) calc(100% - 20px));
  padding: 0 30px;
}
@media (max-width: 768px) {
.single-plot-page .image-hero-section .hero-overlay {
    background: linear-gradient(to bottom, transparent 0%, transparent calc(100% - 150px), rgba(13, 31, 48, 1) calc(100% - 20px));
	width: 100%;
}
}
.image-hero-section .hero-content {
  margin: 0;
  bottom: 0px;
}

.icon-item i {
  font-size: 35px;
  color: #fff;
}

.contact-trigger {
  cursor: pointer;
}

.epc-modal-trigger {
  margin: 0px!important;
}
.icon-text.epcfile {
  display: block;
}

/* =============================================================================
  Land acquistion
  ============================================================================= */
@media (max-width: 768px) {
	#decision-making .flex-container {
	flex-direction: column;
}
	#decision-making .col-left {
	width: 100%;
    height: 400px;
	}
	#our-land-requirements h2, #decision-making h2 {
    font-size: 28px !important;
}
	
	#our-land-requirements .content-wrapper p, #decision-making .main-content p {
		font-size: 18px;
	}
	#decision-making .col-right {
		width: auto;
		padding: 20px;
	}
	
}
/* =============================================================================
  Responsive Updates
  ============================================================================= */
@media (max-width: 768px) {
    .hero-slide[style*="--mobile-bg"],
    .hero-image[style*="--mobile-bg"] {
        background-image: var(--mobile-bg) !important;
    }
	.one-col-content-section .one-col-content p, .multi-col-item p, .multi-row-content p.multi-col-item a, #our-land-requirements .icon-listing-item .content-wrapper p, #decision-making .flex-container .main-content p, .main-description p,  .multi-row-content p, .development-description p, .location-information-content p, .home-adviser-cta p, .accordion-content li, .gallery-text p, .search-criteria p, .search-results-count p, .icon-listing-content-section p, .multi-col-item p a, .contact-content-column p, .contact-content-column p a, .one-col-content p a, .one-col-content li  {
		font-size:16px;
	}
	#our-land-requirements h2 {
		text-align:center;
	}
	.image-hero-section.tall {
		height: 50vh!important;
        min-height: auto;
	}
  	.image-hero-section.wide {
		height: 36vh!important;
        min-height: auto;
	}
	.image-hero-section .swiper-container {
		height: 100%;
	}
	.image-hero-section .swiper-button-next, .image-hero-section .swiper-button-prev {
		top:55%;
	}
	.banner-text {
		bottom: 80px;
    padding: 10px 0px;
	}
	.client-testimonials-section p  {
		hyphens:none;
	}
	.footer-widget figure {
		margin:0px;
	}
	.footer-column.logo-footer {
		margin-bottom: -50px;
	}
	.one-col-content-section h3, .results-group-title, .search-criteria h3 {
		font-size:18px;
	}
	.single-plot-page .image-hero-section .hero-content  {
    margin: 0;
    bottom: 0px;
    text-align: center;
    display: flex;
    flex-direction: column;
  
    padding: 0px 20px;
	}
	.plot-section.site-plan {
		padding: 20px;
	}
	p.floor-plan-dimensions {
		text-align: center;
		align-items: center!important;
	}
	#floor-plans {
		padding: 20px 0;
	}
	.single-plot-page h1, .single-development .development-name {
		font-size: 5vw;
		
	}
	.single-plot-page .plot-development, .single-development .development-town {
		font-size:4vw;
		margin-bottom: 10px;
	}


}

@media (max-width: 1024px) {
	.single-plot-page .image-hero-section, 
  .single-development .image-hero-section {
		height: 36vh;
	}
	.single-plot-page .image-hero-section .hero-image.wide, 
  .single-plot-page .image-hero-section .wide .hero-overlay{
		height: 100%;
	}

	.single-plot-page .image-hero-section .hero-image.tall {
		background-position: center;
		width: 100%;
        background-size: cover;
	}
	p.floor-plan-dimensions {
    font-size: 16px;
    gap: 5px;
    flex-direction: column;
		align-items: start;
}
	
	.single-plot-page .floor-info {
		padding: 0px;
	}
	.single-plot-page #floor-plans .first-floor h3 {
		margin:auto
	}
	.single-plot-page #floor-plans .ground-floor {
		margin-bottom:20px;
	}
	.single-plot-page .gallery-thumb {
		width: 100px;
		height: 100px;
	}
}

@media (min-width: 1025px) {
	p.floor-plan-dimensions {
		display: block;
	}
	 .single-plot-page  .gallery{
		padding: 20px;
	} 
}


.single-plot-page .hero-image .corner-flash {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 200px 200px 0 0;
    z-index: 2;
}

.single-plot-page .hero-image .corner-flash span {
    position: absolute;
    top: -145px;
    left: -20px;
    color: white;
    font-family: "Poppins", sans-serif;
    font-size: clamp(18px, 2.5vw, 26px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.1;
    width: 170px;
    z-index: 3;
    transform: rotate(-45deg);
    transform-origin: center;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    padding: 0;
    box-sizing: border-box;
}



.single-plot-page .hero-image .corner-flash-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 400px 0 0 400px;
    z-index: 2;
}

.single-plot-page .hero-image .corner-flash-right span {
    position: absolute;
    top: -292px;
    right: -20px;
    color: white;
    font-family: "Poppins", sans-serif;
    font-size: clamp(18px, 2.5vw, 26px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.1;
    width: 340px;
    max-width: 390px;
    z-index: 3;
    transform: rotate(45deg);
    transform-origin: center;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    padding: 0;
    box-sizing: border-box;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .single-plot-page .hero-image .corner-flash-right {
        border-width: 250px 0 0 250px;
    }
    
    .single-plot-page .hero-image .corner-flash-right span {
        top: -185px;
        right: -25px;
        width: 240px;
        max-width: 240px;
        font-size: clamp(12px, 2vw, 18px);
    }
}

@media (max-width: 480px) {
    .single-plot-page .hero-image .corner-flash-right {
        border-width: 180px 0 0 180px;
    }
    
    .single-plot-page .hero-image .corner-flash-right span {
        top: -135px;
        right: -18px;
        width: 175px;
        max-width: 175px;
        font-size: clamp(10px, 2vw, 14px);
        letter-spacing: 0.3px;
    }
}

/* Special Offer Sliding Tab */
.special-offer-tab {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 10;
}

.offer-tab-trigger {
    position: absolute;
    right: 0;
    top: 0;
    background-color: #325165;
    color: white;
    border: none;
    padding: 15px 20px;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transform-origin: right center;
    transform: rotate(-90deg) translateX(50%);
    white-space: nowrap;
    box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s ease;
    border-radius: 5px 5px 0 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.offer-tab-trigger:hover {
    background-color: #274050;
}

.offer-tab-trigger i {
    font-size: 44px;
    display: inline-block;
    animation: clickAnimation 1.5s ease-in-out infinite;
    position: relative;
    bottom: -30px;
}

@keyframes clickAnimation {
    0%, 100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
    50% {
        transform: translateY(-20px) scale(1.1);
        opacity: 0.8;
    }
}

.offer-tab-content {
    position: absolute;
    right: -400px;
    top: 50%;
    transform: translateY(-50%);
    width: 350px;
    background-color: #325165;
    color: white;
    padding: 30px;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3);
    transition: right 0.4s ease;
    border-radius: 10px 0 0 10px;
    max-height: 80vh;
    overflow-y: auto;
    display: none;
}

.special-offer-tab.active .offer-tab-content {
    right: 0;
    display: block;
}

.special-offer-tab.active .offer-tab-trigger {
    opacity: 0;
    pointer-events: none;
}

.offer-tab-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: transparent;
    border: none;
    color: white;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    padding: 5px 10px;
    transition: transform 0.2s ease;
}

.offer-tab-close:hover {
    transform: scale(1.2);
}

.offer-tab-content h3 {
    margin: 0 0 15px 0;
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.offer-tab-content p {
    margin: 0;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .special-offer-tab {
        right: -5px;
    }
    
    .offer-tab-trigger {
        padding: 12px 15px;
        font-size: 12px;
        gap: 6px;
    }
    
    .offer-tab-trigger i {
        font-size: 28px;
    }
    
    .offer-tab-content {
        width: 280px;
        padding: 20px;
        right: -300px;
    }
    
    .offer-tab-content h3 {
        font-size: 20px;
    }
    
    .offer-tab-content p {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .special-offer-tab {
        right: 18px;
    }

    .special-offer-tab.active .offer-tab-content {
        right: -18px;
    }
    
    .offer-tab-trigger {
        padding: 8px 10px;
        font-size: 9px;
        gap: 4px;
    }
    
    .offer-tab-trigger i {
        font-size: 20px;
    }
    
    .offer-tab-content {
        width: 240px;
        padding: 15px;
        right: -250px;
    }
    
    .offer-tab-content h3 {
        font-size: 18px;
        margin-bottom: 10px;
    }
    
    .offer-tab-content p {
        font-size: 13px;
    }
}

.section_disclaimer p {
  font-size: 14px;
  line-height: 1.4;
  margin-top: 10px;
  color: #666666;
  font-style: italic;
}
#floor-plans .section_disclaimer p {
  color: #000000;
}

#site-plan .section_disclaimer p,
#specification .section_disclaimer p {
  color: #fff;
}