@charset "UTF-8";
@import url(main.css);
#a-fleur-de-rance { height: 0 !important; margin-top: -5px; }

h1.display-4.fw-bold.bandeauTitre.titles.text-color-seventh { color: black !important; }

/*---------------------------Barre de navigation--------------------*/
nav.navbar { margin: 10px; box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; border-radius: 4px; }

nav.navbar a { text-decoration: none !important; }

.animated-border-button:after { background-color: #C8AD7F; }

/**************************************AJUSTEMENTS SEO******************************/
.bandeau h1 { color: white !important; }

.first-banner-seo-page-title h1 { font-size: 2.3rem !important; width: 80% !important; margin: auto !important; }

.first-banner-seo-page img.logo-seo-page { content: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FdeIeq0w6OGRh7qgkZPoLLrDlOjR2%2Fimages%2Flogo-demeure-afleurderance-2024-B-2x_-_Copie_75y7.webp?alt=media&token=2a5062ad-bf7b-4982-a00f-0520c59819a7"); max-width: 60px; }

.first-banner-seo-page .col-lg-12:has(img.logo-seo-page) { position: relative !important; width: fit-content !important; display: flex !important; align-items: center !important; justify-content: center !important; }

.first-banner-seo-page .col-lg-12:has(img.logo-seo-page)::before, .first-banner-seo-page .col-lg-12:has(img.logo-seo-page)::after { content: "" !important; position: absolute !important; top: 50% !important; width: 125px !important; height: 1px !important; background: rgba(255, 255, 255, 0.9) !important; transform: translateY(-50%) !important; }

.first-banner-seo-page .col-lg-12:has(img.logo-seo-page)::before { right: calc(100% + 18px) !important; }

.first-banner-seo-page .col-lg-12:has(img.logo-seo-page)::after { left: calc(100% + 18px) !important; }

#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; }

#bandeau-title-seo .titles { font-weight: 300 !important; text-transform: uppercase; font-size: 2rem; width: 80%; margin: auto !important; }

#photo-text-seo-page h2.titles, #seo-text-images h2.titles { font-weight: 300 !important; text-transform: uppercase; }

#double-images-text-seo { background: linear-gradient(to bottom, #ffffff 0%, #fdfaf6 13%, #f8f2e9 35%, #f6f0e7 100%); margin-bottom: 0 !important; }

#double-images-text-seo .card { background-color: #f6f0e7; padding: 2.5rem 1.5rem !important; border-radius: 4px !important; }

#double-images-text-seo .card-body { background-color: transparent; }

#double-images-text-seo .ratio { min-height: 550px; }

#double-images-text-seo img { border-radius: 4px !important; object-fit: cover; }

#photo-text-seo-page { width: 100% !important; margin: 0 !important; max-width: none !important; background: linear-gradient(to bottom, #ffffff 0%, #fdfaf6 13%, #f8f2e9 35%, #f6f0e7 100%); }

#photo-text-seo-page .row { box-shadow: none !important; background-color: transparent !important; }

#photo-text-seo-page h2 { font-size: 2rem; width: 80%; margin: auto; text-align: center; }

#photo-text-seo-page p { font-size: 1.15rem !important; width: 80%; margin: auto; background-color: #f6f0e7; padding: 2.5rem 1.5rem; border-radius: 4px !important; }

#photo-text-seo-page img { border-radius: 4px !important; object-fit: cover; }

#photo-text-seo-page-text { text-align: center; align-content: center; }

#photo-text-seo-page-image > img { max-height: 450px; }

#seo-text-images { width: 100% !important; margin: 0 !important; max-width: none !important; background: linear-gradient(to bottom, #ffffff 0%, #fdfaf6 13%, #f8f2e9 35%, #f6f0e7 100%); box-shadow: none !important; }

#seo-text-images .row { box-shadow: none !important; background-color: transparent !important; }

#seo-text-images img { border-radius: 4px !important; object-fit: cover; }

#seo-text-images h2 { font-size: 1.7rem !important; text-align: center; }

#seo-text-images p { margin-top: 40px; }

section.image-text-block:has(.image-text-map.seo) { background: linear-gradient(to bottom, #f6f0e7 0%, #f8f2e9 23%, #fdfaf6 65%, #ffffff 100%) !important; }

.image-text-map.seo + .image-text-content { border-radius: 80px; }

#logo-seo-page { margin-top: 0 !important; background: linear-gradient(to bottom, #f6f0e7 0%, #f8f2e9 23%, #fdfaf6 65%, #ffffff 100%) !important; }

#logo-seo-page + div .titles { font-size: 2rem; }

#logo-seo-page + div img { min-height: 550px; object-fit: cover; min-width: 350px; border-radius: 4px !important; }

#logo-seo-page + div .card { box-shadow: none !important; }

#logo-seo-page + div .card-body { border-radius: 4px; }

.my-5.pb-4:has(.seo-frequently-card) > .titles { display: none; }

/********************************************RESPONSIVE SEO***************************************/
@media (max-width: 650px) { .first-banner-seo-page-title > h1 { font-size: 1.5rem !important; width: 90% !important; } #bandeau-title-seo h2, #photo-text-seo-page h2, #seo-text-images h2 { font-size: 1.2rem !important; width: 100% !important; } #photo-text-seo-page p { font-size: 1rem !important; width: 100% !important; } section.image-text-block { width: 100vw !important; padding: 6rem 0 !important; } section.image-text-block iframe { width: 100% !important; } }

/********************************************************FORMULAIRE DE CONTACT REFPRO en display none pour le moment*************************************/
#contact { display: none; }

#contact > div > div.col-lg-6:first-of-type { display: none; }

#contact .col-md-10 { flex-direction: column; width: 100% !important; }

.contact-form-heading { text-align: center; }

form#formContact { margin: auto; position: relative !important; overflow: hidden !important; padding: clamp(28px, 5vw, 52px) !important; border: 1px solid rgba(200, 173, 127, 0.32) !important; border-radius: 32px !important; background: linear-gradient(145deg, rgba(255, 255, 255, 0.96) 0%, rgba(253, 250, 246, 0.96) 45%, rgba(246, 240, 231, 0.96) 100%) !important; box-shadow: 0 22px 55px rgba(25, 38, 56, 0.12) !important; }

form#formContact .row { position: relative !important; z-index: 2 !important; }

form#formContact .form-control { min-height: 58px !important; border: 1px solid rgba(25, 38, 56, 0.14) !important; border-radius: 18px !important; background-color: rgba(255, 255, 255, 0.88) !important; color: #192638 !important; box-shadow: none !important; transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease !important; }

form#formContact textarea.form-control { min-height: 160px !important; padding: 18px !important; }

form#formContact .form-control:focus { border-color: #C8AD7F !important; background-color: #fff !important; box-shadow: 0 0 0 4px rgba(200, 173, 127, 0.18) !important; }

form#formContact label { color: rgba(25, 38, 56, 0.72) !important; }

form#formContact .form-floating > label { padding-left: 18px !important; }

form#formContact .input-group .form-control { border-radius: 18px 0 0 18px !important; }

form#formContact #erase-file { border-radius: 0 18px 18px 0 !important; border-color: rgba(25, 38, 56, 0.14) !important; }

form#formContact .checkbox { position: relative !important; z-index: 2 !important; margin-top: 8px !important; color: #263142 !important; font-size: 15px !important; line-height: 1.6 !important; }

form#formContact .checkbox input { accent-color: #C8AD7F !important; margin-right: 8px !important; }

form#formContact .checkbox a { color: #C8AD7F !important; font-weight: 600 !important; text-decoration: none !important; }

form#formContact .checkbox a:hover { text-decoration: underline !important; }

form#formContact button[type="submit"] { position: relative !important; z-index: 2 !important; overflow: hidden !important; min-height: 56px !important; border: 1px solid #C8AD7F !important; border-radius: 999px !important; background: #C8AD7F !important; color: #fff !important; font-weight: 600 !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; box-shadow: 0 12px 28px rgba(200, 173, 127, 0.32) !important; transition: all 0.35s ease !important; }

form#formContact button[type="submit"]:hover { background: #fff !important; color: #C8AD7F !important; transform: translateY(-3px) !important; box-shadow: 0 18px 38px rgba(200, 173, 127, 0.38) !important; }

/*****************************************Réseaux sociaux*************************************/
.social-section { position: relative; padding: 80px 20px; overflow: hidden; background: linear-gradient(to bottom, #f6f0e7 0%, #f8f2e9 13%, #fdfaf6 35%, #ffffff 100%) !important; }

.social-heading { position: relative; z-index: 2; text-align: center; max-width: 850px; margin: 0 auto 45px; }

.social-heading h2 { margin: 0; font-family: "OptimaLTStd", serif; font-size: clamp(32px, 4vw, 48px); font-weight: 400; line-height: 1.2; color: #192638; text-transform: uppercase; letter-spacing: 0.02em; }

.social-separator { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 24px 0; }

.social-separator span { width: 125px; height: 1px; background: #1f1f1f; }

.social-separator img { width: 34px; height: auto; display: block; }

.social-heading p { margin: 0; font-size: 17px; line-height: 1.7; color: #263142; }

.social-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 500px)); justify-content: center; gap: 32px; max-width: 1080px; margin: 0 auto; }

.social-card { overflow: hidden; border-radius: 28px; background: rgba(255, 255, 255, 0.88); border: 1px solid rgba(200, 173, 127, 0.28); box-shadow: 0 18px 45px rgba(25, 38, 56, 0.12); padding: 12px; transition: transform 0.35s ease, box-shadow 0.35s ease; }

.social-card iframe { width: 100% !important; height: 500px !important; display: block; border: 0 !important; border-radius: 18px !important; background: #fff; }

@media (max-width: 980px) { .social-grid { grid-template-columns: 1fr; max-width: 540px; } }

@media (max-width: 520px) { .social-section { padding: 60px 15px; } .social-section::before { top: 28px; font-size: 72px; } .social-separator span { width: 80px; } .social-card iframe { height: 460px !important; } }

/*************************************Bannière vidéo************************************/
.videoTitle .titles { margin-top: 0 !important; }

.videoTitle p { letter-spacing: normal !important; font-size: 0.6em; text-shadow: 2px 2px 6px black; margin: 0 !important; line-height: 1.5rem; }

.videoTitle p:nth-child(4) { margin-top: 20px !important; }

/*******************************H1**********************************************************/
.hero-title { text-align: center; padding: 60px 20px 20px; }

.hero-title h1 { margin: 0; font-family: "OptimaLTStd", serif; font-size: clamp(32px, 4vw, 42px); font-weight: 400; line-height: 1.2; letter-spacing: 0.02em; color: #192638; text-transform: uppercase; }

.hero-separator { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; }

.hero-separator span { display: block; width: 156px; height: 1px; background: #1f1f1f; }

.hero-separator img { width: 34px; height: auto; display: block; }

div#double-images-text-seo { margin-top: 0px !important; padding-top: 0px !important; }

/**********************************************INTRO + CARROUSEL**********************************************/
.image-text-block { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr); align-items: center; gap: clamp(32px, 5vw, 80px); padding: 6rem 10rem !important; background: linear-gradient(to bottom, #ffffff 0%, #fdfaf6 13%, #f8f2e9 35%, #f6f0e7 100%); margin: 0 auto; }

.image-text-carousel { position: relative; overflow: hidden; border-radius: 4px !important; height: 600px; background: #f7f3ec; }

.carousel-track { display: flex; height: 100%; transition: transform 0.45s ease; }

.carousel-slide { flex: 0 0 100%; height: 100%; }

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

.carousel-btn { position: absolute; top: 50%; z-index: 2; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #C8AD7F; color: #fff; font-size: 46px; line-height: 40px; font-family: Arial, sans-serif; cursor: pointer; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; padding-bottom: 8px; transition: transform 0.25s ease, opacity 0.25s ease; }

.carousel-btn:hover { transform: translateY(-50%) scale(1.06); opacity: 0.92; }

.carousel-btn-prev { left: 18px; }

.carousel-btn-next { right: 18px; }

.image-text-content { text-align: center; color: #192638; background-color: #f6f0e7; padding: 2.5rem 1.5rem; border-radius: 4px !important; }

.image-text-content h2 { margin: 0; font-family: "OptimaLTStd", serif; font-size: 2rem; line-height: 1.2; letter-spacing: 0.02em; text-transform: uppercase; }

.content-separator { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 24px auto 28px; }

.content-separator span { width: 120px; height: 1px; background: #1f1f1f; }

.content-separator img { width: 34px; height: auto; display: block; }

.content-description { max-width: 520px; margin: 0 auto; font-size: 17px; line-height: 1.8; color: #263142; }

@media (max-width: 850px) { .image-text-block { grid-template-columns: 1fr; } .image-text-carousel { height: 320px; } .content-separator span { width: 90px; } }

/*******************************************Carrousel du domaine**************************************/
.domain-carousel-section { padding: 60px 20px; overflow: hidden; background: linear-gradient(to bottom, #f6f0e7 0%, #f8f2e9 13%, #fdfaf6 35%, #ffffff 100%); }

.domain-heading { text-align: center; max-width: 950px; margin: 0 auto 45px; }

.domain-heading h2 { margin: 0; font-family: "OptimaLTStd", serif; font-size: 2rem; line-height: 1.2; color: #192638; text-transform: uppercase; }

.domain-separator { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 24px 0; }

.domain-separator span { width: 125px; height: 1px; background: #000; }

.domain-separator img { width: 32px; height: auto; }

.domain-heading p { margin: 0; font-size: 17px; color: #192638; }

.domain-carousel { position: relative; max-width: 1220px; margin: 0 auto; }

.domain-track { display: flex; gap: 30px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; padding: 10px 4px 20px; }

.domain-track::-webkit-scrollbar { display: none; }

.domain-card { position: relative; flex: 0 0 calc((100% - 90px) / 4); aspect-ratio: 1 / 1; overflow: hidden; border-radius: 4px; text-decoration: none !important; }

.domain-card img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.7s ease; }

.domain-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; text-align: center; padding: 28px 22px; background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.05)); opacity: 0; transition: opacity 0.4s ease; }

.domain-card:hover img { transform: scale(1.08); }

.domain-card:hover .domain-overlay { opacity: 1; }

.domain-overlay h3 { margin: 0 0 12px; color: #e8cda3; font-size: 24px; font-weight: 700 !important; line-height: 1.2; }

.domain-overlay span { color: #fff; font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; }

.domain-arrow { position: absolute; top: 50%; z-index: 5; width: 46px; height: 46px; border: 0; border-radius: 50%; background: #C8AD7F; color: #fff; font-size: 42px; line-height: 1; cursor: pointer; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; padding-bottom: 6px; transition: transform 0.3s ease, background 0.3s ease; }

.domain-arrow:hover { background: #fff; color: #C8AD7F; transform: translateY(-50%) scale(1.08); }

.domain-prev { left: -23px; }

.domain-next { right: -23px; }

@media (max-width: 1024px) { .domain-card { flex-basis: calc((100% - 60px) / 3); } }

@media (max-width: 768px) { .domain-card { flex-basis: calc((100% - 30px) / 2); } .domain-prev { left: 10px; } .domain-next { right: 10px; } }

@media (max-width: 520px) { .domain-card { flex-basis: 85%; } .domain-separator span { width: 80px; } }

/******************************************Nos prestations*****************************************/
#nos-prestations { background: linear-gradient(to bottom, #f6f0e7 0%, #ffffff 40%, #f6f0e7 100%); }

.events-section { padding: 60px 20px; overflow: hidden; }

.events-heading { text-align: center; max-width: 950px; margin: 0 auto 45px; }

.events-heading h2 { margin: 0; font-family: "OptimaLTStd", serif; font-size: clamp(30px, 4vw, 46px); font-weight: 400; line-height: 1.2; color: #192638; text-transform: uppercase; }

.events-separator { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 24px 0; }

.events-separator span { width: 125px; height: 1px; background: #000; }

.events-separator img { width: 32px; height: auto; }

.events-heading p { margin: 0; font-size: 17px; color: #192638; }

.events-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; max-width: 1220px; margin: 0 auto; }

.events-card { position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 4px; text-decoration: none !important; background: #eee; box-shadow: 0 16px 35px rgba(0, 0, 0, 0.12); cursor: pointer; }

.events-card img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.7s ease; }

.events-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; text-align: center; padding: 28px 22px; background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.05)); opacity: 0; transition: opacity 0.4s ease; }

.events-card:hover img { transform: scale(1.08); }

.events-card:hover .events-overlay { opacity: 1; }

.events-overlay h3 { margin: 0 0 12px; color: #e8cda3; font-size: 24px; font-weight: 700 !important; line-height: 1.25; }

.events-overlay span { color: #fff; font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; }

@media (max-width: 1024px) { .events-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 520px) { .events-grid { grid-template-columns: 1fr; } .events-separator span { width: 80px; } }

/***************************************AVIS GOOGLE*******************************************/
div.googleReviews-div { position: relative !important; padding: 70px 20px !important; margin-bottom: 0 !important; overflow: hidden !important; background: linear-gradient(to bottom, #f6f0e7 0%, #f8f2e9 13%, #fdfaf6 35%, #ffffff 100%) !important; }

div.googleReviews-div .owl-carousel .owl-stage-outer { border-radius: 40px; }

div.googleReviews-div .container { position: relative !important; z-index: 2 !important; max-width: 1150px !important; margin: 0 auto 35px !important; }

div.googleReviews-div .container > .card { border: 1px solid rgba(200, 173, 127, 0.28) !important; border-radius: 4px !important; background: rgba(255, 255, 255, 0.86) !important; backdrop-filter: blur(10px) !important; box-shadow: 0 18px 45px rgba(25, 38, 56, 0.1) !important; }

div.googleReviews-div .avatar-google-place { width: 78px !important; height: 78px !important; padding: 8px !important; object-fit: contain !important; background: #fff !important; border: 1px solid rgba(200, 173, 127, 0.35) !important; box-shadow: 0 10px 26px rgba(200, 173, 127, 0.22) !important; }

div.googleReviews-div h3 { margin: 0 0 6px !important; font-family: "OptimaLTStd", serif !important; font-size: clamp(28px, 3vw, 42px) !important; font-weight: 400 !important; color: #192638 !important; text-transform: uppercase !important; letter-spacing: 0.02em !important; }

div.googleReviews-div #place-rating { color: #263142 !important; font-size: 16px !important; }

div.googleReviews-div .star, div.googleReviews-div .bi-star-fill { color: #C8AD7F !important; }

div.googleReviews-div #google-reviews-widget { position: relative !important; z-index: 2 !important; max-width: 1220px !important; margin: 0 auto !important; }

div.googleReviews-div #google-reviews-widget .card { position: relative !important; min-height: 260px !important; padding: 24px !important; border: 1px solid rgba(200, 173, 127, 0.24) !important; border-radius: 4px !important; background: #ffffff !important; box-shadow: none !important; transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important; }

div.googleReviews-div #google-reviews-widget .card::before { content: "“" !important; position: absolute !important; top: 6px !important; right: 22px !important; font-family: Georgia, serif !important; font-size: 82px !important; line-height: 1 !important; color: #C8AD7F !important; opacity: 0.16 !important; }

div.googleReviews-div #google-reviews-widget .card:hover { border-color: rgba(200, 173, 127, 0.55) !important; }

div.googleReviews-div .avatar-google-reviews { width: 42px !important; height: 42px !important; padding: 8px !important; object-fit: contain !important; border-radius: 50% !important; background: #fff !important; border: 1px solid rgba(200, 173, 127, 0.25) !important; }

div.googleReviews-div #google-reviews-widget .card .d-flex { justify-content: flex-start !important; text-align: left !important; }

div.googleReviews-div #google-reviews-widget .card .mx-2 > div:first-child { font-weight: 600 !important; color: #192638 !important; font-size: 16px !important; }

div.googleReviews-div #google-reviews-widget small, div.googleReviews-div #google-reviews-widget .text-muted { color: rgba(25, 38, 56, 0.58) !important; }

div.googleReviews-div .card-body { padding: 14px 0 0 !important; }

div.googleReviews-div .card-text { margin-top: 14px !important; color: #263142 !important; font-size: 16px !important; line-height: 1.75 !important; font-weight: 400 !important; }

div.googleReviews-div .owl-nav button { width: 46px !important; height: 46px !important; border-radius: 50% !important; background: #C8AD7F !important; color: #fff !important; border: 1px solid #C8AD7F !important; box-shadow: 0 12px 28px rgba(200, 173, 127, 0.32) !important; transition: all 0.3s ease !important; }

div.googleReviews-div .owl-nav button:hover { background: #fff !important; color: #C8AD7F !important; transform: scale(1.08) !important; }

div.googleReviews-div .owl-nav button span { font-size: 38px !important; line-height: 34px !important; }

@media (max-width: 768px) { div.googleReviews-div { padding: 55px 15px !important; } div.googleReviews-div::before { top: 24px !important; font-size: 68px !important; } div.googleReviews-div .container > .card { border-radius: 22px !important; } div.googleReviews-div #google-reviews-widget .card { margin-inline: 12px !important; } }

/****************ALIGNEMENT DES CARTES*************/
/* Même hauteur pour toutes les cartes Owl */
div.googleReviews-div #google-reviews-widget .owl-stage { display: flex !important; align-items: stretch !important; }

div.googleReviews-div #google-reviews-widget .owl-item { display: flex !important; height: auto !important; }

div.googleReviews-div #google-reviews-widget .owl-item > .card { width: 100% !important; height: 100% !important; min-height: 330px !important; display: flex !important; flex-direction: column !important; }

/* Zone auteur : même hauteur partout */
div.googleReviews-div #google-reviews-widget .card > .d-flex { min-height: 72px !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; margin-bottom: 8px !important; }

/* Nom/date : largeur stable pour éviter les décalages */
div.googleReviews-div #google-reviews-widget .card .mx-2 { min-height: 44px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }

/* Corps de carte en colonnes */
div.googleReviews-div #google-reviews-widget .card-body { flex: 1 !important; display: flex !important; flex-direction: column !important; padding: 8px 0 0 !important; }

/* Zone étoiles : même emplacement sur toutes les cartes */
div.googleReviews-div #google-reviews-widget .card-body > span { display: block !important; min-height: 26px !important; margin-bottom: 12px !important; text-align: left !important; }

/* Texte : commence au même niveau partout */
div.googleReviews-div .card-text { margin-top: 0 !important; text-align: left !important; line-height: 1.75 !important; }

/*****************************************Bloc accessibilité*****************************/
.access-section { background: linear-gradient(to bottom, #ffffff 0%, #f6f0e7 20%, #f6f0e7 80%, #ffffff 100%); padding: 80px 0; }

.access-card { max-width: 1080px; margin: 0 auto; padding: clamp(36px, 6vw, 70px); background: #f6f0e7; border-radius: 4px; text-align: center; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FdeIeq0w6OGRh7qgkZPoLLrDlOjR2%2Fimages%2FDesign_sans_titre_n8es.webp"), url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FdeIeq0w6OGRh7qgkZPoLLrDlOjR2%2Fimages%2FDesign_sans_titre_-_Copie_yd3g.webp"); background-size: 100px, 100px; background-repeat: no-repeat, no-repeat; background-position: top right, bottom left; }

.access-card h2 { margin: 0; font-family: "OptimaLTStd", serif; font-size: 2rem; line-height: 1.2; color: #192638; text-transform: uppercase; letter-spacing: 0.02em; }

.access-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 42px; }

.access-item { padding: 30px 22px; background: rgba(255, 255, 255, 0.7); border: 1px solid rgba(200, 173, 127, 0.28); border-radius: 4px; transition: transform 0.35s ease, box-shadow 0.35s ease; }

.access-item:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(25, 38, 56, 0.12); }

.access-icon { width: 66px; height: 66px; margin: 0 auto 18px; border-radius: 50%; background: #C8AD7F; color: #fff; display: flex; align-items: center; justify-content: center; }

.access-icon svg { width: 30px; height: 30px; }

.access-item h3 { margin: 0 0 8px; font-family: "OptimaLTStd", serif; font-size: 24px; font-weight: 400; color: #192638; }

.access-item p { margin: 0; font-size: 16px; color: #263142; line-height: 1.6; }

@media (max-width: 500px) { .access-card { background-image: none !important; } }

@media (max-width: 850px) { .access-grid { grid-template-columns: 1fr; } }

/***************************************Bouton fixe en bas à droite***************************/
a.fixed-booking-button.button_header { position: fixed !important; right: 24px !important; bottom: 24px !important; z-index: 999999 !important; transform: none !important; }

@media (max-width: 520px) { a.fixed-booking-button.button_header { right: 16px !important; bottom: 16px !important; } }

/******************************************BOUTONS***********************************************/
a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button { position: relative !important; overflow: hidden !important; z-index: 1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important; background: #C8AD7F !important; color: #fff !important; border: 1px solid #C8AD7F !important; border-radius: 999px !important; padding: 10px 15px !important; font-weight: 500 !important; letter-spacing: 0.02em !important; text-decoration: none !important; box-shadow: 0 10px 24px rgba(200, 173, 127, 0.28) !important; transition: all 0.35s ease !important; }

a.button_header::before, a.button_homepageScreen::before, a.button_homepageDoubleScreen::before, a.phone-number-button::before { content: "" !important; position: absolute !important; inset: 0 !important; background: #fff !important; transform: scaleX(0) !important; transform-origin: left !important; transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1) !important; z-index: -1 !important; }

a.button_header:hover, a.button_homepageScreen:hover, a.button_homepageDoubleScreen:hover, a.phone-number-button:hover { color: #C8AD7F !important; transform: translateY(-3px) !important; box-shadow: 0 14px 32px rgba(200, 173, 127, 0.34) !important; }

a.button_header:hover::before, a.button_homepageScreen:hover::before, a.button_homepageDoubleScreen:hover::before, a.phone-number-button:hover::before { transform: scaleX(1) !important; }

a.button_header i, a.button_homepageScreen i, a.button_homepageDoubleScreen i, a.phone-number-button i, a.button_header svg, a.button_homepageScreen svg, a.button_homepageDoubleScreen svg, a.phone-number-button svg { transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important; }

a.button_header svg, a.button_homepageScreen svg, a.button_homepageDoubleScreen svg, a.phone-number-button svg { width: 1em !important; height: 1em !important; stroke: currentColor !important; }

a.button_header:hover i, a.button_homepageScreen:hover i, a.button_homepageDoubleScreen:hover i, a.phone-number-button:hover i, a.button_header:hover svg, a.button_homepageScreen:hover svg, a.button_homepageDoubleScreen:hover svg, a.phone-number-button:hover svg { transform: translateX(3px) rotate(-8deg) scale(1.12) !important; }

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