/* icha.fr accueil : couleurs et formes relevées sur le thème enfant (audit/design-tokens.md) */
.ich{
  --ic-brand:#003BDE; --ic-brand-2:#00AFE0; --ic-accent:#5BA4CF; --ic-link:#0C71C3;
  --ic-text:#3A4A5C; --ic-head:#2C3E50; --ic-muted:#5A6B80; --ic-bg:#F8FCFE; --ic-surface:#FFFFFF;
  --ic-soft:#F0FAF5; --ic-border:#D6EAF8; --ic-footer:#002D4C;
  --ic-radius:20px; --ic-radius-sm:12px; --ic-shadow:0 4px 20px rgba(91,164,207,.12); --ic-shadow-h:0 8px 28px rgba(91,164,207,.22);
  --ic-font-body:'Nunito',sans-serif; --ic-font-head:'Nunito',sans-serif;
  font-family:var(--ic-font-body); color:var(--ic-text); font-size:16px; line-height:1.65; background:var(--ic-bg);
}
.ich *,.ich *::before,.ich *::after{box-sizing:border-box}
.ich h1,.ich h2,.ich h3{font-family:var(--ic-font-head); color:var(--ic-head); font-weight:800; letter-spacing:-.01em; text-transform:none; padding:0}
.ich h1{font-size:clamp(26px,4.2vw,40px); line-height:1.2; margin:0 0 12px}
.ich h2{font-size:clamp(22px,3vw,30px); line-height:1.25; margin:0 0 10px}
.ich h3{font-size:19px; line-height:1.3; margin:0 0 8px}
.ich p{margin:0 0 12px; padding:0; color:var(--ic-text)}
.ich ul,.ich ol{list-style:none; margin:0; padding:0}
.ich li{padding:0}
.ich ul>li,.ich ol>li{list-style:none!important}
.ich ul,.ich ol{padding-left:0!important}
.ich ul.ich-plain,.ich ul.ich-srclist,.ich .ich-tl ul,.ich .ich-alert ul{padding-left:20px!important}
.ich ol.ich-tl{padding-left:22px!important}
.ich .ich-plain>li,.ich .ich-srclist>li,.ich .ich-tl ul>li,.ich .ich-alert ul>li{list-style:disc!important}
.ich a{color:var(--ic-link)}
.ich p a,.ich td a,.ich li a:not(.ich-card){text-decoration:underline; text-underline-offset:2px}
.ich button,.ich input,.ich select,.ich textarea{font:inherit; color:inherit}
.ich :focus-visible{outline:3px solid var(--ic-brand); outline-offset:2px; box-shadow:0 0 0 6px rgba(0,175,224,.35); border-radius:6px}
.ich [hidden]{display:none!important}

.ich-wrap{max-width:1180px; margin:0 auto; padding:0 16px}
.ich-wrap--text{max-width:820px}
.ich-sec{padding:56px 0}
.ich-sec--soft{background:var(--ic-soft)}
.ich-lead{font-size:18px; color:var(--ic-text); max-width:720px}
.ich-label{font-weight:700; color:var(--ic-head); margin:0 0 8px; font-size:15px}
.ich-empty{color:var(--ic-muted); font-style:italic}
.ich-note{font-size:14px; color:var(--ic-muted); margin-top:20px; border-left:3px solid var(--ic-accent); padding-left:12px}
.ich-warn{margin-top:20px; background:var(--ic-surface); border:1px solid var(--ic-border); border-left:4px solid var(--ic-brand); border-radius:var(--ic-radius-sm); padding:14px 16px; color:var(--ic-head); font-weight:600}

