
/* asseets/sylees/app.css */

/* Tokens */
:root {
    --color-black: #000;
    --color-white: #fff;
    --color-primary: #D20000;
    --color-primary-dark: #B10906;
    --color-text-muted: #878787;
    --color-text-soft: #515050;
    --color-text-light: #bbb;
    --color-grey-200: #DEE2E6;
    --color-grey-300: #AEAEAE;
    --color-grey-400: #9FA2A4;
    --color-grey-500: #9A9A9A;
    --color-grey-600: #6F6F6F;
    --color-surface-card: #E1E1E1;
    --color-surface-card-hover: #F0F0F0;
    --color-text-card: #343a40;
    --color-grey-100: #F6F6F6;
    --color-grey-150: #F5F5F5;
    --container-max: 64.25rem;
    --separator-max: 63rem;
    --brand-width: 172px;
    --service-card-size: 178px;
    --service-card-content-width: 125px;
    --occasion-card-max: 18.75rem;
    --occasion-card-max-mobile: 33.75rem;
    --back-photo-width: 150px;
    --back-vehicle-width: 400px;
    --back-year-width: 48px;
    --back-meta-width: 96px;
}

/* Base */
html, body {
    overflow-x: hidden;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    /*color: #878787;*/
    font-family: "Alexandria", serif;
    font-size: 0.9375rem;
    font-weight: 300;
    margin: 0;
}
header {
    z-index: 99;
}
main {
    display: block;
}
p {
    font-size: 0.9375rem;
    line-height: 1.4;
    margin: 0 0 8px;
}

/* Reveal animations */
.fade-in,
.fade-in-visible,
.bounce-in,
.bounce-in-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.slide-in-right,
.slide-in-right-visible,
.slide-in-left,
.slide-in-left-visible {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

body.has-reveal-animations .fade-in,
body.has-reveal-animations .bounce-in {
    opacity: 0;
    transform: translateY(18px);
}

body.has-reveal-animations .slide-in-left {
    opacity: 0;
    transform: translateX(-24px);
}

body.has-reveal-animations .slide-in-right {
    opacity: 0;
    transform: translateX(24px);
}
@media (max-width: 767.98px) {
    body.has-reveal-animations .slide-in-left,
    body.has-reveal-animations .slide-in-right {
        transform: translateY(18px);
    }
}

body.has-reveal-animations .fade-in.is-visible,
body.has-reveal-animations .bounce-in.is-visible,
body.has-reveal-animations .slide-in-left.is-visible,
body.has-reveal-animations .slide-in-right.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .fade-in,
    .fade-in-visible,
    .bounce-in,
    .bounce-in-visible,
    .slide-in-right,
    .slide-in-right-visible,
    .slide-in-left,
    .slide-in-left-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        visibility: visible !important;
    }
}

.image-container {
    overflow: hidden;
    display: inline-block;
}

/* Layout Utilities */
.container-fluid {
    margin: 0 auto;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 100%;
}
.container {
    margin: 0 auto;
    max-width: var(--container-max);
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 100%;
}
.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}
.row > [class*="col-"] {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.col-12,
.col-6,
.col-3,
.col-sm-4,
.col-sm-6,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-lg-2 {
    min-width: 0;
    width: 100%;
}
.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}
.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}
.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}
@media (min-width: 576px) {
    .col-sm-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .order-sm-1 {
        order: 1;
    }
    .order-sm-2 {
        order: 2;
    }
    .d-sm-none {
        display: none !important;
    }
    .text-sm-start {
        text-align: left !important;
    }
    .text-sm-end {
        text-align: right !important;
    }
    .justify-content-sm-start {
        justify-content: flex-start !important;
    }
    .justify-content-sm-end {
        justify-content: flex-end !important;
    }
    .me-sm-2 {
        margin-right: 0.5rem !important;
    }
    .me-sm-3 {
        margin-right: 1rem !important;
    }
    .mx-sm-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }
    .pb-md-0 {
        padding-bottom: 0 !important;
    }
    .px-sm-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .py-sm-5 {
        padding-bottom: 3rem !important;
        padding-top: 3rem !important;
    }
    .pe-sm-3 {
        padding-right: 1rem !important;
    }
    .pe-sm-5 {
        padding-right: 3rem !important;
    }
    .ps-sm-5 {
        padding-left: 3rem !important;
    }
}
@media (min-width: 768px) {
    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-md-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-md-7 {
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .order-md-1 {
        order: 1;
    }
    .order-md-2 {
        order: 2;
    }
    .d-md-block {
        display: block !important;
    }
    .justify-content-md-between {
        justify-content: space-between !important;
    }
    .justify-content-md-end {
        justify-content: flex-end !important;
    }
    .text-md-end {
        text-align: right !important;
    }
    .p-md-3 {
        padding: 1rem !important;
    }
    .pt-md-3 {
        padding-top: 1rem !important;
    }
    .pe-md-5 {
        padding-right: 3rem !important;
    }
    .ps-md-5 {
        padding-left: 3rem !important;
    }
    .px-md-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
@media (min-width: 992px) {
    .col-lg-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .p-lg-4 {
        padding: 1.5rem !important;
    }
    .navbar-expand-lg {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .navbar-expand-lg .navbar-toggler {
        display: none;
    }
    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
        width: auto;
    }
    .navbar-expand-lg .navbar-nav {
        display: flex;
        flex-direction: row;
        margin: 0 0 0 auto;
    }
}
.d-flex {
    display: flex !important;
}
.d-block {
    display: block !important;
}
.d-none {
    display: none !important;
}
.flex-row {
    flex-direction: row !important;
}
.flex-column {
    flex-direction: column !important;
}
.flex-grow-1 {
    flex-grow: 1 !important;
}
.justify-content-start {
    justify-content: flex-start !important;
}
.justify-content-center {
    justify-content: center !important;
}
.justify-content-between {
    justify-content: space-between !important;
}
.justify-content-around {
    justify-content: space-around !important;
}
.align-items-start {
    align-items: flex-start !important;
}
.align-items-center {
    align-items: center !important;
}
.align-middle {
    vertical-align: middle !important;
}
.text-center {
    text-align: center !important;
}
.text-start {
    text-align: left !important;
}
.text-decoration-none {
    text-decoration: none !important;
}
.text-white {
    color: var(--color-white) !important;
}
.text-black {
    color: var(--color-black) !important;
}
.text-danger {
    color: #dc3545 !important;
}
.bg-white {
    background-color: var(--color-white) !important;
}
.w-100 {
    width: 100% !important;
}
.h-100 {
    height: 100% !important;
}
.min-vh-100 {
    min-height: 100vh !important;
}
.position-relative {
    position: relative !important;
}
.position-absolute {
    position: absolute !important;
}
.start-0 {
    left: 0 !important;
}
.end-0 {
    right: 0 !important;
}
.rounded-2 {
    border-radius: 0.5rem !important;
}
.rounded-4 {
    border-radius: 1rem !important;
}
.img-fluid {
    display: block;
    height: auto;
    max-width: 100%;
}
.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}
.m-0 { margin: 0 !important; }
.m-3 { margin: 1rem !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
.my-3 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
}
.my-4 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
}
.my-5 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
}
.mx-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
}
.mx-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
}
.me-0 { margin-right: 0 !important; }
.me-1 { margin-right: 0.25rem !important; }
.me-2 { margin-right: 0.5rem !important; }
.me-3 { margin-right: 1rem !important; }
.ms-0 { margin-left: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.p-0 { padding: 0 !important; }
.p-1 { padding: 0.25rem !important; }
.p-2 { padding: 0.5rem !important; }
.p-3 { padding: 1rem !important; }
.p-5 { padding: 3rem !important; }
.pt-2 { padding-top: 0.5rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pt-5 { padding-top: 3rem !important; }
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: 0.25rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }
.pb-5 { padding-bottom: 3rem !important; }
.py-3 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
}
.py-4 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
}
.py-5 {
    padding-bottom: 3rem !important;
    padding-top: 3rem !important;
}
.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.px-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}
.px-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}
.pe-5 {
    padding-right: 3rem !important;
}
.ps-0 {
    padding-left: 0 !important;
}
@media (min-width: 576px) {
    .mb-sm-5 {
        margin-bottom: 3rem !important;
    }
}
.g-4 {
    --ms-gutter-x: 1.5rem;
    --ms-gutter-y: 1.5rem;
    margin-left: calc(var(--ms-gutter-x) / -2);
    margin-right: calc(var(--ms-gutter-x) / -2);
}
.g-4 > [class*="col-"] {
    padding-left: calc(var(--ms-gutter-x) / 2);
    padding-right: calc(var(--ms-gutter-x) / 2);
}
.g-5 {
    --ms-gutter-x: 3rem;
    --ms-gutter-y: 3rem;
    margin-left: calc(var(--ms-gutter-x) / -2);
    margin-right: calc(var(--ms-gutter-x) / -2);
}
.g-5 > [class*="col-"] {
    padding-left: calc(var(--ms-gutter-x) / 2);
    padding-right: calc(var(--ms-gutter-x) / 2);
}
.collapse:not(.show) {
    display: none;
}
.dropdown-menu.show {
    display: block;
}
.navbar-toggler-icon {
    background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
    background-position: center calc(50% - 6px), center 50%, center calc(50% + 6px);
    background-repeat: no-repeat;
    background-size: 18px 2px;
    display: inline-block;
    height: 1rem;
    width: 1.25rem;
}
.input-group {
    align-items: stretch;
    display: flex;
    position: relative;
    width: 100%;
}
.input-group > .form-control {
    flex: 1 1 auto;
    min-width: 0;
}
.form-check {
    align-items: center;
    display: inline-flex;
    gap: 0.4rem;
}
.form-check-inline {
    margin-right: 1rem;
}
.form-check-input {
    flex: 0 0 auto;
    margin: 0;
}
.form-check-label {
    margin: 0;
}
.alert {
    border: 1px solid transparent;
    padding: 1rem 1.25rem;
}
.alert-success {
    background-color: #e8f6ed;
    border-color: #c9e8d3;
    color: #1c6b37;
}
.alert-danger {
    background-color: #fbe9eb;
    border-color: #f2c5cb;
    color: #a3202e;
}
.card {
    background-color: var(--color-white);
    display: block;
}

