body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: url("../images/hero.png") center/cover no-repeat fixed;
}

.page {
  display: grid;
  grid-template-columns: 260px minmax(0, 1200px) 260px;
  gap: 20px;
}


.hero-banner {
  grid-column: 2;               /* aligns with search panel */
  width: 100%;
  max-width: 1330px;
  height: 330px;
 transform: translateX(75px); /* was 40, now try 75... pushes it to the right */
  margin: 40px auto 20px auto;  /* space above & below */

  background: url("../images/bg1330x330.jpg") center center / cover no-repeat;

  border-radius: 12px;
}


.search-panel {
  grid-column: 2;
  max-width: 900px;
  width: 100%;
  margin: 10px auto 0 calc(50% - 430px);  /* gives space at top ***/
  transform: translateX(55px); /* ~1 inch assuming 96px per inch */
  /*  background-color: rgba(255,0,0,0.05); */ /* color inside search box, not the border */
}



.search-panel h1 {
  margin-bottom: 20px;
  font-weight: normal;
  text-align: center;
}



.search-panel h2 {
  margin-bottom: 20px;
  font-weight: normal;
  text-align: center;
}

.search-panel h3 {
  margin-bottom: 20px;
  font-weight: normal;
  text-align: center;
}



.search-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}


/*  .search-row input,  */
.search-row select {
  padding: 12px;
  border-radius: 8px;
  border: none;
  min-width: 160px;
  font-size: 16px; /* bumped from default ~14px */
}


.hero-btn,
.search-btn {
  padding: 12px 20px;
  border-radius: 8px;
  border: none;
  background: #232250;
  color: white;
  cursor: pointer;
}



.hero-btn:hover,
.search-btn:hover {
  background: #3a3a93; /* 3a3a72 slightly lighter variant */
}



/* ------------Calculate, Contact, About -----*/
.menu {
  display: flex;
  flex-direction: column;
  gap: 8px;   /*  gap between words  ---*/
  padding: 10px;  /*   white   */
  background-color: #f8f8f8;  /*   white   */
 margin-top: 1rem;
 background: none;
}
/* ---------end Calculate, Contact, About -----*/






/* -----------Calculate, Contact, a  -------*/
.menu a {
  text-decoration: underline;
   color: #232250;
    text-align: center;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 5px; /*  does nothing  */
  transition: background 0.3s, color 0.3s; /*  does nothing  */
}
/* ----------end Calculate, Contact, a  -------*/



/* ------------- Calculate, Contact, About hover -------*/
.menu a:hover {
  background-color: #232250;
  color: #fff;
}
/* ----------end Calculate, Contact, About hover-------*/

.menu h2 {
  text-align: center;
}



.listings {
  max-width: 1100px;  /* 1200px */
  margin: 40px auto;
  padding: 0 15px;  /*  20px  */
  display: grid;
  /*  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;  */
}

.listing-card {
  width: 100%;
  margin-bottom: 40px;
  background: white;
  border-radius: 12px;
  overflow: visible;
  display: flex;
  gap: 20px;
}

/* image side */
.listing-img {
  width: 300px;
  height: 200px;
  object-fit: cover;
}

/* text side */
.listing-body {
  padding: 15px;
  flex: 1;
}


/*-----makes Clustrmaps smaller  --------*/
.override-link {
  width: 50px;
  height: 18px;
}
/*----- end makes Clustrmaps smaller  -----*/


/*  to center the Back Arrow ----*/
.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  }




/*   -------------footer-----------------------  */
footer {
text-align: center;
padding: 0.1 0.1;  /*   1.5rem 0;  */
background-color: #404040;
color: lightgray;
}




/* ------- mobile ---*/
@media (max-width: 900px) {
  .page {
    grid-template-columns: 1fr;
  }
}



 @media (max-width: 900px) {   
  .search-panel {
    width: 90%;       /* instead of calc(100% - 1rem) */
    max-width: 90%;   /* keeps it from stretching too far */
    min-width: 280px; /* optional: avoid being too narrow */
    margin: 0 auto;

  background-color: rgba(255,0,0,0.05);
}  
}


@media (max-width: 900px) {   
  .search-panel {
    width: 90%;
    margin: 0 auto;
    transform: translateX(-5px);  /* small nudge left */
  }
}


 @media (max-width: 900px) {
  .hero-banner {
    display: none;
  }
}

@media (max-width: 600px) {
  .search-row input,
  .search-row select {
    font-size: 15px; /* scale slightly down */
  }
}

