/* © 2026 DRAK Infinity (NEQ 2281240509), Montréal (Québec), Canada. Tous droits réservés.
   Feuille PROPRE à la page Serveur maison (/homelab, /en/home-lab) : mission 31, lot C, vague 1, agent 1a (fait 186a). Chargée SEULEMENT
   sur cette page (posée par outils/homelab-pages.mjs, en tête du corps, même convention que outils/maison-3d-demo-bloc.mjs pour
   site/commun/maison-3d-demo.css — jamais par outils/construire-site.mjs, qui ne connaît pas cette feuille).

   Le contrat de balisage V4 commun au lot C (.v4-wrap, .v4-sec, .v4-tete, .v4-carte, .v4-trois/.v4-deux/.v4-cinq, .v4-note, .v4-btns,
   .v4-eti, .v4-tabl, .v4-faq, .v4-num, .v4-photo, .v4-video, .v4-form-deux…) vit dans site/commun/v4.css (posé par l'agent 0b, déjà chargé
   sur TOUTES les pages) : RIEN n'est redéfini ici. Ce fichier ajoute seulement les quelques réglages propres au contenu de CETTE page :
     - .hl-sr : légende de tableau réservée aux lecteurs d'écran (aucune classe « sr-only » générique n'existe ailleurs sur le site :
       site/commun/v3.css n'a que .pref-table .sr-only, scopée à un autre tableau).
     - .v4-carte .hl-liste : les puces à points de .hl-liste (site/commun/pages-v3.css, classe déjà en ligne avant cette mission, inchangée)
       gardent leur retrait propre (22px sur le <li>) quand une telle liste est posée DANS une .v4-carte (bloc « Ce qui tourne chez vous,
       ce qui reste dans le nuage ») : sans cette règle, le retrait de .v4-carte ul (20px, site/commun/v4.css) s'ajoutait à celui de
       .hl-liste li et doublait l'espace avant la puce.
     - .hl-vis-tall : plafond de hauteur pour la photo personnelle d'en-tête (1050 × 1150, portrait), pour qu'elle ne domine pas la
       colonne visuelle de .v4-tete-vis sur un écran large (.v4-tete-vis .v4-vis img de site/commun/v4.css n'impose qu'une largeur). */

html[data-theme] .hl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

html[data-theme] .v4-carte .hl-liste{padding-left:0}

/* CORRECTION mission 31-BIS, lot B (fait 191 f) : object-fit:cover rognait le haut et le bas de la photo personnelle
   (1050×1150) dès que sa hauteur mise à l'échelle dépassait le plafond de 62vh (le cas le plus courant, à peu près tous
   les écrans de moins de 900 px de haut). object-fit:contain : le plafond de hauteur reste (la photo ne domine toujours
   pas la colonne sur un grand écran), mais l'image entière reste visible, centrée sur le fond --surface (déjà posé par
   la règle de base, site/commun/v4.css) au lieu d'être coupée. */
html[data-theme] .v4-tete-vis .v4-vis img{max-height:62vh;object-fit:contain}

/* .hl-point-phrase : le point final (FR) qui isole le libellé du bouton Diagnostic comme sa propre phrase pour appellations.mjs
   (voir outils/homelab-pages.mjs) ; un léger retrait l'empêche de toucher visuellement le bord arrondi du bouton — trouvé par
   mesure de contraste réelle (2,71:1, vague 2, 3 novembre 2026) : le point collé au bouton se lisait mal. */
html[data-theme] .hl-point-phrase{margin-left:.35em}

/* CORRECTION mission 31-BIS, lot B (fait 195, « Les documents », FR seulement : /homelab#documents, 104 caractères,
   phrase courte isolée) : passait sur deux lignes dans la colonne de lecture commune (68ch), sans en avoir besoin.
   #conditions (version EN, « Our terms in brief ») n'est PAS le même texte : 280 caractères, un vrai paragraphe sur
   la langue du contrat et la traduction — PAS une phrase à forcer sur une ligne (essayé puis retiré : 552 px de
   débordement à 1 440 px). Bouton collé à la phrase des deux côtés (0 px de marge) : 24 px ajoutés aux deux. */
html[data-theme] #documents .v4-intro{max-width:none;white-space:nowrap}
html[data-theme] #documents>.v4-wrap>p:last-child,html[data-theme] #conditions>.v4-wrap>p:last-child{margin-top:24px}
@media (max-width:640px){
  html[data-theme] #documents .v4-intro{white-space:normal}
}

/* CORRECTION mission 31-BIS, lot B (fait 195, « Forfaits et tarifs ») : le repli « Conditions du Diagnostic » à 24 px
   sous ce qui le précède (22px→24px, .hl-details de pages-v3.css, à peine ajusté) et 16 px au-dessus du bouton
   « Diagnostic Serveur maison » qui le suit (0 px avant ce correctif). */
html[data-theme] #conditions-diagnostic{margin-top:24px}
html[data-theme] #conditions-diagnostic+p{margin-top:16px}

/* CORRECTION mission 31-BIS, lot B (retour du contrôleur, deuxième passage, fait 191 a) : dans #conditions (EN
   seulement, « Our terms in brief »), deux écarts à 0 px trouvés au navigateur réel. Cause 1 : <p class="v4-note
   hl-bandeau-modele"> porte DEUX classes de même spécificité (une seule classe chacune) qui posent chacune une marge
   différente — .v4-note (site/commun/v4.css, chargée APRÈS site/commun/v3.css) l'emporte sur .hl-bandeau-modele
   (site/commun/v3.css, margin:0 0 20px), ne laissant que sa propre marge de 6px EN HAUT, aucune en bas. Cause 2 :
   .v4-intro (margin:0) suivi de .hl-resume (margin:0 0 26px, pas de marge en haut) : aucune marge ne s'applique
   ENTRE eux. Les deux corrigés ici (dernière feuille chargée sur cette page, l'emporte sur les deux précédentes). */
html[data-theme] #conditions .hl-bandeau-modele{margin-bottom:24px}
html[data-theme] #conditions .hl-resume{margin-top:24px}

/* CORRECTION mission 31-BIS, lot B (retour du contrôleur, troisième passage, fait 191 c) : chaque <dd> de .hl-resume
   peut maintenant contenir plusieurs <p> (outils/homelab-pages.mjs, enPhrases appliquée aux définitions) — sans
   marge posée sur ces <p>, ils collaient les uns aux autres (0 px, * {margin:0} de site/site.css). 8 px entre eux,
   comme les mentions coupées de /outils (site/commun/v4-outils.css) et les cartes de pourquoi-maintenant.json. */
html[data-theme] .hl-resume dd p+p{margin-top:8px}
