:root {
  --gi-primary: #0d6efd;
  --gi-primary-dark: #0b5ed7;
}

body {
  font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background-color: #f7f8fa;
  color: #1f2328;
}

.navbar-brand {
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}

.nav-link {
  font-weight: 500;
}

main h1 {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Freight listing table */
.table-freights {
  background: #fff;
}

.table-freights thead th {
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.table-freights tbody tr {
  transition: background-color 0.15s ease-in-out;
}

.table-freights tbody tr:hover {
  background-color: #eef4ff;
}

.route-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 500;
}

.phone-mask {
  cursor: pointer;
  text-decoration: underline dotted;
}

/* Cards */
.card {
  border: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.freight-card .card-header {
  background: var(--gi-primary);
}

/* Blog */
.blog-card img,
.blog-cover {
  object-fit: cover;
}

.blog-body img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.blog-body {
  font-size: 1.05rem;
  line-height: 1.7;
}

.blog-meta {
  font-size: 0.9rem;
  color: #6c757d;
}

/* Footer */
footer a:hover {
  text-decoration: underline !important;
}

/* Search widget */
#from_suggestions, #to_suggestions {
  z-index: 1000;
  max-height: 260px;
  overflow-y: auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
