/* Guide public : lecture en colonne, sommaire indépendant et illustrations issues du jeu. */
html:has(body.public-guide-page) { scroll-padding-top: 24px; }
.guide-shell { max-width: 1400px; margin-inline: auto; padding: 38px 42px 20px; }
.guide-shell, .guide-shell * { box-sizing: border-box; }
body.public-guide-page .guide-shell > h1 { margin: 0 0 30px; color: #E7DFCB; font: 400 40px/1.2 Georgia,serif; }
.guide-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 30px; align-items: start; }
.guide-content { min-width: 0; }
.guide-desktop-toc { position: sticky; top: 24px; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 18px 12px; border: 1px solid #43463F; border-radius: 2px 10px 2px 10px; background: #1E2224; scrollbar-width: thin; scrollbar-color: #6A6250 #1E2224; }
body.public-guide-page .guide-desktop-toc h2 { margin: 0 10px 13px; color: #C6B486; font: 600 15px/1.5 var(--cx-font); }
.guide-toc-list { margin: 0; padding: 0; list-style: none; }
.guide-toc-list li + li { margin-top: 2px; }
.guide-toc-list a { display: flex; align-items: baseline; gap: 10px; padding: 7px 9px; color: #ADAEA4; font: 400 11px/1.5 var(--cx-font); border: 1px solid transparent; border-radius: 2px 6px 2px 6px; text-decoration: none; }
.guide-toc-list a > span { flex: 0 0 18px; color: #757F79; font-size: 10px; font-variant-numeric: tabular-nums; }
.guide-toc-list a:hover { background: #FFFFFF06; color: #DED4BB; }
.guide-toc-list a[aria-current='location'] { color: #D9C18B; background: #37342B; border-color: #5C5441; }
.guide-toc-list a[aria-current='location'] > span { color: #C1AA75; }
.guide-mobile-toc { display: none; }
.guide-section { min-width: 0; margin-bottom: 24px; padding: 26px 28px; border: 1px solid #454642; border-radius: 2px 12px 2px 12px; background: #222527; scroll-margin-top: 0; }
body.public-guide-page .guide-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 0 0 20px; padding: 0 0 18px; border: 0; border-bottom: 1px solid #FFFFFF12; background: none; text-align: left; }
.guide-section-title { min-width: 0; }
.guide-section-title > span { display: block; color: #8E866F; font: 500 10px/1.5 var(--cx-font); letter-spacing: 1px; margin-bottom: 7px; }
body.public-guide-page .guide-section h2 { color: #E5DCC7; font: 400 28px/1.3 Georgia,serif; margin: 0; text-wrap: initial; }
.guide-art { display: flex; align-items: center; justify-content: center; gap: 6px; flex-shrink: 0; padding: 4px; min-width: 64px; }
.guide-art > img { display: block; width: 64px; height: 65px; object-fit: contain; }
.guide-art > img + img { width: 55px; }
.guide-art-photo > img { width: 110px; height: 75px; object-fit: cover; border: 1px solid #FFFFFF22; border-radius: 2px 7px 2px 7px; filter: saturate(.7); }
.guide-prose { color: #BCBDB1; font: 400 13px/1.95 var(--cx-font); overflow-wrap: anywhere; }
.guide-prose > p:first-of-type { color: #D0CFC0; font-size: 14px; }
/* Supprimer les anciens retraits et la justification, qui gênaient la lecture sur téléphone. */
body.public-guide-page .guide-prose p { text-indent: 0 !important; text-align: left; margin: 0 0 17px; }
body.public-guide-page .guide-prose p:last-child { margin-bottom: 0; }
.guide-prose ul { list-style: none; margin: 18px 0; padding: 0; }
.guide-prose li { position: relative; margin-top: 12px; padding: 12px 14px 12px 28px; border: 1px solid #FFFFFF0A; border-radius: 3px; background: #1B2022; }
.guide-prose li::before { content: '·'; position: absolute; left: 13px; color: #BEA672; font-size: 22px; line-height: 1; }
.guide-more { margin-top: 20px; border-top: 1px solid #FFFFFF14; }
.guide-more > summary, .guide-reference > summary { display: flex; align-items: center; gap: 10px; padding: 15px 0 1px; color: #CCB886; cursor: pointer; list-style: none; font: 500 12px/1.6 var(--cx-font); }
.guide-more > summary::-webkit-details-marker, .guide-reference > summary::-webkit-details-marker { display: none; }
.guide-more > summary::before, .guide-reference > summary::before { content: '›'; display: block; color: #BCA675; font-size: 20px; line-height: 1; }
.guide-more[open] > summary::before, .guide-reference[open] > summary::before { transform: rotate(90deg); }
.guide-expanded { padding-top: 18px; }
.guide-expanded > br, .guide-prose > br { display: none; }
.guide-reference { margin: 18px 0; background: #191E20; border: 1px solid #454A43; border-radius: 2px 8px 2px 8px; overflow: hidden; }
.guide-reference > summary { padding: 13px 15px; color: #CFBE96; }
.guide-reference[open] > summary { border-bottom: 1px solid #454A43; }
.guide-table-scroll { max-width: 100%; overflow-x: auto; padding: 0 14px 14px; scrollbar-width: thin; scrollbar-color: #6A6250 #191E20; }
body.public-guide-page .guide-table-scroll .tab_unites { width: 100%; min-width: 620px; border-collapse: collapse; margin: 0; font: 400 12px/1.6 var(--cx-font); color: #C6C5B7; text-align: left; }
body.public-guide-page .guide-table-scroll td { padding: 10px 12px; border: 0; border-bottom: 1px solid #FFFFFF12; font-family: var(--cx-font); }
body.public-guide-page .guide-table-scroll .titre_general_liste_unites { padding: 16px 12px; background: #242A2C; color: #DDCBA4; font-size: 15px; font-weight: 500; text-align: left; }
body.public-guide-page .guide-table-scroll .titre_pays_liste_unites { padding: 13px 12px; background: #33342D; color: #D8C394; font-weight: 500; font-size: 13px; }
body.public-guide-page .guide-table-scroll .intitule_colonne { color: #ACB4AA; background: #1C2224; font-size: 11px; font-weight: 500; text-align: left; }
body.public-guide-page .guide-table-scroll .contenu_colonne { color: #CACBBC; background: transparent; font-size: 12px; text-align: left; }
body.public-guide-page .guide-prose .remarque_unites { margin-top: 12px; color: #BCA978; font-size: 11px; line-height: 1.7; text-align: left; }
.guide-back-top { display: block; width: fit-content; margin: 28px 0 0 auto; color: #BAAA82; font-size: 12px; text-decoration: none; }
.guide-desktop-toc::-webkit-scrollbar, .guide-table-scroll::-webkit-scrollbar { width: 6px; height: 6px; }
.guide-desktop-toc::-webkit-scrollbar-thumb, .guide-table-scroll::-webkit-scrollbar-thumb { background: #6A6250; border-radius: 8px; }
.guide-shell :is(a,summary):focus-visible { outline: 2px solid #D5BF88; outline-offset: 3px; }
@media(max-width: 1100px) { .guide-shell { padding-inline: 28px; } .guide-layout { grid-template-columns: 210px minmax(0,1fr); gap: 20px; } .guide-section { padding: 22px; } .guide-art > img { width: 48px; height: 55px; } .guide-art > img + img { width: 42px; } .guide-art-photo > img { width: 90px; height: 65px; } }
@media(max-width: 850px) {
 .guide-layout { grid-template-columns: minmax(0,1fr); }
 .guide-desktop-toc { display: none; }
 .guide-mobile-toc { display: block; margin-bottom: 22px; border: 1px solid #514D3F; border-radius: 2px 9px 2px 9px; background: #242829; }
 .guide-mobile-toc > summary { display: flex; align-items: center; justify-content: space-between; list-style: none; padding: 14px 18px; color: #D2BE8C; font: 500 14px/1.5 var(--cx-font); cursor: pointer; }
 .guide-mobile-toc > summary::-webkit-details-marker { display: none; }
 .guide-mobile-toc[open] > summary > span { transform: rotate(180deg); }
 .guide-mobile-toc nav { padding: 0 10px 12px; }
 .guide-mobile-toc .guide-toc-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 600px) {
 .guide-shell { padding: 26px 14px 18px; }
 body.public-guide-page .guide-shell > h1 { font-size: 32px; margin-bottom: 22px; }
 .guide-section { padding: 18px; margin-bottom: 18px; }
 body.public-guide-page .guide-section-heading { flex-wrap: wrap; gap: 15px; margin-bottom: 16px; padding-bottom: 16px; }
 body.public-guide-page .guide-section h2 { font-size: 25px; }
 .guide-art { padding: 0; justify-content: start; }
 .guide-art > img { width: 48px; height: 48px; }
 .guide-art-photo > img { width: 105px; height: 70px; }
 .guide-prose, .guide-prose > p:first-of-type { font-size: 13px; line-height: 1.9; }
 .guide-mobile-toc .guide-toc-list { grid-template-columns: minmax(0,1fr); }
 .guide-toc-list a { padding: 8px 10px; font-size: 12px; }
 .guide-more > summary { font-size: 12px; }
}

/* Garder le fond graphite du nouvel accueil sur cette page publique. */
html body.public-guide-page { background: #151719 !important; }
/* Drapeaux dans les bandeaux de pays ; trois périodes pour l’Allemagne. */
.guide-country-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.guide-country-flags { display: inline-flex; align-items: center; gap: 7px; }
.guide-country-flags img { display: block; width: 27px; height: 18px; object-fit: cover; border: 1px solid #FFFFFF26; border-radius: 1px; }
