

/* LE CHOIX — reference puis ligne editable */

.fi_module fieldset {
min-width:0;
border:0;
margin:0;
padding:0
}

.fi_module legend {
letter-spacing:.12em;
text-transform:uppercase;
font-size:12px;
font-weight:700;
color:var(--v_orange);
padding:0 0 14px
}

.fi_refsGrille {
display:grid;
gap:10px;
grid-template-columns:repeat(4,minmax(0,1fr))
}

.fi_ref {
position:relative;
display:flex;
flex-direction:column;
gap:6px;
background:var(--v_encre);
border:1px solid var(--v_ligne);
cursor:pointer;
transition:border-color .2s var(--v_courbe),background-color .2s var(--v_courbe);
padding:12px 14px
}

.fi_ref:hover { border-color:var(--v_ligneChamp) }

.fi_ref input {
position:absolute;
width:1px;
height:1px;
opacity:0;
top:0;
left:0;
margin:0;
padding:0
}

.fi_ref:has(input:checked) {
background:color-mix(in srgb,var(--v_orange) 8%,var(--v_encre));
border-color:var(--v_orange)
}

.fi_ref:has(input:focus-visible) {
outline:2px solid var(--v_orange);
outline-offset:3px
}

.fi_ref:has(input:disabled) {
opacity:.5;
cursor:not-allowed
}

.fi_refNom {
display:flex;
align-items:center;
gap:8px;
font-size:14.5px;
font-weight:700;
color:var(--v_texte)
}

.fi_refNom::before {
width:8px;
height:8px;
content:"";
background:var(--v_ligneChamp);
border-radius:50%;
transition:background-color .2s var(--v_courbe);
flex-shrink:0
}

.fi_ref:has(input:checked) .fi_refNom::before { background:var(--v_orange) }

.fi_refBrut {
display:block;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
font-size:11.5px;
font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
color:var(--v_texte2)
}

.fi_edition {
display:flex;
flex-direction:column;
gap:8px
}

.fi_edition label {
letter-spacing:.12em;
text-transform:uppercase;
font-size:12px;
font-weight:700;
color:var(--v_orange)
}

.fi_edition input {
width:100%;
background:var(--v_encre);
border:1px solid var(--v_ligneChamp);
font-size:14px;
font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
color:var(--v_texte);
line-height:1.6;
transition:border-color .3s var(--v_courbe);
padding:12px 16px
}

.fi_edition input:focus {
outline:none;
border-color:var(--v_orange)
}

.fi_edition input:disabled { opacity:.5 }

.fi_module .fi_editionNote {
display:flex;
align-items:flex-start;
gap:9px;
max-width:100%;
font-size:13px;
color:var(--v_texte2);
margin:0
}

.fi_editionNote i {
font-size:11px;
color:var(--v_orange);
margin:4px 0 0
}

/* ETAT DE REPOS — deux colonnes, le recit a gauche, les verrous a droite */

.fi_module .demo_attente {
display:grid;
align-items:start;
gap:32px;
grid-template-columns:minmax(0,7fr) minmax(0,5fr)
}

.fi_module .demo_attente[hidden] { display:none }

.fi_attenteRecit > i {
display:grid;
place-items:center;
width:56px;
height:56px;
background:color-mix(in srgb,var(--v_orange) 14%,transparent);
font-size:22px;
color:var(--v_orange);
margin:0 0 18px
}

.fi_attenteRecit h2 {
font-size:22px;
font-weight:750;
color:var(--v_texte);
margin:0 0 12px
}

.fi_attenteCote {
background:var(--v_fond);
border:1px solid var(--v_ligne);
padding:20px 22px
}

.fi_attenteCote h3 {
letter-spacing:.12em;
text-transform:uppercase;
font-size:12px;
font-weight:700;
color:var(--v_orange);
margin:0 0 16px
}

.fi_attenteCote ul {
display:flex;
flex-direction:column;
gap:16px;
list-style:none;
margin:0;
padding:0
}

.fi_attenteCote li {
display:grid;
gap:2px 12px;
grid-template-columns:auto 1fr
}

.fi_attenteCote li i {
grid-row:1 / 3;
align-self:start;
width:30px;
height:30px;
background:color-mix(in srgb,var(--v_orange) 14%,transparent);
font-size:13px;
color:var(--v_orange);
line-height:30px;
text-align:center
}

.fi_attenteCote li b {
font-size:14px;
font-weight:700;
font-family:var(--v_titre);
color:var(--v_texte)
}

.fi_attenteCote li span {
font-size:13px;
color:var(--v_texte2);
line-height:1.55
}

/* CE QUI EST ENTRE */

.fi_avant {
display:flex;
flex-direction:column;
gap:8px;
background:var(--v_encre);
border:1px solid var(--v_ligne);
padding:16px 18px
}

.fi_module .fi_avantMot {
display:flex;
align-items:center;
gap:9px;
letter-spacing:.1em;
text-transform:uppercase;
font-size:11.5px;
font-weight:700;
color:var(--v_texte2);
margin:0
}

.fi_avantMot i { color:var(--v_orange) }

.fi_avantModif {
background:color-mix(in srgb,var(--v_orange) 16%,transparent);
letter-spacing:.05em;
font-size:10.5px;
font-weight:700;
color:var(--v_orange2);
padding:2px 8px
}

.fi_module .fi_avantModif[hidden] { display:none }

.fi_avantBrut {
display:block;
overflow-wrap:break-word;
font-size:13px;
font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
color:var(--v_texte)
}

/* Bascule des deux voix — herite des filtres de demo.css */

.fi_onglets { margin:0 0 -8px }

/* LA FICHE */