/* Typography */
h1 {
    font-size: 3rem;
}
.single-actualite h1 {
    font-family: "Archivo Black", sans-serif;
    font-size: 2.6rem;
}
h2 {
    font-size: 1.8rem;
}

.single-actualite h2 {
    font-family: "Alexandria", serif;
    font-size: 1.6rem;
    font-weight: 400;
    margin-top: 2rem;
}
h3 {
    font-size: 1.4rem;
}
.single-actualite h3 {
    color: var(--color-primary);
    font-size: 1.2rem;
    font-weight:300;
    margin-top: 1.15rem;
    text-transform: uppercase;
}
.single-actualite p {
    text-align: justify;
}

/* Header */
.top-bar {
    align-items: center;
    background-color: var(--color-grey-150);
    color: var(--color-black);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    min-height: 2.8125rem;
    padding: 0.75rem 0 0.5rem;
}
.top-infos {
    gap: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center; 
}
@media (max-width: 767.98px) {
    .top-infos {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center; 
    }
    .top-info {
        display: block;
        padding: 0.5rem 0;
    }
}
.top-bar strong {
    font-weight: 600;
}
.top-info {
    align-items: center;
    display: inline-flex;
    font-size: 0.875rem;
    gap: 0.35rem;
}
@media (max-width: 991.98px) {
    .navbar-nav .nav-item {
        text-align: center;
    }
}

.navbar {
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    display: flex;
    padding: 1.5rem 0;
}
.navbar > .container {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.nav-entry {
    align-items: center;
    display: flex;
}
.nav-entry .nav-link {
    flex: 1 1 auto;
}
.nav-dropdown-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--color-black);
    display: none;
    flex: 0 0 auto;
    height: 100%;
    justify-content: center;
    padding: 0.5rem 0.75rem;
}
.nav-dropdown-icon {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    display: inline-block;
    height: 0.55rem;
    transform: rotate(45deg) translateY(-1px);
    transition: transform 0.2s ease;
    width: 0.55rem;
}
.nav-dropdown-toggle[aria-expanded="true"] .nav-dropdown-icon {
    transform: rotate(225deg) translateY(-1px);
}
.navbar-brand {
    display: inline-block;
    width: var(--brand-width);
}
.navbar-brand img {
    width: 100%;
}
.navbar-toggler {
    align-items: center;
    background: var(--color-white);
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 999px;
    display: inline-flex;
    justify-content: center;
    padding: 0.55rem 0.8rem;
}
.navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(194, 0, 24, 0.14);
}
.nav-link {
    display: block;
    font-weight: 500;
    padding: 0.75rem 0;
    text-decoration: none;
}
.navbar-nav {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}
.nav-item {
    position: relative;
}
.nav-item--has-children::after {
    content: "";
    display: none;
}

.dropdown-menu {
    list-style: none;
    margin: 0;
    opacity: 0;
    padding: 0;
    transition: all 0.3s ease-in-out;
    visibility: hidden;
}

.dropdown-menu li + li {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.navbar-nav .dropdown:hover .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}
.dropdown-item {
    color: var(--color-black);
    display: block;
    font-weight: 300;
    padding: 0.75rem 1rem;
    text-decoration: none;
}
.dropdown-item:hover {
    background-color: var(--color-grey-150);
    font-weight: 400;
    color: var(--color-black);
}

