/* FAQ SpeakPro Academy (07/11/2026) : onglets Apprenants / Coachs, recherche, rubriques, questions dépliables. */
body.sp-learn section.fq{ padding:28px 0 96px; }
.fq-wrap{ max-width:860px; }
.fq-bar{ position:sticky; top:72px; z-index:5; display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:12px 0; background:linear-gradient(#FBF8F3 82%, rgba(251,248,243,0)); }
.fq-tabs{ display:inline-flex; padding:4px; border-radius:999px; background:#fff; border:1px solid #E5DBCF; }
.fq-tabs button{ font:600 15px/1 var(--display, Inter, sans-serif); color:#4A505B; background:none; border:0; border-radius:999px; padding:11px 18px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.fq-tabs button span{ font-size:12px; font-weight:700; color:#A9552F; background:#F6ECE3; border-radius:999px; padding:3px 8px; }
.fq-tabs button[aria-selected="true"]{ background:#10233F; color:#fff; }
.fq-tabs button[aria-selected="true"] span{ background:rgba(255,255,255,.16); color:#fff; }
.fq-search{ flex:1 1 240px; display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #E5DBCF; border-radius:999px; padding:0 16px; min-height:46px; }
.fq-search svg{ width:18px; height:18px; fill:none; stroke:#8A8F99; stroke-width:2; stroke-linecap:round; flex:none; }
.fq-search input{ border:0; outline:0; background:none; font:400 16px/1.4 inherit; width:100%; color:#1E2430; padding:10px 0; }
.fq-search:focus-within{ border-color:#A9552F; box-shadow:0 0 0 3px rgba(169,85,47,.12); }
.fq-empty{ margin:18px 0 0; padding:16px 18px; border-radius:14px; background:#fff; border:1px dashed #E5DBCF; color:#4A505B; }
.fq-panel-h{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.fq-chips{ display:flex; gap:8px; overflow-x:auto; padding:6px 0 4px; margin:4px 0 8px; scrollbar-width:none; }
.fq-chips::-webkit-scrollbar{ display:none; }
.fq-chips a{ flex:none; font-size:14px; font-weight:600; color:#1E2430; text-decoration:none; background:#fff; border:1px solid #E5DBCF; border-radius:999px; padding:8px 14px; }
.fq-chips a span{ color:#A9552F; margin-left:4px; font-weight:700; }
.fq-chips a:hover{ border-color:#A9552F; }
.fq-theme{ margin-top:34px; scroll-margin-top:150px; }
.fq-theme > h2{ font-family:var(--display-serif, Georgia, serif); font-weight:500; font-size:clamp(23px,2.6vw,28px) !important; letter-spacing:-.01em; color:#10233F; margin:0 0 14px; display:flex; align-items:baseline; gap:10px; }
.fq-count{ font-family:var(--display, Inter, sans-serif); font-size:14px; font-weight:700; color:#A9552F; }
.fq-item{ background:#fff; border:1px solid #E9E0D4; border-radius:18px; margin:0 0 10px; transition:border-color .2s, box-shadow .2s; scroll-margin-top:150px; }
.fq-item.open{ border-color:#D9C6B2; box-shadow:0 10px 28px rgba(16,35,63,.06); border-left:3px solid #A9552F; }
.fq-h{ margin:0; font-size:inherit; font-weight:inherit; }
.fq-q{ width:100%; display:flex; align-items:center; gap:14px; text-align:left; background:none; border:0; cursor:pointer; padding:16px 18px; color:#10233F; font:600 16.5px/1.4 var(--display, Inter, sans-serif); }
.fq-n{ flex:none; width:30px; height:30px; border-radius:50%; border:1.5px solid #D9C6B2; color:#A9552F; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.fq-item.open .fq-n{ background:#10233F; border-color:#10233F; color:#fff; }
.fq-qt{ flex:1; }
.fq-chev{ flex:none; width:34px; height:34px; border-radius:50%; background:#F6ECE3; display:flex; align-items:center; justify-content:center; transition:transform .25s, background .2s; }
.fq-chev svg{ width:16px; height:16px; fill:none; stroke:#A9552F; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.fq-item.open .fq-chev{ transform:rotate(180deg); background:#10233F; }
.fq-item.open .fq-chev svg{ stroke:#fff; }
.fq-a{ padding:0 18px 18px 62px; color:#3D4350; font-size:15.5px; line-height:1.65; }
.fq-js .fq-a{ display:none; }
.fq-js .fq-item.open .fq-a{ display:block; }
.fq-pour{ margin:0 0 10px; padding-top:12px; border-top:1px solid #F0E8DD; font-size:13.5px; font-style:italic; color:#A9552F; }
.fq-a-in > *:first-child{ margin-top:0; }
.fq-a-in p{ margin:0 0 10px; }
.fq-a-in ol, .fq-a-in ul{ margin:0 0 10px; padding-left:20px; }
.fq-a-in li{ margin:4px 0; }
.fq-a-in a{ color:#A9552F; font-weight:600; text-underline-offset:3px; }
.fq-table{ overflow-x:auto; margin:6px 0 12px; border:1px solid #EFE6DA; border-radius:12px; }
.fq-table table{ width:100%; border-collapse:collapse; font-size:14px; min-width:480px; }
.fq-table th, .fq-table td{ padding:9px 12px; text-align:left; border-bottom:1px solid #F2EBE1; vertical-align:top; }
.fq-table thead th{ background:#10233F; color:#fff; font-weight:600; }
.fq-table tbody th{ color:#10233F; font-weight:600; white-space:nowrap; }
.fq-table tr:last-child th, .fq-table tr:last-child td{ border-bottom:0; }
.fq-item.fq-hide, .fq-theme.fq-hide{ display:none; }
mark.fq-hl{ background:#F8E3CF; color:inherit; border-radius:3px; padding:0 1px; }
.fq-end{ margin-top:48px; padding:26px; border-radius:22px; background:#10233F; color:#fff; display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; }
.fq-end h2{ color:#fff !important; font-family:var(--display-serif, Georgia, serif); font-weight:500; font-size:24px !important; margin:0 0 4px; }
.fq-end p{ margin:0; color:#C9D3E2; }
.fq-end-btns{ display:flex; flex-wrap:wrap; gap:10px; }
.fq-end .btn-outline{ color:#fff; border-color:rgba(255,255,255,.55); background:transparent; }
.fq-js .fq-only-coachs{ display:none; }
.fq-js[data-aud="coachs"] .fq-only-coachs{ display:inline-flex; }
.fq-js[data-aud="coachs"] .fq-only-apprenants{ display:none; }
@media (max-width:640px){
  .fq-bar{ top:60px; }
  .fq-tabs{ width:100%; } .fq-tabs button{ flex:1; justify-content:center; }
  .fq-q{ padding:14px; gap:12px; font-size:16px; }
  .fq-a{ padding:0 14px 16px 14px; }
  .fq-end{ padding:22px 18px; } .fq-end-btns, .fq-end-btns .btn{ width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){ .fq-chev, .fq-item{ transition:none; } }
.fq-chips[hidden]{ display:none; }
