/*
Theme Name: Signature Properties
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}


@font-face {
	font-family: 'Barlow Condensed';
	src: url('assets/fonts/barlow-condensed/BarlowCondensed-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: 'Barlow Condensed';
	src: url('assets/fonts/barlow-condensed/BarlowCondensed-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: 'Barlow Condensed';
	src: url('assets/fonts/barlow-condensed/BarlowCondensed-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
}
@font-face {
	font-family: 'Open Sans';
	src: url('assets/fonts/open-sans/OpenSans-VariableFont_wdth\,wght.ttf');
}
body {
  background-color: #ecf1f2 !important;
}
#page {
  max-width: 1388px;
  margin:auto;
}
/**Header**/
#header {
  background-color: white;
  margin:auto;
}
.nav-bar {
  padding: 15px 40px;
  display: flex;
  justify-content: space-between;
}
.nav-bar .nav-links {
  display: flex;
  align-items: center;
  gap: 15px;
}
.nav-bar button {
  text-align: center;
  width: 151px;
height: 34px;
border-radius: 3px;
background-color:  #62719b;
border: none;
font-size: 20px;
line-height: 11px;
color: #ffffff;
font-weight: 700;
font-family: "Barlow Condensed";
}
.nav-bar .nav-links a {
  text-decoration: none;
  cursor: pointer;
}
.nav-bar .nav-links .nav-link {
  font-size: 14px;
  line-height: 11px;
  color: #2a2a33;
  font-weight: 600;
  font-family: "Open Sans";
  text-align: right;
}
.search-bar {
  background-color: #dae4e6;
  padding: 15px 40px;
  display: flex;
  gap: 15px;
  align-items: center;
}
.search-bar .property-search {
  font-size: 24px;
line-height: 11px;
text-transform: uppercase;
color: #2a2a33;
font-weight: 700;
font-family: "Barlow Condensed";
}
.search-bar .filter-container {
  display: flex;
  gap: 10px;
  font-size: 14px;
 
}
.search-bar .filter-container .form-group select {
  width: 204px;
  height: 33px;
  border-radius: 3px;
  background-color: #ffffff;
  border: 0;
   line-height: 11px;
  color: #2a2a33;
  font-weight: 600;
  font-family: "Open Sans", sans-serif;
  position: relative;
  font-size: 14px;
  padding-left: 10px;
}
.search-bar .filter-container .magnifying {
   height: 33px;
   width: 33px;
   background-color: rgb(178, 33, 36);
   border-radius: 3px;
   position: relative;
   cursor: pointer;
}
.search-bar .filter-container .magnifying::after {
     content: "";
    position: absolute;
    width: 25px;  /* Large icon size */
    height: 25px;
    left: 5px;
    top: 5px;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
/**Footer**/
#footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 30px;
  padding-bottom: 70px;
}
#footer h7 {
  font-size: 24px;
line-height: 0px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Barlow Condensed";
text-align: center;
}
#footer p {
  font-size: 18px;
line-height: 28px;
color: #2a2a33;
font-weight: 400;
font-family: "Open Sans";
margin-bottom:0;
}
#footer .footer-links {
  display: flex;
  gap: 10px;
  color: rgb(178, 33, 36);
   font-weight: 700;
font-family: "Open Sans";
  font-size: 18px;
line-height: 28px;
}
#footer  img {
  width: 30px;
  height: 30px;
  cursor: pointer;
  margin-top: 10px;
}
#footer .copyright {
  margin: 10px 0 0 0;
}
/** Home post **/
.page-wrapper {
  display: flex;
  gap: 50px;
  padding: 70px 40px 0 40px;
  font-size: 20px;
  background-color: white;
}

