
@media (max-width: 47.99rem) {
  
  #questions .m-faq-themes button[aria-pressed] { min-height: 2.95rem; gap: 0.3rem; padding: 0.4rem 0.2rem 0.55rem; font-size: 0.5rem; letter-spacing: 0.12em; }
  #questions .m-faq-themes button svg { width: 0.9rem; height: 0.9rem; }
  #questions .m-faq-themes button::before { inset: 3px 3px 4px; }
  #questions .m-faq-themes { margin-bottom: 1.1rem; }

  
  .chat .bulle-texte { font-size: 0.754rem; padding: 0.615rem 0.81rem; }
  .chat .bulle--eux .bulle-texte, .chat .frappe { border-radius: 0.885rem 0.885rem 0.885rem 0.27rem; }
  .chat .bulle--vous .bulle-texte { border-radius: 0.885rem 0.885rem 0.27rem 0.885rem; }

  
  .m-idee-tete { gap: 0.385rem; padding: 1.15rem 2.9rem 1.15rem 0.96rem; }
  .m-idee-titre { font-size: 1rem; }
  .m-idee-tete .etiquette { font-size: 0.585rem; }
  .m-idee-signe { right: 0.96rem; width: 0.85rem; height: 0.85rem; }
  .m-idee-dedans { padding-inline: 0.96rem; gap: 0.77rem; }
  .m-idee-dedans p { font-size: 0.8rem; }
  .m-idee-dedans .m-echantillon:not(.m-echantillon--petit) { height: 5.4rem; padding: 0.58rem; }
  .m-idee-dedans .m-echantillon span { font-size: 0.75rem; }
  .m-idee[data-ouverte] .m-idee-dedans { padding-bottom: 1.15rem; }
  .m-idees { gap: 1.75rem; }
  .m-idee-tire { width: 2.23rem; height: 1.12rem; }
  .m-idee-tire i { margin-top: -0.23rem; border-left-width: 4px; border-right-width: 4px; border-top-width: 5px; }
}

@media (max-width: 26rem) {
  .entete .menu-bouton { flex: 0 0 auto; width: 40px; }
  .entete-actions { gap: 0.6rem; margin-right: 0.35rem; }
  .entete-tel { width: 36px; }
  .entete-estimation { padding-inline: 0.7rem; letter-spacing: 0.14em; }
}
@media (max-width: 22.5rem) {
  .entete .marque img { height: 44px; }
  .entete-estimation { padding-inline: 0.5rem; font-size: 0.68rem; letter-spacing: 0.1em; }
}

@media (max-width: 47.99rem) {
  html:root #finis-decoratifs .p-plein { padding-top: 1.75rem; }   
  html:root #finis-decoratifs .p-plein .p-plein-grande { position: relative; z-index: 0; }
  html:root #finis-decoratifs .p-plein-carte, html:root #finis-decoratifs .p-plein-petites .p-photo:first-child { position: relative; z-index: 1; }
  html:root #finis-decoratifs .p-plein-bas { position: static; display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); align-items: start; gap: 0.6rem; padding-inline: 0.75rem; }
  html:root #finis-decoratifs .p-plein-petites { display: contents; }
  html:root #finis-decoratifs .p-plein-petites .p-photo { position: relative; overflow: hidden; width: 100%; height: auto; min-height: 0; max-width: none; aspect-ratio: auto; border-radius: 14px !important; background: none; }
  html:root #finis-decoratifs .p-plein-petites .p-photo :is(picture, img) { border-radius: 14px !important; }
  html:root #finis-decoratifs .p-plein-petites .p-photo :is(picture, img) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  html:root #finis-decoratifs .p-plein-petites .p-photo:first-child { order: 1; grid-column: 1; grid-row: 1; }
  html:root #finis-decoratifs .p-plein-carte { order: 2; grid-column: 2; grid-row: 1; }
  html:root #finis-decoratifs .p-plein-petites .p-photo:last-child { position: absolute; z-index: 2; top: 0.6rem; right: 0.5rem; width: 34%; aspect-ratio: 1; height: auto; box-shadow: 0 0 0 4px var(--greige, #F2EFE9), 0 14px 26px -14px rgba(40, 30, 20, 0.55); }
  
  html:root #finis-decoratifs .p-plein:nth-child(even of .p-plein) .p-plein-bas { grid-template-columns: minmax(0, 1fr) 5.6rem; }
  html:root #finis-decoratifs .p-plein:nth-child(even of .p-plein) .p-plein-petites .p-photo:first-child { grid-column: 2; }
  html:root #finis-decoratifs .p-plein:nth-child(even of .p-plein) .p-plein-carte { grid-column: 1; }
  html:root #finis-decoratifs .p-plein:nth-child(even of .p-plein) .p-plein-petites .p-photo:last-child { right: auto; left: 0.5rem; }
  
  html:root #finis-decoratifs .p-plein-carte { padding: 0.95rem 0.9rem 1rem; }
  html:root #finis-decoratifs .p-plein-carte h3 { font-size: 1.5rem; }
  html:root #finis-decoratifs .p-plein-carte .m-fiche-phrase { font-size: 0.9rem; line-height: 1.45; }
  html:root #finis-decoratifs .p-plein-carte :is(dd) { font-size: 0.84rem; }
}

