/* RESET */

html,
body,
button,
input,
textarea,
select,
a,
p,
span,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Roboto', sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #ffffff;
    overflow-x: hidden;
}

/* HERO CONTAINER */

.hero-text,
.mobile-zoom-text,
.desktop-zoom-text {

    opacity: 1 !important;

    filter: brightness(0) invert(1);

}

.hero {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100vh;

    overflow: hidden;

    z-index: 1;
}

.hero-spacer {

    height: 100vh;

    width: 100%;
}

.models {

    position: relative;

    z-index: 1;

    background: #fff;

    opacity: 0;

    transition: opacity 1.2s ease;
}



/* HEADER MENU */
/* HEADER CONTAINER */
.header {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    display: flex;

    align-items: center;

    padding: 2px clamp(24px, 4vw, 60px);

    z-index: 99999;

    background: rgba(0,0,0,0.12);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    opacity: 1 !important;

    transform: translateY(0) !important;
}

/* 3 GELIJKE ZONES */
.nav-left,
.nav-center,
.nav-right {
    flex: 1;
    display: flex;
    align-items: center;
}

/* LINKS */
.nav-left {
    justify-content: flex-start;
    gap: clamp(20px, 4vw, 80px);
    padding-top: 12px;
}

/* MIDDEN (LOGO PERFECT CENTRAAL) */
.nav-center {
    justify-content: center;
}

/* RECHTS */
.nav-right {
    justify-content: flex-end;
    gap: clamp(20px, 4vw, 80px);
    padding-top: 12px;
}

/* LINKS & RECHTS LINKS */
.nav-left a,
.nav-right a {

    position: relative;

    color: rgb(255, 255, 255);

    text-decoration: none;

    font-size: 18px;

    letter-spacing: 1px;

    text-transform: uppercase;

    transition: all 0.25s ease;
}

.nav-left a::after,
.nav-right a::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: -6px;

    width: 0%;
    height: 2px;

    background: white;

    transition: width 0.25s ease;
}

.nav-left a:hover::after,
.nav-right a:hover::after {

    width: 100%;
}

.active-link::after {

    width: 100% !important;
}

/* MOBILE MENU */

.mobile-menu-toggle {
    display: none;
}

.mobile-menu {
    display: none;
}

/* ACHTERGROND (ZONDER AUTO) */
.hero-bg {
    position: absolute;
    inset: 0;

    background-image: url("../images/autodesktop.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    z-index: 1;
}

/* TEKST WRAPPER (blijft in beeld) */

.hero-text-wrapper {

    position: sticky;

    top: 0;

    height: 100vh;

    display: flex;

    justify-content: center;

    align-items: flex-start;

    z-index: 2;

    pointer-events: none;
}

/* TEKST */

.hero-text {

    margin-top: clamp(220px, 20vh, 260px);
    color: white;
    transition: opacity 0.2s linear;

    font-size: clamp(42px, 4vw, 70px);

    white-space: nowrap;

    transition: transform 0.1s linear;
}


.hero-svg-desktop {

    display: flex;
    justify-content: center;
    width: 100%;

    position: relative;
    top: 20vh;
    filter: brightness(1.0);

}

.desktop-hero-text {
    display: none;
}

.hero-svg {

    display: none;

    width: clamp(280px, 72vw, 520px);

    height: auto;

    will-change: transform;

    transform-origin: center center;

    backface-visibility: hidden;
}

.hero-flash {

    position: absolute;

    inset: 0;

    background: white;

    opacity: 0;

    pointer-events: none;

    z-index: 2;

    transition: opacity 0.1s linear;
}

.hero-button {

    position: absolute;

    bottom: 6vh;

    left: 50%;

    transform: translateX(-50%);

    z-index: 1;

    padding: 16px 42px;

    border-radius: 999px;

    background: rgba(255,255,255,0.12);

    backdrop-filter: blur(10px);

    border: 1px solid rgba(255,255,255,0.25);

    color: white;

    text-decoration: none;

    font-size: clamp(14px, 1vw, 16px);

    font-weight: 600;

    letter-spacing: 1px;

    text-transform: uppercase;

    transition: all 0.25s ease;
}

.hero-button:hover {

    background: white;

    color: black;

    transform: translateX(-50%) scale(1.04);
}

/* MOBILE */
@media (max-width: 768px) {

    .hero-text {
        top: 23%;
        font-size: clamp(28px, 11vw, 70px);
        letter-spacing: 3px;
    }

    .hero-cars {
        width: 130vw;
        bottom: 3%;
    }

    .hero-bg {
        background-position: center bottom;
    }
}

/* ========================= */
/* MODELS SECTION HOMEPAGE */
/* ========================= */


/* Hoofdzin 2de sectie */

/* ========================= */
/* MODELS SECTION HOMEPAGE */
/* ========================= */

.models {

    position: relative;

    z-index: 20;

    background: #fff;

    opacity: 0;

    transition: opacity 1.2s ease;

    transform: translateY(0) !important;

    margin-top: 0 !important;

    top: 0 !important;
}

/* Hoofdzin 2de sectie */

.models-title {

    font-size: clamp(38px, 4vw, 70px);

    font-weight: 700;

    margin-top: clamp(120px, 12vw, 220px);

    color: rgb(69, 58, 58);

    text-align: center;

    margin-bottom: 40px;

    letter-spacing: -2px;
}

.hero-accent {

    font-family: "Playfair Display", serif;

    font-style: italic;

    font-weight: 500;
}

.card-top {
    position: absolute;

    top: 20px;
    left: 30px;
    right: 30px;

    z-index: 4;

    display: flex;
    justify-content: center;
}

.card-top h3 {
    color: white;

    font-size: clamp(24px, 3vw, 32px);

    font-weight: 600;

    letter-spacing: -1px;
}

/* GRID */
.cards {

    display: grid;

    grid-template-columns:
    repeat(2, minmax(0, 1fr));

    gap: 8px;
max-width: 1200px;

    margin: 0 auto;
}

/* CARD */
.card {
    position: relative;

    aspect-ratio: 4 / 4;

    border-radius: clamp(16px, 2vw, 28px);

    overflow: hidden;

    background: #000000;

    transform: scale(0.92);

    transform-origin: center;
}

.card-link {
    position: absolute;
    inset: 0;
    z-index: 10;
}

/* IMAGE */
.card-img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: opacity 0.4s ease;
}

