 

    .hero-banner {
      background-color: var(--bg-card);
      border-left: 5px solid var(--accent-rust);
      padding: 1.5rem 2rem;
      border-radius: 4px;
      margin-bottom: 1.5rem;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    }

    .hero-banner h1 {
      font-family: var(--font-heading);
      color: var(--primary-dark);
      font-size: 2rem;
      margin-bottom: 0.5rem;
    }

    .hero-banner p {
      color: var(--text-muted);
    }

    .map-section {
      display: grid;
      grid-template-columns: 320px 1fr;
      gap: 1.5rem;
      height: 680px;
      background: var(--bg-card);
      padding: 1rem;
      border-radius: 8px;
      border: 1px solid var(--border-color);
      box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    }  

    .sidebar {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      height: 100%;
      overflow-y: auto;
      padding-right: 0.5rem;
    }

    .sidebar h2 {
      font-family: var(--font-heading);
      font-size: 1.2rem;
      color: var(--primary-dark);
      border-bottom: 2px solid var(--border-color);
      padding-bottom: 0.5rem;
    }

    .search-box {
      width: 100%;
      padding: 0.6rem 0.8rem;
      border: 1px solid var(--border-color);
      border-radius: 4px;
      font-size: 0.95rem;
      font-family: var(--font-body);
    }

    .search-box:focus {
      outline: none;
      border-color: var(--accent-rust);
    }

	.herd-list {
		padding-left:0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      overflow-y: auto;
      flex: 1;
    }

    .herd-item {
      padding: 0.75rem;
      background-color: var(--bg-cream);
      border: 1px solid var(--border-color);
      border-radius: 4px;
      cursor: pointer;
      transition: all 0.2s ease;
    }

    .herd-item:hover {
      border-color: var(--accent-rust);
      background-color: #FFFFFF;
    }

    .herd-item-name {
      font-weight: 700;
      color: var(--primary-dark);
      font-size: 0.9rem;
    }

    .herd-item-location {
      font-size: 0.82rem;
      color: var(--text-muted);
    }
 

    /* Google Map Container */
    #map {
      width: 100%;
      height: 100%;
      min-height: 500px;
    }

    /* Custom InfoWindow Styling for Google Maps */
    .gm-style-iw-c {
      background-color: var(--primary-green) !important;
      padding: 12px 16px !important;
      border: 2px solid var(--accent-gold);
      border-radius: 6px !important;
      box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
    }

    .gm-style-iw-tc::after {
      background-color: var(--primary-green) !important;
    }

    .gm-style-iw-d {
      overflow: hidden !important;
    }

    .gm-ui-hover-effect {
      display: none !important;
    }

    .infowindow-title {
      font-family: var(--font-heading);
      font-size: 1.05rem;
      color: var(--accent-gold);
      margin-bottom: 4px;
      font-weight: 700;
    }

    .infowindow-location {
      font-size: 0.85rem;
      color: #E2DACD;
      display: flex;
      align-items: center;
      gap: 4px;
      margin-bottom: 6px;
    }

    .infowindow-hint {
      font-size: 0.75rem;
      color: var(--accent-rust);
      text-transform: uppercase;
      font-weight: 600;
      letter-spacing: 0.5px;
    }

 
	
  
