*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#15171a;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 24px}.topbar{background:#111;color:#fff;text-align:center;padding:9px;font-size:13px;font-weight:700;letter-spacing:.03em}.header{background:#fff;border-bottom:1px solid #e9e9e9;position:sticky;top:0;z-index:20}.navrow{display:flex;align-items:center;justify-content:space-between;min-height:78px}.logo{display:flex;align-items:center;gap:12px}.logo span{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#d71920;color:#fff;font-weight:900}.logo strong{font-size:17px}.header nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}.header nav>a,.drop>a{padding:28px 0}.drop{position:relative}.dropdown{display:none;position:absolute;top:100%;left:-15px;background:#fff;min-width:190px;box-shadow:0 15px 35px #0002;border:1px solid #eee}.dropdown a{display:block;padding:12px 15px}.drop:hover .dropdown,.drop:focus-within .dropdown{display:block;z-index:50}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{min-height:570px;background:#222 center/cover no-repeat;position:relative;display:grid;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0004)}.hero-content{position:relative;color:#fff;max-width:800px}.hero h1{font-size:clamp(42px,7vw,78px);line-height:1;margin:10px 0 20px;letter-spacing:-.04em}.hero p:not(.eyebrow){font-size:20px;max-width:650px}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:800}.btn{display:inline-block;background:#d71920;color:#fff;padding:13px 22px;border-radius:4px;font-weight:800;border:0;cursor:pointer}.darkbtn{background:#111}.intro{padding-top:90px;padding-bottom:90px}.intro h2,.dark-section h2,.cta h2{font-size:42px;line-height:1.1;margin:5px 0 15px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.category-grid> a>div{border:1px solid #ddd;padding:30px;min-height:190px;transition:.2s}.category-grid a:hover>div{transform:translateY(-4px);box-shadow:0 15px 35px #0001}.category-grid span{font-size:12px;font-weight:800}.category-grid h3{font-size:25px}.dark-section{background:#161719;color:#fff;padding:80px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.card{background:#fff;color:#15171a;border-radius:5px;overflow:hidden;border:1px solid #e5e5e5}.card img,.noimg{width:100%;height:230px;object-fit:cover}.noimg{display:grid;place-items:center;background:#25272a;color:#fff;font-size:42px;font-weight:900}.cardbody{padding:20px}.pill{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;background:#f1f1f1;padding:5px 8px}.card h3{font-size:21px;line-height:1.2;margin:12px 0 5px}.muted{color:#666;margin:0 0 10px}.price{font-size:20px;display:block}.textlink{display:inline-block;margin-top:15px;font-weight:800}.cta{padding:90px 0;text-align:center}.pagehead{background:#161719;color:#fff;padding:75px 0}.pagehead h1{font-size:52px;line-height:1;margin:5px 0}.listing{padding-top:45px;padding-bottom:80px}.search{display:grid;grid-template-columns:1fr 260px auto;gap:10px;margin-bottom:35px}.search input,.search select,.search button{padding:13px;border:1px solid #ccc;background:#fff}.empty{grid-column:1/-1;padding:50px;border:1px solid #ddd}.vehicle-wrap{display:grid;grid-template-columns:1.3fr .9fr;gap:55px;padding-top:55px;padding-bottom:55px}.mainphoto img,.noimg.big{width:100%;height:520px;object-fit:cover}.thumbs{display:flex;gap:8px;margin-top:10px;overflow:auto}.thumbs button{border:0;background:none;padding:0}.thumbs img{width:85px;height:65px;object-fit:cover}.vehicle-info h1{font-size:48px;line-height:1.05;margin:15px 0}.vehicle-price{font-size:30px;font-weight:900;margin:0}.finance{font-weight:700}.specgrid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ddd;margin:25px 0}.specgrid div{padding:12px 0;border-bottom:1px solid #ddd}.specgrid span{display:block;color:#777;font-size:12px}.full{width:100%;text-align:center}.vehicle-description{padding-bottom:90px;max-width:900px}.vehicle-description h2{margin-top:45px}.lead{font-size:21px}.featurelist{columns:2}.featurelist li{margin-bottom:7px}.content-page{padding:60px 24px 90px;max-width:900px}.content-page>div{font-size:18px}.content-image{max-width:100%;margin-bottom:30px}.contact-box{background:#f4f4f4;padding:30px;margin-top:40px!important}footer{background:#111;color:#fff;padding:55px 0 0}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:50px}.footgrid a{display:block;color:#ccc;margin:5px 0}.footlogo{font-size:22px;font-weight:900}.copyright{border-top:1px solid #333;padding:18px;text-align:center;color:#aaa;font-size:12px}@media(max-width:850px){.header nav{display:none}.menu-toggle{display:block}.menu-open .header nav{display:flex;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 24px;box-shadow:0 10px 20px #0002}.menu-open .header nav>a,.menu-open .drop>a{padding:8px 0}.menu-open .dropdown{position:static;box-shadow:none;border:0;padding-left:15px}.drop:hover .dropdown{display:none}.menu-open .drop .dropdown{display:block}.cards,.category-grid{grid-template-columns:1fr}.vehicle-wrap{grid-template-columns:1fr}.mainphoto img,.noimg.big{height:360px}.search{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.featurelist{columns:1}.hero{min-height:500px}}
.photo-zoom{position:relative;display:block;border:0;padding:0;background:none;width:100%;cursor:zoom-in}.photo-zoom img{display:block}.photo-zoom span{position:absolute;right:14px;top:14px;z-index:2;background:#111d;color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:22px}.lightbox{display:none;position:fixed;inset:0;background:#000e;z-index:100;padding:30px;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.lightbox>button{position:absolute;right:22px;top:12px;border:0;background:none;color:#fff;font-size:46px;cursor:pointer}.lightbox-open{overflow:hidden}.vehicle-enquiry{margin-top:28px;border-top:1px solid #ddd;padding-top:25px}.vehicle-enquiry h2{font-size:24px;margin:0 0 15px}.contact-form{margin-top:18px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form-grid label{font-weight:700;font-size:14px}.contact-form-grid label:last-child{grid-column:1/-1}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #ccc;border-radius:4px;font:inherit}.contact-form textarea{resize:vertical}.form-context{background:#f5f5f5;padding:10px 12px}.form-success,.form-error{padding:12px 14px;margin:15px 0;border:1px solid}.form-success{background:#e8f7ed;border-color:#a8d8b7}.form-error{background:#fdecec;border-color:#e3aaaa}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;margin-top:35px}.contact-box,.map-box{margin-top:0!important}.map-box{background:#f4f4f4;padding:30px}.map-box iframe{width:100%;height:360px;border:0;margin-top:10px}.enquiry-box{margin-top:24px!important}@media(max-width:850px){.contact-form-grid,.contact-layout{grid-template-columns:1fr}.contact-form-grid label:last-child{grid-column:auto}}

/* V3 showroom search and vehicle gallery improvements */
.category-choice{padding-bottom:100px}.showroom-categories{margin-top:20px}
.advanced-search{background:#f5f5f5;border:1px solid #ddd;padding:22px;margin-bottom:28px}
.search-main,.filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.search-main{grid-template-columns:2fr 1fr 1fr}
.advanced-search label{font-size:13px;font-weight:800}
.advanced-search input,.advanced-search select{display:block;width:100%;padding:12px;border:1px solid #ccc;background:#fff;margin-top:5px;font:inherit}
.filter-row{margin-top:14px}
.advanced-panel{margin-top:16px;border-top:1px solid #ddd;padding-top:14px}
.advanced-panel summary{cursor:pointer;font-weight:800}
.advanced-grid{grid-template-columns:repeat(3,1fr)}
.search-actions{display:flex;gap:10px;margin-top:18px}.listing-summary{margin:15px 0;color:#555}
.vehicle-page{min-height:55vh}
.lightbox-prev,.lightbox-next{position:fixed;top:65%;transform:translateY(-50%);border:0;background:#0009;color:#fff;width:52px;height:72px;border-radius:4px;font-size:55px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lightbox-prev{left:22px}.lightbox-next{right:22px}.lightbox-close{z-index:3}
@media(max-width:850px){
.search-main,.filter-row,.advanced-grid{grid-template-columns:1fr}
.search-actions{flex-wrap:wrap}.lightbox-prev,.lightbox-next{width:44px;height:58px;font-size:42px}.lightbox-prev{left:8px}.lightbox-next{right:8px}
}

/* V4 vehicle layout, gallery controls and responsive refinements */
.vehicle-wrap{align-items:start}
.vehicle-left{min-width:0}
.vehicle-description-under-gallery{max-width:none;padding:35px 0 15px}
.vehicle-description-under-gallery h2{margin-top:30px}
.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;max-width:94vw;max-height:88vh;width:94vw;height:88vh}
.lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;cursor:pointer;user-select:none}
.lightbox-prev,.lightbox-next{top:65%;transform:translateY(-50%);z-index:4}
@media(max-width:1100px){
  .wrap{padding-left:20px;padding-right:20px}
  .vehicle-wrap{grid-template-columns:1.1fr .9fr;gap:32px}
  .mainphoto img,.noimg.big{height:460px}
}
@media(max-width:850px){
  .vehicle-wrap{grid-template-columns:1fr;gap:20px;padding-top:28px}
  .vehicle-left{order:1}.vehicle-info{order:2}
  .mainphoto img,.noimg.big{height:auto;aspect-ratio:4/3;max-height:none}
  .vehicle-info h1{font-size:36px}
  .vehicle-description-under-gallery{padding-top:25px}
  .lightbox{padding:10px}
  .lightbox-stage{width:100vw;height:86vh;max-width:100vw;max-height:86vh}
  .lightbox-prev,.lightbox-next{width:42px;height:58px;font-size:40px;background:#0008}
  .lightbox-prev{left:8px}.lightbox-next{right:8px}
  .lightbox-close{top:2px;right:8px;font-size:40px}
}
@media(max-width:520px){
  .vehicle-wrap{padding-left:14px;padding-right:14px}
  .thumbs img{width:72px;height:54px}
  .vehicle-info h1{font-size:30px}
  .vehicle-price{font-size:25px}
  .specgrid{grid-template-columns:1fr}
  .vehicle-enquiry{padding-top:20px}
}
/* Vehicle lightbox arrow position fix */
.lightbox-prev,
.lightbox-next {
    position: fixed !important;
    top: 50vh !important;
    transform: translateY(-50%) !important;
    z-index: 9999 !important;
}
/* Footer copyright row */
.copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.copyright > div:last-child {
    text-align: right;
}

@media (max-width: 700px) {
    .copyright {
        flex-direction: column;
        text-align: center;
    }

    .copyright > div:last-child {
        text-align: center;
    }
}
/* Content Blocks */

.content-blocks {
    margin: 50px 0;
}

.content-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch;
    margin-bottom: 60px;
}

.content-block-image {
    display: flex;
    height: 100%;
}

.content-block-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.content-block-text {
    padding: 10px;
}

.content-block-text h2 {
    margin-top: 0;
}

.content-block.right .content-block-image {
    order: 2;
}

.content-block.right .content-block-text {
    order: 1;
}

@media (max-width: 800px) {

    .content-block {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 45px;
    }

    .content-block.right .content-block-image,
    .content-block.right .content-block-text {
        order: initial;
    }

    .content-block-text {
        padding: 0;
    }

}
/* Customer Reviews */
.reviews-section {
    position: relative;
    padding: 80px 0;
    color: #fff;
    background-color: #222;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.reviews-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .68);
    z-index: 0;
}

.reviews-section > .wrap {
    position: relative;
    z-index: 1;
}

.reviews-section .eyebrow,
.reviews-section h2 {
    text-align: center;
}

.reviews-section h2 {
    margin-top: 0;
    margin-bottom: 35px;
}

/* Review slider */
.reviews-slider {
    position: relative;
    padding: 0 55px;
}

.reviews-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
    padding: 5px 0 15px;
}

.reviews-track::-webkit-scrollbar {
    display: none;
}

.review-card {
    flex: 0 0 280px;
    min-width: 280px;
    box-sizing: border-box;
    background: rgba(20, 20, 20, .58);
    color: #fff;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
    backdrop-filter: blur(3px);
}

.review-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 18px;
}

.review-stars span {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #555;
    color: #fff;
    font-size: 13px;
}

.review-stars span.active {
    background: #00a651;
}

.review-text {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.review-name {
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
}

.review-date {
    font-size: 13px;
    opacity: .7;
}

/* Review arrows */
.reviews-prev,
.reviews-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, .65);
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    z-index: 5;
}

.reviews-prev {
    left: 5px;
}

.reviews-next {
    right: 5px;
    top: 50%;
}

.reviews-prev:hover,
.reviews-next:hover {
    background: rgba(0, 0, 0, .85);
}

/* Mobile Reviews */
@media (max-width: 900px) {
    .reviews-slider {
        padding: 0;
    }

    .review-card {
        flex: 0 0 40%;
        min-width: 40%;
    }
}

@media (max-width: 600px) {
    .review-card {
        flex: 0 0 80%;
        min-width: 80%;
    }

    .reviews-prev,
    .reviews-next {
        display: none;
    }
}
/* Scroll animations */

.scroll-reveal {
    transform: translateY(30px);
    transition: transform .7s ease;
    will-change: transform;
}

.scroll-reveal.visible {
    transform: translateY(0);
}
.reviews-track {
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
}

.reviews-track::-webkit-scrollbar {
    display: none;
}

.reviews-track:active {
    cursor: grabbing;
}
/* Category card images */
.category-grid > a > div {
    overflow: hidden;
}

.category-grid > a > div > img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 18px;
}
/* Wider public Content Blocks */
.content-page .content-blocks {
    width: calc(100% + 160px);
    margin-left: -80px;
    margin-right: -80px;
}

