/* ===== SAKURION · Laser homme — confiance, avis, FAQ ===== */

/* Charte SAKURION : rapprochement de la palette officielle */
:root{--ink:#323232;--paper:#f3f3f3}

/* ---------- Bandeau de confiance sous le hero ---------- */
.hm-trust{display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.hm-rate{display:inline-flex;align-items:baseline;gap:9px;text-decoration:none}
.hm-rate .stars{color:#e0a800;font-size:14px;letter-spacing:.08em;line-height:1;margin-top:0}
.hm-rate b{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink)}
.hm-rate b .o{font-weight:300;color:var(--soft);font-size:12px}
.hm-rate span[data-fr],.hm-rate span[data-en]{font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--soft);border-bottom:1px solid var(--line);padding-bottom:1px}
.hm-rate:hover span[data-fr],.hm-rate:hover span[data-en]{border-bottom-color:var(--blue);color:var(--ink)}
.hm-tp{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.hm-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.hm-tags .hm-tp+.hm-tp::before{content:"\00b7";margin-right:14px;color:#c9ced3}

/* ---------- Avis vérifiés ---------- */
.hm-avis{padding:0;background:var(--paper);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hm-avis-in{padding-block:100px}
.hm-avis-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
  flex-wrap:wrap;margin-bottom:46px}
.hm-avis-hd h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,46px);
  line-height:1.12;letter-spacing:-.015em;margin-top:14px}
.hm-avis-score{display:flex;align-items:flex-end;gap:12px;white-space:nowrap}
.hm-avis-score .big{font-family:var(--serif);font-size:44px;line-height:1;font-weight:300}
.hm-avis-score .meta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--soft);line-height:1.7}
.hm-avis-score .meta .stars{color:#e0a800;letter-spacing:.08em;display:block;
  font-size:13px;margin-top:0;margin-bottom:3px}
.hm-avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hm-avis-c{background:#fff;border:1px solid var(--line);padding:30px 28px;
  display:flex;flex-direction:column}
.hm-avis-c .q{font-family:var(--serif);font-size:19px;line-height:1.5;font-weight:300;
  color:var(--ink);flex:1}
.hm-avis-c .who{margin-top:22px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--soft)}
.hm-avis-c .who b{color:var(--ink);font-weight:500}
.hm-avis-note{margin-top:26px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;
  color:var(--soft);text-transform:uppercase}
.hm-avis-note a{border-bottom:1px solid var(--line);color:inherit}
.hm-avis-note a:hover{color:var(--ink);border-bottom-color:var(--blue)}

/* ---------- FAQ ---------- */
.hm-faq{padding-block:110px}
.hm-faq-hd{max-width:640px;margin-bottom:44px}
.hm-faq-hd h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.2vw,48px);
  line-height:1.1;letter-spacing:-.015em;margin-top:14px}
.hm-q{border-top:1px solid var(--line)}
.hm-q:last-of-type{border-bottom:1px solid var(--line)}
.hm-q summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:20px;
  padding:26px 0;font-family:var(--sans);font-size:17px;font-weight:400;color:var(--ink);line-height:1.45}
.hm-q summary::-webkit-details-marker{display:none}
.hm-q summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.hm-q summary .ix{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--blue);
  padding-top:5px;flex:none;width:26px}
.hm-q summary .tx{flex:1}
.hm-q summary .pm{flex:none;width:15px;height:15px;position:relative;margin-top:5px}
.hm-q summary .pm::before,.hm-q summary .pm::after{content:"";position:absolute;background:var(--soft);
  transition:transform .25s ease}
.hm-q summary .pm::before{left:0;top:7px;width:15px;height:1px}
.hm-q summary .pm::after{left:7px;top:0;width:1px;height:15px}
.hm-q[open] summary .pm::after{transform:scaleY(0)}
.hm-q[open] summary{color:var(--blue)}
.hm-q .a{padding:0 0 30px 46px;max-width:760px}
.hm-q .a p{font-size:15.5px;line-height:1.75;color:#4a4f54;font-weight:300}
.hm-q .a p+p{margin-top:12px}

/* ---------- Alternative de réservation (bloc CTA sombre) ---------- */
.hm-alt{margin-top:18px;font-family:var(--sans);font-size:12.5px;line-height:1.85;color:var(--soft)}
.hm-alt a{color:var(--ink);border-bottom:1px solid var(--line)}
.hm-alt a:hover{border-bottom-color:var(--blue)}
.hm-alt a[href^="tel:"]{white-space:nowrap}
.svc-cta .hm-alt{color:rgba(255,255,255,.64)}
.svc-cta .hm-alt a{color:#fff;border-bottom-color:rgba(255,255,255,.34)}
.svc-cta .hm-alt a:hover{border-bottom-color:#fff}

@media(max-width:900px){
  .hm-avis-grid{grid-template-columns:1fr}
  .hm-avis-in{padding-block:76px}
  .hm-faq{padding-block:76px}
}
@media(max-width:560px){
  .hm-trust{gap:12px}
  .hm-q summary{font-size:16px;gap:14px}
  .hm-q .a{padding-left:40px}
  /* CTA pleine largeur, empilés, sans coupure de libellé */
  .hm-cta-row{flex-direction:column;align-items:stretch;gap:10px}
  .hm-btn{justify-content:center;text-align:center;line-height:1.5;padding:16px 20px}
  .hm-btn .ar{display:none}
}
