/* POOLROOMS | FAQ V03 : lecture plus confortable, meilleur espacement, mobile plus propre. */
.pr-faq-page {
  --faq-ink:#0b1f3d;
  --faq-red:#d81021;
  --faq-border:#dbe3ee;
  --faq-muted:#516079;
  background:#fff;
  color:var(--faq-ink);
}
.pr-faq-page, .pr-faq-page * { letter-spacing:normal; }
.pr-faq-container {
  width:min(1388px,calc(100% - 44px));
  margin-inline:auto;
}
.pr-faq-content {
  padding-block:42px 72px;
}
.pr-faq-intro {
  max-width:860px;
  margin:0 auto 14px;
  text-align:center;
  padding:0 16px 22px;
}
.pr-faq-intro h1 {
  margin:0;
  color:var(--faq-ink);
  font-family:var(--pr-font-body,'Manrope',sans-serif);
  font-size:clamp(31px,3vw,48px);
  line-height:1.18;
  font-weight:800;
}
.pr-faq-intro h1 i {
  display:inline-block;
  color:var(--faq-red);
  font-size:.82em;
  margin-right:10px;
  vertical-align:baseline;
}
.pr-faq-intro p {
  margin:14px 0 0;
  color:var(--faq-muted);
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.65;
}
.pr-faq-intro-line {
  display:block;
  width:90px;
  height:3px;
  margin:22px auto 0;
  border-radius:99px;
  background:var(--faq-red);
}
.pr-faq-toolbar { margin:0 0 28px; }
.pr-faq-search {
  display:flex;
  align-items:center;
  gap:13px;
  min-height:58px;
  padding:0 19px;
  border:1px solid var(--faq-border);
  border-radius:16px;
  background:#fff;
  cursor:text;
  transition:border-color .15s ease;
}
.pr-faq-search:focus-within { border-color:#90a2bd; outline:2px solid rgba(216,16,33,.1); }
.pr-faq-search i { color:var(--faq-ink); font-size:17px; }
.pr-faq-search input {
  flex:1;
  min-width:0;
  height:54px;
  padding:0;
  border:0;
  outline:none;
  background:transparent;
  color:var(--faq-ink);
  font-family:inherit;
  font-size:15px;
}
.pr-faq-search input::placeholder { color:#77849a; opacity:1; }
.pr-faq-mobile-categories { display:none; }
.pr-faq-layout {
  display:grid;
  grid-template-columns:minmax(250px,320px) minmax(0,1fr);
  align-items:start;
  gap:30px;
}
.pr-faq-categories {
  position:sticky;
  top:95px;
  min-width:0;
  padding:22px 12px;
  border:1px solid var(--faq-border);
  border-radius:18px;
  background:#fff;
}
.pr-faq-categories>h2 {
  margin:0 10px 18px;
  color:var(--faq-ink);
  font-size:21px;
  font-weight:800;
  line-height:1.25;
}
.pr-faq-category-list { display:grid; gap:5px; }
.pr-faq-category-list button {
  width:100%;
  min-height:51px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--faq-ink);
  font:600 14px/1.45 var(--pr-font-body,'Manrope',sans-serif);
  text-align:left;
  cursor:pointer;
}
.pr-faq-category-list button span { display:flex; align-items:center; gap:12px; min-width:0; }
.pr-faq-category-list button i { width:20px; flex:0 0 20px; text-align:center; color:inherit; }
.pr-faq-category-list button em {
  min-width:29px;
  padding:4px 7px;
  border-radius:9px;
  background:#f2f5f9;
  color:var(--faq-ink);
  text-align:center;
  font:700 13px/1.25 var(--pr-font-body,'Manrope',sans-serif);
  font-style:normal;
}
.pr-faq-category-list button:hover { background:#f8f9fc; }
.pr-faq-category-list button.is-active,
.pr-faq-category-list button.is-active:hover { background:#fff0f0; color:#cf0716; }
.pr-faq-category-list button.is-active em { background:#ffe1e3; color:#cf0716; }
.pr-faq-category-list button:focus-visible,
.pr-faq-mobile-categories button:focus-visible { outline:2px solid var(--faq-red); outline-offset:2px; }
.pr-faq-main { min-width:0; }
.pr-faq-results {
  min-height:61px;
  margin-bottom:18px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.pr-faq-results h2 {
  margin:0;
  color:var(--faq-ink);
  font-size:clamp(22px,2vw,28px);
  line-height:1.22;
  font-weight:800;
}
.pr-faq-results p {
  margin:8px 0 0;
  font-size:13px;
  color:var(--faq-muted);
  line-height:1.5;
}
.pr-faq-results p strong { color:var(--faq-ink); }
.pr-faq-accordion { display:grid; gap:10px; }
.pr-faq-accordion .accordion-item {
  min-width:0;
  overflow:hidden;
  margin:0;
  background:#fff;
  border:1px solid var(--faq-border);
  border-radius:14px;
  box-shadow:none;
}
.pr-faq-accordion .accordion-header { margin:0; }
.pr-faq-accordion .accordion-button {
  display:flex;
  align-items:center;
  width:100%;
  min-height:62px;
  margin:0;
  padding:14px 20px;
  border:0;
  background:#fff;
  color:var(--faq-ink);
  font:750 16px/1.55 var(--pr-font-body,'Manrope',sans-serif);
  text-align:left;
  box-shadow:none;
  transition:background .15s ease;
}
.pr-faq-accordion .accordion-button::before {
  content:'Q';
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  flex:0 0 27px;
  margin-right:16px;
  border:2px solid #f1b7bc;
  border-radius:50%;
  color:var(--faq-red);
  background:#fff6f6;
  font:800 17px/1 var(--pr-font-body,'Manrope',sans-serif);
}
.pr-faq-accordion .accordion-button::after {
  width:16px;
  height:16px;
  flex:0 0 16px;
  margin-left:auto;
  background-size:16px;
}
.pr-faq-accordion .accordion-button:hover { background:#fbfcfe; }
.pr-faq-accordion .accordion-button:not(.collapsed) {
  color:var(--faq-ink);
  background:#fffafa;
  box-shadow:none;
}
.pr-faq-accordion .accordion-button:focus-visible { outline:2px solid var(--faq-red); outline-offset:-2px; box-shadow:none; }
.pr-faq-accordion .accordion-body {
  padding:18px 23px 22px 63px;
  border-top:1px solid #ecf0f5;
  background:#fff;
  color:#35445b;
  font:400 15px/1.85 var(--pr-font-body,'Manrope',sans-serif);
}
.pr-faq-accordion .accordion-body strong { color:var(--faq-ink); font-weight:750; }
.pr-faq-accordion .accordion-body a,
.pr-faq-reference a { color:#ba0719; text-decoration:underline; text-underline-offset:2px; font-weight:700; }
.pr-faq-accordion .accordion-body p:last-child { margin-bottom:0; }
.pr-faq-accordion .accordion-body ul { margin:8px 0 0; padding-left:23px; }
.pr-faq-accordion .accordion-item[hidden] { display:none!important; }
.pr-faq-empty {
  padding:35px 20px;
  text-align:center;
  color:var(--faq-muted);
}
.pr-faq-empty[hidden] { display:none!important; }
.pr-faq-empty i { display:block; font-size:24px; margin-bottom:12px; }
.pr-faq-empty strong { display:block; font-size:16px; color:var(--faq-ink); }
.pr-faq-empty span { display:block; font-size:14px; margin-top:6px; }
.pr-faq-reference {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:17px 2px 0;
  margin-top:23px;
  border-top:1px solid var(--faq-border);
  background:transparent;
  color:var(--faq-muted);
  font-size:13px;
  line-height:1.7;
}
.pr-faq-reference i { padding-top:4px; color:#647997; }
.pr-faq-reference p { margin:0; }
@media (max-width:991.98px) {
  .pr-faq-container { width:calc(100% - 34px); }
  .pr-faq-content { padding-block:30px 48px; }
  .pr-faq-intro {
    max-width:700px;
    padding:0 8px 18px;
    margin-bottom:10px;
  }
  .pr-faq-intro h1 { font-size:clamp(28px,4.8vw,38px); }
  .pr-faq-intro p { margin-top:12px; }
  .pr-faq-intro-line { margin-top:18px; }
  .pr-faq-layout { display:block; }
  .pr-faq-categories { display:none; }
  .pr-faq-mobile-categories {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    overflow:visible;
    padding:4px 0 0;
    margin-top:14px;
  }
  .pr-faq-mobile-categories button {
    min-height:40px;
    flex:0 0 auto;
    padding:8px 16px;
    border:1px solid var(--faq-border);
    border-radius:999px;
    background:#fff;
    color:var(--faq-ink);
    font:700 13px/1.25 var(--pr-font-body,'Manrope',sans-serif);
    white-space:nowrap;
  }
  .pr-faq-mobile-categories button.is-active { border-color:var(--faq-red); background:var(--faq-red); color:#fff; }
  .pr-faq-results { margin-bottom:15px; }
}
@media (max-width:620px) {
  .pr-faq-container { width:calc(100% - 28px); }
  .pr-faq-content { padding-block:22px 36px; }
  .pr-faq-intro {
    padding:0 0 16px;
    margin-bottom:8px;
  }
  .pr-faq-intro h1 {
    font-size:22px;
    line-height:1.28;
  }
  .pr-faq-intro h1 i {
    margin-right:6px;
    font-size:.78em;
  }
  .pr-faq-intro p {
    font-size:14px;
    margin-top:10px;
    line-height:1.65;
  }
  .pr-faq-intro-line { margin-top:16px; width:64px; }
  .pr-faq-search { min-height:52px; padding:0 14px; border-radius:13px; }
  .pr-faq-search input { height:48px; font-size:14px; }
  .pr-faq-toolbar { margin-bottom:22px; }
  .pr-faq-mobile-categories {
    gap:8px;
    margin-top:12px;
  }
  .pr-faq-mobile-categories button {
    padding:7px 14px;
    min-height:38px;
    font-size:13px;
  }
  .pr-faq-results h2 {
    font-size:18px;
    line-height:1.3;
  }
  .pr-faq-results p {
    margin-top:7px;
    font-size:13px;
  }
  .pr-faq-accordion { gap:8px; }
  .pr-faq-accordion .accordion-button { padding:14px 12px; font-size:14px; line-height:1.5; min-height:56px; }
  .pr-faq-accordion .accordion-button::before { width:25px; height:25px; flex-basis:25px; margin-right:10px; font-size:15px; }
  .pr-faq-accordion .accordion-button::after { width:13px; height:13px; flex-basis:13px; background-size:13px; }
  .pr-faq-accordion .accordion-body { padding:15px 16px 18px; font-size:14px; line-height:1.8; }
  .pr-faq-reference { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .pr-faq-page * { transition:none!important; scroll-behavior:auto!important; }
}