.content-page .content-block {
    gap: 60px;
}
/* Vehicle status badges */

.mainphoto {
    position: relative;
}

.vehicle-status-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10;
    padding: 8px 14px;
    border-radius: 4px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .5px;
    box-shadow: 0 2px 8px rgba(0,0,0,.35);
}

.vehicle-status-badge.sold {
    background: #d60000;
}

.vehicle-status-badge.reserved {
    background: #f2c500;
    color: #111;
}
/* Vehicle card status badges */

.vehicle-card-image {
    position: relative;
}

.vehicle-card-image img {
    display: block;
    width: 100%;
}
/* =========================================
   New dark footer
   ========================================= */

footer {
    background: #292929;
    color: #e8e8e8;
    padding: 65px 0 0;
}

.footer-main {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.35fr;
    gap: 55px;
    align-items: start;
}

.footer-business {
    max-width: 520px;
}

.footer-business .footlogo {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
}

.footer-business p {
    color: #c7c7c7;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.footer-column h4 {
    color: #fff;
    font-size: 17px;
    margin: 0 0 22px;
}

.footer-column > a {
    display: block;
    color: #c7c7c7;
    text-decoration: none;
    margin-bottom: 13px;
    transition: color .2s ease;
}

.footer-column > a:hover {
    color: #fff;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    color: #c7c7c7;
    text-decoration: none;
    margin-bottom: 18px;
    line-height: 1.5;
}