.dropdown-toggle, .nav-link {
    color: var(--color-black);
}
@media (max-width: 991.98px) {
    .top-bar {
        padding: 0.875rem 0;
    }
    .top-infos {
        gap: 0.625rem;
    }
    .top-info {
        background-color: rgba(255, 255, 255, 0.72);
        border: 1px solid rgba(0, 0, 0, 0.06);
        border-radius: 1rem;
        display: flex;
        justify-content: center;
        line-height: 1.35;
        padding: 0.75rem 0.9rem;
        text-align: center;
        width: 100%;
    }
    .top-info--phone {
        background: linear-gradient(135deg, rgba(194, 0, 24, 0.12), rgba(255, 255, 255, 0.92));
        border-color: rgba(194, 0, 24, 0.16);
        font-weight: 600;
    }
    .top-info svg {
        flex: 0 0 auto;
    }
    .navbar {
        padding: 1rem 0 0.8rem !important;
    }
    .navbar-brand {
        max-width: min(12.5rem, calc(100vw - 7rem));
    }
    .navbar-collapse {
        background: linear-gradient(180deg, rgba(247, 247, 247, 0.98), rgba(255, 255, 255, 0.98));
        border: 1px solid rgba(0, 0, 0, 0.06);
        border-radius: 1.25rem;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
        margin-top: 1rem;
        padding: 0.75rem;
    }
    .navbar-nav {
        gap: 0.25rem;
    }
    .navbar-nav .nav-item {
        text-align: left;
    }
    .nav-entry {
        background-color: rgba(0, 0, 0, 0.02);
        border-radius: 0.85rem;
    }
    .nav-link,
    .dropdown-item {
        border-radius: 0.85rem;
        padding: 0.9rem 1rem;
    }
    .nav-link {
        background-color: transparent;
    }
    .nav-dropdown-toggle {
        display: inline-flex;
    }
    .dropdown-menu {
        background: transparent;
        border: 0;
        box-shadow: none;
        float: none;
        opacity: 1;
        padding: 0.35rem 0 0.15rem;
        position: static;
        transform: none;
        visibility: visible;
    }
    .dropdown-item {
        background-color: rgba(0, 0, 0, 0.03);
        font-size: 0.95rem;
        margin-top: 0.35rem;
        padding-left: 1.2rem;
    }
}
@media (min-width: 992px) {
    .navbar {
        padding: 1.5rem 0;
    }
    .navbar-nav {
        align-items: center;
        gap: 1rem;
        margin: 0 0 0 auto;
    }
    .nav-link {
        padding: 0;
    }
    .nav-item--has-children > .nav-entry > .nav-link {
        padding-right: 0.4rem;
    }
    .nav-item--has-children::after {
        display: block;
        height: 0.75rem;
        left: 0;
        position: absolute;
        right: 0;
        top: 100%;
    }
    .nav-dropdown-toggle {
        display: none;
    }
    .dropdown-menu {
        background-color: var(--color-white);
        border: 1px solid rgba(0, 0, 0, 0.06);
        border-radius: 1rem;
        box-shadow: 0 18px 30px rgba(0, 0, 0, 0.08);
        left: 0;
        min-width: 17.5rem;
        overflow: hidden;
        padding: 0;
        position: absolute;
        top: calc(100% + 0.2rem);
        transform: translateY(0.35rem);
        z-index: 30;
    }
    .navbar-nav .dropdown:hover .dropdown-menu {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
    }
    .dropdown-item {
        font-size: 0.95rem;
        font-weight: 400;
        line-height: 1.35;
        padding: 0.95rem 1.15rem;
    }
    .dropdown-item:hover,
    .dropdown-item:focus-visible {
        background-color: rgba(210, 0, 0, 0.06);
        color: var(--color-primary-dark);
        outline: none;
    }
}

/* Hero / Sections */
.header-banner {
    align-items: center;
    background: center; 
    background-color: var(--color-grey-500);
    background-position: top center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    /*min-height: 400px;*/
    padding: 0;
    aspect-ratio: 4.8 / 1;
    width: 100%;
}
.header-banner span {
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}
.header-banner--services {
    background-image: url("../images/services-BANNIERE-header-2-OK-1b9b6202a9d4c8941921257a544ef44b.webp");
}
.header-banner--groupe {
    background-image: url("../images/le-groupe-BANNIERE-header-2-OK-23592aa8f4c4baec34e03be4db40f439.webp");
}
.header-banner--vehicules {
    background-image: url("../images/vehicules-BANNIERE-header-OK-e59fafef4fd79b022e4d825e14b61784.webp");
}
.header-banner--toulouse {
    background-image: url("../images/le-groupe-toulouse-BANNIERE-header-OK-f5c20a488d2073449120f23f828eface.webp");
}
.header-banner--biarritz {
    background-image: url("../images/le-groupe-biarritz-BANNIERE-header-2-OK-de990a1a408c542a3ae9f51f679d4bc2.webp");
}
.header-banner--service-vo {
    background-image: url("../images/services-VO-BANNIERE-header-OK-4ebf81794d7a51401e2f2204abc24de7.webp");
}
.header-banner--actualites {
    background-image: url("../images/actualites-BANNIERE-header-OK-3ba95e8a53c516fa7ec4051934650b99.webp");
}
.header-banner--service-vn {
    background-image: url("../images/services-VN-BANNIERE-header-2-OK-6bba3ff7c5877a8692ee6ffdabbf8697.webp");
}
.header-banner--service-sav {
    background-image: url("../images/services-SAV-BANNIERE-header-OK-14053c0cd4984bf506c1da9384127211.webp");
}
.header-banner--service-financement {
    background-image: url("../images/services-financement-BANNIERE-header-OK-305dc3eb3020e51948beab1ec0203587.webp");
}
.header-banner--classiche {
    background-image: url("../images/services-classiche-BANNIERE-header-OK-4b4dfd75adaf4e9b74baba1134fc1f7f.webp");
}
.header-banner--contact {
    background-image: url("../images/contact-BANNIERE-header-OK-529634233fb480b38e03f4c38fac228b.webp");
}
.header-banner--legal {
    background-image: url("../images/le-groupe-BANNIERE-header-2-OK-23592aa8f4c4baec34e03be4db40f439.webp");
}
.heading-video {
    background-color: #111;
    height: 100vh;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.heading-video-poster {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: 0;
}
.heading-video video {
    height: auto;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    opacity: 0;
    object-fit: cover;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.4s ease;
    width: auto;
    z-index: 0;
}
.heading-video.is-video-ready video {
    opacity: 1;
}
.heading-video .container-fluid {
    color: var(--color-white);
    padding: 0;
    position: relative;
    text-align: center;
    z-index: 1;
}
.heading-video-row {
    align-items: flex-start;
    height: 100%;
    padding: 12vh 0 5rem;
}
.hero-home-title {
    margin: 0 auto;
}
.hero-home-shadow {
    color: var(--color-white);
    text-shadow: rgba(0, 0, 0, 0.25) 3px 3px 3px;
}

.page-header {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    padding: 90px 0 40px;
}
.page-section {
    padding: 0 0 3rem;
}

.heading-section > h2 {
    margin: 0;
    padding: 0;
}
.heading-section > p {
    color: var(--color-primary);
    font-size: 1.25rem;
    font-weight: 300;
    text-transform: uppercase;
}
.section-title-compact {
    font-size: 1.75rem;
}
/* Buttons */
.btn {
    border-radius: 0;
    padding: 15px 20px;
    text-decoration: none !important;
}
.btn:hover,
.btn:focus-visible,
a.btn:hover,
a.btn:focus-visible {
    text-decoration: none !important;
}
.btn-link {
    background-color: transparent;
    border:  solid  1px transparent;
    color: var(--color-primary);
    font-weight: 500;
    padding: 12px 20px;
    text-decoration: none;
}
.btn-link:hover {
    border:  solid  1px var(--color-primary);
    color: var(--color-primary);
}
.btn-link-actu {
    background-color: transparent;
    border:  solid  1px var(--color-primary);
    color: var(--color-primary);
    font-weight: 300;
    padding: 12px 20px;
    text-decoration: none;
}
.btn-link-actu:hover {
    border:  solid  1px var(--color-black);
    color: var(--color-black);
    font-weight: 400;
}
.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    text-decoration: none !important;
}
.btn-primary:hover,
.btn-primary:focus-visible,
a.btn-primary:hover,
a.btn-primary:focus-visible {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
    color: var(--color-white) !important;
    text-decoration: none !important;
    box-shadow: 5px 5px 5px #D5D5D5;
}
.btn-auto-width {
    width: auto;
}
.btn-banner {
    background-color: transparent;
    border: solid 1px var(--color-white);
    color: var(--color-white);
}
.btn-banner:hover,
.btn-banner:focus-visible {
    background-color: var(--color-black);
    border-color: var(--color-black);
    color: var(--color-white);
}
.btn-banner--occasion {
    background-color: rgba(210, 0, 0, 0.88);
    border: 1px solid rgba(210, 0, 0, 0.88);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
    color: var(--color-white);
    font-weight: 500;
    letter-spacing: 0.01em;
    padding: 0.95rem 1.75rem;
}
.btn-banner--occasion:hover,
.btn-banner--occasion:focus-visible {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
    color: var(--color-white);
    text-decoration: none;
}
.text-primary {
    color: var(--color-primary) !important;
}