.main-column {
  max-width: 930px;
  font-family: 'Open Sans', sans-serif;
  margin-left: auto;

}
.main-column .house-information .main-image {
  max-width: 930px;
  border: 2px solid #e6e6e6;
}
.main-column .house-information .gallery {
  display: flex;
}
.main-column .house-information .gallery img {
  width: 85px;
  height: 52px;
  cursor: pointer;
  margin-right: 5px;
}
.main-column .house-information .town-state,
.main-column .addresses .available-addresses	 {
	font-size: 15px;
  letter-spacing: 1px;
line-height: 13px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Open Sans";
margin: 0;
}
.main-column .addresses .available-addresses {
  margin-bottom: 20px;
}
.main-column .addresses  a {
  text-decoration: none;
}
.main-column .addresses .available-address {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 64px;
  background-color: #ffffff;
  border: 2px solid #e6e6e6;
  cursor: pointer;
  margin-bottom: 5px;
  padding: 0 20px;
}
.main-column .addresses .available-address .available-address-result {
 font-size: 28px;
line-height: 11px;
color: #2a2a33;
font-weight: 600;
font-family: "Barlow Condensed";
}
.main-column .addresses .available-address .available-address-spaces {
font-size: 20px;
line-height: 26px;
color: #2a2a33;
font-weight: 600;
font-family: "Open Sans";
}
.main-column .house-information .style-type {
	font-size: 14px;
letter-spacing: 1px;
line-height: 8px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Barlow Condensed";
background-color: #ecf1f2;
height: 30px;
display: flex;
align-items: center;
padding-left: 20px;
margin-top: 20px;

}
.main-column .house-information .title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 500;
}
.main-column .house-information .spaces {
	font-size: 20px;
	line-height: 26px;
	color: #2a2a33;
	font-weight: 600;
	font-family: "Open Sans";
	margin-top: 20px;
}
.main-column .house-information .the-content{
  font-size: 18px;
line-height: 28px;
color: #2a2a33;
font-weight: 400;
font-family: "Open Sans", sans-serif;
}
.main-column .house-information .disclaimer,
.main-column .final .disclaimer {
  font-size: 14px;
  color: #2a2a33;
  font-family: "Open Sans", sans-serif;
  margin-bottom: 50px;
}
.phone-red {
	color: rgb(178, 33, 36);
}
.main-column .final .big-call {
	font-size: 40px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
}
.main-column .final .invests {
	font-size: 18px;
}
.main-column .final ul {
	list-style-type: none;
	margin: 0;
	padding-left: 48px;
	font-size: 16px;
	position: relative;

}
.main-column .final li  {
	padding-bottom: 10px;
}

.main-column .final li::before {
	content: "";
	position: absolute;
	left: 0;
	width: 28px;
	height: 26px;
	background-image: url(assets/images/redcheck.png);
}

.side-column {
	margin-right: auto;
}
.side-column .realtor-contact-container {
	width: 264px;
	border: 2px solid #e6e6e6;
	padding: 30px;
}
.side-column .realtor-contact-container .realtor-header {
	display: flex;
	gap: 10px;
	margin-bottom: 5px
}
.side-column .realtor-contact-container .realtor-header img {
  width: 81.5px;
  height: 81.5px;
  object-fit: cover;
  object-position: top;
}
.side-column .realtor-contact-container .realtor-header .questions-contact {
	width: 165px;
}
.side-column .realtor-contact-container .realtor-header .questions {
  font-size: 21px;
  line-height: 21px;
  text-transform: uppercase;
  color: #626363;
  font-weight: 600;
  font-family: "Barlow Condensed";
  margin: 0;
}
.mini-call {
  font-size: 20px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  margin: 0 0 0 20px;
  position: relative;
}
.mini-call::before {
  content: '';
  left: -20px;
  top:5px;
  background-image: url(assets/images/redphone.png);
  width: 17px;
  height: 18px;
  position: absolute;
}

.side-column .realtor-contact-container form input {
  opacity: 0.502;
  width: 260px;
  height: 40px;
  background-color: #ecf1f2;
  border: 1px solid #e6e6e6;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: #777777;
  margin: 5px 0 5px 0;
}

.side-column .realtor-contact-container form textarea {
  opacity: 0.502;
  width: 260px;
  height: 80px;
  background-color: #ecf1f2;
  border: 1px solid #e6e6e6;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: #777777;
  margin: 5px 0 5px 0;
}

