/* =========================
   General Body & Typography
   ========================= */
   
body {
  background-image: url("../images/header-bg.jpg"); /* adjust path */
  background-size: cover;        /* scale to always cover */
  background-repeat: no-repeat;  /* don’t tile */
  background-attachment: scroll;  /* parallax-like effect */
  background-position: center;   /* center the image */
  overflow-x: hidden;
  font-family: 'Roboto Slab', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.75;
  color: #212529;
  background-color: #f8f9fa;
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
}

main {
  max-width: 1400px; /* adjust as needed */
  margin: 0 auto;
  padding: 0 20px;
}


a {
  color: #fed136;
  text-decoration: none;
}

a:hover {
  color: #fec503;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}

/* =========================
   Masthead / Hero Section
   ========================= */
.masthead {
  text-align: center;
  color: white;
  background-image: url("assets/images/header-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 400px; /* adjust as needed */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


.masthead img {
  max-width: 300px;
  margin-bottom: 20px;
}

.masthead .btn {
  margin-top: 20px;
  font-size: 18px;
  padding: 15px 30px;
  background-color: #fed136;
  border: none;
  color: #212529;
  font-weight: 700;
}

.masthead .btn:hover {
  background-color: #fec810;
  color: white;
}

/* =========================
   Services Grid
   ========================= */
.services-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* spread cards evenly */
  gap: 30px;                      /* space between cards */
  width: 750px;                    /* fixed grid width */
  margin: 0 auto;                  /* center the grid */
  padding: 50px 0;                 /* optional vertical padding */
  background-color: #fff;
}

.service-card {
  flex: 0 0 calc((100% - 2 * 30px) / 3); /* 3 cards per row, accounting for 2 gaps */
  background-color: #fff;
  border-radius: 10px;
  padding: 25px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

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

.service-card img.card-image {
  width: 100%;
  border-radius: 5px;
  margin-bottom: 15px;
}

.service-card h3 {
  margin-bottom: 10px;
  font-size: 1.25rem;
}

.service-card p {
  font-size: 0.95rem;
  color: #555;
}


/* =========================
   Section Spacing
   ========================= */
.page-section {
  padding-top: 100px;
  padding-bottom: 100px;
}

#services {
  background-color: #f8f9fa;
}

/* =========================
   Footer
   ========================= */
.footer {
  padding: 25px 0;
  text-align: center;
  background-color: #212529;
  color: white;
}

.footer a {
  color: #fed136;
}

.footer a:hover {
  color: #fec503;
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 768px) {
  .services-grid {
    gap: 20px;
    padding: 30px 10px;
  }

  .service-card {
    max-width: 90%;
    padding: 20px;
  }

  .masthead {
    height: 300px;
  }

  .masthead img {
    max-width: 200px;
  }
}

.container {
  max-width: 1400px; /* or 100% for full width */
  width: 100%;
  padding-left: 15px;  /* optional, keep some padding */
  padding-right: 15px; /* optional */
}

.spacer {
  height: 450px; /* empty vertical space */
}


/* Buttons */
.btn {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-weight: 700;
}

.btn-xl {
  font-size: 18px;
  padding: 20px 40px;
}

.btn-primary {
  background-color: #fed136;
  border-color: #fed136;
}

.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
  background-color: #fec810 !important;
  border-color: #fec810 !important;
  color: white;
}

.btn-primary:active, .btn-primary:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(254, 209, 55, 0.5) !important;
  box-shadow: 0 0 0 0.2rem rgba(254, 209, 55, 0.5) !important;
}

.modal-backdrop {
  background-color: rgba(0,0,0,0.5) !important;
  z-index: 1040 !important;
}

.modal {
  z-index: 1050 !important;
}

.text-box {
  max-width: 900px;
  margin: 30px auto;
  padding: 20px;
  background-color: #f9f9f9;
  border: 2px solid #ddd;
  border-radius: 8px;
  text-align: center;
  font-size: 1rem;
}