/* Utilities */
.page-link {
    background-color: var(--color-white);
    border-color: var(--color-grey-200);
    color: var(--color-grey-400);
}
.active>.page-link, .page-link.active {
    background-color: var(--color-grey-200);
    border-color: var(--color-grey-200);
    color: var(--color-white);
}
.page-item.disabled > a {
    color: var(--color-grey-400);
}
.form-control,
.form-select {
    appearance: none;
    background-color: var(--color-white);
    border: 1px solid var(--color-grey-300);
    border-radius: 0;
    color: var(--color-black);
    display: block;
    font: inherit;
    line-height: 1.4;
    min-height: 3rem;
    padding: 0.8rem 0.95rem;
    width: 100%;
}
.form-control:focus,
.form-select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 0.18rem rgba(210, 0, 0, 0.12);
    outline: 0;
}
.form-control::placeholder {
    color: var(--color-grey-500);
    opacity: 1;
}
.form-select {
    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position:
        calc(100% - 1.1rem) calc(1.35rem),
        calc(100% - 0.8rem) calc(1.35rem);
    background-repeat: no-repeat;
    background-size: 0.38rem 0.38rem, 0.38rem 0.38rem;
    padding-right: 2.5rem;
}
.form-select:disabled,
.form-control:disabled {
    background-color: var(--color-grey-100);
    color: var(--color-grey-500);
    cursor: not-allowed;
}
.form-check-input {
    accent-color: var(--color-primary);
}
.input-group-text {
    align-items: center;
    border: 1px solid var(--color-grey-300);
    color: var(--color-grey-600);
    display: inline-flex;
    justify-content: center;
    min-width: 3rem;
    padding: 0 0.85rem;
}
.filters .row {
    align-items: stretch;
}
.filters .d-flex {
    height: 100%;
}
.vo-filters .col-md-4 {
    display: flex;
}
.vo-filters .col-md-4 > .d-flex {
    margin-bottom: 0 !important;
    width: 100%;
}
.vo-filters #filter-brand,
.vo-filters #filter-model,
.vo-filters #filter-search {
    min-height: 3.25rem;
}
.vo-filters #filter-brand,
.vo-filters #filter-model {
    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position:
        calc(100% - 1.1rem) calc(1.45rem),
        calc(100% - 0.8rem) calc(1.45rem);
    background-repeat: no-repeat;
    background-size: 0.38rem 0.38rem, 0.38rem 0.38rem;
    padding-right: 2.5rem;
}
.vo-filters .input-group {
    height: 100%;
}
.vo-filters .input-group-text,
.vo-filters #filter-search {
    min-height: 3.25rem;
}
.vo-filters .input-group-text {
    border-right: 0;
}
.vo-filters #filter-search {
    border-left: 0;
}
@media (min-width: 768px) {
    .vo-filters .row {
        flex-wrap: nowrap;
    }
}
@media (max-width: 767.98px) {
    .vo-filters .col-md-4 + .col-md-4 {
        margin-top: 0.75rem;
    }
}
.container {
    max-width: var(--container-max);
}
.red-separator {
    background-color: var(--color-primary);
    height: 1px;
    margin: 0 auto 24px;
    max-width: var(--separator-max);
}
.red-separator--article {
    background-color: #7D7D7D;
    height: 2px;
}
.grey-separator {
    background-color: var(--color-grey-600);
    height: 1px;
    margin: 3rem auto 0;
    max-width: var(--separator-max);
}

/* Services / Cards */
.block-service {
    width: var(--service-card-size);
    height: var(--service-card-size);
    background-color: var(--color-surface-card);
    border: 1px solid var(--color-surface-card);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto 24px;
    padding: 8px;
    border-radius: 0; /* Optionnel, pour des bords arrondis */
    text-align: center;
    /* box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.block-service:hover {
    background-color: var(--color-surface-card-hover);
    border: 1px solid var(--color-surface-card-hover);
    transform: scale(1.05); /* Agrandissement de 10% */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); /* Ajout d'une légère ombre */
}

