@charset "UTF-8";
@import url(main.css);
a:visited { color: white !important; }

/*============= CUSTOM SEO ===============*/
.maps-section + .my-5.pb-4 + #contact .titles { border: none; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2, a.p-3.fw-bold.fs-6.m-2.phone-number-button.text-decoration-none, a.fw-light.grow.button_header.text-color-fourth.rounded-pill.p-2.text-decoration-none.all-activities-button { background: linear-gradient(135deg, #222eb7, #1a22a0) !important; border-radius: 10px !important; padding: 16px 34px !important; font-weight: 700 !important; text-transform: uppercase; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover, a.p-3.fw-bold.fs-6.m-2.phone-number-button.text-decoration-none:hover, a.fw-light.grow.button_header.text-color-fourth.rounded-pill.p-2.text-decoration-none.all-activities-button:hover { background: linear-gradient(135deg, #222eb7, #1a22a0) !important; }

/*============= CUSTOM BLOC SEO ===============*/
.black-screen { display: none !important; }

.card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { background-color: black; }

/*============= CUSTOM FORMULAIRE DE CONTACT ===============*/
.lh-1.mb-3.titles { margin-left: 70px; border: 2px solid #d41b19; border-radius: 20px; padding: 50px; }

@media (max-width: 768px) { .lh-1.mb-3.titles { padding: 30px; margin-left: 0px; } }

/*============= CUSTOM BLOC MAPS ===============*/
.maps-section .map-content { padding: 50px; }

\
.maps-section iframe { border-radius: 20px !important; }

/*============= CUSTOM HEADER ===============*/
.spacer { display: none; }

a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { text-transform: uppercase; font-weight: 700; font-family: 'Expletus Sans'; }

nav#navigation-bar-show { border-radius: 20px !important; padding: 20px; margin: 10px; }

.animated-border-button:after { background-color: #d41b19; }

.navbar-brand { height: 8vh !important; width: 11vw !important; }

.logo_nav { height: 7vh !important; }

a.button-header-telephone { font-family: 'Expletus Sans', sans-serif; padding: 1rem 1.5rem !important; font-size: 1rem; font-weight: 700 !important; text-transform: uppercase; letter-spacing: 1px; background: transparent; color: #fff !important; border: 2px solid #d41b19; border-radius: 15px !important; cursor: pointer; text-decoration: none !important; display: inline-block; transition: all 0.3s ease; }

a.button-header-telephone:hover { background: #d41b19; transform: translateY(-3px); box-shadow: 0 15px 40px rgba(212, 27, 25, 0.4); color: #fff !important; }

/*==================================================================== HERO D'ACCUEIL ==========================================================================*/
.hero-GP-auto { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; font-family: 'Lato', sans-serif; }

.hero-GP-auto-video { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; transform: translate(-50%, -50%); z-index: 1; object-fit: cover; }

.hero-GP-auto-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 2; }

.hero-GP-auto-content { position: relative; z-index: 10; text-align: center; padding: 2rem; max-width: 1200px; }

.hero-GP-auto-logo { width: 400px; height: auto; margin-bottom: 2rem; filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.5)); }

.hero-GP-auto-title { font-family: 'Expletus Sans', sans-serif; font-size: clamp(3rem, 8vw, 6rem); font-weight: 900 !important; letter-spacing: -2px; margin-bottom: 0.5rem; color: #fff; text-transform: uppercase; }

.hero-GP-auto-tagline { font-family: 'Expletus Sans', sans-serif; font-size: clamp(1.2rem, 3vw, 2rem); font-weight: 300; margin-bottom: 3rem; color: #fff; letter-spacing: 2px; }

.hero-GP-auto-cta-container { display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; }

.hero-GP-auto-cta-button { font-family: 'Expletus Sans', sans-serif; padding: 1.2rem 3rem; font-size: 1.1rem; font-weight: 700 !important; text-transform: uppercase; letter-spacing: 1px; border: none; border-radius: 15px; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-block; }

.hero-GP-auto-cta-primary { background: linear-gradient(135deg, #222eb7, #1a22a0); color: #fff; box-shadow: 0 10px 30px rgba(34, 46, 183, 0.4); }

.hero-GP-auto-cta-primary:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(34, 46, 183, 0.6); color: white; }

.hero-GP-auto-cta-secondary { background: transparent; color: #fff; border: 2px solid #d41b19; }

.hero-GP-auto-cta-secondary:hover { background: #d41b19; transform: translateY(-3px); box-shadow: 0 15px 40px rgba(212, 27, 25, 0.4); color: white; }

.hero-GP-auto-scroll-indicator { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 10; animation: hero-GP-auto-bounce 2s infinite; }

.hero-GP-auto-scroll-arrow { width: 30px; height: 30px; border-left: 3px solid #fff; border-bottom: 3px solid #fff; transform: rotate(-45deg); }

@keyframes hero-GP-auto-bounce { 0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
  40% { transform: translateX(-50%) translateY(-10px); }
  60% { transform: translateX(-50%) translateY(-5px); } }

@media (max-width: 1666px) { .hero-GP-auto-logo { width: 300px; } .hero-GP-auto-title { font-size: 4rem; } .hero-GP-auto-tagline { font-size: 1.5rem; } }

@media (max-width: 768px) { .hero-GP-auto-logo { width: 250px; } .hero-GP-auto-cta-container { flex-direction: column; align-items: center; } .hero-GP-auto-cta-button { width: 100%; max-width: 300px; } }

/*======================================================================= LES SERVICES =====================================================================*/
.services-GP-auto { padding: 150px 0; background: linear-gradient(180deg, #000 0%, #1a1a1a 50%, #000 100%); position: relative; }

.background-image-div-opacity::before, .services-GP-auto::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.01) 10px, rgba(255, 255, 255, 0.01) 20px), repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.01) 10px, rgba(255, 255, 255, 0.01) 20px); pointer-events: none; }

.services-GP-auto-container { max-width: 1400px; margin: 0 auto; position: relative; z-index: 2; }

.services-GP-auto-header { text-align: center; margin-bottom: 4rem; }

.services-GP-auto-title { font-family: 'Expletus Sans', sans-serif; font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 700 !important; color: #fff; text-transform: uppercase; margin-bottom: 1rem; letter-spacing: -1px; }

.services-GP-auto-subtitle { font-family: 'Lato', sans-serif; font-size: clamp(1rem, 2vw, 1.3rem); color: #fff; font-weight: 300; letter-spacing: 1px; }

.services-GP-auto-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 3rem; }

.services-GP-auto-card { background: rgba(57, 57, 57, 0.3); border-radius: 15px; overflow: hidden; border: 2px solid transparent; transition: all 0.4s ease; backdrop-filter: blur(10px); display: flex; flex-direction: column; height: 100%; }

.services-GP-auto-card:hover { transform: translateY(-10px); border-color: #222eb7; box-shadow: 0 20px 50px rgba(34, 46, 183, 0.3); }

.services-GP-auto-card-image { width: 100%; height: 250px; object-fit: cover; transition: transform 0.4s ease; }

.services-GP-auto-card:hover .services-GP-auto-card-image { transform: scale(1.05); }

.services-GP-auto-card-content { padding: 2rem; display: flex; flex-direction: column; flex: 1; }

.services-GP-auto-card-title { font-family: 'Expletus Sans', sans-serif; font-size: 1.3rem; font-weight: 700 !important; color: #fff; margin-bottom: 1.5rem; text-transform: uppercase; letter-spacing: 0.5px; min-height: 3.2rem; }

.services-GP-auto-card-list { list-style: none; padding: 0; margin: 0; flex: 1; }

.services-GP-auto-card-list li { font-family: 'Lato', sans-serif; font-size: 0.95rem; color: #c5c6c5; padding: 0.5rem 0; padding-left: 1.5rem; position: relative; line-height: 1.6; }

.services-GP-auto-card-list li::before { content: '▸'; position: absolute; left: 0; color: #d41b19; font-weight: bold; }

@media (max-width: 1200px) { .services-GP-auto-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 768px) { .services-GP-auto { padding: 3rem 1.5rem; } .services-GP-auto-grid { grid-template-columns: 1fr; gap: 1.5rem; } .services-GP-auto-card-image { height: 200px; } }

/*======================================================================= GALERIE D'IMAGES =====================================================================*/
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; }

.gallery-item { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; }

.gallery-item img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 992px) { .gallery { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 480px) { .close-btn { top: 20px; right: 20px; font-size: 32px; } }

/*======================================================================== LES VEHICULES =====================================================================*/
.vehicules-GP-auto { padding: 200px 0 150px 0; background: linear-gradient(180deg, #000 0%, #1a1a1a 50%, #000 100%); position: relative; }

.vehicules-GP-auto::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.01) 10px, rgba(255, 255, 255, 0.01) 20px), repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.01) 10px, rgba(255, 255, 255, 0.01) 20px); pointer-events: none; }

.vehicules-GP-auto-container { max-width: 1400px; margin: 0 auto; position: relative; z-index: 2; display: grid; grid-template-columns: 1.4fr 1.6fr; gap: 2.2rem; align-items: flex-start; }

.vehicules-GP-auto-left { padding-right: 2rem; }

.vehicules-GP-auto-title { font-family: 'Expletus Sans', sans-serif; font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 700 !important; color: #fff; text-transform: uppercase; margin-bottom: 1.5rem; letter-spacing: -1px; }

.vehicules-GP-auto-description { font-family: 'Lato', sans-serif; font-size: clamp(1rem, 2vw, 1.2rem); color: #c5c6c5; line-height: 1.8; }

.vehicules-GP-auto-cards { display: flex; flex-direction: column; gap: 1.5rem; max-width: 750px; margin-left: 1rem; /* centre dans la colonne */ margin-right: 0; }

.vehicules-GP-auto-card { background: rgba(57, 57, 57, 0.3); border-radius: 15px; min-height: 110px; border: 2px solid transparent; transition: all 0.4s ease; backdrop-filter: blur(10px); display: flex; overflow: hidden; height: 150px; }

.vehicules-GP-auto-card:hover { border-color: #d41b19; box-shadow: 0 15px 40px rgba(212, 27, 25, 0.3); transform: translateX(10px); }

.vehicules-GP-auto-card-image-wrapper { width: 240px; height: 100%; aspect-ratio: auto; height: auto; flex-shrink: 0; overflow: hidden; }

.vehicules-GP-auto-card-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }

.vehicules-GP-auto-card:hover .vehicules-GP-auto-card-image { transform: scale(1.1); }

.vehicules-GP-auto-card-content { padding: 1rem 3rem 1rem 3rem; flex: 1; display: flex; flex-direction: column; /* ⬅️ empile titre + liste */ align-items: flex-start; /* aligne à gauche */ gap: 0.5rem; }

.vehicules-GP-auto-card-title { font-family: 'Expletus Sans', sans-serif; font-size: 1.2rem; font-weight: 700 !important; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; white-space: normal; flex-shrink: 0; }

.vehicules-GP-auto-card-list { list-style: none; padding: 0; margin: 0; }

.vehicules-GP-auto-card-list li { font-family: 'Lato', sans-serif; font-size: 0.95rem; color: #c5c6c5; padding: 0.4rem 0; padding-left: 1.5rem; position: relative; line-height: 1.6; }

.vehicules-GP-auto-card-list li::before { content: '▸'; position: absolute; left: 0; color: #222eb7; font-weight: bold; }

@media (max-width: 1024px) { .vehicules-GP-auto-container { grid-template-columns: 1fr; gap: 3rem; } .vehicules-GP-auto-left { padding-right: 0; text-align: center; } }

@media (max-width: 768px) { .vehicules-GP-auto { padding: 3rem 1.5rem; } .vehicules-GP-auto-card { flex-direction: column; } .vehicules-GP-auto-card-image-wrapper { width: 100%; height: 150px; } .vehicules-GP-auto-card-content { flex-direction: column; align-items: flex-start; gap: 0.5rem; } .vehicules-GP-auto-card-title { white-space: normal; } }

/*======================================================================== BLOC INSTAGRAM ====================================================================*/
.gp-insta-highlight { padding: 100px 0; background: linear-gradient(180deg, #000 0%, #1a1a1a 50%, #000 100%); position: relative; }

.gp-insta-highlight::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.01) 10px, rgba(255, 255, 255, 0.01) 20px), repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.01) 10px, rgba(255, 255, 255, 0.01) 20px); pointer-events: none; }

.gp-insta-container { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: center; z-index: 2; }

/* TEXT */
.gp-insta-title { font-family: 'Expletus Sans', sans-serif; font-size: clamp(2.2rem, 5vw, 3.5rem); color: #fff; text-transform: uppercase; margin-bottom: 1.5rem; font-weight: 700 !important; }

.gp-insta-description { font-family: 'Lato', sans-serif; color: #c5c6c5; line-height: 1.8; margin-bottom: 2rem; }

/* BUTTON */
.gp-insta-button { display: inline-block; padding: 1.3rem 2rem; border-radius: 15px; background: #d41b19; color: #fff; text-decoration: none; font-weight: 600; transition: all 0.3s ease; text-transform: uppercase; }

.gp-insta-button:hover { background: #ff2a26; box-shadow: 0 10px 25px rgba(212, 27, 25, 0.4); transform: translateY(-2px); color: white; }

.gp-insta-visual { order: -1; /* ⬅️ passe la vidéo avant le texte */ }

.gp-insta-video-wrapper { width: 100%; max-width: 400px; /* largeur max de la "carte vidéo" */ aspect-ratio: 9 / 16; /* ⬅️ force le format portrait */ margin: 0 auto; background: black; border-radius: 25px; overflow: hidden; backdrop-filter: blur(8px); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6); position: relative; }

/* Effet vignette premium */
.gp-insta-video-wrapper::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent 40%); pointer-events: none; }

.gp-insta-video-wrapper video { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 900px) { .gp-insta-container { grid-template-columns: 1fr; } .gp-insta-visual { order: 0; } }

@media (max-width: 900px) { .gp-insta-highlight { padding: 80px 0; } .gp-insta-container { grid-template-columns: 1fr; padding: 0 25px; /* garde de l’air */ gap: 3rem; text-align: center; } .gp-insta-title { font-size: 2rem; line-height: 1.2; } .gp-insta-description { font-size: 0.95rem; line-height: 1.6; max-width: 95%; margin: 0 auto 2rem auto; } .gp-insta-button { padding: 1.1rem 1.6rem; font-size: 0.9rem; } }

@media (max-width: 480px) { .gp-insta-title { font-size: 1.7rem; } .gp-insta-description { font-size: 0.9rem; } .gp-insta-container { padding: 0 18px; } }

/*====================================================================== EN TETE CONTACT ==============================================================*/
/* HERO CONTACT */
.gp-contact-hero { position: relative; width: 100%; padding: 80px 30px 0px 30px; height: 55vh; min-height: 420px; overflow: hidden; background-color: #000; }

/* Vidéo */
.gp-contact-video-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; filter: brightness(0.6) contrast(1.1); }

/* Container */
.gp-contact-container { position: relative; z-index: 2; max-width: 1300px; height: 100%; margin: 0 auto; padding: 0 30px; display: grid; grid-template-columns: 1fr 2fr; align-items: center; gap: 80px; }

/* Logo */
.gp-contact-logo img { max-width: 300px; }

/* Texte avec ligne */
.gp-contact-text-lined { display: flex; align-items: stretch; gap: 35px; }

/* Ligne rouge DA */
.gp-contact-line { width: 4px; background: #222eb7; border-radius: 3px; }

/* Texte */
.gp-contact-text-content h1 { font-family: 'Expletus Sans', sans-serif; font-size: 3rem; color: #fff; text-transform: uppercase; line-height: 1.1; margin: 0 0 1.5rem 0; font-weight: 700 !important; }

.gp-contact-text-content p { font-family: 'Lato', sans-serif; font-size: 1.1rem; color: #d0d0d0; max-width: 550px; line-height: 1.7; margin: 0; }

@media (max-width: 900px) { .gp-contact-container { grid-template-columns: 1fr; text-align: center; gap: 40px; } .gp-contact-text-lined { justify-content: center; } }

@media (max-width: 1024px) { .gp-contact-logo img { max-width: 200px; } .gp-contact-text-content h1 { font-size: 2.4rem; } .gp-contact-text-content p { font-size: 1rem; max-width: 480px; } .gp-contact-container { gap: 50px; } }

@media (max-width: 768px) { .gp-contact-hero { height: auto; min-height: unset; padding: 100px 20px 60px 20px; } .gp-contact-container { grid-template-columns: 1fr; text-align: center; gap: 35px; } .gp-contact-logo img { display: none; } .gp-contact-text-lined { flex-direction: column; align-items: center; gap: 18px; } .gp-contact-line { width: 70px; height: 4px; } .gp-contact-text-content h1 { font-size: 2rem; line-height: 1.2; } .gp-contact-text-content p { font-size: 0.95rem; line-height: 1.6; max-width: 90%; margin: 0 auto; } }

/*# sourceMappingURL=custom.css.map */