
/* --- Root Variables & Reset --- */
:root {
    --primary-blue: #0066B2;
    --light-blue: #49C5F1;
    --purple: #7B2E8E;
    --green-success: #4CAF50;
    --dark: #1a1a1a;
    --font-family: 'Quicksand', sans-serif;
      --dark-bg: #0a0a0a;
    --input-bg: #1a1a1a;
    --text-gray: #aaa;
    --white: #ffffff;
    --bc-blue: #f0f5f9;


}/* ==========================================================================
   View-Car Page Styles
   ========================================================================== */

/* --- Main Page Wrapper --- */
.vcar-main-wrapper {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    font-family: 'Quicksand', sans-serif;
}

/* --- Hero Section --- */
.vcar-hero-section {
    padding: 0 20px;
    margin-top: 120px; /* Offset for fixed navigation if applicable */
}

.vcar-hero-container {
    width: 100%;
}

.vcar-hero-card {
    height: 350px;
    border-radius: 60px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    position: relative;
 }

/* Centering the content and breadcrumbs */
.vcar-hero-content {
    z-index: 2;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px; /* Space between Title and Breadcrumbs */
}

.vcar-hero-title {
    font-size: clamp(36px, 6vw, 64px);
    font-weight: 700;
    letter-spacing: -1.5px;
    margin: 0;
    line-height: 1.1;
    text-transform: capitalize;
}

/* --- Barcombo / Breadcrumb Styling (Inside Hero) --- */
.vcar-breadcrumb {
    font-size: 16px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
     padding: 8px 25px;
    border-radius: 50px;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.vcar-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: all 0.3s ease;
}

.vcar-breadcrumb a:hover {
    color:var(--green-success);
 }

.vcar-breadcrumb .vcar-separator {
    color: rgba(255, 255, 255, 0.4);
    font-size: 14px;
}

.vcar-breadcrumb .vcar-current {
    color: var(--green-success); 
    font-weight: 600;
}

/* --- Helper Class for spacing sections below --- */
.review-section-wrapper {
    padding: 60px 20px;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 1024px) {
    .vcar-hero-section {
        padding: 0 15px;
        margin-top: 100px;
                margin-bottom: -60px;

    }

    .vcar-hero-card {
        height: 350px;
        border-radius: 40px;
    }
    
    .vcar-hero-title {
        font-size: 40px;
    }
    
    .vcar-breadcrumb {
        font-size: 14px;
        padding: 6px 20px;
    }
}

@media (max-width: 480px) {
    .vcar-hero-card {
        height: 300px;
        border-radius: 30px;
    }

    .vcar-hero-title {
        font-size: 32px;
    }

    .vcar-breadcrumb {
        gap: 8px;
        padding: 5px 15px;
    }

    .vcar-breadcrumb .vcar-separator {
        font-size: 12px;
    }
}