.block-service-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    color: var(--color-black); /* Couleur de l'icône */
    height: 74px;
    width: var(--service-card-content-width);
}
.block-service-content svg {
    margin-bottom: 0.5rem;
}

.block-service-content p {
    margin: 0;
    line-height: 1.15;
    font-size: 15px;
    font-weight: 500;
    color: var(--color-text-card);
}

.row-occasion {
    justify-content: space-around;
}
.col-occasion {
    max-width: var(--occasion-card-max);
}
@media (max-width: 575.98px) {
    .col-occasion {
        max-width: var(--occasion-card-max-mobile);
    }
}

.home-title {
    max-width: 500px;
    text-align: center;
}
.home-title p {
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: 300;
}
.home-title h1 {
    color: var(--color-text-soft);
    font-size: 3.4rem;
    font-weight: 400;
}
.heading-video .before-h1,
.heading-video .home-title h1,
.heading-video .hero-home-shadow {
    color: var(--color-white);
}
.intro-title-home {
    max-width: 500px;
}
.homepage-intro {
    min-height: 720px;
}
.homepage-intro .intro-title {
    color: var(--color-text-soft);
    font-weight: 700;
    max-width: 550px;
    text-align: left;
}
.before-h1 {
    color: var(--color-text-soft);
    text-transform: uppercase;
}
.intro-text {
    text-align: justify;
}
.homepage-intro .slide-in-left,
.homepage-intro .slide-in-right {
    text-align: center;
}
.homepage-intro .link-muted {
    align-items: center;
    display: flex;
    flex-direction: column;
}
.homepage-intro .image-container {
    margin: 0 auto;
}

.back-title {
    text-align: left;
}
.finance-title {
    color: var(--color-primary);
    font-size: 18px;
}

.text-justify {
    text-align: justify;
}
@media (max-width: 575.98px) {
    .heading-video-row {
        padding-top: 9rem;
    }
    .page-header {
        padding:  40px 0 20px;
    }
    .header-banner {
        aspect-ratio: auto;
        min-height: 16rem;
        padding: 1.5rem 1rem;
    }
    .header-banner span {
        font-size: 0.875rem;
        margin-bottom: 0.75rem;
    }
    .header-banner h1 {
        font-size: 1.9rem;
        line-height: 1.1;
        margin: 0;
    }
}
/* Banners */
.page-banner,
.banner-vn,
.banner-vo {
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover; /* pour anciens Chrome et Safari */
    background-size: cover; /* version standardisée */
}