.side-column .realtor-contact-container form button {
  width: 268px;
  height: 40px;
  background-color: #b22124;
  border: 0;
  font-size: 20px;
  line-height: 11px;
  color: #ffffff;
  font-weight: 700;
  font-family: "Barlow Condensed";
 
}
.side-column .calculator-container .calc-header-container {
  width: 293px;
  height: 41px;
  background-color: #ecf1f2;
   text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.side-column .calculator-container .calc-header {
  font-size: 21px;
letter-spacing: 1px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Barlow Condensed";

margin: 0;
}
.side-column .calculator-container {
	width: 293px;
    height: 377px;
    padding: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;  
	border: 2px solid #e6e6e6;
	margin-top: 40px
}

.side-column .calculator-container .form-group {
	width: calc(50% - 5px); 
    margin-bottom: 5px;
}

.side-column .calculator-container 
label {
    display: block;
    font-size: 13px;    
    margin-bottom: 2px;
    font-family: 'Open Sans', sans-serif;
	font-weight: 600;
}
.side-column .calculator-container input {
    width: 130px;
    height: 33px;
    border-radius: 3px;
    font-size: 13px;
	line-height: 11px;
	color: #2a2a33;
	font-weight: 700;
	font-family: "Open Sans", sans-serif;
    border: 1px solid #ccc;
    background-color: #ecf1f2;
    border: 1px solid #e6e6e6;
}

.side-column .calculator-container .form-group:nth-last-child(-n+2) label  {
font-weight: 700;
}

/** Homepage **/
.home-wrapper, .search-wrapper {
  padding: 70px 40px 40px 40px;
  font-size: 20px;
  background-color: white;
}
.cta-wrapper {
  margin-bottom: 70px;
}
.home-wrapper .cta-wrapper .cta {
  height: 560px;
  background-image: url(assets/images/cta.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  margin-right: -40px;
  margin-left: -40px;
  margin-top: -70px;
  display: flex;
  justify-content: flex-end;
  padding: 40px 40px 40px 0;
}

.home-wrapper .cta-wrapper .cta img {
  width: 410px;
  height: 572px; 
}

.home-wrapper .signature-section {
  display: flex;
  gap: 65px;
  padding-top: 70px;
}

.home-wrapper .signature-section img {
  height: 240px;
  width: 240px;
}
.home-wrapper .signature-section .signature-section-words h5 {
  font-size: 44px;
line-height: 44px;
color: #2a2a33;
font-weight: 500;
font-family: "Barlow Condensed";
    margin-top: 0;
    margin-bottom: 30px;
}
.home-wrapper .signature-section .signature-section-words p {
  font-size: 18px;
line-height: 28px;
color: #2a2a33;
font-weight: 400;
font-family: "Open Sans";
}
.home-wrapper .signature-section .signature-section-words h6{
  font-size: 28px;
line-height: 0px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Barlow Condensed";
    margin-top: 30px;
    margin-bottom: 40px;
}
.home-wrapper .signature-section .signature-section-words {
  list-style-type: none;
	margin: 0;
	padding-left: 48px;
	font-size: 16px;
	position: relative;
  font-family: "Open Sans";
}
.home-wrapper .signature-section .signature-section-words .bolder {
  font-weight: 700;
}
.home-wrapper .signature-section .signature-section-words ul {
	list-style-type: none;
	margin: 0;
	padding-left: 48px;
	font-size: 16px;
	position: relative;
  line-height: 24px;
  color: #2a2a33;
  font-family: "Open Sans";
}
.home-wrapper .signature-section .signature-section-words li {
  padding-top: 15px;
}
.home-wrapper .signature-section .signature-section-words li::before {
	content: "";
	position: absolute;
	left: 0;
	width: 24px;
	height: 24px;
	background-image: url(assets/images/redcheck.png);
}
.home-wrapper .signature-section .signature-section-words button {
  width: 151px;
  height: 34px;
  border-radius: 3px;
  background-color: #b22124;
  border: 0;
  color: white;
  font-size: 20px;
  font-weight: 600;
  font-family: "Barlow Condensed";
  text-align: center;
  margin-top: 30px;
  margin-bottom: 70px;
}
.home-wrapper .featured-properties {
  padding-top: 60px;
}
.home-wrapper h9 {
  font-size: 36px;
  line-height: 0px;
  text-transform: uppercase;
  color: #626363;
  font-weight: 600;
  font-family: "Barlow Condensed";
}
.home-wrapper .featured-neighborhoods h8, .home-wrapper .testimonials h8{
  font-size: 36px;
  line-height: 0px;
  text-transform: uppercase;
  color: #626363;
  font-weight: 600;
  font-family: "Barlow Condensed";
  margin-bottom: 30px;
}
.home-wrapper .testimonials h8 {
  display: block;      /* Makes the tag fill the full width */
    text-align: center;  /* Now it has space to center the text */
    width: 100%;
    margin: 60px 0 0px 0; 
}
.home-wrapper .testimonials .testimonial-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #ffffff;
  border: 3px solid #ecf1f2;
  padding: 30px 0;
  margin-top: 40px
}
.home-wrapper .testimonials .testimonial-slide .stars {
  height: 25px;
  width: 140px;
  background-image: url('assets/images/Vector\ Smart\ Object.png');
  background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    
  
}
.home-wrapper .testimonials .testimonial-slide .review {
  font-size: 18px;
  line-height: 26px;
  color: #000000;
  font-weight: 400;
  font-family: "Open Sans";
  margin-bottom: 0px;
  width: 1069px;
  text-align: center;
}
.home-wrapper .testimonials .testimonial-slide .author {
  font-size: 22px;
  font-weight: 600;
  font-family: "Barlow Condensed";
}
.home-wrapper .featured-neighborhoods .neighborhoods {
  display: flex;
  justify-content: space-between;
}
.home-wrapper .featured-neighborhoods .neighborhoods a {
  text-decoration: none;
  cursor: pointer;
}
.home-wrapper .featured-neighborhoods .neigh-result-container {
  background-color: #ecf1f2;
  border: 5px solid #ecf1f2;
  width: 634.5px;
}
.home-wrapper .featured-neighborhoods .neigh-result-container .img-container {
  width:100%;
  height:310px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;  
   overflow: hidden;
}
.home-wrapper .featured-neighborhoods .neigh-result-container .img-container img {
   max-width: 100%;
  max-height: 100%;
  height: auto;        /* Ensures original proportions */
  width: auto;
}
.home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability {
  display: flex;
  gap: 30px;
  padding: 20px;
}
.home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability img {
  height: 130px;
  width: 130px;
}
.home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info {
  
}
.home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .neighborhood-title{
  font-size: 28px;
line-height: 11px;
color: #2a2a33;
font-weight: 600;
font-family: "Barlow Condensed";
margin:0 0 30px 0;

}
.home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .neighborhood-location{
  font-size: 15px;
letter-spacing: 1px;
line-height: 13px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Open Sans";
margin:0 0 10px 0;
}
.home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .neighborhood-types,
.home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .new-lots {
font-size: 20px;
line-height: 26px;
color: #2a2a33;
font-weight: 600;
font-family: "Open Sans", sans-serif;
margin: 0 0 10px 0;
}
/** Search Results **/
.search-results-wrapper {
  padding: 70px 40px 40px 40px;
  font-size: 20px;
  background-color: white;
}
.search-results-wrapper h10{
   font-size: 36px;
  line-height: 0px;
  text-transform: uppercase;
  color: #626363;
  font-weight: 600;
  font-family: "Barlow Condensed";
}
.search-results-wrapper .search-results-container,
.home-wrapper .featured-properties {
  display: flex;
  padding-top: 30px;
  justify-content: space-evenly;
}
.search-results-wrapper .search-results-container a,
.home-wrapper .featured-properties a {
  text-decoration: none;
}
.search-results-wrapper .search-results-container .result-container,
.featured-properties .result-container {
  border: 3px solid #ecf1f2;
  width: 406px;
  cursor: pointer;
}
.search-results-wrapper .search-results-container .result-container .new-construction,
.home-wrapper .featured-properties .result-container .new-construction {
  font-size: 14px;
letter-spacing: 1px;
line-height: 8px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Barlow Condensed";
background-color: #ecf1f2;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
}
.search-results-wrapper .search-results-container .result-container img,
.home-wrapper .featured-properties .result-container img {
  width: 407px;
  height: 199px;
}
.search-results-wrapper .search-results-container .result-container .search-result-info,
.home-wrapper .featured-properties .result-container .search-result-info {
  padding-left: 25px;
  padding-bottom: 20px;
}
.search-results-wrapper .search-results-container .result-container .search-result-info .search-result-title,
.home-wrapper .featured-properties .result-container .search-result-info .search-result-title {
font-size: 28px;
line-height: 11px;
color: #2a2a33;
font-weight: 600;
font-family: "Barlow Condensed";
margin: 20px 0 20px 0;
}
.search-results-wrapper .search-results-container .result-container .search-result-info .search-result-location,
.home-wrapper .featured-properties .result-container .search-result-info .search-result-location {
font-size: 15px;
letter-spacing: 1px;
line-height: 13px;
text-transform: uppercase;
color: #626363;
font-weight: 600;
font-family: "Open Sans", sans-serif;
margin-bottom: 15px;
}
.search-results-wrapper .search-results-container .result-container .search-result-info .search-result-spaces,
.home-wrapper .featured-properties .result-container .search-result-info .search-results-call {
font-size: 20px;
line-height: 26px;
color: #2a2a33;
font-weight: 600;
font-family: "Open Sans", sans-serif;
margin: 0;
}

/* ============================================================
   HAMBURGER MENU — BASE STYLES (hidden on desktop)
   ============================================================ */

.hamburger-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  z-index: 1001;
}

