/*
 * Go : guides, page des guides et figures du goban (aussi chargée par les
 * articles du blog qui montrent une figure). La mise en page, le fil d'Ariane,
 * les tableaux et la FAQ viennent de article.css et blog.css partagés : rien de
 * ce socle n'est redéfini ici.
 */

/* Page des guides : sections par catégorie */
.cluster-section { margin-bottom: 48px; }
.cluster-section:last-child { margin-bottom: 24px; }
.cluster-header { margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.cluster-header h2 { font-size: 1.4rem; font-weight: 700; color: var(--color-accent); margin: 0 0 6px; }
.cluster-header p { font-size: 0.92rem; color: var(--texte-doux); margin: 0; line-height: 1.5; }
.cluster-section .blog-card h3 { font-size: 1.1rem; font-weight: 700; line-height: 1.4; }
.cluster-section .blog-card h3 a { color: var(--color-accent); text-decoration: none; }
.cluster-section .blog-card h3 a:hover { color: var(--color-light); }
.guides-vide { text-align: center; color: var(--texte-doux); padding: 30px 0; line-height: 1.6; }
.guides-suite { text-align: center; color: var(--texte-doux); margin-top: 8px; line-height: 1.6; }
.guides-suite a { color: var(--color-light); }

/* Figures : le goban dessiné par includes/figures.php */
.go-figures { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; align-items: flex-start; margin: 20px 0 24px; }
.go-figure { margin: 0; flex: 0 1 280px; min-width: 220px; text-align: center; }
.go-figure-large { flex-basis: 440px; }
.go-schema { display: block; width: 100%; height: auto; }
.go-schema-bois { fill: #dcb468; stroke: #8a6428; stroke-width: 2; }
.go-schema-ligne { stroke: #3b2a10; stroke-width: 1.2; }
.go-schema-bord { stroke-width: 2.4; }
.go-schema-coord { fill: #5a4116; font-size: 13px; font-weight: 700; font-family: inherit; text-anchor: middle; }
.go-schema-noire { fill: #1b1c1f; stroke: #000; stroke-width: 1; }
.go-schema-blanche { fill: #f4f2ea; stroke: #8f8a7c; stroke-width: 1; }
.go-schema-morte { opacity: 0.45; }
.go-schema-liberte { fill: none; stroke: #2f7fd0; stroke-width: 3; }
.go-schema-triangle { fill: #1b1c1f; }
.go-schema-triangle.sur-noir { fill: #f4f2ea; }
.go-schema-croix { stroke: #b03030; stroke-width: 3.5; stroke-linecap: round; fill: none; }
.go-schema-terr-noir { fill: #1b1c1f; }
.go-schema-terr-blanc { fill: #f4f2ea; stroke: #6e695c; stroke-width: 1; }
.go-figure figcaption { margin-top: 8px; font-size: 0.86rem; line-height: 1.5; color: var(--texte-doux, #a8b0bb); }
.go-figure-erreur { color: #d07070; }

/* Encadré « En bref » des règles */
.go-en-bref { margin: 20px 0 24px; padding: 14px 18px 12px; border: 1px solid var(--line); border-left: 4px solid var(--color-accent); border-radius: 8px; background: var(--surface-1, rgba(255, 255, 255, 0.03)); }
.go-en-bref-titre { margin: 0 0 8px; font-weight: 700; color: var(--texte); }
.go-en-bref ol { margin: 0; padding-left: 1.4em; line-height: 1.6; }
.go-en-bref li { margin-bottom: 6px; padding-left: 2px; }

/* Tableau comparatif : le conteneur défile sur téléphone, jamais la page (Firefox ne resserre pas le tableau). */
.table-defilante { overflow-x: auto; margin: 10px 0 14px; }
.go-tableau { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 0.9rem; }
.go-tableau th, .go-tableau td { padding: 8px 10px; border-bottom: 1px solid var(--line); }
.go-tableau td { text-align: left; vertical-align: top; }
.go-tableau thead th { text-align: left; }

/* Lexique : un mot, sa définition */
.lexique { margin: 8px 0 22px; }
.lexique dt { font-weight: 700; color: var(--texte); margin-top: 12px; }
.lexique dd { margin: 2px 0 0; padding-left: 14px; border-left: 3px solid var(--line); color: var(--texte-doux); line-height: 1.6; }

/* Sources citées en bas de guide */
.go-sources { font-size: 0.88rem; color: var(--texte-doux); line-height: 1.6; }
.go-sources li { margin-bottom: 4px; }