.page-banner {
    align-items: center;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    min-height: 400px;
    padding: 1rem;
    text-align: center;
}
.home-ferrari-banner {
    background: url("../images/accueil-BANNIERE-site-ferrari-OK-e1e3507cc0621b1b4c01b4cebd6f650c.webp") no-repeat center;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    isolation: isolate;
    width: 100%;
}
.home-ferrari-banner::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.38));
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}
.home-ferrari-banner > * {
    position: relative;
}
.banner-vn {
    background-image: url("../images/services-VN-BANNIERE-site-ferrari-1-OK-1c8499a7e504282055032e481c620437.webp");
    min-height: 400px;
}
.banner-vo {
    background-image: url("../images/service-vehicules-occasions-page-banner-4d0eac31e1029300f9ef7aaf5606e5c1.webp");
    min-height: 400px;
}
@media (max-width: 991.98px) {
    .header-banner--vehicules {
        background-image: url("../images/new-banner-header-vehicules-occasion-32235b705dec32b15799cc2ee072c2d8.webp");
    }
    .header-banner--toulouse {
        background-image: url("../images/modena-sport-toulouse-banner-1920x630-ad9653676c55417eb40ec89b406d93df.webp");
    }
    .header-banner--biarritz {
        background-image: url("../images/modena-sport-biarritz-banner-1920x630-93d0ff95221d1e8d4b4e90c59ecc69ba.webp");
    }
    .header-banner--service-vo {
        background-image: url("../images/new-banner-header-vente-vo-67891ff156745ce5e24bede0f86d2d28.webp");
    }
    .header-banner--actualites {
        background-image: url("../images/actualites-banner-1920x630-d0495909e166b00ffd3cd800876a8877.webp");
    }
    .header-banner--service-vn {
        background-image: url("../images/service-vente-vn-banner-1920x630-3dc8cda028ff8947c79c85b5148eb968.webp");
    }
    .header-banner--service-sav {
        background-image: url("../images/service-apres-vente-banner-1920x630-a1028bd52fe62665790a5e4c94f76816.webp");
    }
    .header-banner--service-financement {
        background-image: url("../images/service-financement-banner-1920x630-26f08059fb421b16e09ddf722f12a642.webp");
    }
    .before-footer--groupe {
        background-image: url("../images/banner-bottom-groupe-4215fe55135cb5f927c837e223d92616.webp");
    }
    .before-footer--vehicules {
        background-image: url("../images/banner-bottom-vehicules-occasion-4a32a149f58b0b9e7b1a631d43a54e43.webp");
    }
    .before-footer--toulouse {
        background-image: url("../images/banner-bottom-toulouse-160a236612ffd7b80486800b71237b4f.webp");
    }
    .before-footer--biarritz {
        background-image: url("../images/banner-bottom-biarritz-9cc85248a6c3464c26fdb3bcacc39b21.webp");
    }
}
@media (max-width: 767.98px) {
    .page-header {
        padding: 2.5rem 0 1.5rem;
    }
    .heading-section .headline {
        display: block;
        margin-bottom: 1rem !important;
    }
    .heading-section h2,
    .page-header h2,
    .page-header p.archivo {
        font-size: 1.9rem;
        line-height: 1.15;
    }
    .home-ferrari-banner {
        background-image: url("../images/homepage-ferrari-banner-small-a81417599a2401ffb037dfc1c4ff3e37.webp");
        background-position: center center;
        min-height: 19rem;
        padding: 1.5rem 1.25rem;
    }
    .home-ferrari-banner .section-kicker-light {
        font-size: 0.95rem;
        line-height: 1.35;
        margin-bottom: 0.75rem;
    }
    .home-ferrari-banner .section-heading-light {
        font-size: 1.75rem;
        line-height: 1.2;
        margin-bottom: 0;
        max-width: 14ch;
    }
    .banner-vn {
        background-image: url("../images/service-vehicules-neufs-page-banner-5d7b16c8af10b05cf8b971fc28576560.webp");
    }
    .groupe-concession {
        text-align: center;
    }
    .groupe-concession .heading-section,
    .groupe-concession .row,
    .groupe-concession p,
    .groupe-concession .contact-subtitle {
        text-align: center;
    }
    .groupe-concession .container.py-5 {
        padding-bottom: 1.5rem !important;
        padding-top: 1.5rem !important;
    }
    .groupe-concession .row.pb-3,
    .groupe-concession .row.pb-4,
    .groupe-concession p.pb-3 {
        padding-bottom: 0.75rem !important;
    }
    .groupe-concession .btn-auto-width {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (max-width: 575.98px) {
    .home-ferrari-banner {
        background-image: url("../images/homepage-ferrari-banner-tiny-dc66982b16d45cf94b5df7f282987ab3.webp");
        min-height: 17rem;
        padding: 1.25rem 1rem;
    }
    .home-ferrari-banner .section-kicker-light {
        font-size: 0.875rem;
    }
    .home-ferrari-banner .section-heading-light {
        font-size: 1.45rem;
        max-width: 12ch;
    }
    .home-ferrari-banner .btn-banner {
        margin-top: 1rem !important;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .home-ferrari-banner {
        background-image: url("../images/homepage-ferrari-banner-tablet-0f62e30126dd33df2ff832249f30f503.webp");
    }
}
/* Content Sections */
.intro-title {
    font-size: 1.5rem;
}
.sub-title {
    color: var(--color-primary);
    font-family: "Alexandria", sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    text-transform: uppercase;
}
.section-kicker {
    color: var(--color-primary);
    margin-bottom: 24px;
}
.section-kicker-light {
    color: var(--color-white);
    font-size: 20px;
    text-transform: uppercase;
}
.section-heading {
    color: var(--color-text-soft);
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 24px;
}
.section-heading-light {
    color: var(--color-white);
    font-size: 36px;
}
.intro-start p {
    font-size: 0.9375rem;
    line-height: 1.4;
    margin: 0 0 8px;
}
.filters {
    margin: 30px 0;
}
.filter-title {
    color: var(--color-black);
    font-size: 1.15rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}
.filter-label {
    color: var(--color-black);
}
.pagination {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 1rem;
    justify-content: center;
    text-align: center;
}
.pagination .btn {
    min-width: 8.75rem;
}
.pagination .btn-primary,
.pagination .btn-primary:hover,
.pagination .btn-primary:focus-visible {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    box-shadow: none;
}
.pagination .btn-primary[disabled],
.pagination .btn-primary:disabled {
    background-color: rgba(210, 0, 0, 0.35) !important;
    border-color: rgba(210, 0, 0, 0.35) !important;
    color: var(--color-white) !important;
    cursor: not-allowed;
}

/* Single Occasion / Article */
.single-heading {
    background-color: var(--color-grey-100);
}
.single-title {
    border-bottom: solid 1px var(--color-black);
    margin: 0 0 30px 0;
    padding: 0 0 30px 0;
    text-align: left;
}
.single-title .title-first {
    color: var(--color-primary-dark);
    display: block;
    font-size: 1.25rem;
    font-weight: 400;
    margin: 0;
    padding: 0 0 16px;
    text-transform: uppercase;
}
.single-title .title-last {
    color: var(--color-black);
    display: block;
    font-size: 1.8rem;
    margin: 0;
    padding: 0;
}
.single-navigation {
    background-color: var(--color-grey-100);
    padding: 2rem 0;
}
.section-title {
    color: var(--color-black);
    font-size: 1.75rem;
    font-weight: 400;
    margin: 0;
    padding: 0 0 35px;
}
.date-mec,
.kilometrage,
.couleur {
    color: var(--color-black);
    display: flex;
    flex-direction: row;
    font-size: 0.9375rem;
    justify-content: space-between;
    margin: 0;
    padding: 0 0 20px 0;
}
.price-occasion {
    border-bottom: solid 1px var(--color-black);
    color: var(--color-black);
    display: flex;
    flex-direction: row;
    font-size: 1.25rem;
    font-weight: 500;
    justify-content: space-between;
    margin: 0 0 30px 0;
    padding: 0 0 30px 0;
}
.financement {
    margin: 0 0 30px 0;
}
.financement a {
    color: var(--color-primary);
    font-weight: 500;
    text-decoration: none;
}
.official-ferrari-link {
    color: var(--color-primary);
    font-weight: 500;
    text-decoration: none;
}
.financement a:hover {
    text-decoration: underline;
    margin: 0 0 30px 0;
    padding: 0;
}
.official-ferrari-link:hover,
.official-ferrari-link:focus-visible {
    color: var(--color-primary-dark);
    text-decoration: underline;
}
.card-occasion {
    border: none;
    border-radius: 0;
    text-decoration: none;
    transition: box-shadow 0.3s ease, transform 0.3s ease; /* Ajoute une transition fluide */
}
.card-occasion .card-body {
    padding: 1rem 0.9rem 1.1rem;
}

.card-occasion:hover {
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2); /* Effet d'ombre au survol */
    transform: translateY(-5px); /* Légère élévation au survol */
}
.card-img-top {
    border-radius: 0;
}
.card-occasion .card-img-top {
    aspect-ratio: 4 / 3;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}
.card-occasion .card-marque {
    color: var(--color-primary);
    font-size: 1.25rem;
    font-weight: 400;
}
.card-occasion .card-modele {
    color: var(--color-primary);
    font-size: 1.15rem;
    font-weight: 300;
}
.card-occasion .card-text {
    color: #303130;
}
.equipements-grid {
    padding-left: 0;
    list-style: none;
}

.equipements-grid li {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.equipements-grid li svg {
    margin-right: 8px;
    fill: green; /* Couleur du SVG pour le check */
}
.single-nav {
    align-items: center;
    color: var(--color-primary);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    text-decoration: none;
}
#navigationCarousel {
    align-items: center;
    display: flex;
}
#navigationCarousel .carousel-inner {
    flex: 1;
}
#navigationCarousel .carousel-control-prev,
#navigationCarousel .carousel-control-next {
    width: auto;
    z-index: 10;
}
#navigationCarousel .carousel-inner .row {
    justify-content: center;
    margin: 0 auto;
}
.occasion-lightbox {
    align-items: center;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    height: 100vh;
    inset: 0;
    justify-content: center;
    position: fixed;
    width: 100vw;
    z-index: 9999;
}
.occasion-lightbox__container {
    align-items: center;
    display: flex;
    justify-content: center;
    max-height: 90%;
    max-width: 1200px;
    position: relative;
    width: 90%;
}
.occasion-lightbox__image-wrapper {
    display: inline-block;
    position: relative;
}
.occasion-lightbox__image {
    border: 2px solid var(--color-white);
    max-height: 100%;
    max-width: 100%;
}
.occasion-lightbox__close {
    background: transparent;
    border: none;
    color: var(--color-white);
    cursor: pointer;
    font-size: 2rem;
    position: absolute;
    right: 0.5rem;
    top: 0.5rem;
    z-index: 2;
}
.occasion-lightbox__nav {
    align-items: center;
    background: transparent;
    border: none;
    color: var(--color-white);
    cursor: pointer;
    display: flex;
    font-size: 2rem;
    height: 100%;
    padding: 0 10px;
    position: absolute;
}
.occasion-lightbox__nav--prev {
    left: 0;
}
.occasion-lightbox__nav--next {
    right: 0;
}
.link-muted {
    color: var(--color-text-soft);
}
.services-section {
    background-color: #D9D9D9;
    padding: 48px 16px;
}
.services-section .section-kicker {
    color: var(--color-primary-dark);
}
.services-grid {
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
}
.services-grid > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}
.service-panel {
    align-items: center;
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    min-height: 22.5rem;
    padding: 3rem;
    text-align: center;
}
.service-panel-text {
    margin: 1rem 0 3rem;
}
.service-visual {
    color: inherit;
    display: block;
    height: 100%;
    text-decoration: none;
}
.service-visual .image-container {
    display: block;
    height: 100%;
    margin: 0;
    width: 100%;
}
.service-visual-image,
.service-visual .image-container img {
    display: block;
    height: 100%;
    margin: 0 auto;
    object-fit: cover;
    width: 100%;
}
.services-feature {
    align-items: stretch;
    display: grid;
    gap: 0;
    margin-top: 0;
}
.services-feature:first-of-type {
    margin-top: 0;
}
.services-feature-copy,
.services-feature-media {
    min-width: 0;
}
.article-excerpt {
    text-align: justify;
}
.vo-filters-panel,
.contact-cards-section {
    background-color: #D9D9D9;
}
.info-card {
    width: 100%;
}
.info-card-narrow {
    max-width: 100%;
    min-width: 0;
}
@media (min-width: 576px) {
    .info-card {
        width: 30%;
    }
}
@media (min-width: 768px) {
    .info-card-narrow {
    max-width: 320px;
    min-width: 240px;
    }
}
@media (max-width: 767.98px) {
    .contact-cards-section {
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }
    .contact-cards-section .container.py-5,
    .contact-cards-section .row.py-5 {
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }
    .contact-cards-section .info-card,
    .contact-cards-section .info-card-narrow {
        margin-bottom: 1rem;
    }
    .contact-cards-section .info-card:last-child,
    .contact-cards-section .info-card-narrow:last-child {
        margin-bottom: 0;
    }
}
.contact-subtitle {
    font-weight: 300;
}
.text-emphasis {
    font-size: 1.15rem;
    font-weight: 400;
}
.article-list-item {
    border-bottom: solid 1px var(--color-primary);
}
.vehicle-count {
    color: var(--color-black);
    font-size: 1.2rem;
    font-weight: 700;
}
.auth-card {
    width: 360px;
}
.service-row {
    min-height: 100%;
}
@media (max-width: 767.98px) {
    .services-feature {
        gap: 1rem;
    }
    .service-panel {
        min-height: auto;
        padding: 2rem 1.5rem;
    }
}
@media (min-width: 768px) {
    .services-feature {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    .services-feature--reverse .services-feature-copy {
        order: 2;
    }
    .services-feature--reverse .services-feature-media {
        order: 1;
    }
}

/* Forms */
#contact-form .form-select {
    border-radius: 0;
}
#contact-form .form-check-input:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}
#contact_message {
    height: 10rem;
}
.input-group-text {
    background-color: var(--color-white);
    border-radius: 0;
    border-right: none;
}
#filter-search {
    border-left: none;
    padding-left: 0;
}
#filter-search:focus {
    border-color: transparent;
    text-decoration: none;
    outline: 0;
    box-shadow: none;
}

