html, body {
      height: 100%;
      margin: 0;
      font-family: "Avenir Next", "Avenir", sans-serif;
    }

    .page-container {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
    }

    .content-wrap {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 2rem;
      box-sizing: border-box;
    }

    /* Navbar */
    .navbar {
      padding: 0.5rem 1rem;
    }
    .navbar .nav-link {
      color: black;
      font-weight: bold;
    }
    .navbar-logo {
      max-height: 3rem;
      object-fit: contain;
    }

    /* Contact info / map / hours */
    .contact-info h5 {
      margin-bottom: 1rem;
    }
    .contact-info p {
      margin-bottom: 0.5rem;
    }
    #map-container {
      width: 100%;
      height: 250px;
      overflow: hidden;
    }
    table.table-borderless tbody tr td {
      padding-left: 0.25rem;
      padding-right: 0.25rem;
    }
    table.table-borderless tbody tr td:first-child {
      text-align: left;
    }
    table.table-borderless tbody tr td:last-child {
      text-align: right;
    }

    /* Form */
    .full-width-section {
      width: 100%;
      background-color: #a6b0ba;
      padding: 2rem 0;
      box-sizing: border-box;
    }
    .full-width-section h3 {
      text-align: center;
      color: black;
      margin-bottom: 1.5rem;
    }
    form {
      max-width: 600px;
      margin: 0 auto;
      background: white;
      padding: 1rem 2rem;
      border-radius: 6px;
    }
    form input,
    form textarea {
      width: 100%;
      border: none;
      border-bottom: 1px solid black;
      background: white;
      color: black;
      padding: 0.5rem 0;
      font-size: 1rem;
      margin-bottom: 1.5rem;
      outline-offset: 2px;
      outline-color: black;
      font-family: inherit;
    }
    form input:focus,
    form textarea:focus {
      border-bottom-color: black;
      outline: none;
    }
    form button {
      background: black;
      color: white;
      border: none;
      padding: 0.7rem 1.5rem;
      font-size: 1rem;
      cursor: pointer;
      transition: background 0.3s ease;
    }
    form button:hover {
      background: #222;
    }

    /* Footer */
    .footer-custom {
      background-color: #acacac;
      color: black;
      text-align: center;
      width: 100%;
      box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.2);
      padding: 1rem 0;
    }
    .footer-custom .footer-link {
      color:black;
      text-decoration: underline;
    }
    .footer-custom .footer-link:hover {
      color: #d1e7ff;
    }

    /* Responsive */
    @media (max-width: 768px) {
      .navbar-logo {
        max-height: 4rem;
      }
      #map-container {
        height: 200px;
      }
    }