/* ==========================================================================
   Footer + bouton « remonter »
   ========================================================================== */

.site-footer {
  background: var(--c-footer-bg);
  color: rgba(255, 255, 255, .78);
  font-size: var(--fs-small);
}

.site-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 116px;
  padding-block: 28px;
}

.site-footer__addresses {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 40px;
  font-style: normal;
  font-weight: var(--fw-light);
}
.site-footer__addresses strong { font-weight: var(--fw-semibold); color: var(--c-white); }

.site-footer__links {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-right: 72px; /* laisse la place au bouton « remonter » */
}
.site-footer__links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-white);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  transition: color var(--transition);
}
.site-footer__links a:hover { color: var(--c-red); }
.site-footer__links svg { width: 20px; height: 20px; }

/* Bouton « remonter » flottant, visible après défilement (js/main.js) */
.back-to-top {
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 40;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--c-red);
  color: var(--c-white);
  box-shadow: 0 8px 20px rgba(227, 16, 27, .3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--transition), transform var(--transition), visibility var(--transition), background-color var(--transition);
}
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { background: var(--c-red-dark); }
.back-to-top svg { width: 26px; height: 26px; transform: rotate(-90deg); }

/* Note Google ------------------------------------------------------------- */
.rating {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.rating__stars {
  position: relative;
  display: block;
  line-height: 0;
}
.rating__layer {
  display: inline-flex;
  gap: 4px;
  color: rgba(255, 255, 255, .18);         /* étoiles vides */
}
.rating__layer--fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--rating) / 5 * 100%);    /* 4,8 → 96 % */
  overflow: hidden;
  color: var(--c-star);
}
.rating__layer svg { flex-shrink: 0; width: 26px; height: 26px; }
.rating__label {
  font-size: .875rem;
  font-weight: var(--fw-semibold);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--c-white);
}

/* Téléphone et Facebook dans les liens du footer */
.site-footer__links .site-footer__phone {
  font-size: 1.0625rem;
  font-weight: var(--fw-semibold);
  text-decoration: none;
}
.site-footer__links .site-footer__phone svg { color: var(--c-red); }
.site-footer__fb span { display: inline-flex; align-items: baseline; gap: 6px; }
.site-footer__fb small {
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  font-size: .75rem;
  font-weight: var(--fw-semibold);
  text-decoration: none;
  display: inline-block;
}

/* Les liens restent sur une ligne ; ce sont les adresses qui se replient */
.site-footer__addresses { flex: 1 1 auto; min-width: 0; }
.site-footer__links { flex-shrink: 0; gap: 24px; }
.site-footer__links a { white-space: nowrap; }
@media (max-width: 1440px) {
  .site-footer__addresses { flex-direction: column; gap: 6px; }
}