a.footer-contact-item:hover {
    color: #fff;
}

.footer-icon {
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e8e8e8;
    margin-top: 1px;
}

.footer-icon svg {
    display: block;
    width: 22px;
    height: 22px;
}

.footer-address {
    color: #c7c7c7;
}

.footer-address .footer-icon {
    margin-top: 2px;
}


/* Copyright */

footer .copyright {
    margin-top: 55px;
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: #aaa;
    font-size: 13px;
}

footer .copyright a {
    color: #aaa;
    text-decoration: none;
}

footer .copyright a:hover {
    color: #fff;
}


/* Mobile */

@media (max-width: 900px) {

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .footer-business {
        grid-column: 1 / -1;
        max-width: none;
    }

}


@media (max-width: 600px) {

    footer {
        padding-top: 50px;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .footer-business {
        grid-column: auto;
    }

    footer .copyright {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    footer .copyright > div:last-child {
        text-align: center;
    }

}
/* Keep contact icon and text side by side */

.footer-contact-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
}

.footer-contact-item .footer-icon {
    flex: 0 0 23px !important;
    width: 23px !important;
    min-width: 23px !important;
}
/* =========================================
   Contact page layout
   ========================================= */

.contact-page-layout {
    margin-top: 45px;
}

.contact-enquiry {
    margin-bottom: 55px;
}

.contact-enquiry h2,
.contact-info-map h2 {
    margin-top: 0;
}

.contact-info-map {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 40px;
    align-items: stretch;
}

.contact-info-map .contact-box,
.contact-info-map .map-box {
    padding: 30px;
    background: #f5f5f5;
    border-radius: 8px;
    box-sizing: border-box;
}

.contact-info-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 14px;
    margin-bottom: 22px;
    color: inherit;
    text-decoration: none;
    line-height: 1.5;
}