/* Footer */
footer {
    background-color: var(--color-grey-100);
    color: var(--color-black);
    margin: 0;
    padding: 0;
}
.footer-main {
    position: relative;
}
.before-footer {
    background-position: top center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    /*height:360px;*/
    margin: 0;
    aspect-ratio: 4.8 / 1;
    width: 100%;
}
footer a {
    color: var(--color-black);
    text-decoration: none;
}
footer a:hover {
    color: var(--color-primary-dark);
    text-decoration: none;
}
.footer-brand img {
    height: auto;
    width: var(--brand-width);
}
.footer-social {
    width: var(--brand-width);
}
.footer-social-link {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
    width: 2.75rem;
}
.footer-social-link svg {
    display: block;
    flex: 0 0 auto;
    height: 1.375rem;
    width: 1.375rem;
}
.footer-social-link:hover {
    background-color: rgba(194, 0, 24, 0.08);
    color: var(--color-primary);
    transform: translateY(-2px);
}
.footer-meta {
    font-size: 0.85rem;
}
.footer-meta-links {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: center;
}
.footer-title {
    display: block;
    font-size: 0.876rem;
    font-weight: 700;
    padding: 0.5rem 0;
}
.address-card {
    line-height: 1.6;
}
footer p {
    margin: 0;
    padding: 0;
}
footer .nav-link {
    color: var(--color-black);
    font-size: 1rem;
    font-weight: 400;
}
footer .nav-link:hover {
    color: var(--color-primary-dark);
}
@media (max-width: 767.98px) {
    .footer-main {
        padding-bottom: 2rem !important;
        padding-top: 2.5rem !important;
    }
    .footer-column + .footer-column {
        margin-top: 1rem;
    }
    .footer-column--brand {
        align-items: center;
        display: flex;
        flex-direction: column;
        text-align: center;
    }
    .footer-brand {
        display: inline-flex;
        justify-content: center;
    }
    .footer-brand img {
        max-width: min(15rem, 72vw);
        width: 100%;
    }
    .footer-social {
        justify-content: center !important;
        margin-top: 1rem !important;
        max-width: none;
        width: 100%;
    }
    .footer-social-link {
        background-color: rgba(255, 255, 255, 0.72);
        border: 1px solid rgba(0, 0, 0, 0.06);
    }
    .footer-title,
    .address-card {
        text-align: center;
    }
    .footer-title {
        font-size: 0.95rem;
        letter-spacing: 0.02em;
    }
    .address-card {
        background-color: rgba(255, 255, 255, 0.7);
        border: 1px solid rgba(0, 0, 0, 0.05);
        border-radius: 1.1rem;
        margin-top: 0.35rem;
        padding: 1rem 1rem 0.9rem;
    }
    .after-footer {
        margin-top: 0 !important;
        padding: 0 1rem 2.5rem !important;
    }
    .footer-meta-links {
        flex-direction: column;
        gap: 0.5rem;
    }
    .footer-meta-separator {
        display: none;
    }
}

