@charset "UTF-8";
@import url(main.css);
@media (min-width: 1200px) { .h2, h2 { font-size: 2.6rem !important; } }

.couvreur-hero, .couvreur-expertises, .couvreur-presentation, .couvreur-prestations, .couvreur-services, .couvreur-hero *, .couvreur-expertises *, .couvreur-presentation *, .couvreur-prestations *, .couvreur-services * { box-sizing: border-box; }

.couvreur-hero, .couvreur-expertises, .couvreur-presentation, .couvreur-prestations, .couvreur-services { position: relative; width: 100%; overflow: hidden; }

.couvreur-container { position: relative; z-index: 2; max-width: 90rem; margin: 0 auto; padding-right: 3rem; padding-left: 3rem; }

/* ------------------------------------------------------- ÉLÉMENTS GRAPHIQUES ANIMÉS AU SCROLL ------------------------------------------------------- */
.couvreur-graphic-reveal { opacity: 0; transform: translateY(2.5rem) scale(0.96); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); }

.couvreur-graphic-reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

/*********************************************************************************************Barre de NAV******************************************************************/
.navbar { max-width: 1600px; width: 90%; margin: 10px auto 0; border-radius: 20px; }

.navbar li { font-weight: 600 !important; }

#navbarSupportedContent > div { gap: 20px; }

