body {
  font-family: Arial, sans-serif;
  font-weight: 300;
  line-height: 1.6;
}

.gg-blue-bg {
  background-color: #171c8f;
}

.gg-yellow-bg {
  background-color: #ffb81c;
}

.gg-gray-bg {
  background-color: #4b4f54;
}

.hero {
    /* full-width background with your image */
    background: 
      linear-gradient(rgba(0,0,0,0.65), rgba(0,0,0,0.65)),
      url('../images/commercial-restaurant-latino.jpg');
    min-height: 60vh;        /* adjust to taste */
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;           /* so .container vertically centers */
  }
  

.hero .container {
  position: relative;
  z-index: 1;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    transition: transform 0.2s, box-shadow 0.2s;
  }

  .card-img-top {
    object-fit: cover;
    height: 200px; /* or whatever fits your design */
  }
  
  html { scroll-behavior: smooth; }

  @media (min-width: 992px) {
    .hero { min-height: 75vh; }
  }
  @media (max-width: 576px) {
    .hero { min-height: 50vh; }
  }
  
  /* Responsive logo sizing */
  .site-logo { max-width: 180px; height: auto; }
  @media (max-width:576px){ .site-logo{ max-width:120px } }

  /* Accessible skip link */
  .skip-link { position: absolute; left: -999px; top: auto; width:1px; height:1px; overflow:hidden; }
  .skip-link:focus { position: static; left: 0; width: auto; height: auto; background: #000; color: #fff; padding: 8px; z-index: 1000; }
  /* Form feedback and validation styles */
  #form-feedback {
    margin: 1rem 0;
  }

  #form-feedback .alert {
    margin: 0;
  }

  #contact-form.was-validated .form-control:valid {
    border-color: #198754;
    background-image: none;
  }

  #contact-form.was-validated .form-control:invalid {
    border-color: #dc3545;
    background-image: none;
  }

  #submit-btn {
    background-color: #171c8f;
    border-color: #171c8f;
    transition: all 0.3s ease;
  }

  #submit-btn:hover {
    background-color: #0d0f5a;
    border-color: #0d0f5a;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  }

  #submit-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
  }  

  /* Gallery image styling */
  .gallery-img {
    height: 160px;
    width: 100%;
    object-fit: cover;
  }

  .gallery-item img {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }

  .gallery-item img:hover {
    transform: scale(1.03);
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
  }

  /* Modal image max height */
  #gallery-modal-image {
    max-height: 75vh;
    object-fit: contain;
    width: 100%;
  }
  /* Card icon image styling */
  .card-icon-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }