/*
Theme Name: Hartwell Modified
Version: 1.0
Description: The Default theme for the new Simon Hartwell website.
Theme URI: https://www.simonhartwell.co.uk
*/

/* Big Red Angry Text */
font,center,div[align],p[align],table[align],font[color]{margin:10px;padding:10px;color:#cd0000;background:#eecc11 url(assets/imgs/exlamation.png) repeat 0 0;border:2px dashed #cd0000;font-size:2em;font-weight:700;}

/* Reset browser defaults ------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body{
	background-position: left top;
	background-repeat: repeat-x;
	line-height:1;
	background-color: #f2f2f2;
	background-image: url(images/bg.png);
	color:#333;
}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
table{/*border-collapse:collapse;*/border-spacing:0;}/* tables still need 'cellspacing="0"' in the markup */
html{overflow-y:scroll;}/* preserves space for scrollbar */
a img{border:none;vertical-align:bottom;}

/* HTML 5 elements */
header,nav,section,article,dialog,figure,aside,footer{display:block;margin:0;padding:0;}

/* Base font size 14px / 21px line height, just for starters ---- */
/* See http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/ for font-face usage */
body{font:14px/1.5;}
#page{font-size:1em;line-height:1.5;}
#site-title, .hfeed>h1, .hentry h1{color: #CF2234;
    font-size: 2em;
    line-height: 1em;
    margin: 0 0 1em;}/* 21px equiv. */
h2{margin:0 0 1.166667em;font-size:1.285714em;line-height:1.166667;margin-bottom:1.166667em;}/* 18px equiv. */
h3,.widgettitle{font-size: 1.14286em;
    line-height: 1.3125;
    margin: 0 0 8px;
    text-transform: uppercase;}/* 16px equiv. */
h4,h5,h6{margin:0 0 1.5em;font-size:1em;line-height:1.5em;font-weight:700;}/* 14px equiv. */
.hentry h1,h2,h3,h4,h5,h6,blockquote{}
p,ul,ol,address,cite,blockquote,dd,td,th,label,select,input,textarea{margin:0 0 1.1em;font-size:1em;line-height:1.4em;}
table{margin-bottom:1.5em;font-size:inherit;font-size:100%;}
select,input,textarea{font:99% helvetica,arial,sans-serif;}
.amp{font-size:1.0769em;line-height:1;font-style:italic;font-weight:400;}
address{font-style:normal;}
small,p.small,.hentry footer,.form-allowed-tags{font-size:0.857143em;line-height:1.75em;}
blockquote p{padding:10px;margin:10px;}
blockquote{padding:10px;background:#fff;color:#333;border:1px solid #eee;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;font-style:italic;}

/* Layout ----------------------------------- */
/*
full list of default WP styles at:
http://digwp.com/2010/05/default-wordpress-css-styles-hooks/
*/

body.home,
body.hometest {
	background-image: url(images/bg_home.png) !important;
}
#outer {
	background-image: url(images/outer_bg.png);
	background-repeat: repeat-y;
	background-position: left top;
	width: 978px;
	margin-right: auto;
	margin-left: auto;
	padding-left:30px;
	padding-right:30px;
}
footer{
	background-color:#c8c8cc;
	padding:15px 30px;
	margin-top:30px;
	background-image: url(images/logo_citroen_foot.jpg);
	background-repeat: no-repeat;
	background-position: right 20px;
	/*height:136px;*/
	overflow:hidden;
	color: #696A6D;
}
footer p{
	font-size: 0.8em;
}
footer p.smallprint{
	font-size:10px;
	color:#ffffff;
}
footer h4{
	margin-bottom: 4px !important;
}
footer .col1{
	border-right: 1px solid #9E9EA3;
    float: left;
    margin-right: 20px;
    width: 180px;
	padding-right:20px;
	/*height: 110px;*/
	margin-bottom:15px;
}
footer .col2{
	float:left;
	width:198px;
	border-right: 1px solid #9E9EA3;
	margin-right: 20px;
	/*height: 110px;*/
	margin-bottom:15px;
}
footer .col3{
	float:left;
	width:290px;
	margin-bottom:15px;
}
header{
	height:126px;
	background-color:#ffffff;
	overflow:hidden;
	position:relative;
}
header h1{
	font-size: 18px;
    font-weight: normal;
    margin-left: 356px;
    margin-top: 35px;
	margin-bottom:6px;
}
header h2{
	margin-left: 356px;
    text-transform: uppercase;
}
a{
	color:#c70c39;
	text-decoration:none;
}
a:hover{
	/*text-decoration:underline;*/
}
img.logo{
	float:left;
}
img.citroen{
	position: absolute;
    right: 0;
    top: 0;
}
nav{
	margin-bottom:30px;
}
nav#sidebar{
	margin-bottom:0;
}
body.home nav,
body.hometest nav{
	margin-bottom:0 !important;
}
.menu{
	background-color: #CF2234;
    height: 46px;
    overflow: hidden;
}
.menu ul{
	margin: 0;
    padding: 0 0 0 15px;
}
.menu ul li{
	float: left;
    height: 46px;
    line-height: 46px;
}
.menu ul li a{
	color: #FFFFFF;
    display: block;
    font-size: 17px;
    height: 46px;
    line-height: 46px;
    padding: 0 8px;
    text-decoration: none;
}
.menu ul li a:hover{
	color: #CF2234;
	background-color:#ffffff;
}
div#homepagecontainer{
	margin:0 0 30px 0 !important;
	float:left;
}
.grid{
	float:left;
	margin-right:30px;
	margin-bottom:30px;
}
.four{
	width:222px;
}
.five{
	width:333px;
}
.six{
	width:332px;
}
.eight{
	width:444px;
}
.twelve{
	width:726px;
}
.last{
	margin-right:0 !important;
}
#sidebar{
	width:222px;
	float:left;
}
.clearall{
	float:none;
	clear:both;
}
.thirty{
	height:30px;
}
article.hentry{
	width:726px;
	float:left;
	margin-right:30px;
}
.entry-content{
	padding-left:30px;
}
div.welcome{
	background-color: #000000;
    background-image: url("images/welcome_bg.jpg");
    background-repeat: no-repeat;
    height: 254px;
    overflow: hidden;
    padding-left: 330px;
    padding-right: 36px;
    padding-top: 90px;
    text-align: right;
    width: 360px;
}
div.welcome h2,
div.welcome p{
	color: #FFFFFF;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 11px;
    line-height: 130%;
}

