.restaurant-form .zpform-help-text { color: #4C311E; }
.contact-form .zpform-container input[type="text"],
.contact-form .zpform-container input[type="email"],
.contact-form .zpform-container textarea,
.contact-form .zpform-container select {
  color: #4C311E !important;
}

.cover-hero {
    max-height: 350px;
}

.hero-overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 200 !important;
    max-width: 60%;
    padding: 0 20px;
    text-align: center;
}

/* Mobile styles */
@media (max-width: 768px) {
    .hero-overlay-text {
        max-width: 90%;
        top: 25%; /* Keep it centered */
        transform: translate(-50%, -50%);
        font-size: 1rem;
        padding: 10px;
        margin-top: 40px; /* Nudge it down a bit */
    }
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
    .hero-overlay-text {
        top: 35%;
        max-width: 75%;
    }
}

.hero-section {
    position: relative;
    min-height: 500px; /* adjust to your hero image height */
}

/* Mobile hero height */
@media (max-width: 768px) {
    .hero-section {
        min-height: 300px; /* shorter on mobile */
    }
}

.zpsocialprofile {
    fill: #4C311E !important;
}

.how-we-farm-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns */
  gap: 20px; /* space between images */
  max-width: 1000px; /* optional, to center the whole grid */
  margin: 0 auto;
}

.hwf-item {
  text-align: center; /* center captions under images */
}

.hwf-item img {
  width: 300px;
  height: 300px;
  object-fit: cover; /* crop images to fit square */
  display: block;
  margin: 0 auto; /* center images */
  max-width: 100%;
}

/* Caption styling */
.hwf-caption {
  font-family: "Open Sans", sans-serif; /* match upper text block */
  font-weight: 300;                     /* lighter weight */
  font-size: 1rem;                      /* same size as upper text */
  line-height: 1.3;                     /* readable spacing */
  color: #4C311E;                       /* caption color */
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  text-align: left;                    /* center under image */
  min-height: 3.2em;                     /* keeps all captions same height */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;           /* keeps spacing consistent */
}

/* Title (<strong>) styling */
.hwf-caption strong {
  font-size: 1rem;       /* same as body text for consistency */
  font-weight: 600;      /* medium-bold */
  line-height: 1.2;      /* tight spacing within title */
  margin-top: 8px;    /* SPACE ABOVE title */
  margin-bottom: 4px; /* SPACE BELOW title before caption text */
  display: block;         /* ensures title is on its own line */
  text-align: center; 
}



/* Responsive: stack for tablets and phones */
@media (max-width: 768px) {
  .how-we-farm-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 columns */
  }
}

@media (max-width: 480px) {
  .how-we-farm-grid {
    grid-template-columns: 1fr; /* 1 column */
  }
  .hwf-item img {
    width: 100%;
    height: auto;
  }
}

