/* css/main.css - Add or extend these styles */

/* Basic Reset & Box Sizing */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: #ffffff;
}

.container {
  max-width: 1200px; /* Or a fluid width for responsiveness */
  margin: 0 auto;
  padding: 20px;
}

/* Header Styles */
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; /* Align items to the bottom */
  padding-bottom: 20px;
  position: relative; /* For background image if needed */
  height: 411px; /* Fixed height to contain absolute images */
}

.site-header .site-logo {
    position: absolute;
    left: 14px;
    top: 0px;
    max-width: 481px; /* Adjust as needed */
    height: auto;
}

.site-header .phone-number-img {
    position: absolute;
    left: 112px;
    top: 349px;
    max-width: 318px; /* Adjust as needed */
    height: auto;
}

/* Header image specific to landtitles.html, placed absolutely within header */
.site-header .header-image-landtitles {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 600px;
    height: 411px;
    z-index: -1;
    opacity: 0.8; /* Adjust for desired visibility */
}


/* Navigation Styles */
.main-nav {
  background-color: #3e3f9ef0; /* Background color from original image */
  padding: 10px 0;
  text-align: center;
  position: relative; /* For the top/bottom borders */
}

.main-nav::before,
.main-nav::after {
    content: "";
    display: block;
    height: 7px; /* Half of original 14px */
    background-color: #9e06bd19; /* Color from original separator image */
    position: absolute;
    left: 0;
    right: 0;
}

.main-nav::before {
    top: -7px; /* Position above the nav */
}

.main-nav::after {
    bottom: -7px; /* Position below the nav */
}

.main-nav ul {
  list-style: none;
  display: flex; /* Use flexbox for horizontal navigation */
  justify-content: center;
  flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

.main-nav li {
  margin: 0 10px;
}

.main-nav .nav-item {
  display: block;
  padding: 5px 10px;
  color: #ff0000;
  font-family: Arial, sans-serif;
  font-size: 15px;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.3s ease;
}

.main-nav .nav-item:hover {
  background-color: rgba(255, 0, 0, 0.1); /* Example hover effect */
}

.main-nav .current-page {
  font-weight: bold; /* Indicate active page */
  /* Add specific active state styling */
}

/* Main Content Layout for Land Titles Page */
.main-content.land-titles-page {
  padding: 40px 0;
  line-height: 1.5;
  display: grid;
  grid-template-columns: 1fr 2fr; /* Services on left, content on right */
  gap: 30px;
}

.land-titles-info {
    grid-column: 2 / 3; /* Content on the right */
    padding: 0;
}

.land-titles-info h2 {
    font-family: "Verdana", sans-serif;
    font-weight: 700;
    color: #0000ff;
    font-size: 27px;
    margin-bottom: 15px;
}

.land-titles-info p, .land-titles-info address {
    font-family: "Verdana", sans-serif;
    font-size: 16px;
    color: #000000;
    margin-bottom: 10px;
    line-height: 1.5;
}

.land-titles-info a {
    color: #0000ff;
    text-decoration: none;
}

.land-titles-info a:hover {
    color: #ff0000;
    text-decoration: underline;
}

.land-titles-info .additional-links {
    text-align: center;
    margin-top: 30px;
}

.land-titles-info .additional-links p {
    font-size: 19px;
    color: #000000;
}

.land-titles-info .additional-links a {
    font-weight: bold;
    color: #0000ff;
}

.land-titles-info .additional-links a:hover {
    color: #ff2626;
}


.land-titles-services {
    grid-column: 1 / 2; /* Services on the left */
    text-align: center;
}

.land-titles-services h3 {
    font-family: "Verdana", sans-serif;
    font-weight: 700;
    color: #3f3f9f;
    font-size: 18.7px;
    margin-bottom: 20px;
    text-align: left; /* Align title to the left */
}

.land-titles-services .service-boxes-grid {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Space between service boxes */
    margin-bottom: 30px; /* Space before the side image */
}

.land-titles-services .service-box {
    background-color: #3f3f9f;
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2); /* Optional: add subtle shadow */
}

.land-titles-services .service-link {
    font-family: "Verdana", sans-serif;
    font-weight: 700;
    color: #ffffff;
    font-size: 16px;
    text-decoration: none;
    display: block;
    width: 100%;
}

.land-titles-services .service-link:hover {
    text-decoration: underline;
}

.land-titles-services .side-image {
    max-width: 263px; /* Original width */
    height: auto;
    display: block; /* Ensures it takes up full width available and centers if needed */
    margin: 0 auto; /* Center the image */
}

.hover-image-swap {
  transition: transform 0.3s ease-in-out; /* Optional: for a subtle scale animation */
}

.hover-image-swap:hover {
  transform: scale(1.05); /* Optional: slight scale effect on hover */
}

/* Footer Styles (shared) */
.site-footer {
  background-color: #333;
  color: #fff;
  text-align: center;
  padding: 20px;
  margin-top: 40px;
  grid-column: 1 / -1; /* Span across all columns in grid */
}

.site-footer .footer-link {
  color: #fff;
  text-decoration: none;
  margin: 0 15px;
  font-size: 16px;
}

.site-footer .footer-link:hover {
  text-decoration: underline;
}

/* Media Queries for Responsiveness */
@media (max-width: 768px) {
  .main-nav ul {
    flex-direction: column;
    align-items: center;
  }

  .main-nav li {
    margin-bottom: 10px;
  }

  .site-header {
    flex-direction: column;
    align-items: center;
    height: auto; /* Allow height to adjust for stacked images */
  }

  /* Adjust absolute positioning for header images on smaller screens */
  .site-header .site-logo,
  .site-header .phone-number-img {
      position: relative; /* Make them flow with content */
      left: auto;
      top: auto;
      margin-bottom: 10px; /* Add some space between stacked images */
  }
  .site-header .header-image-landtitles {
      position: relative; /* Make it flow with content */
      width: 100%;
      height: auto;
      margin-top: 20px;
  }

  .container {
    padding: 10px;
  }

  .main-content.land-titles-page {
      grid-template-columns: 1fr; /* Stack columns on smaller screens */
  }

  .land-titles-info, .land-titles-services {
      grid-column: auto; /* Remove specific column assignments */
  }
  .land-titles-services h3 {
      text-align: center; /* Center services title when stacked */
  }
}

@media (max-width: 480px) {
  .main-nav .nav-item {
    font-size: 14px;
    padding: 8px;
  }

  .land-titles-info h2, .land-titles-services h3 {
      font-size: 16px;
  }

  .land-titles-info p, .land-titles-info address,
  .land-titles-info .additional-links p,
  .land-titles-services .service-link {
      font-size: 14px;
  }

  .land-titles-services .service-box {
      height: auto;
      min-height: 44px;
      padding: 10px 15px;
  }
}