@charset "UTF-8";
@import url(main.css);
.animated-border-button:after { background-color: #025fa0 !important; }

/***************************************************************AJUSTEMENTS SEO***********************************************************/
#navbarSupportedContent > ul > li.dropdown.px-4 > div > a:nth-child(1) { font-size: 0.8em !important; }

#navbarSupportedContent > ul > li.dropdown.px-4 > div > ul a { transition: all 0.5s ease; }

.first-banner-seo-page .background-image-div-opacity { background-image: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2F4DWpLnfw2SODAYVKdku0RZXpHB22%2Fimages%2FDesign_sans_titre_3_gvua.webp?alt=media&token=e4a422f8-cf81-478f-b173-34362f3d9abc") !important; }

#seo-text-images h2, #photo-text-seo-page h2, #bandeau-title-seo h2 { font-size: 1.8rem !important; }

/* ----------------------------------------------------------------------------- */
/* BASE */
/* ----------------------------------------------------------------------------- */
.gce-hero *, .gce-intro *, .gce-services *, .gce-reassurance *, .gce-strip *, .gce-reviews *, .gce-cta *, .gce-contact *, .gce-footer *, .gce-modal * { box-sizing: border-box; }

.gce-hero h1, .gce-hero h2, .gce-hero h3, .gce-intro h1, .gce-intro h2, .gce-intro h3, .gce-services h1, .gce-services h2, .gce-services h3, .gce-reassurance h1, .gce-reassurance h2, .gce-reassurance h3, .gce-reviews h1, .gce-reviews h2, .gce-cta h1, .gce-cta h2, .gce-contact h1, .gce-contact h2, .gce-footer p, .gce-modal h2, .gce-modal p { margin-top: 0; }

.gce-hero a, .gce-intro a, .gce-services a, .gce-reassurance a, .gce-reviews a, .gce-cta a, .gce-contact a, .gce-footer a, .gce-modal a { text-decoration: none; }

.gce-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 20px; color: #025fa0; text-transform: uppercase; letter-spacing: 0.15em; font-weight: 700; }

.gce-kicker::before { content: ""; width: 28px; height: 2px; background: #0477bf; }

.gce-kicker-light { color: #ffffff; }

.gce-kicker-light::before { background: #ffffff; }

.gce-kicker-blue { color: #55b6ef; }

.gce-kicker-blue::before { background: #0477bf; }

.gce-section-heading h2 { margin-bottom: 0; color: #02284f; line-height: 1.05; }

.gce-section-heading-light h2 { color: #ffffff; }

.gce-btn { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 56px; padding: 0 28px; border-radius: 14px; font-weight: 700; transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }

.gce-btn-primary { background: #0477bf; color: #ffffff; border: 1px solid #0477bf; box-shadow: 0 14px 35px rgba(2, 95, 160, 0.2); }

.gce-btn-outline { color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.4); background: rgba(255, 255, 255, 0.05); }

.gce-btn-white { color: #02284f; background: #ffffff; border: 1px solid #ffffff; }

.gce-btn-outline-white { color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.45); }

.gce-text-link { display: inline-flex; align-items: center; gap: 14px; color: #025fa0; font-weight: 700; padding-bottom: 6px; border-bottom: 1px solid rgba(2, 95, 160, 0.25); transition: gap 0.25s ease, color 0.25s ease, border-color 0.25s ease; }

/* ----------------------------------------------------------------------------- */
/* HERO */
/* ----------------------------------------------------------------------------- */
.gce-hero { position: relative; min-height: 820px; display: flex; align-items: center; overflow: hidden; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F4DWpLnfw2SODAYVKdku0RZXpHB22%2Fimages%2FDesign_sans_titre_3_cj4v.webp); background-size: cover; background-position: center; padding: 120px 0 190px; }

.gce-hero-container { position: relative; z-index: 5; }

.gce-hero-grid { position: absolute; inset: 0; opacity: 0.13; background-image: linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to right, transparent, #000 35%, #000); }

.gce-hero-glow { position: absolute; width: 480px; height: 480px; border-radius: 50%; right: -140px; top: -100px; background: rgba(4, 119, 191, 0.25); filter: blur(30px); opacity: 0; transform: scale(0.65); transition: opacity 1s ease, transform 1.2s ease; }

.gce-hero-glow.gce-visible { opacity: 1; transform: scale(1); }

.gce-hero-ring { position: absolute; width: 680px; height: 680px; right: -230px; top: 70px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 50%; transform: scale(0.7) rotate(-18deg); opacity: 0; transition: opacity 1s ease, transform 1.4s ease; }

.gce-hero-ring span { position: absolute; inset: 65px; border: 1px solid rgba(4, 119, 191, 0.55); border-radius: 50%; }

.gce-hero-ring.gce-visible { opacity: 1; transform: scale(1) rotate(0deg); }

.gce-hero-line { position: absolute; height: 2px; width: 340px; top: 120px; left: 5%; background: linear-gradient(90deg, transparent, #0477bf); transform: translateX(-70px); opacity: 0; transition: opacity 1s ease, transform 1s ease; }

.gce-hero-line.gce-visible { opacity: 0.8; transform: translateX(0); }

.gce-hero-content { position: relative; z-index: 2; max-width: 740px; }

.gce-hero h1 { color: #ffffff; line-height: 0.98; max-width: 720px; margin-bottom: 28px; font-family: 'Raleway'; text-transform: uppercase; font-weight: 900; }

.gce-hero-description { max-width: 650px; color: rgba(255, 255, 255, 0.82); line-height: 1.8; margin-bottom: 36px; }

.gce-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 42px; }

.gce-hero-visual { position: relative; min-height: 460px; display: flex; align-items: center; justify-content: center; }

.gce-car-card { position: relative; width: 100%; max-width: 560px; padding: 35px; border: 1px solid rgba(255, 255, 255, 0.17); border-radius: 38px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0.34)); box-shadow: 0 35px 80px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18); backdrop-filter: blur(5px); transform: rotate(-3deg); }

.gce-car-card::after { content: ""; position: absolute; width: 170px; height: 170px; background: #0477bf; filter: blur(80px); right: 0; bottom: 0; opacity: 0.45; }

.gce-car-svg { position: relative; z-index: 2; width: 100%; height: auto; color: #ffffff; margin: 30px 0; }

.gce-floating-tag { position: absolute; z-index: 5; display: flex; align-items: center; gap: 12px; background: #ffffff; color: #02284f; padding: 12px 18px 12px 12px; border-radius: 50px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18); opacity: 0; transition: opacity 0.8s ease, transform 0.8s ease; }

.gce-floating-tag-one { top: 26px; left: -14px; transform: translateX(-40px); }

.gce-floating-tag-two { top: 55px; right: -35px; transform: translateX(40px); }

.gce-floating-tag-three { bottom: 15px; right: -40px; transform: translateX(40px); }

.gce-floating-tag-four { top: -15px; left: 50%; transform: translateX(40px); }

.gce-floating-tag-five { bottom: -10px; left: -14px; transform: translateX(40px); }

.gce-floating-tag.gce-visible { opacity: 1; transform: translateX(0); }

@keyframes gce-floating-tag-float { 0%, 100% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(0) translateY(-7px); } }

.gce-hero:hover .gce-floating-tag.gce-visible { animation: gce-floating-tag-float 3s ease-in-out infinite; }

.gce-hero:hover .gce-floating-tag-one.gce-visible { animation-delay: 0s; }

.gce-hero:hover .gce-floating-tag-two.gce-visible { animation-delay: 0.2s; }

.gce-hero:hover .gce-floating-tag-three.gce-visible { animation-delay: 0.4s; }

.gce-hero:hover .gce-floating-tag-four.gce-visible { animation-delay: 0.6s; }

.gce-hero:hover .gce-floating-tag-five.gce-visible { animation-delay: 0.8s; }

.gce-floating-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #ffffff; border-radius: 50%; background: #0477bf; }

.gce-floating-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.gce-hero-wave { position: absolute; z-index: 4; left: 0; bottom: -1px; width: 100%; height: 160px; }

.gce-hero-wave svg { width: 100%; height: 100%; }

.gce-hero-wave path { fill: #f5f9fc; }

/* ----------------------------------------------------------------------------- */
/* INTRO */
/* ----------------------------------------------------------------------------- */
.gce-intro { position: relative; overflow: hidden; padding: 105px 0 160px; background: #f5f9fc; }

.gce-intro-row { position: relative; z-index: 3; }

.gce-intro-content { padding-left: 60px; border-left: 1px solid rgba(2, 95, 160, 0.14); }

.gce-intro-content p { color: #455668; line-height: 1.85; margin-bottom: 20px; }

.gce-intro-content strong { color: #02284f; }

.gce-intro-content .gce-text-link { margin-top: 14px; }

.gce-intro-orbit { position: absolute; width: 430px; height: 430px; border: 1px solid rgba(4, 119, 191, 0.13); border-radius: 50%; left: -250px; bottom: -180px; opacity: 0; transform: scale(0.75); transition: opacity 1s ease, transform 1.3s ease; }

.gce-intro-orbit::after { content: ""; position: absolute; inset: 60px; border: 1px solid rgba(4, 119, 191, 0.1); border-radius: 50%; }

.gce-intro-orbit.gce-visible { opacity: 1; transform: scale(1); }

.gce-intro-dot-grid { position: absolute; width: 170px; height: 170px; right: 7%; top: 40px; opacity: 0; transform: translateY(30px); background-image: radial-gradient(#0477bf 2px, transparent 2px); background-size: 18px 18px; transition: opacity 1s ease, transform 1s ease; }

.gce-intro-dot-grid.gce-visible { opacity: 0.18; transform: translateY(0); }

.gce-intro-curve { position: absolute; right: -120px; bottom: -120px; width: 700px; height: 300px; border-radius: 50% 50% 0 0; border-top: 1px solid rgba(2, 95, 160, 0.12); transform: rotate(-7deg) translateY(80px); opacity: 0; transition: transform 1.4s ease, opacity 1s ease; }

.gce-intro-curve.gce-visible { transform: rotate(-7deg) translateY(0); opacity: 1; }

/* ----------------------------------------------------------------------------- */
/* SERVICES */
/* ----------------------------------------------------------------------------- */
.gce-services { position: relative; overflow: hidden; padding: 120px 0 190px; background: radial-gradient(circle at 15% 30%, rgba(4, 119, 191, 0.16), transparent 24%), linear-gradient(145deg, #02284f 0%, #023968 55%, #025fa0 100%); }

.gce-services-heading-row { position: relative; z-index: 2; margin-bottom: 55px; }

.gce-services-intro { margin: 0; color: rgba(255, 255, 255, 0.72); line-height: 1.8; }

.gce-services-grid { position: relative; z-index: 2; row-gap: 24px; }

.gce-service-card { position: relative; width: 100%; height: 100%; min-height: 365px; display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 30px; border-radius: 28px; cursor: pointer; appearance: none; color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.12); background: linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; }

.gce-service-card::before { content: ""; position: absolute; width: 100px; height: 100px; right: 0; top: 0; background: rgba(4, 119, 191, 0.2); border-radius: 0 28px 0 100%; }

.gce-service-card-wide { min-height: 320px; }

.gce-service-number { position: absolute; right: 25px; top: 20px; color: rgba(255, 255, 255, 0.16); font-weight: 800; letter-spacing: 0.05em; }

.gce-service-icon { position: relative; z-index: 2; width: 68px; height: 68px; border-radius: 20px; display: flex; align-items: center; justify-content: center; background: #0477bf; color: #ffffff; margin-bottom: 38px; }

.gce-service-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }

.gce-service-content { display: block; flex-grow: 1; }

.gce-service-title { display: block; margin-bottom: 16px; line-height: 1.2; font-weight: 700; }

.gce-service-description { display: block; color: rgba(255, 255, 255, 0.68); line-height: 1.7; }

.gce-service-link { display: flex; align-items: center; gap: 12px; margin-top: 30px; color: #75caf7; font-weight: 700; }

.gce-services-shape { position: absolute; width: 600px; height: 600px; top: -280px; right: -220px; border: 1px solid rgba(255, 255, 255, 0.11); border-radius: 50%; opacity: 0; transform: scale(0.7); transition: opacity 1s ease, transform 1.4s ease; }

.gce-services-shape::after { content: ""; position: absolute; inset: 80px; border: 1px solid rgba(4, 119, 191, 0.35); border-radius: 50%; }

.gce-services-shape.gce-visible { opacity: 1; transform: scale(1); }

.gce-services-wave { position: absolute; left: 0; bottom: -1px; width: 100%; height: 140px; }

.gce-services-wave svg { width: 100%; height: 100%; }

.gce-services-wave path { fill: #ffffff; }

/* ----------------------------------------------------------------------------- */
/* RÉASSURANCE */
/* ----------------------------------------------------------------------------- */
.gce-reassurance { position: relative; overflow: hidden; background: #ffffff; padding: 110px 0 95px; }

.gce-reassurance-grid { row-gap: 24px; }

.gce-reassurance-item { display: flex; align-items: flex-start; gap: 20px; min-height: 100%; padding: 26px; border-radius: 24px; background: #f5f9fc; }

.gce-reassurance-icon { flex: 0 0 54px; width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; border-radius: 17px; color: #0477bf; background: #ffffff; box-shadow: 0 12px 28px rgba(2, 40, 79, 0.08); }

.gce-reassurance-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }

.gce-reassurance-item h3 { color: #02284f; margin-bottom: 9px; }

.gce-reassurance-item p { margin: 0; color: #617080; line-height: 1.7; }

.gce-reassurance-circle { position: absolute; left: -190px; top: -100px; width: 410px; height: 410px; border-radius: 50%; background: rgba(4, 119, 191, 0.05); transform: scale(0.65); opacity: 0; transition: opacity 1s ease, transform 1.3s ease; }

.gce-reassurance-circle.gce-visible { opacity: 1; transform: scale(1); }

/* ----------------------------------------------------------------------------- */
/* BANDEAU */
/* ----------------------------------------------------------------------------- */
.gce-strip { position: relative; overflow: hidden; padding: 32px 0 65px; background: #ffffff; }

.gce-strip-inner { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 25px; flex-wrap: wrap; padding: 30px 35px; border-radius: 24px; color: #ffffff; background: #02284f; }

.gce-strip-item { display: flex; align-items: center; gap: 12px; font-weight: 600; }

.gce-strip-dot { width: 7px; height: 7px; background: #0477bf; border-radius: 50%; }

.gce-strip-line { position: absolute; height: 1px; width: 60%; left: 20%; bottom: 28px; background: linear-gradient(90deg, transparent, #0477bf, transparent); transform: scaleX(0); transition: transform 1.2s ease; }

.gce-strip-line.gce-visible { transform: scaleX(1); }

/* ----------------------------------------------------------------------------- */
/* AVIS */
/* ----------------------------------------------------------------------------- */
.gce-reviews { position: relative; overflow: hidden; padding: 75px 0 135px; background: linear-gradient(180deg, #ffffff 0%, #f2f7fb 100%); }

.gce-review-card { position: relative; z-index: 2; padding: 60px; border-radius: 40px; background: #ffffff; box-shadow: 0 35px 90px rgba(2, 40, 79, 0.09); }

.gce-review-card h2 { color: #02284f; line-height: 1.1; max-width: 750px; margin-bottom: 25px; }

.gce-review-card p { color: #5e6d7c; line-height: 1.8; max-width: 760px; margin-bottom: 30px; }

.gce-rating-box { position: relative; text-align: center; padding: 45px 25px; border-radius: 28px; color: #ffffff; background: linear-gradient(145deg, #025fa0 0%, #0477bf 100%); box-shadow: 0 22px 55px rgba(2, 95, 160, 0.25); }

.gce-rating-number { font-weight: 800; margin-bottom: 10px; }

.gce-stars { letter-spacing: 0.1em; margin-bottom: 10px; }

.gce-rating-source { color: rgba(255, 255, 255, 0.72); }

.gce-review-shape { position: absolute; width: 520px; height: 210px; right: -140px; bottom: 20px; border-radius: 50%; border: 1px solid rgba(4, 119, 191, 0.13); transform: rotate(-15deg) translateX(120px); opacity: 0; transition: opacity 1s ease, transform 1.4s ease; }

.gce-review-shape.gce-visible { transform: rotate(-15deg) translateX(0); opacity: 1; }

/* ----------------------------------------------------------------------------- */
/* CTA */
/* ----------------------------------------------------------------------------- */
.gce-cta { position: relative; overflow: hidden; padding: 115px 0 190px; color: #ffffff; background: radial-gradient(circle at 75% 30%, rgba(4, 119, 191, 0.42), transparent 28%), linear-gradient(135deg, #02284f 0%, #025fa0 100%); }

.gce-cta-inner { position: relative; z-index: 3; max-width: 860px; margin: 0 auto; text-align: center; }

.gce-cta-inner .gce-kicker { justify-content: center; }

.gce-cta h2 { color: #ffffff; margin-bottom: 25px; }

.gce-cta p { margin: 0 auto 35px; color: rgba(255, 255, 255, 0.78); line-height: 1.8; max-width: 760px; }

.gce-cta-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; }

.gce-cta-ring { position: absolute; width: 560px; height: 560px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 50%; left: -270px; top: -210px; transform: scale(0.7); opacity: 0; transition: opacity 1s ease, transform 1.4s ease; }

.gce-cta-ring.gce-visible { opacity: 1; transform: scale(1); }

.gce-cta-line { position: absolute; width: 330px; height: 2px; background: linear-gradient(90deg, #0477bf, transparent); right: 4%; top: 80px; transform: translateX(80px); opacity: 0; transition: opacity 1s ease, transform 1s ease; }

.gce-cta-line.gce-visible { opacity: 0.75; transform: translateX(0); }

.gce-cta-wave { position: absolute; left: 0; bottom: -1px; width: 100%; height: 135px; }

.gce-cta-wave svg { width: 100%; height: 100%; }

.gce-cta-wave path { fill: #f5f9fc; }

/* ----------------------------------------------------------------------------- */
/* CONTACT */
/* ----------------------------------------------------------------------------- */
.gce-contact { position: relative; overflow: hidden; padding: 100px 0 120px; background: #f5f9fc; }

.gce-contact-content { position: relative; z-index: 2; padding-right: 45px; }

.gce-contact h2 { color: #02284f; line-height: 1.1; margin-bottom: 35px; }

.gce-contact-list { margin-bottom: 35px; }

.gce-contact-item { display: flex; align-items: flex-start; gap: 18px; padding: 18px 0; border-bottom: 1px solid rgba(2, 40, 79, 0.09); color: #02284f; }

.gce-contact-item-link { transition: padding-left 0.25s ease, color 0.25s ease; }

.gce-contact-item:last-child { border-bottom: none; }

.gce-contact-item strong { display: block; margin-bottom: 4px; }

.gce-contact-item p { margin: 0; color: #657483; line-height: 1.6; word-break: break-word; }

.gce-contact-icon { flex: 0 0 44px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 14px; color: #0477bf; background: #ffffff; box-shadow: 0 8px 25px rgba(2, 40, 79, 0.07); }

.gce-contact-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.gce-map-card { position: relative; height: 100%; min-height: 560px; border-radius: 35px; overflow: hidden; box-shadow: 0 30px 75px rgba(2, 40, 79, 0.13); }

.gce-map-card iframe { display: block; width: 100%; height: 100%; min-height: 560px; border: 0; filter: saturate(0.75) contrast(1.05); }

.gce-map-label { position: absolute; left: 25px; bottom: 25px; display: flex; flex-direction: column; gap: 3px; padding: 18px 22px; border-radius: 17px; background: #02284f; color: #ffffff; box-shadow: 0 18px 35px rgba(0, 0, 0, 0.18); }

.gce-map-label span { color: rgba(255, 255, 255, 0.7); }

.gce-contact-shape { position: absolute; width: 550px; height: 220px; left: -170px; bottom: -80px; border-radius: 50%; border: 1px solid rgba(4, 119, 191, 0.15); transform: translateX(-100px) rotate(8deg); opacity: 0; transition: opacity 1s ease, transform 1.4s ease; }

.gce-contact-shape.gce-visible { opacity: 1; transform: translateX(0) rotate(8deg); }

/* ----------------------------------------------------------------------------- */
/* FOOTER */
/* ----------------------------------------------------------------------------- */
.gce-footer { position: relative; color: rgba(255, 255, 255, 0.72); background: #02284f; padding: 55px 0; }

.gce-footer-inner { display: flex; flex-direction: column; gap: 22px; }

.gce-footer-brand strong { color: #ffffff; }

.gce-footer-brand p { margin: 5px 0 0; }

.gce-footer-services, .gce-footer-contact { display: flex; flex-wrap: wrap; gap: 9px; }

.gce-footer-services span { color: #0477bf; }

.gce-footer-contact a { color: #ffffff; }

/* ----------------------------------------------------------------------------- */
/* MODALES */
/* ----------------------------------------------------------------------------- */
.gce-modal { position: fixed; z-index: 999999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 25px; pointer-events: none; visibility: hidden; opacity: 0; transition: opacity 0.25s ease, visibility 0.25s ease; }

.gce-modal.gce-modal-open { pointer-events: auto; visibility: visible; opacity: 1; }

.gce-modal-backdrop { position: absolute; inset: 0; background: rgba(2, 20, 40, 0.76); backdrop-filter: blur(8px); }

.gce-modal-panel { position: relative; z-index: 2; width: 100%; max-width: 780px; max-height: 90vh; overflow-y: auto; padding: 55px; border-radius: 30px; background: #ffffff; box-shadow: 0 40px 100px rgba(0, 0, 0, 0.3); transform: translateY(25px) scale(0.98); transition: transform 0.3s ease; }

.gce-modal.gce-modal-open .gce-modal-panel { transform: translateY(0) scale(1); }

.gce-modal-close { position: absolute; right: 22px; top: 22px; width: 44px; height: 44px; border: 0; border-radius: 50%; cursor: pointer; background: #f0f6fa; color: #02284f; transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease; }

.gce-modal-number { position: absolute; right: 80px; top: 28px; color: rgba(2, 40, 79, 0.08); font-weight: 800; }

.gce-modal-panel h2 { color: #02284f; max-width: 620px; margin-bottom: 25px; line-height: 1.1; font-family: 'Raleway'; font-weight: 900 !important; }

.gce-modal-panel p { color: #566778; line-height: 1.8; margin-bottom: 18px; }

.gce-modal-panel ul { padding-left: 20px; margin: 8px 0 24px; color: #566778; }

.gce-modal-panel li { padding: 5px 0; line-height: 1.6; }

.gce-modal-panel .gce-btn { margin-top: 12px; }

/* ----------------------------------------------------------------------------- */
/* HOVERS UNIQUEMENT SUR ÉLÉMENTS CLIQUABLES */
/* ----------------------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) { .gce-btn-primary:hover { transform: translateY(-3px); background: #025fa0; border-color: #025fa0; color: white; box-shadow: 0 18px 45px rgba(2, 95, 160, 0.28); } .gce-btn-outline:hover { transform: translateY(-3px); background: #ffffff; border-color: #ffffff; color: #02284f; } .gce-btn-white:hover { transform: translateY(-3px); background: #0477bf; color: #ffffff; border-color: #0477bf; } .gce-btn-outline-white:hover { transform: translateY(-3px); background: #ffffff; border-color: #ffffff; color: #02284f; } .gce-text-link:hover { gap: 20px; color: #0477bf; border-color: #0477bf; } .gce-service-card:hover { transform: translateY(-8px); border-color: rgba(117, 202, 247, 0.45); background: linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.05)); box-shadow: 0 28px 60px rgba(0, 0, 0, 0.16); } .gce-contact-item-link:hover { padding-left: 8px; color: #0477bf; } .gce-modal-close:hover { transform: rotate(8deg); background: #0477bf; color: #ffffff; } }

/* ----------------------------------------------------------------------------- */
/* TABLETTE */
/* ----------------------------------------------------------------------------- */
@media (max-width: 991px) { .gce-hero { min-height: auto; padding: 100px 0 190px; } .gce-hero-visual { margin-top: 65px; } .gce-car-card { max-width: 650px; } .gce-intro { padding-top: 80px; } .gce-intro-content { margin-top: 40px; padding-left: 0; border-left: 0; } .gce-services { padding-top: 95px; } .gce-services-intro { margin-top: 25px; } .gce-service-card, .gce-service-card-wide { min-height: 330px; } .gce-reassurance .gce-section-heading { margin-bottom: 45px; } .gce-strip-inner { justify-content: flex-start; } .gce-review-card { padding: 45px; } .gce-rating-box { margin-top: 40px; } .gce-contact-content { padding-right: 0; margin-bottom: 50px; } .gce-map-card { min-height: 450px; } .gce-map-card iframe { min-height: 450px; } }

/* ----------------------------------------------------------------------------- */
/* MOBILE */
/* ----------------------------------------------------------------------------- */
@media (max-width: 767px) { .gce-hero { padding: 80px 0 150px; } .gce-hero-actions, .gce-cta-actions { flex-direction: column; align-items: stretch; } .gce-btn { width: 100%; } .gce-hero-visual { min-height: 340px; margin-top: 45px; } .gce-car-card { padding: 22px; border-radius: 26px; } .gce-floating-tag { display: none; } .gce-intro { padding: 70px 0 120px; } .gce-intro-dot-grid { right: -50px; } .gce-services { padding: 85px 0 155px; } .gce-services-heading-row { margin-bottom: 40px; } .gce-service-card, .gce-service-card-wide { min-height: auto; padding: 25px; } .gce-service-icon { margin-bottom: 30px; } .gce-reassurance { padding: 80px 0 65px; } .gce-strip { padding-bottom: 55px; } .gce-strip-inner { flex-direction: column; gap: 18px; padding: 25px; border-radius: 24px 24px 55px 24px; } .gce-reviews { padding: 55px 0 100px; } .gce-review-card { padding: 32px 24px; border-radius: 28px; } .gce-cta { padding: 90px 0 155px; } .gce-contact { padding: 75px 0 85px; } .gce-map-card, .gce-map-card iframe { min-height: 380px; } .gce-map-label { left: 15px; right: 15px; bottom: 15px; } .gce-modal { padding: 12px; } .gce-modal-panel { padding: 45px 24px 30px; border-radius: 24px; } .gce-modal-number { display: none; } }

/* ----------------------------------------------------------------------------- */
/* PETIT MOBILE */
/* ----------------------------------------------------------------------------- */
@media (max-width: 480px) { .gce-hero { padding-top: 65px; } .gce-car-svg { margin: 18px 0; } .gce-reassurance-item { padding: 20px; } .gce-contact-item { gap: 13px; } .gce-contact-icon { flex-basis: 40px; width: 40px; height: 40px; } }

/* ----------------------------------------------------------------------------- */
/* ACCESSIBILITÉ : RÉDUCTION DES ANIMATIONS */
/* ----------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) { .gce-scroll-graphic, .gce-btn, .gce-text-link, .gce-service-card, .gce-contact-item-link, .gce-modal, .gce-modal-panel, .gce-modal-close { transition: none !important; } }

/******************************************************GOOGLE AVIS*****************************************/
div.googleReviews-div { padding: 70px 0; background: #f5f9fc; margin-bottom: 0 !important; }

div.googleReviews-div > div.container { position: relative; z-index: 2; }

div.googleReviews-div div.card { border: 0 !important; background: #ffffff !important; border-radius: 24px !important; box-shadow: 0 20px 50px rgba(2, 40, 79, 0.1) !important; }

div.googleReviews-div div.container > div.card { padding: 22px 28px !important; border-left: 5px solid #0477bf !important; }

div.googleReviews-div img.avatar-google-place { background: #f5f9fc !important; padding: 8px !important; border: 1px solid rgba(2, 95, 160, 0.12) !important; }

div.googleReviews-div h3 { color: #02284f !important; margin-bottom: 8px !important; }

div.googleReviews-div span#place-rating { color: #667788 !important; }

div.googleReviews-div i.star { color: #0477bf !important; }

div.googleReviews-div a#maps-url { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 13px 22px !important; border-radius: 12px !important; background: #025fa0 !important; color: #ffffff !important; text-decoration: none !important; transition: background-color 0.25s ease, transform 0.25s ease !important; }

div.googleReviews-div a#maps-url:hover { background: #0477bf !important; transform: translateY(-2px) !important; }

div.googleReviews-div div#google-reviews-widget { max-width: 1500px !important; margin: 0 auto !important; padding: 10px 0 20px !important; }

div.googleReviews-div div#google-reviews-widget div.card { height: 100% !important; min-height: 230px !important; padding: 18px !important; border-top: 3px solid #0477bf !important; }

div.googleReviews-div div#google-reviews-widget div.card > div:first-child { justify-content: flex-start !important; padding: 4px 6px !important; }

div.googleReviews-div img.avatar-google-reviews { width: 42px !important; height: 42px !important; object-fit: contain !important; }

div.googleReviews-div div.card-body { padding: 12px 6px 6px !important; }

div.googleReviews-div div.card-body p { color: #536474 !important; line-height: 1.7 !important; margin-top: 14px !important; }

div.googleReviews-div div.text-muted, div.googleReviews-div small.text-muted { color: #8a98a5 !important; }

@media (max-width: 767px) { div.googleReviews-div { padding: 50px 0; } div.googleReviews-div div.container > div.card { padding: 20px !important; } div.googleReviews-div a#maps-url { width: 100% !important; } div.googleReviews-div div#google-reviews-widget div.card { min-height: auto !important; } }

/**********************************************BOUTONS CMS****************************************************/
a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important; min-height: 56px !important; padding: 0 28px !important; background: #0477bf !important; color: #ffffff !important; border: 1px solid #0477bf !important; border-radius: 14px !important; text-decoration: none !important; font-weight: 700 !important; box-shadow: 0 14px 35px rgba(2, 95, 160, 0.2) !important; transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important; }

@media (hover: hover) and (pointer: fine) { a.button_header:hover, a.button_homepageScreen:hover, a.button_homepageDoubleScreen:hover, a.phone-number-button:hover { background: #025fa0 !important; border-color: #025fa0 !important; color: #ffffff !important; transform: translateY(-3px) !important; box-shadow: 0 18px 45px rgba(2, 95, 160, 0.28) !important; } }

/******************************************************BLOC SEO************************************************/
div:has(> .first-activity-div) { padding: 100px 0 100px; }

div.first-activity-div, div.second-activity-div, div.third-activity-div { position: relative !important; overflow: hidden !important; padding: 45px !important; margin-top: 35px !important; margin-bottom: 35px !important; background: linear-gradient(135deg, rgba(2, 40, 79, 0.98) 0%, rgba(2, 95, 160, 0.96) 100%) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.08) !important; border-radius: 30px !important; box-shadow: 0 25px 70px rgba(2, 40, 79, 0.16) !important; }

div.first-activity-div::before, div.second-activity-div::before, div.third-activity-div::before { content: "" !important; position: absolute !important; width: 260px !important; height: 260px !important; top: -120px !important; right: -90px !important; border: 1px solid rgba(255, 255, 255, 0.12) !important; border-radius: 50% !important; pointer-events: none !important; }

div.first-activity-div::after, div.second-activity-div::after, div.third-activity-div::after { content: "" !important; position: absolute !important; width: 150px !important; height: 150px !important; bottom: -75px !important; left: -55px !important; background: rgba(4, 119, 191, 0.14) !important; border-radius: 50% !important; pointer-events: none !important; }

div.first-activity-div div.row, div.second-activity-div div.row, div.third-activity-div div.row { position: relative !important; z-index: 2 !important; padding: 0 !important; margin-top: 0 !important; }

div.first-activity-div div.card, div.second-activity-div div.card, div.third-activity-div div.card { position: relative !important; border: 0 !important; border-radius: 24px !important; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2) !important; }

div.first-activity-div div.black-screen, div.second-activity-div div.black-screen, div.third-activity-div div.black-screen { display: none !important; }

div.first-activity-div div.first-activity-title, div.second-activity-div div.second-activity-title, div.third-activity-div div.third-activity-title { position: relative !important; margin-bottom: 22px !important; padding-bottom: 18px !important; color: #ffffff !important; }

div.first-activity-div div.first-activity-title::after, div.second-activity-div div.second-activity-title::after, div.third-activity-div div.third-activity-title::after { content: "" !important; position: absolute !important; left: 0 !important; bottom: 0 !important; width: 55px !important; height: 3px !important; background: #0477bf !important; border-radius: 10px !important; }

div.first-activity-div h2, div.second-activity-div h2, div.third-activity-div h2 { margin: 0 !important; color: #ffffff !important; font-family: 'Raleway'; font-weight: 700 !important; font-size: 1.8rem; }

div.first-activity-div div.lead, div.second-activity-div div.lead, div.third-activity-div div.lead { margin-top: 0 !important; margin-bottom: 0 !important; color: rgba(255, 255, 255, 0.76) !important; }

div.first-activity-div div.lead p, div.second-activity-div div.lead p, div.third-activity-div div.lead p { margin: 0 !important; line-height: 1.8 !important; }

div.first-activity-div div.background-image-div-opacity, div.second-activity-div div.background-image-div-opacity, div.third-activity-div div.background-image-div-opacity { display: none !important; }

@media (max-width: 991px) { div.first-activity-div, div.second-activity-div, div.third-activity-div { padding: 30px !important; } div.first-activity-div div.card, div.second-activity-div div.card, div.third-activity-div div.card { min-height: 300px !important; } div.first-activity-div div.row, div.second-activity-div div.row, div.third-activity-div div.row { row-gap: 30px !important; } }

@media (max-width: 767px) { div.first-activity-div, div.second-activity-div, div.third-activity-div { width: calc(100% - 24px) !important; padding: 22px !important; margin-top: 24px !important; margin-bottom: 24px !important; border-radius: 22px !important; } div.first-activity-div div.card, div.second-activity-div div.card, div.third-activity-div div.card { min-height: 250px !important; border-radius: 18px !important; } div.first-activity-div div.first-activity-title, div.second-activity-div div.second-activity-title, div.third-activity-div div.third-activity-title { margin-bottom: 18px !important; } }

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