/* VIDEO */
.card-video {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    opacity: 0;

    transition: opacity 0.4s ease;

    z-index: 2;
}

.card:hover .card-video {
    opacity: 1;
}

.card:hover .card-img {
    opacity: 0;
}

/* OVERLAY */
.card-overlay {
    position: absolute;

    bottom: 30px;
    left: 30px;

    z-index: 2;

    color: white;
}

.card-overlay h3 {
    font-size: clamp(22px, 3vw, 40px);
    margin-bottom: 10px;
}

.card-overlay p {
    font-size: 16px;
}

/* DONKERE TOP OVERLAY */
.card-top::before {
    content: "";

    position: absolute;

    top: -20px;
    left: -30px;
    right: -30px;

    height: 180px;

    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.75) 0%,
        rgba(0,0,0,0.45) 40%,
        rgba(0,0,0,0) 100%
    );

    z-index: -1;

    pointer-events: none;
}

/* ========================= */
/* ABOUT SECTION */
/* ========================= */

.about-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 90vh;

    background: rgb(141, 141, 141);
}

/* LINKER FOTO */

.about-image {
    position: relative;
    overflow: hidden;
}

.about-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

/* RECHTER CONTENT */

.about-content {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        clamp(40px, 4vw, 100px);

    color: white;
}

.about-content h2 {

    font-size:
        clamp(50px, 5vw, 90px);

    line-height: 0.95;

    margin-bottom: 40px;

    text-transform: uppercase;
}

.about-content p {

    font-size:
        clamp(16px, 1.2vw, 22px);

    line-height: 1.8;

    max-width: 650px;

    color: rgb(255, 255, 255);

    margin-bottom: 40px;
}

/* BUTTON */

.about-btn {

    width: fit-content;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 16px 42px;

    border-radius: 999px;

    background: rgba(255,255,255,0.12);

    backdrop-filter: blur(12px);

    border: 1px solid rgba(255,255,255,0.22);

    color: white;

    text-decoration: none;

    font-size: clamp(14px, 1vw, 16px);

    font-weight: 600;

    letter-spacing: 1px;

    text-transform: uppercase;

    box-shadow:
    0 8px 30px rgba(0,0,0,0.12);

    transition: all 0.25s ease;
}

.about-btn:hover {

    background: white;

    color: black;

    transform: translateY(-2px);

    box-shadow:
    0 12px 40px rgba(0,0,0,0.18);
}

/* ========================= */
/* REVIEWS SECTION */
/* ========================= */

.reviews {

    padding: clamp(100px, 12vh, 180px) clamp(24px, 5vw, 80px);

    background:
    linear-gradient(
        to bottom,
        #474747 0%,
        #0d0d0d 100%
    );
}

/* TITEL */

.reviews-title {

    text-align: center;

    color: white;

    font-size:
    clamp(38px, 4vw, 72px);

    font-weight: 700;

    letter-spacing: -2px;

    margin-bottom:
    clamp(50px, 8vh, 90px);
}

/* GRID */

.reviews-grid {

    display: grid;

    grid-template-columns:
    repeat(3, minmax(0, 1fr));

    gap:
    clamp(20px, 2vw, 32px);

    max-width: 1500px;

    margin: 0 auto;
}

/* CARD */

.review-card {

    position: relative;

    padding:
    clamp(30px, 3vw, 42px);

    border-radius: 28px;

    background:
    rgba(215, 200, 200, 0.05);

    backdrop-filter: blur(12px);

    border:
    2px solid rgb(255, 255, 255);

    overflow: hidden;

    transition:
    transform 0.35s ease,
    border 0.35s ease,
    background 0.35s ease;
}

/* HOVER */

.review-card:hover {

    transform: translateY(-6px);

    border:
    1px solid rgba(255,255,255,0.18);

    background:
    rgba(255,255,255,0.07);
}

.review-stars {

    color: white;

    opacity: 0.9;

    font-size: 15px;

    letter-spacing: 4px;

    margin-top: clamp(10px, 12vw, 20px);

    margin-bottom: clamp(10px, 12vw, 20px);
}

.review-user h4 {

    font-size: 22px;

    font-weight: 600;

    margin-bottom: 8px;

    letter-spacing: -0.5px;
}

.review-user span {

    color: rgba(255,255,255,0.55);

    font-size: 15px;
}

/* QUOTE */

