.bvi-container { margin: 1.5em 0; }
.bvi-vehicle-card { border: 1px solid #ddd; border-radius: 10px; padding: 1.2em; margin-bottom: 1.2em; background: #fafafa; position: relative; }
.bvi-vehicle-card.bvi-live { border-left: 5px solid #28a745; background: #f8fff9; }
.bvi-live-badge { position: absolute; top: 10px; right: 10px; background: #28a745; color: white; padding: 4px 8px; border-radius: 4px; font-size: 0.8em; }
.bvi-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5em; }
.bvi-fleet { margin: 0; font-size: 1.6em; color: #1a3c6d; }
.bvi-reg { margin: 0.4em 0; font-size: 1.3em; }
.bvi-operator { font-weight: bold; color: #444; margin: 0.6em 0; }
.bvi-type, .bvi-livery { margin: 0.4em 0; color: #555; }
.bvi-location { margin: 0.8em 0; padding: 0.6em; background: #e9f7ef; border-radius: 6px; }
.bvi-notes { font-style: italic; color: #666; margin-top: 1em; }
.bvi-garage { margin: 0.4em 0; color: #555; }
.bvi-link { margin-top: 1em; }
.bvi-no-data, .bvi-error { padding: 1em; background: #fff4f4; border: 1px solid #ffcccc; border-radius: 6px; color: #900; }
.bvi-livery-preview { border-radius: 4px; background-size: cover; }
.bvi-livery-swatch {
    display: inline-block;
    width: 50px;      /* Bigger */
    height: 30px;     /* Rectangular */
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-left: 8px;
    vertical-align: middle;
}
/* Special styling for single solid colors */
.bvi-livery-swatch.bvi-single-color {
    border: 2px solid #ddd;              /* Light border for contrast */
    box-shadow: 
        0 1px 3px rgba(0,0,0,0.2),
        inset 0 0 0 1px rgba(255,255,255,0.6); /* Inner highlight for 3D feel */
}

/* Optional: Darker border for very light/white swatches */
.bvi-livery-swatch.bvi-single-color[style*="fff"],
.bvi-livery-swatch.bvi-single-color[style*="FFF"],
.bvi-livery-swatch.bvi-single-color[style*="white"] {
    border-color: #aaa;
}

.bvi-type-icon {
    width: 60px;
    height: auto;
    vertical-align: middle;
    margin-right: 10px;
    filter: brightness(0); /* Ensures black silhouette */
}

.bvi-older {
    border-left: 4px solid #666; /* or your secondary colour */
    opacity: 0.85;
    background: #f9f9f9;
}
.bvi-older .bvi-livery-swatch {
    opacity: 0.9;
}