/* --- Details Section Layout --- */
.vcar-details-section {
    padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.vcar-details-container {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

/* --- Specs Card (Left) --- */
.vcar-specs-card {
    flex: 0 0 350px;
    background:var(--bc-blue); /* Soft off-white from image */
    padding: 40px;
    border-radius: 40px;
        margin-top: 0px;

 }

.vcar-price-header {
    margin-bottom: 20px;
}

.vcar-price-amount {
    font-size: 48px;
    font-weight: 800;
    color: #1a1a1a;
}

.vcar-price-label {
    font-size: 14px;
    color: #888;
    margin-left: 5px;
}

.vcar-specs-list {
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
}

.vcar-specs-list li {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    font-size: 16px;
    color: #444;
}

.vcar-specs-list li i {
    margin-right: 10px;
    width: 20px;
    color: #999;
}
 

/* --- Carousel Area (Right) --- */
.vcar-carousel-area {
    flex: 1;
}

.vcar-main-display {
    width: 100%;
    height: 550px;
    border-radius: 50px;
    /* This ensures the image fills the box, cropping the edges if necessary */
    background-size: cover; 
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    
    /* ADD THIS: Ensures the container behaves as a block in all layouts */
    display: block; 
    overflow: hidden; 
}

/* --- Desktop Styles (Your Original Code) --- */
.vcar-dots {
    position: absolute;
    bottom: 25px; 
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    background: var(--green-success); 
    backdrop-filter: blur(10px);          
    -webkit-backdrop-filter: blur(10px);
    padding: 10px 20px;
    border-radius: 50px;                  
    z-index: 10;
    transition: all 0.3s ease; /* Smooth transition for resizing */
}

.vcar-dot {
    width: 10px;
    height: 10px;
    background: rgba(255,255,255,0.5);
    border-radius: 50%;
    cursor: pointer; /* Makes it clear they are clickable */
}

.vcar-dot.active {
    background: var(--white);
    width: 25px;
    border-radius: 10px;
}

/* --- Mobile Responsiveness (Screens smaller than 768px) --- */
@media (max-width: 768px) {
    .vcar-dots {
        bottom: 15px;       /* Move closer to bottom to save screen real estate */
        gap: 8px;           /* Slightly tighter gap */
        padding: 8px 16px;  /* Smaller padding */
        width: auto;        /* Ensure it fits narrow screens */
        max-width: 60%;     /* Prevents it from hitting screen edges */
    }

    .vcar-dot {
        width: 8px;         /* Slightly smaller dots */
        height: 8px;
    }

    .vcar-dot.active {
        width: 20px;        /* Slightly shorter active bar */
    }
}

 /* --- Mobile Responsive Rules --- */

@media (max-width: 992px) {
    .vcar-details-container {
        flex-direction: column; /* Specs on TOP, Image on BOTTOM */
        gap: 20px;

    }
/* --- Details Section Layout --- */
.vcar-details-section {
    padding: 80px 5px;
 }
    .vcar-specs-card {
        flex: 1 1 100%;
        width: 100%;
        padding: 30px 25px;
        box-sizing: border-box;
        border-radius: 30px; /* Slightly smaller radius for mobile */
    }

    .vcar-carousel-area {
        width: 100%;
        order: 2; /* Ensures it stays below */
    }

    .vcar-main-display {
    height: 300px;
    /* Use max-width instead of width for responsiveness */
    max-width: 320px; 
    width: 100%;        /* Takes up 90% of the screen on small devices */
    
    margin: 0 auto;    /* Centers the box horizontally */
    border-radius: 30px;
    
    /* Good practice for images/backgrounds */
    overflow: hidden;  
    display: block;
}
    .vcar-specs-list li {
        padding: 12px 0; /* Tighter list for mobile screens */
     }
}

@media (max-width: 480px) {
    .vcar-price-amount {
        font-size: 32px;
    }

 
}

/* --- Booking Actions Group --- */
.vcar-action-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vcar-or-text {
    font-weight: 700;
    color: #888;
    font-size: 14px;
}

/* --- Premium Book Button --- */
.vcar-btn-book {
    font-family: var(--font-family);
    background: var(--primary-blue);
    color: white;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 6px 6px 6px 20px; /* Slimmer, premium padding */
    cursor: pointer;
    font-size: 17px;
    transition: all 0.3s ease;
}

.vcar-arrow-circle {
    background-color: #ffffff; 
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.vcar-arrow-img {
    width: 16px; 
    height: auto;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.3s ease;
}

/* --- WhatsApp Button Style --- */
.vcar-whatsapp-btn {
    background: #25D366; /* Official WhatsApp Green */
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    text-decoration: none;
    transition: all 0.3s ease;
}

 

.vcar-btn-book:hover .vcar-arrow-circle {
    background-color: var(--green-success);
}

.vcar-btn-book:hover .vcar-arrow-img {
    transform: rotate(420deg);
    filter: brightness(0) invert(1);
}

.vcar-whatsapp-btn:hover {
    transform: scale(1.1) rotate(10deg);
    box-shadow: 0 5px 15px rgba(37, 211, 102, 0.3);
}

.vcar-btn-book:active, .vcar-whatsapp-btn:active {
    transform: scale(0.95);
}

/* --- Mobile Fixes --- */
@media (max-width: 480px) {
    .vcar-action-group {
        display: flex; /* Kept flex for side-by-side feel */
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .vcar-btn-book {
        width: 100%; /* Makes book button primary on mobile */
        justify-content: center;
    }
}

 


 

.vcar-specs-card {
    flex: 0 0 350px;
    background: var(--bc-blue);
    padding: 40px;
    border-radius: 40px;
    
    /* Make it Sticky */
    position: sticky;
    top: 120px; /* Adjust this based on your Nav Bar height */
    z-index: 10;
}

/* --- New Description Styles --- */
.vcar-full-description {
    margin-top: 40px;
}

.vcar-info-block {
    margin-bottom: 50px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.vcar-detail-topic {
    font-size: 28px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 5px;
}

.vcar-detail-subtext {
    font-size: 15px;
    color: var(--primary-blue);
    font-weight: 600;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.vcar-detail-content {
    font-size: 16px;
    line-height: 1.6;
    color: #555;
}

.vcar-amenities-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    list-style: none;
    padding: 0;
}

.vcar-amenities-grid li {
    font-size: 15px;
    color: #444;
    display: flex;
    align-items: center;
    gap: 10px;
}

.vcar-amenities-grid li i {
    color: var(--green-success);
}

/* --- Mobile Responsiveness --- */
@media (max-width: 992px) {
    .vcar-specs-card {
        position: static; /* Disable sticky on mobile */
        margin-bottom: 30px;
    }
    
    .vcar-amenities-grid {
        grid-template-columns: 1fr; /* Single column on mobile */
    }
    /* --- New Description Styles --- */
.vcar-full-description {
 padding: 10px;}

 .vcar-info-block{
    padding: 10px;
 }
}




/* --- Modal Overlay --- */
.vcar-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); /* Darkened background */
    display: none; /* Hidden by default */
    justify-content: center;
    align-items: center;
    z-index: 2000;
    backdrop-filter: blur(8px);    overflow: auto;

}

/* --- Modal Card --- */
.vcar-modal-card {
        top: 15px;
    background: #ffffff;
    width: 90%;
    max-width: 800px;
    padding: 50px;
    border-radius: 40px; /* High-radius corners */
    position: relative;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    animation: modalSlideUp 0.4s ease-out;
 }

@keyframes modalSlideUp {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* --- Close Button --- */
.vcar-modal-close {
    position: absolute;
    top: 25px;
    right: 25px;
    background: #ff4d4d; /* Red color */
    color: white;
    border: none;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
}

.vcar-modal-title {
    font-size: 32px;
    color: var(--dark);
    margin-bottom: 30px;
    text-align: center;
}/* --- Status Tag Styles --- */
.vcar-status-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}

/* Green state (Available) */
.vcar-status-tag.available {
    background: rgba(37, 211, 102, 0.1);
    color: #25D366;
}

/* Red/Orange state (Booked) */
.vcar-status-tag.booked {
    background: rgba(255, 68, 68, 0.1);
    color: #ff4444;
}

.vcar-status-tag i {
    font-size: 8px; /* Smaller dot */
}

/* --- Form Grid Layouts --- */
.vcar-form-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 15px;
}

.vcar-form-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 15px;
}

.vcar-booking-form input, 
.vcar-booking-form select, 
.vcar-booking-form textarea {
    width: 100%;
    padding: 15px 20px;
    border: 1.5px solid #eee;
    border-radius: 15px;
    font-family: var(--font-family);
    font-size: 15px;
    outline: none;
    transition: border-color 0.3s;
}

.vcar-booking-form input:focus {
    border-color: #ff8c00;
}

/* --- Orange Send Button --- */
.vcar-btn-send {
    background:var(--primary-blue); /* High-visibility orange */
    color: white;
    width: 30%;
        font-family: var(--font-family);

    padding: 18px;
    border: none;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 20px;
    transition: transform 0.2s, background 0.3s;
}

.vcar-btn-send:hover {
    background: var(--green-success);
    transform: translateY(-2px);
}
/* Styling for the new Date Labels */
.vcar-input-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.vcar-input-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-blue);
    margin-left: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Ensure date inputs match the height of selects */