.hamburger-btn span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: #2a2a33;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.hamburger-btn.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger-btn.is-open span:nth-child(2) { opacity: 0; }
.hamburger-btn.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 999;
}
.mobile-nav-overlay.is-open { display: block; }

.mobile-nav-drawer {
  display: none;
  position: fixed;
  top: 0;
  right: -100%;
  width: 280px;
  height: 100vh;
  background-color: #ffffff;
  z-index: 1000;
  flex-direction: column;
  padding: 70px 30px 30px 30px;
  box-shadow: -4px 0 24px rgba(0,0,0,0.15);
  transition: right 0.3s ease;
  overflow-y: auto;
}
.mobile-nav-drawer.is-open { right: 0; }

.mobile-nav-drawer .mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 30px;
}
.mobile-nav-drawer .mobile-nav-links a {
  text-decoration: none;
  border-bottom: 1px solid #ecf1f2;
}
.mobile-nav-drawer .mobile-nav-links .nav-link {
  font-size: 16px;
  line-height: 1;
  color: #2a2a33;
  font-weight: 600;
  font-family: "Open Sans", sans-serif;
  padding: 16px 0;
}
.mobile-nav-drawer .mobile-cta-btn {
  width: 100% !important;
  height: 44px !important;
  font-size: 18px !important;
  margin-top: 10px;
}