a.contact-info-item:hover {
    color: #00a651;
}

.contact-info-icon {
    flex: 0 0 24px;
    width: 24px;
    min-width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
}

.contact-info-icon svg {
    display: block;
    width: 23px;
    height: 23px;
}

.contact-hours {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid #ddd;
    line-height: 1.6;
}

.contact-hours strong {
    display: block;
    margin-bottom: 8px;
}

.contact-info-map .map-box {
    display: flex;
    flex-direction: column;
}

.contact-info-map .map-box iframe {
    width: 100%;
    flex: 1;
    min-height: 350px;
    border: 0;
    border-radius: 6px;
}


/* Mobile */

@media (max-width: 800px) {

    .contact-page-layout {
        margin-top: 30px;
    }

    .contact-enquiry {
        margin-bottom: 35px;
    }

    .contact-info-map {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .contact-info-map .contact-box,
    .contact-info-map .map-box {
        padding: 25px;
    }

    .contact-info-map .map-box iframe {
        min-height: 300px;
    }

}
/* Floating WhatsApp button */
.whatsapp-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #25D366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9998;
    box-shadow: 0 4px 14px rgba(0,0,0,.3);
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.whatsapp-float svg {
    width: 30px;
    height: 30px;
    fill: currentColor;
}

.whatsapp-float:hover {
    background: #20b858;
    transform: translateY(-2px);
}

@media (max-width:600px) {
    .whatsapp-float {
        right: 15px;
        bottom: 15px;
        width: 50px;
        height: 50px;
    }

    .whatsapp-float svg {
        width: 27px;
        height: 27px;
    }
}
/* Content blocks mobile width fix */
@media (max-width:800px) {
    .content-page .content-blocks {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
        overflow: hidden;
    }

    .content-page .content-block {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow: hidden;
    }

    .content-page .content-block-image,
    .content-page .content-block-text {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .content-page .content-block-image img {
        width: 100%;
        max-width: 100%;
        height: auto;
        box-sizing: border-box;
    }

    .content-page .content-block-text {
        overflow-wrap: break-word;
        word-wrap: break-word;
    }
}
/* Compact category cards */
.category-grid > a > div > img {
    height: 130px;
    margin-bottom: 14px;
}

@media (max-width: 600px) {
    .category-grid {
        gap: 14px;
    }

    .category-grid > a > div {
        padding: 16px;
    }

    .category-grid > a > div > img {
        height: 95px;
        margin-bottom: 10px;
    }

    .category-grid > a > div h3 {
        margin: 5px 0 5px;
        font-size: 20px;
    }

    .category-grid > a > div p {
        margin: 0;
        font-size: 14px;
        line-height: 1.4;
    }
}
/* Category card image positioning */
.category-grid > a > div > img {
    object-position: center center;
}
/* Tighter category card text on desktop */
@media (min-width: 601px) {
    .category-grid > a > div h3 {
        margin-top: 4px;
        margin-bottom: 6px;
    }

    .category-grid > a > div p {
        margin-top: 0;
    }
}
/* Finance page: full-width text-only content blocks */
.content-page .content-block.finance-full-width {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.content-page .content-block.finance-full-width .content-block-text {
    width: 100%;
    max-width: none;
    padding: 10px 0;
    box-sizing: border-box;
}

/* Mobile vehicle details layout only */
@media (max-width: 850px) {
  .vehicle-wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 20px;
    padding-bottom: 35px;
  }

  .vehicle-left,
  .vehicle-info {
    display: contents;
  }

  .gallery {
    order: 1;
    width: 100%;
  }

  .vehicle-info > .pill {
    order: 2;
    align-self: flex-start;
  }

  .vehicle-info > h1 {
    order: 3;
    font-size: 30px;
    line-height: 1.15;
    margin: 0;
  }

  .vehicle-info > .vehicle-price {
    order: 4;
    font-size: 26px;
  }

  .vehicle-info > .finance {
    order: 5;
    margin: 0;
  }

  .vehicle-info > .specgrid {
    order: 6;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
    margin: 0;
  }

  .vehicle-left > .vehicle-description {
    order: 7;
    padding-bottom: 0;
    max-width: none;
    width: 100%;
  }

  .vehicle-description h2 {
    margin-top: 22px;
    margin-bottom: 8px;
  }

  .vehicle-description .lead {
    font-size: 17px;
  }

  .vehicle-description .featurelist {
    columns: 2;
    column-gap: 24px;
    padding-left: 20px;
  }

  .vehicle-info > .vehicle-enquiry {
    order: 8;
    width: 100%;
    margin-top: 0;
    padding-top: 20px;
  }

  .mainphoto img,
  .noimg.big {
    height: 300px;
  }

  .thumbs img {
    width: 70px;
    height: 55px;
  }
}

/* Main vehicle photo navigation */
.mainphoto {
    position: relative;
}

.main-photo-prev,
.main-photo-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 42px;
    height: 52px;
    border: 0;
    border-radius: 5px;
    background: #111b;
    color: #fff;
    font-size: 36px;
    line-height: 1;
    cursor: pointer;
    display: grid;
    place-items: center;
}

.main-photo-prev {
    left: 10px;
}

.main-photo-next {
    right: 10px;
}

.photo-zoom {
    touch-action: pan-y;
}

.photo-zoom img {
    user-select: none;
    -webkit-user-drag: none;
}

@media (max-width: 850px) {
    .main-photo-prev,
    .main-photo-next {
        width: 36px;
        height: 46px;
        font-size: 30px;
    }
}

@media (max-width: 850px) {
    .main-photo-prev,
    .main-photo-next {
        display: none !important;
    }
}

/* Film-strip vehicle gallery */
#photoViewport.photo-zoom {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0;
    border: 0;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
}

