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

h4 { color: #48983e; }

h2 { display: inline-block; /* n’impacte pas ton layout */ }

h2 span { display: inline; position: relative; }

h2 span::after { content: ""; display: block; width: 60px; height: 3px; background: #db242b; margin-top: 10px; border-radius: 2px; }

/* centrage visuel uniquement du trait */
h2 { text-align: initial; /* on ne touche plus au CMS */ }

.navbar.fixed-top { transition: background-color 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease; }

.navbar.fixed-top.scrolled { background-color: rgba(81, 84, 85, 0.72) !important; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18); }

@media (max-width: 991px) { .navbar.fixed-top, .navbar.fixed-top.scrolled { background-color: #515455 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: 0 8px 25px rgba(32, 33, 33, 0.08); } }

.row.mt-5.flex-lg-row, .row.mt-5.flex-lg-row-reverse { margin-top: 1rem !important; }

#carouselWithFeatures .carousel-caption .col-lg-5 { width: 60% !important; max-width: 60% !important; flex: 0 0 60% !important; }

/*--------------------------------------------------------- HERO ACCUEIL ------------------------------*/
/*--------------------------------------------------------- HERO HOME - BACKGROUND IMAGE IN HTML ---------------------------------------------------------*/
.bloc-7f3a { min-height: 100vh; padding: 0 20px; position: relative; overflow: hidden; isolation: isolate; align-items: center; will-change: transform; }

/* image de fond via HTML */
.bloc-7f3a__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; pointer-events: none; }

/* overlay pour lisibilité */
.bloc-7f3a__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(47, 51, 54, 0.92) 0%, rgba(47, 51, 54, 0.75) 38%, rgba(47, 51, 54, 0.42) 68%, rgba(47, 51, 54, 0.18) 100%); z-index: 1; }

/* contenu au-dessus */
.bloc-7f3a__container { max-width: calc(100% - 180px); margin: 0 auto; width: 100%; padding: 100px 0; display: flex; align-items: center; position: relative; z-index: 2; min-height: 100vh; }

.bloc-7f3a__content { max-width: 900px; }

.bloc-7f3a__logo { margin-bottom: 20px; display: flex; align-items: center; }

.bloc-7f3a__logo img { width: 210px; height: auto; }