.review-text {

    color: rgba(255,255,255,0.92);

    font-size:
    clamp(18px, 1.4vw, 24px);

    line-height: 1.7;

    letter-spacing: -0.3px;

    margin-bottom: 40px;
}

/* USER */

.review-user h4 {

    color: white;

    font-size: 18px;

    margin-bottom: 6px;
}

.review-user span {

    color:
    rgba(255,255,255,0.55);

    font-size: 15px;
}

/* RESPONSIVE */

@media (max-width: 1000px) {

    .reviews-grid {

        grid-template-columns: 1fr;
    }

    .review-card {

        max-width: 700px;

        width: 100%;

        margin: 0 auto;
    }
}

/* ========================= */
/* CONTACT SECTION */
/* ========================= */

.contact-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: -40vh;

    background: rgb(141, 141, 141);

    overflow: visible;
}

/* LINKER CONTENT */

.contact-left {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
    clamp(80px, 4vw, 200px);

    color: white;
}

/* TITEL */

.contact-title {

    font-size:
    clamp(52px, 4vw, 90px);

    line-height: 0.95;

    margin-bottom: 40px;

    letter-spacing: -3px;
}

/* TEKST */

.contact-text {

    max-width: 600px;

    color:
    rgb(255, 255, 255);

    font-size:
    clamp(16px, 1.2vw, 22px);

    line-height: 1.8;

    margin-bottom: 50px;
}

/* BUTTONS */

.contact-buttons {

    display: flex;

    flex-wrap: wrap;

    gap: 18px;
}

/* SOCIALS */

.contact-socials {

    display: flex;

    gap: 24px;

    margin-top: 36px;
}

/* LINKS */

.contact-socials a {

    color:
    rgba(255,255,255,0.55);

    text-decoration: none;

    font-size: 14px;

    letter-spacing: 1px;

    transition: 0.25s ease;
}

/* HOVER */

.contact-socials a:hover {

    color: white;
}

/* BUTTON */

.contact-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 16px 38px;

    border-radius: 999px;

    background:
    rgba(255,255,255,0.10);

    backdrop-filter: blur(12px);

    border:
    1.5px solid rgba(255,255,255,0.15);

    color: white;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 1px;

    text-transform: uppercase;

    transition: all 0.25s ease;
}

/* HOVER */

.contact-btn:hover {

    background: white;

    color: black;

    transform: translateY(-3px);
}

/* WHATSAPP HOVER */

.whatsapp-btn:hover {

    background: #25D366;

    border-color: #25D366;

    color: rgb(252, 245, 245);
}

/* SOCIALS */

.contact-socials {

    display: flex;

    gap: 28px;

    margin-top: 40px;
}

/* LINKS */

.contact-socials a {

    display: flex;

    align-items: center;

    justify-content: center;

    transition: 0.25s ease;
}

/* ICONEN */

.contact-socials img {

    width: 50px;

    height: 50px;

    object-fit: contain;

    opacity: 0.75;

    transition: 0.25s ease;
}

/* HOVER */

.contact-socials a:hover img {

    opacity: 1;

    transform: translateY(-2px);
}

/* RECHTER FOTO */

.contact-right {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    transform: translateY(-10px);
}

.contact-right img {

    width: 100%;

    max-width: 560px;

    height: 720px;

    object-fit: cover;

    border-radius: 42px;

    display: block;

    margin: 0;

    transform: translateY(50px);
}

/* RESPONSIVE */

@media (max-width: 1000px) {

    .contact-section {

        grid-template-columns: 1fr;
    }

    .contact-right {

        height: 50vh;
    }

    .contact-left {

        padding: 70px 24px;
    }
}

/* ========================= */
/* FOOTER */
/* ========================= */

.footer {
    background: #020202;
    color: white;
    padding: clamp(70px, 9vw, 130px) clamp(24px, 5vw, 80px) 32px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-inner {
    max-width: 1500px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: clamp(40px, 6vw, 100px);
}

.footer-brand h2 {
    font-size: clamp(44px, 5vw, 82px);
    line-height: 0.95;
    letter-spacing: -3px;
    margin-bottom: 24px;
}

.footer-brand p {
    color: rgba(255,255,255,0.65);
    font-size: clamp(16px, 1.2vw, 20px);
}

.footer-links,
.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.footer-links a,
.footer-contact a {
    color: rgba(255,255,255,0.68);
    text-decoration: none;
    font-size: 15px;
    letter-spacing: 0.5px;
    transition: 0.25s ease;
}

.footer-links a:hover,
.footer-contact a:hover {
    color: white;
    transform: translateX(4px);
}

/* EXTRA FOOTER INFO */

.footer-location {

    display: flex;

    flex-direction: column;

    gap: 4px;

    margin-top: 12px;

    color: rgba(255,255,255,0.55);

    font-size: 14px;

    line-height: 1.6;
}

/* OPENINGSTIJDEN */

.footer-hours {

    display: flex;

    flex-direction: column;

    gap: 6px;

    margin-top: 22px;

    color: rgba(255,255,255,0.55);

    font-size: 14px;
}

/* KVK + BTW */

.footer-company-info {

    display: flex;

    flex-direction: column;

    gap: 6px;

    margin-top: 22px;

    color: rgba(255,255,255,0.38);

    font-size: 13px;
}

/* RDW */

.rdw-logo {

    width: 90px;

    margin-top: 24px;

    opacity: 1.0;

    object-fit: contain;
}

.footer-bottom {
    max-width: 1500px;
    margin: 80px auto 0;
    padding-top: 24px;

    border-top: 1px solid rgba(255,255,255,0.08);

    display: flex;
    justify-content: space-between;
    gap: 20px;

    color: rgba(255,255,255,0.4);
    font-size: 13px;
}

/* RESPONSIVE */

@media (max-width: 900px) {

    .footer-inner {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
    }
}

/* DVB Automotive — Aanbod Pagina */

/* ========================= */
/* AANBOD HEADER */
/* ========================= */

.inventory-header {

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;

    display: flex;

    align-items: center;

    padding: 32px 40px;

    z-index: 9999;

    background: transparent;

    backdrop-filter: blur(0px);
}

/* 3 GELIJKE ZONES */

.inventory-nav-left,
.inventory-nav-center,
.inventory-nav-right {

    flex: 1;

    display: flex;

    align-items: center;
}

/* LINKS */

.inventory-nav-left {

    justify-content: flex-start;

    gap: 60px;

    padding-top: 12px;
}

/* MIDDEN */

.inventory-nav-center {

    justify-content: center;
}

/* RECHTS */

.inventory-nav-right {

    justify-content: flex-end;

    gap: 60px;

    padding-top: 12px;
}

/* LINKS */

.inventory-header a {

    position: relative;

    color: white;

    text-decoration: none;

    font-size: 18px;

    letter-spacing: 1px;

    text-transform: uppercase;
}

/* HOVER LIJN */

.inventory-header a::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: -6px;

    width: 0%;

    height: 2px;

    background: white;

    transition: width 0.25s ease;
}