#photoViewport.photo-zoom:active {
    cursor: grabbing;
}

#photoViewport .photo-track {
    display: flex;
    width: 100%;
    transform: translateX(-100%);
    will-change: transform;
}

#photoViewport .photo-track img {
    display: block;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: 480px;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

#photoViewport .photo-zoom-icon {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 5px;
    background: #111b;
    color: #fff;
    font-size: 24px;
    pointer-events: none;
}

@media (max-width: 850px) {
    #photoViewport .photo-track img {
        height: 300px;
    }

    .main-photo-prev,
    .main-photo-next {
        display: none !important;
    }
}

.thumbs button.active {
    outline: 2px solid #c99a42;
    outline-offset: 2px;
}

/* Mobile landscape: larger enlarged vehicle photos */
@media screen and (max-width: 850px) and (orientation: landscape) {
    body.lightbox-open {
        overflow: hidden;
    }

    .lightbox.open {
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        padding: 8px 48px;
        box-sizing: border-box;
        z-index: 99999;
    }

    .lightbox.open .lightbox-stage {
        width: 100%;
        height: 100%;
        max-height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    .lightbox.open .lightbox-stage img {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: calc(100dvh - 16px);
        object-fit: contain;
    }

    .lightbox.open .lightbox-close {
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 10;
    }

    .lightbox.open .lightbox-prev {
        left: 4px;
        z-index: 10;
    }

    .lightbox.open .lightbox-next {
        right: 4px;
        z-index: 10;
    }
}