.vcar-booking-form input[type="date"] {
    height: 50px;
    box-sizing: border-box;
}
 /* --- Mobile Adjustments (Screen widths below 768px) --- */
@media screen and (max-width: 768px) {
    
    .vcar-modal-card {
                top: 25px;

        width: 95%; /* Take up more space on mobile */
        padding: 30px 20px; /* Reduce large desktop padding */
        border-radius: 25px; /* Slightly smaller corners for small screens */
        max-height: 95vh; /* Prevent modal from going off-screen */
        overflow-y: auto; /* Allow scrolling inside the modal if form is long */
    }

    .vcar-modal-title {
        font-size: 24px; /* Smaller text for mobile headers */
        margin-bottom: 20px;
    }

    /* Stack grid columns into a single column */
    .vcar-form-grid-3, 
    .vcar-form-grid-2 {
        grid-template-columns: 1fr; 
        gap: 10px;
    }

    /* Make the send button full width */
    .vcar-btn-send {
        width: 100%; 
        padding: 15px;
        font-size: 16px;
    }

    .vcar-modal-close {
        top: 5px;
        right: 15px;
        width: 30px;
        height: 30px;
    }
}


/* --- Terms & Conditions Styles --- */
.vcar-terms-container {
    margin: 20px 0;
    padding: 0 5px;
}

.vcar-checkbox-label {
    display: flex;
    align-items: flex-start; /* Keeps text aligned with checkbox */
    gap: 12px;
    cursor: pointer;
    font-family: var(--font-family);
    font-size: 14px;
    color: #666;
    line-height: 1.4;
    transition: opacity 0.3s;
}

/* FIX: Ensure the actual input isn't hidden 
   If you want to use the CUSTOM design, we keep the input tiny but visible 
   to the browser for accessibility.
*/
.vcar-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
    
    accent-color: var(--green-success); /* Modern way to style native checkbox */
}

/* --- Optional: If you use the custom span design instead of native --- */
/* If you prefer the custom box, keep the input but don't set display: none */
.vcar-checkbox-custom {
    display: none; /* Set to none if you want to use the browser's native checkbox */
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 6px;
    flex-shrink: 0;
    position: relative;
    background: #fff;
}

.vcar-terms-text a {
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 700;
}

.vcar-terms-text a:hover {
    text-decoration: underline;
}
 

/* Custom Checkbox Design */
.vcar-checkbox-custom {
    width: 20px;
    height: 20px;
    border: 2px solid #ddd;
    border-radius: 6px;
    flex-shrink: 0;
    position: relative;
    transition: all 0.3s ease;
    background: #fff;
}

/* Checkmark when active */
.vcar-checkbox-label input:checked + .vcar-checkbox-custom {
    background-color: var(--green-success);
    border-color: var(--green-success);
}

