/* Contact page extracted styles (from views/pages/contact.php) */
/* Rates table */
.rates-table-wrapper {
  /*background: var(--color-primary, #6194ab);*/
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  color: black !important;
}
.rates-header { font-weight: 400; color: #1f2937; margin-bottom: 1rem; line-height: 1.3; }
.rates-subtext { color: #6b7280; line-height: 1.6; margin-bottom: 2rem; }
.rates-table { width: 100%; border-collapse: collapse; }
.rates-table thead { background: var(--color-primary-dark, #4a7a8c); border-bottom: 1px solid rgba(255,255,255,0.2); }
.rates-table th { padding: 1rem 1.5rem; text-align: left; font-weight: 600; color: #fff; text-transform: uppercase; letter-spacing: 0.05em; }
.rates-table th:last-child { text-align: right; }
.rates-table td { padding: 1.25rem 1.5rem; font-size: 0.9375rem; color: #1f2937 !important; border-bottom: 1px solid rgba(255,255,255,0.2); }
.rates-table td:last-child { text-align: right; font-weight: 500; color: #fff; }
.rates-table tbody tr:hover { background: rgba(255,255,255,0.08); }
.rates-table tbody tr:last-child td { border-bottom: none; }
.rates-footer-note { color: #6b7280; line-height: 1.6; margin-top: 1.5rem; }

/* Map with overlay */
.map-container { position: relative; width: 100%; height: 500px; border-radius: 0.5rem; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.map-address-overlay { position: absolute; top: 1.5rem; left: 1.5rem; background: white; padding: 1rem 1.5rem; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 10; max-width: 320px; }
.map-address-overlay .icon { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; background: var(--color-primary, #ff7e1b); border-radius: 50%; color: white; margin-bottom: 0.5rem; }
.map-address-overlay .address-text { color: #374151; line-height: 1.5; font-weight: 500; }

/* Responsive */
@media (max-width: 768px) {
  .rates-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .rates-table { min-width: 600px; }
  .rates-table th, .rates-table td { padding: 0.875rem 1rem; }
  .map-container { height: 400px; }
  .map-address-overlay { top: 1rem; left: 1rem; right: 1rem; max-width: none; padding: 0.875rem 1rem; }
  .map-address-overlay .address-text {}
}