/* Générateur et testeur de robots.txt */
.o-robots-txt-titre { margin: 0 0 10px; font-size: 1.1rem; color: var(--texte); }
.o-robots-txt-sous-titre { margin: 14px 0 8px; font-size: .95rem; color: var(--texte); }
.o-robots-txt-bloc { margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--bord); }
.o-robots-txt-bloc + .o-robots-txt-bloc { margin-top: 18px; }
.o-robots-txt-aide { margin: 0 0 10px; color: var(--texte-2); font-size: .9rem; }
.o-robots-txt-champ { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.o-robots-txt-champ label, .o-robots-txt-etiquette { font-size: .88rem; font-weight: 600; color: var(--texte-2); }
.o-robots-txt-champ small { font-size: .82rem; color: var(--texte-2); }
.o-robots-txt input[type="text"], .o-robots-txt select, .o-robots-txt textarea { width: 100%; box-sizing: border-box; }
.o-robots-txt textarea { min-height: 0; font-family: var(--mono); font-size: .9rem; }
.o-robots-txt-etiquette { display: block; margin-bottom: 6px; }
.o-robots-txt-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 0; }
.o-robots-txt-actions .btn { min-height: 42px; }
.o-robots-txt .prereglages { padding-top: 0; border-top: 0; }

.o-robots-txt-groupes { display: flex; flex-direction: column; gap: 14px; margin-bottom: 12px; }
.o-robots-txt-groupe { margin: 0; padding: 12px 14px 14px; border: 1px solid var(--bord); border-radius: var(--rayon-petit); background: var(--surface-2); min-width: 0; }
.o-robots-txt-groupe legend { padding: 0 6px; font-weight: 700; color: var(--texte); }
.o-robots-txt-ligne-agents { display: grid; grid-template-columns: 2fr 1fr; gap: 10px 14px; }
.o-robots-txt-ligne-agents input, .o-robots-txt-groupe input, .o-robots-txt-groupe select { font-family: var(--mono); background: var(--surface); }
.o-robots-txt-regles { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.o-robots-txt-regles li { display: grid; grid-template-columns: 130px 1fr 44px; gap: 8px; align-items: center; }
.o-robots-txt-regles .btn { min-height: 42px; padding: 0; font-size: 1.2rem; line-height: 1; }
.o-robots-txt-pied { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px 14px; margin-top: 12px; }
.o-robots-txt-pied .o-robots-txt-champ { width: 220px; max-width: 100%; }
.o-robots-txt-suppr { min-height: 42px; color: var(--erreur-texte); }
.o-robots-txt [data-sitemaps] { margin-top: 2px; }
.o-robots-txt-bloc > .o-robots-txt-champ { margin-top: 14px; }

.o-robots-txt-sortie { margin: 0; max-height: 380px; overflow: auto; padding: 14px; border-radius: var(--rayon-petit); background: var(--surface-2); border: 1px solid var(--bord); font: .9rem/1.6 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.o-robots-txt-sortie code { background: none; font: inherit; }
.o-robots-txt-alertes { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.o-robots-txt-alertes:empty { display: none; }
.o-robots-txt-alertes li { padding: 8px 12px; border-left: 4px solid var(--marque); border-radius: 0 var(--rayon-petit) var(--rayon-petit) 0; background: var(--surface-2); font-size: .92rem; overflow-wrap: anywhere; }
.o-robots-txt-alertes li.attention { border-left-color: var(--erreur-texte); background: var(--erreur-fond); color: var(--erreur-texte); }
.o-robots-txt-alertes li.ok { border-left-color: var(--ok-texte); background: var(--ok-fond); color: var(--ok-texte); }
[data-import-notes] { margin-top: 10px; }

.o-robots-txt-test { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.o-robots-txt-test input { font-family: var(--mono); }
.o-robots-txt-verdict { display: block; margin-top: 14px; padding: 12px 16px; border-radius: var(--rayon-petit); font-size: 1.3rem; font-weight: 700; background: var(--ok-fond); color: var(--ok-texte); border-left: 5px solid var(--ok-texte); }
.o-robots-txt-verdict[data-etat="bloque"] { background: var(--erreur-fond); color: var(--erreur-texte); border-left-color: var(--erreur-texte); }
.o-robots-txt-detail { margin: 10px 0 0; padding-left: 20px; color: var(--texte-2); font-size: .92rem; overflow-wrap: anywhere; }
.o-robots-txt-detail li { margin: 3px 0; }

.o-robots-txt-rappel p { margin: 0; padding: 10px 14px; border-left: 4px solid var(--marque); background: var(--surface-2); border-radius: 0 var(--rayon-petit) var(--rayon-petit) 0; font-size: .92rem; }
.o-robots-txt-exemples { margin-top: 18px; border: 1px solid var(--bord); border-radius: var(--rayon-petit); padding: 10px 14px; }
.o-robots-txt-exemples summary { cursor: pointer; font-weight: 600; color: var(--texte); min-height: 28px; }
.o-robots-txt-listes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.o-robots-txt-listes ul { margin: 0; padding-left: 18px; columns: 2; font-size: .9rem; }
.o-robots-txt-listes code { font-family: var(--mono); }
.o-robots-txt .o-robots-txt-prive { display: block; margin-top: 14px; }
.o-robots-txt button:focus-visible, .o-robots-txt input:focus-visible, .o-robots-txt select:focus-visible, .o-robots-txt textarea:focus-visible, .o-robots-txt summary:focus-visible, .o-robots-txt-sortie:focus-visible { outline: 3px solid var(--marque); outline-offset: 1px; }

@media (max-width: 600px) {
  .o-robots-txt-ligne-agents, .o-robots-txt-test, .o-robots-txt-listes { grid-template-columns: 1fr; }
  .o-robots-txt-regles li { grid-template-columns: 112px 1fr 42px; }
  .o-robots-txt-pied .o-robots-txt-champ { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .o-robots-txt * { transition: none !important; animation: none !important; }
}