/* HOVER */

.inventory-header a:hover::after {

    width: 100%;
}

/* LOGO */

.inventory-logo {
    width: 180px;
    height: auto;
}

/* HERO CORRECT ONDER HEADER */

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media (max-width: 900px) {

    .inventory-header {

        padding: 18px 20px;
    }

    .inventory-nav-left,
    .inventory-nav-right {

        gap: 18px;
    }

    .inventory-header a {

        font-size: 13px;
    }

    .inventory-logo {

        height: 42px;
    }

    .inventory-hero {

        padding-top: 140px;
    }
}

/* ========================= */
/* INVENTORY HERO */
/* ========================= */
.inventory-hero {
    padding:
    clamp(220px, 22vh, 300px)
    clamp(24px, 5vw, 80px)
    80px;

    background:
    linear-gradient(
        to bottom,
        #b6b0b0,
        #3c3a3a
    );
}
.inventory-hero-content {
    max-width: 1100px;
}
.inventory-hero h1 {
    color: white;
    font-size: clamp(60px, 6vw, 140px);
    line-height: 0.92;
    letter-spacing: -5px;
    margin-bottom: 10px;
}
.inventory-hero p {
    color: rgba(255,255,255,0.7);
    font-size: clamp(18px, 1.5vw, 26px);
    line-height: 1.6;
    max-width: 720px;
}
/* ========================= */
/* INVENTORY SECTION */
/* ========================= */

.inventory-section {

    display: flex;

    flex-direction: column;

    gap: 42px;

    padding:
    0px
    clamp(24px, 5vw, 80px)
    140px;

    background: #3c3a3a;
}

/* ========================= */
/* BASIS CARD */
/* ========================= */

.inventory-card {

    position: relative;

    overflow: hidden;

    min-height: 420px;

    border-radius: 42px;

    padding:
    clamp(32px, 4vw, 60px);

    text-decoration: none;

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    border:
    1px solid rgba(255,255,255,0.08);

    transition:
    transform 0.35s ease,
    border 0.35s ease,
    box-shadow 0.35s ease;
}

/* HOVER */

.inventory-card:hover {

    transform: translateY(-6px);

    border-color:
    rgba(255,255,255,0.14);

    box-shadow:
    0 20px 80px rgba(0,0,0,0.35);
}

/* ========================= */
/* CARD VARIATIES */
/* ========================= */

.card-1 {

    background:
    linear-gradient(
        135deg,
        #111111,
        #202020
    );
}

.card-2 {

    background:
    linear-gradient(
        135deg,
        #261c1c,
        #332727
    );
}

.card-3 {

    background:
    linear-gradient(
        135deg,
        #151515,
        #0d0d0d
    );
}

/* ========================= */
/* CONTENT */
/* ========================= */

.inventory-content {

    position: relative;

    z-index: 2;
}

.inventory-brand {

    color:
    rgba(255,255,255,0.45);

    text-transform: uppercase;

    letter-spacing: 2px;

    font-size: 18px;
}

.inventory-content h2 {

    color: white;

    font-size:
    clamp(44px, 3.5vw, 84px);

    line-height: 0.95;

    letter-spacing: -3px;

    margin:
    18px 0
    32px;
}

/* ========================= */
/* SPECS */
/* ========================= */

.inventory-specs {

    display: flex;

    gap: 18px;

    flex-wrap: wrap;

    margin-bottom: 50px;
}

.inventory-specs span {

    padding: 12px 20px;

    border-radius: 999px;

    background:
    rgba(255,255,255,0.06);

    border:
    1px solid rgba(255,255,255,0.06);

    color:
    rgba(255,255,255,0.75);

    font-size: 14px;

    letter-spacing: 0.5px;
}

/* ========================= */
/* ONDERSTE GEDEELTE */
/* ========================= */

