/* Catalogue cible : mosaïque de données dans la charte NOVASCEND. */
[hidden]{display:none!important}

/* Chaque famille conserve la même teinte dans la liste, la mosaïque et le détail. */
[data-family="production"]{--family-fill:#BCE3D5;--family-ink:#276B58}
[data-family="soin"]{--family-fill:#D99AAF;--family-ink:#91415A}
[data-family="vivre"]{--family-fill:#A9B790;--family-ink:#536C39}
[data-family="ressources"]{--family-fill:#B6D6D7;--family-ink:#2F6974}
[data-family="droits"]{--family-fill:#B9C8ED;--family-ink:#455E91}
[data-family="confiance"]{--family-fill:#EC9E8F;--family-ink:#9D4B39}
[data-family="activite"]{--family-fill:#E5D7C0;--family-ink:#78613F}
[data-family="savoirs"]{--family-fill:#DCECA8;--family-ink:#607734}

.micro-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.micro-overview,.micro-chart-column{min-width:0}
.micro-total{display:flex;align-items:baseline;gap:1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--rule)}
.micro-total-number{font:400 clamp(4rem,6.6vw,6.8rem)/.9 var(--serif);letter-spacing:-.055em;font-variant-numeric:tabular-nums;color:var(--ink)}
.micro-total-label{max-width:15ch;font-size:var(--fs-small);line-height:1.28;color:var(--ink-2)}
.micro-scope{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.8rem}
.micro-scope-item{display:flex;flex-direction:column;gap:.2rem;padding:.2rem 0 .65rem;border-bottom:1px solid var(--rule)}
.micro-scope-number{font:400 1.75rem/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--ink)}
.micro-scope-label{max-width:24ch;font-size:.76rem;line-height:1.4;color:var(--ink-2)}
.micro-summary{padding-block:.8rem 1.6rem;font-family:var(--mono);font-size:.73rem;line-height:1.5;color:var(--ink-3)}
.micro-subheading{font:400 clamp(1.25rem,1.7vw,1.55rem)/1.15 var(--serif);color:var(--ink)}
.micro-ranking{margin-top:.55rem;padding:0;border-top:1px solid var(--ink)}
.micro-rank-item{margin:0;padding:0;border-bottom:1px solid var(--rule)}
.micro-rank-button{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;min-height:54px;padding:.55rem 0 .25rem;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.micro-rank-button:hover .micro-rank-name,.micro-rank-button[aria-pressed=true] .micro-rank-name{color:var(--family-ink,var(--accent))}
.micro-rank-button:focus-visible,.micro-tile:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.micro-rank-number{font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}
.micro-rank-name{font-size:.9rem;line-height:1.25;transition:color .18s}
.micro-rank-measure{display:flex;align-items:baseline;gap:.55rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.micro-rank-count{font:400 1.45rem/1 var(--serif)}
.micro-rank-share{font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.micro-rank-bar{display:block;height:4px;margin:0 0 .55rem 2.95rem;background:var(--data-faint)}
.micro-rank-fill{display:block;height:100%;background:var(--family-ink,var(--data))}
.micro-rank-detail{margin:.15rem 0 1rem 2.95rem;font-size:.85rem;line-height:1.55;color:var(--ink-2)}

.micro-chart-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--ink)}
.micro-instruction{max-width:27ch;font-size:.75rem;line-height:1.4;color:var(--ink-3)}
.micro-treemap{position:relative;height:clamp(440px,47vw,580px);margin-top:.7rem;background:var(--data-faint)}
.micro-tile{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.35rem;min-width:0;min-height:0;padding:clamp(.65rem,1vw,1rem);border:1px solid var(--paper);border-radius:0;background:var(--family-fill,var(--data-faint));color:var(--ink);font-family:var(--sans);text-align:left;cursor:pointer;overflow:hidden;transition:filter .18s}
.micro-tile:hover{filter:brightness(.95)}
.micro-tile[aria-pressed=true]{z-index:1;outline:1px solid var(--family-ink,var(--accent));outline-offset:1px}
.micro-tile-label{font-size:clamp(.84rem,1.2vw,1.06rem);font-weight:500;line-height:1.16;text-wrap:balance}
.micro-tile-count{display:block;margin-top:auto;font:400 clamp(1.55rem,2.35vw,2.55rem)/1 var(--serif);font-variant-numeric:tabular-nums}
.micro-tile-share{font-family:var(--mono);font-size:.72rem;line-height:1.2;color:var(--ink-2)}
.micro-tile-compact{padding:.6rem}
.micro-tile-compact .micro-tile-label{font-size:.79rem}
.micro-tile-compact .micro-tile-count{font-size:1.45rem}
.micro-tile-compact .micro-tile-share{font-size:.65rem}
.micro-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;row-gap:.45rem;min-height:176px;margin-top:1rem;padding:1rem 1.15rem 1.1rem;border:1px solid var(--rule-soft);background:var(--card)}
.micro-detail{border-top:3px solid var(--family-ink,var(--accent))}
.micro-detail .eyebrow{grid-column:1/-1;margin:0;color:var(--family-ink,var(--accent))}
.micro-detail-heading{font:400 clamp(1.35rem,2vw,1.8rem)/1.12 var(--serif)}
.micro-detail-count{font-family:var(--mono);font-size:.75rem;text-align:right;color:var(--family-ink,var(--data))}
.micro-detail-description,.micro-detail-examples{grid-column:1/-1;font-size:.86rem;line-height:1.5;color:var(--ink-2)}
.micro-detail-examples{padding-top:.4rem;border-top:1px solid var(--rule-soft)}
.micro-data-error{margin-bottom:1rem;padding:.75rem 1rem;border:1px solid var(--rule);font-size:var(--fs-small);color:var(--ink-2)}

@media(max-width:1050px) and (orientation: landscape), (max-width:760px){
  .micro-layout{grid-template-columns:1fr;gap:2.5rem}
  .micro-overview{max-width:none}
  .micro-treemap{height:540px}
}
@media(max-width:760px){
  .micro-chart-column{display:none}
  .micro-total{gap:.75rem}
  .micro-total-number{font-size:4rem}
  .micro-rank-button{grid-template-columns:1.8rem minmax(0,1fr) auto;gap:.35rem}
  .micro-rank-name{font-size:.94rem}
  .micro-rank-measure{display:flex;flex-direction:column;align-items:end;gap:.08rem}
  .micro-rank-count{font-size:1.4rem}
  .micro-rank-bar,.micro-rank-detail{margin-left:2.15rem}
  .micro-rank-detail:not([hidden]){display:block}
}
@media(min-width:761px){.micro-rank-detail{display:none!important}}

/* Lien vers la carte 3D : visible seulement quand elle est active. */
.micro-see-map{display:none;grid-column:1/-1;justify-self:start;margin-top:.4rem;font-size:var(--fs-small);color:var(--accent);text-underline-offset:.25em}
[data-carte="3d"] .micro-see-map{display:inline-block}