/* ============================================================
   NARROW DESKTOP — 1024px to 1380px
   ============================================================ */

@media (min-width: 1024px) and (max-width: 1380px) {
  .nav-bar { padding: 12px 24px; }
  .search-bar { padding: 12px 24px; flex-wrap: wrap; gap: 10px; }
  .search-bar .filter-container { flex-wrap: wrap; gap: 8px; }
  .search-bar .filter-container .form-group select { width: 160px; }

  /* Cards: allow wrapping at this width */
  .search-results-wrapper .search-results-container,
  .home-wrapper .featured-properties {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
  }
  .search-results-wrapper .search-results-container .result-container,
  .featured-properties .result-container {
    width: calc(33.333% - 14px);
    min-width: 260px;
  }
  .search-results-wrapper .search-results-container .result-container img,
  .home-wrapper .featured-properties .result-container img {
    width: 100%;
    height: 180px;
    object-fit: cover;
  }

  /* Neighborhoods */
  .home-wrapper .featured-neighborhoods .neigh-result-container {
    width: calc(50% - 10px);
  }
}

/* ============================================================
   TABLET — max-width 1023px
   ============================================================ */

@media (max-width: 1023px) {

  #page { max-width: 100%; }

  /* Nav */
  .nav-bar {
    padding: 12px 24px;
    align-items: center;
  }
  .nav-bar .nav-links { display: none; }
  .hamburger-btn { display: flex; }
  .mobile-nav-drawer { display: flex; }

  /* Search bar */
  .search-bar { padding: 12px 24px; flex-wrap: wrap; gap: 10px; }
  .search-bar .filter-container { flex-wrap: wrap; gap: 8px; }
  .search-bar .filter-container .form-group select { width: 160px; }

  /* ---- Property detail page ---- */
  .page-wrapper {
    flex-direction: column;
    gap: 30px;
    padding: 40px 24px 0 24px;
  }
  .main-column { max-width: 100%; margin-left: 0; }
  .main-column .house-information .main-image { max-width: 100%; width: 100%; height: auto; }

  .side-column {
    margin-right: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
  }
  .side-column .realtor-contact-container {
    width: 100%;
    max-width: 400px;
    box-sizing: border-box;
  }
  .side-column .realtor-contact-container form input,
  .side-column .realtor-contact-container form textarea {
    width: 100%;
    box-sizing: border-box;
  }
  .side-column .realtor-contact-container form button { width: 100%; box-sizing: border-box; }
  .side-column .calculator-container { width: 100%; max-width: 400px; height: auto; box-sizing: border-box; }
  .side-column .calculator-container .calc-header-container { width: 100%; }
  .side-column .calculator-container input { width: 100%; box-sizing: border-box; }

  /* ---- Home page ---- */
  .home-wrapper { padding: 40px 24px 30px 24px; }

  .home-wrapper .cta-wrapper .cta {
    height: 420px;
    background-size: cover;
    margin-right: -24px;
    margin-left: -24px;
    margin-top: -40px;
    padding: 24px 24px 24px 0;
  }
  .home-wrapper .cta-wrapper .cta img { width: 300px; height: auto; }

  .home-wrapper .signature-section { gap: 30px; }
  .home-wrapper .signature-section img { width: 180px; height: 180px; }
  .home-wrapper .signature-section .signature-section-words h5 { font-size: 36px; line-height: 38px; }

  /* ---- Featured properties cards — 2 per row ---- */
  .home-wrapper .featured-properties,
  .search-results-wrapper .search-results-container {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    padding-top: 20px;
  }
  .search-results-wrapper .search-results-container .result-container,
  .featured-properties .result-container {
    box-sizing: border-box;
    min-width: 0;
  }
  .search-results-wrapper .search-results-container .result-container img,
  .home-wrapper .featured-properties .result-container img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
  }

  /* ---- Search results page ---- */
  .search-results-wrapper { padding: 40px 24px 30px 24px; }

  /* ---- Featured neighborhoods — stack vertically ---- */
  .home-wrapper .featured-neighborhoods .neighborhoods {
    flex-direction: column;
    gap: 20px;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container {
    width: 100%;
    box-sizing: border-box;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .img-container {
    height: 280px;
  }
  /* Fix inner availability row — grid image shrinks, text gets room */
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability {
    gap: 16px;
    padding: 16px;
    align-items: flex-start;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability img {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info {
    flex: 1;
    min-width: 0;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .neighborhood-title {
    font-size: 22px;
    line-height: 26px;
    margin-bottom: 12px;
    word-break: break-word;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .neighborhood-types,
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .new-lots {
    font-size: 16px;
    line-height: 22px;
  }

  /* ---- Testimonials ---- */
  .home-wrapper .testimonials .testimonial-slide .review {
    width: 90%;
    font-size: 16px;
    line-height: 24px;
  }

  /* ---- Footer ---- */
  #footer { padding: 24px 24px 50px 24px; text-align: center; }
}

/* ============================================================
   MOBILE — max-width 767px
   ============================================================ */

@media (max-width: 767px) {

  /* Nav */
  .nav-bar { padding: 12px 16px; }

  /* Search bar */
  .search-bar {
    padding: 12px 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .search-bar .property-search { font-size: 18px; }
  .search-bar .filter-container { flex-direction: column; width: 100%; gap: 8px; }
  .search-bar .filter-container .form-group { width: 100%; }
  .search-bar .filter-container .form-group select { width: 100%; box-sizing: border-box; }
  .search-bar .filter-container .magnifying { width: 100%; height: 40px; border-radius: 3px; }
  .search-bar .filter-container .magnifying::after {
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
  }

  /* ---- Property detail page ---- */
  .page-wrapper { flex-direction: column; gap: 24px; padding: 24px 16px 0 16px; }
  .main-column { max-width: 100%; margin-left: 0; }
  .main-column .house-information .main-image { max-width: 100%; width: 100%; height: auto; }
  .main-column .house-information .spaces { font-size: 16px; }
  .main-column .final .big-call { font-size: 28px; }
  .main-column .final .invests { font-size: 16px; }
  .home-wrapper .signature-section { flex-direction: column; gap: 20px; align-items: center; }

  .side-column { margin-right: 0; flex-direction: column; gap: 20px; }
  .side-column .realtor-contact-container { width: 100%; padding: 20px 16px; box-sizing: border-box; }
  .side-column .realtor-contact-container form input,
  .side-column .realtor-contact-container form textarea { width: 100%; box-sizing: border-box; }
  .side-column .realtor-contact-container form button { width: 100%; box-sizing: border-box; }
  .side-column .calculator-container { width: 100%; height: auto; padding: 12px; box-sizing: border-box; margin-top: 0; }
  .side-column .calculator-container .calc-header-container { width: 100%; }
  .side-column .calculator-container .form-group { width: calc(50% - 5px); }
  .side-column .calculator-container input { width: 100%; box-sizing: border-box; }

  /* ---- Home page ---- */
  .home-wrapper { padding: 24px 16px; }

  .home-wrapper .cta-wrapper .cta {
    height: 260px;
    background-size: cover;
    background-position: center left;
    margin-right: -16px;
    margin-left: -16px;
    margin-top: -24px;
    padding: 16px 16px 16px 0;
    justify-content: center;
  }
  .home-wrapper .cta-wrapper .cta img { width: 200px; height: auto; }

  .home-wrapper .signature-section { flex-direction: column; gap: 20px; align-items: center; }
  .home-wrapper .signature-section img { width: 140px; height: 140px; }
  .home-wrapper .signature-section .signature-section-words { padding-left: 0; text-align: left; }
  .home-wrapper .signature-section .signature-section-words h5 { font-size: 30px; line-height: 32px; }
  .home-wrapper .signature-section .signature-section-words h6 { font-size: 22px;line-height:28px }
  .home-wrapper .signature-section .signature-section-words p { font-size: 16px; line-height: 24px; }
  .home-wrapper .signature-section .signature-section-words ul { font-size: 14px; padding-left: 36px; }

  /* ---- Featured properties cards — 1 per row on mobile ---- */
  .home-wrapper .featured-properties,
  .search-results-wrapper .search-results-container {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    padding-top: 16px;
  }
  .search-results-wrapper .search-results-container .result-container,
  .featured-properties .result-container {
    width: 100%;
    min-width: unset;
    box-sizing: border-box;
  }
  .search-results-wrapper .search-results-container .result-container img,
  .home-wrapper .featured-properties .result-container img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  /* ---- Search results page ---- */
  .search-results-wrapper { padding: 24px 16px; }
  .search-results-wrapper h10 { font-size: 28px; }

  /* ---- Featured neighborhoods ---- */
  .home-wrapper .featured-neighborhoods .neighborhoods { flex-direction: column; gap: 16px; }
  .home-wrapper .featured-neighborhoods .neigh-result-container { width: 100%; box-sizing: border-box; }
  .home-wrapper .featured-neighborhoods .neigh-result-container .img-container { height: 200px; }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability {
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    align-items: center;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability img {
    width: 50%;
    height:100%;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info {
    text-align: center;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .neighborhood-title {
    font-size: 22px;
    margin-bottom: 16px;
  }
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .neighborhood-types,
  .home-wrapper .featured-neighborhoods .neigh-result-container .neighborhood-availability .neighborhood-info .new-lots {
    font-size: 16px;
  }

  /* ---- Testimonials ---- */
  .home-wrapper .testimonials h8 { font-size: 28px; margin: 40px 0 0 0; }
  .home-wrapper .testimonials .testimonial-slide { padding: 20px 16px; }
  .home-wrapper .testimonials .testimonial-slide .review {
    width: 100%;
    font-size: 15px;
    line-height: 22px;
  }
  .home-wrapper .testimonials .testimonial-slide .author { font-size: 18px; }

  /* ---- Section headings ---- */
  .home-wrapper h9 { font-size: 28px; }
  .home-wrapper .featured-neighborhoods h8 { font-size: 28px; }

  /* ---- Footer ---- */
  #footer { padding: 24px 16px 40px 16px; }
  #footer h7 { font-size: 18px; }
  #footer p { font-size: 15px; line-height: 24px; text-align: center; }
  #footer .footer-links { font-size: 15px; flex-wrap: wrap; justify-content: center; }
  .mini-call { font-size: 17px; }
}

/* ============================================================
   SMALL MOBILE — max-width 400px
   ============================================================ */

@media (max-width: 400px) {
  .nav-bar { padding: 10px 12px; }
  .search-bar { padding: 10px 12px; }
  .page-wrapper { padding: 16px 12px 0 12px; }
  .home-wrapper { padding: 16px 12px; }
  .home-wrapper .cta-wrapper .cta { margin-right: -12px; margin-left: -12px; }
  .search-results-wrapper { padding: 16px 12px; }
  #footer { padding: 20px 12px 32px 12px; }
}