.inventory-bottom {

    display: flex;

    align-items: end;

    justify-content: space-between;

    gap: 24px;
}

.inventory-price-label {

    color:
    rgba(255,255,255,0.45);

    font-size: 14px;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.inventory-bottom h3 {

    color: white;

    font-size:
    clamp(34px, 3vw, 54px);

    margin-top: 8px;
}

/* ========================= */
/* BUTTON */
/* ========================= */

.inventory-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 18px 34px;

    border-radius: 999px;

    background:
    rgba(255,255,255,0.08);

    backdrop-filter: blur(12px);

    border:
    1px solid rgba(255,255,255,0.14);

    color: white;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 1px;

    text-transform: uppercase;

    text-decoration: none;

    box-shadow:
    0 8px 30px rgba(0,0,0,0.22),
    inset 0 1px 1px rgba(255,255,255,0.06);

    transition:
    transform 0.3s ease,
    background 0.3s ease,
    color 0.3s ease,
    border 0.3s ease,
    box-shadow 0.3s ease;
}

.inventory-card:hover .inventory-btn {

    background: white;

    color: black;
}

/* ========================= */
/* AFBEELDING */
/* ========================= */

.inventory-image-wrap {

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    height: 100%;
}

.inventory-image {

    width: 120%;

    max-width: 760px;

    object-fit: contain;

    transition: 0.4s ease;
}

.inventory-card:hover .inventory-image {

    transform:
    translateY(-8px)
    scale(1.02);
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media (max-width: 1000px) {

    .inventory-card {

        grid-template-columns: 1fr;

        min-height: auto;

        gap: 60px;
    }

    .inventory-image {

        width: 100%;
    }

    .inventory-bottom {

        flex-direction: column;

        align-items: start;
    }
}

/* ================================================= */
/* OVER ONS PAGINA */
/* ================================================= */

.about-hero {

    position: relative;

    overflow: hidden;

    display: flex;

    align-items: flex-start;

    padding:
    180px clamp(24px, 5vw, 80px) 120px;

    background: #6f6666;
}

.about-hero-image {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 1;
}

.about-hero-overlay {

    position: absolute;

    inset: 0;

    background:
    linear-gradient(
        to bottom,
        rgba(146, 137, 137, 0.45),
        rgba(142, 122, 122, 0.7)
    );

    z-index: 2;
}

.about-hero-content {

    position: relative;

    z-index: 3;

    color: white;

    max-width: 900px;
}

.about-label {

    display: inline-block;

    margin-bottom: 24px;

    color:
    rgba(255,255,255,0.55);

    letter-spacing: 2px;

    text-transform: uppercase;

    font-size: 18px;
}

.about-hero h1 {

    font-size:
    clamp(70px, 6vw, 160px);

    line-height: 0.9;

    letter-spacing: -6px;

    margin-bottom: 32px;

    color: white;
}

.about-hero p {

    font-size:
    clamp(20px, 1vw, 28px);

    color:
    rgba(255,255,255,0.72);

    max-width: 700px;

    line-height: 1.6;
}

/* ========================= */
/* STORY SECTION */
/* ========================= */

.story-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 100vh;

    background: #6f6666;
}

/* FOTO KANT */

.story-image-wrap {

    display: flex;

    align-items: center;

    justify-content: center;

    padding: clamp(30px, 4vw, 60px);

    overflow: hidden;
}

/* FOTO */

.story-image {

    width: 100%;

    height: 82vh;

    object-fit: cover;

    border-radius:
    clamp(30px, 3vw, 48px);

    display: block;

    /* BELANGRIJK */
    border: none;

    outline: none;

    transition: transform 0.5s ease;
}

/* LUXE HOVER */

.story-image-wrap:hover .story-image {

    transform: scale(1.02);
}

/* CONTENT */

.story-content {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
    clamp(40px, 5vw, 90px);

    color: white;
}

/* LABEL */

.story-label {

    color:
    rgba(255,255,255,0.45);

    letter-spacing: 3px;

    font-size: 18px;

    margin-bottom: 30px;
}

/* TITEL */

.story-content h2 {

    font-size:
    clamp(60px, 5vw, 110px);

    line-height: 0.9;

    letter-spacing: -4px;

    margin-bottom: 40px;
}

/* ITALIC WOORD */

.story-content h2 span {

    font-family:
    "Playfair Display", serif;

    font-style: italic;

    font-weight: 500;
}

/* TEKST */

.story-content p {

    font-size:
    clamp(18px, 1.3vw, 26px);

    line-height: 1.8;

    color:
    rgba(255,255,255,0.72);

    max-width: 700px;
}

/* VALUES */

.values-section {

    background: #a18484;

    padding:
    clamp(80px, 10vw, 140px)
    clamp(24px, 5vw, 80px);

    display: grid;

    grid-template-columns:
    repeat(3, 1fr);

    gap: 28px;
}

.value-card {

    padding:
    clamp(30px, 3vw, 50px);

    border-radius: 32px;

    background:
    rgb(79, 70, 70);

    backdrop-filter: blur(12px);

    border:
    1px solid rgba(255,255,255,0.06);

    transition: 0.5s ease;
}

.value-card:hover {

    transform: translateY(-6px);

    background:
    rgb(47, 35, 35)
}

.value-card span {

    color:
    rgba(255,255,255,0.35);

    font-size: 14px;

    letter-spacing: 2px;
}

.value-card h3 {

    color: white;

    font-size: 34px;

    margin:
    24px 0 18px;
}

