/* Polices hébergées sur le site (v6) : remplacent Google Fonts */
@font-face { font-family: "Work Sans"; src: url("../fonts/WorkSans-latin-wght.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("../fonts/PlayfairDisplay-Italic-latin-wght.woff2") format("woff2"); font-weight: 400 900; font-style: italic; font-display: swap; }
/* Surcouche maintenue hors Webflow. Ne pas modifier soliposele2e.webflow.css pour ces règles. */

/* Cards services cliquables : curseur lien uniquement */
.services_content-card-lenght,
.services_content-card-square,
.services_content-card-height { cursor: pointer; }

/* Bouton flottant WhatsApp : mobile uniquement (<= 767px) */
.wa-float { display: none; }
@media screen and (max-width: 767px) {
  .wa-float {
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    z-index: 9999;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #25d366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .3);
    -webkit-tap-highlight-color: transparent;
  }
  .wa-float:active { transform: scale(.94); }
}

/* Bouton flottant WhatsApp : animations pour attirer l'oeil
   - apparition en « pop » après le chargement
   - deux ondes vertes qui se propagent en continu
   - petit tremblement de l'icône toutes les 6 s
   - bulle « Réponse rapide » affichée une fois, de 2,5 s à 9 s */
@media screen and (max-width: 767px) {
  .wa-float {
    animation: wa-pop .6s cubic-bezier(.34, 1.56, .64, 1) .6s backwards;
  }
  .wa-float::before,
  .wa-float::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-color: #25d366;
    z-index: -1;
    animation: wa-ripple 2.4s ease-out 1.2s infinite;
  }
  .wa-float::after { animation-delay: 2.4s; }
  .wa-float svg {
    transform-origin: 50% 50%;
    animation: wa-wiggle 6s ease-in-out 2s infinite;
  }
  .wa-float-label {
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    white-space: nowrap;
    background: #fff;
    color: #1d1d1d;
    font-family: Futura LT, Arial, sans-serif;
    font-size: .875rem;
    line-height: 1;
    padding: .6rem .8rem .5rem;
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
    pointer-events: none;
    opacity: 0;
    transform: translate(8px, -50%);
    animation: wa-label 6.5s ease 2.5s 1 both;
  }
  .wa-float-label::after {
    content: "";
    position: absolute;
    right: -5px;
    top: 50%;
    width: 10px;
    height: 10px;
    background: #fff;
    transform: translateY(-50%) rotate(45deg);
  }
}
.wa-float-label { display: none; }
@media screen and (max-width: 767px) { .wa-float-label { display: block; } }

@keyframes wa-pop {
  from { transform: scale(0); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
@keyframes wa-ripple {
  0%   { transform: scale(1);   opacity: .55; }
  100% { transform: scale(1.9); opacity: 0; }
}
@keyframes wa-wiggle {
  0%, 82%, 100% { transform: rotate(0); }
  85% { transform: rotate(-14deg) scale(1.08); }
  88% { transform: rotate(12deg) scale(1.08); }
  91% { transform: rotate(-8deg); }
  94% { transform: rotate(5deg); }
}
@keyframes wa-label {
  0%   { opacity: 0; transform: translate(8px, -50%); }
  8%   { opacity: 1; transform: translate(0, -50%); }
  88%  { opacity: 1; transform: translate(0, -50%); }
  100% { opacity: 0; transform: translate(8px, -50%); }
}
@media (prefers-reduced-motion: reduce) {
  .wa-float, .wa-float svg, .wa-float::before, .wa-float::after { animation: none !important; }
  .wa-float-label { display: none !important; }
}

/* Image du hero : vraie balise <img> (lisible par Google) à la place du fond CSS de la 1re slide */
.hero_slider-slide._1 { background-image: none; }
.hero-google-img,
.hero-google-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-google-img img { object-fit: cover; object-position: 50% 50%; display: block; }
.hero_slider-slide._1::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #00000040;
}

/* ---------- v3 ---------- */
/* Preuves sous le H1 de l'accueil */
.hero-proof {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: .6rem 1.75rem;
  margin-top: .75rem;
  font-family: Futura LT, Arial, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.3;
  color: #fff;
}
.hero-proof li { display: inline-flex; align-items: center; gap: .45rem; flex: 0 0 auto; width: auto; }
.hero-proof li.hero-proof_zones { flex-basis: 100%; justify-content: center; }
.hero-proof_icon { width: 1.05em; height: 1.05em; flex: none; color: #e2c2a9; }
.hero-proof a { color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255, 255, 255, .45); }
.hero-proof_stars { color: #f5c04e; letter-spacing: 1px; }
.link-hero { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Lien vers la page service dans les fenêtres services */
.popup-link-wrap { margin-top: 1.25rem; }
.popup-link-wrap .button { margin: 0; }

/* Liens vers les services (galerie) */
.service-links { margin-top: 1rem; font-family: Futura LT, Arial, sans-serif; }
.service-links a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* FAQ : questions passées de H4 à H3, même apparence qu'avant */
h3.faq_question-name { font-size: 1.25rem; line-height: 1.2; text-transform: none; }
@media screen and (max-width: 767px) { h3.faq_question-name { font-size: 1.125rem; } }
/* Mobile : une preuve par ligne, centrée */
@media screen and (max-width: 767px) {
  .hero_content-container .hero-proof { flex-flow: column nowrap; gap: .4rem; font-size: .9375rem; }
  .hero-proof li.hero-proof_zones { flex-basis: auto; display: block; text-align: center; }
  .hero-proof li.hero-proof_zones .hero-proof_icon { display: inline-block; vertical-align: -.15em; margin-right: .4rem; }
}


/* ---------- v5 ---------- */
/* Carte centrale des services : écart vertical réduit quand les 2 boutons passent l'un sous l'autre */
.services_content-card-center .button-group { row-gap: .75rem; }
/* Liens dans les textes (À propos, FAQ) : soulignés en marron donc en gras */
a.sp-link {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #cea587;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  transition: background-color .2s;
}
a.sp-link:hover { background-color: rgba(206, 165, 135, .2); }
.faq_paragraph strong { font-weight: 600; }
/* Bloc formulaire : les pastilles deviennent des boutons WhatsApp / téléphone */
a.devis_btn--link { width: auto; padding-right: 1.25rem; color: #fff; text-decoration: none; transition: transform .2s, box-shadow .2s; }
a.devis_btn--link:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .18); }
.devis_title-paragraph strong { font-weight: 600; }
