/**
 * WP Car Listings - Public Facing Styles
 * Version: 1.0.7 - Added styles for variation selectors and dynamic content on single car page.
 */

/* --- Resets/Base --- */
.wpcl-car-listings-wrapper *,
.wpcl-car-listings-wrapper *::before,
.wpcl-car-listings-wrapper *::after,
.wpcl-single-car-area *, /* Apply to single car page elements too if not in wrapper */
.wpcl-single-car-area *::before,
.wpcl-single-car-area *::after {
    box-sizing: border-box;
}
.wpcl-car-listings-wrapper,
.wpcl-single-car-area { /* Apply base font to single car page too */
    margin-bottom: 30px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    line-height: 1.6;
    color: #333;
}

/* --- Browse by Make/Taxonomy Section --- */
.wpcl-browse-by-taxonomy { margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid #e9ecef; }
.wpcl-browse-by-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.wpcl-browse-by-taxonomy h2 { font-size: 1.7em; margin: 0; color: #212529; font-weight: 600; }
.wpcl-browse-by-taxonomy .wpcl-show-all-terms { color: var(--wpcl-button-bg-color, #007bff); text-decoration: none; font-size: 0.9em; font-weight: 500; border-bottom: 1px dotted transparent; transition: color 0.2s ease, border-bottom-color 0.2s ease; }
.wpcl-browse-by-taxonomy .wpcl-show-all-terms:hover { color: var(--wpcl-button-bg-hover-color, #0056b3); border-bottom-color: var(--wpcl-button-bg-hover-color, #0056b3); }
.wpcl-browse-by-taxonomy .wpcl-term-logo-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 15px 20px; }
.wpcl-browse-by-taxonomy .wpcl-term-logo-list li { text-align: center; flex-grow: 1; flex-basis: 100px; max-width: 150px; }
.wpcl-browse-by-taxonomy .wpcl-term-logo-list li a { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: #495057; padding: 10px 5px; border: 1px solid #e9ecef; border-radius: 4px; transition: all 0.2s ease; height: 100%; background-color: #fff; }
.wpcl-browse-by-taxonomy .wpcl-term-logo-list li a:hover { border-color: #adb5bd; box-shadow: 0 4px 8px rgba(0,0,0,0.05); transform: translateY(-2px); }
.wpcl-browse-by-taxonomy .wpcl-term-logo-list li.active a { border-color: var(--wpcl-button-bg-color, #007bff); background-color: #e7f1ff; font-weight: 600; box-shadow: 0 0 0 2px rgba(0,123,255,.25); }
.wpcl-browse-by-taxonomy .wpcl-term-logo { display: block; width: auto; max-width: 70px; max-height: 40px; margin-bottom: 8px; object-fit: contain; }
.wpcl-browse-by-taxonomy .wpcl-term-name { display: block; font-weight: 500; font-size: 0.9em; line-height: 1.3; color: #343a40; margin-bottom: 2px; }
.wpcl-browse-by-taxonomy .wpcl-term-count { font-size: 0.8em; color: #6c757d; }

/* --- Layout Container for Sidebar + Main Listings Grid --- */
.wpcl-listings-content-area { display: flex; flex-wrap: nowrap; gap: 30px; margin-top: 20px; }

/* --- Filter Sidebar --- */
.wpcl-filter-sidebar { width: 280px; flex-shrink: 0; background-color: #2d323e; color: #f8f9fa; padding: 0; border-radius: 4px; }
.wpcl-sidebar-header { background-color: #23272b; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #495057; }
.wpcl-sidebar-header h3 { margin: 0; font-size: 1.1em; color: #ffffff; font-weight: 600; text-transform: uppercase; }
.wpcl-sidebar-header .wpcl-search-icon i { font-size: 1.2em; color: #adb5bd; }
.wpcl-filter-group { padding: 15px 20px; border-bottom: 1px solid #404551; }
.wpcl-filter-group:last-of-type { border-bottom: none; }
.wpcl-filter-group label.wpcl-filter-label, .wpcl-filter-group h4 { display: block; margin-bottom: 8px; font-weight: 500; color: #e9ecef; font-size: 0.9em; text-transform: uppercase; letter-spacing: 0.5px; }
.wpcl-filter-group h4 { margin-top: 0; }
.wpcl-filter-sidebar .wpcl-filter-input-full, .wpcl-filter-sidebar .wpcl-filter-select, .wpcl-filter-sidebar .wpcl-range-input { width: 100%; padding: 10px 12px; background-color: #ffffff; color: #343a40; border: 1px solid #ced4da; border-radius: 3px; font-size: 14px; line-height: 1.5; margin-bottom: 5px; box-sizing: border-box; }
.wpcl-filter-sidebar input::placeholder { color: #6c757d; opacity: 1; }
.wpcl-filter-sidebar input:focus, .wpcl-filter-sidebar .wpcl-filter-select:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25); }
.wpcl-filter-sidebar .wpcl-filter-select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.4-5.4-13z%22%2F%3E%3C%2Fsvg%3E'); background-repeat: no-repeat; background-position: right 12px center; background-size: 10px; cursor: pointer; }
.wpcl-range-inputs { display: flex; align-items: center; gap: 8px; }
.wpcl-range-inputs .wpcl-range-input { flex-grow: 1; flex-basis: 0; min-width: 50px; text-align: center; }
.wpcl-range-inputs .wpcl-range-separator { color: #e9ecef; font-weight: bold; flex-shrink: 0; }
.wpcl-filter-actions { padding: 15px 20px; display: flex; gap: 10px; border-top: 1px solid #404551; }
.wpcl-apply-filters-button, .wpcl-reset-filters-button { flex-grow: 1; padding: 12px 15px; border: none; border-radius: 5px; font-size: 0.9em; font-weight: 600; text-transform: uppercase; cursor: pointer; transition: all 0.2s ease-in-out; text-align: center; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.wpcl-apply-filters-button { background-color: var(--wpcl-button-bg-color, #0d6efd); color: var(--wpcl-button-text-color, white); }
.wpcl-apply-filters-button:hover { background-color: var(--wpcl-button-bg-hover-color, #0b5ed7); transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,0.15); }
.wpcl-reset-filters-button { background-color: #495057; color: #e9ecef; border: 1px solid #5e6670; }
.wpcl-reset-filters-button:hover { background-color: #5a6268; color: #ffffff; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,0.15); }

/* --- Main Content Area for Listings Grid --- */
.wpcl-listings-main-content-grid-area { flex-grow: 1; min-width: 0; }
.wpcl-listings-content-area.wpcl-flex-sidebar-left .wpcl-filter-sidebar { order: 1; }
.wpcl-listings-content-area.wpcl-flex-sidebar-left .wpcl-listings-main-content-grid-area { order: 2; }
.wpcl-listings-content-area.wpcl-flex-sidebar-right .wpcl-filter-sidebar { order: 2; }
.wpcl-listings-content-area.wpcl-flex-sidebar-right .wpcl-listings-main-content-grid-area { order: 1; }

/* --- Car Listings Grid & Gig Item Styling --- */
.wpcl-car-listings-grid.wpcl-new-gig-layout { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 20px; margin-bottom: 20px; }
.wpcl-new-gig-layout .wpcl-car-listing-item { background-color: #fff; border: 1px solid #e0e4e7; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out; }
.wpcl-new-gig-layout .wpcl-car-listing-item:hover { box-shadow: 0 5px 15px rgba(0,0,0,0.1); transform: translateY(-3px); }
.wpcl-new-gig-layout .wpcl-car-thumbnail { position: relative; height: 200px; background-color: #f4f6f8; overflow: hidden; }
.wpcl-new-gig-layout .wpcl-car-thumbnail a { display: block; width: 100%; height: 100%; }
.wpcl-new-gig-layout .wpcl-car-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.wpcl-new-gig-layout .wpcl-car-listing-item:hover .wpcl-car-thumbnail img { transform: scale(1.03); }
.wpcl-new-gig-layout .wpcl-special-banner { position: absolute; top: 0; left: 0; background-color: #ffab00; color: #fff; padding: 3px 25px 4px 10px; font-size: 10px; font-weight: 700; text-transform: uppercase; line-height: 1; z-index: 2; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0% 100%); }
.wpcl-new-gig-layout .wpcl-image-count { position: absolute; top: 8px; left: 8px; background-color: rgba(0,0,0,0.65); color: #fff; padding: 3px 6px; border-radius: 3px; font-size: 11px; z-index: 2; display: inline-flex; align-items: center; }
.wpcl-new-gig-layout .wpcl-image-count i.fas.fa-camera { margin-right: 4px; }
.wpcl-new-gig-layout .wpcl-car-item-content { padding: 12px 15px 15px; flex-grow: 1; display: flex; flex-direction: column; }
.wpcl-new-gig-layout .wpcl-title-price-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; min-height: 36px; gap: 10px; }
.wpcl-new-gig-layout .wpcl-car-title { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: #2c3e50; flex-grow: 1; padding-right: 5px; }
.wpcl-new-gig-layout .wpcl-car-title a { color: inherit; text-decoration: none; }
.wpcl-new-gig-layout .wpcl-car-title a:hover { color: var(--wpcl-button-bg-color, #007bff); }
.wpcl-new-gig-layout .wpcl-price-banner { background-color: var(--wpcl-button-bg-color, #007bff); color: var(--wpcl-button-text-color, #fff); padding: 5px 10px; font-size: 14px; font-weight: 700; line-height: 1.2; white-space: nowrap; flex-shrink: 0; position: relative; margin-right: -15px; height: 28px; display: flex; align-items: center; justify-content: center; clip-path: polygon(15px 0%, 100% 0%, 100% 100%, 0% 100%, 15px 0%); }
.wpcl-new-gig-layout .wpcl-price-banner .wpcl-regular-price del { display: block; font-size: 0.75em; opacity: 0.7; line-height: 1; text-align: right; }
.wpcl-new-gig-layout .wpcl-price-banner .wpcl-current-price, .wpcl-new-gig-layout .wpcl-price-banner .wpcl-sale-price { display: block; line-height: 1; text-align: right; }
.wpcl-new-gig-layout hr.wpcl-gig-separator { border: 0; height: 1px; background-color: #f0f2f5; margin: 8px 0 10px 0; }
.wpcl-new-gig-layout ul.wpcl-car-meta-icons { list-style: none; padding: 0; margin: 0 0 10px 0; display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 12px; color: #555e69; }
.wpcl-new-gig-layout ul.wpcl-car-meta-icons:last-of-type { margin-bottom: auto; }
.wpcl-new-gig-layout ul.wpcl-car-meta-icons li { display: flex; align-items: center; }
.wpcl-new-gig-layout ul.wpcl-car-meta-icons li i.fas { margin-right: 5px; color: #808b96; font-size: 1em; width: 14px; text-align: center; }
.wpcl-new-gig-layout .wpcl-car-listing-item .wpcl-view-details-button { display: none; }

/* --- Pagination & No Cars Found --- */
.wpcl-pagination { clear: both; margin-top: 30px; text-align: center; }
.wpcl-pagination .page-numbers { display: inline-block; padding: 6px 12px; margin: 0 3px; border: 1px solid #dee2e6; text-decoration: none; color: var(--wpcl-button-bg-color, #007bff); border-radius: 4px; transition: background-color 0.2s ease, color 0.2s ease; }
.wpcl-pagination .page-numbers.current { background-color: var(--wpcl-button-bg-color, #007bff); color: var(--wpcl-button-text-color, #fff); border-color: var(--wpcl-button-bg-color, #007bff); }
.wpcl-pagination .page-numbers:hover:not(.current) { background-color: #e9ecef; color: var(--wpcl-button-bg-hover-color, #0056b3); }
.wpcl-no-cars-found { padding: 20px; background-color: #f8f9fa; border: 1px solid #dee2e6; text-align: center; border-radius: 4px; margin-top: 20px; }


/* === Single Car Page Styles === */
.wpcl-single-car-entry .entry-header { margin-bottom: 20px; }
.wpcl-single-car-entry .wpcl-car-main-title { font-size: 2.2em; color: #2c3e50; font-weight: 700; margin-bottom: 5px; }

.wpcl-single-car-layout-wrapper { display: flex; flex-wrap: wrap; gap: 30px; }
.wpcl-main-content-column { flex: 2; min-width: 0; }
.wpcl-sidebar-column { flex: 1; min-width: 280px; /* Or your desired min sidebar width */ }

.wpcl-featured-image-gallery { margin-bottom: 30px; }
.wpcl-main-image-container { position: relative; background-color: #f0f2f5; margin-bottom: 10px; border-radius: 4px; overflow: hidden; }
.wpcl-main-image-container .wpcl-main-image { display: block; width: 100%; height: auto; max-height: 600px; object-fit: cover; border-radius: 4px; }
.wpcl-special-banner-single { position: absolute; top: 15px; left: -1px; background-color: #ffab00; color: #fff; padding: 5px 30px 6px 15px; font-size: 0.8em; font-weight: bold; text-transform: uppercase; line-height: 1; z-index: 10; clip-path: polygon(0 0, 100% 0, calc(100% - 15px) 100%, 0% 100%); }
.wpcl-image-actions { position: absolute; top: 15px; right: 15px; z-index: 10; display: flex; gap: 8px; }
.wpcl-image-actions .wpcl-action-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background-color: rgba(0,0,0,0.5); color: #fff; border-radius: 50%; text-decoration: none; transition: background-color 0.2s ease; font-size: 16px; }
.wpcl-image-actions .wpcl-action-icon:hover { background-color: rgba(0,0,0,0.8); }
.wpcl-gallery-thumbnails { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.wpcl-gallery-thumb-item { width: 80px; height: 60px; cursor: pointer; border: 2px solid transparent; border-radius: 3px; overflow: hidden; transition: border-color 0.2s ease; }
.wpcl-gallery-thumb-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wpcl-gallery-thumb-item:hover { border-color: #ccc; }
.wpcl-gallery-thumb-item.active { border-color: var(--wpcl-button-bg-color, #007bff); }

/* Variation Selection Form */
.wpcl-variations-form {
    margin-top: 20px;
    margin-bottom: 30px;
    padding: 15px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 4px;
}
.wpcl-variations-table {
    width: 100%;
    margin-bottom: 10px;
    border-collapse: collapse;
}
.wpcl-variations-table td {
    padding: 8px 5px;
    vertical-align: middle;
}
.wpcl-variations-table .wpcl-label {
    width: 120px; /* Adjust as needed */
    font-weight: 500;
    color: #495057;
    padding-right: 10px;
    text-align: right;
}
.wpcl-variations-table .wpcl-value select.wpcl-variation-select {
    width: 100%;
    max-width: 250px; /* Control max width of select */
    padding: 8px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background-color: #fff;
    font-size: 0.95em;
}
.wpcl-variations-table .wpcl-value select.wpcl-variation-select:focus {
    border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.wpcl-variation-info-block { margin-top: 10px; font-size: 0.9em; }
.wpcl-variation-sku-wrapper { color: #555; }
.wpcl-variation-sku-wrapper .wpcl-dynamic-sku { font-weight: bold; }
.wpcl-variation-message-area {
    margin-top: 10px;
    padding: 10px;
    background-color: #fff3cd; /* Warning yellow */
    border: 1px solid #ffeeba;
    color: #856404;
    border-radius: 4px;
    font-size: 0.9em;
}


/* Dynamic Content Placeholders (Description & Features) */
.wpcl-dynamic-description-wrapper,
.wpcl-dynamic-features-section {
    margin-bottom: 30px;
    padding-top: 15px;
    border-top: 1px solid #e9ecef;
}
.wpcl-dynamic-description-wrapper h3,
.wpcl-dynamic-features-section h3 {
    font-size: 1.3em; color: #343a40; margin-bottom: 15px;
}
.wpcl-dynamic-description-content {
    font-size: 1em;
    line-height: 1.7;
}
.wpcl-dynamic-description-content p { margin-bottom: 1em; }
.wpcl-dynamic-description-content ul, .wpcl-dynamic-description-content ol { margin-left: 20px; margin-bottom: 1em; }

.wpcl-dynamic-features-list {
    list-style: none; padding: 0; margin: 0;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0px 20px;
}
.wpcl-dynamic-features-list li {
    display: flex; align-items: center;
    margin-bottom: 0; padding: 6px 0; font-size: 14px;
    border-bottom: 1px dotted #f0f2f5;
}
.wpcl-dynamic-features-list li:last-child { border-bottom: none;}
.wpcl-dynamic-features-list li i.fas.fa-check-circle { color: #28a745; margin-right: 8px; font-size: 1em; width: 20px; text-align: center; flex-shrink: 0; }


/* Spec Table, Features List, Additional Specs - Refined from your v1.0.6 */
.wpcl-specifications-table-section { margin-bottom: 30px; padding-top: 15px; border-top: 1px solid #e9ecef; }
.wpcl-specifications-table-section h3 { font-size: 1.3em; color: #343a40; margin-bottom: 20px; }
.wpcl-spec-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 5px 20px; }
.wpcl-spec-item { display: flex; align-items: flex-start; padding: 8px 0; font-size: 14px; border-bottom: 1px dotted #f0f2f5; }
.wpcl-spec-grid > .wpcl-spec-item:last-child { border-bottom: none; }
.wpcl-spec-icon { margin-right: 10px; flex-shrink: 0; width: 20px; text-align: center; }
.wpcl-spec-icon i.fas, .wpcl-spec-icon i.far, .wpcl-spec-icon i.fab { font-size: 1.1em; color: #5a6268; line-height: 1.4; }
.wpcl-spec-text { display: flex; width: 100%; }
.wpcl-spec-label { color: #6c757d; margin-right: 6px; flex-basis: 100px; flex-shrink: 0; font-weight: 500; }
.wpcl-spec-value { color: #212529; font-weight: 600; word-break: break-word; }

.wpcl-features-section { margin-bottom: 30px; padding-top: 15px; border-top: 1px solid #e9ecef; } /* This is for the base car features if shown by PHP initially */
.wpcl-features-section h3 { font-size: 1.3em; color: #343a40; margin-bottom: 15px; }
.wpcl-features-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0px 20px; }
.wpcl-features-list li { display: flex; align-items: center; margin-bottom: 0; padding: 6px 0; font-size: 14px; border-bottom: 1px dotted #f0f2f5; }
.wpcl-features-list li:last-child { border-bottom: none;}
.wpcl-features-list li i.fas.fa-check-circle { color: #28a745; margin-right: 8px; font-size: 1em; width: 20px; text-align: center; flex-shrink: 0; }

.wpcl-additional-specs-section { margin-bottom: 30px; padding-top: 15px; border-top: 1px solid #e9ecef; }
.wpcl-additional-specs-section h3 { font-size: 1.3em; color: #343a40; margin-bottom: 15px; }
.wpcl-additional-specs-list { list-style: none; padding: 0; margin: 0; }
.wpcl-additional-specs-list li { margin-bottom: 6px; font-size: 14px; padding: 6px 0; border-bottom: 1px dotted #f0f2f5; }
.wpcl-additional-specs-list li:last-child { border-bottom: none;}
.wpcl-additional-specs-list li strong { color: #343a40; margin-right: 5px; }

/* Sidebar Styles */
.wpcl-price-box-single { background-color: var(--wpcl-button-bg-color, #007bff); color: var(--wpcl-button-text-color, #fff); padding: 12px 20px; font-size: 1.6em; font-weight: 700; border-radius: 5px; margin-bottom: 25px; text-align: center; clip-path: polygon(15px 0%, 100% 0%, 100% 100%, 0% 100%, 0% 15px); }
.wpcl-price-box-single .wpcl-dynamic-price { display: block; }
.wpcl-price-box-single .wpcl-variation-price-range { display: block; font-size: 0.8em; margin-top: 5px; }

.wpcl-seller-info-box { background-color: #fff; padding: 20px; border: 1px solid #e9ecef; border-radius: 4px; margin-bottom: 25px; text-align: left; }
.wpcl-seller-avatar-name { display: flex; flex-direction: column; align-items: center; margin-bottom: 15px; }
.wpcl-seller-avatar-name i.fas.fa-user-circle { font-size: 48px; color: #adb5bd; margin-bottom: 8px; }
.wpcl-seller-avatar-name div strong { display: block; font-weight: 600; color: #343a40; font-size: 1.1em; margin-bottom: 2px; }
.wpcl-seller-avatar-name div span { font-size: 0.9em; color: #6c757d; }
.wpcl-contact-info-item { display: flex; align-items: center; padding: 10px 0; margin-bottom: 10px; border-bottom: 1px solid #e9ecef; }
.wpcl-contact-info-item:last-child { border-bottom: none; margin-bottom: 0; }
.wpcl-contact-info-item i.fab.fa-whatsapp { font-size: 1.8em; color: #25d366; margin-right: 10px; }
.wpcl-contact-info-item a { color: #343a40; font-weight: 500; text-decoration: none; font-size: 1.1em; }
.wpcl-contact-info-item a:hover { color: var(--wpcl-button-bg-color, #007bff); }

.wpcl-message-dealer-form-section { background-color: #fff; padding: 20px; border: 1px solid #e9ecef; border-radius: 4px; margin-bottom: 25px; }
.wpcl-message-dealer-form-section h3 { margin-top: 0; margin-bottom: 20px; font-size: 1.3em; color: #343a40; padding-bottom: 10px; border-bottom: 1px solid #e9ecef; }
.wpcl-contact-form .wpcl-form-field { margin-bottom: 15px; }
.wpcl-contact-form .wpcl-form-field:last-child { margin-bottom: 0; }
.wpcl-contact-form label { display: block; margin-bottom: 5px; font-weight: 500; font-size: 0.9em; color: #495057; }
.wpcl-contact-form label .required { color: red; margin-left: 2px; }
.wpcl-contact-form input[type="text"], .wpcl-contact-form input[type="email"], .wpcl-contact-form input[type="tel"], .wpcl-contact-form textarea { width: 100%; padding: 10px 12px; border: 1px solid #ced4da; border-radius: 4px; font-size: 0.95em; color: #495057; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
.wpcl-contact-form input[type="text"]:focus, .wpcl-contact-form input[type="email"]:focus, .wpcl-contact-form input[type="tel"]:focus, .wpcl-contact-form textarea:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25); }
.wpcl-contact-form .wpcl-form-field-checkbox { display: flex; align-items: center; }
.wpcl-contact-form .wpcl-form-field-checkbox input[type="checkbox"] { margin-right: 8px; width: auto; }
.wpcl-contact-form .wpcl-form-field-checkbox label { margin-bottom: 0; font-weight: normal; }
.wpcl-submit-message-button { background-color: var(--wpcl-button-bg-color, #007bff) !important; color: var(--wpcl-button-text-color, #fff) !important; width: 100%; padding: 12px 15px !important; font-size: 1em !important; font-weight: 600 !important; border: none !important; }
.wpcl-submit-message-button:hover { background-color: var(--wpcl-button-bg-hover-color, #0056b3) !important; }
.wpcl-form-messages p { padding: 10px; margin-top: 15px; border-radius: 4px; font-size: 0.9em; } /* Changed from div to p for semantic correctness */
.wpcl-form-messages p.wpcl-success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } /* Targeting p directly */
.wpcl-form-messages p.wpcl-error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } /* Targeting p directly */

.wpcl-similar-listings-section { margin-top: 30px; padding-top: 20px; border-top: 1px solid #e9ecef; }
.wpcl-similar-listings-section h3 { font-size: 1.3em; color: #343a40; margin-bottom: 20px; }
.wpcl-similar-listing-item { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted #e0e4e7; }
.wpcl-similar-listing-item:last-child { border-bottom: none; margin-bottom: 0; }
.wpcl-similar-listing-item .wpcl-similar-item-link { display: flex; align-items: flex-start; text-decoration: none; gap: 15px; color: inherit; }
.wpcl-similar-thumbnail { flex-shrink: 0; width: 100px; height: 75px; overflow: hidden; border-radius: 3px; background-color: #f0f2f5; }
.wpcl-similar-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.wpcl-similar-details { flex-grow: 1; }
.wpcl-similar-title { margin: 0 0 5px 0; font-size: 1em; font-weight: 600; color: #343a40; line-height: 1.3; }
.wpcl-similar-item-link:hover .wpcl-similar-title { color: var(--wpcl-button-bg-color, #007bff); }
.wpcl-similar-price { display: block; font-size: 0.95em; font-weight: bold; color: var(--wpcl-button-bg-color, #007bff); margin-bottom: 5px; }
.wpcl-similar-condition { display: block; font-size: 0.85em; color: #566573; }
.wpcl-similar-condition i.fas { margin-right: 4px; }

/* Responsive adjustments */
@media (max-width: 768px) {
    .wpcl-browse-by-taxonomy .wpcl-term-logo-list li { flex-basis: calc(100% / 4 - 20px); }
    .wpcl-single-car-layout-wrapper { flex-direction: column; }
    .wpcl-main-content-column, .wpcl-sidebar-column { flex: none; width: 100%; }
}
@media (max-width: 480px) {
    .wpcl-browse-by-header { flex-direction: column; align-items: flex-start; gap: 10px; }
    .wpcl-browse-by-taxonomy .wpcl-term-logo-list li { flex-basis: calc(100% / 3 - 16px); min-width: 80px; }
    .wpcl-browse-by-taxonomy .wpcl-term-logo { max-width: 60px; max-height: 30px; }
    .wpcl-car-main-title { font-size: 1.8em; }
    .wpcl-spec-grid, .wpcl-features-list, .wpcl-dynamic-features-list { grid-template-columns: 1fr; /* Single column on small screens */ }
    .wpcl-variations-table .wpcl-label { text-align: left; width: auto; margin-bottom: 3px; }
    .wpcl-variations-table td { display: block; width: 100%; padding-left:0; padding-right:0; }
    .wpcl-variations-table .wpcl-value select.wpcl-variation-select { max-width: 100%; }

}
@media (max-width: 420px) {
    .wpcl-car-listings-grid.wpcl-new-gig-layout { grid-template-columns: 1fr; }
    .wpcl-new-gig-layout .wpcl-title-price-row { flex-direction: column; align-items: flex-start; }
    .wpcl-new-gig-layout .wpcl-price-banner { margin-top: 8px; align-self: flex-start; margin-right: 0; clip-path: none; border-radius:3px; }
    .wpcl-new-gig-layout ul.wpcl-car-meta-icons { gap: 6px 10px; }
}