.value-card p {

    color:
    rgba(255,255,255,0.68);

    line-height: 1.8;

    font-size: 17px;
}

/* FINAL */

.about-final {

    background: #0b0b0b;

    padding:
    clamp(120px, 1vh, 220px)
    24px;

    text-align: center;
}

.about-final h2 {

    color: white;

    font-size:
    clamp(60px, 5vw, 140px);

    line-height: 0.9;

    letter-spacing: -5px;
}

/* RESPONSIVE */

@media (max-width: 1000px) {

    .story-section {

        grid-template-columns: 1fr;
    }

    .values-section {

        grid-template-columns: 1fr;
    }

    .story-image {

        height: 50vh;
    }
}

/* ======================================== */
/* CONTACT PAGINA */
/* ======================================== */

.contact-hero {

    padding:
    240px clamp(30px, 5vw, 80px)
    10px;

    background:
    linear-gradient(
        to bottom,
        #0a0a0a,
        #736969
    );
}

.contact-hero-content {

    max-width: 1000px;
}

.contact-label {

    display: inline-block;

    margin-bottom: 28px;

    color: rgba(255,255,255,0.5);

    text-transform: uppercase;

    letter-spacing: 3px;

    font-size: 18px;
}

.contact-hero h1 {

    font-size:
    clamp(70px, 5vw, 160px);

    line-height: 0.9;

    letter-spacing: -6px;

    color: white;

    margin-bottom: 34px;
}

.contact-hero p {

    max-width: 760px;

    font-size:
    clamp(22px, 1.5vw, 30px);

    line-height: 1.6;

    color: rgba(255,255,255,0.72);
}

/* CONTACT SECTION */

.contact-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 32px;

    padding:
    80px clamp(30px, 5vw, 80px)
    120px;

    background: #736969;
}

.contact-info-card,
.contact-form-card {

    background:
    rgba(255,255,255,0.03);

    border:
    1px solid rgba(255,255,255,0.08);

    border-radius: 40px;

    padding: 50px;
}

.contact-small-title {

    display: inline-block;

    margin-bottom: 40px;

    color: rgb(255, 255, 255);

    text-transform: uppercase;

    letter-spacing: 3px;

    font-size: 16px;
}

.contact-item {

    margin-bottom: 40px;
}

.contact-item h3 {

    color: white;

    margin-bottom: 14px;

    font-size: 18px;
}

.contact-item p,
.contact-item a {

    color: rgba(255,255,255,0.72);

    text-decoration: none;

    line-height: 1.8;

    font-size: 18px;
}



/* FORM */

.contact-form {

    display: flex;

    flex-direction: column;

    gap: 22px;
}

.contact-form input,
.contact-form textarea {

    width: 100%;

    border: none;

    outline: none;

    background:
    rgba(255,255,255,0.05);

    border:
    1px solid rgba(255,255,255,0.08);

    border-radius: 18px;

    padding: 22px;

    color: white;

    font-size: 16px;

    font-family: inherit;
}

.contact-form textarea {

    min-height: 180px;

    resize: none;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {

    color: rgba(255,255,255,0.4);
}

.contact-form button {

    width: fit-content;

    border: none;

    background: white;

    color: black;

    padding:
    20px 38px;

    border-radius: 999px;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    cursor: pointer;

    transition: 0.3s ease;
}

.contact-form button:hover {

    transform: translateY(-4px);

    box-shadow:
    0 20px 40px rgba(0,0,0,0.25);
}

.success-message,
.error-message {

    display: none !important;

    margin-top: 20px;

    font-size: 15px;

    font-weight: 500;

    letter-spacing: 0.5px;

}

.success-message.show,
.error-message.show {

    display: block !important;

}

.success-message {

    color: #d7ffd9;

}

.error-message {

    color: #ffb3b3;

}

/* ============================== */
/* LOCATIE SECTION */
/* ============================== */

.location-section {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    padding: 30px clamp(30px, 5vw, 80px);

    background: #736969;
}

.location-content h2 {

    font-size: clamp(48px, 5vw, 90px);

    line-height: 0.95;

    color: white;

    margin-bottom: 32px;
}

.location-label {

    display: inline-block;

    margin-bottom: 24px;

    color: white;

    text-transform: uppercase;

    letter-spacing: 3px;

    font-size: 18px;
}

.location-content p {

    color: rgba(255,255,255,0.72);

    font-size: 20px;

    line-height: 1.7;

    max-width: 600px;
}

.location-details {

    display: flex;

    gap: 60px;

    margin-top: 50px;
}

.location-details h3 {

    color: white;

    margin-bottom: 12px;

    font-size: 18px;
}

.location-map {

    overflow: hidden;

    border-radius: 40px;

    min-height: 500px;
}

.location-map iframe {

    width: 100%;

    height: 100%;

    border: none;

    filter: grayscale(100%) contrast(110%);
}

/* AUTO ADVERTENTIE */
/* ======================================== */
/* auto gegevens */
/* ======================================== */

.car-quick-specs{

    position:relative;

    z-index:5;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

    margin-top:-5px;

    margin-bottom:40px;
}

.quick-spec{

    padding:
    18px 30px;

    border-radius:999px;

    background:
    rgba(255,255,255,0.55);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    border:
    1px solid rgba(0,0,0,0.06);

    color:#111;

    font-size:15px;

    font-weight:600;

    letter-spacing:0.5px;

    box-shadow:
    0 10px 30px rgba(0,0,0,0.05);
}

.car-brand{

    transform: translateY(-15px) !important;

}

/* ======================================== */
/* GALLERY */
/* ======================================== */

.car-gallery{

    width:100%;

    max-width:1400px;

    margin:120px auto 0;

    padding:0 40px;
}

.gallery-main{

    width:100%;

    height:720px;

    border-radius:40px;

    overflow:hidden;

    background:#efefef;

    display:flex;

    align-items:center;

    justify-content:center;
}

.gallery-main img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:0.4s ease;
}