/* Form Skin */
#contact-form .form-control,
#contact-form .form-select {
    background-color: var(--color-white);
    border-bottom: solid 1px var(--color-grey-300);
    border-left: none;
    border-right: none;
    border-top: none;
}
textarea#contact_message.form-control {
    background-color: var(--color-white);
    border: solid 1px var(--color-grey-300);
    border-radius: 0;
}
#contact-form .form-label {
    display: none;
}

/* BACKOFFICE */
.page-back {
    margin: 3rem 0 0;
}

.back-heading {
    margin: 0 0 3rem;
}
.back-content th, .back-content td {
    font-size: 0.9rem;
}
.page-back .col-photo {
    width: var(--back-photo-width);
    padding: 0;
}
.page-back .col-vehicule {
    display: flex;
    flex-direction: column;
    padding: 0 8px 0;
    width: var(--back-vehicle-width);
}
.page-back .col-annee {
    width: var(--back-year-width);
}
.page-back .col-mec {
    text-align: right;
    width: var(--back-meta-width);
}
.page-back .col-km {
    text-align: right;
    width: var(--back-meta-width);
}
.sf-toolbar-clearer {
    clear: both;
    height: 0;
}
#article_excerpt, #article_metaDescription {
    height: 8rem;
}
#cke_1_contents {
    min-height: 52.625rem;
}
.cke_notification_warning {
    display: none;
}
.text-grey-light {
    color: var(--color-text-light);
}

/* Type Helpers */
.alexandria {
    font-family: "Alexandria", sans-serif;
}
.alexandria-bold {
    font-weight: 500;
}
.archivo {
    font-family: "Archivo Black", sans-serif;
}
.headline {
    color: var(--color-primary);
    font-family: "Alexandria", sans-serif;
    font-weight: 300;
    text-transform: uppercase;
}
.intro-title span {
    color: var(--color-primary);
    /*display: none;*/
    font-family: "Alexandria", sans-serif;
    font-size: 1rem;
    font-style: italic;
    font-weight: 300;
    margin-left: 0.5rem;
}
.before-footer--home {
    background-image: url("../images/accueil-BANNIERE-bottom-OK2-e2687cb9817e28fb6765c46c151f2078.webp");
    background-position: top center;
}
.before-footer--services {
    background-image: url("../images/services-BANNIERE-bottom-1-OK-85d9fdbd259ca0b34baf8335b2728357.webp");
}
.before-footer--groupe {
    background-image: url("../images/le-groupe-BANNIERE-bottom-OK-9be920c742625fa94aa3018094a073bf.webp");
}
.before-footer--vehicules {
    background-image: url("../images/vehicules-BANNIERE-bottom-OK-90ab1f81a71efa101d3602a262ae894c.webp");
}
.before-footer--toulouse {
    background-image: url("../images/le-groupe-toulouse-BANNIERE-bottom-OK-f6ca7185bb40244522c76ac2814544cc.webp");
}
.before-footer--biarritz {
    background-image: url("../images/le-groupe-biarritz-BANNIERE-bottom-OK-093c14f2e572a386f683c92d2b7edfd2.webp");
}
.before-footer--service-vo {
    background-image: url("../images/services-VO-BANNIERE-bottom-OK-73dd78a0bc2cac0f404abe3d1c1e13d3.webp");
}
.before-footer--actualites {
    background-image: url("../images/actualites-BANNIERE-bottom-OK-eb698ae6d566011a873d593e6d063177.webp");
}
.before-footer--service-vn {
    background-image: url("../images/services-VN-BANNIERE-bottom-OK-4c27558c5d95325fada6e44c0d4c4757.webp");
}
.before-footer--service-sav {
    background-image: url("../images/services-SAV-BANNIERE-bottom-OK-bd2a5823c704b49294fa0745d9167773.webp");
}
.before-footer--service-financement {
    background-image: url("../images/services-financement-BANNIERE-bottom-OK-869a4a50dbfb05fe0ca68df114d4760d.webp");
}
.before-footer--classiche {
    background-image: url("../images/service-classiche-BANNIERE-bottom-cf2b4c0ba9ce16fe03250b2a01beca96.webp");
}
.before-footer--contact {
    background-image: url("../images/contact-BANNIERE-bottom-OK-e6d42ca0895120e734ccefecfdc6ff28.webp");
}
.before-footer--legal {
    background-image: url("../images/banner-bottom-5fc797ee7f002a2aa7a0545a0cab71e1.webp");
}
.before-footer--single-occasion {
    background-image: url("../images/vehicules-BANNIERE-header-OK-e59fafef4fd79b022e4d825e14b61784.webp");
}
.before-footer--actualite-single {
    background-image: url("../images/actualites-BANNIERE-bottom-2-OK-624d6b2f9cd09b5908df12ce2aebb158.webp");
}
.ms-breadcrumb-nav {
    padding: 1rem 0 0;
}
.ms-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ms-breadcrumb-item {
    align-items: center;
    color: var(--color-grey-500);
    display: inline-flex;
    font-size: 0.875rem;
    line-height: 1.4;
}
.ms-breadcrumb-item::after {
    color: var(--color-grey-400);
    content: "/";
    margin-left: 0.75rem;
}
.ms-breadcrumb-item:last-child::after {
    content: none;
}
.ms-breadcrumb-item a {
    color: inherit;
    text-decoration: none;
}
.ms-breadcrumb-item a:hover,
.ms-breadcrumb-item a:focus {
    color: var(--color-primary);
}
.ms-breadcrumb-item.is-current {
    color: var(--color-black);
    font-weight: 500;
}
.context-links-section {
    padding: 4rem 0;
}
.context-links-intro {
    margin: 0 auto 2rem;
    max-width: 42rem;
}
.context-link-card {
    background: var(--color-white);
    border: 1px solid var(--color-grey-150);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
    padding: 2rem 1.75rem;
}
.context-link-title {
    color: var(--color-black);
    font-family: "Alexandria", sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.875rem;
}
.context-link-text {
    color: var(--color-grey-500);
    margin-bottom: 1.25rem;
}
.image-container img {
    transition: transform 0.3s ease-in-out;
}

.image-container:hover img {
    transform: scale(1.2); /* Augmente la taille de l'image de 20% */
}
@media (max-width: 767.98px) {
    .ms-breadcrumb-nav {
        padding-top: 0.75rem;
    }
    .ms-breadcrumb-list {
        gap: 0.35rem 0.5rem;
    }
    .ms-breadcrumb-item {
        font-size: 0.8125rem;
    }
    .ms-breadcrumb-item::after {
        margin-left: 0.5rem;
    }
    .context-links-section {
        padding: 3rem 0;
    }
    .context-link-card {
        padding: 1.5rem 1.25rem;
    }
    .sav-cta {
        margin-top: 1.5rem;
        text-align: center !important;
    }
    .classiche-cta .btn {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        line-height: 1.4;
        max-width: 100%;
        text-align: center;
        white-space: normal;
    }
}
