/* =========================================================
   A&B CONCEPT — FICHE VÉHICULE
   ========================================================= */

body.abv-vehicle-page {
    margin: 0;
    background: #080808;
    color: #f5f3ef;
}

body.abv-vehicle-page,
body.abv-vehicle-page * {
    box-sizing: border-box;
}

body.abv-vehicle-page #wpadminbar {
    z-index: 999999;
}

.abv-site {
    --abv-black: #080808;
    --abv-panel: #10100f;
    --abv-panel-soft: #121210;
    --abv-champagne: #d0a46f;
    --abv-champagne-light: #e2bd8b;
    --abv-white: #f5f3ef;
    --abv-grey: #a19d96;
    --abv-grey-soft: #74716c;
    --abv-border: rgba(208, 164, 111, 0.20);

    min-height: 100vh;
    background:
        radial-gradient(circle at 80% 15%, rgba(208, 164, 111, 0.06), transparent 28%),
        linear-gradient(180deg, #090909 0%, #070707 100%);
    color: var(--abv-white);
    font-family: Arial, Helvetica, sans-serif;
}

.abv-site a {
    color: inherit;
}

.abv-topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: 78px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    background: rgba(8,8,8,0.94);
    backdrop-filter: blur(12px);
}

.admin-bar .abv-topbar {
    top: 32px;
}

.abv-topbar__inner {
    width: min(1380px, calc(100% - 42px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.abv-brand {
    display: inline-flex;
    flex-direction: column;
    text-decoration: none;
    line-height: 1;
}

.abv-brand__main {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    color: var(--abv-white);
    letter-spacing: -0.04em;
}

.abv-brand__sub {
    margin-top: 4px;
    font-size: 7px;
    letter-spacing: 0.34em;
    color: var(--abv-champagne-light);
}

.abv-nav {
    display: flex;
    align-items: center;
    gap: 29px;
}

.abv-nav a {
    position: relative;
    padding: 30px 0 27px;
    text-decoration: none;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #c7c3bc;
}

.abv-nav a:hover,
.abv-nav a.is-current {
    color: var(--abv-champagne-light);
}

.abv-nav a.is-current::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    height: 1px;
    background: var(--abv-champagne);
}

.abv-topbar__cta {
    display: inline-flex;
    min-height: 42px;
    padding: 12px 20px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: var(--abv-champagne-light);
    color: #080808 !important;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.abv-main {
    width: min(1380px, calc(100% - 42px));
    margin: 0 auto;
    padding: 34px 0 72px;
}

.abv-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
    margin-bottom: 27px;
    color: #78746e;
    font-size: 10px;
}

.abv-breadcrumbs a {
    text-decoration: none;
}

.abv-breadcrumbs span {
    color: #4d4a46;
}

.abv-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
    gap: 52px;
    align-items: start;
}

.abv-gallery__main {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #111;
    border: 1px solid rgba(255,255,255,0.05);
}

.abv-gallery__main img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: opacity .18s ease;
}

.abv-gallery__empty {
    width: 100%;
    height: 100%;
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5d5a55;
    border: 1px dashed rgba(208,164,111,.25);
}

.abv-gallery__thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.abv-gallery__thumb {
    position: relative;
    padding: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,.08);
    background: #111;
}

.abv-gallery__thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: brightness(.72);
    transition: filter .25s ease, transform .25s ease;
}

.abv-gallery__thumb:hover img,
.abv-gallery__thumb.is-active img {
    filter: brightness(1);
    transform: scale(1.03);
}

.abv-gallery__thumb.is-active {
    border-color: var(--abv-champagne);
}

.abv-summary {
    padding: 18px 0 0;
}

.abv-status {
    display: inline-flex;
    margin-bottom: 20px;
    color: var(--abv-champagne-light);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.abv-status--sold {
    color: #9a9792;
}

.abv-summary__brand {
    margin-bottom: 7px;
    color: var(--abv-champagne);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}

.abv-summary__title {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4vw, 62px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -0.045em;
}

.abv-summary__specs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin: 34px 0 36px;
}

.abv-summary__spec {
    min-width: 0;
}

.abv-summary__spec-value {
    display: block;
    margin-bottom: 6px;
    color: #dedad3;
    font-size: 12px;
}

.abv-summary__spec-label {
    display: block;
    color: #6f6b65;
    font-size: 9px;
}

.abv-price {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 30px;
}

.abv-price__value {
    color: var(--abv-champagne-light);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
}

.abv-price__label {
    color: #77736e;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.abv-actions {
    display: grid;
    gap: 11px;
}

.abv-button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 20px;
    text-decoration: none;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.abv-button:hover {
    transform: translateY(-2px);
}

.abv-button--primary {
    background: var(--abv-champagne-light);
    color: #080808 !important;
    border: 1px solid var(--abv-champagne-light);
}

.abv-button--secondary {
    background: transparent;
    color: #d8d4cd;
    border: 1px solid rgba(208,164,111,.42);
}

.abv-button--disabled {
    cursor: default;
    opacity: .55;
    pointer-events: none;
}

.abv-details {
    margin-top: 65px;
    padding-top: 42px;
    border-top: 1px solid rgba(255,255,255,.07);
    display: grid;
    grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr);
    gap: 55px;
}