.bloc-7f3a__content h1 { margin: 0 0 20px 0; line-height: 1.1; color: #f8f8f8; }

.bloc-7f3a__content p { margin: 0 0 0 0; line-height: 1.6; opacity: 0.9; }

/* CTA */
.bloc-7f3a__cta { display: flex; gap: 15px; flex-wrap: wrap; color: #f8f8f8; margin-top: 30px; }

.bloc-7f3a__btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 22px; text-decoration: none; border-radius: 50rem; transition: all 0.25s ease; }

/* bouton principal */
.bloc-7f3a__btn--primary { background: #48983e; color: #ffffff; border: 1px solid #48983e; }

.bloc-7f3a__btn--primary:hover { background: #2F3336; border-color: #2F3336; }

/* bouton secondaire */
.bloc-7f3a__btn--secondary { background: #db242b; color: #ffffff; border: 1px solid #db242b; }

.bloc-7f3a__btn--secondary:hover { background: #2F3336; border-color: #2F3336; }

/* responsive */
@media (max-width: 768px) { .bloc-7f3a { padding: 70px 20px; } .bloc-7f3a__container { max-width: calc(100% - 40px); } .bloc-7f3a__logo img { width: 150px; } }

/*---------------------------------------------------------BLOC SERVICES------------------------------------------------------------*/
.bloc-k8p2-solutions-durables { text-align: center; margin-bottom: 40px; padding: 50px 40px 40px; background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FmBH31zUFkENKXRanllIXhSEMUPa2%2Fimages%2FExpertise_bbhx.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; }

.bloc-k8p2-solutions-title { margin-bottom: 40px; color: #f8f8f8; }

.bloc-k8p2-services { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }

.bloc-k8p2-service { flex: 0 0 calc((90% - 10px) / 4); box-sizing: border-box; display: block; text-align: center; background-color: rgba(8, 7, 9, 0.85); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); padding: 22px 20px; border-radius: 12px; border: 1px solid #080709; box-shadow: 0 4px 18px rgba(15, 6, 10, 0.08); text-decoration: none; color: #f8f8f8; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; cursor: pointer; }

.bloc-k8p2-service:hover { transform: translateY(-6px); border-color: #dc3c3a; box-shadow: 0 12px 30px rgba(15, 6, 10, 0.18); }

.bloc-k8p2-service img { width: 70px; height: 70px; margin-bottom: 15px; }

.bloc-k8p2-service-text { display: block; color: #f8f8f8; }

.bloc-k8p2-service h3 { color: #f8f8f8 !important; }

.bloc-k8p2-service:hover h3 { transition: color 0.3s ease; }

.bloc-k8p2-solutions-durables, .bloc-k8p2-solutions-durables * { box-sizing: border-box; }

/* Cartes 1 et 4 : vert */
.bloc-k8p2-service:nth-child(1):hover, .bloc-k8p2-service:nth-child(4):hover { border-color: #4caf50; }

.bloc-k8p2-service:nth-child(1):hover h3, .bloc-k8p2-service:nth-child(4):hover h3 { color: #4caf50 !important; }

.bloc-k8p2-service:nth-child(1) img, .bloc-k8p2-service:nth-child(4) img { filter: brightness(0) saturate(100%) invert(57%) sepia(67%) saturate(482%) hue-rotate(73deg) brightness(91%) contrast(89%); }

/* Cartes 2 et 3 : rouge */
.bloc-k8p2-service:nth-child(2):hover, .bloc-k8p2-service:nth-child(3):hover { border-color: #dc3c3a; }

.bloc-k8p2-service:nth-child(2):hover h3, .bloc-k8p2-service:nth-child(3):hover h3 { color: #dc3c3a !important; }

.bloc-k8p2-service:nth-child(2) img, .bloc-k8p2-service:nth-child(3) img { filter: brightness(0) saturate(100%) invert(34%) sepia(80%) saturate(1658%) hue-rotate(333deg) brightness(93%) contrast(88%); }

/* Grand écran : 3 cartes par ligne */
@media (max-width: 1200px) { .bloc-k8p2-service { flex: 0 0 calc((100% - 40px) / 3); } }

/* Tablette : 2 cartes par ligne */
@media (max-width: 900px) { .bloc-k8p2-solutions-durables { padding: 45px 30px 35px; } .bloc-k8p2-service { flex: 0 0 calc((100% - 20px) / 2); } }

/* Mobile : 1 carte par ligne */
@media (max-width: 600px) { .bloc-k8p2-solutions-durables { padding: 40px 20px 30px; background-attachment: scroll; } .bloc-k8p2-services { gap: 16px; } .bloc-k8p2-service { flex: 0 0 100%; padding: 20px 16px; } .bloc-k8p2-service img { width: 60px; height: 60px; } }

/*---------------------------------------------------------BLOC PICTOCARD----------------------------------------------------------------*/
.picto_card { padding: 30px 30px; margin: 0px auto; }

.picto_card .row { margin-top: 0 !important; margin-bottom: 0 !important; }

.picto_card .svg-picto-card { max-width: 500px; margin: 0 auto; }

.picto_card .svg-picto-card .text-shadow { max-width: 350px; margin-left: auto; margin-right: auto; }

/*---------------------------------------------------------BLOC TEXTE SANS IMAGE ----------------------------------------------------------------*/
.bloc-k8p2-bloc { background: #111; padding: 60px 80px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 60px; align-items: center; position: relative; overflow: hidden; }

.bloc-k8p2-left { display: flex; flex-direction: column; gap: 0; }

.bloc-k8p2-eyebrow { font-weight: 600; color: #f8f8f8; margin: 0 0 5px 0; }

.bloc-k8p2-title { font-weight: 800; line-height: 1.15; color: #f8f8f8; margin: 0; }

.bloc-k8p2-right { display: flex; flex-direction: column; gap: 24px; }

.bloc-k8p2-text { line-height: 1.75; color: #f8f8f8; margin: 0; }

.bloc-k8p2-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }

.bloc-k8p2-badge { font-size: 12px; font-weight: 600; letter-spacing: 0.05em; color: #4CAF50; background: rgba(76, 175, 80, 0.1); border: 1px solid rgba(76, 175, 80, 0.35); padding: 5px 14px; border-radius: 20px; }

.bloc-k8p2-badge p { margin-bottom: 0px; }

@media (max-width: 900px) { .bloc-k8p2-bloc { padding: 45px 30px; grid-template-columns: 1fr; gap: 30px; } .bloc-k8p2-right { gap: 18px; } }

@media (max-width: 600px) { .bloc-k8p2-bloc { padding: 40px 22px; } .bloc-k8p2-badges { gap: 8px; } .bloc-k8p2-badge { font-size: 11px; padding: 5px 12px; } }

/*---------------------------------------------------------titre ------------------------------*/
.bloc-contact-breizh { padding: 50px 20px 0px 20px; text-align: center; }

.bloc-contact-breizh__container { max-width: 1200px; margin: 0 auto; }

.bloc-contact-breizh h1, .bloc-contact-breizh h2, .bloc-contact-breizh h3, .bloc-contact-breizh p { margin-top: 0; margin-bottom: 0; }

/* Responsive */
@media (max-width: 768px) { .bloc-contact-breizh { padding: 50px 18px 0px 18px; } }

/*--------------------------------------------------------- BLOC CLIENTS ------------------------------*/
.bloc-a7f3-conseils { padding: 64px 32px; }

.bloc-a7f3-container { max-width: 1200px; margin: 0 auto; text-align: center; }

.bloc-a7f3-conseils h2 { margin-bottom: 24px; }

.bloc-a7f3-intro { max-width: 900px; margin: 0 auto 32px; line-height: 1.5; }

.bloc-a7f3-liste-guides { display: grid; grid-template-columns: repeat(4, 240px); justify-content: center; gap: 20px; }

.bloc-a7f3-item-guide { display: flex; align-items: center; justify-content: center; min-height: 120px; background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%); padding: 16px; border-radius: 10px; border: 1px solid #e6e8ee; text-decoration: none; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06); }

.bloc-a7f3-item-guide img { width: 100%; height: 120px; object-fit: contain; }

@media screen and (max-width: 768px) { .bloc-a7f3-liste-guides { grid-template-columns: 1fr; } .bloc-a7f3-item-guide { min-height: 110px; } .bloc-a7f3-item-guide img { height: 80px; } }

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

/*---------------------------------------------------------
BLOC PRESTATIONS BORNE DE RECHARGE
---------------------------------------------------------*/
.bloc-a7f3-borne { padding: 80px 20px; }

.bloc-a7f3-borne__container { width: 100%; padding: 0 80px; margin: 0 auto; }

.bloc-a7f3-borne__header { max-width: 1550px; margin: 0 auto 45px; text-align: center; }

.bloc-a7f3-borne__header h2 { margin: 0 0 24px; line-height: 1.12; }

.bloc-a7f3-borne__intro p { margin: 0 0 14px; line-height: 1.7; color: #f8f8f8; }

.bloc-a7f3-borne__intro p:last-child { margin-bottom: 0; }

.bloc-a7f3-borne__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }

.bloc-a7f3-borne__card { position: relative; min-height: 300px; padding: 24px; border-radius: 22px; background: #ffffff; border: 1px solid rgba(16, 24, 40, 0.08); box-shadow: 0 18px 45px rgba(16, 24, 40, 0.13); overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }

.bloc-a7f3-borne__card::before { content: ""; position: absolute; right: -45px; top: -45px; width: 130px; height: 130px; border-radius: 50%; background: rgba(72, 152, 62, 0.08); transition: transform 0.35s ease, background 0.35s ease; }

.bloc-a7f3-borne__card:hover { transform: translateY(-6px); border-color: rgba(219, 36, 43, 0.28); box-shadow: 0 24px 60px rgba(16, 24, 40, 0.13); }

.bloc-a7f3-borne__card:hover::before { transform: scale(1.25); background: rgba(219, 36, 43, 0.14); }

.bloc-a7f3-borne__icon { position: relative; z-index: 1; width: 50px; height: 50px; margin-bottom: 22px; display: flex; align-items: center; justify-content: center; border-radius: 15px; background: #48983e; color: #f8f8f8; font-size: 14px; font-weight: 800; transition: background 0.35s ease, color 0.35s ease; }

.bloc-a7f3-borne__card:hover .bloc-a7f3-borne__icon { background: #db242b; color: #f8f8f8; }

.bloc-a7f3-borne__card h3 { position: relative; z-index: 1; margin: 0 0 14px; line-height: 1.25; }

.bloc-a7f3-borne__text { position: relative; z-index: 1; }

.bloc-a7f3-borne__text p { margin: 0; line-height: 1.65; }

/*---------------------------------------------------------
RESPONSIVE
---------------------------------------------------------*/
@media (max-width: 1200px) { .bloc-a7f3-borne__grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 768px) { .bloc-a7f3-borne { padding: 55px 15px; } .bloc-a7f3-borne__container { padding: 0; } .bloc-a7f3-borne__header { margin-bottom: 30px; text-align: left; } .bloc-a7f3-borne__intro { margin: 0; } .bloc-a7f3-borne__grid { grid-template-columns: 1fr; gap: 16px; } .bloc-a7f3-borne__card { min-height: auto; padding: 24px; border-radius: 18px; } .bloc-a7f3-borne__icon { width: 48px; height: 48px; margin-bottom: 20px; border-radius: 14px; } }

/*--------------------------------------------------------- FORMULAIRE ----------------------------------------------------------------*/
#tally-duplication-form-section { padding-top: 0px !important; }

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