*{
    margin: 0;
    padding: 0;
}

:root {
    --white-color: #ffffff;
    --black-color: #000000;
    --cyan-color: #0066CC;
    --blue-color: #0066CC;
}

.logo-size{
    max-width: 230px;
}

/* COLORS */
.text-white{
    color: var(--white-color)!important;
}
.bg-white{
    background-color: var(--white-color)!important;
}
.text-black{
    color: var(--black-color)!important;
}
.bg-black{
    background-color: var(--black-color)!important;
}
.text-cyan{
    color: var(--cyan-color)!important;
}
.bg-cyan{
    background-color: var(--cyan-color)!important;
}
/* COLORS END */
/* Z-INDEX */
.z-index-9{
    z-index: 9!important;
}
.z-index-99{
    z-index: 99!important;
}
.z-index-999{
    z-index: 999!important;
}
.z-index-9999{
    z-index: 9999!important;
}
/* Z-INDEX END */
/* MENU */
.nav-item > div{
    display: none;
}
.nav-item:hover > div{
    display: block;
}
.dropdown-icon::after{
    content: "▾"
}
.dropdown-icon:hover::after{
    content: "⨯"
}
/* MENU END */
/* FONT SIZE */
.fs-7{
    font-size: 15px;
}
.fs-8{
    font-size: 13px;
}
.fs-70{
    font-size: 70px!important;
}
/* Mobile */
@media (min-width: 320px) and (max-width: 480px) {
    .fs-70{
        font-size: 30px!important;
    }
}
/* FONT SIZE END */
/* MARGIN */
.margin-200{
    margin: 0 200px!important;
}
.margin-150{
    margin: 0 150px!important;
}
.margin-100{
    margin: 0 100px!important;
}
.margin-t100{
    margin-top: 100px;
}
/* Mobile */
@media (min-width: 320px) and (max-width: 480px) {
    .margin-200{
        margin: 0 10px!important;
    }
    .margin-150{
        margin: 0 10px!important;
    }
    .margin-100{
        margin: 0 10px!important;
    }
}
.menu-margin{
    margin: 0 7px 0 0;
}
/* Mobile */
@media (min-width: 320px) and (max-width: 480px) {
    .menu-margin{
        margin: 0;
    }
}
/* MARGIN END */
/* HEIGHT */
.h-600p{
    height: 600px;
}
.h-500p{
    height: 500px;
}
.h-400{
    height: 400px;
}
.h-300{
    height: 300px;
}
.h-4p{
    height: 4px;
}
.h-10p{
    height: 10px;
}
.h-80p{
    height: 80px;
}
/* HEIGHT END */
/* WIDTH */
.w-auto{
    width: auto!important;
}
.w-50p{
    width: 50px;
}
.w-80p{
    width: 80px;
}
.w-800p{
    width: 800px;
    max-width: 100%;
}
.w-700p{
    width: 700px;
    max-width: 100%;
}
.w-600p{
    width: 600px;
    max-width: 100%;
}
.w-500p{
    width: 500px;
    max-width: 100%;
}
/* WIDTH END */
/* TEXT LIMITER */
.text-limiter-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    /* number of lines to show */
    line-clamp: 1;
    -webkit-box-orient: vertical;
}
.text-limiter-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* number of lines to show */
    line-clamp: 2;
    -webkit-box-orient: vertical;
}
.text-limiter-5 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    /* number of lines to show */
    line-clamp: 5;
    -webkit-box-orient: vertical;
}
.text-justify{
    text-align: justify!important;
}
/* TEXT LIMITER END */
/* card-img-top */
.card-img-top{
    object-fit: cover;
}
/* card-img-top END */
.fa-bars::before{
    content: "\f0c9";
    opacity: 1;
}
.fa-bars::after{
    content: "\f00d";
    opacity: 0;
}
.fa-bars:hover::before{
    opacity: 0;
}
.fa-bars:hover::after{
    opacity: 1;
}

/* VEHICULE CSS */
/* .vehicule-mask-1{
    -webkit-mask-image: url(../images/mask.png);
    mask-image: url(../images/mask.png);
    mask-repeat: no-repeat;  
} */
.vehicule-clip-1{
    clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
}
/* VEHICULE CSS END */

