/* Guide réglementaire — styles du wizard public.
   Palette reprise de la charte graphique validée (fond blanc, vert foncé, jaune, noir). */
#grWizard {
  --gr-vert: #14312A;
  --gr-vert-clair: #1f4a3d;
  --gr-jaune: #E3B23C;
  --gr-noir: #16181A;
  --gr-fond-carte: #F6F5F1;
  --gr-bordure: #E1DFD8;
  font-family: inherit;
  color: var(--gr-noir);
  max-width: 760px;
  margin: 2.5rem auto;
  background: #fff;
  border: 1px solid var(--gr-bordure);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(20,49,42,0.06);
}
#grWizard * { box-sizing: border-box; }
#grWizard .gr-head { background: var(--gr-vert); color: #fff; padding: 1.4rem 1.6rem 1.2rem; }
#grWizard .gr-eyebrow { display: inline-block; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; background: var(--gr-jaune); color: var(--gr-vert); font-weight: 700; padding: .2rem .55rem; border-radius: 999px; margin-bottom: .6rem; }
#grWizard .gr-head h3 { margin: 0 0 .25rem; font-size: 1.2rem; line-height: 1.3; }
#grWizard .gr-head p { margin: 0; font-size: .87rem; opacity: .85; }
#grWizard .gr-progress { display: flex; gap: .35rem; padding: .9rem 1.6rem 0; }
#grWizard .gr-dot { flex: 1; height: 4px; border-radius: 999px; background: var(--gr-bordure); transition: background .25s ease; }
#grWizard .gr-dot.active { background: var(--gr-jaune); }
#grWizard .gr-dot.done { background: var(--gr-vert); }
#grWizard .gr-step-label { padding: .6rem 1.6rem 0; font-size: .78rem; color: #6b6f6c; font-weight: 600; }
#grWizard .gr-body { padding: 1.1rem 1.6rem 1.6rem; }
#grWizard .gr-question { font-size: 1.05rem; font-weight: 700; margin: 0 0 .2rem; }
#grWizard .gr-subquestion { font-size: .82rem; color: #6b6f6c; margin: 0 0 .9rem; }
#grWizard .gr-options { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
#grWizard .gr-options.grouped { display: block; }
#grWizard .gr-group-label { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--gr-vert-clair); margin: .9rem 0 .4rem; }
#grWizard .gr-group-label:first-child { margin-top: 0; }
#grWizard .gr-group-items { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
@media (max-width: 480px) { #grWizard .gr-options { grid-template-columns: 1fr; } #grWizard .gr-group-items { grid-template-columns: 1fr; } }
#grWizard .gr-opt { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; text-align: left; background: var(--gr-fond-carte); border: 1.5px solid var(--gr-bordure); border-radius: 10px; padding: .65rem .8rem; cursor: pointer; color: var(--gr-noir); transition: border-color .15s ease, background .15s ease; }
#grWizard .gr-opt:hover { border-color: var(--gr-vert-clair); }
#grWizard .gr-opt:focus-visible { outline: 3px solid var(--gr-jaune); outline-offset: 1px; }
#grWizard .gr-opt.selected { background: var(--gr-vert); border-color: var(--gr-vert); color: #fff; }
#grWizard .gr-opt .gr-opt-top { display: flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .92rem; }
#grWizard .gr-opt .gr-check { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #b9b6ac; flex: none; display: inline-flex; align-items: center; justify-content: center; font-size: .68rem; background: #fff; }
#grWizard .gr-opt.selected .gr-check { background: var(--gr-jaune); border-color: var(--gr-jaune); color: var(--gr-vert); }
#grWizard .gr-opt .gr-def { font-size: .76rem; line-height: 1.35; opacity: .85; margin-left: 1.5rem; }
#grWizard .gr-opt .gr-tag { display: inline-block; margin-left: 1.5rem; margin-top: .15rem; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--gr-vert); }
#grWizard .gr-opt.selected .gr-tag { color: var(--gr-jaune); }
#grWizard .gr-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 1.4rem; }
#grWizard .gr-btn { font-family: inherit; font-size: .9rem; font-weight: 700; border-radius: 8px; padding: .6rem 1.1rem; cursor: pointer; border: none; }
#grWizard .gr-btn-prev { background: none; color: var(--gr-vert); padding-left: 0; }
#grWizard .gr-btn-prev:disabled { visibility: hidden; }
#grWizard .gr-btn-next { background: var(--gr-jaune); color: var(--gr-vert); }
#grWizard .gr-btn-next:disabled { background: var(--gr-bordure); color: #9a9a92; cursor: not-allowed; }
#grWizard .gr-result h4 { font-size: 1.05rem; margin: 1.2rem 0 .5rem; color: var(--gr-vert); }
#grWizard .gr-result h4:first-child { margin-top: 0; }
#grWizard .gr-summary { font-size: .85rem; color: #6b6f6c; margin-bottom: .8rem; padding-bottom: .8rem; border-bottom: 1px solid var(--gr-bordure); }
#grWizard .gr-badges { display: flex; flex-wrap: wrap; gap: .5rem; }
#grWizard .gr-badge { background: var(--gr-vert); color: #fff; border-left: 4px solid var(--gr-jaune); border-radius: 6px; padding: .4rem .7rem; font-size: .85rem; font-weight: 600; }
#grWizard .gr-badge small { display: block; font-weight: 400; opacity: .85; font-size: .75rem; margin-top: .1rem; }
#grWizard .gr-result ul { margin: 0; padding-left: 1.2rem; font-size: .9rem; line-height: 1.55; }
#grWizard .gr-result li { margin-bottom: .4rem; }
#grWizard .gr-warn { background: #FBF3DF; border: 1px solid var(--gr-jaune); border-radius: 8px; padding: .7rem .9rem; font-size: .87rem; margin-top: .5rem; }
#grWizard .gr-cta { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--gr-bordure); display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; justify-content: space-between; }
#grWizard .gr-cta a { background: var(--gr-vert); color: #fff; text-decoration: none; font-weight: 700; font-size: .9rem; padding: .65rem 1.1rem; border-radius: 8px; white-space: nowrap; }
#grWizard .gr-restart { background: none; border: none; color: var(--gr-vert); font-size: .82rem; font-weight: 600; text-decoration: underline; cursor: pointer; margin-top: 1rem; }
#grWizard .gr-glossary { margin-top: 1.1rem; font-size: .82rem; }
#grWizard .gr-disclaimer { font-size: .72rem; color: #8a8d89; margin-top: 1rem; }
#grWizard .gr-adresse-block { margin-top: 1.3rem; padding-top: 1.1rem; border-top: 1px solid var(--gr-bordure); }
#grWizard .gr-adresse-form { display: flex; gap: .5rem; margin-top: .6rem; flex-wrap: wrap; }
#grWizard .gr-adresse-input { flex: 1; min-width: 220px; padding: .55rem .7rem; border: 1.5px solid var(--gr-bordure); border-radius: 8px; font-family: inherit; font-size: .88rem; }
#grWizard .gr-adresse-btn { background: var(--gr-vert); color: #fff; border: none; border-radius: 8px; padding: .55rem 1rem; font-weight: 700; font-size: .85rem; cursor: pointer; white-space: nowrap; }
#grWizard .gr-adresse-result { margin-top: .8rem; font-size: .88rem; }
#grWizard .gr-adresse-result ul { padding-left: 1.1rem; }
#grWizard .gr-adresse-result li { margin-bottom: .7rem; line-height: 1.5; }

/* Pages de situation permanentes (templates/situation-single.php) */
.gr-situation-wrap { max-width: 760px; margin: 2rem auto; }
.gr-situation-wrap .gr-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.gr-situation-wrap .gr-badge { background: #14312A; color: #fff; border-left: 4px solid #E3B23C; border-radius: 6px; padding: .4rem .7rem; font-size: .85rem; }
.gr-situation-wrap .gr-breadcrumb { font-size: .8rem; color: #6b6f6c; margin-bottom: 1rem; }
.gr-situation-wrap .gr-related { padding-left: 1.2rem; font-size: .9rem; }
.gr-situation-wrap .gr-related a { color: #14312A; font-weight: 600; }
