/* =============================================================================
   OrthoAssist — css/03b-landing-outil.css (phase 1 « Réduire », 08/11/2026)
   Règles de l'outil d'origine que la landing utilise (démo animée du haut de page,
   liens, champs du simulateur), figées ici avec leurs valeurs du 08/11/2026 :
   l'outil passe au système --oa-* (DESIGN.md), la landing reste identique.
   Limitées à .oa par :where(), même poids que l'original. Ne pas y ajouter de
   style : la landing s'écrit dans css/04-landing.css.
   ============================================================================= */
:where(.oa) .btn:focus-visible { outline: 2px solid #0F7052; outline-offset: 2px; }
:where(.oa) input:focus-visible { outline: 2px solid #137F5E; outline-offset: 1px; }
:where(.oa) label { font-size: 14px; font-weight: 600; color: #45534D; }
:where(.oa) input, :where(.oa) select, :where(.oa) textarea { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; color: #13201B; background: #fff; border: 1px solid #E6E9E3; border-radius: 10px; padding: 13px 15px; outline: none; transition: border-color 0.15s, box-shadow 0.15s; width: 100%; }
:where(.oa) input:focus, :where(.oa) select:focus, :where(.oa) textarea:focus { border-color: #137F5E; box-shadow: 0 0 0 3px rgba(11,91,66,0.13); }
:where(.oa) input::placeholder, :where(.oa) textarea::placeholder { color: #b6b6b6; }
:where(.oa) .btn { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 600; padding: 11px 22px; border-radius: 10px; border: 1px solid #E6E9E3; cursor: pointer; transition: all 0.15s ease; background: #fff; color: #13201B; }
:where(.oa) .btn:hover { background: #F5F6F3; transform: translateY(-1px); }
:where(.oa) .btn-primary { background: #137F5E; color: #fff; border-color: #137F5E; box-shadow: 0 3px 10px rgba(15,110,86,0.20); }
:where(.oa) .btn-primary:hover { background: #0F7052; border-color: #0F7052; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15,110,86,0.26); }
:where(.oa) .loading-title { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; letter-spacing: -.02em; font-size: 22px; margin-bottom: 0.5rem; }
:where(.oa) .bilan-section-title { font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; color: #137F5E; margin-bottom: 0.75rem; padding-bottom: 4px; border-bottom: 1px solid #E1F5EE; }
:where(.oa) input::placeholder, :where(.oa) textarea::placeholder { color: #6E7973; }
:where(.oa) .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14.5px; font-weight: 600; line-height: 1.2; padding: 12px 20px; border-radius: 12px; border: 1px solid #D6DDD6; background: #fff; color: #13201B; box-shadow: 0 1px 2px rgba(19, 32, 27, .05); }
:where(.oa) .btn:hover { background: #fff; border-color: #B9C4BC; }
:where(.oa) .btn-primary { background: #137F5E; border-color: #137F5E; color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 1px 2px rgba(11, 91, 66, .22), 0 8px 20px -8px rgba(11, 91, 66, .5); }
:where(.oa) .btn-primary:hover { background: #0F7052; border-color: #0F7052; }
:where(.oa) .gen-doc { width: 156px; margin: 0 auto 30px; padding: 18px 16px 12px; background: #fff; border: 1px solid #E6E9E3; border-radius: 10px; box-shadow: 0 14px 28px -16px rgba(19, 32, 27, .4); }
:where(.oa) .gen-doc i { display: block; height: 7px; margin-bottom: 8px; border-radius: 4px; background: linear-gradient(90deg, #EEF1ED 0%, #D3EBE0 45%, #EEF1ED 90%); background-size: 220% 100%; animation: gen-reflet 1.6s linear infinite; }
:where(.oa) .gen-doc i:nth-child(1) { width: 48%; background: #137F5E; opacity: .85; animation: none; margin-bottom: 12px; }
:where(.oa) .gen-etapes { list-style: none; display: grid; gap: 13px; max-width: 290px; margin: 28px auto 0; padding: 22px 0 0; border-top: 1px solid #EEF0EC; text-align: left; }
:where(.oa) .gen-etapes li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: #637069; }
:where(.oa) .gen-etapes i { position: relative; width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%; border: 1.5px solid #D6DDD6; background-repeat: no-repeat; background-position: center; background-size: 12px 12px; }
:where(.oa) .gen-etapes li.fait { color: #45534D; }
:where(.oa) .gen-etapes li.actif { color: #13201B; font-weight: 600; }
:where(.oa) .field > .label { font-size: 13.5px; font-weight: 600; color: #2B3832; letter-spacing: -.003em; }
