/* Pages légales : CGV, Mentions légales, Confidentialité, Remboursement (préfixe lgl). */

/* Héros : fond #f3f2ef → blanc, filet bas, bloc de 700 px, écart 16 px */
.iptv-lgl-hero { background: linear-gradient(180deg,#f3f2ef 0%,#fff 100%); }
.iptv-lgl-hero .iptv-page-hero { padding-bottom: 60px; }
.iptv-lgl-hero .iptv-fil { margin-bottom: 30px; }
.iptv-lgl-hero .iptv-page-hero__in { max-width: 700px; gap: 16px; }
.iptv-lgl-hero .iptv-page-lead { font-size: 18px; max-width: 560px; }
.iptv-lgl-maj { font-size: 13px; color: var(--attenue); margin: 0; }

/* Corps : sommaire collant + texte */
.iptv-lgl {
	max-width: var(--container-outer); margin: 0 auto; box-sizing: border-box;
	padding: clamp(40px,4.9vw,64px) var(--gutter) clamp(60px,7.4vw,96px);
	display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start;
}
.iptv-lgl > * { margin-block: 0; }

.iptv-lgl-toc { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 14px; flex: 1 1 220px; max-width: 300px; }
.iptv-lgl-toc__t { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--attenue); }
.iptv-lgl-toc__nav { display: flex; flex-direction: column; border-left: 2px solid var(--bord-2); padding-left: 2px; }
.iptv-lgl-toc__nav a {
	font-size: 14px; line-height: 1.5; color: var(--encre-3); padding: 7px 0 7px 14px;
	border-left: 2px solid transparent; margin-left: -2px; transition: all .18s ease;
}
.iptv-lgl-toc__nav a:hover { color: var(--violet); }
.iptv-lgl-toc__nav a.is-active { font-weight: 700; color: var(--violet); border-left-color: var(--violet); }

.iptv-lgl__body { flex: 3 1 460px; min-width: 0; max-width: 760px; display: flex; flex-direction: column; gap: 34px; }
.iptv-lgl__body > *, .iptv-lgl-sec > * { margin-block: 0; }

/* Avertissement « trame rédactionnelle » */
.iptv-lgl-note { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px dashed var(--bord-fort); border-radius: 20px; padding: 22px 24px; }
.iptv-lgl-note::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--violet); margin-top: 8px; flex-shrink: 0; }
.iptv-lgl-note p { font-size: 15px; line-height: 1.7; color: var(--encre-2); margin: 0; }