.abv-section {
    margin-bottom: 45px;
}

.abv-section:last-child {
    margin-bottom: 0;
}

.abv-section__eyebrow {
    margin-bottom: 15px;
    color: var(--abv-champagne-light);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.abv-section__title {
    margin: 0 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
}

.abv-copy {
    max-width: 780px;
    color: #aaa69f;
    font-size: 14px;
    line-height: 1.85;
    white-space: pre-line;
}

.abv-checklist,
.abv-equipment {
    list-style: none;
    margin: 0;
    padding: 0;
}

.abv-checklist {
    display: grid;
    gap: 12px;
}

.abv-checklist li {
    position: relative;
    padding-left: 28px;
    color: #aaa69f;
    font-size: 13px;
    line-height: 1.6;
}

.abv-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--abv-champagne-light);
    font-size: 16px;
}

.abv-equipment {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 13px 24px;
}

.abv-equipment li {
    position: relative;
    padding-left: 22px;
    color: #aaa69f;
    font-size: 13px;
    line-height: 1.55;
}

.abv-equipment li::before {
    content: "•";
    position: absolute;
    left: 4px;
    color: var(--abv-champagne-light);
}

.abv-characteristics {
    position: sticky;
    top: 120px;
    padding: 26px 26px 20px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.018), transparent 45%),
        var(--abv-panel);
    border: 1px solid rgba(255,255,255,.06);
}

.admin-bar .abv-characteristics {
    top: 152px;
}

.abv-characteristics__title {
    margin: 0 0 20px;
    color: #d8d4cd;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.abv-characteristics__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.055);
    font-size: 12px;
}

.abv-characteristics__row:last-child {
    border-bottom: 0;
}

.abv-characteristics__label {
    color: #77736d;
}

.abv-characteristics__value {
    color: var(--abv-champagne-light);
    text-align: right;
}

.abv-trust {
    margin-top: 70px;
    padding: 28px 0 0;
    border-top: 1px solid rgba(255,255,255,.07);
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 20px;
}

.abv-trust__item {
    min-width: 0;
}

.abv-trust__title {
    display: block;
    margin-bottom: 7px;
    color: #d8d4cd;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.abv-trust__text {
    color: #6f6b65;
    font-size: 10px;
    line-height: 1.55;
}

.abv-footer {
    margin-top: 40px;
    padding: 24px 20px 34px;
    text-align: center;
    color: #5f5c57;
    font-size: 9px;
    border-top: 1px solid rgba(255,255,255,.05);
}

@media (max-width: 1100px) {
    .abv-nav {
        display: none;
    }

    .abv-hero,
    .abv-details {
        grid-template-columns: 1fr;
    }

    .abv-summary {
        max-width: 760px;
    }

    .abv-characteristics {
        position: static;
    }
}

@media (max-width: 720px) {
    .admin-bar .abv-topbar {
        top: 46px;
    }

    .abv-topbar {
        min-height: 66px;
    }

    .abv-topbar__inner,
    .abv-main {
        width: calc(100% - 28px);
    }

    .abv-topbar__cta {
        display: none;
    }

    .abv-main {
        padding-top: 22px;
    }

    .abv-hero {
        gap: 30px;
    }

    .abv-gallery__main {
        aspect-ratio: 4 / 3;
    }

    .abv-gallery__thumbs {
        grid-template-columns: repeat(4, minmax(0,1fr));
    }

    .abv-summary__specs {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 18px 12px;
    }

    .abv-summary__title {
        font-size: 42px;
    }

    .abv-price__value {
        font-size: 32px;
    }

    .abv-details {
        margin-top: 45px;
        padding-top: 32px;
        gap: 35px;
    }

    .abv-equipment,
    .abv-trust {
        grid-template-columns: 1fr;
    }

    .abv-trust {
        gap: 18px;
    }
}

/* =========================================================
   V0.5 — STATUTS DE STOCK
   ========================================================= */
.abv-status--reserved {
    color: #e2bd8b;
}

.abv-status--available {
    color: var(--abv-champagne-light);
}


/* =========================================================
   V0.5.5 — NORMALISATION DES MINIATURES DE GALERIE
   Empêche les styles globaux Elementor / thème d'imposer
   une bordure rose aux boutons de miniatures.
   ========================================================= */
.abv-site button.abv-gallery__thumb,
.abv-site button.abv-gallery__thumb:hover,
.abv-site button.abv-gallery__thumb:focus,
.abv-site button.abv-gallery__thumb:focus-visible {
    appearance: none !important;
    -webkit-appearance: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(208,164,111,.18) !important;
    border-radius: 0 !important;
    background: #111 !important;
    box-shadow: none !important;
    outline: none !important;
}

.abv-site button.abv-gallery__thumb:hover,
.abv-site button.abv-gallery__thumb:focus,
.abv-site button.abv-gallery__thumb:focus-visible {
    border-color: rgba(208,164,111,.45) !important;
}

.abv-site button.abv-gallery__thumb.is-active,
.abv-site button.abv-gallery__thumb.is-active:hover,
.abv-site button.abv-gallery__thumb.is-active:focus,
.abv-site button.abv-gallery__thumb.is-active:focus-visible {
    border-color: var(--abv-champagne) !important;
}
