/* FAQ (FAQ.dc.html) — page « faq ». Classes .iptv-fq-… ; l'accordéon réutilise .iptv-faq.iptv-faq--lines (style.css §15 et §22). */

/* Les styles globaux de WordPress (« :root :where(.is-layout-flow) > * { margin-block-start: 24px } »), imprimés
   APRÈS style.css, l'emportent sur « .wp-block-post-content > * { margin-block: 0 } » : 24px parasites entre les
   sections et marge de 104px de .iptv-ask annulée. Correctif local (demande partagée dans deploy/notes/faq.md). */
.wp-block-post-content.is-layout-flow > * { margin-block: 0; }
.wp-block-post-content.is-layout-flow > .iptv-ask { margin-top: 104px; }

/* Section questions : 56px en haut (maquette). La maquette colle l'encart essai à la dernière question
   (padding-bottom 0) : 56px ajoutés en bas pour que les deux bordures ne se touchent pas. */
.iptv-fq { padding-top: 56px; padding-bottom: 56px; }

/* Héros : la règle globale « :root :where(.is-layout-flow) > * { margin-block-end: 0 } » annule la marge du fil d'Ariane (36px maquette). */
.iptv-page-hero > .iptv-fil { margin-bottom: 36px; }

/* ---------- Recherche, « Souvent posées », catégories ---------- */
.iptv-fq-top { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,340px),1fr)); gap: 16px; align-items: center; margin-bottom: 22px; }
.iptv-fq-search { display: flex; align-items: center; gap: 12px; min-width: 0; background: #fff; border: 1px solid var(--bord-fort); border-radius: 16px; padding: 6px 6px 6px 16px; cursor: text; transition: border-color .18s ease, box-shadow .18s ease; }
.iptv-fq-search:focus-within { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(91,46,255,0.16); }
.iptv-fq-search svg { flex-shrink: 0; }
.iptv-fq-search input { flex: 1; min-width: 0; margin: 0; border: 0; border-radius: 0; outline: 0; background: transparent; -webkit-appearance: none; appearance: none; font: 400 16px/normal var(--f-texte); color: var(--encre); padding: 10px 0; }
.iptv-fq-search input:focus-visible { outline: none; }
.iptv-fq-count { font-size: 12px; font-weight: 700; color: var(--attenue); white-space: nowrap; padding: 0 8px; }
.iptv-fq-often { display: flex; flex-wrap: wrap; gap: 8px; }
.iptv-fq-often__k { align-self: center; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--attenue); }
.iptv-fq-often__b { font: 600 13px/normal var(--f-texte); color: var(--violet); background: #f0ecff; border: 1px solid #d9ccff; border-radius: 999px; padding: 8px 12px; cursor: pointer; transition: border-color .18s ease; }
.iptv-fq-often__b:hover { border-color: var(--violet); }
.iptv-fq-cats { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.iptv-fq-cat { font: 600 14px/normal var(--f-texte); color: var(--encre-3); background: #fff; border: 1px solid var(--bord-2); border-radius: 999px; padding: 10px 18px; cursor: pointer; transition: all .18s ease; }
.iptv-fq-cat:hover { border-color: var(--bord-fort); color: var(--encre); }
.iptv-fq-cat[aria-pressed="true"] { background: var(--violet); color: #fff; border-color: var(--violet); }

/* ---------- Grille : questions | colonne d'aide ---------- */
.iptv-fq-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,380px),1fr)); gap: clamp(24px,4vw,56px); align-items: start; }
.iptv-fq-list { min-width: 0; }

