@charset "UTF-8";
@import url(main.css);
div.shadow-lg { box-shadow: none !important; }

h2 { color: #f8f8f8; }

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

.logo_nav { height: 8vh !important; }

.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { font-weight: bolder !important; }

.grow.button_header.text-color-fourth.mx-3.mx-lg-2.my-2.my-lg-1.p-2.rounded-pill.text-decoration-none.button-header-telephone { font-weight: bolder !important; }

/*---------------------------------------------------------Tiret sous H2------------------------------*/
.titles { width: 100%; }

.titles h2 { position: relative; display: inline-block; text-align: left; /* Aligner le texte du h2 à gauche */ margin: 0; /* Optionnel : si tu veux retirer toute marge autour de h2 */ }

.titles h2::after { content: ""; display: block; width: 60px; height: 4px; background-color: #E7E549; margin-top: 10px; margin-bottom: 0; border-radius: 0px; margin-left: 0; /* Assurer que le trait est aligné à gauche du h2 */ }

/* Réinitialisation pour les h2 dans .cta_banner */
.cta_banner .titles h2 { text-align: center; /* Assurer que le texte est aligné à gauche */ }

.cta_banner .titles h2::after { content: none; /* Supprime la bordure sous ce h2 */ }

/*-----------------------------------------------Galerie infinie-------------------------------------------------------------*/
.infinite-gallery { overflow: hidden; width: 100%; position: relative; margin: 150px 0; }

.gallery-track { display: flex; gap: 20px; width: max-content; animation: scrollGallery 60s linear infinite; }

.gallery-item { flex: 0 0 auto; }

.gallery-item img { max-height: 400px; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 15px; display: block; }

/* Animation */
@keyframes scrollGallery { from { transform: translateX(0); }
  to { transform: translateX(-50%); } }

/* Pause au survol (optionnel) */
.infinite-gallery:hover .gallery-track { animation-play-state: paused; }

.lightbox { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.9); display: flex; align-items: center; justify-content: center; padding: 40px; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; z-index: 9999; }

.lightbox.active { opacity: 1; pointer-events: auto; }

.lightbox-image { max-width: 90vw; max-height: 90vh; border-radius: 12px; object-fit: contain; }

.lightbox-close { position: absolute; top: 20px; right: 25px; background: transparent; border: none; color: white; font-size: 40px; cursor: pointer; line-height: 1; }

/*---------------------------------------------------------SERVICES---------------------------------------------------------*/
.services { padding: 4rem 1.5rem; background-color: #141517; text-align: center; }

.services-container { max-width: 1200px; margin: 0 auto; }

.services h2 { text-align: left; display: inline-block; margin-bottom: 3rem; color: white; font-weight: 700 !important; }

.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }

.service-card { background-color: #141517; /* Fond sombre par défaut */ padding: 1.5rem; border-radius: 8px; text-decoration: none; color: #e7e549; /* Texte jaune */ text-align: center; position: relative; overflow: hidden; border: 2px solid #e7e549; /* Bordure jaune */ transition: background-color 0.45s, box-shadow 0.45s, color 0.3s ease; }

.service-card:link, .service-card:visited { color: #e7e549; /* Texte jaune par défaut */ text-decoration: none; }

.service-card:hover, .service-card:focus-visible { background-color: #e7e549; /* Fond jaune au survol */ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); color: #141517; /* Texte sombre au survol */ border: 2px solid #e7e549; /* Bordure jaune au survol */ }

.service-card svg { width: 84px; height: 84px; display: block; margin: 0 auto 1.2rem; color: inherit; transition: transform 0.45s; }

.service-card svg path { fill: currentColor; }

.service-card:hover svg, .service-card:focus-visible svg { transform: translateY(-10px); }

.service-content h3 { margin-bottom: 0.5rem; color: currentColor; font-weight: 600; }

.service-content p { color: currentColor; }

/* Media query pour les écrans de petite taille */
@media (max-width: 600px) { .services-grid { grid-template-columns: 1fr; } }

/*---------------------------------------------------------BLOC FACEBOOK---------------------------------------------------------*/
.text-center.titles.text-color-sixth { padding: 20px 80px 20px 20px; text-align: left !important; }

.text-center.titles.text-color-sixth p { text-align: left; }

/*---------------------------------------------------------BLOC MAPS---------------------------------------------------------*/
.map-content { padding: 25px 25px 25px 40px; }

/*---------------------------------------------------------BLOCS page services---------------------------------------------------------*/
.row.mt-5.flex-lg-row, .row.mt-5.flex-lg-row-reverse { margin-top: 1rem !important; }

@media (min-width: 992px) { #broyage .row.flex-lg-row-reverse, #terrassement .row.flex-lg-row-reverse { flex-direction: row !important; } }

@media (min-width: 992px) { #entretien .row { flex-direction: row-reverse !important; } }

/*---------------------------------------------------------ANCRES page services---------------------------------------------------------*/
.page-anchors { display: flex; flex-wrap: wrap; /* permet aux liens de passer à la ligne si écran trop petit */ gap: 20px; /* espace entre les liens */ justify-content: center; /* centre les liens horizontalement */ margin: 60px auto; /* espace autour du bloc */ padding: 0 20px; /* un peu de padding horizontal */ max-width: 1000px; /* largeur maximale du bloc */ background: transparent; /* pas de fond ni contour */ }

.anchor-link { text-decoration: none; color: #e7e549; /* texte*/ font-weight: 600; padding: 12px 18px; /* espace interne du lien */ border-radius: 8px; text-align: center; border: 2px solid #e7e549; /* contour uniquement autour du lien */ transition: all 0.3s ease; }

.anchor-link:link, .anchor-link:visited { color: #e7e549; text-decoration: none; }

.anchor-link:hover { background: #e7e549; /* fond vert au survol */ color: #141517; /* texte blanc */ border-color: #e7e549; /* contour reste vert */ }

@media (max-width: 768px) { .page-anchors { flex-direction: column; /* Change la direction des liens pour une disposition en colonne */ align-items: center; /* Centre les liens verticalement */ padding: 0 10px; /* Réduit le padding horizontal */ margin: 40px auto; /* Réduit la marge autour du bloc */ } .anchor-link { padding: 12px 18px; /* Garde le padding intact */ font-size: 16px; /* Augmente la taille du texte sur les tablettes */ margin-bottom: 10px; /* Ajoute de l'espace entre les liens en colonne */ width: auto; /* Permet au lien de s'ajuster à la largeur */ } }

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