:root {
    --bs-primary: #0d6efd;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #1f2937;
}

.content h2 { margin-top: 2rem; }
.content h3 { margin-top: 1.5rem; }
.content p  { line-height: 1.7; }
.content ul { line-height: 1.7; }
/* Content tables — full Bootstrap-style rendering for Markdown output */
.content table {
    width: 100%;
    margin-bottom: 1.5rem;
    border-collapse: collapse;
    font-size: 0.9375rem;
    overflow-x: auto;
    display: block;
    -webkit-overflow-scrolling: touch;
}
.content table th,
.content table td {
    padding: .55rem .85rem;
    border: 1px solid #dee2e6;
    vertical-align: top;
    white-space: nowrap;
}
.content table thead th {
    background-color: #1a3a5c;
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
    border-color: #1a3a5c;
}
.content table tbody tr:nth-child(odd)  { background-color: #f8f9fa; }
.content table tbody tr:nth-child(even) { background-color: #fff; }
.content table tbody tr:hover           { background-color: #e8f0fe; }
@media (max-width: 768px) {
    .content table { font-size: 0.82rem; }
    .content table th, .content table td { white-space: normal; min-width: 110px; }
}

.navbar-brand .text-primary { color: #0d6efd !important; }

/* Hover lift card effect */
.hover-lift {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

/* Trucking theme utilities */
.bg-trucking { background-color: #1a3a5c; }
.text-trucking { color: #1a3a5c; }
.btn-trucking {
    background-color: #e85d04;
    border-color: #e85d04;
    color: #fff;
}
.btn-trucking:hover {
    background-color: #c44d00;
    border-color: #c44d00;
    color: #fff;
}

/* Content page typography */
.content h2 { border-bottom: 2px solid #e9ecef; padding-bottom: .5rem; }
.content blockquote { border-left: 4px solid #0d6efd; padding-left: 1rem; color: #495057; }

/* FAQ accordion */
.accordion-button:not(.collapsed) { background-color: #e8f0fe; color: #1a3a5c; }

/* Quote form sidebar */
.quote-form-sidebar { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: .5rem; padding: 1.5rem; }

/* Trust bar */
.trust-bar { background: #1a3a5c; }
.trust-bar .stat-number { font-size: 1.75rem; font-weight: 700; }

/* State pages */
.state-nav a { color: #495057; text-decoration: none; }
.state-nav a:hover { color: #0d6efd; }