@media (max-width: 47.99rem) {
  html:root #services .p-service-mots { box-sizing: border-box; max-width: 100%; min-width: 0; overflow: hidden; padding-inline: 1.15rem; }
  html:root #services .p-service-mots > * { min-width: 0; max-width: 100%; }
  html:root #services .p-boutons { display: flex; flex-wrap: wrap; gap: 0.5rem; }
  html:root #services .p-boutons .m-bouton { max-width: 100%; min-height: 40px; padding: 0.6rem 0.8rem; font-size: 0.6rem; letter-spacing: 0.12em; white-space: normal; text-align: left; }
  html:root #services .p-projets { min-width: 0; }

  
  html[data-entree] .heros[data-zoom] + .section :is(.p-tete .etiquette, .p-tete h2) { transition: opacity 0.7s ease !important; letter-spacing: -0.005em !important; filter: none !important; }
  html[data-entree="d"] .heros[data-zoom] + .section:not([data-arrive]) .p-tete h2 { filter: none !important; letter-spacing: -0.005em !important; }
}

@media (max-width: 47.99rem) {
  html:root #finis-decoratifs .p-plein-petites .p-photo:first-child { aspect-ratio: 1; height: auto; align-self: start; margin-top: 0.75rem; }
  html:root #finis-decoratifs .p-plein-petites .p-photo:last-child { width: 5.6rem; }
}

@media (max-width: 47.99rem) {
  
  html:root .m-blancs .m-echantillon--petit { width: 2.6rem; height: 2.6rem; aspect-ratio: 1; align-self: center; }

  
  html:root #finis-decoratifs .p-plein-petites .p-photo:first-child { box-shadow: 0 0 0 4px var(--greige, #F2EFE9), 0 14px 26px -14px rgba(40, 30, 20, 0.55); }

  
  html:root #estimation .m-onglets button[aria-selected] { font-size: 0.5rem; letter-spacing: 0.08em; padding-inline: 0.15rem; line-height: 1.25; overflow-wrap: anywhere; }
  html:root #estimation .m-onglets button::before { inset: 4px 2px 5px; }

  
  html:root .chat .discussion { height: clamp(17rem, calc(100svh - 24rem), 30rem); }
  html:root #questions .m-faq-themes button[aria-pressed] { min-height: 2.5rem; font-size: 0.46rem; gap: 0.2rem; padding-block: 0.3rem 0.4rem; }
  html:root #questions .m-faq-themes button svg { width: 0.8rem; height: 0.8rem; }
  html:root #questions .m-faq-themes { margin-bottom: 0.7rem; }
  html:root .chat .chat-invite { margin-bottom: 0.35rem; font-size: 0.62rem; }
  html:root .chat .questions button { min-height: 36px; padding: 0.3rem 0.7rem; font-size: 0.74rem; }
  html:root .chat-choix { padding-block: 0.65rem 0.8rem; }

  
  html:root #avis .m-avis-note { width: fit-content; margin-inline: auto; justify-content: center; column-gap: 0.9rem; }
  html:root #avis .m-avis-source { text-align: center; justify-self: center; }

  
  html:root .pied { padding-top: calc(var(--pied-barre, 72px) + 0.6rem); padding-bottom: 0.6rem; }
  html:root .pied .pied-logo { width: 54px; margin-bottom: 0.3rem; }
  html:root .pied h2 { font-size: 1.55rem; }
  html:root .pied .pied-bloc p, html:root .pied .pied-bloc li, html:root .pied .pied-qualif li { font-size: 0.8rem; line-height: 1.35; }
  html:root .pied .pied-bloc h4 { font-size: 0.6rem; margin-bottom: 0.2rem; }
  html:root .pied .pied-bloc p[style] { margin-top: 0.35rem !important; }
  html:root .pied .pied-bloc h4[style], html:root .pied .pied-qualif h4[style] { margin-top: 0.6rem !important; }
  html:root .pied .pied-haut { gap: 0.6rem; }
  html:root .pied .pied-qualif ul.pied-ligne { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.1rem 0.9rem; }
  html:root .pied .m-reseaux a { width: 2rem; height: 2rem; }
  html:root .pied-bas { margin-top: 0.7rem; padding-top: 0.5rem; gap: 0.1rem; }
  html:root .pied-bas p { font-size: 0.68rem; }
}

@media (max-width: 47.99rem) {
  html:root .pied { min-height: 100svh; padding-top: calc(var(--pied-barre, 72px) + 1svh); padding-bottom: calc(1svh + env(safe-area-inset-bottom, 0px)); justify-content: center; }
  html:root .pied .pied-logo { width: min(54px, 7svh); margin-bottom: 0.5svh; }
  html:root .pied h2 { font-size: min(1.55rem, 3.6svh); }
  html:root .pied .pied-bloc p, html:root .pied .pied-bloc li, html:root .pied .pied-qualif li { font-size: min(0.8rem, 1.95svh); line-height: 1.3; }
  html:root .pied .pied-bloc h4 { font-size: min(0.6rem, 1.45svh); margin-bottom: 0.3svh; }
  html:root .pied .pied-bloc p[style] { margin-top: 0.5svh !important; }
  html:root .pied .pied-bloc h4[style], html:root .pied .pied-qualif h4[style] { margin-top: 1.2svh !important; }
  html:root .pied .pied-haut { gap: 1.2svh; }
  html:root .pied .m-reseaux a { width: min(2rem, 4.6svh); height: min(2rem, 4.6svh); }
  html:root .pied .m-etoiles-or { font-size: min(1rem, 2.6svh); }
  html:root .pied-bas { margin-top: 1.2svh; padding-top: 0.8svh; }
  html:root .pied-bas p { font-size: min(0.68rem, 1.65svh); }
}

@media (max-width: 39.99rem) { .entete-long { display: inline; } .entete-court { display: none; } }

@media (max-width: 39.99rem) { .entete-estimation { font-size: 0.58rem; min-height: 46.5px; flex-basis: 226.86px; } }
@media (max-width: 26rem) { .entete-estimation { flex-basis: 204.33px; } }
@media (max-width: 22.5rem) { .entete-estimation { font-size: 0.6rem; min-height: 47.3px; flex-basis: 193.39px; } }