/* Sections */
.iptv-lgl-sec { display: flex; flex-direction: column; gap: 12px; padding-bottom: 34px; border-bottom: 1px solid var(--filet-2); }
.iptv-lgl-h2 { font-family: var(--f-titre); font-size: 22px; font-weight: 800; letter-spacing: -0.015em; line-height: 1.25; margin: 0; }
.iptv-lgl-sec p, .iptv-lgl-sec li { font-size: 16px; line-height: 1.75; color: var(--encre-3); margin: 0; }
.iptv-lgl-sec ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.iptv-lgl-sec li::marker { color: var(--violet); }
.iptv-lgl-sec strong { color: var(--encre-2); font-weight: 700; }
.iptv-lgl-sec code { font-size: .88em; background: #f3f2ef; border: 1px solid var(--filet-2); border-radius: 6px; padding: 1px 5px; overflow-wrap: anywhere; }
.iptv-lgl-sec a:not(.iptv-btn) { color: var(--violet); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.iptv-lgl-sec a:not(.iptv-btn):hover { color: var(--violet-hover); }

/* Encart pointillé des informations à renseigner */
.iptv-lgl-ph { display: flex; gap: 11px; align-items: flex-start; background: #f3f2ef; border: 1px dashed var(--bord-fort); border-radius: 14px; padding: 14px 16px; font-size: 14px; line-height: 1.6; color: var(--encre-2); }
.iptv-lgl-ph::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--violet); margin-top: 7px; flex-shrink: 0; }
.iptv-lgl-ph__in { display: flex; flex-direction: column; gap: 8px; min-width: 0; flex: 1; }
.iptv-lgl-sec .iptv-lgl-ph__note { font-size: 14px; line-height: 1.6; color: var(--encre-2); margin: 0; }
.iptv-lgl-ph__dl { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.iptv-lgl-ph__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.iptv-lgl-ph__row dt { font-weight: 700; color: var(--encre-2); }
.iptv-lgl-ph__row dt::after { content: "\00a0:"; }
.iptv-lgl-ph__row dd { margin: 0; color: var(--encre-3); min-width: 0; overflow-wrap: anywhere; }
.iptv-lgl-ph__row dd a { color: var(--violet); text-decoration: underline; text-underline-offset: 3px; }
.iptv-lgl-ph .iptv-todo { white-space: normal; }

/* Voir aussi */
.iptv-lgl-voir { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.iptv-lgl-voir__t { font-size: 14px; font-weight: 600; color: var(--attenue); margin-right: 6px; }
.iptv-lgl-voir__a {
	font-size: 14px; font-weight: 600; color: var(--encre-3); background: #fff; border: 1px solid var(--bord-2);
	border-radius: 12px; padding: 11px 18px; white-space: nowrap; min-height: 44px; box-sizing: border-box;
	display: inline-flex; align-items: center; transition: all .18s ease;
}
.iptv-lgl-voir__a:hover { border-color: var(--bord-fort); color: var(--violet); }

/* Bande « Une question sur ce document ? » */
.iptv-lgl-ask { position: relative; background: linear-gradient(180deg,#f7f5f0 0%,#f1eee7 100%); }
.iptv-lgl-ask__in {
	max-width: var(--container-outer); margin: 0 auto; box-sizing: border-box; padding: clamp(45px,5.5vw,72px) var(--gutter);
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,300px),1fr)); gap: 40px; align-items: center;
}
.iptv-lgl-ask__txt { display: flex; flex-direction: column; gap: 12px; }
.iptv-lgl-ask__txt h2 { margin: 0; text-wrap: balance; }
.iptv-lgl-ask__txt p { font-size: 17px; line-height: 1.65; color: var(--encre-3); margin: 0; }
.iptv-lgl-ask__btns { display: flex; gap: 14px; flex-wrap: wrap; }
.iptv-lgl-ask__sup, .iptv-lgl-ask__faq { font-family: var(--f-titre); font-size: 16px; font-weight: 800; border-radius: 14px; transition: all .18s ease; display: inline-flex; align-items: center; gap: 8px; }
.iptv-lgl-ask__sup { color: var(--nuit); background: #fff; padding: 17px 28px; box-shadow: var(--sh-anneau); }
.iptv-lgl-ask__sup:hover { background: var(--lavande); color: var(--nuit); }
.iptv-lgl-ask__faq { color: var(--violet); border: 1px solid var(--bord-fort); padding: 17px 26px; }
.iptv-lgl-ask__faq:hover { background: #fff; color: var(--violet-hover); }
.iptv-lgl-ask__faq svg { flex-shrink: 0; }

/* Encart « Une question sur ces conditions ? » */
.iptv-lgl-end { padding: 0 var(--gutter) clamp(56px,7vw,88px); }
.iptv-lgl-end__box {
	/* maquette en content-box : 1240 + 2 × 28 (padding) + 2 × 1 (bordure) */
	max-width: calc(var(--container) + 58px); margin: 0 auto; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center;
	justify-content: space-between; gap: 18px; background: #fff; border: 1px solid var(--bord); border-radius: 22px;
	padding: 24px 28px; box-shadow: 0 12px 34px rgba(13,18,48,0.05);
}
.iptv-lgl-end__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.iptv-lgl-end__txt strong { font-family: var(--f-titre); font-size: 20px; font-weight: 800; letter-spacing: -0.02em; color: var(--nuit); }
.iptv-lgl-end__txt span { font-size: 14px; color: var(--attenue); }
.iptv-lgl-end__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.iptv-lgl-end__sup, .iptv-lgl-end__buy { font-family: var(--f-titre); font-size: 15px; font-weight: 800; border-radius: 12px; padding: 12px 18px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; text-decoration: none; }
.iptv-lgl-end__sup { color: var(--nuit); background: #fff; border: 1.5px solid #dcd8ce; }
.iptv-lgl-end__sup:hover { border-color: var(--nuit); color: var(--nuit); }
.iptv-lgl-end__buy { color: #fff; background: var(--nuit); }
.iptv-lgl-end__buy:hover { background: var(--nuit-hover); color: #fff; }

/* ≥ 810 px : deux colonnes garanties tant que le sommaire est collant (le media query inclut la barre de
   défilement, pas la largeur de contenu : sans nowrap, les colonnes passeraient à la ligne vers 810–828 px). */
@media (min-width: 810px) {
	.iptv-lgl { flex-wrap: nowrap; }
}
/* Colonnes empilées (< 810 px) : le sommaire n'est plus collant pour ne pas recouvrir le texte */
@media (max-width: 809px) {
	.iptv-lgl { gap: 32px; }
	.iptv-lgl-toc { position: static; max-width: none; flex-basis: 100%; }
}
@media (max-width: 519px) {
	.iptv-lgl-note { padding: 18px 18px; }
	.iptv-lgl-end__box { padding: 22px 20px; }
	.iptv-lgl-ask__btns > a, .iptv-lgl-end__btns > a { flex: 1 1 auto; justify-content: center; }
}