.gallery-thumbs{

    display:flex;

    gap:20px;

    margin-top:24px;

    overflow-x:auto;

    padding-bottom:10px;
}

.gallery-thumbs img{

    width:170px;

    height:110px;

    object-fit:cover;

    border-radius:24px;

    cursor:pointer;

    opacity:0.55;

    transition:0.25s ease;

    border:3px solid transparent;
}

.gallery-thumbs img:hover{

    opacity:1;

    transform:translateY(-3px);
}

.gallery-thumbs .active-thumb{

    opacity:1;

    border-color:#111;
}

/* ======================================== */
/* LIGHTBOX */
/* ======================================== */

.lightbox{

    position:fixed;

    inset:0;

    background:
    rgba(0,0,0,0.92);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    transition:0.35s ease;

    z-index:999999;
}

.lightbox.active{

    opacity:1;

    visibility:visible;
}

/* FOTO */

.lightbox-image{

    max-width:88vw;

    max-height:84vh;

    object-fit:contain;

    border-radius:24px;

    box-shadow:
    0 30px 100px rgba(0,0,0,0.45);
}

/* CLOSE */

.lightbox-close{

    position:absolute;

    top:30px;
    right:40px;

    width:56px;
    height:56px;

    border:none;

    border-radius:50%;

    background:
    rgba(255,255,255,0.12);

    color:white;

    font-size:34px;

    cursor:pointer;

    transition:0.25s ease;

    z-index:5;
}

.lightbox-close:hover{

    background:white;

    color:black;
}

/* ARROWS */

.lightbox-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:64px;
    height:64px;

    border:none;

    border-radius:50%;

    background:
    rgba(255,255,255,0.12);

    color:white;

    font-size:28px;

    cursor:pointer;

    transition:0.25s ease;
}

.lightbox-arrow:hover{

    background:white;

    color:black;
}

.lightbox-arrow.left{

    left:40px;
}

.lightbox-arrow.right{

    right:40px;
}

/* FOTO'S KLIKBAR */

.full-gallery-item{

    cursor:pointer;
}

/* MOBILE */

@media (max-width:768px){

    .lightbox-image{

        max-width:94vw;

        max-height:72vh;

        border-radius:18px;
    }

    .lightbox-arrow{

        width:52px;
        height:52px;

        font-size:22px;
    }

    .lightbox-arrow.left{

        left:12px;
    }

    .lightbox-arrow.right{

        right:12px;
    }

    .lightbox-close{

        top:16px;
        right:16px;

        width:48px;
        height:48px;
    }
}

/* MOBILE */

@media (max-width: 1000px) {

    .location-section {

        grid-template-columns: 1fr;
    }

    .location-map {

        min-height: 400px;
    }

    .location-details {

        flex-direction: column;

        gap: 30px;
    }
}



/* RESPONSIVE */

@media (max-width: 1000px) {

    .contact-section {

        grid-template-columns: 1fr;
    }

}

/* ================================= */
/* RESPONSIVE FINAL */
/* ================================= */

@media (max-width: 1000px) {

    /* HEADER */

    /* HOME */

    /* AANBOD */

    /* OVER ONS */

    /* CONTACT */

    /* FOOTER */

}

@media (max-width: 768px) {

    html,
body {

    overscroll-behavior-y: none;

}

    /* EXTRA MOBILE */

/* HEADER MOBILE */

.nav-left,
.nav-right {
    display: none;
}

.mobile-menu-toggle {
    display: block;

    position: absolute;

    top: 18px;
    right: 24px;

    background: none;
    border: none;

    color: white;

    font-size: 32px;

    cursor: pointer;

    z-index: 1001;
}

    .mobile-menu {
        display: flex;
    }

.inventory-nav-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 5px;
}

.header {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    min-height: 70px;

    display: flex;

    align-items: center;

    padding: 20px 24px;

    z-index: 20000;

    background: rgba(0,0,0,0.12);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    transition:
        background 0.4s ease,
        opacity 0.4s ease,
        transform 0.4s ease;
}

body.hero-scrolling .header {

    background: rgba(0,0,0,0.04);
}

    .inventory-logo {

        width: 140px;

        height: auto;

        display: block;

    }

    .hero-text {

        font-size: 56px;

        line-height: 1;

        text-align: center;

        padding: 0 20px;

    }

    .hero-accent {

        display: block;

    }

/* MOBILE MENU */

.mobile-menu {
    position: fixed;

    top: 0;
    right: -100%;

    width: 100%;
    height: 100vh;

    background: rgba(10,10,10,0.97);

    display: flex;

    flex-direction: column;

    justify-content: center;
    align-items: center;

    gap: 36px;

    transition: 0.4s ease;

    z-index: 10998;
}

.mobile-menu.active {
    right: 0;
}

