@charset "UTF-8";
@import url(main.css);
/*------------------------------------------------------------------------space page secondaire----------------------------------------------------------------------------*/
.spacer { display: none; }

/*------------------------------------------------------------------------augmentation header------------------------------------------------------------------------------*/
.navbar-brand { height: 12vh !important; width: 12vw !important; }

.logo_nav { height: 11vh !important; }

/*--------------------------------------------------------------------enlever recherche fréquente---------------------------------------------------------------------------*/
a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { display: none !important; }

/*-------------------------------------------------------------------------bloc image droite---------------------------------------------------------------------------------*/
#bloc-image-droite li { color: #ffffff; }

.image-droite { background-color: #231F20; }

/*-------------------------------------------------------------------------bloc image gauche--------------------------------------------------------------------------------*/
#bloc-image-gauche li { color: #231F20; }

.image-gauche { background-color: #ffffff; }

/*----------------------------------------------------------------------------Bloc maps-------------------------------------------------------------------------------------*/
.maps-section .content { color: #000000 !important; }

.maps-section .map-content { padding: 50px; }

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

.item-content.mx-5 { color: #000000 !important; font-family: 'Zain', sans-serif; }

/*------------------------------------------------------------------------------texte footer----------------------------------------------------------------------------------*/
footer, footer p, footer a, footer li, footer ul, footer i { color: #FFFFFF !important; font-family: 'Zain', sans-serif; font-size: 1rem; }

footer h5 { color: #FFFFFF !important; font-family: 'Concert One', sans-serif; font-size: 1.25rem; /* légèrement plus grand pour se démarquer */ }

.text-color-third { color: #FFFFFF !important; font-family: 'Zain', sans-serif; font-size: 1rem; text-align: left; hyphens: auto; }

/* ------------------------------------------------------------------------------ombre---------------------------------------------------------------------------------------*/
div.shadow-lg { box-shadow: none !important; }

/*-----------------------------------------------------------------écriture bouton téléphone header-------------------------------------------------------------------------*/
.text-color-fourth { color: #FFFFFF !important; }

/*-----------------------------------------------------------------------surlignement header--------------------------------------------------------------------------------*/
.animated-border-button:after { background-color: #ED1C24; }

/* ---------------------------------------------------------------------bouton contact envoyer------------------------------------------------------------------------------ */
button.btn-outline-dark { --bs-btn-color: #ffffff; --bs-btn-border-color: #ED1C24; --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #000000; --bs-btn-hover-border-color: #000000; --bs-btn-bg: #ED1C24; --bs-gradient: none; background-color: var(--bs-btn-bg); color: var(--bs-btn-color); }

/* ----------------------------------------------------------------------Flèche retour en haut------------------------------------------------------------------------------- */
/* Bouton Retour en haut */
#back-to-top { position: fixed; bottom: 24px; right: 24px; background-color: #ED1C24; color: #ffffff !important; font-size: 20px; font-weight: 700 !important; line-height: 1; text-align: center; padding: 14px 18px; border-radius: 100%; border: 2px solid #ffffff; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); cursor: pointer; text-decoration: none; opacity: 0; pointer-events: none; z-index: 9999; min-width: 48px; /* 👈 meilleure accessibilité mobile */ min-height: 48px; /* 👈 idem */ transform: scale(0.9); /* 👈 effet “pop” à l’apparition */ transition: opacity .3s ease, transform .3s ease, background-color .3s ease; }

/* Visible après le défilement */
#back-to-top.show { opacity: 1; pointer-events: auto; transform: scale(1); }

/* Effet au survol */
#back-to-top:hover { background-color: #E97378; transform: translateY(-3px); }

/* Défilement fluide global (même sans JS) */
html { scroll-behavior: smooth; }

/*--------------------------------------------------------------------------Bouton header-----------------------------------------------------------------------------------*/
.button-header-telephone { width: 9em; height: 2.3em; margin: 0.5em; padding: 0.7rem !important; background: #ED1C24 !important; color: #FFFFFF !important; border: none; border-radius: 20px; font-size: 18px; font-weight: bold; font-family: 'Zain', sans-serif; cursor: pointer; position: relative; z-index: 1; overflow: hidden; transform: none !important; transition: color 0.5s ease !important; }

.button-header-telephone:hover { color: #000000 !important; transform: none !important; top: 0; left: 0; }

.button-header-telephone::after { content: ""; background: #FFFFFF !important; position: absolute; z-index: -1; left: -20%; right: -20%; top: 0; bottom: 0; transform: skewX(-45deg) scale(0, 1); transition: all 0.7s; }

.button-header-telephone:hover::after { transform: skewX(-45deg) scale(1, 1); transition: all 0.7s; }

/*--------------------------------------------------------------------------Bouton simple-----------------------------------------------------------------------------------*/
.button_homepageDoubleScreen { display: inline-block; margin-left: auto; margin-right: auto; position: relative; padding: 0.8rem 1.5rem 0.6rem 1.5rem; background: #000000 !important; color: #FFFFFF; border: 3px solid white !important; border-radius: 30px; font-size: 18px; font-weight: bold; font-family: 'Zain', sans-serif; cursor: pointer; overflow: hidden; z-index: 1; transform: none !important; transition: color 0.7s ease !important; text-decoration: none; text-align: center; line-height: 1.6; }

.button_homepageDoubleScreen:hover { color: #000000 !important; border: 3px solid white; }

.button_homepageDoubleScreen::after { content: ""; background: #FFFFFF !important; position: absolute; z-index: -1; left: -20%; right: -20%; top: 0; bottom: 0; transform: skewX(-45deg) scale(0, 1); transition: all 0.7s; }

.button_homepageDoubleScreen:hover::after { transform: skewX(-45deg) scale(1, 1); }

/*-----------------------------------------------------------------------Bouton activité SEO---------------------------------------------------------------------------------*/
.all-activities-button { width: 6.5em; height: 2.3em; margin: 0.5em; background: black !important; color: white !important; border: none; border-radius: 20px; font-size: 20px; font-weight: bold; font-family: 'Zain', sans-serif; cursor: pointer; position: relative; z-index: 1; overflow: hidden; transform: none !important; transition: color 0.7s ease !important; }

.all-activities-button:hover { color: black !important; transform: none !important; top: 0; left: 0; }

.all-activities-button::after { content: ""; background: white !important; position: absolute; z-index: -1; left: -20%; right: -20%; top: 0; bottom: 0; transform: skewX(-45deg) scale(0, 1); transition: all 0.7s; }

.all-activities-button:hover::after { transform: skewX(-45deg) scale(1, 1); transition: all 0.7s; }

/*---------------------------------------------------------------------------bloc accueil-------------------------------------------------------------------------------------*/
/* === BLOC 1 : ACCUEIL === */
.accueil { position: relative; height: 70vh; /* sur PC */ overflow: hidden; font-family: 'Zain', sans-serif; color: #fff; }

/* --- Vidéo de fond --- */
.video-fond { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(60%); z-index: 0; }

/* --- Titre + texte + bouton (SUR LA VIDÉO) --- */
.texte-centre { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 2; /* au-dessus de la vidéo */ max-width: 700px; padding: 0 15px; }

/* --- Logo au-dessus du H1 --- */
.logo-hero { width: 180px; margin-bottom: 10px; filter: brightness(100%); z-index: 3; display: inline-block; transition: transform 0.3s ease; }

.logo-hero:hover { transform: scale(1.05); }

.texte-centre h1 { font-size: 56px; font-weight: bold; margin-bottom: 15px; }

.texte-centre p { font-size: 18px; color: #ddd; margin-bottom: 25px; line-height: 1.6; }

.bouton-principal { display: inline-block; position: relative; padding: 0.8rem 1.5rem 0.6rem 1.5rem; /* contrôle l’espacement intérieur */ background: #E41E26; color: #FFFFFF; border: none; border-radius: 30px; font-size: 18px; font-weight: bold; font-family: 'Zain', sans-serif; cursor: pointer; overflow: hidden; z-index: 1; transform: none; transition: color 0.7s ease; text-decoration: none; text-align: center; line-height: 1.6; /* centré verticalement */ }

.bouton-principal:hover { color: #000000; }

.bouton-principal::after { content: ""; background: #FFFFFF; position: absolute; z-index: -1; left: -20%; right: -20%; top: 0; bottom: 0; transform: skewX(-45deg) scale(0, 1); transition: all 0.7s; }

.bouton-principal:hover::after { transform: skewX(-45deg) scale(1, 1); }

/* === BLOC 2 : INFOS === */
.infos { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; background: #fff; color: #222; font-family: 'Zain', sans-serif; padding: 40px 6%; height: 30vh; /* sur PC */ box-shadow: 0 -5px 30px rgba(0, 0, 0, 0.05); gap: 20px; }

.bloc { flex: 1 1 300px; padding: 10px 15px; text-align: left; min-width: 250px; }

.bloc h3 { font-size: 20px; color: #111; margin-bottom: 10px; display: block; text-align: center; margin-left: auto; margin-right: auto; }

.bloc p { color: #555; margin-bottom: 10px; line-height: 1.4; }

.horaires { list-style: none; padding: 0; margin: 0; }

.horaires li { display: flex; justify-content: space-between; margin: 5px 0; color: #444; font-size: 15px; }

.bouton-secondaire { display: inline-block; margin-left: auto; margin-right: auto; position: relative; padding: 0.8rem 1.5rem 0.6rem 1.5rem; background: #E41E26; color: #FFFFFF; border: none; border-radius: 30px; font-size: 18px; font-weight: bold; font-family: 'Zain', sans-serif; cursor: pointer; overflow: hidden; z-index: 1; transform: none; transition: color 0.7s ease; text-decoration: none; text-align: center; line-height: 1.6; }

.bouton-secondaire:hover { color: #ffffff; }

.bouton-secondaire::after { content: ""; background: #231F20; position: absolute; z-index: -1; left: -20%; right: -20%; top: 0; bottom: 0; transform: skewX(-45deg) scale(0, 1); transition: all 0.7s; }

.bouton-secondaire:hover::after { transform: skewX(-45deg) scale(1, 1); }

/* === RESPONSIVE === */
@media (max-width: 1024px) { .accueil { height: auto; min-height: 60vh; } .video-fond { height: 60vh; } /* texte toujours sur la vidéo */ .texte-centre { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 0 20px; } .texte-centre h1 { font-size: 42px; } .texte-centre p { font-size: 16px; } .infos { height: auto; padding: 30px 20px; flex-direction: column; align-items: center; text-align: center; } .bloc { text-align: center; flex: 1 1 100%; padding: 10px 0; } .horaires li { justify-content: center; flex-direction: column; font-size: 14px; margin: 4px 0; } .horaires li span { display: block; } }

@media (max-width: 600px) { .texte-centre h1 { font-size: 30px; } .texte-centre p { font-size: 13px; margin: 10px; } .bouton-principal { padding: 10px 24px; font-size: 12px; } .infos { padding: 25px 10px; gap: 10px; } .bloc { padding: 10px 0; } }

@media (max-width: 768px) { .logo-hero { width: 90px; margin-bottom: 5px; } }

/*------------------------------------------------------------------------------bloc presta----------------------------------------------------------------------------------*/
.mcauto-prestations { width: 100%; margin: 0 auto; padding: 60px 60px; background: #ffffff; }

.mcauto-header { display: flex; gap: 40px; align-items: flex-start; margin-bottom: 40px; }

.mcauto-header h2 { font-size: 45px; color: #000000; margin: 0; }

.mcauto-intro { display: flex; gap: 20px; max-width: 800px; }

.mcauto-line { width: 3px; background: #000000; }

.mcauto-intro p { margin: 0; font-size: 20px; color: #000000; line-height: 1.5; font-family: 'Zain', sans-serif; }

/*                         CARDS                          */
.mcauto-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }

.mcauto-card { position: relative; height: 330px; border-radius: 14px; overflow: hidden; background-size: cover; background-position: center; display: flex; align-items: flex-end; }

/* Dégradé pour lisibilité */
.mcauto-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.1)); }

.mcauto-card-content { position: relative; z-index: 2; padding: 25px; color: #fff; }

.mcauto-card-content h3 { margin: 0 0 20px 0; font-size: 20px; color: #fff; }

/*                    BOUTON PRESTA                       */
.bouton-presta { display: inline-block; margin-top: auto; position: relative; padding: 0.8rem 1.5rem 0.6rem 1.5rem; background: #E41E26; color: #FFFFFF; border: none; border-radius: 30px; font-size: 18px; font-weight: bold; font-family: 'Zain', sans-serif; cursor: pointer; overflow: hidden; z-index: 1; transition: color 0.7s ease; text-decoration: none; text-align: center; line-height: 1.6; }

.bouton-presta:hover { color: #231F20; }

.bouton-presta::after { content: ""; background: #ffffff; position: absolute; z-index: -1; left: -20%; right: -20%; top: 0; bottom: 0; transform: skewX(-45deg) scale(0, 1); transition: all 0.7s; }

.bouton-presta:hover::after { transform: skewX(-45deg) scale(1, 1); }

/*                      RESPONSIVE                        */
@media (max-width: 1024px) { .mcauto-cards { grid-template-columns: repeat(2, 1fr); } .mcauto-header { flex-direction: column; gap: 20px; } }

@media (max-width: 768px) { .mcauto-cards { grid-template-columns: 1fr; } .mcauto-header h2 { font-size: 28px; } .mcauto-intro p { font-size: 18px; } .mcauto-prestations { padding: 40px 15px; } }

#prestamc { scroll-margin-top: 80px; }

/*--------------------------------------------------------------------------bloc autres presta--------------------------------------------------------------------------------*/
/* --- SECTION PRINCIPALE --- */
.mcauto-presta-section { width: 100%; max-width: 100%; /* Force la pleine largeur de l'écran */ margin: 0; padding: 60px; background: #ffffff; box-sizing: border-box; /* Empêche le padding de créer un scroll horizontal */ }

/* --- EN-TÊTE --- */
.mcauto-presta-header { display: flex; gap: 40px; align-items: flex-start; margin-bottom: 40px; /* Optionnel : centrer le contenu texte si l'écran est très large */ max-width: 1600px; margin-left: auto; margin-right: auto; }

.mcauto-presta-header h2 { font-size: 45px; color: #000000; margin: 0; white-space: nowrap; }

.mcauto-presta-intro { display: flex; gap: 20px; max-width: 700px; }

.mcauto-presta-line { width: 3px; background: #000000; flex-shrink: 0; }

.mcauto-presta-intro p { margin: 0; font-size: 20px; color: #000000; line-height: 1.5; font-family: 'Zain', sans-serif; }

/* --- GRILLE DE CARTES --- */
.mcauto-presta-grid { display: grid; /* Important : repeat(3, 1fr) divise l'espace en 3 colonnes égales */ grid-template-columns: repeat(3, 1fr); gap: 25px; width: 100%; }

/* --- CARTES INDIVIDUELLES --- */
.mcauto-presta-card { position: relative; height: 330px; border-radius: 14px; overflow: hidden; background-size: cover; background-position: center; display: flex; align-items: flex-end; }

/* Filtre sombre pour lisibilité */
.mcauto-presta-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.1)); }

.mcauto-presta-content { position: relative; z-index: 2; padding: 25px; color: #fff; width: 100%; box-sizing: border-box; }

.mcauto-presta-content h3 { margin: 0 0 20px 0; font-size: 24px; color: #fff; }

/* --- BOUTON --- */
.mcauto-presta-btn { display: inline-block; position: relative; padding: 0.8rem 1.5rem 0.6rem 1.5rem; background: #E41E26; color: #FFFFFF; border: none; border-radius: 30px; font-size: 18px; font-weight: bold; font-family: 'Zain', sans-serif; cursor: pointer; overflow: hidden; z-index: 1; transition: color 0.7s ease; text-decoration: none; text-align: center; line-height: 1.6; }

.mcauto-presta-btn:hover { color: #231F20; }

/* Effet de survol (skew) */
.mcauto-presta-btn::after { content: ""; background: #ffffff; position: absolute; z-index: -1; left: -20%; right: -20%; top: 0; bottom: 0; transform: skewX(-45deg) scale(0, 1); transition: all 0.7s; }

.mcauto-presta-btn:hover::after { transform: skewX(-45deg) scale(1, 1); }

/* --- RESPONSIVE --- */
@media (max-width: 1024px) { .mcauto-presta-grid { grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur tablette */ } .mcauto-presta-header { flex-direction: column; gap: 20px; } }

@media (max-width: 768px) { .mcauto-presta-grid { grid-template-columns: 1fr; /* 1 colonne sur mobile */ } .mcauto-presta-section { padding: 40px 20px; /* Moins de marge sur mobile */ } .mcauto-presta-header h2 { font-size: 28px; white-space: normal; /* Permet au titre de passer à la ligne si besoin */ } .mcauto-presta-intro p { font-size: 18px; } }

/*------------------------------------------------------------------------------bloc avis------------------------------------------------------------------------------------*/
.auto-section { background: #ffffff; padding: 80px 20px; text-align: center; }

.auto-section h2 { font-size: 38px; font-weight: 700 !important; font-family: 'Concert One', sans-serif; margin-bottom: 10px; color: #000000; }

.auto-intro { font-size: 20px; font-family: 'Zain', sans-serif; color: #000000; margin-bottom: 40px; }

.auto-avis { display: flex; justify-content: center; align-items: stretch; gap: 30px; flex-wrap: wrap; max-width: 1100px; margin: 0 auto; }

.auto-carte { background: #fff; border-radius: 12px; width: 320px; padding: 30px 20px; box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.16); display: flex; flex-direction: column; justify-content: space-between; text-align: center; transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; border: 2px solid transparent; min-height: 400px; }

.auto-carte:hover { transform: translateY(-6px); border-color: #ED1C24 !important; box-shadow: 0px 8px 20px rgba(237, 28, 36, 0.45); }

.auto-carte h3 { font-weight: 700 !important; font-size: 18px; font-family: 'Concert One', sans-serif; color: #000000; margin: 0 0 5px; }

.auto-date { color: #000000; font-size: 14px; font-family: 'Zain', sans-serif; margin-bottom: 15px; }

.auto-texte { flex-grow: 1; display: flex; align-items: center; justify-content: center; text-align: center; color: #000000; font-size: 15px; font-family: 'Zain', sans-serif; line-height: 1.6; margin: 15px 0; padding: 0 5px; }

.auto-stars { color: #ED1C24 !important; font-size: 18px; margin-top: 20px; }

/*--------------------------------------------------------------------------bloc waouu presta-------------------------------------------------------------------------------*/
/* SECTION PRINCIPALE */
.wwpresta { position: relative; width: 100%; height: 70vh; min-height: 400px; background: #3a3a3a; overflow: hidden; display: flex; align-items: center; padding-left: 80px; font-family: 'Concert One', sans-serif; }

/* GROSSE LETTRE */
.wwpresta-bg-letter { position: absolute; left: 40px; top: 50%; transform: translateY(-50%); font-size: clamp(120px, 36vw, 700px); font-weight: 900; color: rgba(255, 255, 255, 0.08); line-height: 1; pointer-events: none; z-index: 1; }

/* TEXTE */
.wwpresta-content { position: relative; z-index: 3; color: white; }

.wwpresta-content h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; margin: 0; }

/* IMAGE DE FOND */
.wwpresta-bg-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; opacity: 0.35; }

/* 📱 MOBILE (< 768px)            */
@media (max-width: 768px) { .wwpresta { height: 60vh; padding-left: 20px; min-height: 350px; } .wwpresta-bg-letter { left: 10px; font-size: clamp(100px, 45vw, 400px); } .wwpresta-content h1 { font-size: clamp(1.8rem, 7vw, 2.5rem); } }

/* 📱 PETIT MOBILE (< 480px)      */
@media (max-width: 480px) { .wwpresta { height: 55vh; padding-left: 15px; min-height: 300px; } .wwpresta-bg-letter { left: 5px; font-size: clamp(80px, 50vw, 300px); } .wwpresta-content h1 { font-size: clamp(1.6rem, 8vw, 2.2rem); } }

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