.vcar-checkbox-label input:checked + .vcar-checkbox-custom::after {
    content: '\f00c'; /* FontAwesome Check Icon */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: white;
    font-size: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.vcar-terms-text a {
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 700;
}

.vcar-terms-text a:hover {
    text-decoration: underline;
}

/* Error state - if user tries to submit without checking */
.vcar-checkbox-label input:invalid + .vcar-checkbox-custom {
    border-color: #ff4d4d;
}









/* --- Modal Info Note --- */
.vcar-modal-info-note {
    background: #f0fdf4; /* Very light green background */
    padding: 20px;
    border-radius: 15px;
    border: 1px solid #dcfce7;
    margin-bottom: 25px;
    font-family: var(--font-family);
    text-align: center; /* Centers all text */
}

.vcar-note-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vcar-mileage-note {
    font-size: 14px;
    color: #666;
}

.vcar-mileage-note strong {
    color: #ff4d4d; /* Mileage warning stays red */
}

/* --- High Visibility Green Offer --- */
.vcar-special-offer {
    background: #22c55e; /* Vibrant Green */
    color: white;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 15px;
    display: inline-block;
    margin: 0 auto;
    font-weight: 500;
}

.vcar-special-offer strong {
    color: #ffffff !important;
    font-weight: 800;
    text-decoration: none; /* Explicitly removed underline */
}

/* Mobile Adjustment */
@media screen and (max-width: 768px) {
    .vcar-modal-info-note {
        padding: 15px;
    }
    .vcar-special-offer {
        font-size: 13px;
        width: 100%;
    }
}
















/* Carousel Logic Styles */
.vcar-main-display {
    position: relative;
    overflow: hidden; /* Hides the images not in view */
}

.vcar-slider-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out; /* Smooth sliding effect */
}

.vcar-slide {
    min-width: 100%; /* Each slide takes full width of container */
    height: 100%;
    background-size: cover;
    background-position: center;
}

/* Navigation Buttons */
.vcar-nav-btn {
    position: absolute;
    top:93%;
    transform: translateY(-50%);
    background: var(--green-success);
    backdrop-filter: blur(5px);
    border: none;
    color: white;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 5;
    transition: background 0.3s;
}

.vcar-nav-btn:hover { background: var(--primary-blue); }
.vcar-nav-btn.prev { left: 20px; }
.vcar-nav-btn.next { right: 20px; }

/* Make dots clickable */
.vcar-dot { cursor: pointer; }


/* --- High-End Mobile Modal Optimization --- */
@media screen and (max-width: 768px) {
     /* Navigation Buttons */
.vcar-nav-btn {
    position: absolute;
    top: 90%;
    transform: translateY(-50%);
    background: var(--green-success);
    backdrop-filter: blur(5px);
    border: none;
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 5;
    transition: background 0.3s;
}

.vcar-slider-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out; /* Smooth sliding effect */
}

}
 





















/* --- Thumbnails Container Updated --- */
.vcar-thumbnails {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    padding: 5px 2px;
    overflow-x: auto; 
    display: none;
    
    /* ADD THESE LINES TO MATCH MAIN IMAGE */
    width: 100%;
    max-width: 800px; /* Match the max-width of your vcar-details-section */
    margin-left: auto;
    margin-right: auto;
    
    /* Ensure it doesn't overflow its specific column in desktop */
    box-sizing: border-box;
}

 
/* Custom Scrollbar for Chrome/Safari */
.vcar-thumbnails::-webkit-scrollbar {
    height: 4px;
}
.vcar-thumbnails::-webkit-scrollbar-thumb {
    background: var(--primary-blue);
    border-radius: 10px;
}

/* --- Individual Thumbnail --- */
.vcar-thumb {
    width: 110px;
    height: 75px;
    flex-shrink: 0; /* Prevents thumbnails from squishing */
    border-radius: 15px;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    position: relative;
    border: 3px solid transparent;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.6; /* Dim inactive images slightly */
}

/* Hover State */
.vcar-thumb:hover {
    opacity: 1;
    transform: translateY(-3px);
}

/* Active State (The one being viewed) */
.vcar-thumb.active {
    opacity: 1;
    border-color: var(--primary-blue);
    box-shadow: 0 8px 20px rgba(0, 102, 178, 0.2);
    transform: scale(1.05);
}

/* --- Mobile Responsiveness --- */
@media (max-width: 768px) {
    .vcar-thumbnails {
        gap: 10px;
        justify-content: flex-start; /* Ensure scrolling starts from left */
    }
    
    .vcar-thumb {
        width: 80px;
        height: 60px;
        border-radius: 10px;
        border-width: 2px;
    }
}




/* --- Summary Rating (Top Card) --- */
.vcar-rating-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.vcar-stars {
    color: #FFD700; /* Gold */
    font-size: 14px;
}

.vcar-rating-text {
    font-size: 14px;
    font-weight: 600;
    color: #666;
}

/* --- Rating Dashboard (Description Area) --- */
.vcar-rating-dashboard {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 40px;
    background: #fcfcfc;
    padding: 30px;
    border-radius: 25px;
    align-items: center;
}

.vcar-score-large {
    text-align: center;
    border-right: 1px solid #eee;
}

.vcar-big-num {
    font-size: 64px;
    font-weight: 800;
    color: var(--dark);
    display: block;
    line-height: 1;
}

