.btn-secondary {
  color: #fff !important; }

img {
  width: 100%; }

.logo {
  width: 80px; }

.navbar {
  opacity: 0.9;
  text-transform: uppercase; }

.social a {
  margin-right: 0.4rem; }

#showcase {
  background: url(../img/showcase.jpg) no-repeat top center fixed/cover;
  position: relative;
  min-height: 650px;
  color: #fff;
  padding-top: 6rem; }
  #showcase .home-search {
    min-height: 400px;
    position: relative;
    border-radius: 5px; }
  #showcase .overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    min-height: 400px;
    width: 100%;
    background: rgba(51, 51, 51, 0.8); }

#services {
  background: url(../img/building.jpg) no-repeat top center fixed/cover;
  min-height: 300px;
  position: relative;
  overflow: hidden; }
  #services::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    width: 100%;
    background: rgba(32, 134, 107, 0.8); }

#showcase-inner {
  background: url(../img/building.jpg) no-repeat top center fixed/cover;
  position: relative;
  overflow: hidden;
  min-height: 180px; }
  #showcase-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    min-height: 85%;
    width: 100%;
    background: rgba(32, 134, 107, 0.8); }
  #showcase-inner.showcase-search {
    min-height: 270px; }

#work {
  padding: 6rem 0; }

.listing-preview a {
  position: relative; }

@media (max-width: 991px) {
  #showcase {
    padding-top: 4rem; }
    #showcase h1 {
      font-size: 40px; }
  .hide-md-down {
    display: none; } }

@media (max-width: 768px) {
  #showcase {
    padding-top: 3rem; }
    #showcase h1 {
      font-size: 40px; }
    #showcase p {
      display: none; }
  #top-bar {
    text-align: center; }
    #top-bar .social {
      text-align: center !important; } }

@media (max-width: 576px) {
  #showcase h1 {
    font-size: 30px; }
  #showcase-inner h1 {
    font-size: 40px; } }

/* Keep footer social icons from stretching */
.social-icon {
  height: 20px !important;   /* your desired size */
  width: auto !important;    /* preserve aspect ratio */
  max-width: none;           /* ignore any global max-width */
  object-fit: contain;       /* just in case a width sneaks in */
  display: inline-block;
  vertical-align: middle;
}

/* Optional: if you have a global "img { width: 100%; }", scope it instead */
.card .card-img-top { width: 100%; height: auto; }  /* keep your cards full width */

/* Make global image rule safe (prevents icons from stretching) */
img {
  max-width: 100%;
  height: auto;
}

/* Navbar logo size (override inline height) */
.navbar .navbar-brand img {
  height: 40px !important;   /* desktop */
  width: auto !important;
  object-fit: contain;
}

/* Social icons size (override inline height) */
.navbar .ms-auto img {
  height: 18px !important;   /* desktop */
  width: auto !important;
  object-fit: contain;
}

/* Smaller on phones */
@media (max-width: 576px) {
  .navbar .navbar-brand img { height: 28px !important; }
  .navbar .ms-auto img      { height: 16px !important; }
}

/* Tighten space between the search hero and "Most Recent Meals" */
#showcase {
  /* your current CSS sets min-height: 650px and big padding; override it */
  min-height: 420px;
  padding-top: 3rem;
  padding-bottom: 1rem;   /* was big (via py-5); tighten */
}

#showcase .home-search {
  min-height: 0;          /* remove forced tall box */
  margin-bottom: 0;       /* no extra space under the search card */
}

#listings {
  padding-top: 1rem;      /* was py-5 (large); tighten just the top */
}

/* Even tighter on phones */
@media (max-width: 576px) {
  #showcase {
    min-height: 360px;
    padding-top: 2rem;
    padding-bottom: 0.75rem;
  }
  #listings {
    padding-top: 0.75rem;
  }
}

/* Optional: reduce internal text spacing a bit for a tighter look */
#showcase h1 { margin-bottom: 0.5rem; }
#showcase .lead { margin-bottom: 0.75rem; }

/* Force Montserrat font everywhere */
body, h1, h2, h3, h4, h5, h6, .navbar, .btn, .card, .lead {
  font-family: 'Montserrat', Arial, sans-serif !important;
}