.mobile-menu a {
    color: white;

    text-decoration: none;

    font-size: 22px;

    text-transform: uppercase;

    letter-spacing: 2px;
}

.mobile-menu-toggle {

    background: none;

    border: none;

    box-shadow: none;

    border-radius: 0;
}

.mobile-menu-close:hover {

    background: rgba(255,255,255,0.14);

    transform: scale(1.06);
}

    .hero-bg {

        background-image: url('../images/automobiel.png');

        background-size: cover;

        background-position: center bottom;

        background-repeat: no-repeat;
    }

    .hero-cars {

    display: none !important;

}

.mobile-zoom-text {

    transform-origin: 41.1% 65%;

    transform: translateZ(0);

perspective: 1000px;

contain: layout paint style;

    will-change: transform;

    white-space: nowrap;

    text-align: center;

    line-height: 0.9;

    font-weight: 900;

    font-size: clamp(52px, 5vw, 88px);

    color: white;

    backface-visibility: hidden;

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizeSpeed;

    filter: none !important;

    opacity: 1 !important;

    padding-bottom: 0.2em;
}

.zoom-letter {

    display: inline-block;

    transform-origin: center center;

    will-change: transform;

    position: relative;
z-index: 20;
}

.hero {

    position: fixed;

    inset: 0;

    width: 100%;

    height: 100vh;

    overflow: hidden;

    z-index: 1;
}

.desktop-hero-text {

    display: none !important;
}

.hero-svg {

    width: 60vw;

    height: auto;

    display: flex;

    transform-origin: 53% 60%;

}

.hero-svg-desktop {

    display: none;

}

.hero-svg svg {

    width: 100%;

    height: auto;

    display: block;
}

.hero-text-wrapper {

    position: absolute;

    left: 50%;
    top: 27%;

    transform: translate(-50%, -50%);

    width: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

}

.hero-overlay-trigger {

    height:0vh;

    width: 100%;

}

.models {

    opacity: 0;

    transition: opacity 1.2s ease;

    padding-top: 118px;
}

.cards {

    display: grid;

    grid-template-columns: 1fr !important;

    gap: 24px;
}

.card {

    position: relative;

    overflow: hidden;
}

.card-img {

    transition:
    opacity 0.12s linear;
}

.card-video {

    transition:
    opacity 0.22s ease;
}

/* FOTO standaard zichtbaar */

.card-img {

    opacity: 1;

    z-index: 2;
}

/* VIDEO standaard verborgen */

.card-video {
    opacity: 0;
    z-index: 1;

    pointer-events: none;
}

/* ACTIEVE CARD */

.card.active .card-video {

    opacity: 1;
}

.card.active .card-img {

    opacity: 0;
}

/* ACTIVE */


.about-section,
.reviews,
.contact-section,
.footer {

    position: relative;
    z-index: 9999;
}

.about-image {
    display: none;
}

.about-section {
    grid-template-columns: 1fr;
}

.reviews {
    padding-bottom: 20px;
}

.reviews-title {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

/* GRID */

.reviews-grid {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

/* CARD */

.review-card {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

/* HOVER */

.review-card:hover {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

.review-stars {

    transform: translateY(clamp(-20px, -8vw, -120px));
}

.review-user h4 {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

.review-user span {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

/* QUOTE */

.review-text {

    transform: translateY(clamp(-20px, -8vw, -120px));
}

/* USER */

.review-user h4 {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

.review-user span {

    transform: translateY(clamp(-40px, -8vw, -120px));
}

.contact-title {

    transform: translateY(clamp(-100px, -4vw, -120px));
}

.contact-text {

    transform: translateY(clamp(-100px, -8vw, -240px));
}

.contact-buttons {

    transform: translateY(clamp(-100px, -8vw, -240px));
}

.contact-socials {

    transform: translateY(clamp(-100px, -8vw, -240px));
}

.contact-right {

    width: 100%;

    max-width: 520px;

    height: 460px;

    margin: -160px auto 0 auto;

    border-radius: 36px;

    overflow: hidden;

    padding: 0;

    background: transparent;
}

.contact-right img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    display: block;
}

.contact-section {

    padding-bottom: 40px;
}

/* ONS AANBOD PAGINA */

.inventory-hero {
    padding-top: 120px;
}

.inventory-image {
    width: 155%;
    max-width: none;
}

/* AUTO ADVERTENTIE PAGINA */

@media (max-width: 768px) {

    .car-background-text {
        top: 100px !important;
    }

    .car-image-wrapper {

    display:flex;

    justify-content:center;

    align-items:center;

    margin-top: -5px !important;
}

    .car-image {

    width:90% !important;

    height:auto !important;

    margin-top:0 !important;

    margin-left:auto;

    margin-right:auto;

    display:block;
}

    .quick-spec{

    padding:0 18px !important;

    height:42px !important;

    font-size:11px !important;

    border-radius:16px !important;

    display:flex;

    align-items:center;

    justify-content:center;

    white-space:nowrap;

    box-sizing:border-box;

}

.car-brand{

    transform: translateY(-15px) !important;

}

.car-title{

    font-size: 48px !important;

    line-height: 0.9;

}

.car-price{

    transform: translateY(-10px) !important;

}

.car-subtitle{

    transform: translateY(-5px) !important;

}

.car-actions{

    transform: translateY(-35px) !important;

}

@keyframes modelsFade {

    from {

        opacity: 0;

    }

    to {

        opacity: 1;

    }

}