
.cf-integration-main{
 --orange:#f1a300; --orange2:#ffb414; --ink:#232323; --muted:#6d6d6d; --line:#e5e5e5;
 --paper:#fff; --soft:#f7f7f4; --dark:#2b2b2b; --green:#2a8f5b; --red:#b62020;
}
.cf-integration-main *{box-sizing:border-box} .cf-integration-main{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
.cf-integration-main a{text-decoration:none;color:inherit}
.cf-integration-main .site{max-width:1180px;margin:auto;background:#fff}
.cf-integration-main .header{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:26px;align-items:center;padding:22px 24px}
.cf-integration-main .logo img{max-width:340px;width:100%;height:auto}
.cf-integration-main .visit h3{margin:0 0 6px;color:var(--orange);font-family:Georgia,serif;font-size:24px}
.cf-integration-main .visit p{margin:0;line-height:1.45;color:#444}
.cf-integration-main .contactbox{display:grid;gap:10px}
.cf-integration-main .contactitem{display:flex;align-items:center;background:#f7f7f7;border:1px solid #ddd;font-size:18px}
.cf-integration-main .contactitem b{background:var(--orange);color:#fff;padding:13px 15px;margin-right:12px}
.cf-integration-main .nav{display:flex;flex-wrap:wrap;background:#333;border-top:5px solid var(--orange)}
.cf-integration-main .nav a{color:#fff;padding:14px 16px;font-weight:700;font-size:14px}
.cf-integration-main .nav a.active,.cf-integration-main .nav a:hover{background:var(--orange)}
.cf-integration-main .hero{height:150px;background:linear-gradient(120deg,#555,#222);display:flex;align-items:flex-end;padding:24px;color:#fff}
.cf-integration-main .hero h1{margin:0;font:700 34px Georgia,serif}
.cf-integration-main .main{padding:30px 24px 54px}
.cf-integration-main .intro{max-width:850px;margin-bottom:28px}
.cf-integration-main .intro h2{font:700 30px Georgia,serif;color:var(--orange);margin:0 0 10px}
.cf-integration-main .filterbar{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;background:#f3f3f3;padding:16px;border:1px solid #ddd;margin-bottom:24px}
.cf-integration-main .filterbar select,.cf-integration-main .filterbar button{width:100%;padding:11px;border:1px solid #ccc;background:#fff}
.cf-integration-main .filterbar button{background:var(--orange);border-color:var(--orange);font-weight:700}
.cf-integration-main .badge{display:inline-block;padding:6px 9px;font-size:12px;font-weight:800;background:var(--orange);color:#fff}
.cf-integration-main .price{font-size:28px;font-weight:800}
.cf-integration-main .was{color:#999;text-decoration:line-through;margin-left:8px}.cf-integration-main .save{color:var(--green);font-weight:800}
.cf-integration-main .photo-count{font-size:13px;color:#666}
.cf-integration-main .btn{display:inline-block;padding:12px 18px;background:var(--orange);color:#111;font-weight:800}
.cf-integration-main .footer{background:#292929;color:#ddd;border-top:7px solid var(--orange);padding:30px 24px}
.cf-integration-main .footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.cf-integration-main .footer a{color:#ddd}.cf-integration-main .footer p{margin:5px 0}
.cf-integration-main .option-note{background:#fff5d8;border-left:4px solid var(--orange);padding:12px 14px;margin:0 0 22px}
@media(max-width:850px){
 .cf-integration-main .header{grid-template-columns:1fr}.cf-integration-main .visit{display:none}.cf-integration-main .nav{display:grid;grid-template-columns:1fr 1fr}
 .cf-integration-main .filterbar{grid-template-columns:1fr 1fr}.cf-integration-main .footer-grid{grid-template-columns:1fr}.cf-integration-main .hero{height:110px}
}
@media(max-width:520px){.cf-integration-main .filterbar{grid-template-columns:1fr}.cf-integration-main .nav{grid-template-columns:1fr}.cf-integration-main .main{padding:22px 14px}.cf-integration-main .header{padding:16px}}

.cf-integration-main .listA{display:grid;gap:18px}.cf-integration-main .listA-card{display:grid;grid-template-columns:340px 1fr;border:1px solid var(--line);background:#fff}
.cf-integration-main .listA-img{position:relative;min-height:245px;background:#eee;overflow:hidden}.cf-integration-main .listA-img img{width:100%;height:100%;object-fit:cover}
.cf-integration-main .listA-img button{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#0009;color:white;width:38px;height:48px;font-size:28px}
.cf-integration-main .listA-img [data-prev]{left:8px}.cf-integration-main .listA-img [data-next]{right:8px}.cf-integration-main .listA-img .count{position:absolute;bottom:8px;right:8px;background:#0009;color:#fff;padding:5px 8px}
.cf-integration-main .listA-body{padding:20px}.cf-integration-main .listA-body h3{font-size:25px;margin:10px 0}.cf-integration-main .listA-body ul{display:flex;gap:20px;padding-left:18px}.cf-integration-main .listA-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
@media(max-width:760px){.cf-integration-main .listA-card{grid-template-columns:1fr}.cf-integration-main .listA-img{min-height:220px}.cf-integration-main .listA-body ul{display:block}}

.cf-integration-main .gridB{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cf-integration-main .gridB-card{border:1px solid var(--line);background:#fff;box-shadow:0 5px 18px #0000000b}
.cf-integration-main .gridB-img{height:300px;position:relative;overflow:hidden;background:#eee}.cf-integration-main .gridB-img img{width:100%;height:100%;object-fit:cover}.cf-integration-main .gridB-img .badge{position:absolute;left:12px;top:12px}.cf-integration-main .gridB-img .pc{position:absolute;right:12px;bottom:12px;background:#0009;color:#fff;padding:6px 9px}
.cf-integration-main .gridB-body{padding:20px}.cf-integration-main .gridB-body h3{font:700 26px Georgia,serif;margin:0 0 12px}.cf-integration-main .chips{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.cf-integration-main .chips span{background:#f1f1f1;padding:7px 9px;font-size:13px}
@media(max-width:760px){.cf-integration-main .gridB{grid-template-columns:1fr}.cf-integration-main .gridB-img{height:250px}}

.cf-integration-main .searchC{background:#242424;color:white;padding:24px;margin-bottom:26px}.cf-integration-main .searchC h2{margin:0 0 14px;font-size:26px}.cf-integration-main .searchC .filterbar{margin:0;background:transparent;border:0;padding:0}
.cf-integration-main .gridC{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cf-integration-main .gridC-card{border:1px solid #ddd;background:#fff}.cf-integration-main .gridC-img{height:215px;position:relative;overflow:hidden}.cf-integration-main .gridC-img img{width:100%;height:100%;object-fit:cover}.cf-integration-main .gridC-img .badge{position:absolute;left:10px;top:10px}
.cf-integration-main .gridC-body{padding:18px}.cf-integration-main .gridC-body .mini{font-size:11px;letter-spacing:.14em;color:#777;font-weight:800}.cf-integration-main .gridC-body h3{font-size:24px;margin:6px 0 10px}.cf-integration-main .facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0}.cf-integration-main .facts span{font-size:13px;border-bottom:1px solid #eee;padding-bottom:5px}.cf-integration-main .linkarrow{font-weight:800;color:#c87800}
@media(max-width:900px){.cf-integration-main .gridC{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cf-integration-main .gridC{grid-template-columns:1fr}}

.cf-integration-main .ad-top{display:grid;grid-template-columns:1.45fr .8fr;gap:28px}.cf-integration-main .ad-mainimg{height:500px;background:#eee}.cf-integration-main .ad-mainimg img{width:100%;height:100%;object-fit:cover}.cf-integration-main .thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:7px}.cf-integration-main .thumbs img{width:100%;height:75px;object-fit:cover;border:2px solid transparent}.cf-integration-main .summary{padding:12px 0}.cf-integration-main .summary h1{font:700 38px Georgia,serif;margin:8px 0 14px}.cf-integration-main .summary .price{font-size:38px}.cf-integration-main .keyfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0}.cf-integration-main .keyfacts div{background:#f4f4f4;padding:16px;text-align:center}.cf-integration-main .section{padding:28px 0;border-top:1px solid #ddd}.cf-integration-main .section h2{font:700 28px Georgia,serif;margin:0 0 14px}.cf-integration-main .specgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cf-integration-main .specgrid div{padding:10px;border-bottom:1px solid #eee}.cf-integration-main .sticky{position:sticky;top:20px}
@media(max-width:800px){.cf-integration-main .ad-top{grid-template-columns:1fr}.cf-integration-main .ad-mainimg{height:320px}.cf-integration-main .keyfacts{grid-template-columns:1fr 1fr}.cf-integration-main .specgrid{grid-template-columns:1fr 1fr}.cf-integration-main .sticky{position:static}.cf-integration-main .thumbs img{height:58px}}

.cf-integration-main .gridB-img button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:48px;border:0;background:rgba(0,0,0,.58);color:#fff;font-size:30px;cursor:pointer;z-index:3}
.cf-integration-main .gridB-img .card-prev{left:10px}.cf-integration-main .gridB-img .card-next{right:10px}
.cf-integration-main .gridB-img .card-counter{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.68);color:#fff;padding:6px 9px;font-size:12px}
.cf-integration-main .stock-subtitle{color:#d51616;font-size:16px;margin:4px 0 10px;text-transform:uppercase}

.cf-integration-main .detail-thumbs{display:flex;gap:7px;overflow-x:auto;scroll-behavior:smooth;margin-top:8px;padding-bottom:6px}
.cf-integration-main .detail-thumbs button{flex:0 0 112px;padding:0;border:2px solid transparent;background:none;cursor:pointer}
.cf-integration-main .detail-thumbs button.is-active{border-color:var(--orange)}
.cf-integration-main .detail-thumbs img{display:block;width:100%;height:76px;object-fit:cover}

/* V4 functional additions — original A/B/C layout geometry retained */
.cf-integration-main .stock-flag{position:absolute;left:0;top:0;z-index:8;padding:7px 11px;background:#63b846;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-integration-main .stock-flag.sale-agreed{background:#c92b2b}.cf-integration-main .stock-flag.reduced{background:#e49300}.cf-integration-main .stock-flag.motor-mover{background:#267db0}.cf-integration-main .stock-flag.due-in{background:#63b846}
.cf-integration-main .stock-subtitle{color:#d01616;font-size:14px;font-weight:700;margin:4px 0 10px;text-transform:uppercase}
.cf-integration-main .listA-img,.cf-integration-main .gridB-img,.cf-integration-main .gridC-img{overflow:hidden}
.cf-integration-main .listA-img img,.cf-integration-main .gridB-img img,.cf-integration-main .gridC-img img{display:block}
.cf-integration-main .gridC-img button{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:44px;border:0;background:rgba(0,0,0,.58);color:#fff;font-size:26px;cursor:pointer;z-index:4}.cf-integration-main .gridC-img [data-prev]{left:8px}.cf-integration-main .gridC-img [data-next]{right:8px}.cf-integration-main .gridC-img .count{position:absolute;right:8px;bottom:8px;background:#0009;color:#fff;padding:5px 8px;font-size:12px}
.cf-integration-main .listA-img button,.cf-integration-main .gridB-img button{z-index:6}
.cf-integration-main .stock-empty,.cf-integration-main .stock-error{padding:22px;border:1px solid #ddd;background:#f8f8f8}

/* Advert A retains V2 side-by-side layout */
.cf-integration-main .advertA .detail-gallery{min-width:0}.cf-integration-main .advertA .detail-stage{height:500px}.cf-integration-main .advertA .summary{padding:12px 0}
/* Advert B retains V2 large gallery + two-column content */
.cf-integration-main .advertB .detail-stage{height:560px}.cf-integration-main .advertB .advertB-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:30px;margin-top:28px}
/* Advert C retains V2 high-impact hero treatment */
.cf-integration-main .advertC .detail-stage{height:620px}.cf-integration-main .advertC .detail-stage img{filter:none}.cf-integration-main .advertC .hero-title{margin-top:22px}.cf-integration-main .advertC .hero-title h1{font:700 44px Georgia,serif;margin:6px 0 10px}

.cf-integration-main .detail-gallery{position:relative}.cf-integration-main .detail-stage{position:relative;background:#eee;overflow:hidden}.cf-integration-main .detail-stage>img{width:100%;height:100%;object-fit:cover;display:block}
.cf-integration-main .detail-stage .gallery-prev,.cf-integration-main .detail-stage .gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:7;border:0;background:rgba(0,0,0,.62);color:#fff;width:48px;height:58px;font-size:34px;cursor:pointer}.cf-integration-main .detail-stage .gallery-prev{left:12px}.cf-integration-main .detail-stage .gallery-next{right:12px}.cf-integration-main .detail-stage .gallery-counter{position:absolute;right:12px;bottom:12px;background:#000a;color:#fff;padding:6px 9px;font-size:12px;z-index:7}
.cf-integration-main .detail-thumbs{display:flex;gap:7px;overflow-x:auto;scroll-behavior:smooth;margin-top:8px;padding:0 0 7px}.cf-integration-main .detail-thumbs button{flex:0 0 112px;padding:0;border:2px solid transparent;background:none;cursor:pointer}.cf-integration-main .detail-thumbs button.is-active{border-color:var(--orange)}.cf-integration-main .detail-thumbs img{display:block;width:100%;height:76px;object-fit:cover}
.cf-integration-main .detail-thumbs button.is-broken,.cf-integration-main .detail-slide.is-broken{display:none}

.cf-integration-main .vehicle-details{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cf-integration-main .vehicle-detail{background:#f5f5f5;padding:13px}.cf-integration-main .vehicle-detail span{display:block;color:#777;font-size:12px;margin-bottom:4px}.cf-integration-main .vehicle-detail strong{font-size:16px}
.cf-integration-main .full-description{font-size:16px;line-height:1.65;max-width:900px}.cf-integration-main .full-description p{margin:0 0 16px}
.cf-integration-main .specgrid.full{grid-template-columns:repeat(3,1fr)}
.cf-integration-main .enquiry-form{background:#f5f5f3;padding:24px;margin-top:28px}.cf-integration-main .enquiry-form h2{margin-top:0}.cf-integration-main .enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cf-integration-main .enquiry-grid label{font-weight:700;font-size:13px}.cf-integration-main .enquiry-grid input,.cf-integration-main .enquiry-grid select,.cf-integration-main .enquiry-grid textarea{width:100%;padding:10px;margin-top:5px;border:1px solid #bbb;background:#fff}.cf-integration-main .enquiry-grid textarea{min-height:120px}.cf-integration-main .enquiry-grid .wide{grid-column:1/-1}.cf-integration-main .enquiry-grid button{border:0;background:var(--orange);padding:12px 18px;font-weight:800;cursor:pointer}
@media(max-width:800px){.cf-integration-main .advertB .advertB-grid{grid-template-columns:1fr}.cf-integration-main .advertA .detail-stage,.cf-integration-main .advertB .detail-stage,.cf-integration-main .advertC .detail-stage{height:330px}.cf-integration-main .vehicle-details{grid-template-columns:1fr 1fr}.cf-integration-main .specgrid.full{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cf-integration-main .vehicle-details,.cf-integration-main .specgrid.full,.cf-integration-main .enquiry-grid{grid-template-columns:1fr}.cf-integration-main .enquiry-grid .wide{grid-column:auto}.cf-integration-main .detail-thumbs button{flex-basis:92px}}

.cf-integration-main .listing-description{
  margin:12px 0;
  color:#555;
  line-height:1.5;
  font-size:14px;
}

/* V11 D/E */
.cf-integration-main .listD{display:grid;gap:16px}.cf-integration-main .listD-card{display:grid;grid-template-columns:310px minmax(0,1fr) 185px;border:1px solid #dedede;border-radius:8px;overflow:hidden;background:#fff}.cf-integration-main .listD-img{height:235px;position:relative;overflow:hidden;background:#eee}.cf-integration-main .listD-img img{width:100%;height:100%;object-fit:cover}.cf-integration-main .listD-img button,.cf-integration-main .gridE-photo button{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#0009;color:#fff;width:38px;height:46px;font-size:27px;cursor:pointer;z-index:4}.cf-integration-main .listD-img [data-prev],.cf-integration-main .gridE-photo [data-prev]{left:8px}.cf-integration-main .listD-img [data-next],.cf-integration-main .gridE-photo [data-next]{right:8px}.cf-integration-main .listD-img .count,.cf-integration-main .gridE-photo .count{position:absolute;right:8px;bottom:8px;background:#000a;color:#fff;padding:5px 8px;font-size:12px}.cf-integration-main .listD-body{padding:18px 20px}.cf-integration-main .listD-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#737373;font-weight:700}.cf-integration-main .listD-body h3{margin:5px 0 10px;font-size:24px}.cf-integration-main .listD-specs{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0;color:#555;font-size:14px}.cf-integration-main .listD-price{padding:20px 18px;border-left:1px solid #eee;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.cf-integration-main .listD-price strong{font-size:26px}.cf-integration-main .listD-price .btn{margin-top:auto;width:100%;text-align:center}
.cf-integration-main .gridE{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cf-integration-main .gridE-card{border:1px solid #ddd;background:#fff;overflow:hidden}.cf-integration-main .gridE-photo{height:285px;position:relative;overflow:hidden;background:#eee}.cf-integration-main .gridE-photo>img{width:100%;height:100%;object-fit:cover}.cf-integration-main .gridE-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;min-height:260px}.cf-integration-main .gridE-copy{padding:18px}.cf-integration-main .gridE-copy h3{font-size:24px;margin:0 0 8px}.cf-integration-main .gridE-specs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.cf-integration-main .gridE-specs span{font-size:12px;background:#f3f3f3;padding:6px 8px}.cf-integration-main .gridE-layout{border-left:1px solid #eee;padding:12px;display:flex;flex-direction:column;justify-content:center;background:#fafafa}.cf-integration-main .gridE-layout img{width:100%;max-height:210px;object-fit:contain}.cf-integration-main .layout-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#777;margin-bottom:8px}
.cf-integration-main .vehicle-layout .layout-panel{background:#fafafa;border:1px solid #e4e4e4;padding:20px;text-align:center}.cf-integration-main .vehicle-layout .layout-panel img{display:block;max-width:100%;max-height:520px;width:auto;height:auto;margin:0 auto;object-fit:contain}
.cf-integration-main .advertD-top{display:grid;grid-template-columns:minmax(0,1.5fr) 360px;gap:28px;align-items:start}.cf-integration-main .advertD-summary{border:1px solid #ddd;border-radius:8px;padding:24px;position:sticky;top:15px}.cf-integration-main .advertD-summary h1{font-size:34px;margin:5px 0 12px}.cf-integration-main .advertD-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#777}.cf-integration-main .advertD-enquire{display:block;text-align:center;margin:20px 0}.cf-integration-main .advertD-facts{border-top:1px solid #eee;margin-top:15px}.cf-integration-main .advertD-facts div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #eee;font-size:13px}.cf-integration-main .advertD-facts span{color:#777}
.cf-integration-main .advertE-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:22px}.cf-integration-main .advertE-heading h1{font:700 40px Georgia,serif;margin:4px 0}.cf-integration-main .advertE-kicker{text-transform:uppercase;letter-spacing:.1em;color:#777;font-size:12px;font-weight:800}.cf-integration-main .advertE-price{text-align:right}.cf-integration-main .advertE-price .btn{display:block;text-align:center;margin-top:12px}.cf-integration-main .advertE .detail-stage{height:590px}.cf-integration-main .advertE-intro{display:grid;grid-template-columns:1.4fr .9fr;gap:35px;align-items:start}.cf-integration-main .advertE-intro>.section{border-top:0}
@media(max-width:850px){.cf-integration-main .listD-card{grid-template-columns:230px 1fr}.cf-integration-main .listD-price{grid-column:2;border-left:0;border-top:1px solid #eee;align-items:flex-start;text-align:left}.cf-integration-main .advertD-top{grid-template-columns:1fr}.cf-integration-main .advertD-summary{position:static}}@media(max-width:620px){.cf-integration-main .listD-card{grid-template-columns:1fr}.cf-integration-main .listD-img{height:240px}.cf-integration-main .listD-price{grid-column:auto}}@media(max-width:900px){.cf-integration-main .gridE{grid-template-columns:1fr}.cf-integration-main .gridE-body{grid-template-columns:1fr 180px}}@media(max-width:560px){.cf-integration-main .gridE-body{grid-template-columns:1fr}.cf-integration-main .gridE-layout{border-left:0;border-top:1px solid #eee}.cf-integration-main .gridE-photo{height:245px}}@media(max-width:800px){.cf-integration-main .advertE-heading{display:block}.cf-integration-main .advertE-price{text-align:left;margin-top:12px}.cf-integration-main .advertE .detail-stage{height:360px}.cf-integration-main .advertE-intro{grid-template-columns:1fr}}


/* V12 corrections */

/* Every advert's details/content sections are full width */
.cf-integration-main .advertA > .section,.cf-integration-main .advertB > .section,.cf-integration-main .advertC > .section,.cf-integration-main .advertD > .section,.cf-integration-main .advertE > .section{
  width:100%;
  max-width:none;
  clear:both;
}
.cf-integration-main .advertB-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:30px;
  align-items:start;
  margin:26px 0 0;
}
.cf-integration-main .advertB-header h1{font:700 40px Georgia,serif;margin:0 0 8px}
.cf-integration-main .advertB-price{text-align:right}
.cf-integration-main .advertB-price .btn{display:inline-block;margin-top:14px}
.cf-integration-main .advertE-intro{display:block !important}

/* Layout/floorplan: no visible heading, rotate 90 degrees */
.cf-integration-main .vehicle-layout{
  padding:20px 0 28px !important;
}
.cf-integration-main .vehicle-layout .layout-panel{
  width:100%;
  min-height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fafafa;
  border:1px solid #e4e4e4;
  padding:20px;
}
.cf-integration-main .vehicle-layout .layout-panel img.layout-rotated{
  display:block;
  width:auto;
  height:auto;
  max-width:330px;
  max-height:900px;
  margin:0;
  object-fit:contain;
  transform:rotate(90deg);
  transform-origin:center center;
}

/* Listing D = four cards per row */
.cf-integration-main .listD{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
.cf-integration-main .listD-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0;
  border:1px solid #dedede;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}
.cf-integration-main .listD-img{
  width:100%;
  height:185px !important;
  min-height:185px !important;
  flex:none;
}
.cf-integration-main .listD-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cf-integration-main .listD-body{
  padding:14px !important;
  flex:1;
}
.cf-integration-main .listD-body h3{
  font-size:19px !important;
  line-height:1.2;
  margin:4px 0 8px !important;
}
.cf-integration-main .listD-body .listing-description{
  display:none;
}
.cf-integration-main .listD-specs{
  font-size:12px !important;
  gap:5px 8px !important;
}
.cf-integration-main .listD-price{
  padding:0 14px 14px !important;
  border:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  text-align:left !important;
  gap:5px !important;
}
.cf-integration-main .listD-price strong{font-size:22px !important}
.cf-integration-main .listD-price .btn{
  width:100% !important;
  margin-top:7px !important;
  text-align:center;
}

/* Listing E = two larger cards per row */
.cf-integration-main .gridE{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
}
.cf-integration-main .gridE-card{
  min-width:0;
  border:1px solid #d9d9d9;
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
}
.cf-integration-main .gridE-photo{
  height:330px !important;
}
.cf-integration-main .gridE-body{
  grid-template-columns:minmax(0,1fr) 230px !important;
  min-height:285px !important;
}
.cf-integration-main .gridE-copy{
  padding:22px !important;
}
.cf-integration-main .gridE-copy h3{
  font-size:27px !important;
  line-height:1.15;
}
.cf-integration-main .gridE-layout{
  border-left:1px solid #eee;
  padding:16px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fafafa;
}
.cf-integration-main .gridE-layout img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:185px !important;
  max-height:500px !important;
  object-fit:contain;
  transform:rotate(90deg);
  transform-origin:center center;
}

@media(max-width:1000px){
  .cf-integration-main .listD{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:760px){
  .cf-integration-main .advertB-header{grid-template-columns:1fr}
  .cf-integration-main .advertB-price{text-align:left}
  .cf-integration-main .vehicle-layout .layout-panel{min-height:320px}
  .cf-integration-main .vehicle-layout .layout-panel img.layout-rotated{max-width:270px}
  .cf-integration-main .gridE{grid-template-columns:1fr !important}
}
@media(max-width:560px){
  .cf-integration-main .listD{grid-template-columns:1fr !important}
  .cf-integration-main .gridE-body{grid-template-columns:1fr !important}
  .cf-integration-main .gridE-layout{border-left:0;border-top:1px solid #eee;min-height:250px}
  .cf-integration-main .gridE-layout img{max-width:210px !important}
}


/* V13 layout placement correction */

/* Old giant layout section is no longer used */
.cf-integration-main .vehicle-layout{display:none !important}

/* Common floorplan image only - no heading, border or panel */
.cf-integration-main .layout-image-only{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.cf-integration-main .layout-image-only img.layout-rotated{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
  transform:rotate(90deg);
  transform-origin:center center;
}

/* Advert A: use spare space in right summary column */
.cf-integration-main .advertA .summary .summary-layout{
  margin-top:22px !important;
  min-height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.cf-integration-main .advertA .summary .summary-layout img{
  max-width:180px;
  max-height:430px;
}

/* B/C/D/E: Additional Details + floorplan */
.cf-integration-main .additional-layout-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 300px !important;
  gap:38px !important;
  align-items:center !important;
  width:100% !important;
}
.cf-integration-main .additional-layout-copy{
  min-width:0;
}
.cf-integration-main .additional-layout-image{
  min-height:270px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.cf-integration-main .additional-layout-image .side-layout{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cf-integration-main .additional-layout-image img{
  max-width:210px;
  max-height:520px;
}

/* No box, no reserve panel */
.cf-integration-main .additional-layout-row,.cf-integration-main .additional-layout-image,.cf-integration-main .additional-layout-image .layout-image-only{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Keep description from artificially narrowing */
.cf-integration-main .additional-layout-row .full-description{
  max-width:none !important;
}

@media(max-width:800px){
  .cf-integration-main .additional-layout-row{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .cf-integration-main .additional-layout-image{
    min-height:230px;
  }
  .cf-integration-main .advertA .summary .summary-layout{
    min-height:190px;
  }
}


/* V14 dynamic stock filters */
.cf-integration-main .dynamic-stock-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:center;background:#f3f3f3;border:1px solid #ddd;padding:16px;margin-bottom:24px}
.cf-integration-main .dynamic-stock-filters select,.cf-integration-main .dynamic-stock-filters button{width:100%;min-height:44px;padding:10px 11px;border:1px solid #ccc;background:#fff;font:inherit}
.cf-integration-main .dynamic-stock-filters button{background:var(--orange);border-color:var(--orange);font-weight:800;cursor:pointer}
.cf-integration-main .stock-result-count{grid-column:1/-1;font-size:14px;color:#555}
.cf-integration-main [data-stock-card][hidden]{display:none !important}
.cf-integration-main .stock-no-results{padding:22px;border:1px solid #ddd;background:#f8f8f8;margin-top:18px}
@media(max-width:900px){.cf-integration-main .dynamic-stock-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cf-integration-main .dynamic-stock-filters{grid-template-columns:1fr}}

/* Advert-only floorplan enlargement */
.cf-integration-main img[data-layout-lightbox]{cursor:zoom-in}
.cf-integration-main .layout-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:40px;background:rgba(0,0,0,.86)}
.cf-integration-main .layout-lightbox.is-open{display:flex}
.cf-integration-main .layout-lightbox>img{display:block;max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;transform:rotate(90deg)}
.cf-integration-main .layout-lightbox-close{position:fixed;top:18px;right:22px;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#111;font-size:34px;line-height:44px;cursor:pointer;z-index:100000}
.cf-integration-main body.layout-lightbox-open{overflow:hidden}


/* V15 - Advert B/C/E visual differentiation only */

/* B: practical dealer presentation */
.cf-integration-main .advertB-v15 .advertB-facts{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  margin:20px 0 28px;
  background:#ddd;
  border:1px solid #ddd;
}
.cf-integration-main .advertB-v15 .advertB-facts span{
  background:#f7f7f7;
  padding:14px 10px;
  text-align:center;
  font-size:14px;
  font-weight:700;
}

/* C: image-led / premium presentation */
.cf-integration-main .advertC-v15 .advertC-hero{
  position:relative;
  margin-bottom:30px;
}
.cf-integration-main .advertC-v15 .advertC-hero-caption{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:end;
  margin-top:-2px;
  padding:24px 28px;
  background:#161616;
  color:#fff;
}
.cf-integration-main .advertC-v15 .advertC-hero-caption h1{
  margin:3px 0 6px;
  color:#fff;
  font:700 38px/1.08 Georgia,serif;
}
.cf-integration-main .advertC-v15 .advertC-kicker{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.75;
}
.cf-integration-main .advertC-v15 .advertC-hero-price{
  text-align:right;
}
.cf-integration-main .advertC-v15 .advertC-hero-price .price{
  color:#fff;
  white-space:nowrap;
}
.cf-integration-main .advertC-v15 .advertC-facts{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0;
  margin:10px 0 34px;
  border-top:1px solid #ddd;
  border-bottom:1px solid #ddd;
}
.cf-integration-main .advertC-v15 .advertC-facts span{
  padding:16px 24px;
  font-weight:700;
  border-right:1px solid #ddd;
}
.cf-integration-main .advertC-v15 .advertC-facts span:last-child{border-right:0}

/* E: brochure / product-page presentation */
.cf-integration-main .advertE-v15 .advertE-product{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
  gap:28px;
  align-items:start;
  margin:24px 0 34px;
}
.cf-integration-main .advertE-v15 .advertE-summary{
  background:#f5f5f5;
  padding:24px;
  border-top:4px solid var(--orange);
}
.cf-integration-main .advertE-v15 .advertE-summary h2{
  margin:0 0 16px;
  font-size:22px;
}
.cf-integration-main .advertE-v15 .advertE-summary-facts{
  display:grid;
  gap:0;
}
.cf-integration-main .advertE-v15 .advertE-summary-facts div{
  padding:12px 0;
  border-bottom:1px solid #ddd;
  font-weight:700;
}
.cf-integration-main .advertE-v15 .advertE-overview{
  margin-top:0;
}
.cf-integration-main .advertE-v15 .advertE-floorplan-details{
  display:grid !important;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr) !important;
  gap:42px !important;
  align-items:center !important;
}
.cf-integration-main .advertE-v15 .advertE-floorplan-details > div:first-child{
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cf-integration-main .advertE-v15 .advertE-floorplan-details .layout-image-only img{
  max-width:220px;
  max-height:520px;
}
.cf-integration-main .advertE-v15 .advertE-floorplan-details .section{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

@media(max-width:800px){
  .cf-integration-main .advertB-v15 .advertB-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cf-integration-main .advertC-v15 .advertC-hero-caption{grid-template-columns:1fr}
  .cf-integration-main .advertC-v15 .advertC-hero-price{text-align:left}
  .cf-integration-main .advertC-v15 .advertC-facts{justify-content:flex-start}
  .cf-integration-main .advertC-v15 .advertC-facts span{width:50%;border-bottom:1px solid #ddd}
  .cf-integration-main .advertE-v15 .advertE-product{grid-template-columns:1fr}
  .cf-integration-main .advertE-v15 .advertE-floorplan-details{grid-template-columns:1fr !important}
}

/* Visual Builder generated advert layout */
.cf-integration-main .visual-advert-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.cf-integration-main .visual-advert-block{grid-column:span var(--span);min-width:0}
.cf-integration-main .visual-advert-block>.section{margin-top:0}
.cf-integration-main .visual-title-price{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}
.cf-integration-main .visual-title-price h1{margin:0 0 8px}
.cf-integration-main .visual-layout-image{display:flex;align-items:center;justify-content:center;min-height:250px}
.cf-integration-main .visual-layout-image img{max-width:220px;max-height:520px}
@media(max-width:760px){.cf-integration-main .visual-advert-block{grid-column:1/-1!important}.cf-integration-main .visual-title-price{display:block}}


/* V2.2 preview/layout correction: preserve the approved template canvas. */
.cf-integration-main .cf-generated-page{margin:0;background:#fff;color:var(--ink)}
.cf-integration-main{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:28px 0 48px;
  min-width:0;
}
.cf-integration-main img{max-width:100%}
@media(max-width:600px){.cf-integration-main{width:min(100% - 20px,1180px);padding-top:18px}}

/* Scope the legacy/managed enquiry markup so it does not depend on the dealer's old advert CSS. */
.cf-integration-main .cf-managed-enquiry{margin:30px 0;border:1px solid #ddd;background:#fff;font-family:Arial,Helvetica,sans-serif}
.cf-integration-main .cf-managed-enquiry>.colour_bk_brown{padding:12px 16px;background:#56504b;color:#fff;font-weight:700;font-size:18px}
.cf-integration-main .cf-managed-enquiry .cf_enq_container{display:grid;grid-template-columns:1fr;margin:0;padding:20px}
.cf-integration-main .cf-managed-enquiry form{display:grid;grid-template-columns:1fr 1fr;gap:28px;width:100%}
.cf-integration-main .cf-managed-enquiry form>div{min-width:0}
.cf-integration-main .cf-managed-enquiry .row{margin:0 0 14px}
.cf-integration-main .cf-managed-enquiry label{display:block;width:100%;margin:0 0 6px;font-weight:700;font-size:14px}
.cf-integration-main .cf-managed-enquiry input[type=text],.cf-integration-main .cf-managed-enquiry input[type=email],.cf-integration-main .cf-managed-enquiry input[type=tel],.cf-integration-main .cf-managed-enquiry select,.cf-integration-main .cf-managed-enquiry textarea{display:block;width:100%!important;max-width:none!important;padding:11px 12px;border:1px solid #bbb;background:#fff;font:15px Arial,Helvetica,sans-serif}
.cf-integration-main .cf-managed-enquiry textarea{min-height:150px;resize:vertical}
.cf-integration-main .cf-managed-enquiry .required-information{padding:10px 0;font-size:13px;color:#666}
.cf-integration-main .cf-managed-enquiry .submit{display:inline-flex;align-items:center;justify-content:center;float:none!important;width:auto!important;min-width:180px;padding:12px 20px;background:var(--orange);color:#111;font-weight:800;cursor:pointer;border:0}
.cf-integration-main .cf-managed-enquiry #call-back-msg{grid-column:1/-1}
@media(max-width:760px){.cf-integration-main .cf-managed-enquiry form{grid-template-columns:1fr;gap:6px}}


/* V2.4 correction pass */
.cf-integration-main .cf-integration-embedded{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.cf-integration-main .cf-stock-component{width:100%;min-width:0}
.cf-integration-main .cf-stock-component [data-no-real-gallery="1"] img{
  object-fit:contain !important;
  padding:20px;
  background:#f3f3f3;
}
.cf-integration-main .cf-stock-component [data-no-real-gallery="1"] .count{display:none!important}

/* Listing E cards in the same row use one common content height.
   This keeps caravan AND motorhome floorplans aligned consistently. */
.cf-integration-main .gridE-card{
  display:flex !important;
  flex-direction:column !important;
  height:100%;
}
.cf-integration-main .gridE-body{
  flex:1 1 auto !important;
  width:100%;
}
.cf-integration-main .gridE-layout{
  min-height:285px;
  align-self:stretch;
}
.cf-integration-main .gridE-layout img{
  margin:auto !important;
}

/* Visual layout follows the saved block order below the selected advert design. */
.cf-integration-main .visual-layout-advert > .visual-advert-content-grid{margin-top:24px}
.cf-integration-main .visual-layout-advert .visual-advert-block>.section{padding-top:22px;padding-bottom:22px}
.cf-integration-main .visual-layout-advert .visual-advert-block-enquiry,.cf-integration-main .visual-layout-advert [class*="visual-advert-block-custom_"]{align-self:start}


/* V2.5 polish / correction pass */

/* Listing E: flex layout avoids phantom grid cells caused by host-site layout rules. */
.cf-integration-main .gridE{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:26px !important;
  align-items:stretch !important;
}
.cf-integration-main .gridE > .gridE-card{
  flex:0 0 calc(50% - 13px) !important;
  width:calc(50% - 13px) !important;
  max-width:calc(50% - 13px) !important;
  margin:0 !important;
  float:none !important;
}
.cf-integration-main .gridE > .gridE-card[hidden]{display:none !important}
@media(max-width:900px){
  .cf-integration-main .gridE > .gridE-card{
    flex-basis:100% !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* Managed enquiry form: keep legacy field IDs/backend behaviour, replace presentation. */
.cf-integration-main .cf-managed-enquiry{
  margin:28px 0;
  border:1px solid #dedede;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.cf-integration-main .cf-managed-enquiry > .colour_bk_brown{
  margin:0 !important;
  padding:16px 22px !important;
  border:0 !important;
  background:#4a4743 !important;
  color:#fff !important;
  border-radius:0 !important;
}
.cf-integration-main .cf-managed-enquiry > .colour_bk_brown em{
  display:flex !important;
  align-items:center;
  gap:9px;
  margin:0 !important;
  color:#fff !important;
  font-size:19px;
  font-weight:700;
  font-style:normal;
}
.cf-integration-main .cf-managed-enquiry .cf_enq_container{
  margin:0 !important;
  padding:24px !important;
  border:0 !important;
  background:#fff;
}
.cf-integration-main .cf-managed-enquiry form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:30px;
  width:100%;
  margin:0;
}
.cf-integration-main .cf-managed-enquiry form > [class*="col-"]{
  width:auto !important;
  max-width:none !important;
  float:none !important;
  padding:0 !important;
  margin:0 !important;
}
.cf-integration-main .cf-managed-enquiry form .row{
  margin:0 0 15px !important;
  padding:0 !important;
}
.cf-integration-main .cf-managed-enquiry label{
  display:block !important;
  width:100% !important;
  float:none !important;
  padding:0 !important;
  margin:0 0 7px !important;
  color:#292929;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}
.cf-integration-main .cf-managed-enquiry input[type="text"],.cf-integration-main .cf-managed-enquiry input[type="email"],.cf-integration-main .cf-managed-enquiry input[type="tel"],.cf-integration-main .cf-managed-enquiry select,.cf-integration-main .cf-managed-enquiry textarea{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  float:none !important;
  box-sizing:border-box !important;
  padding:12px 14px !important;
  border:1px solid #c9c9c9 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#222 !important;
  font:inherit !important;
  line-height:1.4 !important;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.cf-integration-main .cf-managed-enquiry input[type="text"],.cf-integration-main .cf-managed-enquiry input[type="email"],.cf-integration-main .cf-managed-enquiry input[type="tel"],.cf-integration-main .cf-managed-enquiry select{
  min-height:46px;
}
.cf-integration-main .cf-managed-enquiry textarea{
  min-height:205px !important;
  height:205px !important;
  resize:vertical;
}
.cf-integration-main .cf-managed-enquiry input:focus,.cf-integration-main .cf-managed-enquiry select:focus,.cf-integration-main .cf-managed-enquiry textarea:focus{
  border-color:var(--orange,#f1a300) !important;
  box-shadow:0 0 0 3px rgba(241,163,0,.15) !important;
}
.cf-integration-main .cf-managed-enquiry .myClassError{
  border-color:#cf2f2f !important;
  box-shadow:0 0 0 3px rgba(207,47,47,.10) !important;
}
.cf-integration-main .cf-managed-enquiry .required-information{
  width:auto !important;
  float:none !important;
  padding:0 !important;
  margin:4px 0 10px !important;
  color:#666;
  font-size:12px;
}
.cf-integration-main .cf-managed-enquiry .submit{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:190px;
  min-height:46px;
  float:none !important;
  margin:0 !important;
  padding:12px 20px !important;
  border:0 !important;
  border-radius:9px !important;
  background:var(--orange2,var(--orange,#f1a300)) !important;
  color:#111 !important;
  font-weight:800 !important;
  cursor:pointer;
  box-shadow:none !important;
}
.cf-integration-main .cf-managed-enquiry .submit:hover{filter:brightness(.96)}
.cf-integration-main .cf-managed-enquiry .cf_enq_input_submit:empty,.cf-integration-main .cf-managed-enquiry .cf_enq_notification:empty{display:none !important}
.cf-integration-main .cf-managed-enquiry #call-back-msg{
  margin:0 !important;
  padding:0 24px 20px;
}
.cf-integration-main .cf-managed-enquiry .responce_msg{
  width:100% !important;
  float:none !important;
  padding:0 !important;
}
@media(max-width:760px){
  .cf-integration-main .cf-managed-enquiry form{grid-template-columns:1fr;gap:6px}
  .cf-integration-main .cf-managed-enquiry .cf_enq_container{padding:18px !important}
  .cf-integration-main .cf-managed-enquiry textarea{min-height:170px !important;height:170px !important}
  .cf-integration-main .cf-managed-enquiry .submit{width:100% !important}
}

/* Layout lightbox: genuinely enlarge the floorplan instead of repeating inline size. */
.cf-integration-main .layout-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:none;
  align-items:center;
  justify-content:center;
  padding:32px;
  background:rgba(0,0,0,.9) !important;
}
.cf-integration-main .layout-lightbox.is-open{display:flex !important}
.cf-integration-main .layout-lightbox > img{
  display:block !important;
  width:min(82vh,1200px) !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  transform:rotate(90deg) !important;
  transform-origin:center center !important;
  filter:drop-shadow(0 12px 30px rgba(0,0,0,.35));
}
.cf-integration-main .layout-lightbox-close{
  position:fixed !important;
  top:18px !important;
  right:22px !important;
  width:48px !important;
  height:48px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#111 !important;
  font-size:34px !important;
  line-height:44px !important;
  cursor:pointer !important;
  z-index:2147483001 !important;
}
@media(max-width:620px){
  .cf-integration-main .layout-lightbox{padding:20px}
  .cf-integration-main .layout-lightbox > img{width:min(78vh,900px) !important}
}

/* V2.6 final Listing E alignment fix */
.cf-integration-main .gridE{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-rows:auto !important;
  gap:26px !important;
  align-items:stretch !important;
  justify-items:stretch !important;
}
.cf-integration-main .gridE > .gridE-card{
  display:grid !important;
  grid-template-rows:330px minmax(0,1fr) !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:stretch !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
}
.cf-integration-main .gridE > .gridE-card[hidden]{display:none !important}
.cf-integration-main .gridE-photo{
  height:330px !important;
  min-height:330px !important;
}
.cf-integration-main .gridE-body{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 230px !important;
  min-height:0 !important;
  height:100% !important;
  width:100% !important;
  align-items:stretch !important;
}
.cf-integration-main .gridE-copy{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  height:100% !important;
}
.cf-integration-main .gridE-copy .gridE-specs{margin-top:14px !important}
.cf-integration-main .gridE-copy .btn{margin-top:auto !important;align-self:flex-start}
.cf-integration-main .gridE-copy:only-child{
  grid-column:1 / -1 !important;
}
.cf-integration-main .gridE-layout{
  height:100% !important;
  min-height:285px !important;
  align-self:stretch !important;
}
@media(max-width:900px){
  .cf-integration-main .gridE{grid-template-columns:1fr !important}
  .cf-integration-main .gridE > .gridE-card{grid-template-rows:330px minmax(0,1fr) !important}
}
@media(max-width:560px){
  .cf-integration-main .gridE > .gridE-card{grid-template-rows:245px auto !important}
  .cf-integration-main .gridE-photo{height:245px !important;min-height:245px !important}
  .cf-integration-main .gridE-body{grid-template-columns:1fr !important}
  .cf-integration-main .gridE-layout{height:auto !important}
}


/* V2.7 Listing E staging collision fix
   Explicit placement prevents host-site pseudo-elements / sizing rules
   from stealing the first or second grid cell. */
.cf-integration-main .gridE,.cf-integration-main .gridE *,.cf-integration-main .gridE *::before,.cf-integration-main .gridE *::after{
  box-sizing:border-box !important;
}
.cf-integration-main .gridE::before,.cf-integration-main .gridE::after{
  content:none !important;
  display:none !important;
}
.cf-integration-main .gridE > .gridE-card{
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
}
.cf-integration-main .gridE > .gridE-card:nth-of-type(odd){
  grid-column:1 !important;
}
.cf-integration-main .gridE > .gridE-card:nth-of-type(even){
  grid-column:2 !important;
}
@media(max-width:900px){
  .cf-integration-main .gridE > .gridE-card:nth-of-type(odd),.cf-integration-main .gridE > .gridE-card:nth-of-type(even){
    grid-column:1 !important;
  }
}


/* V2.8 true freeform advert designer runtime */
.cf-integration-main .freeform-advert-canvas{
  position:relative;
  width:100%;
  max-width:1180px;
  height:var(--canvas-height,1800px);
  min-height:900px;
  margin:0 auto;
}
.cf-integration-main .freeform-advert-block{
  position:absolute;
  box-sizing:border-box;
  min-width:0;
  min-height:0;
  overflow:visible;
}
.cf-integration-main .freeform-advert-block > .section{
  height:100%;
  box-sizing:border-box;
  overflow:auto;
}
.cf-integration-main .freeform-gallery .detail-gallery,.cf-integration-main .freeform-gallery .detail-stage{
  height:100%;
}
.cf-integration-main .freeform-gallery .detail-stage img.detail-slide{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cf-integration-main .freeform-gallery .detail-gallery{height:100%;display:flex;flex-direction:column;min-height:0}
.cf-integration-main .freeform-gallery .detail-stage{height:auto!important;flex:1 1 auto;min-height:0}
.cf-integration-main .freeform-gallery .detail-thumbs{display:flex!important;flex:0 0 88px;height:88px;margin-top:8px;overflow-x:auto;overflow-y:hidden}
.cf-integration-main .freeform-gallery .detail-thumbs button{flex:0 0 112px;height:80px}
.cf-integration-main .freeform-gallery .detail-thumbs img{width:100%;height:76px;object-fit:cover}
.cf-integration-main .freeform-title-price{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 22px;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.cf-integration-main .freeform-title-price h1{margin:0 0 5px;font-size:clamp(24px,3vw,42px)}
.cf-integration-main .freeform-price{text-align:right;white-space:nowrap}
.cf-integration-main .freeform-price .price{font-size:clamp(24px,3vw,38px)}
.cf-integration-main .freeform-layout .layout-image-only{height:100%;display:flex;align-items:center;justify-content:center}
.cf-integration-main .freeform-layout .layout-image-only img{max-width:100%;max-height:100%;object-fit:contain}
.cf-integration-main .freeform-enquiry .cf-managed-enquiry{margin:0;height:100%;overflow:auto}
.cf-integration-main .freeform-advert-block [id="enquiry"]{position:absolute;top:-20px}
@media(max-width:780px){
  /* Freeform desktop layouts remain usable on narrow screens even before
     dedicated per-device layouts are saved. */
  .cf-integration-main .freeform-advert-canvas{
    height:auto!important;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .cf-integration-main .freeform-advert-block{
    position:relative!important;
    left:auto!important;top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:160px;
  }
  .cf-integration-main .freeform-gallery{min-height:360px}
  .cf-integration-main .freeform-enquiry{min-height:430px}
}


/* V2.9 freeform content-height mapping */
.cf-integration-main .freeform-advert-block.freeform-autogrow{
  height:auto !important;
  min-height:var(--design-h,160px);
}
.cf-integration-main .freeform-advert-block.freeform-autogrow > .section{
  height:auto !important;
  min-height:var(--design-h,160px);
  overflow:visible !important;
}
.cf-integration-main .freeform-additional .section,.cf-integration-main .freeform-specification .section,.cf-integration-main .freeform-details .section{
  overflow:visible !important;
}
.cf-integration-main .freeform-additional .full-description,.cf-integration-main .freeform-specification .specgrid,.cf-integration-main .freeform-details .vehicle-details{
  max-height:none !important;
  overflow:visible !important;
}
.cf-integration-main .freeform-advert-block.freeform-autogrow .cf-managed-enquiry{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
.cf-integration-main .freeform-advert-block.freeform-autogrow .cf-managed-enquiry .cf_enq_container{
  overflow:visible !important;
}
.cf-integration-main .freeform-advert-block.freeform-autogrow .cf-custom-image img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius:8px;
}
.cf-integration-main .freeform-advert-block.freeform-autogrow .cf-custom-text{
  white-space:normal;
  overflow-wrap:anywhere;
}


/* V2.10h - Listing D must always start in the first grid cell.
   Defensive against inherited/staged-site grid placement rules. */
.cf-integration-main .listD{
  grid-auto-flow:row dense !important;
}
.cf-integration-main .listD > .listD-card{
  grid-column:auto !important;
  grid-row:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.cf-integration-main .listD > .listD-card:first-child{
  grid-column:1 !important;
}


/* V2.10Q - Advert gallery/grid intrinsic-width containment.
   Prevent long thumbnail strips or gallery content from forcing a desktop
   advert wider than its normal centred content area. */
.cf-integration-main,.cf-integration-main .advertA,.cf-integration-main .advertB,.cf-integration-main .advertC,.cf-integration-main .advertD,.cf-integration-main .advertE,.cf-integration-main .ad-top,.cf-integration-main .advertD-top,.cf-integration-main .advertE-product,.cf-integration-main .advertC-hero,.cf-integration-main .detail-gallery,.cf-integration-main .detail-stage,.cf-integration-main .detail-thumbs{
  min-width:0;
}
.cf-integration-main .ad-top > *,.cf-integration-main .advertD-top > *,.cf-integration-main .advertE-product > *,.cf-integration-main .advertC-hero > *,.cf-integration-main .advertB-header > *,.cf-integration-main .advertE-heading > *{
  min-width:0;
}
.cf-integration-main .detail-gallery{
  width:100%;
  max-width:100%;
}
.cf-integration-main .detail-stage{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.cf-integration-main .detail-thumbs{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
}
.cf-integration-main .cf-generated-page{
  overflow-x:hidden;
}

/* Generated branding */
.cf-integration-main{--orange:#f1a300;--orange2:#80ffff}
.cf-integration-main .btn,.cf-integration-main .dynamic-stock-filters button{background:#80ffff!important}
.cf-integration-main .stock-flag{background:#ff0000!important}

/* Generated branding */
.cf-integration-main{--orange:#0080ff;--orange2:#008040}
.cf-integration-main .btn,.cf-integration-main .dynamic-stock-filters button{background:#008040!important}
.cf-integration-main .stock-flag{background:#ff0000!important}
