/* ==========================================================================
   Vendor Single Page Styles
   ========================================================================== */

.vendor-single-page {
  max-width: 800px;
  margin: 2em auto;
  padding: 0 1em;
  background: #f8f9fa; /* subtle page background */
}

/* Card wrapper */
.vendor-details {
  background: #fff;
  border: 1px solid #e0e0e0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  border-radius: 6px;
  padding: 2em;
  margin-bottom: 2em;
}

/* Title styling */
.vendor-title {
  font-size: 2em;
  margin-bottom: 1em;
  color: #004E89; /* primary brand blue */
}

/* Metadata list styling */
.vendor-meta {
  margin-bottom: 2em;
}

.vendor-info-list {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1em;
  row-gap: 0.5em;
  border-top: 1px solid #ddd;
  padding-top: 1em;
}

.vendor-info-list dt {
  font-weight: 600;
  color: #333;
  margin-top: 1em;
}

.vendor-info-list dd {
  margin: 0.25em 0 0 1em;
  color: #555;
}

/* Link styling */
.vendor-info-list a {
  color: #FFC107; /* accent yellow */
  text-decoration: none;
}

.vendor-info-list a:hover {
  text-decoration: underline;
}

/* Description styling */
.vendor-description {
  font-size: 1em;
  line-height: 1.8;
  color: #333;
  margin-top: 2em;
}

/* Responsive: stack labels on mobile */
@media (max-width: 600px) {
  .vendor-info-list {
    grid-template-columns: 1fr;
  }
  .vendor-info-list dt {
    margin-top: 1em;
  }
}
/* ==========================================================================
   Vendor Archive Page Styles
   ========================================================================== */

.vendor-archive-header {
  text-align: center;
  margin-bottom: 2em;
}

/* ==========================================================================
   Vendor Archive Page Styles (Finalized)
   ========================================================================== */

.vendor-archive-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2em 1em;
}

.vendor-archive-header {
  text-align: center;
  margin-bottom: 2em;
}

.vendor-archive-header h1 {
  font-size: 2em;
  margin-bottom: 0.3em;
  color: #004E89;
}

.vendor-archive-header p {
  color: #666;
  font-size: 1em;
}

/* Grid Layout */
.vendor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
}

/* Vendor Card */
.vendor-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 1.5em;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vendor-name {
  font-size: 1.2em;
  font-weight: 600;
  margin-bottom: 0.3em;
}

.vendor-name a {
  color: #004E89;
  text-decoration: none;
}

.vendor-name a:hover {
  color: #FFC107;
}

.vendor-location {
  font-size: 0.9em;
  color: #777;
  margin-bottom: 0.5em;
}

.vendor-description {
  font-size: 0.95em;
  color: #444;
  margin-bottom: 1em;
  flex-grow: 1;
}

.vendor-button {
  align-self: flex-start;
  background-color: #FFC107;
  color: #000;
  padding: 0.5em 1em;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s;
}

.vendor-button:hover {
  background-color: #e0a800;
}

.vendor-pagination {
  margin-top: 3em;
  text-align: center;
}

