/* --- Base Styles and Typography --- */
:root {
    --body-font: Verdana, Arial, Helvetica, sans-serif;
    --dark-blue: #3366FF; /* Original page background color */
    --white: #FFFFFF;
    --text-color-dark-gray: #333333; /* Used for .body and .bodyCopy */
    --text-color-black: #000000;
    --text-color-red: #FF0000;
    --text-color-border: #999999; /* Light border for images (Original border=1) */
    --content-max-width: 800px;
    --border-radius-lg: 15px; /* Rounded corners for images */
    --border-radius-sm: 5px;
}

/* Page background color */
.dark-blue-background {
    background-color: var(--dark-blue);
}

/* --- Replicated Original Class Mappings --- */

/* .body -> 12px, #333333 */
.body-text {
    font-family: var(--body-font);
    font-size: 12px;
    color: var(--text-color-dark-gray);
    text-align: center;
}

/* Intro body text alignment fix, since original was wrapped in an align="left" div */
.body-text-intro {
    font-family: var(--body-font);
    font-size: 12px;
    color: var(--text-color-dark-gray);
    text-align: left;
    margin-top: 5px;
}

/* .bodyboldblack -> 13px, #000000, bold */
.body-bold-black-intro {
    font-family: var(--body-font);
    font-size: 13px;
    color: var(--text-color-black);
    font-weight: bold;
    text-align: left; /* Aligned left in original HTML */
}

/* .bodyboldred -> 13px, #FF0000, bold */
.body-bold-red-head {
    font-family: var(--body-font);
    font-size: 13px;
    color: var(--text-color-red);
    font-weight: bold;
    text-align: center;
}

/* .bodyCopy -> 10px, #333333 */
.body-copy {
    font-family: var(--body-font);
    font-size: 10px;
    color: var(--text-color-dark-gray);
    text-decoration: none;
}

/* --- Layout and Structure --- */
.page-container {
    max-width: var(--content-max-width);
    margin: 0 auto;
    background-color: var(--white);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.header-section {
    padding: 20px 0;
    text-align: center;
    background-color: var(--white);
}

.nav-links {
    padding: 10px 0;
}

.nav-link {
    padding: 0 10px;
}

/* Logo styling: Centered, no border, no radius */
.main-logo {
    max-width: 576px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 10px;
    border-radius: 0; 
    border: none; 
}

/* Main content wrapper background set to white */
.content-section {
    background-color: var(--white); 
    padding: 10px;
}

.intro-box {
    background-color: var(--white);
    padding: 20px;
    margin-bottom: 10px;
    border-radius: var(--border-radius-sm); 
    max-width: 95%; /* Matches original table width of 95% */
    margin: 0 auto 30px auto; /* Increased bottom margin for separation */
}

.contact-box {
    background-color: var(--white);
    padding: 20px;
    margin-top: 20px;
    text-align: center;
}

/* --- Image Gallery Styling (Stacked) --- */
.image-gallery {
    display: flex;
    flex-direction: column;
    gap: 30px; /* Space between each image/caption group */
    padding: 10px;
}

.gallery-item {
    text-align: center;
    margin: 0;
    padding: 0;
}

.gallery-item figcaption {
    margin-top: 10px; /* Space between image and caption */
}


/* Styles for all car images (Rounded Corners) */
.rounded-car-image {
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--text-color-border);
    display: block; 
    width: 100%;
    height: auto;
    max-width: 640px; /* Limit max size */
    margin: 0 auto;
}

/* --- Footer Styling --- */
.footer-image-row {
    background-color: #CCCCCC; /* Original table row background */
    display: block;
    text-align: center;
    overflow: hidden;
    padding: 0;
}

.footer-graphic {
    width: 100%;
    max-width: 800px;
    height: 17px; 
    display: block;
    margin: 0 auto;
}