/* AC — Observatoire des salaires. Reprend les variables du thème ac-2026 (contrastes AA vérifiés dans assets/ac.css). */
.acs { --acs-o: var(--ac-orange-text, #B84000); --acs-o2: var(--ac-orange-dark, #9A3600); --acs-ink: var(--ac-ink, #2B2F36);
  --acs-mut: var(--ac-muted, #5A6170); --acs-line: var(--ac-line, #E2DCD5); --acs-field: var(--ac-field, #6B7280);
  --acs-alt: var(--ac-alt, #F6F3F0); --acs-tint: var(--ac-orange-tint, #FFF4EC); --acs-err: var(--ac-error, #B3261E); --acs-ok: var(--ac-success, #1E6B3A);
  max-width: 960px; margin: 0 auto; color: var(--acs-ink); }
.acs [hidden] { display: none !important; }
/* Le thème actuel (Conceptly) colore <em>/<strong> en orange #FF5D00 (3,1:1) : on garde la couleur du texte dans l'outil (AA) */
.acs em, .acs strong, .acs b, .acs i { color: inherit; }
.acs-bloc { background: #fff; border: 1px solid var(--acs-line); border-radius: 8px; padding: 1.25rem; margin: 0 0 1.5rem; }
.acs-contrib { background: var(--acs-alt); }
.acs-bloc h2 { margin-top: 0; }
.acs-aide, .acs-aide-champ, .acs-meta, .acs-quota { color: var(--acs-mut); }
.acs-aide-champ { display: block; font-size: .92rem; margin-top: .25rem; }
.acs-grille { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1rem; }
@media (min-width: 720px) { .acs-grille { grid-template-columns: 1fr 1fr; } .acs-large { grid-column: 1 / -1; } }
.acs-champ { display: flex; flex-direction: column; min-width: 0; border: 0; padding: 0; margin: 0; }
.acs-champ label, .acs-radios legend { font-weight: 600; margin-bottom: .3rem; }
/* Champs : le thème impose height:44px aux <select> ; sur iOS Safari le texte était rogné en bas. Hauteur libre, 48 px mini, 16 px (pas de zoom iOS). */
.acs select, .acs input[type="text"] { font-family: inherit; font-size: 16px; line-height: 1.3; height: auto; min-height: 48px; padding: .75rem .75rem; margin: 0; border: 1px solid var(--acs-field); border-radius: 6px; background-color: #fff; color: var(--acs-ink); width: 100%; box-sizing: border-box; }
.acs select { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 2.5rem; text-overflow: ellipsis; white-space: nowrap;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232B2F36' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .9rem center; background-size: 12px 8px; }
.acs select::-ms-expand { display: none; }
/* Titres : environ 28 % plus petits sur mobile que ceux du thème (36 px), sans dépasser 32 px sur ordinateur */
.acs .acs-bloc h2 { font-size: clamp(1.4rem, 1.2rem + 1vw, 2rem); line-height: 1.25; margin-bottom: .6rem; }
.acs .acs-accroche { font-size: clamp(1rem, .95rem + .3vw, 1.15rem); line-height: 1.45; }
/* Défilements internes (sections, résultats, focus) : ne pas passer sous l'en-tête collant du thème (hauteur mesurée en JS) */
.acs-bloc, .acs-res, .acs [id] { scroll-margin-top: calc(var(--acs-entete, 0px) + 12px); }
.acs-radios label { display: inline-flex; align-items: center; gap: .4rem; margin-right: 1.25rem; min-height: 44px; font-weight: 400; }
.acs-radios input, .acs-case input { width: 1.25rem; height: 1.25rem; accent-color: var(--acs-o); }
.acs-case { display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 1rem; }
.acs-case input { flex: none; margin-top: .2rem; }
.acs a { color: var(--acs-o); text-decoration: underline; }
.acs :focus-visible { outline: 3px solid var(--acs-o); outline-offset: 2px; }
.acs-btn { font: inherit; font-weight: 700; min-height: 44px; padding: .6rem 1.2rem; border-radius: 6px; border: 2px solid var(--acs-o); background: var(--acs-o); color: #fff; cursor: pointer; }
.acs-btn:hover { background: var(--acs-o2); border-color: var(--acs-o2); }
.acs-btn[disabled] { opacity: .7; cursor: progress; }
.acs-sec { background: #fff; color: var(--acs-o); }
.acs-sec:hover { background: var(--acs-tint); color: var(--acs-o2); }
.acs-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.acs-erreur { color: var(--acs-err); font-weight: 600; }
.acs-ok { color: var(--acs-ok); font-weight: 600; margin-top: 1rem; }
.acs-info { background: var(--acs-tint); border-left: 4px solid var(--acs-o); padding: .75rem 1rem; }
.acs-alerte { background: #fff; border: 2px solid var(--acs-o); border-radius: 8px; padding: 1rem; margin: 0 0 1rem; }
.acs-alerte ul { margin: .5rem 0 .75rem 1.2rem; }
.acs-demo { background: var(--acs-tint); border: 1px solid var(--acs-o); border-radius: 6px; padding: .6rem .9rem; margin: 0 0 1.25rem; }
.acs-res:empty { display: none; }
.acs-res { margin-top: 1.25rem; border-top: 1px solid var(--acs-line); padding-top: 1rem; }
.acs-res:focus { outline: none; }
.acs-stats p { margin: 0 0 .5rem; display: flex; flex-direction: column; }
.acs-lib { color: var(--acs-mut); font-size: .95rem; }
.acs-val { font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.2rem); font-weight: 800; color: var(--ac-heading, #1F2A44); }
.acs-iq { font-weight: 700; }
.acs-barre { position: relative; height: 14px; background: var(--acs-alt); border-radius: 7px; margin: .75rem 0 1rem; border: 1px solid var(--acs-line); }
.acs-b-iq { position: absolute; top: 0; bottom: 0; background: var(--ac-orange, #FF5D00); opacity: .35; border-radius: 7px; }
.acs-b-med { position: absolute; top: -4px; width: 4px; height: 20px; margin-left: -2px; background: var(--ac-heading, #1F2A44); border-radius: 2px; }
.acs-accroche { font-size: 1.1rem; font-weight: 600; color: var(--ac-heading, #1F2A44); }
.acs-refs { border: 1px solid var(--acs-line); border-radius: 6px; padding: .75rem 1rem; margin: 1rem 0; background: #fff; }
.acs-refs h4 { margin: 0 0 .5rem; }
.acs-refs ul { margin: 0 0 .5rem 1.1rem; }
.acs-tag { display: inline-block; font-size: .8rem; font-weight: 700; padding: 0 .45rem; border: 1px solid var(--acs-mut); border-radius: 999px; color: var(--acs-ink); background: var(--acs-alt); }
.acs-porte { background: var(--acs-tint); border: 2px solid var(--acs-o); border-radius: 8px; padding: 1rem; }
.acs-porte p { margin-top: 0; }
.acs-officielle { border: 1px solid var(--ac-heading, #1F2A44); border-left: 6px solid var(--ac-heading, #1F2A44); border-radius: 6px; padding: .75rem 1rem; margin: 1rem 0; background: #fff; }
.acs-officielle h4 { margin: 0 0 .4rem; }
.acs-off-val { font-size: 1.25rem; font-weight: 800; color: var(--ac-heading, #1F2A44); margin-bottom: .4rem; }
.acs-piege { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
