@charset "UTF-8";
@import url(main.css);
/************************************************ MODIFICATIONS GLOBALES ************************************************/
/*********************** NAVBAR ***********************/
.dropdown-parent-custom { position: relative; }

.dropdown-menu-custom { display: none; position: absolute; top: calc(100%); left: 50%; transform: translateX(-50%); background: #fff; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); min-width: 220px; z-index: 9999; overflow: hidden; text-align: left; }

.dropdown-parent-custom:hover .dropdown-menu-custom { display: block; }

.dropdown-item-custom { display: block; padding: 10px 18px; font-size: 0.9rem; color: #333; text-decoration: none; transition: background 0.15s; white-space: nowrap; }

.dropdown-item-custom:hover { background: #f5f5f5; color: #000; }

.chevron-custom { transition: transform 0.2s ease; }

.dropdown-parent-custom:hover .chevron-custom { transform: rotate(180deg); }

@media (max-width: 991px) { .dropdown-menu-custom { position: static; transform: none; box-shadow: none; border: none; border-left: 2px solid #eee; border-radius: 0; margin-left: 1rem; display: none; } .dropdown-parent-custom.open .dropdown-menu-custom { display: block; } }

a.navbar-brand { width: 14vw; display: flex; align-items: center; }

.navbar .container-fluid { padding: 0 2rem; }

.fs-6.animated-border-button { color: #161615 !important; font-weight: 500 !important; }

.animated-border-button:after { background: #0055A0 !important; }

/*********************** FOOTER ***********************/
a.link-body-emphasis .bi { transition: all 0.3s ease; }

a.link-body-emphasis .bi:hover { color: #E8E8E8; }

/*********************** BOUTONS ***********************/
button, input[type="button"], input[type="submit"], input[type="reset"], a[class*="btn"], a[class*="button"] { border-radius: .5rem !important; text-transform: uppercase; text-decoration: none; padding: .5rem 1rem !important; font-weight: 600 !important; transition: all 0.3s ease !important; }

/*********************** COOKIES ***********************/
div#termsfeed-com---nb { border-radius: 0.5rem; bottom: 1rem; right: 1rem; background: #F2F2F2; box-shadow: 0 0 2rem rgba(22, 22, 21, 0.1); }

p#cc-nb-text { font-family: 'Jost', sans-serif; font-size: 1rem !important; font-weight: 300; color: #161615; }

p#cc-nb-title { font-family: 'Jost', serif; color: #0055A0 !important; font-weight: 600 !important; text-transform: uppercase; }

div#termsfeed-com---nb button.cc-nb-okagree, div#termsfeed-com---nb button.cc-nb-reject { background: #D9000D !important; color: #FFF !important; font-weight: 600 !important; text-transform: uppercase; }

div#termsfeed-com---nb button.cc-nb-okagree:hover, div#termsfeed-com---nb button.cc-nb-reject:hover { background: #161615 !important; }

div#termsfeed-com---nb button.cc-nb-changep { background: #FFF; color: #161615 !important; font-weight: 600 !important; text-transform: uppercase; }

div#termsfeed-com---nb button.cc-nb-changep:hover { background: #fff; color: #D9000D !important; }

/************************************************ PAGE D'ACCUEIL ************************************************/
/*********************** HERO ACCUEIL ***********************/
.carousel-item-homepage img, .first-carousel-img { transform: none !important; transition: none !important; box-shadow: none !important; filter: none !important; opacity: 1 !important; }

div#pres { max-width: 1200px; margin: auto; border-radius: .5rem; margin-top: 2rem; background: #F2F2F2; }

#pres .content { max-width: 1200px; }

#pres p { color: #4A0B0F; }

.carousel-item::after { content: ''; height: 100%; width: 100%; position: absolute; background: rgba(22, 22, 21, 0.7); top: 0; left: 0; }

.titleText.text-white.text-center.fs-2.mb-4.mt-lg-5.titles { letter-spacing: normal; }

#fullHeight h1 { font-size: 3.25rem; }

#fullHeight h1 strong { display: flex; flex-direction: column; align-items: center; }

#fullHeight p { font-size: 1.2rem; }

@media screen and (max-width: 992px) { #fullHeight h1 { font-size: 2.5rem; } }

/*********************** CARTES SERVICES ***********************/
.services-section { background-color: #c3c3c3; padding: 4rem 2rem 6rem; position: relative; z-index: 1; }

.services-inner { max-width: 1400px; margin: 0 auto; }

.services-title h2 { text-align: center; color: #161615; font-size: 3rem; text-transform: uppercase; font-weight: 600 !important; margin-bottom: 60px; display: flex; align-items: center; justify-content: center; gap: 1.1rem; }

.services-title h2::before, .services-title h2::after { content: ''; height: 4px; width: 6vw; background: #0055A0; }

.services-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; }

.service-card { background-color: #D9000D; border-radius: 20px; text-align: center; display: flex; flex-direction: column; align-items: center; overflow: hidden; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); transition: transform 0.3s ease, box-shadow 0.3s ease; }

.service-card:hover { transform: translateY(-12px); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25); }

.service-icon { width: 100%; height: 200px; }

.service-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }

.service-card .service-title, .service-card .service-text, .service-card .service-btn { padding-left: 30px; padding-right: 30px; }

.service-title p { margin-top: 30px; margin-bottom: 25px; color: #ffffff; font-weight: 600; font-size: 1.5rem; }

.service-text p { color: #ffffff; font-size: 1.1rem; line-height: 1.6; margin-bottom: 35px; flex-grow: 1; }

.service-btn { text-transform: uppercase; text-decoration: none; border: 1px solid #ffffff; border-radius: .5rem; color: #ffffff; padding: .5rem 1rem; font-size: 1rem; cursor: pointer; font-weight: bold; background: transparent; position: relative; transition: all 0.8s; overflow: hidden; margin-bottom: 2rem; }

.service-btn:hover { color: #D9000D; }

.service-btn::before { content: ""; position: absolute; height: 100%; width: 0%; top: 0; left: -40px; transform: skewX(45deg); background-color: #ffffff; z-index: -1; transition: all 0.8s; }

.service-btn:hover::before { width: 160%; }

@media (max-width: 768px) { .services-section { padding: 80px 5%; } .services-title { font-size: 2.2rem; } }

@media (max-width: 480px) { .service-badge { font-size: 1.4rem; padding: 8px 15px; } .services-title { font-size: 1.8rem; } }

.partenaires-header { display: none; }

/*********************** AVIS GOOGLE ***********************/
.mb-5.googleReviews-div { margin-top: 6rem; }

#google-reviews-widget .card.rounded-3.shadow-lg.mx-4.mb-4 { box-shadow: 0 0 1rem rgba(22, 22, 21, 0.1) !important; border: none; }

.googleReviews-div .card.p-2.rounded-3.shadow-lg.px-4.border-0.d-flex.justify-content-lg-between { box-shadow: 0 0 1rem rgba(22, 22, 21, 0.1) !important; }

.googleReviews-div h3 { font-weight: 600 !important; color: #D9000D; display: flex; flex-direction: column; gap: .5rem; }

.googleReviews-div h3::after { content: ''; height: 3px; width: 50%; background: #0055A0; }

/*********************** MAPS ***********************/
.maps-section.position-relative.bg-sixthColor { max-width: 1200px; margin: auto; padding: 0 2rem; margin-bottom: 2rem; margin-top: 2rem; }

.maps-section h2 { font-weight: 600 !important; color: #D9000D; display: flex; flex-direction: column; gap: 1rem; text-align: left; }

.maps-section h2::after { content: ''; height: 5px; width: 50%; background: #0055A0; }

.maps-section span.fs-4.titles, .maps-section .bi { color: #0055A0; }

.maps-section span.p-1, .maps-section a { color: #161615; transition: all 0.3s ease; }

.maps-section .item-content.mx-5 { margin-left: .5rem !important; }

.maps-section a:hover { color: #0055A0; }

/*********************** ASSURANCES ***********************/
#assurances h2 { font-size: 3rem; text-transform: uppercase; font-weight: 600 !important; display: flex; align-items: center; justify-content: center; gap: 1rem; color: #161615; }

#assurances h2::before, #assurances h2::after { content: ''; height: 4px; width: 6vw; background: #c3c3c3; }

#assurances p { color: #161615; }

div#assurances { padding: 6rem 2rem 0 !important; }

.partenaires-section { padding-bottom: 6rem !important; }

#partenaires { padding-top: 0 !important; }

/*********************** CTA ***********************/
#cta { max-width: 1400px; margin: 4rem auto !important; border-radius: .5rem; overflow: hidden; }

#cta .background-image-div-opacity { background-attachment: scroll !important; position: relative; }

#cta::after { content: ''; width: 100%; height: 400%; background: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FT3MtjmWrmBNKFXGagr9ZIpYqNrq1%2Fimages%2FAdobeStock_617228194_pgv6.webp); background-size: cover; position: absolute; top: -150%; left: 0; opacity: .075; transform: rotate(45deg); }

#cta h2 { font-weight: 600 !important; }

#cta p { color: #FFFFFF; }

#cta a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { background: #FFF !important; color: #D9000D !important; }

#cta a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { background: #161615 !important; color: #fff !important; }

/*********************** RÉSEAUX ***********************/
.custom-social { text-align: center; padding: 4rem 2rem; background: #c3c3c3; }

.custom-social-line { height: 3px; background-color: #0055A0; width: 20%; margin: auto; margin-bottom: 2rem; margin-top: 1rem; }

.custom-social-header { max-width: 1200px; margin: auto; margin-bottom: 60px; }

.custom-social-header h2 { font-size: 2.5rem; font-weight: 600 !important; color: #161615; display: flex; flex-direction: column; align-items: center; }

.custom-social-header p { font-size: 1.1rem; color: #161615; line-height: 1.5; margin: 0 auto; font-weight: 300; }

.custom-social-links { display: flex; justify-content: center; align-items: center; gap: 80px; flex-wrap: wrap; }

.custom-social-item { display: flex; flex-direction: column; align-items: center; text-decoration: none; transition: transform 0.3s ease; }

.custom-social-item span { color: #D9000D; transition: all 0.3s ease; font-weight: 500 !important; }

.social-img-container { width: 200px; margin-bottom: 12px; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; }

.custom-social .bi { color: #D9000D; font-size: 4rem; transition: all 0.3s ease; position: relative; }

.custom-social-item:hover { transform: scale(1.05); }

.custom-social-item:hover .bi::after { opacity: 0.5; }

.custom-social-item:hover .bi { color: #830008; }

.custom-social-item:hover span { color: #830008; }

@media (max-width: 768px) { .custom-social { padding: 80px 25px; } .custom-social-header h2 { font-size: 2rem; } .custom-social-links { gap: 50px; } .social-img-container { width: 100px; height: 100px; } #facebook-svg { width: 57,31px; height: 100px; } .custom-social-line { width: 80%; } }

/* ── Section horaires ── */
/* ── Section horaires ── */
.info-ss__horaires { animation: info-fadeInLeft 0.9s cubic-bezier(0.22, 1, 0.36, 1) both; }

.info-ss__horaires-card { background: #F2F2F2; border: 1px solid #D9000D; border-radius: 4px; width: 100%; max-width: 420px; margin: auto; box-shadow: 10px 10px 0 #D9000D; padding: 36px 32px; transition: transform 0.25s ease, box-shadow 0.25s ease; }

/* ── Header ── */
.info-ss__header, .info-ss__map-header { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }

.info-ss__icon-wrapper { background: #E8E8E8; border: 1px solid black; width: 48px; height: 48px; border-radius: 4px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.info-ss__icon { width: 22px; height: 22px; color: black; }

.info-ss__title { font-size: 1.8rem; line-height: 1.1; color: black; margin: 0; text-transform: uppercase; font-weight: 600 !important; letter-spacing: 0.08rem; }

/* ── Schedule ── */
.info-ss__schedule { display: flex; flex-direction: column; gap: 10px; }

.info-ss__day-row { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border: 1px solid #5e88a324; border-radius: 4px; background: #D9000D; transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease; }

.info-ss__day-row:hover { background: #830008; border-color: rgba(74, 102, 29, 0.3); }

.info-ss__day-row.today { background: #0055A0; border-color: #C9BCA1; }

.info-ss__day-name { font-size: 0.95rem; color: white; font-weight: 600 !important; }

.info-ss__hours { font-size: 0.95rem; font-weight: 600 !important; color: white !important; }

.info-ss__today-badge { font-size: 0.75rem; font-weight: 600; opacity: 0.85; margin-left: 8px; color: white; text-transform: uppercase; letter-spacing: 0.08em; }

/*********************** BLOC SEO ***********************/
.seo-bloc .shadow-lg { box-shadow: none !important; }

.seo-bloc .mx-auto { max-width: 1400px; }

.seo-bloc h3 { font-weight: 600 !important; color: #0055A0; }

.seo-bloc .display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 { margin-bottom: 1.5rem !important; }

/************************************************ PAGES SECONDAIRES ************************************************/
/*********************** HERO SECONDAIRE ***********************/
div#hero { padding-top: 8vh !important; justify-content: start !important; text-align: left !important; max-width: 1400px; margin: auto; border-bottom: 3px solid #0055A0; }

#hero h1 { color: #161615; text-transform: uppercase; font-weight: 600; display: flex; flex-direction: column; align-items: start; }

#hero .lead.p-4.text-color-sixth { padding: 1rem 0 !important; }

#hero p { color: #161615; }

#hero .d-grid.gap-2.d-sm-flex.justify-content-sm-center { justify-content: start !important; }

#hero a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { margin: 0 !important; }

/*********************** BLOC CONTENU PAGE SECONDAIRE ***********************/
div#contenu { max-width: 1400px !important; width: 100% !important; padding: 0 2rem; }

#contenu .row.p-4.pb-0.pe-lg-0.pt-lg-5.pb-lg-5.rounded-3.shadow-lg.justify-content-center.position-relative.bg-primaryColor.text-color-primary { box-shadow: none !important; padding: 0 !important; justify-content: space-between !important; }

#contenu .col-lg-6.p-3.p-lg-4.pt-lg-2.position-relative.z-1 { padding: 0 !important; }

#contenu h2 { font-size: 2.25rem; font-weight: 600 !important; display: flex; flex-direction: column; margin-bottom: 1.5rem; }

#contenu h2::after { content: ''; height: 3px; width: 40%; background: #E8E8E8; margin-top: 1rem; }

/*********************** ENGAGEMENTS ***********************/
#engagements .engagement-overlay.position-absolute.top-0.start-0.w-100.h-100 { background: transparent; }

#engagements .titles.text-center.mb-5.engagement-title.engagement-main-title { color: #161615; display: flex; flex-direction: column; align-items: start; gap: 1rem; }

.engagement-content.container.position-relative { max-width: 1400px; padding: 4rem 2rem; }

#engagements h2 { margin-bottom: 1rem; font-size: 2.5rem; font-weight: 600 !important; display: flex; flex-direction: column; align-items: start; text-align: left; }

#engagements p { margin-bottom: 0 !important; font-weight: 300 !important; }

#engagements .titles.text-center.mb-5.engagement-title.engagement-main-title p { font-size: 1.1rem; }

#engagements .col.engagement-col { width: 48%; padding: 0 !important; margin-top: 0 !important; }

#engagements .row.row-cols-1.row-cols-md-2.row-cols-lg-3.g-4.px-3.mb-5.justify-content-center.engagement-list { gap: 2rem; padding: 2rem 0 !important; }

div#engagement-card-id { padding: 2rem !important; background: #F2F2F2 !important; color: #161615; }

#engagements .card .titles p { font-size: 1.5rem; font-weight: 500 !important; color: #0055A0; }

@media screen and (max-width: 992px) { #engagements .col.engagement-col { width: 100%; } }

/*********************** ASSURANCES PARTENAIRES ***********************/
.partenaires-section h2 { font-weight: 600 !important; font-size: 2.5rem; display: flex; flex-direction: column; }

.partenaires-section p { font-size: 1.1rem; font-weight: 300; }

img.partenaires-carousel-logo.partenaires-logo-image { filter: none; }

/*********************** ASTUCE ***********************/
.astuce { position: relative; max-width: 1400px; padding: 2rem; margin: auto; display: flex; align-items: justify-content; gap: 3rem; }

.astuce-icon { width: 150px; height: 150px; object-fit: contain; }

.astuce-text { display: flex; flex-direction: column; align-items: start; justify-content: end; }

.astuce p { margin-bottom: 0 !important; }

.astuce h3 { font-weight: 500 !important; }

.photoTitleText { background: #fff; max-width: 1400px; margin: auto; }

.photoTitleText .fs-2.fw-700.titles.text-color-sixth { color: #161615 !important; }

.photoTitleText h2 { font-weight: 600 !important; display: flex; flex-direction: column; }

.photoTitleText p { font-size: 1.1rem; font-weight: 300; }

div#myGallery { max-width: 1400px; margin: auto; }

/************************************************ PAGE CONTACT ************************************************/
#contact { overflow: hidden; }

#contact .col-lg-6.text-center.text-color-sixth { padding-left: 6rem; text-align: left !important; }

#contact .background-image-div-opacity::after { content: ''; width: 200%; height: 200%; background: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FT3MtjmWrmBNKFXGagr9ZIpYqNrq1%2Fimages%2FAdobeStock_617228194_pgv6.webp); position: absolute; top: -50%; left: -50%; opacity: .025; transform: rotate(45deg); }

#contact p a { text-decoration: none; color: #D9000D; transition: all 0.3s ease; font-weight: 500 !important; }

#contact p a:hover { font-weight: 700 !important; color: #830008; }

#contact p { line-height: 150% !important; font-size: 1.1rem; color: #161615; }

#contact h1 { color: #161615; font-weight: 600; font-size: 3rem; display: flex; flex-direction: column; align-items: start; text-transform: uppercase; margin-bottom: 1rem !important; }

@media screen and (max-width: 992px) { #contact .col-lg-6.text-center.text-color-sixth { padding-left: 2rem; } }

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