.vcar-stars-gold {
    color: #FFD700;
    margin: 10px 0;
    font-size: 18px;
}

.vcar-score-large p {
    font-size: 14px;
    color: #888;
    margin: 0;
}

/* --- Progress Bars --- */
.vcar-rating-bars {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vcar-bar-item {
    display: grid;
    grid-template-columns: 60px 1fr 40px;
    align-items: center;
    gap: 15px;
    font-size: 14px;
    font-weight: 600;
    color: #555;
}

.vcar-bar-bg {
    background: #eee;
    height: 8px;
    border-radius: 10px;
    overflow: hidden;
}

.vcar-bar-fill {
    background: var(--primary-blue);
    height: 100%;
    border-radius: 10px;
}
















/* --- Utility Bar Styles --- */
.vcar-utility-bar {
    display: flex;
    gap: 15px;
    margin-top: 15px;
    margin-bottom: 10px;
    justify-content: flex-end; /* Aligns buttons to the right of the image */
}

.vcar-util-btn {
    background: var(--white);
    border: 1px solid #eee;
    width: 45px;
    height: 45px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    color: #555;
    transition: all 0.3s ease;
    position: relative;
}

.vcar-util-btn:hover {
    background: var(--bc-blue);
    transform: translateY(-2px);
    border-color: var(--primary-blue);
    color: var(--primary-blue);
}

/* Active Heart State */
.vcar-util-btn.liked {
    color: #ff4d4d;
    border-color: #ff4d4d;
}

.vcar-util-btn.liked i {
    font-weight: 900; /* Switches FontAwesome to solid heart */
}

/* Tooltip for Copy */
.vcar-tooltip {
    position: absolute;
    top: -40px;
    background: var(--dark);
    color: white;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 12px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.vcar-tooltip.show {
    opacity: 1;
}

@media (max-width: 768px) {
    .vcar-utility-bar {
        justify-content: center; /* Center on mobile */
    }
}

/* --- Share Modal Specifics --- */
.vcar-share-card {
    max-width: 500px;
    text-align: center;
}

.vcar-url-display {
    display: flex;
    background: #f4f7f9;
    padding: 8px;
    border-radius: 15px;
    border: 1px solid #ddd;
    margin-bottom: 25px;
}

.vcar-url-display input {
    border: none !important;
    background: transparent;
    flex: 1;
    font-size: 14px;
    color: #666;
    padding: 5px 10px;
}

#modalCopyBtn {
    background: var(--primary-blue);
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 500;
    transition: 0.3s;    font-family: var(--font-family);

}

/* Social Row */
.vcar-social-share-row {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.vcar-social-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    font-size: 20px;
    transition: transform 0.3s;
}

.vcar-social-icon:hover { transform: translateY(-5px); }

/* Colors */
.fb { background: #1877F2; }
.wa { background: #25D366; }
.tw { background: #000000; }
.li { background: #0077B5; }






 
/* Status Tag Styling */
.vcar-status-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.vcar-status-tag i { font-size: 8px; }

.vcar-tag-available { background: rgba(76, 175, 80, 0.15); color: var(--green-success); }
.vcar-tag-booked { background: rgba(255, 77, 77, 0.15); color: #ff4d4d; }
.vcar-tag-maintenance { background: rgba(255, 140, 0, 0.15); color: #ff8c00; }

.vcar-btn-book:disabled {
    background: #ccc;
    cursor: not-allowed;
    filter: grayscale(1);
    opacity: 0.7;
    transform: none !important;
}

.disabled-link {
    background: #ddd !important;
    color: #999 !important;
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.6;
}

/* --- Reviews Section Main --- */
.vcar-reviews-section {
    padding: 100px 20px;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: -100px;
    font-family: var(--font-family);
}

.vcar-reviews-container {
    display: flex;
    gap: 60px;
    align-items: stretch;
}

/* --- Left Side: Summary --- */
.vcar-reviews-summary-box { flex: 1.2; }

.vcar-rating-dashboard {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 40px;
    background: #f8fbff;
    padding: 40px;
    border-radius: 40px;
    border: 1px solid #eef2f6;
    margin-top: 30px;
}

.vcar-score-large {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 2px solid #e1e8ed;
    padding-right: 20px;
}

.vcar-big-num {
    font-size: 72px;
    font-weight: 800;
    color: var(--dark);
    line-height: 1;
}

.vcar-stars-gold {
    color: #FFD700;
    margin: 15px 0;
    font-size: 18px;
    letter-spacing: 2px;
}

.vcar-bar-bg {
    background: #e9ecef;
    height: 10px;
    border-radius: 20px;
    overflow: hidden;
}

.vcar-bar-fill {
    background: linear-gradient(90deg, var(--primary-blue), var(--light-blue));
    height: 100%;
    border-radius: 20px;
    transition: width 1.5s cubic-bezier(0.1, 0, 0.2, 1);
}

/* --- Right Side: Add Review Box (Vertical Stacked Fields) --- */
.vcar-add-review-box {
    flex: 0.8;
    background: var(--bc-blue);
    padding: 45px;
    border-radius: 40px;
    color: var(--dark);
     border: 1px solid rgba(0, 102, 178, 0.1);
}

.vcar-review-form-title {
    font-size: 28px;
    margin-bottom: 5px;
    color: var(--dark);
    font-weight: 700;
}

/* KEY CHANGE: Changed grid-template-columns to 1fr to stack 1 by 1 */
.vcar-review-form .vcar-form-grid-2 {
    display: grid;
    grid-template-columns: 1fr; 
    gap: 15px;
    margin-top: 15px; /* Reduced margin for tighter vertical stack */
}

.vcar-review-form input, 
.vcar-review-form textarea {
    background: var(--white);
    border: 1px solid #d1dbe5;
    color: var(--dark);
    padding: 15px;
    border-radius: 15px;
    width: 100%;
    font-family: inherit;
    transition: 0.3s ease;
}

.vcar-review-form textarea {
    margin-top: 15px; /* Adds space between inputs and the big text area */
}

.vcar-review-form input:focus, 
.vcar-review-form textarea:focus {
    border-color: var(--primary-blue);
    outline: none;
    box-shadow: 0 0 0 4px rgba(0, 102, 178, 0.1);
}

/* --- Star Rating Input --- */
.vcar-star-input {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin: 10px 0 20px 0;
    align-items: center;
}

.vcar-star-input input { display: none; }
.vcar-star-input label {
    font-size: 28px;
    color: #cbd5e0;
    cursor: pointer;
    transition: 0.2s;
    padding: 0 4px;
}

.vcar-star-input label:hover,
.vcar-star-input label:hover ~ label,
.vcar-star-input input:checked ~ label {
    color: #FFB800;
}

/* --- Submit Button --- */
.vcar-btn-submit-review {
    background: var(--primary-blue);
    color: white;
    border: none;
    padding: 18px;
    width: 100%;
    border-radius: 50px;
    font-weight: 600;
    font-size: 16px;
    margin-top: 25px;
    cursor: pointer;
    font-family: var(--font-family);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vcar-btn-submit-review:hover {
    background: var(--green-success);
    transform: translateY(-3px);
}
 /* --- Mobile Responsiveness --- */
@media (max-width: 992px) {
    .vcar-reviews-container {
        flex-direction: column; /* Stacks Summary and Form vertically */
        gap: 40px;
    }

    .vcar-reviews-section {
        padding: 60px 15px;
    }

    .vcar-rating-dashboard {
        grid-template-columns: 1fr; /* Stacks the big number over the progress bars */
        gap: 30px;
        padding: 30px 20px;
        text-align: center;
    }

    .vcar-score-large {
        border-right: none;
        border-bottom: 2px solid #e1e8ed;
        padding-right: 0;
        padding-bottom: 20px;
    }

    .vcar-reviews-summary-box, 
    .vcar-add-review-box {
        flex: none;
        width: 100%;
    }

    .vcar-big-num {
        font-size: 60px;
    }
}

@media (max-width: 480px) {
    .vcar-add-review-box {
        padding: 25px; /* Less padding on very small screens */
        border-radius: 25px;
    }

    .vcar-review-form-title {
        font-size: 22px;
    }

    .vcar-btn-submit-review {
        padding: 15px;
        font-size: 15px;
    }
}

/* --- Review Feed Styling --- */
.vcar-review-feed-container {
    margin-top: 30px;
    position: relative;
}

.vcar-review-scroll-area {
    max-height: 350px; /* Kept exactly as you requested */
    overflow-y: auto;
    padding-right: 10px;
    scroll-behavior: smooth;
}

/* Custom scrollbar */
.vcar-review-scroll-area::-webkit-scrollbar {
    width: 5px;
}
.vcar-review-scroll-area::-webkit-scrollbar-thumb {
    background: #e1e8ed;
    border-radius: 10px;
}

/* Individual Review Card */
.vcar-individual-review-card {
    background: #fff;
    border: 1px solid #eef2f6;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 15px;
    transition: transform 0.2s ease;
    /* Extra safety to ensure cards don't grow too large */
    display: flex;
    flex-direction: column;
}

.vcar-individual-review-card:hover {
    border-color: var(--primary-blue);
}

.vcar-review-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

/* Fix for Long Review Text */
.vcar-review-msg {
    font-size: 14px;
    color: #555;
    line-height: 1.5;
    margin: 10px 0;

    /* CLAMP LOGIC: This limits text to 4 lines */
    display: -webkit-box;
 -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;  
    overflow: hidden;
    text-overflow: ellipsis;
    
    /* Ensures words break if they are exceptionally long */
    word-break: break-word; 
}

.vcar-verified-badge {
    display: block;
    font-size: 11px;
    color: var(--green-success);
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 2px;
}

.vcar-rev-stars {
    color: #FFB800;
    font-size: 12px;
    flex-shrink: 0; /* Prevents stars from squishing if name is long */
}

.vcar-review-date {
    font-size: 12px;
    color: #999;
}

/* Scroll Indicator */
.vcar-scroll-indicator {
    text-align: center;
    padding: 10px;
    font-size: 12px;
    color: var(--primary-blue);
    font-weight: 600;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-5px);}
    60% {transform: translateY(-3px);}
}



/* --- TOAST NOTIFICATION --- */
.vcar-toast-container {
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 10000;
    pointer-events: none;
}

.vcar-success-card {
    background: #ffffff;
    min-width: 320px;
    max-width: 400px;
    padding: 20px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    border: 1px solid rgba(0,0,0,0.05);
    transform: translateX(150%);
    transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.26, 1.55);
    position: relative;
    overflow: hidden;
    pointer-events: auto;
}

.vcar-success-card.active { transform: translateX(0); }

/* --- MOBILE RESPONSIVE SETTINGS --- */
@media (max-width: 480px) {
    .vcar-toast-container {
        right: 0;
        left: 0;
        top: 20px; /* Moves it slightly higher on mobile */
        display: flex;
        justify-content: center; /* Centers horizontally */
        padding: 0 20px; /* Prevents card from touching screen edges */
    }

    .vcar-success-card {
        min-width: 0; /* Allows it to shrink below 320px */
        width: 100%;  /* Takes full available width of container */
        padding: 12px 15px; /* Reduced size */
        border-radius: 15px;
        transform: translateY(-150%); /* Slide from top instead of side for better feel */
    }

    .vcar-success-card.active { 
        transform: translateY(0); 
    }

    .vcar-icon-box {
        width: 35px; /* Smaller icon box */
        height: 35px;
    }

    .vcar-msg-title { font-size: 14px; } /* Smaller text */
    .vcar-msg-subtitle { font-size: 12px; }
}

/* --- ELEMENTS --- */
.vcar-icon-box {
    width: 45px;
    height: 45px;
    background: #4CAF50;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.vcar-msg-title { display: block; font-weight: 800; font-size: 16px; color: #1a1a1a; }
.vcar-msg-subtitle { display: block; font-size: 13px; color: #777; font-weight: 500; }

.vcar-progress-bar { position: absolute; bottom: 0; left: 0; height: 4px; width: 100%; background: #eee; }
.vcar-progress-fill { height: 100%; width: 100%; background: #4CAF50; transform-origin: left; transform: scaleX(0); }
.vcar-success-card.active .vcar-progress-fill { animation: progressTimer 4s linear forwards; }

@keyframes progressTimer { from { transform: scaleX(1); } to { transform: scaleX(0); } }


/* --- OVERLAY BACKGROUND --- */
.vcar-review-overlay {
    position: fixed;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%;
    background: rgba(0,0,0,0.7); /* Slightly darker for focus */
    backdrop-filter: blur(8px);
    display: none; /* Controlled by JS */
    justify-content: center;
    align-items: center;
    z-index: 9999;
    padding: 20px;
    box-sizing: border-box;
}

/* --- MODAL CARD --- */
.vcar-review-ack-card {
    position: relative;
    background: #ffffff;
    padding: 50px 40px 40px;
    border-radius: 30px; /* Adjusted for modern look */
    text-align: center;
    max-width: 420px;
    width: 100%;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    animation: modalSlideUp 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-sizing: border-box;
}

/* --- ICON BOX (Unified) --- */
.vcar-ack-icon-circle {
    background: var(--primary-blue, #0066b2);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 0 10px 20px rgba(0, 102, 178, 0.2);
}

/* --- CLOSE BUTTON --- */
.vcar-review-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #f1f3f5;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 20px;
    color: #666;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.vcar-review-modal-close:hover {
    background: #ff4d4d;
    color: white;
    transform: rotate(90deg);
}

/* --- ACTION BUTTON --- */
.vcar-btn-back {
    width: 100%;
    background: var(--primary-blue, #0066b2);
    color: white;
    border: none;
    border-radius: 50px;
    font-weight: 600;    font-family: var(--font-family);

    font-size: 16px;
    padding: 16px 24px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.vcar-btn-back:hover {
    filter: brightness(1.1);
    transform: translateY(-2px);
}

/* --- ANIMATIONS --- */
@keyframes modalSlideUp {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* --- MOBILE RESPONSIVENESS --- */
@media screen and (max-width: 480px) {
    .vcar-review-overlay {
        padding: 15px; /* Less padding on edges */
    }

    .vcar-review-ack-card {
        padding: 40px 20px 30px; /* Smaller internal padding */
        border-radius: 24px;
    }

    .vcar-review-ack-card h2 {
        font-size: 20px; /* Smaller heading */
    }

    .vcar-review-ack-card p {
        font-size: 14px;
        line-height: 1.5;
    }

    .vcar-ack-icon-circle {
        width: 60px;
        height: 60px;
    }

    .vcar-btn-back {
        padding: 14px 20px;
        font-size: 15px;
    }
}



/* Container for input and its error message */
.vcar-input-group, .vcar-star-input-wrapper {
    position: relative;
    margin-bottom: 5px;
}

/* Hidden by default */
.vcar-field-error {
    color: #ff4d4d;
    font-size: 12px;
    font-weight: 600;
    margin-top: 4px;
    display: none;
    padding-left: 5px;
}

/* Style for invalid inputs */
.vcar-review-form input.invalid, 
.vcar-review-form textarea.invalid {
    border-color: #ff4d4d !important;
    background-color: #fff9f9;
}

/* Show error when parent has 'error-active' class */
.error-active .vcar-field-error {
    display: block;
}

/* Shake animation for errors */
@keyframes vcarShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.error-active input, .error-active textarea, .error-active .vcar-star-input {
    animation: vcarShake 0.2s ease-in-out 0s 2;
}











/* --- 1. CORE VARIABLES & OVERLAYS --- */
:root {
    --primary-blue: #0066B2;
    --green-success: #4CAF50;
    --dark: #1a1a1a;
    --white: #ffffff;
    --shadow-lg: 0 20px 40px rgba(0,0,0,0.15);
}

/* Reusing your existing overlay style for the receipt */
#receiptOverlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.75);
    backdrop-filter: blur(8px);
    display: none; /* Controlled by JS */
    justify-content: center;
    align-items: center;
    z-index: 10001;
    padding: 20px;
}

/* --- 2. TOAST NOTIFICATION STYLES --- */
.toast-container {
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 10002;
    pointer-events: none;
}

.success-card {
    background: var(--white);
    min-width: 320px;
    padding: 20px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
     border: 1px solid rgba(0,0,0,0.05);
    transform: translateX(150%);
    transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.26, 1.55);
    position: relative;
    overflow: hidden;
    pointer-events: auto;
}

.success-card.active { transform: translateX(0); }

.icon-box {
    width: 45px;
    height: 45px;
    background: var(--green-success);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.msg-title { display: block; font-weight: 800; font-size: 16px; color: var(--dark); }
.msg-subtitle { display: block; font-size: 13px; color: #777; font-weight: 500; }

.progress-bar { position: absolute; bottom: 0; left: 0; height: 4px; width: 100%; background: #eee; }
.progress-fill { height: 100%; width: 100%; background: var(--green-success); transform-origin: left; transform: scaleX(0); }
.success-card.active .progress-fill { animation: progressTimer 3s linear forwards; }

/* --- 3. RECEIPT CARD STYLES --- */
.receipt-container {
    background: var(--white);
    width: 100%;
    max-width: 420px;
    border-radius: 30px;
    padding: 40px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    animation: modalSlideUp 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.receipt-header { 
    text-align: center; 
    border-bottom: 2px dashed #e0e0e0; 
    padding-bottom: 25px; 
    margin-bottom: 25px; 
}

.receipt-header h2 { margin: 0; color: var(--primary-blue); font-size: 28px; }
.receipt-header p { font-size: 14px; color: #888; margin-top: 5px; }

.receipt-row { 
    display: flex; 
    justify-content: space-between; 
    margin-bottom: 15px; 
    font-size: 15px; 
}

.receipt-row .label { color: #777; font-weight: 500; }
.receipt-row .value { font-weight: 700; color: var(--dark); text-align: right; }

.total-row {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 2px solid #f4f7f6;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.total-price { font-size: 26px; font-weight: 800; color: var(--primary-blue); }

/* --- 4. BUTTONS & UTILS --- */
.btn-outline {
    background: transparent;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    padding: 14px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 700;    font-family: var(--font-family);

    cursor: pointer;
    width: 100%;
    margin-top: 20px;
    transition: all 0.2s;
}

.btn-outline:hover { background: rgba(0, 102, 178, 0.05); transform: translateY(-1px); }

/* --- 5. ANIMATIONS --- */
@keyframes progressTimer { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes modalSlideUp { 
    from { transform: translateY(40px); opacity: 0; } 
    to { transform: translateY(0); opacity: 1; } 
}

/* --- 6. MOBILE RESPONSIVE --- */
@media (max-width: 480px) {
    .toast-container { right: 15px; left: 15px; top: 15px; }
    .success-card { min-width: 0; transform: translateY(-150%); }
    .success-card.active { transform: translateY(0); }
    
    .receipt-container { padding: 30px 20px; border-radius: 25px; margin-top: 40px; }
    .receipt-header h2 { font-size: 24px; }
    .total-price { font-size: 22px; }
}


/* --- Error Toast Styling --- */
.vcar-error-card {
    display: flex;
    visibility: hidden; /* Hidden by default but occupies space in logic */
    opacity: 0;
    pointer-events: none;
    align-items: center;
    gap: 15px;
    background: #fff;
    padding: 15px 25px;
    border-radius: 20px;
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 3000;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    transform: translateX(100px);
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* When the .show class is added via JS */
.vcar-error-card.show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

.vcar-error-card .vcar-icon-box {
    background: #ff4d4d;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.vcar-error-msg-title {
    display: block;
    font-weight: 700;
    color: #d32f2f;
    font-size: 16px;
}

.vcar-error-msg-subtitle {
    display: block;
    font-size: 13px;
    color: #666;
}

/* --- Mobile Responsiveness --- */
@media (max-width: 600px) {
    .vcar-error-card {
        top: 20px;
        right: 20px;
        left: 20px;
        transform: translateY(-100px); /* Slide from top on mobile */
    }
    
    .vcar-error-card.show {
        transform: translateY(0);
    }
}