/* RESPONSIVE MOBILE - Images Nos Modèles */
@media (max-width: 768px) {
    .product-item .card-img-top {
        height: 250px !important;
        object-fit: cover !important;
    }
    
    /* Carousel hero responsive */
    #heroCarousel .carousel-item img {
        height: 300px !important;
    }
    
    #heroCarousel .carousel-caption {
        bottom: 20% !important;
        padding: 0 1rem;
    }
    
    #heroCarousel .carousel-caption h1 {
        font-size: 1.5rem !important;
    }
    
    #heroCarousel .carousel-caption p {
        font-size: 0.9rem !important;
    }
}

@media (max-width: 576px) {
    #heroCarousel .carousel-item img {
        height: 250px !important;
    }
    
    #heroCarousel .carousel-caption h1 {
        font-size: 1.25rem !important;
    }
    
    #heroCarousel .carousel-caption p {
        font-size: 0.8rem !important;
    }
}

/* ============================================
   CASE STUDY SECTION (Spécifications)
   ============================================ */

.case-study {
    padding: 60px 0;
    background: #fff;
}

.case-study li {
    list-style: none;
}

.case-study .title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-dark, #1a1a2e);
    margin-bottom: 3rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.case-study-content {
    margin-bottom: 3rem;
}

.case-study-content .content {
    padding: 2rem;
}

.case-study-content .inner-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--text-dark, #1a1a2e);
    margin-bottom: 1.5rem;
}

.case-study-content .case-description {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-light, #666);
}

.case-study-content .img-content {
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.case-study-content .img-content img {
    width: 100%;
    height: auto;
    transition: transform 0.5s ease;
}

.case-study-content .img-content:hover img {
    transform: scale(1.05);
}

/* ============================================
   PORTFOLIO GALLERY SECTION
   ============================================ */

.portfolio {
    padding: 60px 0;
    background: #fff;
}

.portfolio .section-title {
    margin-bottom: 3rem;
}

.portfolio .content-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-dark, #1a1a2e);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.portfolio-gallery {
    margin: 0;
}

.portflio-item,
.portfolio-item {
    position: relative;
    overflow: hidden;
    margin-bottom: 2rem;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.portflio-item:hover,
.portfolio-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.portflio-item img,
.portfolio-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.5s ease;
}

.portflio-item:hover img,
.portfolio-item:hover img {
    transform: scale(1.1);
}

.portflio-item .overlay-item,
.portfolio-item .overlay-item {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 3rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
    background: rgba(0, 102, 204, 0.8);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.portflio-item:hover .overlay-item,
.portfolio-item:hover .overlay-item {
    opacity: 1;
}

.portflio-item::before,
.portfolio-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.portflio-item:hover::before,
.portfolio-item:hover::before {
    opacity: 1;
}

.portfolio-item-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    color: white;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    z-index: 2;
}

.portflio-item:hover .portfolio-item-content,
.portfolio-item:hover .portfolio-item-content {
    transform: translateY(0);
}

.portfolio-item-content h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.portfolio-item-content p {
    font-size: 0.9rem;
    opacity: 0.9;
    margin: 0;
}

.popup-gallery {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* ============================================
   SLIDER SECTIONS - Pages Modèles
   ============================================ */

/* Taille des sliders sur les pages modèles - Format PC (par défaut) */
.slider.slideDivs,
.container-fluid.slideDivs {
    min-height: 550px !important;
    height: 550px !important;
}

/* Format Tablette */
@media (min-width: 769px) and (max-width: 1024px) {
    .slider.slideDivs,
    .container-fluid.slideDivs {
        min-height: 450px !important;
        height: 450px !important;
    }
}

/* Format Mobile */
@media (max-width: 768px) {
    .case-study .title,
    .portfolio .content-title {
        font-size: 1.8rem;
    }
    
    .case-study-content .inner-title {
        font-size: 1.5rem;
    }
    
    .case-study-content .case-description {
        font-size: 1rem;
    }
    
    /* Sliders format mobile */
    .slider.slideDivs,
    .container-fluid.slideDivs {
        min-height: 300px !important;
        height: 300px !important;
    }
}