div.twitter h2{
	display:none;
}
div.twitter ul{
	font-size: 0.8em;
    margin: 0 !important;
	padding-right:15px;
}
div.twitter ul li{
	border-bottom: 1px solid #9E9EA3;
    margin-bottom: 7px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 7px;
}
div.twitter .entry-content{
	padding:0 !important;
}
img.alignright{
	float:right;
	margin:0 0 10px 20px;
}
img.alignleft{
	float:left;
	margin:0 20px 10px 0;
}
.rnd {
     -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -khtml-border-radius: 10px;
    border-radius: 10px;
}
form.wpcf7-form input[type="text"],
form.wpcf7-form textarea{
	width:200px;
	padding:4px;
}
form.wpcf7-form label{
	display: inline-block;
    vertical-align: top;
    width: 90px;
}
div#carsearch{
	background-color: #FFFFFF;
	background-image: url(images/search_bg.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
	padding-bottom: 117px;
}
.pad{
	padding:12px;
}
span.submit{
	display:block;
	text-align:right;
	margin-top:15px;
	height:34px;
}
#panelright{
	float:left;
	width:220px;
	height:385px;
}
h1.title{
	color: #CF2234;
    font-size: 2em;
    line-height: 1em;
    margin: 0 0 1em;
	padding-left:30px;
}
div.fade{
	background-image: url(images/fade_bg.png);
	background-repeat: repeat-x;
	background-position: left top;
}
.entry-content ul{
	margin-left: 45px;
}
.entry-content ul li{
	font-size: 0.8em;
    font-weight: bold;
    line-height: 130%;
    list-style-type: disc;
	margin-bottom: 12px;
}
img.thumb{
	float:left;
	margin-right:15px;
}
.details .darkgrey{
	background-color: #443F43;
    color: #FFFFFF;
}
.details .grey{
	background-color: #808080;
    color: #FFFFFF;
}
.details h4{
	font-size: 1.4em;
    margin-bottom: 0;
}
.details p{
	font-size: 0.9em;
    margin-bottom: 4px;
}
.photos ul.thumbs {
	float: left;
    list-style: none outside none;
    margin: 0;
    padding: 0;
    width: 333px;
}
.photos ul.thumbs li{
	border: 5px solid #DDDDDD;
    float: left;
    height: 66px;
    list-style-type: none;
    margin: 0 10px 0 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    text-align: center;
    width: 91px;
}
.photos ul.thumbs li img {
	height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.photos ul.thumbs li:hover {
	border: 5px solid #888;
	-moz-opacity:.75;
	filter:alpha(opacity=75);
	opacity:.75;
}
.photos div img {
	float: left;
    margin-bottom: 20px;
}
.photos img.logo {margin: 0 auto; display:block;}
.photos {
	margin: 0 auto;
    overflow: hidden;
    width: 333px;
}
table.form{
	border-radius: 15px;
	-moz-border-radius: 15px; 
	-webkit-border-radius: 15px;
	background-color: #C8C8CC;
    border:20px solid #C8C8CC;
	margin-left: 40px;
    width: 90%;
}
table.form form.wpcf7-form input, form.wpcf7-form textarea {
    padding: 4px;
    /*width: 200px;*/
}
table.form span.wpcf7-list-item {
    margin-left: 0;
}
table.form label {
    display: block;
    width: auto;
}
table.form input[type="radio"]{
	margin:0;
}
span.wpcf7-list-item-label{
	margin-right:8px;
}
input.buttreset,
input.buttsearch,
button.buttsearch {
	float: left;
    margin-bottom: 0 !important;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
}
.newcar,
.newvan{
	margin-right: 10px;
}
.newcartitle{
	background-color: #808080;
    color: #FFFFFF;
    display: block;
    padding: 4px 6px;
	margin-bottom:0;
	height: 50px;
}
.newcartitle a{
	color:#ffffff;
}
.newcardesc{
	background-color: #999999;
    color: #FFFFFF;
    display: block;
    font-size: 13px;
    font-weight: lighter;
    height: 70px;
    line-height: 120%;
    overflow: hidden;
    padding: 4px 6px;
}
.newcarimg{
	background-color: #FFFFFF;
    display: block;
    height: 160px;
    overflow: hidden;
    width: 222px;
}
a.dload{
	background-image: url("images/pdfdl.png");
    background-position: right center;
    background-repeat: no-repeat;
    display: block;
    float: left;
    height: 32px;
    line-height: 32px;
    padding-right: 38px;
}
.smallprint a{
	color:#fff;
	text-decoration:none;
}
body div.mc-comments-rate{
	display:none;
	visibility:hidden;
}
.mc-comments-landscape .mc-comments-container {
    height: 194px !important;
}
.wpcf7-form-control.robots {
	display:none;
}

/* Search results — header and sort controls */
.results-header {
    overflow: hidden;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
}
h1.results-title {
    float: left;
    margin: 0;
    font-size: 1.4em;
    color: #333;
}
.results-sort {
    float: right;
    font-size: 0.85em;
    line-height: 2em;
    color: #666;
}
.results-sort span {
    margin-right: 6px;
}
.results-sort a,
.results-sort strong {
    margin: 0 4px;
}
.results-sort a {
    color: #CF2234;
    text-decoration: none;
}
.results-sort a:hover {
    text-decoration: underline;
}
.results-sort strong {
    color: #333;
}
p.no-results {
    font-size: 1em;
    color: #666;
}

/* Search results — 2-column grid */
.results-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 30px;
}
.results-grid .result {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 333px;
    background: #fff;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.results-grid span.carimg {
    display: block;
    width: 333px;
    height: 250px;
    overflow: hidden;
    background-color: #ddd;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.results-grid span.carimg img {
    width: 333px;
    height: 250px;
    display: block;
    object-fit: cover;
}
.results-grid .car-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.results-grid h3.cartitle {
    font-size: 1em;
    font-style: normal;
    text-transform: uppercase;
    font-weight: bold;
    color: #222;
    margin: 0;
    padding: 12px 12px 4px;
    line-height: 1.3;
}
.results-grid h3.cartitle a {
    color: #222;
    text-decoration: none;
}
.results-grid h3.cartitle a:hover {
    color: #CF2234;
}
.results-grid p.carderivative {
    font-size: 0.82em;
    color: #666;
    margin: 0;
    padding: 2px 12px 10px;
    line-height: 1.4;
}
.results-grid .carspecs {
    padding: 0 12px 10px;
}
.results-grid .carspec {
    display: inline-block;
    background: #ccc;
    color: #333;
    font-size: 0.75em;
    font-weight: bold;
    padding: 3px 7px;
    border-radius: 3px;
    margin: 0 4px 5px 0;
}
.results-grid .car-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: auto;
    padding: 8px 12px 12px;
    border-top: 1px solid #eee;
}
.results-grid .car-footer .price {
    color: #CF2234;
    font-size: 1.4em;
    font-weight: bold;
}
.results-grid .car-footer .viewcar {
    background: #CF2234;
    color: #fff;
    font-size: 0.85em;
    font-weight: bold;
    padding: 8px 14px;
    text-decoration: none;
    border-radius: 3px;
}
.results-grid .car-footer .viewcar:hover {
    background: #a81c2a;
}

