/* BA Diagnostic visuel — couleurs et polices du site (noir, or, Bebas Neue / Inter). */
.ba-viz{--ink:#111;--text:#222;--muted:#4a4a4a;--gold:#b6905e;--gold-dk:#6f5128;--cream:#f4f1ed;--line:#d8d2c8;
  container-type:inline-size;position:relative;max-width:1180px;margin:0 auto;font-family:Inter,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--text)}
.ba-viz *,.ba-viz *::before,.ba-viz *::after{box-sizing:border-box}
.ba-viz__shell{background:#fff;border-top:5px solid var(--gold);border-radius:0 0 18px 18px;box-shadow:0 18px 42px rgba(0,0,0,.12);padding:clamp(18px,3.2vw,40px)}
.ba-viz__head{text-align:center;max-width:760px;margin:0 auto 18px}
.ba-viz__eyebrow{margin:0 0 6px;color:var(--gold-dk);font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ba-viz__title{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;color:var(--ink);font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0 0 8px;padding:0}
.ba-viz__sub{margin:0;color:var(--muted);font-size:17px}
.ba-viz__app{min-height:520px}
.ba-viz__genders{display:flex;justify-content:center;gap:8px;margin:0 0 18px}
.ba-viz__gender{min-width:130px;min-height:46px;padding:10px 22px;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font:800 16px Inter,sans-serif;cursor:pointer}
.ba-viz__gender[aria-pressed="true"]{background:var(--ink);color:#fff}
.ba-viz__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(18px,3vw,40px);align-items:start}
.ba-viz__stage{position:sticky;top:90px;margin:0;text-align:center}
.ba-viz__avatar{display:block;width:100%;max-width:380px;height:auto;margin:0 auto;border-radius:50%}
.ba-viz__avatar.is-pop{animation:bav-pop .28s ease-out}
@keyframes bav-pop{from{transform:scale(.97);opacity:.75}to{transform:none;opacity:1}}
.ba-viz__caption{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 4px;font-size:13px;color:var(--muted)}
.ba-viz__caption span{padding:4px 10px;border-radius:999px;background:var(--cream)}
.ba-viz__caption b{color:var(--ink)}
.ba-viz__tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 16px;overflow-x:auto}
.ba-viz__tab{flex:1 0 auto;padding:12px 14px;border:0;background:none;color:var(--muted);font:700 16px Inter,sans-serif;cursor:pointer;box-shadow:inset 0 -3px 0 transparent}
.ba-viz__tab[aria-selected="true"]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--gold)}
.ba-viz__group{border:0;margin:0 0 18px;padding:0;min-width:0}
.ba-viz__group legend{font-weight:800;color:var(--ink);margin:0 0 8px;padding:0}
.ba-viz__opts{display:flex;flex-wrap:wrap;gap:8px}
.ba-viz__opt{position:relative;margin:0;cursor:pointer}
.ba-viz__opt input,.ba-viz__sw input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ba-viz__opt>span{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 16px;border:2px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:600;transition:border-color .15s,background .15s,transform .15s}
.ba-viz__opt--face>span{padding:6px 14px 6px 10px}
.ba-viz__opt svg{fill:none;stroke:var(--gold-dk);stroke-width:2.2}
.ba-viz__opt:hover>span{border-color:var(--gold)}
.ba-viz__opt input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff;transform:translateY(-1px)}
.ba-viz__opt input:checked+span svg{stroke:#e3c79f}
.ba-viz__opt input:focus-visible+span,.ba-viz__sw input:focus-visible+span{outline:3px solid var(--gold-dk);outline-offset:3px}
.ba-viz__sws{display:flex;flex-wrap:wrap;gap:10px}
.ba-viz__sw{position:relative;cursor:pointer;margin:0}
.ba-viz__sw span{display:block;width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 2px var(--line)}
.ba-viz__sw input:checked+span{box-shadow:0 0 0 3px var(--ink)}
.ba-viz__help{margin:10px 0 0;padding:14px 16px;background:var(--cream);border-left:4px solid var(--gold);font-size:15px}
.ba-viz__help[hidden]{display:none}
.ba-viz__help ol{margin:0 0 8px 18px;padding:0}
.ba-viz__help p{margin:0}
.ba-viz__panelnav{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.ba-viz__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:2px solid var(--ink);border-radius:10px;background:var(--ink);color:#fff!important;font:800 15px/1.2 Inter,sans-serif;text-decoration:none!important;cursor:pointer;transition:background .15s,color .15s}
.ba-viz__btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)!important}
.ba-viz__btn--ghost{background:#fff;color:var(--ink)!important}
.ba-viz__btn--ghost:hover{background:var(--cream);border-color:var(--ink)}
.ba-viz__btn--light{background:var(--gold);border-color:var(--gold);color:var(--ink)!important}
.ba-viz__btn[hidden]{display:none}
.ba-viz__link{background:none;border:0;padding:4px 0;color:var(--gold-dk);font:700 15px Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ba-viz__link[hidden]{display:none}
.ba-viz__link--light{color:#e3c79f!important}
.ba-viz__results{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.ba-viz__restitle{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:clamp(28px,3vw,38px);color:var(--ink);margin:0 0 14px;padding:0}
.ba-viz__restitle small{display:block;font:600 14px Inter,sans-serif;color:var(--muted);letter-spacing:0}
.ba-viz__restitle:focus{outline:none}
.ba-viz__empty{margin:0;padding:18px;border:2px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}
.ba-viz__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ba-viz__cards.is-new .ba-viz__card{animation:bav-in .35s ease-out both}
.ba-viz__cards.is-new .ba-viz__card:nth-child(2){animation-delay:.06s}
.ba-viz__cards.is-new .ba-viz__card:nth-child(3){animation-delay:.12s}
@keyframes bav-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ba-viz__card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;min-width:0}
.ba-viz__card.is-on{border-color:var(--ink);box-shadow:0 0 0 2px var(--gold)}
.ba-viz__card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--cream)}
.ba-viz__cardbody{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px}
.ba-viz__cardbody h4{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:26px;line-height:1.05;color:var(--ink);margin:0 0 6px;padding:0}
.ba-viz__rank{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:6px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:18px;vertical-align:2px}
.ba-viz__cardbody p{margin:0 0 10px;font-size:14.5px}
.ba-viz__facts{color:var(--muted)}
.ba-viz__facts b{color:var(--ink)}
.ba-viz__cardbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.ba-viz__cardbtns .ba-viz__btn{flex:1 1 140px;padding:9px 12px;font-size:14px}
.ba-viz__accord{margin-top:18px;padding:18px 20px;border-radius:14px;background:var(--ink);color:#e9e5df;border-left:5px solid var(--gold)}
.ba-viz__accord h4{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:28px;color:#fff;margin:0 0 4px;padding:0}
.ba-viz__accord p{margin:0 0 12px}
.ba-viz__accord .ba-viz__cardbtns{align-items:center}
.ba-viz__accord .ba-viz__cardbtns .ba-viz__btn{flex:0 0 auto}
.ba-viz__accord b{color:#fff}
.ba-viz__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-top:20px}
.ba-viz :focus-visible{outline:3px solid var(--gold-dk);outline-offset:3px}
.ba-viz .ba-diag__live,.ba-viz .ba-diag__sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ba-viz .ba-diag__photo[hidden]{display:none}
.ba-viz__note{text-align:center;color:var(--muted)}
@container (max-width:900px){.ba-viz__cards{grid-template-columns:1fr}.ba-viz__card{flex-direction:row}.ba-viz__card img{flex:0 0 34%;width:34%;aspect-ratio:4/5}}
@container (max-width:720px){
  .ba-viz__grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .ba-viz__tab{flex:1 1 auto;min-width:0;padding:10px 6px;font-size:14px}
  .ba-viz__panelnav{flex-wrap:wrap}
  .ba-viz__panelnav .ba-viz__btn{flex:1 1 120px}
  .ba-viz__stage{top:0;z-index:5;background:#fff;padding:6px 0 4px;margin:0 -8px;box-shadow:0 10px 14px -12px rgba(0,0,0,.25)}
  .ba-viz__avatar{max-width:190px}
  .ba-viz__caption{display:none}
}
@container (max-width:460px){.ba-viz__card{flex-direction:column}.ba-viz__card img{width:100%;aspect-ratio:3/2}.ba-viz__gender{min-width:0;flex:1}}
@media (prefers-reduced-motion:reduce){.ba-viz *{animation:none!important;transition:none!important}}
.ba-viz__controls{min-width:0}
.ba-viz__real{display:flex;align-items:center;gap:12px;max-width:340px;margin:10px auto 0;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}
.ba-viz__real[hidden]{display:none}
.ba-viz__real img{width:64px;height:80px;object-fit:cover;border-radius:10px;flex:none}
.ba-viz__real small{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.ba-viz__real a{font-family:"Bebas Neue",Impact,sans-serif;font-size:24px;color:var(--ink)!important;text-decoration:none!important}
@container (max-width:720px){.ba-viz__real{display:none}}
.ba-viz__frame{position:relative;max-width:400px;margin:0 auto}
.ba-viz__frame .ba-viz__avatar{max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;background:var(--cream);box-shadow:0 14px 30px rgba(0,0,0,.14)}
.ba-viz__look{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:6px 12px;border-radius:999px;background:rgba(17,17,17,.82);color:#fff;font-size:13px;font-weight:700}
.ba-viz__look:empty{display:none}
.ba-viz__ai{margin:8px 0 0;font-size:12px;color:var(--muted)}
@container (max-width:720px){.ba-viz__frame{max-width:240px}.ba-viz__look{font-size:11px;left:8px;bottom:8px;padding:4px 9px}}
