.cnev-vd-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:0;
    box-sizing:border-box;
    align-items:stretch;
}
.cnev-vd-grid *,
.cnev-vd-grid *::before,
.cnev-vd-grid *::after{box-sizing:border-box}
.cnev-vd-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    width:100%;
    max-width:100%;
    overflow:hidden;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:6px;
    margin:0;
    padding:0;
}
.cnev-vd-image{
    display:block;
    width:100%;
    max-width:100%;
    overflow:hidden;
    line-height:0;
    margin:0;
    padding:0;
}
.cnev-vd-image img{
    display:block;
    width:100%;
    max-width:100%;
    height:240px;
    object-fit:cover;
    margin:0;
    padding:0;
}
.cnev-vd-content{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    flex:1 1 auto;
    width:100%;
    min-width:0;
    padding:18px;
    margin:0;
}
.cnev-vd-title{
    display:block;
    width:100%;
    margin:0 0 10px;
    padding:0;
    font-weight:600;
    text-decoration:none;
    line-height:1.4;
    color:inherit;
}
.cnev-vd-price{
    display:block;
    width:100%;
    margin:0 0 14px;
    padding:0;
    font-weight:700;
    line-height:1.4;
    color:inherit;
}
.cnev-vd-button{
    display:block;
    width:100%;
    margin:0;
    padding:10px 16px;
    text-align:center;
    text-decoration:none;
    background:#222;
    color:#fff;
    border:1px solid transparent;
    border-radius:4px;
    line-height:1.4;
}
.cnev-vd-button:hover{color:#fff}
.cnev-vd-empty{padding:20px}
@media(max-width:1024px){
    .cnev-vd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
    .cnev-vd-grid{grid-template-columns:1fr}
}

/* 3.1.4: fixed title rows keep price and buttons aligned across cards. */
.cnev-vd-title-lines-1 .cnev-vd-title{
    height:1.4em;
    min-height:1.4em;
    max-height:1.4em;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    line-clamp:1;
}
.cnev-vd-title-lines-2 .cnev-vd-title{
    height:2.8em;
    min-height:2.8em;
    max-height:2.8em;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
}
.cnev-vd-content .cnev-vd-price{
    flex:0 0 auto;
}
.cnev-vd-content .cnev-vd-button{
    margin-top:auto;
    flex:0 0 auto;
}


/* 3.1.5: isolated polish and alignment. */
.cnev-vd-card{height:100%;}
.cnev-vd-image img{transition:transform .25s ease;}
.cnev-vd-content{min-height:0;}
.cnev-vd-title{flex:0 0 auto;}
.cnev-vd-price{flex:0 0 auto;}
.cnev-vd-button{margin-top:auto;}
@media(max-width:767px){
    .cnev-vd-grid{width:100%;}
    .cnev-vd-card{min-width:0;}
}

/* 3.4.0: hard-isolated carousel lane and stable arrow controls. */
.cnev-vd-carousel{
    position:relative;
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:0;
    box-sizing:border-box;
    overflow:hidden!important;
    direction:ltr;
    isolation:isolate;
}
.cnev-vd-carousel-viewport{
    position:relative;
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    height:0;
    margin:0;
    padding:0;
    box-sizing:border-box;
    overflow:hidden!important;
    clip-path:inset(0 var(--cnev-vd-side-space,52px) 0 var(--cnev-vd-side-space,52px));
    -webkit-clip-path:inset(0 var(--cnev-vd-side-space,52px) 0 var(--cnev-vd-side-space,52px));
    direction:ltr;
}
.cnev-vd-carousel-track{
    position:absolute;
    top:0;
    left:var(--cnev-vd-side-space,52px);
    display:flex;
    flex-flow:row nowrap;
    align-items:stretch;
    justify-content:flex-start;
    gap:var(--cnev-vd-gap,20px);
    width:max-content;
    max-width:none;
    min-width:0;
    margin:0;
    padding:0;
    box-sizing:border-box;
    will-change:transform;
    direction:ltr;
}
.cnev-vd-carousel-track .cnev-vd-card{
    flex:0 0 var(--cnev-vd-card-width,300px);
    width:var(--cnev-vd-card-width,300px);
    max-width:var(--cnev-vd-card-width,300px);
    min-width:0;
}
.cnev-vd-carousel .cnev-vd-card{height:auto}
.cnev-vd-carousel-controls{
    position:absolute;
    inset:0;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    height:100%;
    margin:0;
    padding:0 7px;
    box-sizing:border-box;
    pointer-events:none;
}
.cnev-vd-carousel-arrow{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:100001;
    flex:0 0 auto;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    width:42px;
    height:42px;
    pointer-events:auto!important;
    touch-action:manipulation;
    border:1px solid #ddd;
    border-radius:50%;
    background:#fff;
    color:#222;
    line-height:1!important;
    font-size:24px!important;
    font-family:Arial,sans-serif;
    cursor:pointer;
    box-shadow:0 1px 4px rgba(0,0,0,.08);
    appearance:none;
    -webkit-appearance:none;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
    box-sizing:border-box!important;
}
.cnev-vd-carousel-arrow span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;transform:translateY(-1px)}
.cnev-vd-carousel-arrow:hover{background:#222;color:#fff;border-color:#222;box-shadow:0 4px 12px rgba(0,0,0,.16);transform:scale(1.06)!important}
.cnev-vd-carousel-arrow:active{transform:scale(.96)!important}
.cnev-vd-carousel-arrow:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.cnev-vd-carousel-arrow:disabled{opacity:.35;cursor:default;pointer-events:none}
.cnev-vd-carousel-dots{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;min-height:8px}
.cnev-vd-carousel-dot{display:block;width:8px;height:8px;padding:0;margin:0;border:0;border-radius:50%;background:#ccc;cursor:pointer;appearance:none}
.cnev-vd-carousel-dot.is-active{transform:scale(1.2)}
@media(max-width:1024px){
 .cnev-vd-carousel-arrow{width:38px;height:38px;font-size:22px!important}
 .cnev-vd-carousel-controls{padding-left:6px;padding-right:6px}
}
@media(max-width:767px){
 .cnev-vd-carousel-arrow{width:36px;height:36px;font-size:20px!important}
 .cnev-vd-carousel-controls{padding-left:6px;padding-right:6px}
}

/* 3.5.0: module heading and richer style hooks. */
.cnev-vd-module{width:100%;max-width:100%;min-width:0;}
.cnev-vd-module-header{width:100%;max-width:100%;min-width:0;margin:0 0 24px;padding:0;}
.cnev-vd-module-title{margin:0;padding:0;font-size:28px;font-weight:700;line-height:1.25;color:#222;}
.cnev-vd-module-subtitle{margin:7px 0 0;padding:0;font-size:15px;line-height:1.6;color:#777;}
.cnev-vd-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.cnev-vd-image{position:relative;}
.cnev-vd-image::after{content:"";position:absolute;inset:0;background:transparent;pointer-events:none;transition:background-color .22s ease;}
.cnev-vd-image img{transition:transform .28s ease;}

/* 3.6.0: richer button/card interaction polish. */
.cnev-vd-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.cnev-vd-image img{transition:transform .28s ease;}
.cnev-vd-button{
    transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
    border-style:solid;
}
.cnev-vd-button:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
.cnev-vd-carousel-arrow{border-style:solid;}


/* 3.9.0: View All Products and advanced vehicle module polish. */
.cnev-vd-module-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.cnev-vd-module-heading{min-width:0;flex:1 1 auto;}
.cnev-vd-view-all{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px;padding:9px 16px;border:1px solid #222;border-radius:4px;background:#222;color:#fff;text-decoration:none;line-height:1.2;white-space:nowrap;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.cnev-vd-view-all:hover{background:#fff;color:#222;border-color:#222;transform:translateY(-1px);}
.cnev-vd-badge{position:absolute;top:12px;left:12px;z-index:4;display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:4px;background:#222;color:#fff;font-size:12px;font-weight:700;line-height:1;letter-spacing:.02em;pointer-events:none;}
.cnev-vd-card{position:relative;}
@media(max-width:767px){.cnev-vd-module-header{gap:12px;}.cnev-vd-view-all{padding:8px 12px;min-height:36px;font-size:13px;}.cnev-vd-module-title{font-size:24px;}}
/* 3.10.0: View All below product display + advanced vehicle information. */
.cnev-vd-view-all-wrap{display:block;width:100%;max-width:100%;clear:both;text-align:center;margin-top:24px;}
.cnev-vd-view-all-wrap .cnev-vd-view-all{display:inline-flex;}
.cnev-vd-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.38);color:#fff;font-weight:600;opacity:0;transition:opacity .22s ease;pointer-events:none;}
.cnev-vd-image:hover .cnev-vd-image-overlay{opacity:1;}
.cnev-vd-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;width:100%;margin:0 0 14px;padding:0;}
.cnev-vd-spec{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:12px;line-height:1.35;}
.cnev-vd-spec-label{opacity:.65;white-space:nowrap;}
.cnev-vd-spec-value{font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:767px){.cnev-vd-view-all-wrap{margin-top:18px}.cnev-vd-specs{gap:7px 10px}.cnev-vd-spec{font-size:11px}}


/* 3.11.0: advanced vehicle information system. */
.cnev-vd-specs{align-items:stretch;}
.cnev-vd-specs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.cnev-vd-specs-list{display:flex;flex-direction:column;}
.cnev-vd-specs-list .cnev-vd-spec{width:100%;}
.cnev-vd-spec{position:relative;box-sizing:border-box;border:1px solid transparent;min-height:28px;}
.cnev-vd-specs-sep-line .cnev-vd-spec + .cnev-vd-spec{border-top:1px solid currentColor;}
.cnev-vd-specs-sep-dashed .cnev-vd-spec + .cnev-vd-spec{border-top:1px dashed currentColor;}
.cnev-vd-spec-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;width:16px;height:16px;font-size:14px;line-height:1;opacity:.78;}
.cnev-vd-spec-icon::before{display:block;line-height:1;}
.cnev-vd-icon-calendar::before{content:'◷';}
.cnev-vd-icon-gauge::before{content:'◔';}
.cnev-vd-icon-fuel::before{content:'⛽';font-size:.9em;}
.cnev-vd-icon-gear::before{content:'⚙';}
.cnev-vd-icon-car::before{content:'▰';}
.cnev-vd-icon-engine::before{content:'◆';}
.cnev-vd-icon-drive::before{content:'↔';font-weight:700;}
.cnev-vd-icon-users::before{content:'♟';}
.cnev-vd-icon-palette::before{content:'●';}
.cnev-vd-icon-brand::before{content:'◉';font-weight:700;}
.cnev-vd-icon-model::before{content:'▱';font-weight:700;}
.cnev-vd-icon-history::before{content:'↺';font-weight:700;}
.cnev-vd-icon-owner::before{content:'♙';font-weight:700;}
.cnev-vd-icon-vin::before{content:'▤';font-weight:700;}
.cnev-vd-icon-location::before{content:'⌖';}
.cnev-vd-icon-stock::before{content:'✓';font-weight:700;}
.cnev-vd-icon-condition::before{content:'★';}
.cnev-vd-spec-label{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.cnev-vd-spec-value{min-width:0;}
.cnev-vd-specs-list .cnev-vd-spec{justify-content:flex-start;}
.cnev-vd-specs-list .cnev-vd-spec-value{margin-left:auto;}
@media(max-width:767px){
 .cnev-vd-specs-grid{grid-template-columns:1fr;}
 .cnev-vd-spec{font-size:11px;}
}

/* 3.12.0 */
.cnev-vd-spec{background:transparent;transition:all .18s ease;}
.cnev-vd-spec-value{overflow-wrap:anywhere;}
.cnev-vd-specs-list .cnev-vd-spec{display:grid;grid-template-columns:auto 1fr auto;align-items:center;}
.cnev-vd-specs-list .cnev-vd-spec-icon{grid-column:1;}
.cnev-vd-specs-list .cnev-vd-spec-label{grid-column:2;}
.cnev-vd-specs-list .cnev-vd-spec-value{grid-column:3;margin-left:0;}
.cnev-vd-spec-value-left .cnev-vd-spec-value{text-align:left;}
.cnev-vd-spec-value-center .cnev-vd-spec-value{text-align:center;}
.cnev-vd-spec-value-right .cnev-vd-spec-value{text-align:right;}
.cnev-vd-spec-cols-1 .cnev-vd-specs-grid{grid-template-columns:1fr;}
.cnev-vd-spec-cols-2 .cnev-vd-specs-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.cnev-vd-spec-cols-3 .cnev-vd-specs-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1024px){.cnev-vd-spec-cols-3 .cnev-vd-specs-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.cnev-vd-specs-grid,.cnev-vd-spec-cols-2 .cnev-vd-specs-grid,.cnev-vd-spec-cols-3 .cnev-vd-specs-grid{grid-template-columns:1fr;}.cnev-vd-specs-list .cnev-vd-spec{grid-template-columns:auto 1fr;}.cnev-vd-specs-list .cnev-vd-spec-value{grid-column:2;text-align:right;margin-left:auto;}}

/* 3.13.0: vehicle specification visibility, hierarchy and responsive layout. */
.cnev-vd-spec-block{display:block;width:100%;min-width:0;margin:0 0 14px;padding:0;clear:both;}
.cnev-vd-spec-heading{display:block;width:100%;margin:0 0 10px;padding:0;font-size:13px;font-weight:700;line-height:1.35;color:#222;}
.cnev-vd-specs{display:grid!important;width:100%;max-width:100%;min-width:0;align-items:stretch;}
.cnev-vd-specs-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.cnev-vd-specs-list{grid-template-columns:1fr;}
.cnev-vd-spec{width:100%;min-width:0;overflow:hidden;}
.cnev-vd-spec-label,.cnev-vd-spec-value{min-width:0;}
.cnev-vd-spec-value{overflow-wrap:anywhere;word-break:break-word;}
.cnev-vd-spec[data-empty="1"]{opacity:.65;}
.cnev-vd-spec-heading + .cnev-vd-specs[data-cnev-spec-count="0"]:before{content:'Vehicle specification data is not available for this listing.';display:block;grid-column:1/-1;padding:8px 0;font-size:12px;line-height:1.5;opacity:.6;}
@media(max-width:1024px){
 .cnev-vd-specs-grid.cnev-vd-spec-cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
 .cnev-vd-spec-block{margin-bottom:12px;}
 .cnev-vd-spec-heading{font-size:12px;margin-bottom:8px;}
 .cnev-vd-specs-grid,.cnev-vd-specs-list{grid-template-columns:1fr!important;}
 .cnev-vd-spec{min-height:28px;}
}


/* 3.15.0: advanced vehicle specification presentation. */
.cnev-vd-spec-block{position:relative;display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
.cnev-vd-specs{position:relative;}
.cnev-vd-spec-style-cards .cnev-vd-spec{
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:6px;
    padding:10px 12px;
}
.cnev-vd-spec-style-cards .cnev-vd-spec:hover{border-color:#d0d0d0;}
.cnev-vd-spec-style-rows .cnev-vd-spec{
    background:transparent;
    border:0;
    border-bottom:1px solid #e9e9e9;
    border-radius:0;
    padding:9px 0;
}
.cnev-vd-spec-style-rows .cnev-vd-spec:last-child{border-bottom:0;}
.cnev-vd-spec-style-clean .cnev-vd-spec{background:transparent;}
.cnev-vd-spec-icon{color:inherit;}
.cnev-vd-specs[data-cnev-spec-count="0"]{display:block!important;}
.cnev-vd-specs[data-cnev-spec-count="0"]:before{
    content:'No vehicle specification data found';
    display:block;
    width:100%;
    padding:8px 0;
    font-size:12px;
    line-height:1.5;
    opacity:.58;
}
.cnev-vd-spec-empty .cnev-vd-spec-value{font-weight:400;opacity:.55;}
.cnev-vd-spec-value{font-variant-numeric:tabular-nums;}
.cnev-vd-spec[data-field="vin"] .cnev-vd-spec-value{text-transform:uppercase;letter-spacing:.02em;}
.cnev-vd-spec[data-field="stock"] .cnev-vd-spec-value,
.cnev-vd-spec[data-field="condition"] .cnev-vd-spec-value{font-weight:700;}
@media(max-width:767px){
    .cnev-vd-spec-style-cards .cnev-vd-spec{padding:9px 10px;}
    .cnev-vd-spec-style-rows .cnev-vd-spec{padding:8px 0;}
}

/* 3.16.0: vehicle specification fields are intentionally one item per row.
   This is isolated to CNEV specification markup and cannot affect Motors modules. */
.cnev-vd-specs-grid.cnev-vd-spec-cols-1{grid-template-columns:1fr!important;}
.cnev-vd-specs-grid.cnev-vd-spec-cols-2,
.cnev-vd-specs-grid.cnev-vd-spec-cols-3{grid-template-columns:1fr!important;}
.cnev-vd-spec{width:100%;min-width:0;}
.cnev-vd-spec-label,.cnev-vd-spec-value{min-width:0;}
.cnev-vd-spec-value{overflow-wrap:anywhere;word-break:normal;}


/* 3.17.0: real mobile swipe support.
 * Horizontal gestures belong to the carousel; vertical gestures remain
 * available for normal page scrolling.
 */
.cnev-vd-carousel-viewport{
    touch-action:pan-y;
    -webkit-user-select:none;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
}
.cnev-vd-carousel-viewport .cnev-vd-card,
.cnev-vd-carousel-viewport .cnev-vd-image{
    touch-action:pan-y;
}
@media(max-width:767px){
    .cnev-vd-carousel-viewport{
        cursor:grab;
    }
    .cnev-vd-carousel-viewport:active{
        cursor:grabbing;
    }
}


/* 3.17.3: keep vehicle images slightly smaller with breathing room in every card.
 * Scoped to this plugin so Motors images/templates are untouched. */
.cnev-vd-card .cnev-vd-image{
    padding:12px 14px;
    background:#fff;
}
.cnev-vd-card .cnev-vd-image img{
    width:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    box-sizing:border-box;
}
@media(max-width:767px){
    .cnev-vd-card .cnev-vd-image{padding:10px 12px;}
}