/* Search widget — native select styling (replaces jquery.selectBox) */
#cs-form select {
	display: block;
	width: 100%;
	margin-top: 15px;
	padding: .2em .3em;
	color: #000;
	font-size: 80%;
	line-height: 1.5;
	border: 1px solid #BBB;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background: #E1E1E1;
	background: -webkit-linear-gradient(top, #F8F8F8 1%, #E1E1E1 100%);
	background: linear-gradient(to bottom, #F8F8F8 1%, #E1E1E1 100%);
	-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.75);
	-moz-box-shadow: 0 1px 0 rgba(255,255,255,.75);
	box-shadow: 0 1px 0 rgba(255,255,255,.75);
}

/* ============================================================
   Vehicle detail page (.vl-*)
   ============================================================ */
.vl-back { margin: 0 0 12px; text-align: right; }
.vl-back a { display: inline-block; background: #3C7A4A; color: #fff; font-size: 0.85em; font-weight: 700; text-decoration: none; padding: 0 10px; line-height: 2.2; border-radius: 20px; letter-spacing: 0.3px; transition: background 0.15s, transform 0.15s; }
.vl-back a:hover { background: #a81c2a; transform: translateX(-3px); }
.vl-back-bottom { margin: 20px 0 0; text-align: right; }
.vl-back-bottom a { display: inline-block; background: #3C7A4A; color: #fff; font-size: 0.85em; font-weight: 700; text-decoration: none; padding: 0 10px; line-height: 2.2; border-radius: 20px; letter-spacing: 0.3px; transition: background 0.15s, transform 0.15s; }
.vl-back-bottom a:hover { background: #a81c2a; transform: translateX(-3px); }

.vl * { box-sizing: border-box; }
.vl { font-family: 'Lato', Arial, sans-serif; color: #222; width: 960px; margin: 0 auto; padding: 0 0 60px; }

/* Shared dark header — title bar, key specs heading, section headings */
.vl-titlebar,
.vl-keyspecs-title,
.vl-section-head { background: #3a0e0e; color: #fff; }

/* Title bar */
.vl-titlebar { padding: 18px 24px; border-radius: 6px 6px 0 0; margin: 0 1px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.vl-titlebar h1 { margin: 0; font-size: 1.45em; font-weight: 700; line-height: 1.2; }
.vl-titlebar .vl-deriv { color: #aaa; font-size: 0.9em; margin: 4px 0 0; }
.vl-titlebar .vl-price-tag { font-size: 2.2em; font-weight: 800; color: #ffffff; white-space: nowrap; }

/* Two-col body */
.vl-body { width: 100%; box-sizing: border-box; border: 1px solid #ddd; border-top: none; border-radius: 0 0 6px 6px; overflow: hidden; }
.vl-body::after { content: ''; display: table; clear: both; }
.vl-gallery { float: left; width: 620px !important; max-width: 620px !important; background: #111; overflow: hidden; }
.vl-sidebar { float: right; width: 336px; background: #fff; padding: 20px; border-left: 1px solid #ddd; }

/* Gallery — main image */
.vl-gallery-main { width: 620px; height: 465px; position: relative; cursor: pointer; overflow: hidden; background: #000; }
.vl-gallery-main img { width: 620px !important; height: 465px !important; object-fit: cover; display: block; transition: opacity 0.2s; }
.vl-gallery-main:hover img { opacity: 0.88; }
.vl-gallery-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,0.6)); padding: 20px 14px 10px; display: flex; justify-content: space-between; align-items: flex-end; }
.vl-gallery-count,
.vl-gallery-expand { color: #fff; font-size: 0.8em; }
.vl-gallery-expand { background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); padding: 3px 10px; border-radius: 3px; }

/* Gallery — thumbnails */
.vl-thumbs-wrap { position: relative; background: #111; padding: 4px 28px; }
.vl-thumbs { display: flex; gap: 4px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; }
.vl-thumbs::-webkit-scrollbar { display: none; }
.vl-thumbs img { width: 90px !important; height: 68px !important; object-fit: cover; cursor: pointer; border: 2px solid transparent; flex-shrink: 0; border-radius: 2px; opacity: 0.7; transition: opacity 0.15s, border-color 0.15s; }
.vl-thumbs img.active,
.vl-thumbs img:hover { border-color: #e8c400; opacity: 1; }
.vl-thumbs-prev,
.vl-thumbs-next { position: absolute; top: 0; bottom: 0; width: 26px; background: rgba(0,0,0,0.5); border: none; color: #fff; font-size: 1.2em; cursor: pointer; padding: 0; z-index: 2; transition: background 0.15s; }
.vl-thumbs-prev:hover,
.vl-thumbs-next:hover { background: rgba(0,0,0,0.8); }
.vl-thumbs-prev { left: 0; }
.vl-thumbs-next { right: 0; }

/* Sidebar */
.vl-cta { background: #c00; color: #fff; text-align: center; border-radius: 4px; padding: 14px; margin-bottom: 16px; }
.vl-cta .vl-cta-phone { font-size: 1.5em; font-weight: 800; display: block; }
.vl-cta .vl-cta-label { font-size: 0.8em; opacity: 0.85; margin-top: 2px; display: block; }
.vl-cta-enquire { display: block; margin-top: 10px; background: #fff; color: #c00; font-weight: 700; padding: 10px; border-radius: 4px; text-align: center; text-decoration: none; font-size: 0.95em; }
.vl-cta-enquire:hover { background: #f9e8e8; }
.vl-keyspecs { border: 1px solid #eee; border-radius: 4px; overflow: hidden; }
.vl-specs-more { display: block; text-align: center; padding: 10px; font-size: 0.8em; font-weight: 700; color: #c00; text-decoration: none; border-top: 1px solid #eee; }
.vl-specs-more:hover { background: #f9f9f9; }
.vl-keyspecs-title { font-size: 0.75em; text-transform: uppercase; letter-spacing: 1px; padding: 8px 12px; font-weight: 700; }
.vl-ks-row { display: flex; justify-content: space-between; align-items: center; padding: 7px 12px; border-bottom: 1px solid #f0f0f0; font-size: 0.85em; }
.vl-ks-row:last-child { border-bottom: none; }
.vl-ks-row span:first-child { color: #777; }
.vl-ks-row span:last-child { font-weight: 600; text-align: right; }

/* Lower sections */
.vl-lower { margin-top: 24px; }
.vl-section { background: #fff; border: 1px solid #ddd; border-radius: 6px; overflow: hidden; margin-bottom: 16px; }
.vl-section-head { padding: 12px 18px; font-size: 0.9em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.vl-section-body { padding: 18px; line-height: 1.75; font-size: 0.95em; }
.vl-grabber { float: left; width: 620px; padding: 16px 20px; background: #fff; border-top: 1px solid #ddd; }
.vl-attention-text { font-size: 1.2em; font-weight: 600; font-style: italic; color: #333; border-left: 4px solid #e8c400; padding-left: 14px; margin: 0; }
.vl-highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0; margin: 0; list-style: none; }
.vl-highlights-grid li { display: flex; align-items: flex-start; gap: 6px; font-size: 0.88em; }
.vl-highlights-grid li::before { content: '✓'; color: #2e7d32; font-weight: 800; flex-shrink: 0; }

/* Features accordion */
.vl-feat-block { border-bottom: 1px solid #eee; }
.vl-feat-block:last-child { border-bottom: none; }
.vl-feat-toggle { width: 100%; text-align: left; background: none; border: none; padding: 12px 18px; font-size: 0.9em; font-weight: 700; color: #222; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.vl-feat-toggle:hover { background: #f9f9f9; }
.vl-feat-toggle::after { content: '+'; font-size: 1.2em; color: #c00; }
.vl-feat-toggle.open::after { content: '−'; }
.vl-feat-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.2s ease; }
.vl-feat-list.open { max-height: 1200px; padding: 0 18px 14px; }
.vl-spec-group { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.2s ease; }
.vl-spec-group.open { max-height: 800px; padding: 0 18px 14px; }
.vl-feat-list li { font-size: 0.85em; padding: 3px 0 3px 12px; position: relative; color: #444; }
.vl-feat-list li::before { content: '•'; position: absolute; left: 0; color: #c00; }

/* Modal lightbox */
.vl-modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.94); z-index: 99999; align-items: center; justify-content: center; }
.vl-modal.open { display: flex; }
.vl-modal-inner { position: relative; }
.vl-modal-inner img { max-width: 90vw; max-height: 85vh; object-fit: contain; display: block; border-radius: 4px; }
.vl-modal-close { position: absolute; top: -38px; right: 0; color: #fff; font-size: 1.6em; cursor: pointer; background: none; border: none; padding: 0; opacity: 0.8; }
.vl-modal-close:hover { opacity: 1; }
.vl-modal-prev,
.vl-modal-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.1); color: #fff; border: 1px solid rgba(255,255,255,0.2); font-size: 1.6em; padding: 12px 16px; cursor: pointer; border-radius: 3px; transition: background 0.15s; }
.vl-modal-prev:hover,
.vl-modal-next:hover { background: rgba(255,255,255,0.25); }
.vl-modal-prev { left: -66px; }
.vl-modal-next { right: -66px; }
.vl-modal-counter { text-align: center; color: #888; font-size: 0.82em; margin-top: 8px; }

/* Used Car Promise panel */
.vl-promise { background: #f9f9f9; border: 2px solid #CF2234; border-radius: 6px; overflow: hidden; margin-top: 24px; }
.vl-promise-head { background: #CF2234; color: #fff; padding: 14px 20px; font-size: 1em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.vl-promise-list { list-style: none; margin: 0; padding: 18px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 30px; }
.vl-promise-list li { font-size: 0.95em; padding-left: 26px; position: relative; color: #333; line-height: 1.4; font-weight: 600; }
.vl-promise-list li::before { content: '\2713'; position: absolute; left: 0; color: #CF2234; font-weight: 900; font-size: 1.2em; line-height: 1.2; }

/* Reserved badge — results grid */
.reserved-badge { background: #e8a800; color: #fff; font-size: 0.75em; padding: 2px 6px; border-radius: 3px; vertical-align: middle; margin-left: 4px; }

/* Reserved label — detail page price tag */
.vl-reserved-label { font-size: 0.7em; font-weight: normal; letter-spacing: 0.05em; text-transform: uppercase; color: #e8a800; }

/* Sold price tag */
.vl-price-sold { }

/* Sold CTA */
.vl-cta-sold { background: #555; }
.vl-cta-sold-label { display: block; font-size: 1em; font-weight: bold; margin-bottom: 10px; }

/* 404 not found */
.vl-not-found-body { border: 1px solid #ddd; border-top: none; border-radius: 0 0 6px 6px; background: #fff; display: flex; align-items: flex-start; }
.vl-not-found-msg { flex: 1; padding: 24px; }
.vl-not-found-msg p { margin-bottom: 16px; color: #444; line-height: 1.6; }
.vl-not-found-browse { display: inline-block; background: #3C7A4A; color: #fff; font-size: 0.9em; font-weight: 700; text-decoration: none; padding: 8px 18px; border-radius: 20px; margin-top: 8px; }
.vl-not-found-browse:hover { background: #a81c2a; }