.fi_fiche {
background:linear-gradient(135deg,color-mix(in srgb,var(--v_orange) 12%,var(--v_encre)),var(--v_encre) 58%);
border:1px solid color-mix(in srgb,var(--v_orange) 32%,transparent);
padding:clamp(22px,3vw,34px)
}

.fi_module .fi_ficheVoix {
display:inline-flex;
align-items:center;
gap:8px;
background:color-mix(in srgb,var(--v_orange) 16%,transparent);
letter-spacing:.08em;
text-transform:uppercase;
font-size:11.5px;
font-weight:700;
color:var(--v_orange2);
margin:0 0 14px;
padding:3px 10px
}

.fi_ficheTitre {
max-width:26ch;
letter-spacing:-.015em;
font-size:clamp(24px,2.6vw,34px);
font-weight:750;
line-height:1.12;
margin:0 0 10px
}

.fi_module .fi_ficheAccroche {
max-width:64ch;
font-size:16.5px;
color:var(--v_texte2);
margin:0 0 24px
}

.fi_ficheCorps {
display:grid;
align-items:start;
gap:30px;
grid-template-columns:minmax(0,7fr) minmax(0,5fr)
}

.fi_module .fi_ficheTexte p {
max-width:62ch;
font-size:15px;
color:var(--v_texte2);
line-height:1.75;
margin:0 0 14px
}

.fi_ficheTexte ul {
list-style:none;
margin:18px 0 0;
padding:0
}

.fi_ficheTexte li {
position:relative;
font-size:14.5px;
color:var(--v_texte);
margin:0 0 9px;
padding:0 0 0 24px
}

.fi_ficheTexte li::before {
position:absolute;
width:7px;
height:7px;
content:"";
background:var(--v_orange);
top:8px;
left:2px
}

.fi_ficheCotes {
background:color-mix(in srgb,#0c0b0a 40%,transparent);
border:1px solid var(--v_ligne);
padding:18px 20px
}

.fi_ficheCotes h3 {
letter-spacing:.1em;
text-transform:uppercase;
font-size:12px;
font-weight:700;
color:var(--v_texte2);
margin:0 0 12px
}

.fi_ficheCotes dl {
display:grid;
gap:0;
grid-template-columns:auto minmax(0,1fr);
margin:0
}

.fi_ficheCotes dt {
border-bottom:1px solid color-mix(in srgb,#f4f1ec 6%,transparent);
font-size:13px;
font-weight:600;
color:var(--v_texte2);
padding:8px 18px 8px 0
}

.fi_ficheCotes dd {
border-bottom:1px solid color-mix(in srgb,#f4f1ec 6%,transparent);
text-align:right;
font-variant-numeric:tabular-nums;
font-size:13px;
color:var(--v_texte);
margin:0;
padding:8px 0
}

.fi_ficheCotes dt:last-of-type, .fi_ficheCotes dd:last-of-type { border-bottom:0 }

/* L'APERCU GOOGLE */

.fi_serp {
background:var(--v_fond2);
border:1px solid var(--v_ligne);
margin:0 0 16px;
padding:16px 18px
}

.fi_module .fi_serpTitre {
max-width:60ch;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
font-size:18px;
color:#9fc3ff;
margin:0 0 4px
}

.fi_module .fi_serpDesc {
max-width:74ch;
font-size:13.5px;
color:var(--v_texte2);
line-height:1.55;
margin:0
}

.fi_seoMesures {
display:flex;
flex-wrap:wrap;
gap:8px 22px;
list-style:none;
margin:0;
padding:0
}

.fi_seoMesures li {
display:flex;
align-items:center;
gap:8px;
font-variant-numeric:tabular-nums;
font-size:13px;
color:var(--v_texte2)
}

.fi_seoMesures i { color:var(--v_vert) }

/* LES CONTROLES */

.fi_badges {
display:grid;
gap:10px;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
list-style:none;
margin:0;
padding:0
}

.fi_badges li {
display:grid;
gap:1px 12px;
grid-template-columns:auto 1fr;
background:var(--v_fond2);
border:1px solid var(--v_ligne);
border-left:3px solid var(--v_vert);
padding:12px 14px
}

.fi_badges li i {
grid-row:1 / 3;
align-self:center;
font-size:15px;
color:var(--v_vert)
}

.fi_badges li b {
font-size:13.5px;
font-weight:700;
color:var(--v_texte)
}

.fi_badges li span {
font-variant-numeric:tabular-nums;
font-size:12.5px;
color:var(--v_texte2)
}

.fi_module .fi_repriseNote {
display:flex;
align-items:flex-start;
gap:10px;
max-width:100%;
background:color-mix(in srgb,var(--v_orange) 9%,transparent);
border:1px solid color-mix(in srgb,var(--v_orange) 30%,transparent);
font-size:13.5px;
color:var(--v_texte);
margin:14px 0 0;
padding:12px 14px
}

.fi_repriseNote i {
color:var(--v_orange);
margin:3px 0 0
}

.fi_module .fi_repriseNote[hidden] { display:none }

/* NOTICE DE BAS DE MODULE — deux colonnes, jamais trois */

.fi_noticeGrille {
display:grid;
gap:0 40px;
grid-template-columns:repeat(2,minmax(0,1fr))
}

.fi_module .fi_noticeGrille p { max-width:66ch }

@media (max-width:1100px) {
	.fi_refsGrille { grid-template-columns:repeat(2,minmax(0,1fr)) }
}

@media (max-width:900px) {
	.fi_module .demo_attente { grid-template-columns:minmax(0,1fr) }

	.fi_noticeGrille { grid-template-columns:minmax(0,1fr) }

	.fi_ficheCorps { grid-template-columns:minmax(0,1fr) }
}

@media (max-width:640px) {
	.fi_refsGrille { grid-template-columns:minmax(0,1fr) }
}
