/* FAQ en pastilles, kohenavocats.fr (13/10/2026). Ne s'applique qu'aux FAQ prises en charge par
   faq.js (classes kfr-*) ; sans JavaScript, les FAQ gardent leur affichage d'origine. */
.kfr {
  --kfr-ink: #1d1d1f; --kfr-accent: #E09019; --kfr-marge: 24px;
  display: flex; flex-direction: column; gap: 8px; box-sizing: border-box; margin: 4px 0 8px; max-width: none;
  font-family: Lato, Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}
.kfr-hote { display: block !important; max-height: none !important; overflow: visible !important; }
.kfr-rang { position: relative; }
.kfr-piste {
  display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
  padding: 2px 0; scroll-padding: 0;
  --g: 0px; --d: 48px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--g), #000 calc(100% - var(--d)), transparent);
          mask-image: linear-gradient(90deg, transparent, #000 var(--g), #000 calc(100% - var(--d)), transparent);
}
.kfr.kfr-large .kfr-piste { padding: 2px var(--kfr-marge); scroll-padding: 0 var(--kfr-marge); }
.kfr-piste::-webkit-scrollbar { display: none; }
.kfr-piste.kfr-milieu { --g: 48px; }
.kfr-piste.kfr-fin { --g: 48px; --d: 0px; }
.kfr-piste::after { content: ""; flex: none; width: 1px; }

/* Éléments de FAQ d'origine, remis à plat. */
.kfr-piste > .kfr-item {
  display: block !important; visibility: visible !important; opacity: 1 !important; flex: none !important;
  width: auto !important; max-width: none !important; min-width: 0 !important; height: auto !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important; transform: none !important;
}
.kfr-piste > .kfr-item > :not(.kfr-titre) { display: none !important; }
.kfr-piste .kfr-titre {
  display: flex !important; align-items: center; gap: 0; margin: 0 !important;
  padding: 8px 15px !important; border: 0 !important; border-radius: 999px !important;
  background: #fff !important; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1) !important;
  font-family: inherit !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.45 !important;
  letter-spacing: 0 !important; text-transform: none !important; text-align: left !important;
  color: var(--kfr-ink) !important; white-space: nowrap !important; cursor: pointer; list-style: none !important;
  transition: box-shadow .2s ease, color .2s ease;
}
.kfr-piste .kfr-titre::-webkit-details-marker { display: none; }
.kfr-piste .kfr-titre::marker { content: ""; }
.kfr-piste .kfr-titre::before, .kfr-piste .kfr-titre::after { content: none !important; display: none !important; }
.kfr-piste .kfr-titre * { font: inherit !important; color: inherit !important; margin: 0 !important; padding: 0 !important; background: none !important; text-decoration: none !important; }
.kfr-piste .kfr-titre .elementor-toggle-icon, .kfr-piste .kfr-titre .elementor-accordion-icon, .kfr-piste .kfr-titre .e-n-accordion-item-title-icon { display: none !important; }
.kfr-piste .kfr-titre:hover { box-shadow: inset 0 0 0 1px var(--kfr-accent) !important; }
.kfr-piste .kfr-titre:focus-visible { outline: 2px solid var(--kfr-accent) !important; outline-offset: 2px; }

/* Flèches au bord de chaque ligne, au survol à la souris. */
.kfr-bord {
  position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 34px; height: 34px; margin-top: -17px;
  padding: 0; border: 0; border-radius: 50%; cursor: pointer; color: var(--kfr-ink);
  background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 6px 16px -6px rgba(15, 23, 42, .3);
  opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease;
}
.kfr-bord.g { left: 12px; }
.kfr-bord.d { right: 12px; }
.kfr-bord:hover { transform: scale(1.06); background: #fff; }
.kfr-bord:focus-visible { outline: 2px solid var(--kfr-accent); outline-offset: 2px; opacity: 1; pointer-events: auto; }
@media (hover: hover) and (pointer: fine) { .kfr-rang:hover .kfr-bord.actif { opacity: 1; pointer-events: auto; } }

.kfr-masque { display: none !important; }
.kfr-compact { min-height: 0 !important; --min-height: 0px !important; }

/* Fenêtre de réponse : centrée en bureau, feuille du bas sur mobile. */
.kfr-dialog {
  width: min(640px, calc(100vw - 32px)); max-height: min(80vh, 760px); box-sizing: border-box;
  margin: auto; padding: 0; border: 0; border-radius: 20px; background: #fff; color: #424245;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .28), 0 0 0 1px rgba(0, 0, 0, .05); overflow: hidden;
  font-family: Lato, Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; flex-direction: column;
}
.kfr-dialog[open] { display: flex; }
.kfr-dialog::backdrop { background: rgba(20, 20, 24, .34); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.kfr-dtete { display: flex; align-items: flex-start; gap: 16px; padding: 26px 26px 0 32px; }
#kfr-dq { flex: 1; margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; color: #1d1d1f; }
.kfr-close {
  flex: none; display: grid; place-items: center; width: 30px; height: 30px; margin: -2px 0 0; padding: 0;
  border: 0; border-radius: 50%; background: #f2f2f4; color: #6e6e73; cursor: pointer;
}
.kfr-close:hover { background: #e8e8ed; color: #1d1d1f; }
.kfr-close:focus-visible { outline: 2px solid #E09019; outline-offset: 2px; }
.kfr-dcorps { overflow-y: auto; padding: 16px 32px 8px; font-size: 16px; line-height: 1.7; color: #424245; }
.kfr-dcorps > :first-child { margin-top: 0; }
.kfr-dcorps p { margin: 0 0 10px; }
.kfr-dcorps ul, .kfr-dcorps ol { margin: 0 0 10px; padding-left: 1.2em; }
.kfr-dcorps a { color: #1d1d1f; text-decoration: underline; text-decoration-color: rgba(224, 144, 25, .7); text-underline-offset: 3px; }
.kfr-dcorps a:hover { text-decoration-color: #E09019; }
.kfr-dpied { margin: 0; padding: 14px 32px 20px; border-top: 1px solid rgba(0, 0, 0, .07); font-size: 14px; color: #6e6e73; }
.kfr-dpied a { color: #1d1d1f; font-weight: 700; text-decoration: none; }
@media (max-width: 767px) {
  .kfr { --kfr-marge: 16px; }
  .kfr-piste { --d: 32px; }
  .kfr-piste.kfr-milieu, .kfr-piste.kfr-fin { --g: 24px; }
  .kfr-dialog { width: 100%; max-width: 100%; max-height: 86vh; margin: auto 0 0; border-radius: 20px 20px 0 0; }
  .kfr-dtete { padding: 22px 18px 0 20px; }
  #kfr-dq { font-size: 18px; }
  .kfr-dcorps { padding: 14px 20px 8px; font-size: 15px; }
  .kfr-dpied { padding: 12px 20px calc(16px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: no-preference) {
  .kfr-dialog[open] { animation: kfr-in .28s cubic-bezier(.2, .8, .2, 1); }
  @keyframes kfr-in { from { opacity: 0; transform: translateY(14px) scale(.985); } }
}