.animated-border-button:after { background-color: #fbd100 !important; }

/******************************************************************BOUTONS GENERAUX*******************************************************************/
a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button { position: relative !important; z-index: 1 !important; min-height: 3.8rem !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0.8rem !important; margin: 0 !important; padding: 0.95rem 1.6rem !important; overflow: hidden !important; color: #fbd100 !important; background: #151414 !important; border: 0.125rem solid #fbd100 !important; border-radius: 0.5rem 1.6rem 0.5rem 1.6rem !important; box-shadow: 0 0.8rem 1.8rem rgba(21, 20, 20, 0.2), inset 0 0 0 0 rgba(251, 209, 0, 0) !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: 0.045em !important; text-align: center !important; text-decoration: none !important; text-transform: uppercase !important; vertical-align: middle !important; white-space: nowrap !important; cursor: pointer !important; isolation: isolate !important; transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease, border-radius 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important; }

/************************************************ REFLET DU BOUTON ****************** */
a.button_header::before, a.button_homepageScreen::before, a.button_homepageDoubleScreen::before, a.phone-number-button::before { content: "" !important; position: absolute !important; z-index: -1 !important; top: 0 !important; bottom: 0 !important; left: -35% !important; width: 30% !important; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent) !important; opacity: 0 !important; pointer-events: none !important; transform: skewX(-22deg) !important; transition: left 0.55s ease, opacity 0.25s ease !important; }

/************************************************ ICÔNES ************************** */
a.button_header i, a.button_header svg, a.button_homepageScreen i, a.button_homepageScreen svg, a.button_homepageDoubleScreen i, a.button_homepageDoubleScreen svg, a.phone-number-button i, a.phone-number-button svg { position: relative !important; z-index: 2 !important; width: 1.35rem !important; height: 1.35rem !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; margin: 0 !important; color: inherit !important; fill: currentColor !important; transition: color 0.3s ease, transform 0.3s ease !important; }

a.button_header span, a.button_homepageScreen span, a.button_homepageDoubleScreen span, a.phone-number-button span { position: relative !important; z-index: 2 !important; color: inherit !important; }

/************************************************ SURVOL ************************** */
a.button_header:hover, a.button_homepageScreen:hover, a.button_homepageDoubleScreen:hover, a.phone-number-button:hover { color: #151414 !important; background: #fbd100 !important; border-color: #fbd100 !important; border-radius: 1.6rem 0.5rem 1.6rem 0.5rem !important; box-shadow: 0 1.1rem 2.3rem rgba(21, 20, 20, 0.27), inset 0 0 0 0.125rem rgba(21, 20, 20, 0.08) !important; text-decoration: none !important; transform: translateY(-0.2rem) !important; }

a.button_header:hover::before, a.button_homepageScreen:hover::before, a.button_homepageDoubleScreen:hover::before, a.phone-number-button:hover::before { left: 110% !important; opacity: 1 !important; }

a.button_header:hover i, a.button_header:hover svg, a.button_homepageScreen:hover i, a.button_homepageScreen:hover svg, a.button_homepageDoubleScreen:hover i, a.button_homepageDoubleScreen:hover svg { color: #151414 !important; transform: translateX(0.25rem) !important; }

/************************************************ BOUTON TÉLÉPHONE ******************** */
a.phone-number-button:hover i, a.phone-number-button:hover svg { color: #151414 !important; transform: rotate(-12deg) scale(1.08) !important; }

/************************************************ CLIC ET ACCESSIBILITÉ ************** */
a.button_header:active, a.button_homepageScreen:active, a.button_homepageDoubleScreen:active, a.phone-number-button:active { box-shadow: 0 0.5rem 1rem rgba(21, 20, 20, 0.2), inset 0 0 0 0.125rem rgba(21, 20, 20, 0.1) !important; transform: translateY(0) scale(0.98) !important; }

a.button_header:focus-visible, a.button_homepageScreen:focus-visible, a.button_homepageDoubleScreen:focus-visible, a.phone-number-button:focus-visible { outline: 0.2rem solid #fbd100 !important; outline-offset: 0.3rem !important; }

/************************************************ RESPONSIVE ********************** */
@media screen and (max-width: 40rem) { a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button { min-height: 3.5rem !important; padding: 0.85rem 1.25rem !important; white-space: normal !important; } }

/************************************************ RÉDUCTION DES ANIMATIONS **************** */
@media (prefers-reduced-motion: reduce) { a.button_header, a.button_header::before, a.button_header i, a.button_header svg, a.button_homepageScreen, a.button_homepageScreen::before, a.button_homepageScreen i, a.button_homepageScreen svg, a.button_homepageDoubleScreen, a.button_homepageDoubleScreen::before, a.button_homepageDoubleScreen i, a.button_homepageDoubleScreen svg, a.phone-number-button, a.phone-number-button::before, a.phone-number-button i, a.phone-number-button svg { transition: none !important; } }

/********************************************************************************************************BANNIÈRE**********************************************************/
.couvreur-hero { min-height: 100vh; display: flex; align-items: center; background-position: center; background-repeat: no-repeat; background-size: cover; color: #fbd100; }

.couvreur-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21, 20, 20, 0.96) 0%, rgba(21, 20, 20, 0.83) 38%, rgba(21, 20, 20, 0.42) 72%, rgba(21, 20, 20, 0.62) 100%), linear-gradient(180deg, rgba(21, 20, 20, 0.2) 0%, rgba(21, 20, 20, 0.04) 62%, rgba(21, 20, 20, 0.92) 100%); }

.couvreur-hero__glow { position: absolute; top: 12%; right: -10%; width: 35rem; height: 35rem; border: 0.0625rem solid rgba(251, 209, 0, 0.25); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(251, 209, 0, 0.04), 0 0 0 8rem rgba(251, 209, 0, 0.025); }

.couvreur-hero__content { position: relative; z-index: 2; max-width: 68rem; padding: 8rem 3rem 10rem; margin: auto; }

.couvreur-hero__logo { display: block; width: 8rem; height: 8rem; margin-bottom: 2.5rem; object-fit: contain; }

.couvreur-hero__line { width: 6rem; height: 0.25rem; margin-bottom: 2rem; background: #fbd100; border-radius: 99rem; }

.couvreur-hero__title { max-width: 55rem; margin: 0 0 2.75rem; color: white; font-weight: 800; line-height: 1.05; letter-spacing: -0.04em; text-wrap: balance; }

.couvreur-hero__title p { font-weight: normal !important; line-height: 1.3 !important; margin-top: 30px; }

.couvreur-hero__button { display: inline-flex; align-items: center; justify-content: center; gap: 1.1rem; min-height: 4rem; padding: 1rem 1.7rem; color: #151414; background: #fbd100; border: 0.125rem solid #fbd100; border-radius: 0.5rem 1.5rem 0.5rem 1.5rem; font-weight: 800; line-height: 1.2; letter-spacing: 0.04em; text-decoration: none; text-transform: uppercase; transition: color 0.3s ease, background 0.3s ease, border-radius 0.3s ease, transform 0.3s ease; }

.couvreur-hero__button:visited { color: #151414 !important; }

.couvreur-hero__button-icon { width: 1.5rem; height: 1.5rem; flex-shrink: 0; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1); }

.couvreur-hero__button:hover { color: #fbd100; background: rgba(21, 20, 20, 0.72); border-radius: 1.5rem 0.5rem 1.5rem 0.5rem; transform: translateY(-0.2rem); }

.couvreur-hero__button:visited:hover { color: #fbd100 !important; }

.couvreur-hero__button:hover .couvreur-hero__button-icon { animation: couvreur-arrow-hover 0.8s ease-in-out infinite alternate; }

.couvreur-scroll { position: absolute; z-index: 3; bottom: 4rem; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 0.7rem; color: #fbd100; text-decoration: none; transform: translateX(-50%); }

.couvreur-scroll__label { font-weight: 700; line-height: 1; letter-spacing: 0.18em; text-transform: uppercase; }

.couvreur-scroll__mouse { position: relative; display: block; width: 1.75rem; height: 2.8rem; border: 0.125rem solid #fbd100; border-radius: 2rem; }

.couvreur-scroll__dot { position: absolute; top: 0.5rem; left: 50%; width: 0.3rem; height: 0.55rem; background: #fbd100; border-radius: 99rem; transform: translateX(-50%); animation: couvreur-scroll-dot 1.8s ease-in-out infinite; }

/************************************************ RESPONSIVE ********************** */
@media screen and (max-width: 700px) { .couvreur-hero__title p { display: none !important; } }

/*********************************************************************************************EXPERTISES***********************************************************************/
.couvreur-expertises { z-index: 3; margin-top: -2rem; padding: 7rem 0 9rem; color: #151414; background: #fbd100; }

.couvreur-expertises::before { content: ""; position: absolute; top: -5rem; left: -5%; width: 110%; height: 8rem; background: #fbd100; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

.couvreur-expertises__decoration { position: absolute; top: 4rem; right: -7rem; width: 20rem; height: 20rem; border: 0.125rem solid rgba(21, 20, 20, 0.12); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(21, 20, 20, 0.035), 0 0 0 6rem rgba(21, 20, 20, 0.02); }

.couvreur-expertises__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }

.couvreur-expertise-card { position: relative; min-height: 16rem; display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; color: #fbd100; background: #151414; border-radius: 0.7rem 3rem 0.7rem 3rem; box-shadow: 0 1.5rem 3rem rgba(21, 20, 20, 0.16); }

.couvreur-expertise-card:nth-child(even) { border-radius: 3rem 0.7rem 3rem 0.7rem; }

.couvreur-expertise-card::after { content: ""; position: absolute; right: 1.2rem; bottom: 1.2rem; width: 2.2rem; height: 2.2rem; border-right: 0.125rem solid rgba(251, 209, 0, 0.35); border-bottom: 0.125rem solid rgba(251, 209, 0, 0.35); border-radius: 0 0 0.5rem 0; }

.couvreur-expertise-card__icon { width: 4.5rem; height: 4.5rem; display: flex; align-items: center; justify-content: center; color: #151414; background: #fbd100; border-radius: 1rem 2rem 1rem 2rem; box-shadow: #645f22 3px 3px 6px 0px inset, rgba(54, 45, 11, 0.5) -3px -3px 6px 1px inset; }

.couvreur-expertise-card__icon svg { width: 2.8rem; height: 2.8rem; }

.couvreur-expertise-card__title { position: relative; z-index: 1; margin: 3rem 0 0; color: #fbd100; font-weight: 700 !important; line-height: 1.1; letter-spacing: -0.025em; font-size: 2rem; }

/************************************************ QUALIFICATIONS DANS LE HERO ************ */
.couvreur-hero__qualifications { position: absolute; z-index: 4; right: 3rem; bottom: 4rem; display: flex; align-items: center; gap: 1rem; }

.couvreur-hero__qualification { position: relative; width: 7rem; height: 7rem; display: flex; align-items: center; justify-content: center; padding: 0.7rem; overflow: hidden; }

.couvreur-hero__qualification img { position: relative; z-index: 2; width: 100%; height: 100%; display: block; object-fit: contain; }

/************************************************ RESPONSIVE ********************** */
@media screen and (max-width: 48rem) { .couvreur-hero__qualifications { right: 1.25rem; bottom: 1.5rem; gap: 0.6rem; } .couvreur-hero__qualification { width: 5.3rem; height: 5.3rem; padding: 0.5rem; border-radius: 0.7rem 1.5rem 0.7rem 1.5rem; } .couvreur-hero__qualification:nth-child(2) { border-radius: 1.5rem 0.7rem 1.5rem 0.7rem; } .couvreur-scroll { left: 1.25rem; align-items: flex-start; transform: none; } }

@media screen and (max-width: 30rem) { .couvreur-hero__qualifications { right: 1rem; bottom: 1.25rem; } .couvreur-hero__qualification { width: 4.5rem; height: 4.5rem; } .couvreur-scroll__label { display: none; } }

/************************************************************************************PRÉSENTATION********************************************************************************/
.couvreur-presentation { margin-top: -2rem; padding: 10rem 0 11rem; color: #fbd100; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FURxbx3noPANgZqZi5270OPrdRiv1%2Fimages%2FCHARTE_GRAPHIQUE_2_wpm0.webp); background-size: cover; background-position: center; }

.couvreur-presentation::before { content: ""; position: absolute; top: -5rem; left: -5%; width: 110%; height: 8rem; background: #151414; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

.couvreur-presentation__shape { position: absolute; bottom: 4rem; left: -9rem; width: 26rem; height: 26rem; border: 0.0625rem solid rgba(251, 209, 0, 0.15); border-radius: 48% 52% 62% 38% / 45% 37% 63% 55%; transform: rotate(24deg); }

.couvreur-presentation__grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: center; gap: 6rem; }

.couvreur-presentation__content { position: relative; z-index: 2; }

.couvreur-section-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.4rem; }

.couvreur-section-heading__line { display: block; width: 3.5rem; height: 0.2rem; flex-shrink: 0; background: #fbd100; border-radius: 99rem; }

.couvreur-section-heading__label { color: #fbd100; font-weight: 800; line-height: 1.3; letter-spacing: 0.15em; text-transform: uppercase; font-family: 'Candal'; }

.couvreur-section-heading--dark .couvreur-section-heading__line { background: #151414; }

.couvreur-section-heading--dark .couvreur-section-heading__label { color: #151414; }

.couvreur-presentation__title { max-width: 38rem; margin: 0 0 2rem; color: #fbd100; line-height: 1.08; letter-spacing: -0.035em; text-wrap: balance; }

.couvreur-presentation__title h2 { line-height: 1.05; letter-spacing: -0.045em; margin-bottom: 30px; }

.couvreur-presentation__title h3 { font-weight: 700 !important; color: white !important; }

.couvreur-presentation__text { max-width: 41rem; color: white; line-height: 1.8; }

.couvreur-presentation__text p { margin: 0 0 1.2rem; }

.couvreur-presentation__signature { display: flex; align-items: flex-end; gap: 0.4rem; margin-top: 2rem; }

.couvreur-presentation__signature span { display: block; width: 0.35rem; background: #fbd100; border-radius: 99rem; }

.couvreur-presentation__signature span:nth-child(1) { height: 1.3rem; }

.couvreur-presentation__signature span:nth-child(2) { height: 2rem; }

.couvreur-presentation__signature span:nth-child(3) { height: 0.8rem; }

/* ------------------------------------------------------- COMPARATEUR AVANT / APRÈS ------------------------------------------------------- */
.couvreur-comparison { position: relative; padding: 1rem; background: rgba(251, 209, 0, 0.08); border: 0.0625rem solid rgba(251, 209, 0, 0.2); border-radius: 3rem 0.8rem 3rem 0.8rem; }

.couvreur-comparison::before { content: ""; position: absolute; top: -1rem; right: -1rem; width: 8rem; height: 8rem; border-top: 0.2rem solid #fbd100; border-right: 0.2rem solid #fbd100; border-radius: 0 2.5rem 0 0; }

.couvreur-comparison__media { position: relative; min-height: 34rem; overflow: hidden; background: #151414; border-radius: 2.4rem 0.5rem 2.4rem 0.5rem; }

.couvreur-comparison__image { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; user-select: none; pointer-events: none; }

.couvreur-comparison__after { position: absolute; inset: 0; width: 100% !important; overflow: hidden; clip-path: inset(0 0 0 50%); }

.couvreur-comparison__image--after { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }

.couvreur-comparison__labels { position: absolute; z-index: 3; top: 1.5rem; right: 1.5rem; left: 1.5rem; display: flex; justify-content: space-between; pointer-events: none; }

.couvreur-comparison__labels span { padding: 0.55rem 0.9rem; color: #151414; background: #fbd100; border-radius: 99rem; font-weight: 800; line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; }

.couvreur-comparison__handle { position: absolute; z-index: 4; top: 0; bottom: 0; width: 0.2rem; background: #fbd100; transform: translateX(-50%); pointer-events: none; }

.couvreur-comparison__handle-button { position: absolute; top: 50%; left: 50%; width: 3.5rem; height: 3.5rem; display: flex; align-items: center; justify-content: center; color: #151414; background: #fbd100; border: 0.35rem solid rgba(21, 20, 20, 0.35); border-radius: 50%; box-shadow: 0 0.8rem 2rem rgba(21, 20, 20, 0.35); transform: translate(-50%, -50%); }

.couvreur-comparison__handle-button svg { width: 1.5rem; height: 1.5rem; }

.couvreur-comparison__range { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; margin: 0; cursor: ew-resize; opacity: 0; }

/***************************************************************************CARTES PRESTATIONS*****************************************************************************/
.couvreur-prestations { margin-top: -2rem; padding: 10rem 0 12rem; color: #151414; background: #fbd100; }

.couvreur-prestations::before { content: ""; position: absolute; top: -5rem; left: -5%; width: 110%; height: 8rem; background: #fbd100; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

.couvreur-prestations__circle { position: absolute; top: 3rem; left: -8rem; width: 22rem; height: 22rem; border: 0.125rem solid rgba(21, 20, 20, 0.1); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(21, 20, 20, 0.025), 0 0 0 6rem rgba(21, 20, 20, 0.018); }

.couvreur-prestations__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); align-items: end; gap: 4rem; margin-bottom: 5rem; }

.couvreur-prestations__title { margin: 0; color: #151414; line-height: 1.05; letter-spacing: -0.045em; text-transform: uppercase; }

.couvreur-prestations__intro { max-width: 38rem; color: rgba(21, 20, 20, 0.72); line-height: 1.8; }

.couvreur-prestations__intro p { margin: 0; }

.couvreur-prestations__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 1.5rem; }

.couvreur-prestation-card { position: relative; min-height: 32rem; display: flex; overflow: hidden; color: #fbd100; background: #151414; border-radius: 0.8rem 4rem 0.8rem 4rem; box-shadow: 0 1.8rem 3.5rem rgba(21, 20, 20, 0.18); text-decoration: none; isolation: isolate; }

.couvreur-prestation-card--offset { margin-top: 3rem; border-radius: 4rem 0.8rem 4rem 0.8rem; }

.couvreur-prestation-card__visual { position: absolute; z-index: -2; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease; }

.couvreur-prestation-card__overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(21, 20, 20, 0.18) 0%, rgba(21, 20, 20, 0.5) 52%, rgba(21, 20, 20, 0.97) 100%); transition: background 0.4s ease; }

.couvreur-prestation-card__number { position: absolute; top: 1.5rem; right: 1.5rem; min-width: 3.4rem; min-height: 3.4rem; display: flex; align-items: center; justify-content: center; color: #151414; background: #fbd100; border-radius: 50%; font-weight: 900; }

.couvreur-prestation-card__content { width: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 2.3rem; }

.couvreur-prestation-card__title { max-width: 20rem; color: #fbd100; font-weight: 900; line-height: 1.05; letter-spacing: -0.035em; text-transform: uppercase; font-size: 3rem; }

@media (max-width: 1000px) { .couvreur-prestation-card__title { font-size: 3rem; } }

.couvreur-prestation-card__link { display: flex; align-items: center; gap: 0.8rem; margin-top: 1.5rem; color: #fbd100; font-weight: 800; line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; }

.couvreur-prestation-card__link svg { width: 1.4rem; height: 1.4rem; transition: transform 0.35s ease; }

.couvreur-prestation-card:hover .couvreur-prestation-card__visual { filter: contrast(1.08); transform: scale(1.06); }

.couvreur-prestation-card:hover .couvreur-prestation-card__overlay { background: linear-gradient(180deg, rgba(21, 20, 20, 0.28) 0%, rgba(21, 20, 20, 0.62) 52%, rgba(21, 20, 20, 0.98) 100%); }

.couvreur-prestation-card:hover .couvreur-prestation-card__link svg { transform: translateX(0.45rem); }

/***************************************************************************************SERVICES*************************************************************/
.couvreur-services { margin-top: -2rem; padding: 10rem 0 11rem; color: #fbd100; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FURxbx3noPANgZqZi5270OPrdRiv1%2Fimages%2FCHARTE_GRAPHIQUE_1_8q2w.webp); background-size: cover; background-position: center; background-attachment: fixed; }

.couvreur-services::before { content: ""; position: absolute; top: -5rem; left: -5%; width: 110%; height: 8rem; background: #151414; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

.couvreur-services__glow { position: absolute; right: -10rem; bottom: -8rem; width: 30rem; height: 30rem; background: rgba(251, 209, 0, 0.045); border: 0.0625rem solid rgba(251, 209, 0, 0.12); border-radius: 44% 56% 36% 64% / 59% 38% 62% 41%; transform: rotate(-20deg); }

.couvreur-services__header { max-width: 52rem; margin-bottom: 5rem; }

.couvreur-services__title { margin: 0; color: #fbd100; font-weight: 900; line-height: 1.05; letter-spacing: -0.045em; text-transform: uppercase; }

.couvreur-services__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

.couvreur-service-item { position: relative; min-height: 11rem; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 1.5rem; padding: 2rem; overflow: hidden; color: #fbd100; background: linear-gradient(125deg, rgba(251, 209, 0, 0.08) 0%, rgba(251, 209, 0, 0.025) 100%); border: 0.0625rem solid rgba(251, 209, 0, 0.14); border-radius: 0.7rem 2.5rem 0.7rem 2.5rem; backdrop-filter: blur(7px) brightness(0.6); }

.couvreur-service-item:nth-child(4n + 2), .couvreur-service-item:nth-child(4n + 3) { border-radius: 2.5rem 0.7rem 2.5rem 0.7rem; }

.couvreur-service-item::after { content: ""; position: absolute; right: -2rem; bottom: -3rem; width: 8rem; height: 8rem; background: rgba(251, 209, 0, 0.035); border-radius: 50%; }

.couvreur-service-item__number { color: rgba(211, 211, 211, 0.65); font-weight: 900; line-height: 1; letter-spacing: 0.08em; }

.couvreur-service-item__icon { width: 4rem; height: 4rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #151414; background: #fbd100; border-radius: 1rem 1.8rem 1rem 1.8rem; }

.couvreur-service-item__icon svg { width: 3rem; height: 3rem; }

.couvreur-service-item__title { position: relative; z-index: 1; margin: 0; color: #fbd100; font-weight: 700 !important; line-height: 1.3; letter-spacing: -0.015em; }

/* ------------------------------------------------------- ANIMATIONS ------------------------------------------------------- */
@keyframes couvreur-arrow-hover { from { transform: translateX(0); }
  to { transform: translateX(0.45rem); } }

@keyframes couvreur-scroll-dot { 0% { opacity: 0;
    transform: translate(-50%, 0); }
  30% { opacity: 1; }
  70% { opacity: 1; }
  100% { opacity: 0;
    transform: translate(-50%, 1.2rem); } }

/* ------------------------------------------------------- RESPONSIVE ------------------------------------------------------- */
@media screen and (max-width: 68rem) { .couvreur-container { padding-right: 2rem; padding-left: 2rem; } .couvreur-expertises__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .couvreur-presentation__grid { grid-template-columns: minmax(0, 1fr); gap: 4rem; } .couvreur-comparison__media { min-height: 31rem; } .couvreur-prestations__header { grid-template-columns: minmax(0, 1fr); gap: 2rem; } .couvreur-prestations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .couvreur-prestation-card--offset { margin-top: 0; } .couvreur-prestation-card:last-child { grid-column: 1 / -1; min-height: 27rem; } }

@media screen and (max-width: 48rem) { .couvreur-container { padding-right: 1.25rem; padding-left: 1.25rem; } .couvreur-hero__content { padding: 7rem 1.25rem 9rem; } .couvreur-hero__logo { width: 6rem; height: 6rem; } .couvreur-hero__glow { top: 20%; right: -14rem; } .couvreur-expertises, .couvreur-presentation, .couvreur-prestations, .couvreur-services { padding-top: 8rem; padding-bottom: 8rem; } .couvreur-expertises__grid, .couvreur-prestations__grid, .couvreur-services__grid { grid-template-columns: minmax(0, 1fr); } .couvreur-expertise-card { min-height: 13rem; } .couvreur-comparison__media { min-height: 25rem; } .couvreur-prestation-card, .couvreur-prestation-card:last-child { grid-column: auto; min-height: 27rem; } .couvreur-service-item { grid-template-columns: auto minmax(0, 1fr); } .couvreur-service-item__number { position: absolute; top: 1rem; right: 1.2rem; } }

@media screen and (max-width: 32rem) { .couvreur-hero__button { width: 100%; } .couvreur-comparison { padding: 0.6rem; } .couvreur-comparison__media { min-height: 21rem; } .couvreur-comparison__labels { top: 1rem; right: 1rem; left: 1rem; } .couvreur-service-item { min-height: unset; align-items: start; padding: 1.5rem; } .couvreur-service-item__title { font-size: 16px; margin: auto; margin-left: 0 !important; } }

@media (prefers-reduced-motion: reduce) { .couvreur-graphic-reveal, .couvreur-hero__button, .couvreur-hero__button-icon, .couvreur-prestation-card__visual, .couvreur-prestation-card__overlay, .couvreur-prestation-card__link svg { transition: none; } .couvreur-scroll__dot, .couvreur-hero__button:hover .couvreur-hero__button-icon { animation: none; } }

/******************************************************************************AVIS GOOGLE ****************************************************************/
div.googleReviews-div { position: relative !important; margin: 0 !important; padding: 8rem 0 9rem !important; overflow: hidden !important; color: #fbd100 !important; background: #151414 !important; isolation: isolate !important; }

div.googleReviews-div::before { content: "" !important; position: absolute !important; z-index: -1 !important; top: -9rem !important; right: -7rem !important; width: 24rem !important; height: 24rem !important; border: 0.0625rem solid rgba(251, 209, 0, 0.16) !important; border-radius: 43% 57% 62% 38% / 48% 35% 65% 52% !important; box-shadow: 0 0 0 3rem rgba(251, 209, 0, 0.025), 0 0 0 6rem rgba(251, 209, 0, 0.015) !important; transform: rotate(18deg) !important; }

div.googleReviews-div::after { content: "" !important; position: absolute !important; z-index: -1 !important; bottom: -10rem !important; left: -8rem !important; width: 27rem !important; height: 27rem !important; background: rgba(251, 209, 0, 0.035) !important; border: 0.0625rem solid rgba(251, 209, 0, 0.1) !important; border-radius: 58% 42% 36% 64% / 42% 57% 43% 58% !important; transform: rotate(-22deg) !important; }

/**************************************************** EN-TÊTE GOOGLE ************************ */
div.googleReviews-div > .container { position: relative !important; z-index: 2 !important; max-width: 88rem !important; margin: 0 auto 4rem !important; padding: 0 3rem !important; }

div.googleReviews-div > .container > .card { position: relative !important; display: block !important; overflow: hidden !important; padding: 0 !important; color: #151414 !important; background: #fbd100 !important; border: 0 !important; border-radius: 1rem 4rem 1rem 4rem !important; box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.28) !important; }

div.googleReviews-div > .container > .card::before { content: "" !important; position: absolute !important; top: -5rem !important; right: -3rem !important; width: 14rem !important; height: 14rem !important; background: rgba(21, 20, 20, 0.07) !important; border-radius: 50% !important; }

div.googleReviews-div > .container > .card::after { content: "" !important; position: absolute !important; right: 2rem !important; bottom: 1.5rem !important; width: 4rem !important; height: 4rem !important; border-right: 0.125rem solid rgba(21, 20, 20, 0.25) !important; border-bottom: 0.125rem solid rgba(21, 20, 20, 0.25) !important; border-radius: 0 0 1rem 0 !important; }

div.googleReviews-div > .container > .card > div { position: relative !important; z-index: 2 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 2rem !important; padding: 2.5rem 3rem !important; text-align: left !important; }

div.googleReviews-div > .container > .card > div > div:first-child { display: flex !important; align-items: center !important; gap: 1.5rem !important; }

div.googleReviews-div .avatar-google-place { width: 6rem !important; height: 6rem !important; flex-shrink: 0 !important; margin: 0 !important; padding: 0.65rem !important; object-fit: contain !important; background: #151414 !important; border: 0.25rem solid rgba(21, 20, 20, 0.13) !important; border-radius: 1rem 2.2rem 1rem 2.2rem !important; box-shadow: 0 1rem 2rem rgba(21, 20, 20, 0.16) !important; }

div.googleReviews-div h3 { margin: 0 0 0.7rem !important; color: #151414 !important; font-weight: 900 !important; line-height: 1.1 !important; letter-spacing: -0.025em !important; text-transform: uppercase !important; }

div.googleReviews-div #place-rating { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 0.25rem !important; color: rgba(21, 20, 20, 0.76) !important; font-weight: 700 !important; line-height: 1.5 !important; }

div.googleReviews-div #place-rating .star { color: #151414 !important; }

/**************************************************** BOUTON GOOGLE *********************** */
div.googleReviews-div #maps-url { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0.6rem !important; min-height: 3.7rem !important; margin: 0 !important; padding: 0.9rem 1.6rem !important; color: #fbd100 !important; background: #151414 !important; border: 0.125rem solid #151414 !important; border-radius: 0.5rem 1.5rem 0.5rem 1.5rem !important; box-shadow: none !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: 0.05em !important; text-align: center !important; text-decoration: none !important; text-transform: uppercase !important; white-space: nowrap !important; transition: color 0.3s ease, background 0.3s ease, border-radius 0.3s ease, transform 0.3s ease !important; }

div.googleReviews-div #maps-url .bi-google { margin: 0 !important; color: #fbd100 !important; transition: transform 0.3s ease !important; }

div.googleReviews-div #maps-url:hover { color: #151414 !important; background: transparent !important; border-radius: 1.5rem 0.5rem 1.5rem 0.5rem !important; transform: translateY(-0.2rem) !important; }

div.googleReviews-div #maps-url:hover .bi-google { color: #151414 !important; transform: rotate(12deg) scale(1.08) !important; }

/**************************************************** CARROUSEL D’AVIS ********************* */
div.googleReviews-div > div:last-child { position: relative !important; z-index: 2 !important; max-width: 94rem !important; margin: 0 auto !important; padding: 0 1.5rem !important; }

div.googleReviews-div #google-reviews-widget { width: 100% !important; margin: 0 auto !important; }

div.googleReviews-div .owl-stage-outer { overflow: hidden !important; padding: 1rem 0 2.5rem !important; }

div.googleReviews-div .owl-stage { display: flex !important; align-items: stretch !important; }

div.googleReviews-div .owl-item { display: flex !important; align-items: stretch !important; padding: 0 0.75rem !important; }

div.googleReviews-div .owl-item > .card { position: relative !important; width: 100% !important; min-height: 21rem !important; display: flex !important; flex-direction: column !important; margin: 0 !important; padding: 2rem !important; overflow: hidden !important; color: #fbd100 !important; background: linear-gradient(135deg, rgba(251, 209, 0, 0.09), rgba(251, 209, 0, 0.025)) !important; border: 0.0625rem solid rgba(251, 209, 0, 0.18) !important; border-radius: 0.8rem 3rem 0.8rem 3rem !important; box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.22) !important; }

div.googleReviews-div .owl-item:nth-child(even) > .card { border-radius: 3rem 0.8rem 3rem 0.8rem !important; }

div.googleReviews-div .owl-item > .card::before { content: "“" !important; position: absolute !important; top: -1rem !important; right: 1.5rem !important; color: rgba(251, 209, 0, 0.1) !important; font-weight: 900 !important; line-height: 1 !important; }

div.googleReviews-div .owl-item > .card::after { content: "" !important; position: absolute !important; right: -3rem !important; bottom: -4rem !important; width: 10rem !important; height: 10rem !important; background: rgba(251, 209, 0, 0.035) !important; border-radius: 50% !important; }

/**************************************************** AUTEUR DE L’AVIS ******************** */
div.googleReviews-div .owl-item > .card > .d-flex { position: relative !important; z-index: 2 !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; flex-wrap: nowrap !important; gap: 1rem !important; margin: 0 0 1.5rem !important; padding: 0 !important; text-align: left !important; }

div.googleReviews-div .avatar-google-reviews { width: 3.5rem !important; height: 3.5rem !important; flex-shrink: 0 !important; margin: 0 !important; padding: 0.7rem !important; object-fit: contain !important; background: #fbd100 !important; border-radius: 1rem 1.7rem 1rem 1.7rem !important; }

div.googleReviews-div .owl-item > .card > .d-flex > .mx-2 { margin: 0 !important; color: #fbd100 !important; font-weight: 800 !important; line-height: 1.35 !important; }

div.googleReviews-div .owl-item small, div.googleReviews-div .owl-item .text-muted { display: block !important; margin-top: 0.2rem !important; color: rgba(251, 209, 0, 0.58) !important; font-weight: 500 !important; }

/**************************************************** CONTENU DE L’AVIS ******************* */
div.googleReviews-div .owl-item .card-body { position: relative !important; z-index: 2 !important; display: flex !important; flex: 1 !important; flex-direction: column !important; align-items: flex-start !important; padding: 0 !important; }

div.googleReviews-div .owl-item .card-body > span { display: flex !important; align-items: center !important; gap: 0.22rem !important; margin-bottom: 1.25rem !important; }

div.googleReviews-div .owl-item .star { color: #fbd100 !important; }

div.googleReviews-div .owl-item .card-text { margin: 0 !important; color: rgba(255, 255, 255, 0.82) !important; font-weight: 400 !important; line-height: 1.75 !important; text-align: left !important; }

/**************************************************** NAVIGATION OWL ********************** */
div.googleReviews-div .owl-nav { display: flex !important; align-items: center !important; justify-content: center !important; gap: 1rem !important; margin-top: 1.5rem !important; }

div.googleReviews-div .owl-nav.disabled { display: none !important; }

div.googleReviews-div .owl-prev, div.googleReviews-div .owl-next { width: 3.5rem !important; height: 3.5rem !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important; color: #151414 !important; background: #fbd100 !important; border: 0.125rem solid #fbd100 !important; border-radius: 50% !important; box-shadow: none !important; line-height: 1 !important; transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease !important; }

div.googleReviews-div .owl-prev:hover, div.googleReviews-div .owl-next:hover { color: #fbd100 !important; background: transparent !important; transform: translateY(-0.15rem) !important; }

div.googleReviews-div .owl-prev.disabled, div.googleReviews-div .owl-next.disabled { cursor: default !important; opacity: 0.35 !important; pointer-events: none !important; }

div.googleReviews-div .owl-prev span, div.googleReviews-div .owl-next span { display: block !important; color: inherit !important; line-height: 1 !important; }

div.googleReviews-div .owl-dots { display: flex !important; align-items: center !important; justify-content: center !important; gap: 0.55rem !important; margin-top: 1.5rem !important; }

div.googleReviews-div .owl-dots.disabled { display: none !important; }

div.googleReviews-div .owl-dot { width: 0.65rem !important; height: 0.65rem !important; margin: 0 !important; padding: 0 !important; background: rgba(251, 209, 0, 0.3) !important; border: 0 !important; border-radius: 50% !important; }

div.googleReviews-div .owl-dot.active { width: 2rem !important; background: #fbd100 !important; border-radius: 99rem !important; }

/**************************************************** RESPONSIVE ************************** */
@media screen and (max-width: 62rem) { div.googleReviews-div { padding: 7rem 0 8rem !important; } div.googleReviews-div > .container { padding: 0 2rem !important; } div.googleReviews-div > .container > .card > div { flex-direction: column !important; align-items: stretch !important; padding: 2.5rem !important; text-align: center !important; } div.googleReviews-div > .container > .card > div > div:first-child { flex-direction: column !important; justify-content: center !important; } div.googleReviews-div #place-rating { justify-content: center !important; } div.googleReviews-div > .container > .card > div > div:last-child { display: flex !important; justify-content: center !important; margin: 0 !important; } }

@media screen and (max-width: 40rem) { div.googleReviews-div { padding: 6rem 0 7rem !important; } div.googleReviews-div > .container { padding: 0 1.25rem !important; } div.googleReviews-div > .container > .card { border-radius: 0.8rem 2.5rem 0.8rem 2.5rem !important; } div.googleReviews-div > .container > .card > div { padding: 2rem 1.5rem !important; } div.googleReviews-div .avatar-google-place { width: 5rem !important; height: 5rem !important; } div.googleReviews-div #maps-url { width: 100% !important; } div.googleReviews-div > div:last-child { padding: 0 0.5rem !important; } div.googleReviews-div .owl-item { padding: 0 0.5rem !important; } div.googleReviews-div .owl-item > .card { min-height: 19rem !important; padding: 1.6rem !important; border-radius: 0.8rem 2.3rem 0.8rem 2.3rem !important; } }

/******************************************************************************BLOC FACEBOOK****************************************************************/
.moreau-facebook { position: relative !important; width: 100% !important; padding: 10rem 0 !important; overflow: hidden !important; color: #fbd100 !important; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FURxbx3noPANgZqZi5270OPrdRiv1%2Fimages%2FCHARTE_GRAPHIQUE_2_wpm0.webp); background-size: cover; background-position: center; }

.moreau-facebook::before { content: "" !important; position: absolute !important; z-index: -1 !important; top: -4rem !important; left: -5% !important; width: 110% !important; height: 8rem !important; background: #151414 !important; border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important; }

.moreau-facebook *, .moreau-facebook *::before, .moreau-facebook *::after { box-sizing: border-box !important; }

.moreau-facebook__container { position: relative !important; z-index: 2 !important; max-width: 88rem !important; display: grid !important; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important; align-items: center !important; gap: 6rem !important; margin: 0 auto !important; padding: 0 3rem !important; }

/**************************************************** DÉCORATIONS ************************* */
.moreau-facebook__shape { position: absolute !important; z-index: -1 !important; pointer-events: none !important; }

.moreau-facebook__shape--top { top: 2rem !important; right: -10rem !important; width: 30rem !important; height: 30rem !important; border: 0.0625rem solid rgba(251, 209, 0, 0.14) !important; border-radius: 44% 56% 62% 38% / 52% 36% 64% 48% !important; box-shadow: 0 0 0 3rem rgba(251, 209, 0, 0.025), 0 0 0 6rem rgba(251, 209, 0, 0.015) !important; transform: rotate(18deg) !important; }

.moreau-facebook__shape--bottom { bottom: -12rem !important; left: -9rem !important; width: 29rem !important; height: 29rem !important; background: rgba(251, 209, 0, 0.035) !important; border: 0.0625rem solid rgba(251, 209, 0, 0.1) !important; border-radius: 58% 42% 35% 65% / 41% 58% 42% 59% !important; transform: rotate(-22deg) !important; }

/**************************************************** CONTENU TEXTE *********************** */
.moreau-facebook__content { position: relative !important; z-index: 2 !important; }

.moreau-facebook__heading { display: flex !important; align-items: center !important; gap: 1rem !important; margin-bottom: 1.5rem !important; }

.moreau-facebook__heading-line { width: 3.5rem !important; height: 0.2rem !important; display: block !important; flex-shrink: 0 !important; background: #fbd100 !important; border-radius: 99rem !important; }

.moreau-facebook__heading-label { color: #fbd100 !important; font-weight: 800 !important; line-height: 1.3 !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; }

.moreau-facebook__title { max-width: 42rem !important; margin: 0 0 1.8rem !important; color: #fbd100 !important; font-weight: 900 !important; line-height: 1.06 !important; letter-spacing: -0.04em !important; text-transform: uppercase !important; text-wrap: balance !important; }

.moreau-facebook__text { max-width: 39rem !important; margin: 0 0 2.5rem !important; color: rgba(255, 255, 255, 0.78) !important; line-height: 1.8 !important; }

/**************************************************** BOUTON FACEBOOK ********************* */
.moreau-facebook__button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0.9rem !important; min-height: 4rem !important; padding: 1rem 1.6rem !important; color: #151414 !important; background: #fbd100 !important; border: 0.125rem solid #fbd100 !important; border-radius: 0.5rem 1.6rem 0.5rem 1.6rem !important; box-shadow: none !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: 0.04em !important; text-align: center !important; text-decoration: none !important; text-transform: uppercase !important; transition: color 0.3s ease, background 0.3s ease, border-radius 0.3s ease, transform 0.3s ease !important; }

.moreau-facebook__button-facebook { width: 1.4rem !important; height: 1.4rem !important; flex-shrink: 0 !important; color: #151414 !important; transition: color 0.3s ease, transform 0.3s ease !important; }

.moreau-facebook__button-arrow { width: 1.4rem !important; height: 1.4rem !important; flex-shrink: 0 !important; transition: transform 0.3s ease !important; }

.moreau-facebook__button:hover { color: #fbd100 !important; background: transparent !important; border-radius: 1.6rem 0.5rem 1.6rem 0.5rem !important; transform: translateY(-0.2rem) !important; }

.moreau-facebook__button:hover .moreau-facebook__button-facebook { color: #fbd100 !important; transform: rotate(-8deg) scale(1.08) !important; }

.moreau-facebook__button:hover .moreau-facebook__button-arrow { transform: translateX(0.4rem) !important; }

/**************************************************** ENCADREMENT IFRAME ****************** */
.moreau-facebook__embed { position: relative !important; width: fit-content; margin: auto; padding: 1rem !important; overflow: hidden !important; background: #fbd100 !important; border-radius: 3.5rem 0.8rem 3.5rem 0.8rem !important; box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.35) !important; }

.moreau-facebook__embed::before { content: "" !important; position: absolute !important; top: -4rem !important; right: -4rem !important; width: 12rem !important; height: 12rem !important; background: rgba(21, 20, 20, 0.08) !important; border-radius: 50% !important; pointer-events: none !important; }

.moreau-facebook__embed-header { position: relative !important; z-index: 2 !important; display: flex !important; align-items: center !important; gap: 0.7rem !important; padding: 0.7rem 1rem 1.2rem !important; color: #151414 !important; font-weight: 900 !important; line-height: 1.2 !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; }

.moreau-facebook__embed-dot { width: 0.7rem !important; height: 0.7rem !important; display: block !important; flex-shrink: 0 !important; background: #151414 !important; border-radius: 50% !important; box-shadow: 1.1rem 0 0 rgba(21, 20, 20, 0.45), 2.2rem 0 0 rgba(21, 20, 20, 0.2) !important; margin-right: 2.2rem !important; }

.moreau-facebook__iframe-wrapper { position: relative !important; z-index: 2 !important; width: 100% !important; min-height: 31.25rem !important; overflow: hidden !important; background: #ffffff !important; border-radius: 2.8rem 0.5rem 2.8rem 0.5rem !important; }

.moreau-facebook__iframe-wrapper iframe, .moreau-facebook #facebookIframe { height: 31.25rem !important; display: block !important; margin: 0 auto !important; padding: 0 !important; overflow: hidden !important; background: #ffffff !important; border: 0 !important; border-radius: 2.8rem 0.5rem 2.8rem 0.5rem !important; }

/**************************************************** RESPONSIVE ************************** */
@media screen and (max-width: 64rem) { .moreau-facebook { padding: 8rem 0 !important; } .moreau-facebook__container { grid-template-columns: minmax(0, 1fr) !important; gap: 4rem !important; padding: 0 2rem !important; } .moreau-facebook__content { max-width: 48rem !important; } .moreau-facebook__embed { max-width: 40rem !important; width: 100%; margin: 0 auto !important; } }

@media screen and (max-width: 40rem) { .moreau-facebook { padding: 7rem 0 !important; } .moreau-facebook__container { gap: 3rem !important; padding: 0 1.25rem !important; } .moreau-facebook__button { width: 100% !important; } .moreau-facebook__embed { padding: 0.65rem !important; border-radius: 2.4rem 0.7rem 2.4rem 0.7rem !important; } .moreau-facebook__embed-header { padding: 0.7rem 0.7rem 1rem !important; } .moreau-facebook__iframe-wrapper { min-height: 31.25rem !important; border-radius: 2rem 0.4rem 2rem 0.4rem !important; } .moreau-facebook__iframe-wrapper iframe, .moreau-facebook #facebookIframe { height: 31.25rem !important; border-radius: 2rem 0.4rem 2rem 0.4rem !important; } }

/*******************************************************************************************************PAGES SECONDAIRES******************************************************/
.moreau-secondary-hero, .moreau-secondary-intro, .moreau-secondary-services-nav, .moreau-secondary-service, .moreau-secondary-cta, .moreau-secondary-hero *, .moreau-secondary-intro *, .moreau-secondary-services-nav *, .moreau-secondary-service *, .moreau-secondary-cta * { box-sizing: border-box; }

.moreau-secondary-hero, .moreau-secondary-intro, .moreau-secondary-services-nav, .moreau-secondary-service, .moreau-secondary-cta { position: relative; width: 100%; overflow: hidden; }

.moreau-secondary-container { max-width: 88rem; margin: 0 auto; padding-right: 3rem; padding-left: 3rem; }

/* ------------------------------------------------- REVEAL GRAPHIQUE ------------------------------------------------- */
.moreau-secondary-reveal { opacity: 0; transform: translateY(2rem) scale(0.97); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); }

.moreau-secondary-reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

/*******************************************************************************************************HERO SECONDAIRES******************************************************/
.spacer { display: none !important; }

.moreau-secondary-hero { min-height: 92vh; display: flex; align-items: center; background-position: center; background-repeat: no-repeat; background-size: cover; color: #fbd100; }

.moreau-secondary-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21, 20, 20, 0.95) 0%, rgba(21, 20, 20, 0.84) 42%, rgba(21, 20, 20, 0.58) 72%, rgba(21, 20, 20, 0.72) 100%), linear-gradient(180deg, rgba(21, 20, 20, 0.1) 0%, rgba(21, 20, 20, 0.05) 60%, rgba(21, 20, 20, 0.92) 100%); }

.moreau-secondary-hero__shape { position: absolute; right: -8rem; top: 10%; width: 28rem; height: 28rem; border: 0.0625rem solid rgba(251, 209, 0, 0.2); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(251, 209, 0, 0.03), 0 0 0 6rem rgba(251, 209, 0, 0.02); }

.moreau-secondary-hero__container { position: relative; z-index: 2; width: 100%; max-width: 88rem; margin: 0 auto; padding: 8rem 3rem 6rem; }

.moreau-secondary-hero__content { max-width: 54rem; }

.moreau-secondary-hero__eyebrow { display: inline-flex; margin-bottom: 1.4rem; padding: 0.55rem 1rem; color: #151414; background: #fbd100; border-radius: 99rem; font-weight: 800; line-height: 1.2; letter-spacing: 0.12em; text-transform: uppercase; }

.moreau-secondary-hero__title { margin: 0 0 1.6rem; color: #fbd100; font-weight: 900; line-height: 1.02; letter-spacing: -0.04em; text-transform: uppercase; text-wrap: balance; }

.moreau-secondary-hero__text { max-width: 46rem; margin: 0; color: rgba(255, 255, 255, 0.82); line-height: 1.8; }

.moreau-secondary-hero__buttons { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.2rem; }

/* ------------------------------------------------- BOUTONS ------------------------------------------------- */
.moreau-secondary-button { min-height: 3.9rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.8rem; padding: 0.95rem 1.5rem; border-radius: 0.5rem 1.5rem 0.5rem 1.5rem; font-weight: 800; line-height: 1.2; letter-spacing: 0.04em; text-decoration: none; text-transform: uppercase; transition: color 0.3s ease, background 0.3s ease, border-radius 0.3s ease, transform 0.3s ease; }

.moreau-secondary-button:visited { color: #151414 !important; }

.moreau-secondary-button svg { width: 1.3rem; height: 1.3rem; flex-shrink: 0; transition: transform 0.3s ease; }

.moreau-secondary-button:hover { border-radius: 1.5rem 0.5rem 1.5rem 0.5rem; transform: translateY(-0.18rem); }

.moreau-secondary-button:hover svg { transform: translateX(0.25rem); }

.moreau-secondary-button--filled { color: #151414; background: #fbd100; border: 0.125rem solid #fbd100; }

.moreau-secondary-button--filled:hover { color: #fbd100; background: transparent; }

.moreau-secondary-button--outline { color: #fbd100; background: transparent; border: 0.125rem solid rgba(251, 209, 0, 0.45); }

.moreau-secondary-button--outline:hover { color: #151414; background: #fbd100; border-color: #fbd100; }

.moreau-secondary-button--dark { color: #fbd100; background: #151414; border: 0.125rem solid #151414; }

.moreau-secondary-button--dark:hover { color: #151414; background: transparent; }

.moreau-secondary-button--light { color: #151414; background: transparent; border: 0.125rem solid #151414; }

.moreau-secondary-button--light:hover { color: #fbd100; background: #151414; }

/*******************************************************************************************************INTRO PAGES SECONDAIRES******************************************************/
.moreau-secondary-intro { margin-top: -2rem; padding: 9rem 0 8rem; color: #fbd100; background: #151414; }

.moreau-secondary-intro::before { content: ""; position: absolute; top: -5rem; left: -5%; width: 110%; height: 8rem; background: #151414; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

.moreau-secondary-intro__curve { position: absolute; bottom: 3rem; left: -8rem; width: 24rem; height: 24rem; border: 0.0625rem solid rgba(251, 209, 0, 0.14); border-radius: 47% 53% 60% 40% / 40% 36% 64% 60%; transform: rotate(18deg); }

.moreau-secondary-intro__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center; gap: 5rem; }

.moreau-secondary-intro__title { margin: 0 0 1.6rem; color: #fbd100; font-weight: 900; line-height: 1.08; letter-spacing: -0.03em; text-wrap: balance; }

.moreau-secondary-intro__content p { margin: 0 0 1.1rem; color: rgba(255, 255, 255, 0.8); line-height: 1.8; }

.moreau-secondary-intro__image { position: relative; min-height: 32rem; overflow: hidden; padding: 0.8rem; background: rgba(251, 209, 0, 0.08); border: 0.0625rem solid rgba(251, 209, 0, 0.2); border-radius: 3rem 0.8rem 3rem 0.8rem; }

.moreau-secondary-intro__image img { width: 100%; height: 32rem; display: block; object-fit: cover; border-radius: 2.3rem 0.4rem 2.3rem 0.4rem; }

/* ------------------------------------------------- HEADING COMMUN ------------------------------------------------- */
.moreau-secondary-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem; }

.moreau-secondary-heading__line { width: 3.4rem; height: 0.2rem; display: block; flex-shrink: 0; background: #fbd100; border-radius: 99rem; }

.moreau-secondary-heading__label { color: #fbd100; font-weight: 800; line-height: 1.3; letter-spacing: 0.14em; text-transform: uppercase; }

.moreau-secondary-heading--dark .moreau-secondary-heading__line { background: #151414; }

.moreau-secondary-heading--dark .moreau-secondary-heading__label { color: #151414; }

/* ------------------------------------------------- NAV SERVICES ------------------------------------------------- */
.moreau-secondary-services-nav { padding: 2rem 0 2.5rem; background: #151414; }

.moreau-secondary-services-nav__list { display: flex; flex-wrap: wrap; gap: 0.9rem; }

.moreau-secondary-services-nav__list a { display: inline-flex; align-items: center; min-height: 3rem; padding: 0.75rem 1rem; color: #fbd100; background: rgba(251, 209, 0, 0.08); border: 0.0625rem solid rgba(251, 209, 0, 0.18); border-radius: 99rem; font-weight: 700; line-height: 1.2; text-decoration: none; transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease; }

.moreau-secondary-services-nav__list a:hover { color: #151414; background: #fbd100; transform: translateY(-0.12rem); }

/* ------------------------------------------------- SECTIONS SERVICES ------------------------------------------------- */
.moreau-secondary-service { margin-top: -2rem; padding: 8rem 0; color: #fbd100; background: #151414; }

.moreau-secondary-service::before { content: ""; position: absolute; top: -5rem; left: -5%; width: 110%; height: 8rem; background: #151414; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

.moreau-secondary-service--alt { color: #151414; background: #fbd100; }

.moreau-secondary-service--alt::before { background: #fbd100; }

.moreau-secondary-service__grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); align-items: center; gap: 5rem; }

.moreau-secondary-service--alt .moreau-secondary-service__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }

.moreau-secondary-service__image { position: relative; min-height: 31rem; overflow: hidden; padding: 0.8rem; border-radius: 0.8rem 3rem 0.8rem 3rem; box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.16); }

.moreau-secondary-service__image img { width: 100%; height: 31rem; display: block; object-fit: cover; border-radius: 0.5rem 2.2rem 0.5rem 2.2rem; }

.moreau-secondary-service:not(.moreau-secondary-service--alt) .moreau-secondary-service__image { background: rgba(251, 209, 0, 0.08); border: 0.0625rem solid rgba(251, 209, 0, 0.18); }

.moreau-secondary-service--alt .moreau-secondary-service__image { background: rgba(21, 20, 20, 0.06); border: 0.0625rem solid rgba(21, 20, 20, 0.12); }

.moreau-secondary-service__title { margin: 0 0 1.4rem; font-weight: 900; line-height: 1.08; letter-spacing: -0.03em; text-wrap: balance; }

.moreau-secondary-service:not(.moreau-secondary-service--alt) .moreau-secondary-service__title { color: #fbd100; }

.moreau-secondary-service--alt .moreau-secondary-service__title { color: #151414; }

.moreau-secondary-service__content p { margin: 0 0 1.1rem; line-height: 1.8; }

.moreau-secondary-service:not(.moreau-secondary-service--alt) .moreau-secondary-service__content p { color: rgba(255, 255, 255, 0.8); }

.moreau-secondary-service--alt .moreau-secondary-service__content p { color: rgba(21, 20, 20, 0.76); }

/* ------------------------------------------------- LISTES ------------------------------------------------- */
.moreau-secondary-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem 1rem; margin: 1.5rem 0 1.5rem; padding: 0; list-style: none; }

.moreau-secondary-list li { position: relative; min-height: 3.4rem; display: flex; align-items: center; padding: 0.8rem 0.9rem 0.8rem 3rem; line-height: 1.5; border-radius: 0.8rem 1.8rem 0.8rem 1.8rem; }

.moreau-secondary-list li::before { content: ""; position: absolute; left: 1rem; top: 50%; width: 1rem; height: 1rem; border-radius: 50%; transform: translateY(-50%); }

.moreau-secondary-list:not(.moreau-secondary-list--dark) li { color: #fbd100; background: rgba(251, 209, 0, 0.08); border: 0.0625rem solid rgba(251, 209, 0, 0.14); }

.moreau-secondary-list:not(.moreau-secondary-list--dark) li::before { background: #fbd100; box-shadow: 0 0 0 0.3rem rgba(251, 209, 0, 0.12); }

.moreau-secondary-list--dark li { color: #151414; background: rgba(21, 20, 20, 0.06); border: 0.0625rem solid rgba(21, 20, 20, 0.12); }

.moreau-secondary-list--dark li::before { background: #151414; box-shadow: 0 0 0 0.3rem rgba(21, 20, 20, 0.08); }

/* ------------------------------------------------- CTA BAS DE PAGE ------------------------------------------------- */
.moreau-secondary-cta { margin-top: -2rem; padding: 8rem 0 9rem; color: #151414; background: #fbd100; }

.moreau-secondary-cta::before { content: ""; position: absolute; top: -5rem; left: -5%; width: 110%; height: 8rem; background: #fbd100; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }

.moreau-secondary-cta__box { position: relative; padding: 3rem; overflow: hidden; background: rgba(255, 255, 255, 0.2); border: 0.0625rem solid rgba(21, 20, 20, 0.12); border-radius: 1rem 4rem 1rem 4rem; box-shadow: 0 1.6rem 3rem rgba(21, 20, 20, 0.15); }

.moreau-secondary-cta__box::before { content: ""; position: absolute; top: -4rem; right: -4rem; width: 12rem; height: 12rem; background: rgba(21, 20, 20, 0.05); border-radius: 50%; }

.moreau-secondary-cta__title { position: relative; z-index: 2; margin: 0 0 1rem; color: #151414; font-weight: 900; line-height: 1.08; letter-spacing: -0.03em; }

.moreau-secondary-cta__text { position: relative; z-index: 2; max-width: 48rem; margin: 0; color: rgba(21, 20, 20, 0.78); line-height: 1.8; }

.moreau-secondary-cta__buttons { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }

/* ------------------------------------------------- RESPONSIVE ------------------------------------------------- */
@media screen and (max-width: 68rem) { .moreau-secondary-container, .moreau-secondary-hero__container { padding-right: 2rem; padding-left: 2rem; } .moreau-secondary-intro__grid, .moreau-secondary-service__grid, .moreau-secondary-service--alt .moreau-secondary-service__grid { grid-template-columns: minmax(0, 1fr); gap: 3rem; } .moreau-secondary-list { grid-template-columns: minmax(0, 1fr); } }

@media screen and (max-width: 48rem) { .moreau-secondary-container, .moreau-secondary-hero__container { padding-right: 1.25rem; padding-left: 1.25rem; } .moreau-secondary-hero { min-height: auto; } .moreau-secondary-hero__container { padding-top: 7rem; padding-bottom: 5rem; } .moreau-secondary-intro, .moreau-secondary-service, .moreau-secondary-cta { padding-top: 7rem; padding-bottom: 7rem; } .moreau-secondary-intro__image, .moreau-secondary-service__image { min-height: auto; } .moreau-secondary-intro__image img, .moreau-secondary-service__image img { height: 24rem; } .moreau-secondary-cta__box { padding: 2rem 1.5rem; border-radius: 0.8rem 2.4rem 0.8rem 2.4rem; } .moreau-secondary-hero__buttons, .moreau-secondary-cta__buttons { flex-direction: column; align-items: stretch; } .moreau-secondary-button { width: 100%; } }

@media screen and (max-width: 32rem) { .moreau-secondary-services-nav__list { flex-direction: column; } .moreau-secondary-intro__image img, .moreau-secondary-service__image img { height: 20rem; } }

@media (prefers-reduced-motion: reduce) { .moreau-secondary-reveal, .moreau-secondary-button, .moreau-secondary-button svg, .moreau-secondary-services-nav__list a { transition: none; } }

/* ======================================================================= FAQ ACCORDÉON ===================================================================== */
.moreau-faq-list { position: relative !important; width: 100% !important; margin: 0 !important; padding: 7rem 0 8rem !important; overflow: hidden !important; background: radial-gradient(circle at 10% 10%, rgba(255, 255, 255, 0.24) 0%, transparent 30%), radial-gradient(circle at 90% 90%, rgba(21, 20, 20, 0.08) 0%, transparent 35%), linear-gradient(120deg, #ffe36b 0%, #fbd100 50%, #e4b800 100%) !important; isolation: isolate !important; }

.moreau-faq-list::before { content: "" !important; position: absolute !important; z-index: -1 !important; top: -10rem !important; right: -8rem !important; width: 27rem !important; height: 27rem !important; border: 0.0625rem solid rgba(21, 20, 20, 0.12) !important; border-radius: 43% 57% 61% 39% / 51% 36% 64% 49% !important; box-shadow: 0 0 0 3rem rgba(21, 20, 20, 0.025), 0 0 0 6rem rgba(21, 20, 20, 0.015) !important; transform: rotate(18deg) !important; pointer-events: none !important; }

.moreau-faq-list::after { content: "" !important; position: absolute !important; z-index: -1 !important; bottom: -12rem !important; left: -10rem !important; width: 29rem !important; height: 29rem !important; background: rgba(21, 20, 20, 0.035) !important; border: 0.0625rem solid rgba(21, 20, 20, 0.08) !important; border-radius: 58% 42% 35% 65% / 42% 58% 42% 58% !important; transform: rotate(-22deg) !important; pointer-events: none !important; }

.moreau-faq-list *, .moreau-faq-list *::before, .moreau-faq-list *::after { box-sizing: border-box !important; }

/************************************************ CARTES FAQ ********************** */
div.moreau-faq-item, article.moreau-faq-item { position: relative !important; z-index: 2 !important; width: calc(100% - 3rem) !important; max-width: 58rem !important; margin: 0 auto 1.25rem !important; padding: 0 !important; overflow: hidden !important; color: #fbd100 !important; border: 0.0625rem solid rgba(21, 20, 20, 0.25) !important; border-radius: 0.8rem 3rem 0.8rem 3rem !important; box-shadow: 0 1.3rem 2.8rem rgba(21, 20, 20, 0.18) !important; background-image: url(https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FURxbx3noPANgZqZi5270OPrdRiv1%2Fimages%2FCHARTE_GRAPHIQUE_2_wpm0.webp?alt=media&token=15c310c9-1a5c-4455-ac89-856de636f9e7); background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; }

div.moreau-faq-item:nth-child(even), article.moreau-faq-item:nth-child(even) { border-radius: 3rem 0.8rem 3rem 0.8rem !important; }

.moreau-faq-item::before { content: "" !important; position: absolute !important; top: -4rem !important; right: -4rem !important; width: 10rem !important; height: 10rem !important; background: rgba(251, 209, 0, 0.04) !important; border: 0.0625rem solid rgba(251, 209, 0, 0.08) !important; border-radius: 50% !important; pointer-events: none !important; }

.moreau-faq-item::after { content: "" !important; position: absolute !important; right: 1.5rem !important; bottom: 1.25rem !important; width: 2.5rem !important; height: 2.5rem !important; border-right: 0.125rem solid rgba(251, 209, 0, 0.14) !important; border-bottom: 0.125rem solid rgba(251, 209, 0, 0.14) !important; border-radius: 0 0 0.6rem 0 !important; pointer-events: none !important; }

/************************************************ NETTOYAGE DES STYLES BOOTSTRAP ********** */
.moreau-faq-item.background-image-div-opacity, .moreau-faq-item > .background-image-div-opacity, .moreau-faq-item .background-image-div-opacity { display: none !important; }

.moreau-faq-item > .row, .moreau-faq-generated-grid { position: relative !important; z-index: 2 !important; display: grid !important; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important; grid-template-rows: auto auto !important; align-items: center !important; gap: 0 2rem !important; width: 100% !important; margin: 0 !important; padding: 0 !important; transition: padding 0.45s ease !important; }

.moreau-faq-item.is-open > .row, .moreau-faq-item.is-open .moreau-faq-generated-grid { padding-bottom: 1.75rem !important; }

.moreau-faq-item > .row > .col-lg-7 { display: contents !important; }

/************************************************ QUESTION ************************ */
.moreau-faq-question { position: relative !important; z-index: 3 !important; grid-column: 1 / -1 !important; grid-row: 1 !important; width: 100% !important; margin: 0 !important; padding: 1.7rem 5.5rem 1.7rem 2rem !important; color: #fbd100 !important; background: transparent !important; border: 0 !important; cursor: pointer !important; user-select: none !important; transition: color 0.3s ease, background 0.3s ease, padding 0.3s ease !important; }

.moreau-faq-question h2 { max-width: 68rem !important; margin: 0 !important; padding: 0 !important; color: white !important; font-weight: 700 !important; font-size: 1.5rem !important; line-height: 1.2 !important; letter-spacing: -0.025em !important; }

@media (max-width: 1000px) { .moreau-faq-question h2 { font-size: 1rem !important; } }

.moreau-faq-question::before { content: "" !important; position: absolute !important; top: 50% !important; right: 2rem !important; width: 2.8rem !important; height: 2.8rem !important; background: #fbd100 !important; border: 0.125rem solid #fbd100 !important; border-radius: 0.6rem 1.2rem 0.6rem 1.2rem !important; transform: translateY(-50%) !important; transition: background 0.3s ease, border-radius 0.3s ease, transform 0.3s ease !important; }

.moreau-faq-question::after { content: "+" !important; position: absolute !important; z-index: 2 !important; top: 50% !important; right: 2rem !important; width: 2.8rem !important; height: 2.8rem !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #151414 !important; font-size: 16px; font-weight: 900 !important; line-height: 1 !important; transform: translateY(-50%) !important; transition: color 0.3s ease, transform 0.35s ease !important; }

.moreau-faq-question:hover { background: rgba(251, 209, 0, 0.055) !important; }

.moreau-faq-question:focus-visible { outline: 0.1875rem solid #fbd100 !important; outline-offset: -0.35rem !important; }

.moreau-faq-item.is-open .moreau-faq-question { background: rgba(251, 209, 0, 0.075) !important; }

.moreau-faq-item.is-open .moreau-faq-question::before { border-radius: 1.2rem 0.6rem 1.2rem 0.6rem !important; }

.moreau-faq-item.is-open .moreau-faq-question::after { content: "−" !important; transform: translateY(-50%) rotate(180deg) !important; }

/************************************************ RÉPONSE ************************* */
.moreau-faq-answer { grid-column: 2 !important; grid-row: 2 !important; align-self: start !important; max-height: 0 !important; margin: 0 !important; padding: 0 2rem 0 0 !important; overflow: hidden !important; color: rgba(255, 255, 255, 0.82) !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: max-height 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease, padding 0.45s ease, visibility 0s linear 0.6s !important; }

.moreau-faq-answer p { margin: 0 !important; color: rgba(255, 255, 255, 0.82) !important; line-height: 1.8 !important; }

.moreau-faq-answer p + p { margin-top: 1rem !important; }

.moreau-faq-item.is-open .moreau-faq-answer { max-height: 60rem !important; margin: auto !important; padding: 1rem 2rem 1rem 0 !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transition: max-height 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease 0.08s, padding 0.45s ease, visibility 0s linear 0s !important; }

/************************************************ PHOTO *************************** */
.moreau-faq-media { grid-column: 1 !important; grid-row: 2 !important; align-self: start !important; width: 100% !important; max-width: none !important; max-height: 0 !important; margin: 0 !important; padding: 0 0 0 2rem !important; overflow: hidden !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transform: translateY(1.2rem) scale(0.97) !important; transition: max-height 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease, transform 0.5s ease, padding 0.45s ease, visibility 0s linear 0.6s !important; }

.moreau-faq-item.is-open .moreau-faq-media { max-height: 24rem !important; padding: 1rem 0 1rem 2rem !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: translateY(0) scale(1) !important; transition: max-height 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease 0.08s, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), padding 0.45s ease, visibility 0s linear 0s !important; }

.moreau-faq-media .card, .moreau-faq-generated-image { position: relative !important; width: 100% !important; height: 18rem !important; min-height: 18rem !important; display: block !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important; border: 0.0625rem solid rgba(251, 209, 0, 0.2) !important; border-radius: 0.7rem 2.5rem 0.7rem 2.5rem !important; box-shadow: 0 1.3rem 2.5rem rgba(0, 0, 0, 0.28) !important; }

.moreau-faq-item:nth-child(even) .moreau-faq-media .card, .moreau-faq-item:nth-child(even) .moreau-faq-generated-image { border-radius: 2.5rem 0.7rem 2.5rem 0.7rem !important; }

.moreau-faq-media .black-screen, .moreau-faq-media .card > .d-flex { display: none !important; }

.moreau-faq-generated-image img { width: 100% !important; height: 100% !important; display: block !important; object-fit: cover !important; object-position: center !important; }

/************************************************ RESPONSIVE ********************** */
@media screen and (max-width: 62rem) { .moreau-faq-item > .row, .moreau-faq-generated-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; } .moreau-faq-answer { grid-column: 1 !important; grid-row: 2 !important; padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .moreau-faq-item.is-open .moreau-faq-answer { padding: 1.25rem 1.5rem 0.75rem !important; } .moreau-faq-media { grid-column: 1 !important; grid-row: 3 !important; padding: 0 1.5rem !important; } .moreau-faq-item.is-open .moreau-faq-media { max-height: 25rem !important; padding: 0.75rem 1.5rem 1.25rem !important; } .moreau-faq-media .card, .moreau-faq-generated-image { height: 19rem !important; min-height: 19rem !important; } }

@media screen and (max-width: 40rem) { .moreau-faq-list { padding: 5rem 0 6rem !important; } .moreau-faq-item { width: calc(100% - 2rem) !important; border-radius: 0.7rem 2rem 0.7rem 2rem !important; } .moreau-faq-item:nth-child(even) { border-radius: 2rem 0.7rem 2rem 0.7rem !important; } .moreau-faq-question { padding: 1.4rem 4.5rem 1.4rem 1.25rem !important; } .moreau-faq-question::before, .moreau-faq-question::after { right: 1.1rem !important; width: 2.5rem !important; height: 2.5rem !important; } .moreau-faq-item.is-open .moreau-faq-answer { padding: 1rem 1.25rem 0.5rem !important; } .moreau-faq-item.is-open .moreau-faq-media { padding: 0.75rem 1.25rem 1.25rem !important; } .moreau-faq-media .card, .moreau-faq-generated-image { height: 15rem !important; min-height: 15rem !important; border-radius: 0.6rem 1.8rem 0.6rem 1.8rem !important; } }

@media (prefers-reduced-motion: reduce) { .moreau-faq-item, .moreau-faq-question, .moreau-faq-question::before, .moreau-faq-question::after, .moreau-faq-answer, .moreau-faq-media { transition: none !important; } }

/* -------------------------------------------------------------------------- GALERIE D'IMAGES -------------------------------------------------------------------------- */
.custom-gallery-block { width: 100%; padding-top: 40px; }

.custom-gallery-block *, .custom-gallery-lightbox * { box-sizing: border-box; }

.custom-gallery-item { height: 400px !important; margin: 20px 0; }

.custom-gallery-card { position: relative; width: 100%; height: 100%; overflow: hidden; }

.custom-gallery-link { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; text-decoration: none; cursor: pointer; }

.custom-gallery-image { display: block; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.6s ease; }

.custom-gallery-hover { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #ffffff; background: rgba(0, 0, 0, 0.7); opacity: 0; transition: opacity 0.4s ease; }

.custom-gallery-hover i { color: #ffffff; font-size: 3em; transform: scale(0.85); transition: transform 0.4s ease; }

.custom-gallery-link:hover .custom-gallery-image, .custom-gallery-link:focus-visible .custom-gallery-image { transform: scale(1.04); }

.custom-gallery-link:hover .custom-gallery-hover, .custom-gallery-link:focus-visible .custom-gallery-hover { opacity: 1; }

.custom-gallery-link:hover .custom-gallery-hover i, .custom-gallery-link:focus-visible .custom-gallery-hover i { transform: scale(1); }

.custom-gallery-link:focus-visible { outline: 2px solid #ffffff; outline-offset: -6px; }

/* -------------------------------------------------------------------------- LIGHTBOX -------------------------------------------------------------------------- */
.custom-gallery-lightbox { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 30px 80px; background: rgba(0, 0, 0, 0.9); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s ease, visibility 0.3s ease; -webkit-user-select: none; -moz-user-select: none; user-select: none; }

.custom-gallery-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

.custom-gallery-lightbox__visual { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }

.custom-gallery-lightbox__image { display: block; width: auto; width: 85vw; max-width: 1100px; height: auto; max-height: 88vh; margin: 0; object-fit: contain; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45); }

/* -------------------------------------------------------------------------- BOUTONS DE LA LIGHTBOX -------------------------------------------------------------------------- */
.custom-gallery-lightbox__button { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 0; color: #ffffff; background: transparent; border: none; cursor: pointer; transition: opacity 0.3s ease, transform 0.3s ease; }

.custom-gallery-lightbox__button:hover { opacity: 0.7; }

.custom-gallery-lightbox__button:focus-visible { outline: 2px solid #ffffff; outline-offset: 5px; }

.custom-gallery-lightbox__previous, .custom-gallery-lightbox__next { top: 50%; width: 55px; height: 80px; font-size: 3em; transform: translateY(-50%); }

.custom-gallery-lightbox__previous { left: 20px; }

.custom-gallery-lightbox__next { right: 20px; }

.custom-gallery-lightbox__previous:hover { transform: translate(-4px, -50%); }

.custom-gallery-lightbox__next:hover { transform: translate(4px, -50%); }

.custom-gallery-lightbox__close { top: 15px; right: 15px; width: 55px; height: 55px; font-size: 3em; }

.custom-gallery-lightbox__counter { position: absolute; bottom: 18px; left: 50%; color: #ffffff; font-size: 14px; font-weight: 500; letter-spacing: 0.08em; transform: translateX(-50%); }

body.custom-gallery-lightbox-open { overflow: hidden; }

/* -------------------------------------------------------------------------- RESPONSIVE -------------------------------------------------------------------------- */
@media screen and (min-width: 991px) { .custom-gallery-block { padding: 60px 30px 0; } }

@media screen and (max-width: 991px) { .custom-gallery-item { height: 350px !important; } }

@media screen and (max-width: 767px) { .custom-gallery-block { padding-top: 20px; } .custom-gallery-item { height: 300px !important; margin: 10px 0; } .custom-gallery-lightbox { padding: 60px 45px; } .custom-gallery-lightbox__image { max-width: 90vw; max-height: 80vh; } .custom-gallery-lightbox__previous, .custom-gallery-lightbox__next { width: 40px; height: 60px; font-size: 2em; } .custom-gallery-lightbox__previous { left: 2px; } .custom-gallery-lightbox__next { right: 2px; } .custom-gallery-lightbox__close { top: 5px; right: 5px; width: 45px; height: 45px; font-size: 2em; } }

@media screen and (max-width: 480px) { .custom-gallery-item { height: 260px !important; } }

/************************************************ NAVIGATION DES GALERIES MOREAU ********* */
.moreau-gallery-navigation { position: relative !important; width: 100% !important; margin: 0 !important; padding: 6rem 1.5rem 2rem !important; overflow: hidden !important; background: radial-gradient(circle at 12% 10%, rgba(251, 209, 0, 0.11) 0%, rgba(251, 209, 0, 0) 28%), radial-gradient(circle at 88% 80%, rgba(251, 209, 0, 0.06) 0%, rgba(251, 209, 0, 0) 32%), #151414 !important; }

.moreau-gallery-navigation *, .custom-gallery-block *, .moreau-gallery-navigation *::before, .moreau-gallery-navigation *::after, .custom-gallery-block *::before, .custom-gallery-block *::after { box-sizing: border-box !important; }

.moreau-gallery-navigation > .container { position: relative !important; z-index: 2 !important; width: 100% !important; max-width: 88rem !important; margin: 0 auto !important; padding: 0 !important; }

.moreau-gallery-tabs { position: relative !important; width: 100% !important; max-width: 48rem !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; margin: 0 auto !important; padding: 0.7rem !important; background: rgba(255, 255, 255, 0.035) !important; border: 0.0625rem solid rgba(251, 209, 0, 0.18) !important; border-radius: 1rem 3rem 1rem 3rem !important; box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.3), inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.02) !important; backdrop-filter: blur(0.8rem) !important; -webkit-backdrop-filter: blur(0.8rem) !important; }

/************************************************ BOUTONS ONGLETS ***************** */
.moreau-gallery-tab { position: relative !important; min-height: 5.5rem !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 1rem !important; margin: 0 !important; padding: 1rem 1.3rem !important; overflow: hidden !important; color: #fbd100 !important; background: transparent !important; border: 0.0625rem solid transparent !important; border-radius: 0.7rem 2.2rem 0.7rem 2.2rem !important; box-shadow: none !important; cursor: pointer !important; text-align: left !important; transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease, border-radius 0.3s ease, transform 0.3s ease !important; }

.moreau-gallery-tab:nth-child(2) { border-radius: 2.2rem 0.7rem 2.2rem 0.7rem !important; }

.moreau-gallery-tab::before { content: "" !important; position: absolute !important; top: -3rem !important; right: -3rem !important; width: 8rem !important; height: 8rem !important; background: rgba(251, 209, 0, 0.07) !important; border-radius: 50% !important; opacity: 0 !important; pointer-events: none !important; transition: opacity 0.3s ease !important; }

.moreau-gallery-tab:hover { color: #fbd100 !important; background: rgba(251, 209, 0, 0.07) !important; border-color: rgba(251, 209, 0, 0.2) !important; transform: translateY(-0.15rem) !important; }

.moreau-gallery-tab:hover::before { opacity: 1 !important; }

.moreau-gallery-tab.is-active { color: #151414 !important; background: radial-gradient(circle at 15% 15%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 34%), linear-gradient(135deg, #ffe36b 0%, #fbd100 52%, #dfb400 100%) !important; border-color: #fbd100 !important; border-radius: 2.2rem 0.7rem 2.2rem 0.7rem !important; box-shadow: 0 1rem 2.2rem rgba(0, 0, 0, 0.23), inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.25) !important; transform: none !important; }

.moreau-gallery-tab.is-active:nth-child(2) { border-radius: 0.7rem 2.2rem 0.7rem 2.2rem !important; }

.moreau-gallery-tab:focus-visible { outline: 0.1875rem solid #fbd100 !important; outline-offset: 0.25rem !important; }

/************************************************ CONTENU ONGLETS ***************** */
.moreau-gallery-tab__icon { position: relative !important; z-index: 2 !important; width: 3.4rem !important; height: 3.4rem !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; color: #151414 !important; background: #fbd100 !important; border-radius: 0.7rem 1.5rem 0.7rem 1.5rem !important; box-shadow: 0 0.8rem 1.5rem rgba(0, 0, 0, 0.16) !important; transition: color 0.3s ease, background 0.3s ease, border-radius 0.3s ease, transform 0.3s ease !important; }

.moreau-gallery-tab:nth-child(2) .moreau-gallery-tab__icon { border-radius: 1.5rem 0.7rem 1.5rem 0.7rem !important; }

.moreau-gallery-tab__icon svg { width: 1.7rem !important; height: 1.7rem !important; display: block !important; color: inherit !important; stroke: currentColor !important; }

.moreau-gallery-tab.is-active .moreau-gallery-tab__icon { color: #fbd100 !important; background: #151414 !important; border-radius: 1.5rem 0.7rem 1.5rem 0.7rem !important; }

.moreau-gallery-tab.is-active:nth-child(2) .moreau-gallery-tab__icon { border-radius: 0.7rem 1.5rem 0.7rem 1.5rem !important; }

.moreau-gallery-tab:hover:not(.is-active) .moreau-gallery-tab__icon { transform: translateY(-0.15rem) rotate(-3deg) !important; }

.moreau-gallery-tab__content { position: relative !important; z-index: 2 !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 0.2rem !important; }

.moreau-gallery-tab__label { color: rgba(251, 209, 0, 0.56) !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; }

.moreau-gallery-tab__title { color: #fbd100 !important; font-weight: 900 !important; line-height: 1.1 !important; letter-spacing: -0.02em !important; text-transform: uppercase !important; }

.moreau-gallery-tab.is-active .moreau-gallery-tab__label { color: rgba(21, 20, 20, 0.58) !important; }

.moreau-gallery-tab.is-active .moreau-gallery-tab__title { color: #151414 !important; }

/************************************************ CONTENEURS GALERIES *************** */
.custom-gallery-block { position: relative !important; width: 100% !important; margin: 0 !important; padding: 2rem 1.5rem 8rem !important; overflow: hidden !important; background: radial-gradient(circle at 8% 25%, rgba(251, 209, 0, 0.08) 0%, rgba(251, 209, 0, 0) 27%), radial-gradient(circle at 92% 85%, rgba(251, 209, 0, 0.05) 0%, rgba(251, 209, 0, 0) 32%), #151414 !important; isolation: isolate !important; }

.custom-gallery-block::before { content: "" !important; position: absolute !important; z-index: -1 !important; top: 5rem !important; right: -12rem !important; width: 30rem !important; height: 30rem !important; border: 0.0625rem solid rgba(251, 209, 0, 0.1) !important; border-radius: 44% 56% 63% 37% / 52% 37% 63% 48% !important; box-shadow: 0 0 0 3rem rgba(251, 209, 0, 0.018), 0 0 0 6rem rgba(251, 209, 0, 0.01) !important; transform: rotate(18deg) !important; }

.custom-gallery-block[hidden] { display: none !important; }

.custom-gallery-block.is-active-gallery { animation: moreauGalleryAppear 0.55s ease both !important; }

.custom-gallery-block > .container { position: relative !important; z-index: 2 !important; width: 100% !important; max-width: 88rem !important; margin: 0 auto !important; padding: 0 !important; }

/************************************************ GRILLE PHOTOS ******************* */
.custom-gallery-block .custom-gallery-grid { width: 100% !important; margin: 0 !important; padding: 0 !important; }

.custom-gallery-block .custom-gallery-grid > .row { width: 100% !important; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 1.2rem !important; margin: 0 !important; padding: 0 !important; --bs-gutter-x: 0 !important; --bs-gutter-y: 0 !important; }

.custom-gallery-block .custom-gallery-item { width: 100% !important; max-width: none !important; min-width: 0 !important; display: block !important; margin: 0 !important; padding: 0 !important; flex: none !important; }

/************************************************ CARTES PHOTOS ******************* */
.custom-gallery-block .custom-gallery-card { position: relative !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0.45rem !important; overflow: hidden !important; background: rgba(251, 209, 0, 0.07) !important; border: 0.0625rem solid rgba(251, 209, 0, 0.15) !important; border-radius: 0.7rem 2.2rem 0.7rem 2.2rem !important; box-shadow: 0 1rem 2.4rem rgba(0, 0, 0, 0.22) !important; }

.custom-gallery-block .custom-gallery-item:nth-child(4n + 2) .custom-gallery-card, .custom-gallery-block .custom-gallery-item:nth-child(4n + 3) .custom-gallery-card { border-radius: 2.2rem 0.7rem 2.2rem 0.7rem !important; }

.custom-gallery-block .custom-gallery-link { position: relative !important; width: 100% !important; aspect-ratio: 4 / 3 !important; display: block !important; margin: 0 !important; overflow: hidden !important; background: #151414 !important; border-radius: 0.45rem 1.8rem 0.45rem 1.8rem !important; text-decoration: none !important; }

.custom-gallery-block .custom-gallery-item:nth-child(4n + 2) .custom-gallery-link, .custom-gallery-block .custom-gallery-item:nth-child(4n + 3) .custom-gallery-link { border-radius: 1.8rem 0.45rem 1.8rem 0.45rem !important; }

.custom-gallery-block .custom-gallery-image { width: 100% !important; height: 100% !important; display: block !important; margin: 0 !important; object-fit: cover !important; object-position: center !important; transition: filter 0.45s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) !important; }

/************************************************ OVERLAY SURVOL ****************** */
.custom-gallery-block .custom-gallery-hover { position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #151414 !important; background: linear-gradient(180deg, rgba(21, 20, 20, 0.05), rgba(21, 20, 20, 0.72)) !important; opacity: 0 !important; transition: opacity 0.35s ease !important; }

.custom-gallery-block .custom-gallery-hover::before { content: "" !important; position: absolute !important; width: 4.2rem !important; height: 4.2rem !important; background: #fbd100 !important; border: 0.3rem solid rgba(21, 20, 20, 0.18) !important; border-radius: 0.8rem 1.8rem 0.8rem 1.8rem !important; box-shadow: 0 1rem 2.2rem rgba(0, 0, 0, 0.3) !important; transform: scale(0.75) rotate(-6deg) !important; transition: transform 0.35s ease !important; }

.custom-gallery-block .custom-gallery-hover i { position: relative !important; z-index: 2 !important; margin: 0 !important; color: #151414 !important; line-height: 1 !important; transform: scale(0.75) !important; transition: transform 0.35s ease !important; }

.custom-gallery-block .custom-gallery-link:hover .custom-gallery-image { filter: contrast(1.05) brightness(0.82) !important; transform: scale(1.07) !important; }

.custom-gallery-block .custom-gallery-link:hover .custom-gallery-hover { opacity: 1 !important; }

.custom-gallery-block .custom-gallery-link:hover .custom-gallery-hover::before { transform: scale(1) rotate(0deg) !important; }

.custom-gallery-block .custom-gallery-link:hover .custom-gallery-hover i { transform: scale(1) !important; }

.custom-gallery-block .custom-gallery-link:focus-visible { outline: 0.1875rem solid #fbd100 !important; outline-offset: 0.25rem !important; }

/************************************************ ANIMATION *********************** */
@keyframes moreauGalleryAppear { from { opacity: 0;
    transform: translateY(1rem); }
  to { opacity: 1;
    transform: translateY(0); } }

/************************************************ RESPONSIVE ********************** */
@media screen and (max-width: 68rem) { .custom-gallery-block .custom-gallery-grid > .row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }

@media screen and (max-width: 50rem) { .moreau-gallery-navigation { padding-right: 1rem !important; padding-left: 1rem !important; } .custom-gallery-block { padding-right: 1rem !important; padding-left: 1rem !important; } .custom-gallery-block .custom-gallery-grid > .row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.9rem !important; } }

@media screen and (max-width: 36rem) { .moreau-gallery-tabs { grid-template-columns: minmax(0, 1fr) !important; padding: 0.55rem !important; border-radius: 0.8rem 2.3rem 0.8rem 2.3rem !important; } .moreau-gallery-tab, .moreau-gallery-tab:nth-child(2), .moreau-gallery-tab.is-active, .moreau-gallery-tab.is-active:nth-child(2) { min-height: 4.7rem !important; border-radius: 0.7rem 1.8rem 0.7rem 1.8rem !important; } .custom-gallery-block .custom-gallery-grid > .row { grid-template-columns: minmax(0, 1fr) !important; } .custom-gallery-block .custom-gallery-link { aspect-ratio: 16 / 11 !important; } }

@media (prefers-reduced-motion: reduce) { .moreau-gallery-tab, .moreau-gallery-tab::before, .moreau-gallery-tab__icon, .custom-gallery-block.is-active-gallery, .custom-gallery-block .custom-gallery-image, .custom-gallery-block .custom-gallery-hover, .custom-gallery-block .custom-gallery-hover::before, .custom-gallery-block .custom-gallery-hover i { animation: none !important; transition: none !important; } }

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