/* ============================================================ */
/*  Kyorah — Pages CGU & FAQ (legal + faq). Fond blanc, B&W.     */
/* ============================================================ */

/* ---------- En-tête commun ---------- */
.kl-head { padding: clamp(70px, 8vw, 120px) 0 clamp(28px, 3vw, 44px); }
.kl-head h1 {
  font-family: "Manrope", sans-serif;
  font-size: clamp(40px, 5vw, 72px); font-weight: 600;
  letter-spacing: -0.04em; line-height: 1.0; margin: 0 0 16px; text-wrap: balance;
}
.kl-head__sub { font-size: 18px; color: #444; max-width: 60ch; margin: 0; line-height: 1.55; }
.kl-head__date { font-family: "JetBrains Mono", monospace; font-size: 12px; letter-spacing: 0.06em; color: #6b6b6b; margin-top: 14px; }

/* ---------- CGU : prose juridique ---------- */
.kl-legal { max-width: 820px; margin: 0 auto; padding-bottom: clamp(60px, 7vw, 110px); }
.kl-legal__section { padding: 28px 0; border-top: 1px solid #e2e0da; }
.kl-legal__section:first-child { border-top: 0; }
.kl-legal h2 {
  font-family: "Manrope", sans-serif; font-size: clamp(20px, 2vw, 26px);
  font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; margin: 0 0 14px;
  display: flex; gap: 14px; align-items: baseline;
}
.kl-legal h2 .kl-num {
  font-family: "JetBrains Mono", monospace; font-size: 13px; color: #6b6b6b;
  flex-shrink: 0; min-width: 28px;
}
.kl-legal p { font-size: 16px; line-height: 1.7; color: #2c2c28; margin: 0 0 12px; }
.kl-legal ul { margin: 0 0 12px; padding: 0; list-style: none; }
.kl-legal li { font-size: 16px; line-height: 1.65; color: #2c2c28; position: relative; padding-left: 26px; margin-bottom: 10px; }
.kl-legal li::before { content: "—"; position: absolute; left: 0; color: #9a9a92; }
.kl-legal a { color: #0a0a0a; text-decoration: underline; text-underline-offset: 3px; }
.kl-legal strong { font-weight: 600; color: #0a0a0a; }
.kl-legal__pre { padding-left: 42px; }

/* ---------- FAQ : accordéon ---------- */
.kl-faq { max-width: 820px; margin: 0 auto; padding-bottom: clamp(60px, 7vw, 110px); }
.kl-faq__item { border-top: 1px solid #e2e0da; }
.kl-faq__item:last-child { border-bottom: 1px solid #e2e0da; }
.kl-faq__q {
  width: 100%; appearance: none; background: transparent; border: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 26px 0; text-align: left;
  font-family: "Manrope", sans-serif; font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 600; letter-spacing: -0.015em; color: #0a0a0a; line-height: 1.3;
}
.kl-faq__icon { flex-shrink: 0; width: 22px; height: 22px; position: relative; }
.kl-faq__icon::before, .kl-faq__icon::after {
  content: ""; position: absolute; background: #0a0a0a; transition: transform .25s ease;
}
.kl-faq__icon::before { top: 10px; left: 0; width: 22px; height: 2px; }
.kl-faq__icon::after  { top: 0; left: 10px; width: 2px; height: 22px; }
.kl-faq__item[open] .kl-faq__icon::after { transform: scaleY(0); }
.kl-faq__body { padding: 0 0 28px; }
.kl-faq__body ol { margin: 0; padding: 0; counter-reset: kf; list-style: none; display: grid; gap: 14px; }
.kl-faq__body li {
  position: relative; padding-left: 40px;
  font-size: 16px; line-height: 1.6; color: #2c2c28;
}
.kl-faq__body li::before {
  counter-increment: kf; content: counter(kf);
  position: absolute; left: 0; top: -2px;
  width: 26px; height: 26px; border-radius: 50%;
  background: #0a0a0a; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: "JetBrains Mono", monospace; font-size: 12px;
}
.kl-faq__body p { font-size: 16px; line-height: 1.7; color: #2c2c28; margin: 0 0 12px; }
.kl-faq__img {
  margin-top: 12px; aspect-ratio: 16/7; background: #f0efeb; border: 1px solid #d8d8d8;
  background-image: repeating-linear-gradient(135deg, transparent 0 20px, rgba(0,0,0,0.04) 20px 21px);
  display: flex; align-items: center; justify-content: center;
  font-family: "JetBrains Mono", monospace; font-size: 11px; color: #6b6b6b; letter-spacing: 0.12em;
}

/* hide default marker */
.kl-faq__item summary { list-style: none; }
.kl-faq__item summary::-webkit-details-marker { display: none; }

.kl-faq__cta { max-width: 820px; margin: 48px auto 0; padding-top: 32px; border-top: 1px solid #e2e0da; text-align: center; }
.kl-faq__cta p { font-size: 16px; color: #444; margin: 0 0 18px; }
