

:root { --greige: #F4F0E8; --vieux-rose: #8A5956; }

html:root h2:not(.etiquette), html:root .couleur-appel.peinture-appel { border-bottom: 0; padding-bottom: 0; }
html:root .p-service-mots h3 { border-bottom: 0; padding-bottom: 0; }
html:root #services .p-service-mots h3::after { display: none; }
html:root .m-heros-texte p.m-heros-metiers { border-top: 0; padding-top: 0; }   

html:root :is(.m-bouton, .m-heros-choix .m-bouton, .m-google-bouton, .bouton, .entete-estimation, .p-galerie-pied .m-bouton) { border-radius: 999px !important; }

html:root .chat .questions button, html:root .questions button { border: 1px solid var(--taupe) !important; border-radius: 999px !important; }
html:root .chat .questions button:hover { border-color: var(--vieux-rose) !important; }
html:root :is(#questions .m-faq-themes button, #estimation .m-onglets button)::before { border: 1px solid var(--taupe); border-radius: 999px; }
html:root :is(#questions .m-faq-themes button, #estimation .m-onglets button):focus-visible { outline: 1px solid var(--taupe); outline-offset: -1px; border-radius: 999px; }

html:root #finis-decoratifs .p-plein-petites .p-po { overflow: visible !important; background: none !important; border-radius: 0 !important; }
html:root #finis-decoratifs .p-plein-petites .p-po :is(picture, img) { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 100% 100%; border-radius: 14px; }
html:root #finis-decoratifs .p-credit { position: absolute; left: 0; right: 0; top: 100%; margin-top: 0.35rem; font-size: 0.74rem; line-height: 1.2; font-style: italic; font-synthesis: style; color: var(--vieux-rose); text-align: center; white-space: nowrap; }
html:root #finis-decoratifs .p-plein-bas:has(.p-po) { padding-bottom: 1.4rem; }
html:root #finis-decoratifs .p-attente { display: grid !important; place-items: center; box-sizing: border-box; border: 1.5px dashed rgba(138, 89, 86, 0.55) !important; background: var(--greige) !important; cursor: default; }
html:root #finis-decoratifs .p-attente > span { font-size: 0.78rem; font-style: italic; font-synthesis: style; color: var(--vieux-rose); text-align: center; padding: 0.4rem; }
html:root .p-plein-carte .m-fiche-non + .m-fiche-non { margin-top: 0.25rem; }
@media (max-width: 47.99rem) {
  
  html:root #finis-decoratifs .p-plein .p-plein-bas { grid-template-columns: minmax(0, 1fr) !important; }
  html:root #finis-decoratifs .p-plein .p-plein-carte { grid-column: 1 / -1 !important; grid-row: 1; }
  html:root #finis-decoratifs .p-plein .p-plein-bas { margin-top: var(--bas-mt, 2.5rem) !important; }
  html:root #finis-decoratifs .p-plein .p-plein-petites > :is(:first-child, :last-child) {
    position: absolute !important; z-index: 2; top: 2.35rem !important; grid-column: auto !important; grid-row: auto !important; order: 0 !important; width: 5.6rem !important; height: auto !important; aspect-ratio: 1 !important; margin: 0 !important;
    box-shadow: 0 0 0 4px var(--greige), 0 14px 26px -14px rgba(40, 30, 20, 0.55); border-radius: 14px !important;
  }
  
  html:root #finis-decoratifs .p-plein .p-plein-petites > :first-child { top: var(--sq-haut, 1.4rem) !important; right: -0.35rem !important; left: auto !important; }
  html:root #finis-decoratifs .p-plein .p-plein-petites > :last-child { top: var(--sq-bas, 12rem) !important; left: -0.35rem !important; right: auto !important; }
  html:root #finis-decoratifs .p-plein .p-plein-petites > .p-po { box-shadow: none; }
  html:root #finis-decoratifs .p-plein-petites .p-po :is(picture, img) { position: absolute; inset: 0; border-radius: 14px !important; box-shadow: 0 0 0 4px var(--greige), 0 14px 26px -14px rgba(40, 30, 20, 0.55); }
  html:root #finis-decoratifs .p-plein-petites .p-po .p-credit { left: 50%; right: auto; transform: translateX(-50%); margin-top: 0.45rem; padding: 0.1rem 0.5rem; border-radius: 999px; background: var(--greige); font-size: 0.64rem; }
  html:root #finis-decoratifs .p-plein-bas:has(.p-po) { padding-bottom: 0; }
  html:root #finis-decoratifs .p-attente > span { font-size: 0.7rem; }
}

@media (min-width: 64rem) {
  html:root #finis-decoratifs .p-plein-bas { align-items: start; }
  html:root #finis-decoratifs .p-plein-petites { margin-top: var(--decal-petites, 0px); }
}
html:root #finis-decoratifs .p-plein-petites > * { border-radius: 14px; }
html:root #finis-decoratifs .p-plein-petites > :not(.p-po) :is(picture, img) { border-radius: 14px; }

html:root #services .p-mesure > .p-engagements { grid-column: 1 / -1; display: block; box-sizing: border-box; width: 100%; max-width: 56rem; margin: clamp(2.5rem, 6vh, 4.5rem) auto 0; text-align: left; }
html:root .p-engagements h3 { font: 400 clamp(1.6rem, 2.3vw, 2.1rem)/1.15 var(--titre); margin: 0 0 1.1rem; color: var(--noir, #1E1B18); }
html:root .p-engagements ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.5rem, 4vw, 3rem); }
html:root .p-engagements li { display: flex; gap: 1rem; align-items: baseline; padding: 0.95rem 0; border-top: 1px solid rgba(138, 89, 86, 0.25); font: 400 clamp(1.05rem, 1.35vw, 1.25rem)/1.35 var(--titre); color: var(--noir, #1E1B18); }
html:root .p-engagements li span { flex: none; font-family: var(--affiche, inherit); font-size: 0.82em; letter-spacing: 0.04em; color: var(--vieux-rose); }
@media (max-width: 47.99rem) {
  html:root .p-engagements { padding-inline: 0.25rem; }
  html:root .p-engagements ol { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 55.99rem) {
  html:root .p-galerie:not([data-tout]) > :nth-child(9), html:root .p-galerie[data-tout] > :nth-child(17) { display: block; }
}

@media (max-width: 55.99rem) {
  html:root .p-galerie[data-tout] > .p-photo:last-child:nth-child(odd) { display: none; }
}

@media (max-width: 47.99rem) {
  html:root #estimation .m-onglets button::before { display: none !important; }
  html:root #estimation .m-onglets button:focus-visible { outline: 0; }
  html:root #estimation .m-onglets button:focus-visible::after { transform: scaleX(1); }
}

.p-plein-plus { display: none; }
.p-plein-texte { display: contents; }   
@media (max-width: 47.99rem) {
  html:root #finis-decoratifs .p-plein-carte { position: relative; }
  html:root #finis-decoratifs .p-plein-texte { display: grid; gap: 0.5rem; align-content: start; }
  html:root #finis-decoratifs .p-plein-carte[data-long]:not([data-ouvert]) .p-plein-texte { max-height: var(--hauteur-4); overflow: hidden; }
  html:root #finis-decoratifs .p-plein-carte[data-long] .p-plein-plus {
    display: inline-flex; align-items: center; gap: 0.35rem; position: absolute; right: 0.55rem; bottom: 0.55rem;
    padding: 0.15rem 0.2rem 0.15rem 1.6rem; border: 0; font: inherit; color: var(--noir, #1E1B18); cursor: pointer;
    background: linear-gradient(90deg, transparent, var(--carte-fond, #C4B8AA) 1.3rem); -webkit-tap-highlight-color: transparent;
  }
  html:root #finis-decoratifs .p-plein-carte[data-long] { padding-bottom: 1.15rem !important; }
  html:root #finis-decoratifs .p-plein-points { font-size: 1rem; letter-spacing: 0.05em; line-height: 1; }
  html:root #finis-decoratifs .p-plein-signe { display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border: 1px solid currentColor; border-radius: 50%; font-size: 1rem; line-height: 1; }
  html:root #finis-decoratifs .p-plein-carte[data-ouvert] .p-plein-points { visibility: hidden; }
  html:root #finis-decoratifs .p-plein-carte[data-ouvert] .p-plein-plus { position: static; display: flex; margin: 0.4rem 0 0 auto; background: none; padding: 0; }
  html:root #finis-decoratifs .p-plein-carte[data-ouvert] .p-plein-points { display: none; }
}

html:root .entete-estimation { background: #E5BDB6 !important; border-color: #E5BDB6 !important; color: #5E3A38 !important; }
@media (hover: hover) { html:root .entete-estimation:hover { background: #DBADA5 !important; border-color: #DBADA5 !important; } }

html:root #finis-decoratifs .p-plein-carte { background: #FFFFFF !important; --carte-fond: #FFFFFF; }
html:root #finis-decoratifs .p-plein-carte dt { color: #8A5956 !important; }

html:root .p-expertise { padding-block: clamp(3.5rem, 8vw, 6rem) !important; text-align: center; }
html:root .p-expertise h2 { margin: 0 auto 1rem; }
html:root .p-expertise p { margin: 0 auto; max-width: 38rem; font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.6; color: var(--encre-douce, #4A4540); text-wrap: pretty; }

html:root #estimation .m-etapes { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; max-width: 68rem; }
html:root #estimation .m-etape-question { text-align: left; margin: 0 0 1.2rem; }
html:root #estimation .m-onglets { display: flex !important; gap: 1.6rem !important; padding: 0 !important; margin: 0 0 1.6rem !important; background: none !important; border: 0 !important; border-bottom: 1px solid rgba(30, 27, 24, 0.12) !important; border-radius: 0 !important; }
html:root #estimation .m-onglets button[aria-selected] {
  position: relative; display: block !important; min-height: 0 !important; padding: 0.4rem 0 0.75rem !important; margin: 0 0 -1px; border: 0 !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important; color: rgba(30, 27, 24, 0.55) !important;
  font: 400 1rem/1.3 var(--police) !important; letter-spacing: 0 !important; text-transform: none !important; text-align: left; overflow-wrap: normal !important;
}
html:root #estimation .m-onglets button[aria-selected="true"] { color: var(--vieux-rose) !important; }
html:root #estimation .m-onglets button::before { display: none !important; }
html:root #estimation .m-onglets button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--vieux-rose); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
html:root #estimation .m-onglets button[aria-selected="true"]::after { transform: scaleX(1); }
@media (hover: hover) { html:root #estimation .m-onglets button[aria-selected="false"]:hover { color: var(--noir, #1E1B18) !important; } }
html:root #estimation .m-onglets button:focus-visible { outline: 1px solid var(--vieux-rose) !important; outline-offset: 4px; border-radius: 2px; }
html:root #estimation .m-jobber { background: #FFFFFF; border-radius: var(--forme, 14px); padding: clamp(0.5rem, 2vw, 1.5rem); }
@media (min-width: 56rem) {
  html:root #estimation .m-etapes { display: grid; grid-template-columns: minmax(0, 19rem) minmax(0, 1fr); column-gap: clamp(3rem, 6vw, 5.5rem); align-items: start; }
  html:root #estimation .m-etape-question { grid-column: 1; grid-row: 1; font-size: clamp(2.2rem, 3vw, 2.9rem); }
  html:root #estimation .m-onglets { grid-column: 1; grid-row: 2; flex-direction: column; gap: 0 !important; border-bottom: 0 !important; margin: 0.6rem 0 0 !important; }
  html:root #estimation .m-onglets button[aria-selected] { padding: 1rem 0 !important; margin: 0; border-top: 1px solid rgba(30, 27, 24, 0.12) !important; font: 400 1.45rem/1.2 var(--serif-titre, "Gilda Display", serif) !important; }
  html:root #estimation .m-onglets button[aria-selected]:last-child { border-bottom: 1px solid rgba(30, 27, 24, 0.12) !important; }
  html:root #estimation .m-onglets button::after { bottom: auto; top: 50%; left: auto; right: 0; width: 1.4rem; height: 1px; }
  html:root #estimation .m-jobber { grid-column: 2; grid-row: 1 / span 3; }
}
@media (max-width: 55.99rem) {
  html:root #estimation .m-onglets { display: grid !important; grid-template-columns: repeat(3, auto); justify-content: start; align-items: end; column-gap: 1.2rem !important; }
  html:root #estimation .m-onglets button[aria-selected] { font-size: 0.95rem !important; }
}

html:root #services { padding-bottom: clamp(1.5rem, 3vw, 2.5rem) !important; }
html:root #services .p-mesure > .p-engagements { max-width: 68rem; margin-top: clamp(3rem, 7vh, 5rem); text-align: center; }
html:root .p-engagements h3 { margin-bottom: clamp(1.2rem, 2.5vw, 1.8rem); }
html:root .p-engagements ol { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 0; border-block: 1px solid rgba(138, 89, 86, 0.25); }
html:root .p-engagements li { display: flex; justify-content: center; align-items: center; text-align: center; padding: clamp(1.1rem, 2.2vw, 1.6rem) clamp(0.6rem, 1.5vw, 1.2rem); border-top: 0; font-size: clamp(1rem, 1.2vw, 1.15rem); text-wrap: balance; }
html:root .p-engagements li + li { border-left: 1px solid rgba(138, 89, 86, 0.25); }
html:root .p-engagements li span { display: none; }
@media (max-width: 47.99rem) {
  html:root .p-engagements ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html:root .p-engagements li + li { border-left: 0; }
  html:root .p-engagements li:nth-child(even) { border-left: 1px solid rgba(138, 89, 86, 0.25); }
  html:root .p-engagements li:nth-child(n+3) { border-top: 1px solid rgba(138, 89, 86, 0.25); }
}

html:root .p-expertise { padding-block: clamp(2.5rem, 5vw, 4rem) clamp(4rem, 8vw, 6rem) !important; }

html:root #questions .m-faq-themes { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 0 clamp(1.2rem, 3vw, 2.2rem) !important; padding: 0 !important; margin: 0 0 1.2rem !important; background: none !important; border: 0 !important; border-bottom: 1px solid rgba(30, 27, 24, 0.12) !important; }
html:root #questions .m-faq-themes button[aria-pressed] {
  position: relative; display: block !important; min-height: 0 !important; padding: 0.5rem 0 0.7rem !important; margin: 0 0 -1px; border: 0 !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important; color: rgba(30, 27, 24, 0.55) !important;
  font: 400 1rem/1.3 var(--police) !important; letter-spacing: 0 !important; text-transform: none !important; gap: 0 !important;
}
html:root #questions .m-faq-themes button svg { display: none !important; }
html:root #questions .m-faq-themes button[aria-pressed="true"] { color: var(--vieux-rose) !important; }
html:root #questions .m-faq-themes button::before { display: none !important; }
html:root #questions .m-faq-themes button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--vieux-rose); transform: scaleX(0); transition: transform 0.3s ease; }
html:root #questions .m-faq-themes button[aria-pressed="true"]::after { transform: scaleX(1); }
@media (hover: hover) { html:root #questions .m-faq-themes button[aria-pressed="false"]:hover { color: var(--noir, #1E1B18) !important; } }
html:root #questions .m-faq-themes button:focus-visible { outline: 1px solid var(--vieux-rose) !important; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 39.99rem) {
  html:root #questions .m-faq-themes { justify-content: space-between; gap: 0 0.8rem !important; }
  html:root #questions .m-faq-themes button[aria-pressed] { font-size: 0.85rem !important; padding: 0.4rem 0 0.55rem !important; }
}

html:root .p-galerie:not([data-tout]) > [data-plus] { display: none !important; }

@media (max-width: 39.99rem) {
  html:root #questions .m-faq-themes { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem !important; }
  html:root #questions .m-faq-themes button[aria-pressed] { text-align: center; }
}

html:root { --ecart-regions: clamp(4rem, 8vw, 7rem); }
html:root #services { padding-bottom: 0 !important; }
html:root .p-expertise { padding-block: var(--ecart-regions) 0 !important; }
html:root #finis-decoratifs { padding-top: var(--ecart-regions) !important; }

html:root { --encre-douce: #66625C; --sur-beige-doux: rgba(31, 30, 28, 0.8); }

html:root .m-avis-auteur, html:root #services .p-projets li span:first-child { color: #5A4A34; }
html:root .populaires-titre { color: #57534E; }
html:root #questions .m-faq-themes button[aria-pressed="false"] { color: rgba(30, 27, 24, 0.72) !important; }
html:root .m-idee-tete .etiquette { color: #6E4441 !important; }   

html:root a.entete-tel { min-width: 44px; min-height: 44px; }
@media (max-width: 47.99rem) { html:root a.entete-tel { margin-inline: -8px; } }
html:root #menuBouton { min-width: 44px; }
html:root :is(.m-bouton--vitre, .m-bouton--contour, button.fini.piece) { min-height: 44px; }
html:root #finis-decoratifs .p-plein-carte .p-plein-plus { min-height: 44px; margin-block: -8px; }
html:root #questions .m-faq-themes button[aria-pressed] { min-height: 44px !important; }
html:root #listeQuestions button { min-height: 44px; }
html:root .chat-suite { width: 44px; height: 44px; }
@media (max-width: 47.99rem) {
  html:root .pied .m-reseaux a {
    --carre: min(2rem, 4.6svh);
    box-sizing: border-box; width: 44px; height: 44px;
    padding: calc((44px - var(--carre)) / 2); margin: calc((var(--carre) - 44px) / 2);
    background-clip: content-box;
  }
}

html:root #services .p-boutons .m-bouton { min-height: 44px; }

html:root .pastille:focus-visible { outline: 2px solid #1F1E1C; outline-offset: -2px; box-shadow: inset 0 0 0 4px #FFFFFF; }