/* Boutons (pilule du thème, en bleu marque pour le contraste) */
.ich .ich-btn{display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 22px; border:2px solid var(--ic-brand); border-radius:50px; background:var(--ic-brand); color:#fff; font-weight:700; cursor:pointer; box-shadow:0 4px 15px rgba(91,164,207,.3); transition:background-color .3s,border-color .3s,color .3s; text-decoration:none}
.ich .ich-btn:hover{background:#002FB2; border-color:#002FB2; color:#fff}
.ich .ich-btn--ghost{background:var(--ic-surface); color:var(--ic-brand); box-shadow:none}
.ich .ich-btn--ghost:hover{background:var(--ic-soft); color:var(--ic-brand)}
.ich-pills{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px}
.ich-pill{min-height:44px; padding:8px 18px; border-radius:50px; border:1.5px solid var(--ic-accent); background:var(--ic-surface); color:var(--ic-head); font-weight:700; cursor:pointer; transition:background-color .2s,border-color .2s,color .2s}
.ich-pill:hover{border-color:var(--ic-brand); color:var(--ic-brand)}
.ich-pill[aria-pressed="true"]{background:var(--ic-brand); border-color:var(--ic-brand); color:#fff}

/* Module A */
.ich-hero{padding:40px 0 48px; background:linear-gradient(160deg,var(--ic-bg) 0%,var(--ic-soft) 55%,#E8F4FD 100%)}
.ich-zones{display:grid; grid-template-columns:minmax(180px,260px) 1fr; gap:32px; align-items:start; margin-top:20px}
.ich-body{position:relative; width:100%; max-width:260px; aspect-ratio:200/440; margin:0 auto}
.ich-body__svg{display:block; width:100%; height:100%}
.ich-line{fill:none; stroke:var(--ic-accent); stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round}
.ich-line--soft{stroke:var(--ic-border); stroke-dasharray:3 4}
.ich-hl rect{fill:var(--ic-brand-2); opacity:0; transition:opacity .25s}
.ich-hl rect.is-hover{opacity:.14}
.ich-hl rect.is-on{opacity:.28}
.ich-hot{position:absolute; left:27%; width:46%; border:0; background:transparent; cursor:pointer; border-radius:14px; padding:0}
.ich-hot--tete{top:2.3%; height:13.2%; left:35%; width:30%; border-radius:50%}
.ich-hot--thorax{top:18.2%; height:18.2%; left:28%; width:44%}
.ich-hot--abdomen{top:36.4%; height:12.5%; left:29%; width:42%}
.ich-hot--bassin{top:48.9%; height:10%; left:27%; width:46%}
.ich-hot--genou{top:72.3%; height:8.2%}
.ich-zones__side{min-width:0}
.ich-compare{background:var(--ic-surface); border:1px solid var(--ic-border); border-radius:var(--ic-radius); box-shadow:var(--ic-shadow); padding:20px; min-height:140px}
.ich-compare h2,.ich-compare h3{margin-top:0}
.ich-tablewrap{overflow-x:auto; -webkit-overflow-scrolling:touch}
.ich-table{width:100%; border-collapse:separate; border-spacing:0; font-size:15px; margin:8px 0 12px}
.ich-table caption{text-align:left; font-weight:700; color:var(--ic-head); padding-bottom:8px; caption-side:top}
.ich-table th,.ich-table td{padding:10px 12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--ic-border)}
.ich-table thead th{background:var(--ic-soft); color:var(--ic-head); font-weight:800}
.ich-table thead th:first-child{border-top-left-radius:var(--ic-radius-sm)}
.ich-table thead th:last-child{border-top-right-radius:var(--ic-radius-sm)}
.ich-table tbody th{color:var(--ic-head); font-weight:700; width:24%}
.ich-na{color:var(--ic-muted); font-style:italic}
.ich-src{font-size:12px; color:var(--ic-muted); white-space:nowrap}
.ich-src a{color:var(--ic-muted)}
.ich-links{display:grid; gap:8px; margin:6px 0 14px}
.ich-links a{font-weight:700}
.ich-compare .ich-btn{margin-top:4px}

/* Module B */
.ich-prep{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:28px; margin-top:16px; align-items:start}
.ich-form,.ich-prep__out{background:var(--ic-surface); border:1px solid var(--ic-border); border-radius:var(--ic-radius); box-shadow:var(--ic-shadow); padding:22px}
.ich-field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px; min-width:0}
.ich-field label{font-weight:700; color:var(--ic-head); font-size:15px}
.ich-field input,.ich-field select,.ich textarea{min-height:46px; padding:10px 12px; border:1.5px solid #9DBBD3; border-radius:var(--ic-radius-sm); background:#fff; width:100%; max-width:100%}
.ich textarea{min-height:120px; resize:vertical}
.ich-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.ich-checks{border:0; margin:4px 0 14px; padding:0}
.ich-checks legend{font-weight:700; color:var(--ic-head); margin-bottom:6px; font-size:15px; padding:0}
.ich-checks label{display:flex; gap:10px; align-items:flex-start; padding:6px 0; cursor:pointer}
.ich-checks input{width:20px; height:20px; margin-top:3px; flex:none; accent-color:var(--ic-brand)}
.ich-err{color:#B3261E; font-weight:700}
.ich-prep__out:focus{outline:none}
.ich-first{background:var(--ic-soft); border-radius:var(--ic-radius-sm); padding:10px 14px; font-weight:700; color:var(--ic-head)}
.ich-tl{position:relative; margin:14px 0 18px!important; padding-left:22px!important}
.ich-tl::before{content:""; position:absolute; left:6px; top:6px; bottom:6px; width:2px; background:var(--ic-border)}
.ich-tl>li{position:relative; padding:0 0 14px}
.ich-tl>li::before{content:""; position:absolute; left:-21px; top:7px; width:12px; height:12px; border-radius:50%; background:var(--ic-surface); border:3px solid var(--ic-accent)}
.ich-tl__when{display:block; font-weight:800; color:var(--ic-head)}
.ich-tl ul{list-style:disc; padding-left:20px; margin:4px 0 0}
.ich-tl ul li{padding:2px 0}
.ich-alert{border-left:4px solid var(--ic-brand); background:#EEF3FF; border-radius:var(--ic-radius-sm); padding:10px 14px; margin:0 0 14px}
.ich-alert ul{list-style:disc; padding-left:20px}
.ich-docs{list-style:none; margin:6px 0 16px}
.ich-docs li{display:flex; gap:10px; align-items:flex-start; padding:4px 0}
.ich-docs input{width:20px; height:20px; margin-top:3px; accent-color:var(--ic-brand); flex:none}
.ich-actions{display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 16px}

/* Module C */
.ich-dec{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:28px; margin-top:16px; align-items:start}
.ich-combo{position:relative}
.ich-sugg{position:absolute; top:100%; left:0; right:0; z-index:20; background:#fff; border:1px solid var(--ic-border); border-radius:var(--ic-radius-sm); box-shadow:var(--ic-shadow-h); max-height:260px; overflow:auto; margin-top:4px}
.ich-sugg li{padding:10px 14px; cursor:pointer}
.ich-sugg li[aria-selected="true"],.ich-sugg li:hover{background:var(--ic-soft); color:var(--ic-brand)}
.ich-paste{margin-top:8px; background:var(--ic-surface); border:1px solid var(--ic-border); border-radius:var(--ic-radius); padding:14px 16px}
.ich-paste summary,.ich-sources summary{cursor:pointer; font-weight:800; color:var(--ic-head); min-height:32px}
.ich-paste summary{color:var(--ic-brand)}
.ich-hint{font-size:14px; color:var(--ic-muted); margin-top:8px}
.ich-paste__btns{display:flex; flex-wrap:wrap; gap:10px}
.ich-marked{margin-top:14px; white-space:pre-wrap; line-height:1.9}
.ich-marked:empty{display:none}
.ich-term{display:inline; padding:0 3px; margin:0; border:0; border-bottom:2px solid var(--ic-brand); background:#E3EDFF; color:var(--ic-head); font-weight:700; cursor:pointer; border-radius:3px; line-height:inherit}
.ich-term[aria-expanded="true"]{background:var(--ic-brand); color:#fff}
.ich-def{display:block; margin:8px 0; padding:12px 14px; background:var(--ic-soft); border-radius:var(--ic-radius-sm); white-space:normal; line-height:1.6}
.ich-gl{display:grid; gap:12px}
.ich-gl__item{background:var(--ic-surface); border:1px solid var(--ic-border); border-radius:var(--ic-radius-sm); padding:14px 16px}
.ich-gl__item.is-hit{border-color:var(--ic-brand); box-shadow:var(--ic-shadow-h)}
.ich-gl__item h3{font-size:17px; margin:0 0 4px}
.ich-gl__item p{margin:0 0 6px}
.ich-gl__meta{font-size:13px; color:var(--ic-muted)}

/* Cartes */
.ich-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px}
.ich-card{display:flex; flex-direction:column; gap:6px; height:100%; background:var(--ic-surface); border:1px solid var(--ic-border); border-radius:var(--ic-radius); box-shadow:var(--ic-shadow); padding:20px 22px; text-decoration:none!important; transition:box-shadow .3s,transform .3s,border-color .3s}
.ich-card--link:hover{box-shadow:var(--ic-shadow-h); transform:translateY(-2px); border-color:var(--ic-accent)}
.ich-card__title{font-weight:800; color:var(--ic-head); font-size:18px; line-height:1.3}
.ich-card--link:hover .ich-card__title{color:var(--ic-brand)}
.ich-card__text{color:var(--ic-text); font-size:15px}
.ich-grid--compact .ich-card{padding:16px 18px}
.ich-grid--compact .ich-card__title{font-size:16px}
.ich-sources{margin-top:12px}
.ich-srclist{list-style:disc!important; padding-left:20px!important; margin-top:10px!important; font-size:15px}
.ich-srclist li{padding:3px 0}

@media (max-width:980px){
  .ich-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ich-prep,.ich-dec{grid-template-columns:1fr}
}
@media (max-width:720px){
  .ich-sec{padding:40px 0}
  .ich-hero{padding:28px 0 36px}
  .ich-zones{grid-template-columns:1fr; gap:16px}
  .ich-body{max-width:150px}
  .ich-grid{grid-template-columns:1fr}
  .ich-row{grid-template-columns:1fr}
  .ich-lead{font-size:17px}
  .ich-compare{padding:14px}
  .ich-table{font-size:14px}
  .ich-table th,.ich-table td{padding:8px}
  /* Tableau empilé : une carte par ligne, colonnes nommées */
  .ich-table--stack thead{display:none}
  .ich-table--stack tbody tr{display:block; border-bottom:2px solid var(--ic-border); padding:6px 0}
  .ich-table--stack tbody th{display:block; width:auto; border:0; padding:6px 0 2px}
  .ich-table--stack tbody td{display:grid; grid-template-columns:96px 1fr; gap:8px; border:0; padding:4px 0}
  .ich-table--stack tbody td::before{content:attr(data-col); font-weight:700; color:var(--ic-link)}
}
@media (prefers-reduced-motion:reduce){.ich *{transition:none!important}}

@media print{
  body *{visibility:hidden!important}
  #ich-prep-out,#ich-prep-out *{visibility:visible!important}
  #ich-prep-out{position:absolute; left:0; top:0; width:100%; border:0; box-shadow:none; padding:0}
  .ich-actions{display:none!important}
  .ich-tl>li::before{border-color:#000}
}
.ich-plain{list-style:disc!important; padding-left:20px!important; margin:0 0 14px!important}
.ich-plain li{padding:2px 0}

/* ---------- Habillage ---------- */
.ich{--ic-deep:#0A2A7A; --ic-tint:#EAF4FD}
.ich-hero{position:relative; overflow:hidden; padding:64px 0 72px; color:#fff; background:linear-gradient(135deg,#0030B8 0%,var(--ic-brand) 45%,#0B62CF 100%)}
.ich-hero::before,.ich-hero::after{content:""; position:absolute; border-radius:50%; pointer-events:none}
/* anneaux d'un tunnel d'IRM, en filigrane */
.ich-hero::before{width:620px; height:620px; right:-170px; top:-210px; background:repeating-radial-gradient(circle,rgba(255,255,255,.10) 0 2px,transparent 2px 46px)}
.ich-hero::after{width:360px; height:360px; right:-40px; top:-80px; background:radial-gradient(circle,rgba(0,175,224,.45),rgba(0,175,224,0) 70%)}
.ich-hero .ich-wrap{position:relative; z-index:1}
.ich .ich-hero h1{color:#fff; font-size:clamp(30px,4.6vw,48px); max-width:760px; margin-bottom:14px}
.ich .ich-hero .ich-lead{color:rgba(255,255,255,.92); font-size:clamp(17px,1.7vw,20px); max-width:640px}
.ich-tools{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:34px 0 0!important}
.ich .ich-tool{display:flex; gap:14px; align-items:flex-start; height:100%; padding:18px 20px; border-radius:var(--ic-radius); background:#fff; color:var(--ic-head); text-decoration:none; box-shadow:0 10px 30px rgba(0,20,90,.25); transition:transform .25s,box-shadow .25s}
.ich .ich-tool:hover{transform:translateY(-3px); box-shadow:0 16px 36px rgba(0,20,90,.32)}
.ich-tool__t{display:block; font-weight:800; font-size:17px; line-height:1.3; color:var(--ic-head)}
.ich-tool__d{display:block; font-size:14.5px; color:var(--ic-muted); margin-top:2px; line-height:1.45}
.ich .ich-tool:hover .ich-tool__t{color:var(--ic-brand)}
.ich-hero__aside{margin:26px 0 0!important; font-size:14.5px; color:rgba(255,255,255,.88)!important; max-width:760px}
.ich :focus-visible{outline-color:var(--ic-brand)}
.ich-hero :focus-visible{outline-color:#fff; box-shadow:0 0 0 6px rgba(0,175,224,.6)}

/* Pictos */
.ich-ico{display:inline-flex; align-items:center; justify-content:center; flex:none; width:46px; height:46px; border-radius:14px; background:linear-gradient(135deg,var(--ic-tint),#DDF3FB); color:var(--ic-brand)}
.ich-ico svg{width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.ich .ich-h2i{display:flex; align-items:center; gap:14px}

/* Sections */
.ich-sec{padding:64px 0}
.ich-sec--zones{background:var(--ic-bg)}
.ich h2{font-size:clamp(24px,3vw,32px)}

/* Silhouette */
.ich-zones{grid-template-columns:minmax(200px,280px) 1fr; gap:40px; margin-top:26px}
.ich-body{max-width:250px}
.ich-zones>.ich-body{padding:0; filter:drop-shadow(0 10px 24px rgba(0,59,222,.10))}
.ich-body__svg{height:auto}
.ich-fill{fill:#D9ECFA; stroke:#4A90C8}
.ich-line--soft{stroke:#A9CDEA}
.ich-hl rect{fill:var(--ic-brand)}
.ich-hl rect.is-hover{opacity:.16}
.ich-hl rect.is-on{opacity:.24}
.ich-hot::after{content:""; position:absolute; left:50%; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; background:#fff; border:3px solid var(--ic-brand); box-shadow:0 0 0 0 rgba(0,59,222,.35); animation:ich-pulse 2.4s infinite}
.ich-hot.is-on::after{background:var(--ic-brand); border-color:#fff; box-shadow:0 0 0 4px var(--ic-brand)}
@keyframes ich-pulse{0%{box-shadow:0 0 0 0 rgba(0,59,222,.35)}70%{box-shadow:0 0 0 12px rgba(0,59,222,0)}100%{box-shadow:0 0 0 0 rgba(0,59,222,0)}}
.ich-compare{padding:26px 28px}
.ich .ich-cmp__t{font-size:22px; margin-bottom:6px}
.ich-table caption{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.ich-table thead th{background:var(--ic-tint); color:var(--ic-deep); font-size:15.5px}
.ich-table tbody tr:nth-child(even) th,.ich-table tbody tr:nth-child(even) td{background:#FAFDFF}

/* Sources : pastilles discrètes */
.ich-src{display:inline-flex; flex-wrap:wrap; gap:4px; vertical-align:baseline; margin-left:2px; white-space:normal}
.ich .ich-src a{display:inline-block; padding:0 7px; border-radius:20px; background:#EEF4FA; color:#46607A; font-size:11.5px; font-weight:700; line-height:1.7; text-decoration:none!important; transition:background-color .2s,color .2s}
.ich .ich-src a:hover{background:var(--ic-brand); color:#fff}

/* Mentions sous les modules */
.ich-note,.ich-warn{display:flex; gap:10px; align-items:flex-start; margin-top:22px; padding:12px 16px; border:1px solid var(--ic-border); border-left:1px solid var(--ic-border); border-radius:var(--ic-radius-sm); background:#fff; font-size:14.5px; color:var(--ic-muted); font-weight:400}
.ich-warn{color:var(--ic-head); font-weight:600; border-color:#BFD3F5; background:#F3F7FF}
.ich-note::before,.ich-warn::before{content:"i"; flex:none; width:20px; height:20px; margin-top:1px; border-radius:50%; background:var(--ic-accent); color:#fff; font:800 13px/20px var(--ic-font-body); text-align:center; font-style:normal}
.ich-warn::before{content:"!"; background:var(--ic-brand)}

/* Formulaires */
.ich-form,.ich-prep__out{padding:26px}
.ich-field input,.ich-field select,.ich textarea{border-color:#B8D2E6; transition:border-color .2s,box-shadow .2s}
.ich-field input:hover,.ich-field select:hover,.ich textarea:hover{border-color:var(--ic-accent)}
.ich-gl__item{transition:border-color .2s,box-shadow .2s}
.ich-gl__item h3{color:var(--ic-deep)}

/* Cartes */
.ich-card{position:relative; padding:22px 24px 22px; overflow:hidden}
.ich-card::before{content:""; position:absolute; left:0; top:0; right:0; height:4px; background:linear-gradient(90deg,var(--ic-brand),var(--ic-brand-2)); opacity:0; transition:opacity .3s}
.ich-card--link:hover::before{opacity:1}
.ich-card--link .ich-card__title::after{content:" →"; color:var(--ic-brand); opacity:0; transition:opacity .2s}
.ich-card--link:hover .ich-card__title::after{opacity:1}
.ich-card__meta{font-size:13.5px; color:var(--ic-muted)}
.ich-sec--src{padding:48px 0}
.ich-sec--src h2{font-size:clamp(20px,2.4vw,24px)}
.ich-sources summary{color:var(--ic-brand)}

@media (max-width:980px){
  .ich-tools{grid-template-columns:1fr}
}
@media (max-width:720px){
  .ich-hero{padding:40px 0 44px}
  .ich-hero::before{width:420px; height:420px; right:-220px; top:-170px}
  .ich-tools{gap:10px; margin-top:24px!important}
  .ich .ich-tool{padding:14px 16px}
  .ich-sec{padding:44px 0}
  .ich-zones{grid-template-columns:1fr; gap:16px}
  .ich-body{max-width:150px}
  .ich-ico{width:40px; height:40px}
  .ich-compare{padding:16px}
}
@media (prefers-reduced-motion:reduce){.ich-hot::after{animation:none}}
.ich .ich-tool,.ich .ich-tool span{text-decoration:none!important}
.ich-links a{text-decoration:none!important; display:inline-flex; gap:6px}
.ich-links a::before{content:"→"; color:var(--ic-accent)}
.ich-links a:hover{text-decoration:underline!important}