/* Accordéon (blocs Détails) : valeurs de la maquette */
.iptv-faq.iptv-fq-list details[hidden] { display: none; }
.iptv-faq.iptv-fq-list summary { padding: 26px 0; align-items: flex-start; gap: 24px; }
.iptv-faq.iptv-fq-list summary::after { line-height: 1.2; }
.iptv-faq.iptv-fq-list details[open] { padding-bottom: 28px; }
.iptv-faq.iptv-fq-list details > :not(summary) { padding: 0; margin: 14px 0 0; }
.iptv-faq.iptv-fq-list details > summary + * { margin-top: -8px; }
.iptv-faq.iptv-fq-list details > :last-child { padding-bottom: 0; }
.iptv-faq.iptv-fq-list details > p { padding-right: clamp(0px,4vw,60px); font-size: 16px; line-height: 1.75; color: var(--encre-3); }
.iptv-faq.iptv-fq-list details > p a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Pied de réponse : lien contextuel + vote */
.iptv-faq.iptv-fq-list details > .iptv-fq-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; line-height: normal; }
.iptv-fq-foot__a { font-family: var(--f-titre); font-size: 14px; font-weight: 800; color: var(--violet); white-space: nowrap; }
.iptv-fq-foot__a:hover { color: var(--violet-hover); }
.iptv-fq-vote { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--attenue); }
.iptv-fq-vote[hidden], .iptv-faq.iptv-fq-list details > .iptv-fq-more[hidden], .iptv-fq-empty[hidden] { display: none; }
.iptv-fq-vote__b { font: 800 12px/normal var(--f-texte); min-height: 28px; padding: 5px 10px; border-radius: 999px; cursor: pointer; background: #fff; color: var(--encre-3); border: 1px solid var(--bord-2); transition: all .18s ease; }
.iptv-fq-vote__b:hover { border-color: var(--bord-fort); }
.iptv-fq-vote__b[data-fq-vote="y"][aria-pressed="true"] { background: var(--succes-fond); color: var(--succes-texte); border-color: var(--succes-bord); }
.iptv-fq-vote__b[data-fq-vote="n"][aria-pressed="true"] { background: #fbecea; color: #8f2621; border-color: #efc4bf; }
.iptv-faq.iptv-fq-list details > .iptv-fq-more { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: #f4f6fb; border: 1px solid #eceff7; border-radius: 14px; padding: 12px 14px; font-size: 14px; line-height: 1.55; color: var(--encre-2); }
.iptv-fq-more a { font-family: var(--f-titre); font-weight: 800; color: var(--violet); white-space: nowrap; }
.iptv-fq-more a:hover { color: var(--violet-hover); }

/* État vide (inséré par modules/faq.js) */
.iptv-fq-empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: #f4f6fb; border: 1px dashed var(--bord-fort); border-radius: 18px; padding: 20px 22px; }
.iptv-fq-empty > span { font-size: 15px; line-height: normal; color: var(--encre-2); min-width: 0; overflow-wrap: anywhere; }
.iptv-fq-empty__a { font-family: var(--f-titre); font-size: 14px; font-weight: 800; color: #fff; background: var(--nuit); border-radius: 12px; padding: 12px 16px; white-space: nowrap; }
.iptv-fq-empty__a:hover, .iptv-fq-empty__a:focus-visible { background: var(--nuit-hover); color: #fff; }

/* ---------- Colonne d'aide ---------- */
/* Collante comme la maquette, sans seuil : en une colonne l'aside est le dernier élément de la grille, sticky y est sans effet. */
.iptv-fq-aside { display: flex; flex-direction: column; gap: 16px; min-width: 0; position: sticky; top: 110px; }
.iptv-fq-aside .iptv-fq-short { display: flex; flex-direction: column; gap: 10px; background: var(--nuit-profonde); color: #fff; border-radius: 22px; padding: 24px 26px; }
.iptv-fq-aside .iptv-fq-short__k { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--violet-nuit); }
.iptv-fq-aside .iptv-fq-short__t { font-family: var(--f-titre); font-size: 20px; font-weight: 800; line-height: 1.15; }
.iptv-fq-aside .iptv-fq-short__p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--sur-nuit); }
.iptv-fq-aside .iptv-fq-short__a { align-self: flex-start; margin-top: 4px; font-family: var(--f-titre); font-size: 14px; font-weight: 800; color: var(--nuit); background: #fff; border-radius: 12px; padding: 12px 16px; }
.iptv-fq-aside .iptv-fq-short__a:hover { background: var(--lavande); color: var(--nuit); }
.iptv-fq-aside .iptv-fq-help { background: #f3f2ef; border: 1px solid var(--bord-2); border-radius: 22px; padding: 28px; }
.iptv-fq-aside .iptv-fq-help__t { margin: 0 0 10px; font-family: var(--f-titre); font-size: 18px; font-weight: 600; line-height: normal; color: var(--encre); }
.iptv-fq-aside .iptv-fq-help__p { margin: 0 0 20px; font-size: 15px; line-height: 1.65; color: var(--encre-3); }
.iptv-fq-aside .iptv-fq-help__a { display: block; text-align: center; font-family: var(--f-titre); font-size: 15px; font-weight: 800; color: #fff; background: var(--nuit); border-radius: 14px; padding: 14px 24px; }
.iptv-fq-aside .iptv-fq-help__a:hover { background: var(--nuit-hover); color: #fff; }
.iptv-fq-aside .iptv-fq-links { background: #fff; border: 1px solid var(--bord-2); border-radius: 22px; padding: 28px; }
.iptv-fq-aside .iptv-fq-links__t { margin: 0 0 14px; font-family: var(--f-titre); font-size: 16px; font-weight: 600; line-height: normal; color: var(--encre); }
.iptv-fq-aside .iptv-fq-links__l { display: flex; flex-direction: column; gap: 11px; font-size: 15px; }
.iptv-fq-aside .iptv-fq-links__l a { color: var(--encre-3); }
.iptv-fq-aside .iptv-fq-links__l a:hover { color: var(--violet); }
.iptv-fq-aside .iptv-fq-links__l svg { flex-shrink: 0; }
