/* Le Grin — styles. Charte du site : rouge #CE1126, encre #1A1A1A, titres en police de titre du thème. */

.as7g, .as7g-bandeau {
	--g-rouge: var(--color-pana-red, #ce1126);
	--g-rouge-fonce: #a50e1f;
	--g-encre: #1a1a1a;
	--g-jaune: #ffd166;
	--g-or: #d4a017;
	--g-vert: var(--color-pana-green, #009639);
	--g-papier: #ffffff;
	--g-fond: #f6f6f4;
	--g-trait: #e5e7eb;
	--g-texte: #1a1a1a;
	--g-texte2: #4b5563;
	--g-texte3: #6b7280;
	--g-titre: var(--font-heading, "Lora", Georgia, serif);
	--g-rayon: 10px;
}
.dark .as7g {
	--g-papier: #1f2937;
	--g-fond: #111827;
	--g-trait: #374151;
	--g-texte: #f3f4f6;
	--g-texte2: #d1d5db;
	--g-texte3: #9ca3af;
}
.as7g { color: var(--g-texte); }
.as7g *, .as7g *::before, .as7g *::after { box-sizing: border-box; }
.as7g a { color: inherit; }
.as7g-wrap { max-width: 80rem; margin-inline: auto; padding-inline: 16px; }
.as7g-silhouette, .as7g-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.as7g-num { display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; background: var(--g-rouge); color: #fff; font-size: .75em; margin-right: .35em; vertical-align: .1em; font-family: inherit; }

/* ---------- Le bandeau d'aperçu ---------- */
.as7g-bandeau { background: var(--g-rouge); color: #fff; font-size: 13px; position: relative; z-index: 60; }
.as7g-bandeau-in { max-width: 80rem; margin: 0 auto; padding: 6px 16px; display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; }
.as7g-bandeau-tag { background: #fff; color: var(--g-rouge); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; padding: 2px 8px; border-radius: 100px; }
.as7g-bandeau-txt { opacity: .95; }
.as7g-visite { position: relative; margin-left: auto; }
.as7g-visite summary { cursor: pointer; font-weight: 600; list-style: none; padding: 3px 10px; border: 1px solid rgba(255,255,255,.6); border-radius: 100px; }
.as7g-visite summary::-webkit-details-marker { display: none; }
.as7g-visite summary::after { content: " ▾"; }
.as7g-visite[open] summary::after { content: " ▴"; }
.as7g-visite nav { position: absolute; right: 0; top: calc(100% + 8px); width: min(320px, 92vw); max-height: 70vh; overflow: auto; background: #fff; color: #1a1a1a; border-radius: 10px; box-shadow: 0 18px 40px -12px rgba(0,0,0,.4); padding: 8px; z-index: 70; }
.as7g-visite ol { list-style: none; margin: 0; padding: 0; }
.as7g-visite li a { display: block; padding: 8px 10px; border-radius: 6px; text-decoration: none; color: #1a1a1a; font-size: 14px; }
.as7g-visite li a:hover { background: #f3f4f6; color: var(--g-rouge); }
.as7g-visite-titre { font-size: 10.5px; text-transform: uppercase; letter-spacing: .12em; color: #6b7280; padding: 10px 10px 4px; }
.as7g-quitter { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
@media (max-width: 640px) { .as7g-bandeau-txt { display: none; } }

/* ---------- Boutons ---------- */
.as7g-btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; gap: 6px; min-height: 44px; padding: 10px 18px; border-radius: 8px; font-weight: 700; font-size: 15px; line-height: 1.2; text-decoration: none !important; cursor: pointer; border: 2px solid transparent; transition: background .15s, color .15s, transform .1s; font-family: inherit; }
.as7g-btn:active { transform: translateY(1px); }
.as7g-btn-rouge { background: var(--g-rouge); color: #fff !important; }
.as7g-btn-rouge:hover { background: var(--g-rouge-fonce); }
.as7g-btn-contour { border-color: rgba(255,255,255,.85); color: #fff !important; background: transparent; }
.as7g-btn-contour:hover { background: rgba(255,255,255,.12); }
.as7g-btn-contour-sombre { border-color: var(--g-texte); color: var(--g-texte) !important; background: transparent; }
.as7g-btn-contour-sombre:hover { background: var(--g-texte); color: var(--g-papier) !important; }
.as7g-btn-vert { background: var(--g-vert); color: #fff !important; }
.as7g-btn-whatsapp { background: #25d366; color: #0b3d1f !important; }
.as7g-btn-geant { width: 100%; min-height: 56px; font-size: 18px; border-radius: 10px; }
.as7g-btn[disabled], .as7g-btn.is-fait { background: var(--g-fond); color: var(--g-texte3) !important; border-color: var(--g-trait); cursor: default; }

/* ---------- Textes ---------- */
.as7g-h1 { font-family: var(--g-titre); font-weight: 700; font-size: clamp(28px, 5vw, 42px); line-height: 1.1; margin: 0 0 8px; }
.as7g-h2 { font-family: var(--g-titre); font-weight: 700; font-size: clamp(21px, 3vw, 26px); line-height: 1.2; margin: 0 0 14px; }
.as7g-surtitre { font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--g-rouge); margin: 0 0 8px; }
.as7g-soustitre { color: var(--g-texte2); margin: -6px 0 16px; }
.as7g-petit { font-size: 13px; color: var(--g-texte3); }
.as7g-etiquette { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--g-rouge); background: rgba(206,17,38,.08); padding: 3px 8px; border-radius: 100px; }
.as7g-etiquette-sombre { color: var(--g-jaune); background: rgba(255,255,255,.1); }
.as7g-note-apercu { background: #fff7e0; color: #6b4e00; border: 1px dashed #e0b84a; border-radius: 8px; padding: 10px 12px; font-size: 13.5px; margin: 14px 0; }
.dark .as7g-note-apercu { background: #3a2f12; color: #f5d98b; border-color: #8a6d1f; }
.as7g-section { padding-block: 28px 8px; }
.as7g-entete { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.as7g-entete a { color: var(--g-rouge); font-weight: 600; font-size: 14px; text-decoration: none; }
.as7g-lien-fleche { color: var(--g-rouge); font-weight: 700; font-size: 14px; }
.as7g-lien-fleche::after { content: " →"; }
.as7g-vide { color: var(--g-texte3); }

/* ---------- En-têtes de page ---------- */
.as7g-hero { background: var(--g-encre); color: #fff; padding-block: 34px 30px; }
.as7g-hero .as7g-surtitre { color: var(--g-jaune); }
.as7g-hero h1 { font-family: var(--g-titre); font-weight: 700; font-size: clamp(30px, 6vw, 52px); line-height: 1.05; margin: 0 0 10px; color: #fff; max-width: 22ch; text-wrap: balance; }
.as7g-chapo { font-size: 17px; line-height: 1.55; color: #d1d5db; max-width: 60ch; margin: 0 0 18px; }
.as7g-theme { font-size: 16px; color: #d1d5db; margin: 0 0 16px; }
.as7g-theme b { color: #fff; }
.as7g-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.as7g-barre-fin { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.15); padding-top: 14px; max-width: 640px; }
.as7g-barre-fin-txt { color: #c9cdd2; font-size: 13px; line-height: 1.4; }
.as7g-compte-grand { font-size: 24px; color: var(--g-jaune); font-weight: 700; font-variant-numeric: tabular-nums; }
.as7g-sponsor { margin: 14px 0 0; font-size: 12.5px; color: #9ca3af; }
.as7g-sponsor span { border: 1px dashed #6b7280; border-radius: 4px; padding: 2px 8px; margin-left: 4px; color: #d1d5db; }
.as7g-hero-nouchi { background: #2b1846; }
.as7g-hero-duel { background: #3b0a12; }

/* ---------- Chiffres et consignes ---------- */
.as7g-stats { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--g-texte2); padding-top: 18px; font-variant-numeric: tabular-nums; }
.as7g-stats b { color: var(--g-texte); font-size: 17px; }
.as7g-info { margin: 10px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--g-fond); font-size: 14px; color: var(--g-texte2); }
.as7g-info.is-ok { background: #e7f6ec; color: #14532d; }
.as7g-info.is-deja { background: #fff4e5; color: #7a4a00; }
.dark .as7g-info.is-ok { background: #0f3020; color: #a7f3c4; }
.dark .as7g-info.is-deja { background: #3a2a10; color: #fcd59a; }

/* ---------- Grille des candidates ---------- */
.as7g-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
@media (min-width: 640px) { .as7g-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .as7g-grille { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.as7g-grille-mini { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 1024px) { .as7g-grille-mini { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.as7g-carte { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: var(--g-rayon); overflow: hidden; display: flex; flex-direction: column; }
.as7g-carte-visuel { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; }
.as7g-rang { position: absolute; top: 8px; left: 8px; background: rgba(26,26,26,.86); color: #fff; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 100px; line-height: 1.3; }
.as7g-rang sup { font-size: .7em; }
.as7g-rang-or { background: var(--g-or); color: #1a1a1a; }
.as7g-carte-info { padding: 10px 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.as7g-carte-nom { font-weight: 700; font-size: 15px; text-decoration: none; line-height: 1.25; }
.as7g-carte-lieu { font-size: 12.5px; color: var(--g-texte3); }
.as7g-voter { margin-top: 8px; min-height: 40px; border: 2px solid var(--g-rouge); background: var(--g-papier); color: var(--g-rouge); border-radius: 8px; font-weight: 700; font-size: 14px; cursor: pointer; font-family: inherit; }
.as7g-voter:hover { background: var(--g-rouge); color: #fff; }
.as7g-voter.is-fait { background: var(--g-vert); border-color: var(--g-vert); color: #fff; cursor: default; }
.as7g-voter.is-ferme { opacity: .55; }
.as7g-btn.as7g-voter { margin-top: 0; background: var(--g-rouge); border-color: var(--g-rouge); color: #fff; }
.as7g-btn.as7g-voter:hover { background: var(--g-rouge-fonce); }
.as7g-btn.as7g-voter.is-fait { background: var(--g-vert); border-color: var(--g-vert); color: #fff !important; }
.as7g-carte-votes { font-size: 12.5px; color: var(--g-texte3); margin-top: 4px; text-align: center; font-variant-numeric: tabular-nums; }
.as7g-grille-mini .as7g-carte-info { padding: 6px 8px 8px; }
.as7g-grille-mini .as7g-carte-nom { font-size: 13px; }
.as7g-grille-mini .as7g-rang { font-size: 10.5px; padding: 2px 7px; top: 5px; left: 5px; }

/* ---------- Podium ---------- */
.as7g-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: end; max-width: 620px; }
.as7g-marche { margin: 0; text-align: center; }
.as7g-marche-visuel { position: relative; border-radius: var(--g-rayon); overflow: hidden; aspect-ratio: 1; }
.as7g-marche-1 .as7g-marche-visuel { aspect-ratio: 3 / 4; }
.as7g-medaille { position: absolute; top: 6px; left: 6px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800; color: #1a1a1a; }
.as7g-medaille-1 { background: var(--g-or); }
.as7g-medaille-2 { background: #c6cbd0; }
.as7g-medaille-3 { background: #c08552; color: #fff; }
.as7g-marche figcaption { margin-top: 6px; display: flex; flex-direction: column; font-size: 12.5px; color: var(--g-texte3); line-height: 1.3; }
.as7g-marche figcaption b { color: var(--g-texte); font-size: 14px; }

/* ---------- La page d'accueil du Grin ---------- */
.as7g-trio { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .as7g-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.as7g-jeu { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; overflow: hidden; text-decoration: none; display: flex; flex-direction: column; transition: box-shadow .15s, transform .15s; }
.as7g-jeu:hover { box-shadow: 0 16px 34px -22px rgba(0,0,0,.45); transform: translateY(-2px); }
.as7g-jeu-visuels { display: grid; height: 170px; position: relative; }
.as7g-jeu-quatre { grid-template-columns: repeat(4, 1fr); }
.as7g-jeu-duel { grid-template-columns: 1fr 1fr; }
.as7g-jeu-visuels span { display: block; overflow: hidden; }
.as7g-vs { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: var(--g-rouge); color: #fff; font-weight: 800; font-size: 13px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 3px solid #fff; z-index: 2; }
.as7g-jeu-mot { height: 170px; background: #2b1846; color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 18px; gap: 6px; }
.as7g-jeu-mot b { font-family: var(--g-titre); font-size: 30px; }
.as7g-jeu-mot span { color: #d8cdea; font-size: 14px; }
.as7g-jeu-corps { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; }
.as7g-jeu-corps .as7g-etiquette, .as7g-accueil-ouvert .as7g-etiquette, .as7g-brouillon .as7g-etiquette, .as7g-partenaire .as7g-etiquette { align-self: flex-start; }
.as7g-jeu-corps h3 { font-family: var(--g-titre); font-size: 22px; margin: 2px 0 0; font-weight: 700; }
.as7g-jeu-corps p { margin: 0; color: var(--g-texte2); font-size: 14.5px; }
.as7g-jeu-chiffres { font-size: 13px !important; color: var(--g-texte3) !important; }
.as7g-lots { display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .as7g-lots { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.as7g-lots div { border-left: 3px solid var(--g-or); padding: 4px 0 4px 14px; display: flex; flex-direction: column; }
.as7g-lots span { color: var(--g-texte2); font-size: 14px; }
.as7g-partenaire { margin-top: 26px; border: 2px dashed var(--g-trait); border-radius: 12px; padding: 22px !important; }
.as7g-partenaire p { color: var(--g-texte2); max-width: 62ch; }
.as7g-renvoi { margin: 26px 0 8px; background: var(--g-fond); border-radius: 12px; padding: 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.as7g-renvoi div { color: var(--g-texte2); max-width: 60ch; }
.as7g-renvoi b { color: var(--g-texte); }

/* ---------- Classement en liste ---------- */
.as7g-classement { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-width: 760px; }
.as7g-classement li { display: grid; grid-template-columns: 44px 40px minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 10px; padding: 8px 12px; }
.as7g-classement-rang { grid-row: span 2; font-weight: 800; font-size: 15px; }
.as7g-classement-mini { grid-row: span 2; width: 40px; height: 52px; border-radius: 6px; overflow: hidden; }
.as7g-classement li > b { font-size: 15px; }
.as7g-classement li > span:nth-of-type(3) { grid-column: 3; font-size: 12.5px; color: var(--g-texte3); }
.as7g-classement-votes { grid-column: 4; grid-row: 1 / span 2; font-size: 13px; color: var(--g-texte2); font-variant-numeric: tabular-nums; text-align: right; }
@media (max-width: 560px) {
	.as7g-classement li { grid-template-columns: 34px 40px minmax(0, 1fr); grid-template-rows: auto auto auto; }
	.as7g-classement-rang, .as7g-classement-mini { grid-row: span 3; }
	.as7g-classement-votes { grid-column: 3; grid-row: auto; text-align: left; font-size: 12.5px; }
}

/* ---------- La page d'une candidate ---------- */
.as7g-membre { padding-block: 18px 10px; }
.as7g-retour { display: inline-block; font-size: 14px; color: var(--g-texte2); text-decoration: none; margin-bottom: 12px; }
.as7g-retour::before { content: "← "; }
.as7g-membre-grille { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .as7g-membre-grille { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 36px; align-items: start; } }
.as7g-membre-visuel { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 4; max-width: 460px; }
.as7g-rang-grand { font-size: 14px; padding: 5px 12px; top: 12px; left: 12px; }
.as7g-lieu { color: var(--g-texte2); margin: 0 0 18px; font-size: 16px; }
.as7g-membre-info .as7g-petit { text-align: center; margin: 8px 0 16px; }
.as7g-jauge { height: 6px; background: var(--g-fond); border-radius: 100px; overflow: hidden; }
.as7g-jauge i { display: block; height: 100%; background: var(--g-rouge); border-radius: 100px; }
.as7g-ecart { display: flex; justify-content: space-between; font-size: 13px; color: var(--g-texte3); margin: 8px 0 18px; font-variant-numeric: tabular-nums; }
.as7g-ecart b { color: var(--g-texte); }
.as7g-partage { display: flex; flex-wrap: wrap; gap: 10px; }
.as7g-partage .as7g-btn { flex: 1 1 220px; }

/* ---------- Formulaires ---------- */
.as7g-formulaires { padding-block: 16px 10px; display: grid; gap: 26px; max-width: 760px; }
.as7g-form { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 90px; }
.as7g-form .as7g-h2 { margin-bottom: 0; }
.as7g-champ { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.as7g-champ > span { font-weight: 600; font-size: 14px; }
.as7g-champ input, .as7g-champ select { min-height: 46px; border: 1.5px solid var(--g-trait); border-radius: 8px; padding: 10px 12px; font-size: 16px; background: var(--g-papier); color: var(--g-texte); font-family: inherit; width: 100%; }
.as7g-champ input[type=file] { padding: 9px; font-size: 14px; }
.as7g-champ input:focus, .as7g-champ select:focus { outline: 3px solid rgba(206,17,38,.25); border-color: var(--g-rouge); }
.as7g-champ small { color: var(--g-texte3); font-size: 12.5px; }
.as7g-champs-2 { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .as7g-champs-2 { grid-template-columns: 1fr 1fr; } }
.as7g-coche { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--g-texte2); }
.as7g-coche input { width: 20px; height: 20px; margin-top: 1px; flex: none; accent-color: var(--g-rouge); }
.as7g-retour-form { margin: 0; font-size: 14px; font-weight: 600; }
.as7g-retour-form.is-ok { color: #15803d; }
.as7g-retour-form.is-erreur { color: var(--g-rouge); }
.as7g-form-ligne { display: grid; grid-template-columns: 1fr; align-items: end; }
@media (min-width: 640px) { .as7g-form-ligne { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; } .as7g-form-ligne .as7g-retour-form { grid-column: 1 / -1; } }

/* ---------- Le Duel ---------- */
.as7g-duel { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; max-width: 760px; }
.as7g-duel .as7g-vs { width: 48px; height: 48px; font-size: 15px; top: 42%; }
.as7g-duel-choix { appearance: none; border: 3px solid var(--g-trait); background: var(--g-papier); color: var(--g-texte); border-radius: 14px; padding: 0 0 10px; cursor: pointer; overflow: hidden; display: flex; flex-direction: column; text-align: center; font-family: inherit; transition: transform .15s, border-color .15s, opacity .25s; }
.as7g-duel-choix:hover { border-color: var(--g-rouge); transform: translateY(-2px); }
.as7g-duel-choix.is-choisi { border-color: var(--g-vert); }
.as7g-duel-choix.is-perdu { opacity: .35; }
.as7g-duel-visuel { display: block; aspect-ratio: 3 / 4; overflow: hidden; }
.as7g-duel-nom { font-weight: 700; font-size: 16px; margin-top: 8px; }
.as7g-duel-lieu { font-size: 13px; color: var(--g-texte3); }
.as7g-duel-compteur { margin: 12px 0 0; color: var(--g-texte2); }
.as7g-duel-petit { margin-top: 10px; gap: 8px; }
.as7g-duel-petit .as7g-duel-nom { font-size: 14px; }
.as7g-duel-petit .as7g-vs { width: 38px; height: 38px; font-size: 12px; }

/* ---------- Le Nouchi du jour ---------- */
.as7g-hier { display: inline-flex; flex-direction: column; gap: 2px; background: rgba(255,255,255,.08); border-radius: 10px; padding: 12px 16px; margin-top: 4px; }
.as7g-hier span { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--g-jaune); font-weight: 700; }
.as7g-hier b { font-family: var(--g-titre); font-size: 24px; }
.as7g-hier em { color: #d8cdea; font-size: 14px; }
.as7g-mots { display: grid; gap: 12px; grid-template-columns: 1fr; margin-top: 16px; }
@media (min-width: 720px) { .as7g-mots { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .as7g-mots { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.as7g-mot { position: relative; background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; padding: 16px 16px 14px; display: flex; flex-direction: column; gap: 6px; }
.as7g-mot .as7g-rang { position: static; align-self: flex-start; }
.as7g-mot h3 { font-family: var(--g-titre); font-size: 24px; margin: 2px 0 0; }
.as7g-mot-def { margin: 0; font-weight: 600; }
.as7g-mot-ex { margin: 0; color: var(--g-texte2); font-style: italic; }
.as7g-mot-auteur { margin: 0; font-size: 12.5px; color: var(--g-texte3); }
.as7g-mot-pied { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 8px; }
.as7g-mot-pied .as7g-voter { margin: 0; padding-inline: 18px; }
.as7g-lexique { margin: 0; display: grid; gap: 8px; max-width: 760px; }
.as7g-lexique div { border-bottom: 1px solid var(--g-trait); padding-bottom: 8px; }
.as7g-lexique dt { font-family: var(--g-titre); font-weight: 700; font-size: 18px; }
.as7g-lexique dd { margin: 2px 0 0; color: var(--g-texte2); }

/* ---------- Règlement ---------- */
.as7g-texte { max-width: 760px; padding-block: 28px; }
.as7g-texte h2 { font-family: var(--g-titre); font-size: 20px; margin: 22px 0 6px; }
.as7g-texte p { color: var(--g-texte2); line-height: 1.65; margin: 0 0 10px; }

/* ---------- Le ticker, sous l'en-tête ---------- */
.as7g-ticker { background: var(--g-encre); color: #fff; }
.as7g-ticker-in { max-width: 80rem; margin: 0 auto; display: flex; align-items: stretch; height: 40px; }
.as7g-ticker-tag { background: var(--g-rouge); color: #fff !important; font-weight: 800; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; display: flex; align-items: center; padding: 0 12px; text-decoration: none; flex: none; }
.as7g-ticker-msgs { position: relative; flex: 1; min-width: 0; overflow: hidden; }
.as7g-ticker-msg { position: absolute; inset: 0; display: flex; align-items: center; gap: 8px; padding: 0 12px; font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff !important; text-decoration: none; opacity: 0; transform: translateY(8px); transition: opacity .4s, transform .4s; pointer-events: none; }
.as7g-ticker-msg.is-on { opacity: 1; transform: none; pointer-events: auto; }
.as7g-ticker-msg b { color: var(--g-jaune); }
.as7g-ticker-fin { margin-left: auto; color: var(--g-jaune); font-variant-numeric: tabular-nums; }
.as7g-ticker-cta { flex: none; display: flex; align-items: center; padding: 0 14px; font-weight: 700; font-size: 13px; color: #fff !important; text-decoration: none; border-left: 1px solid rgba(255,255,255,.18); }
.as7g-ticker-cta::after { content: " →"; }
@media (max-width: 640px) { .as7g-ticker-fin { display: none; } }

/* ---------- Le bloc de l'accueil ---------- */
.as7g-accueil { padding-block: 22px 6px; }
.as7g-accueil-grille { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 960px) { .as7g-accueil-grille { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.as7g-accueil-podium { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 14px; padding: 16px; }
.as7g-accueil-podium .as7g-h2 { font-size: 20px; margin-bottom: 12px; }
/* Sur téléphone, avant l'ouverture, la carte sombre donne déjà la date : le calendrier reste sur la page du Grin. */
@media (max-width: 959px) { .as7g-accueil-podium.is-calendrier { display: none; } }
.as7g-accueil-ouvert { background: var(--g-encre); color: #fff; border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.as7g-accueil-ouvert h2 { font-family: var(--g-titre); font-size: 24px; margin: 4px 0 0; color: #fff; }
.as7g-accueil-theme { margin: 0; font-family: var(--g-titre); font-size: 20px; color: var(--g-jaune); }
.as7g-accueil-vignettes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 4px 0; }
.as7g-accueil-vignettes span { aspect-ratio: 3 / 4; border-radius: 6px; overflow: hidden; display: block; }
.as7g-accueil-chiffres { margin: 0; font-size: 13px; color: #c9cdd2; font-variant-numeric: tabular-nums; }

/* ---------- L'encart de fin d'article ---------- */
.as7g-encart { border: 1px solid var(--g-trait); border-radius: 12px; overflow: hidden; margin: 8px 0 32px; background: var(--g-papier); font-size: 15px; }
.as7g-encart-tete { background: var(--g-encre); color: #fff; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.as7g-encart-tete > span:first-child { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--g-jaune); font-weight: 700; }
.as7g-pastille { font-size: 12px; background: rgba(255,255,255,.14); color: #fff; padding: 2px 9px; border-radius: 100px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.as7g-encart-corps { padding: 16px; }
.as7g-encart-corps h3 { font-family: var(--g-titre); font-size: 24px; font-weight: 700; margin: 0 0 4px; }
.as7g-encart-theme { color: var(--g-texte3); margin: 0 0 12px; font-size: 14px; }
.as7g-encart-theme b { color: var(--g-texte); }
.as7g-encart-vignettes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; max-width: 460px; }
.as7g-encart-vignettes a { position: relative; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; display: block; text-decoration: none; }
.as7g-encart-vignettes a span { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 4px 4px; background: linear-gradient(to top, rgba(0,0,0,.72), transparent); color: #fff; font-size: 11px; font-weight: 600; text-align: center; }
.as7g-encart-plus { background: var(--g-fond); color: var(--g-texte3) !important; display: grid !important; place-items: center; font-weight: 800; font-size: 18px; }
.as7g-encart-chiffres { font-size: 13px; color: var(--g-texte3); margin: 0 0 12px; font-variant-numeric: tabular-nums; }
.as7g-encart-chiffres b { color: var(--g-texte); }
.as7g-encart-boutons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.as7g-encart-regle { font-size: 12px; color: var(--g-texte3); text-align: center; margin: 10px 0 0; }
.as7g-encart-mots { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.as7g-encart-mots li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; border-bottom: 1px solid var(--g-trait); padding-bottom: 8px; }
.as7g-encart-mots b { font-family: var(--g-titre); font-size: 18px; }
.as7g-encart-mots span { grid-column: 1; color: var(--g-texte2); font-size: 14px; }
.as7g-encart-mots em { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-style: normal; color: var(--g-texte3); font-size: 13px; font-variant-numeric: tabular-nums; }
.as7g-encart-examen .as7g-encart-tete { background: var(--g-vert); }
.as7g-encart-examen .as7g-encart-tete > span:first-child { color: #fff; }
.as7g-encart-examen .as7g-encart-corps h3 { font-size: 21px; }
.as7g-encart .as7g-form { border: 0; padding: 0; background: transparent; }
.prose .as7g-encart h3 { margin-top: 0; }
.prose .as7g-encart a { text-decoration: none; }

/* ---------- La barre latérale ---------- */
.as7g-barre { border: 1px solid var(--g-trait); border-radius: 12px; overflow: hidden; background: var(--g-papier); }
.as7g-barre-tete { background: var(--g-rouge); color: #fff; padding: 8px 12px; display: flex; justify-content: space-between; align-items: center; font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.as7g-barre-tete .as7g-pastille { text-transform: none; letter-spacing: 0; font-weight: 600; }
.as7g-barre-corps { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.as7g-barre-corps h3 { font-family: var(--g-titre); font-size: 20px; margin: 0; }
.as7g-barre-corps p { margin: 0; color: var(--g-texte2); font-size: 14px; }
.as7g-barre-vignettes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
.as7g-barre-vignettes a { aspect-ratio: 3 / 4; border-radius: 6px; overflow: hidden; display: block; }

/* ---------- Le menu ---------- */
/* Entre 1024 et 1279 px, la barre d'ordinateur est déjà pleine (la rubrique Examens y est masquée pour la même raison) : le ticker mène au Grin. */
@media (min-width: 1024px) and (max-width: 1279px) { header nav .as7g-menu { display: none; } }
.as7g-menu-point { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #ce1126; margin-right: 6px; vertical-align: .12em; box-shadow: 0 0 0 3px rgba(206,17,38,.18); }

@media (prefers-reduced-motion: reduce) {
	.as7g *, .as7g-ticker-msg { transition: none !important; }
}

/* ---------- Comprendre du premier coup d'œil ---------- */
.as7g-nouveau { display: inline-block; background: var(--g-jaune); color: #1a1a1a; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 2px 7px; border-radius: 100px; vertical-align: .1em; line-height: 1.4; }
.as7g-pourquoi { margin: 18px 0 0; font-size: 13.5px; color: #b9c0c8; max-width: 62ch; border-top: 1px solid rgba(255,255,255,.12); padding-top: 12px; }
.as7g-pourquoi b { color: #fff; }

.as7g-etapes-grand { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .as7g-etapes-grand { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.as7g-etapes-grand li { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; padding: 16px; display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; }
.as7g-etape-icone { grid-row: span 2; position: relative; width: 52px; height: 52px; border-radius: 14px; background: rgba(206,17,38,.08); color: var(--g-rouge); display: grid; place-items: center; }
.as7g-etape-icone svg { width: 28px; height: 28px; }
.as7g-etape-icone b { position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; border-radius: 50%; background: var(--g-encre); color: #fff; font-size: 12px; display: grid; place-items: center; }
.dark .as7g-etape-icone b { background: var(--g-rouge); }
.as7g-etapes-grand strong { font-size: 16.5px; line-height: 1.3; }
.as7g-etapes-grand li > span:last-child { color: var(--g-texte2); font-size: 14.5px; line-height: 1.5; }

.as7g-etapes-court { list-style: none; margin: 10px 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.as7g-etapes-court li { display: flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 600; color: var(--g-texte); }
.as7g-etapes-court li span { flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--g-rouge); color: #fff; font-size: 11px; font-weight: 800; display: grid; place-items: center; }
.as7g-etapes-court li + li::before { content: "→"; color: var(--g-texte3); font-weight: 400; margin-right: 2px; }
@media (max-width: 640px) { .as7g-etapes-court { flex-direction: column; gap: 6px; } .as7g-etapes-court li + li::before { content: none; } }

.as7g-confiance { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; }
.as7g-confiance span { display: inline-flex; align-items: center; gap: 6px; background: var(--g-fond); border-radius: 100px; padding: 5px 12px; font-size: 13px; font-weight: 600; color: var(--g-texte2); }
.as7g-confiance span::before { content: "✓"; color: var(--g-vert); font-weight: 800; }

.as7g-faq { max-width: 820px; display: flex; flex-direction: column; gap: 8px; }
.as7g-faq details { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 10px; padding: 0 14px; }
.as7g-faq summary { cursor: pointer; font-weight: 700; padding: 13px 0; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.as7g-faq summary::-webkit-details-marker { display: none; }
.as7g-faq summary::after { content: "+"; color: var(--g-rouge); font-weight: 800; font-size: 18px; line-height: 1; }
.as7g-faq details[open] summary::after { content: "–"; }
.as7g-faq details p { margin: 0 0 14px; color: var(--g-texte2); line-height: 1.6; }

.as7g-theme-bloc { display: flex; flex-direction: column; gap: 2px; border-radius: 10px; padding: 12px 14px; margin: 0 0 16px; background: var(--g-fond); border-left: 4px solid var(--g-or); max-width: 640px; }
.as7g-theme-bloc span { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--g-texte3); }
.as7g-theme-bloc b { font-family: var(--g-titre); font-size: 20px; }
.as7g-theme-bloc em { font-style: normal; color: var(--g-texte2); font-size: 14.5px; }
.as7g-hero .as7g-theme-bloc { background: rgba(255,255,255,.08); }
.as7g-hero .as7g-theme-bloc span { color: var(--g-jaune); }
.as7g-hero .as7g-theme-bloc b { color: #fff; }
.as7g-hero .as7g-theme-bloc em { color: #d1d5db; }

.as7g-comment { margin-top: 18px; background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; padding: 12px 14px 2px; }
.as7g-comment > b { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--g-texte3); }
.as7g-info b { color: var(--g-texte); }

.as7g-contexte { background: var(--g-fond); border-radius: 10px; padding: 10px 12px; margin: 0 0 16px; font-size: 15px; line-height: 1.5; color: var(--g-texte2); }
.as7g-contexte b { color: var(--g-texte); }
.as7g-vous-aussi { margin: 26px 0 0; border: 2px dashed var(--g-rouge); border-radius: 12px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 6px 18px; flex-wrap: wrap; }
.as7g-vous-aussi > div > b { font-family: var(--g-titre); font-size: 19px; }
.as7g-vous-aussi .as7g-etapes-court { margin-bottom: 4px; }

.as7g-deroule ol { list-style: none; counter-reset: d; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 720px) { .as7g-deroule ol { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.as7g-deroule li { counter-increment: d; background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 2px; }
.as7g-deroule li::before { content: counter(d); width: 26px; height: 26px; border-radius: 50%; background: var(--g-rouge); color: #fff; font-weight: 800; font-size: 13px; display: grid; place-items: center; margin-bottom: 6px; }
.as7g-deroule li span { color: var(--g-texte2); font-size: 13.5px; }
.as7g-bonne-photo ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px 18px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .as7g-bonne-photo ul { grid-template-columns: 1fr 1fr; grid-auto-flow: column; grid-template-rows: repeat(3, auto); } }
.as7g-bonne-photo li { display: flex; gap: 8px; align-items: baseline; font-size: 14.5px; }
.as7g-bonne-photo li::before { font-weight: 800; flex: none; width: 1.1em; }
.as7g-bonne-photo li.oui::before { content: "✓"; color: var(--g-vert); }
.as7g-bonne-photo li.non::before { content: "✗"; color: var(--g-rouge); }

.as7g-encart-explique { color: var(--g-texte2); margin: 0 0 4px; font-size: 14.5px; line-height: 1.5; }
.as7g-encart-explique b { color: var(--g-texte); }
.as7g-encart-regle a { color: var(--g-rouge); font-weight: 600; }
.as7g-accueil-explique { margin: 0; color: #d1d5db; font-size: 15px; line-height: 1.5; }
.as7g-accueil-comment { color: var(--g-jaune) !important; font-size: 13.5px; font-weight: 600; text-decoration: none; }
.as7g-accueil-comment::after { content: " →"; }
.as7g-accueil-ouvert h2 { font-size: 22px; line-height: 1.2; }
.as7g-barre-pied { font-size: 12.5px !important; color: var(--g-texte3) !important; text-align: center; }
.as7g-barre-pied a { color: var(--g-rouge); font-weight: 600; }
.as7g-menu-sous { display: inline; font-size: 12.5px; font-weight: 400; color: #6b7280; margin: 0 6px; }
@media (max-width: 640px) {
	.as7g-ticker-detail { display: none; }
	.as7g-ticker-cta-txt { display: none; }
	.as7g-ticker-cta { padding: 0 12px; }
	.as7g-ticker-msg { font-size: 13px; }
}

/* ---------- Le numéro : le pays, puis le numéro ---------- */
.as7g-tel { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); gap: 8px; }
.as7g-tel select, .as7g-tel input { min-height: 46px; border: 1.5px solid var(--g-trait); border-radius: 8px; padding: 10px; font-size: 16px; background: var(--g-papier); color: var(--g-texte); font-family: inherit; width: 100%; min-width: 0; }
.as7g-tel select:focus, .as7g-tel input:focus { outline: 3px solid rgba(206,17,38,.25); border-color: var(--g-rouge); }

.as7g-tel-apercu { margin: 2px 0 0; font-size: 13.5px; font-weight: 600; min-height: 1em; }
.as7g-tel-apercu.is-ok { color: #15803d; }
.as7g-tel-apercu.is-ko { color: var(--g-rouge); }
.dark .as7g-tel-apercu.is-ok { color: #86efac; }

/* ---------- Le kit pour faire voter ---------- */
.as7g-kit { display: flex; flex-direction: column; gap: 12px; }
.as7g-kit-rapide { display: flex; flex-wrap: wrap; gap: 10px; }
.as7g-kit-rapide .as7g-btn { flex: 1 1 200px; }
.as7g-btn-statut { background: linear-gradient(135deg, #f58529, #dd2a7b 55%, #8134af); color: #fff !important; }
.as7g-btn-statut:hover { filter: brightness(1.06); }
.as7g-btn-facebook { background: #1877f2; color: #fff !important; }
.as7g-btn-petit { min-height: 38px; padding: 7px 12px; font-size: 14px; border-radius: 7px; }
.as7g-btn-petit:not(.as7g-btn-contour-sombre):not(.as7g-btn-facebook) { background: var(--g-rouge); color: #fff !important; }
.as7g-kit-plus { border: 1px solid var(--g-trait); border-radius: 10px; background: var(--g-papier); }
.as7g-kit-plus > summary { cursor: pointer; padding: 12px 14px; font-weight: 700; list-style: none; }
.as7g-kit-plus > summary::-webkit-details-marker { display: none; }
.as7g-kit-plus > summary::after { content: " ▾"; color: var(--g-rouge); }
.as7g-kit-plus[open] > summary::after { content: " ▴"; }
.as7g-kit-plus[open] > summary { border-bottom: 1px solid var(--g-trait); }
.as7g-kit-plus > .as7g-petit { margin: 0 14px 14px; }
.as7g-kit-visuels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; }
.as7g-kit-visuels figure { margin: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.as7g-kit-visuels img { width: 100%; height: auto; max-height: 360px; object-fit: contain; background: var(--g-fond); border-radius: 8px; border: 1px solid var(--g-trait); }
.as7g-kit-visuels figcaption { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--g-texte2); }
.as7g-kit-visuels figcaption b { flex: 1 1 100%; color: var(--g-texte); font-size: 13.5px; }
.as7g-kit-visuels figcaption span { flex: 1 1 100%; color: var(--g-texte3); font-variant-numeric: tabular-nums; }
.as7g-kit-reseaux { display: grid; grid-template-columns: 1fr; gap: 0; padding: 0 14px 6px; }
@media (min-width: 900px) { .as7g-kit-reseaux { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; } }
.as7g-kit-reseau { border-top: 1px solid var(--g-trait); padding: 12px 0; min-width: 0; }
.as7g-kit-reseau h4 { margin: 0 0 6px; font-family: var(--g-titre); font-size: 16px; }
.as7g-kit-texte { margin: 0 0 8px; font-size: 13.5px; line-height: 1.45; color: var(--g-texte2); background: var(--g-fond); border-radius: 6px; padding: 8px 10px; overflow-wrap: anywhere; }
.as7g-kit-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.as7g-apres { border-top: 1px solid var(--g-trait); padding-top: 14px; display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 90px; }
.as7g-apres[hidden] { display: none; }
.as7g-apres-titre { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.as7g-apres-titre a { color: var(--g-rouge); font-weight: 700; }
.as7g-form.is-envoye > .as7g-champ, .as7g-form.is-envoye > .as7g-champs-2, .as7g-form.is-envoye > .as7g-coche,
.as7g-form.is-envoye > button[type="submit"], .as7g-form.is-envoye > .as7g-theme-bloc, .as7g-form.is-envoye > .as7g-petit { display: none; }
.as7g-form.is-envoye .as7g-retour-form { font-size: 16px; }

/* ---------- Signaler ---------- */
.as7g-signaler { margin-top: 10px; }
.as7g-lien-discret { background: none; border: 0; padding: 4px 0; color: var(--g-texte3); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font-family: inherit; }
.as7g-lien-discret:hover { color: var(--g-rouge); }
.as7g-signaler-form { margin-top: 8px; padding: 12px; border: 1px solid var(--g-trait); border-radius: 10px; background: var(--g-papier); display: flex; flex-direction: column; gap: 8px; max-width: 460px; }
.as7g-signaler-form p:first-child { margin: 0; font-weight: 700; font-size: 14px; }
.as7g-signaler-form .as7g-btn { align-self: flex-start; }

/* ---------- L'alerte résultats ---------- */
.as7g-alerte { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: end; }
@media (min-width: 640px) { .as7g-alerte { grid-template-columns: minmax(0, 1fr) auto; } .as7g-alerte .as7g-retour-form { grid-column: 1 / -1; } }
.as7g-alerte select { min-height: 46px; border: 1.5px solid var(--g-trait); border-radius: 8px; padding: 10px; font-size: 16px; background: var(--g-papier); color: var(--g-texte); font-family: inherit; width: 100%; }

/* ---------- Le palmarès ---------- */
.as7g-palmares-semaine .as7g-entete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; }
.as7g-palmares-semaine .as7g-entete a { color: var(--g-rouge); font-weight: 600; }

/* ---------- L'avant-première ---------- */
.as7g-ouverture { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 14px 0 16px; padding: 10px 14px; border-radius: 10px; background: rgba(255, 209, 102, .14); border: 1px solid rgba(255, 209, 102, .45); max-width: 46rem; }
.as7g-ouverture b { color: var(--g-jaune); font-size: 16px; }
.as7g-ouverture span { color: #fff; font-variant-numeric: tabular-nums; }
.as7g-ouverture em { flex: 1 1 100%; font-style: normal; color: #e5e7eb; font-size: 14px; }
.as7g-exemple-tag { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-style: normal; color: #5b4300; background: #ffe7a3; padding: 2px 8px; border-radius: 100px; line-height: 1.4; }
.as7g-exemples { border: 2px dashed #e0b84a; border-radius: 14px; padding: 18px; background: rgba(255, 231, 163, .12); }
.as7g-exemples > .as7g-etiquette { color: #5b4300; background: #ffe7a3; }
.as7g-exemples .as7g-h2 { margin-top: 8px; }
.as7g-carte-exemple { opacity: .92; }
.as7g-carte-exemple .as7g-exemple-tag { position: absolute; right: 8px; top: 8px; }
.as7g-carte-exemple .as7g-carte-nom { color: var(--g-texte); }
.as7g-exemples-podium { margin-top: 18px; }
.as7g-exemples-titre { display: flex; align-items: center; gap: 8px; font-weight: 700; margin: 0 0 8px; }
.as7g-jeu-visuels .as7g-exemple-tag, .as7g-accueil-vignettes + .as7g-exemple-tag { position: absolute; right: 8px; bottom: 8px; }
.as7g-accueil-vignettes, .as7g-barre-vignettes { position: relative; }
.as7g-accueil-vignettes .as7g-exemple-tag, .as7g-barre-vignettes .as7g-exemple-tag { position: absolute; right: 6px; bottom: 6px; }
.as7g-barre-vignettes span { aspect-ratio: 3 / 4; border-radius: 6px; overflow: hidden; display: block; }
.as7g-encart-exemple { position: relative; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; display: block; }
.as7g-encart-exemple > span:last-child { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 4px 4px; background: linear-gradient(to top, rgba(91, 67, 0, .8), transparent); color: #ffe7a3; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; text-align: center; }
.as7g-voter.is-bientot, .as7g-voter.is-bientot:hover { border-color: var(--g-trait); background: var(--g-fond); color: var(--g-texte2); cursor: default; }
.as7g-btn-geant.is-bientot { font-size: 17px; }
.as7g-vide-grand { margin: 18px 0; padding: 22px; border: 2px dashed var(--g-trait); border-radius: 12px; text-align: center; color: var(--g-texte2); font-size: 16px; }
.as7g-vide-grand a { color: var(--g-rouge); font-weight: 700; }
.as7g-duel-exemple .as7g-duel-choix { cursor: default; }
.as7g-mot-exemple { border-style: dashed; }
.as7g-mot-exemple .as7g-exemple-tag { position: absolute; right: 12px; top: 12px; }
.as7g-jeu-mot .as7g-exemple-tag { align-self: flex-start; }
.as7g-calendrier { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: etape; }
@media (min-width: 900px) { .as7g-page .as7g-calendrier { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.as7g-calendrier li { counter-increment: etape; position: relative; padding: 12px 14px 12px 50px; border-radius: 10px; background: var(--g-papier); border: 1px solid var(--g-trait); display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.as7g-calendrier li::before { content: counter(etape); position: absolute; left: 14px; top: 12px; width: 24px; height: 24px; border-radius: 50%; background: var(--g-rouge); color: #fff; font-weight: 700; font-size: 13px; display: grid; place-items: center; }
.as7g-calendrier b { font-size: 15px; }
.as7g-calendrier span { color: var(--g-texte2); font-size: 14px; line-height: 1.45; }

/* ---------- Le compte (facultatif) ---------- */
.as7g [hidden], .as7g-cpt-icone[hidden] { display: none !important; }
/* L'icône de l'en-tête, posée par le script à côté de la loupe du thème. */
.as7g-cpt-icone { display: inline-flex; align-items: center; justify-content: center; line-height: 1; text-decoration: none; }
.as7g-cpt-initiale { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--color-pana-red, #ce1126); color: #fff; font-weight: 700; font-size: 13px; font-family: inherit; }
/* La case du formulaire de participation. */
.as7g-cpt-option { border: 1.5px dashed var(--g-trait); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 12px; }
.as7g-cpt-option .as7g-coche b { color: var(--g-texte); }
.as7g-cpt-champs { display: flex; flex-direction: column; gap: 12px; }
.as7g-champ > .as7g-mdp { font-weight: inherit; font-size: inherit; }
.as7g-mdp { display: flex; gap: 6px; }
.as7g-mdp input { flex: 1 1 auto; min-width: 0; }
.as7g-mdp-voir { flex: none; min-height: 46px; padding: 0 12px; border: 1.5px solid var(--g-trait); border-radius: 8px; background: var(--g-papier); color: var(--g-texte2); font-weight: 600; font-size: 13px; cursor: pointer; font-family: inherit; }
.as7g-cpt-connecte, .as7g-cpt-apres { margin: 0; padding: 10px 12px; border-radius: 8px; background: #ecfdf3; color: #14532d; font-size: 14px; }
.as7g-cpt-apres { margin-bottom: 12px; font-weight: 600; }
.as7g-cpt-apres.is-erreur { background: #fef2f2; color: #991b1b; }
.as7g-cpt-connecte a, .as7g-cpt-apres a { color: inherit; font-weight: 700; }
.dark .as7g-cpt-connecte, .dark .as7g-cpt-apres { background: #0f3020; color: #a7f3c4; }
.dark .as7g-cpt-apres.is-erreur { background: #3b1114; color: #fecaca; }
/* La page « Mon compte ». */
.as7g-wrap.as7g-cpt { max-width: 52rem; padding-block: 22px 40px; }
.as7g-cpt-message { margin: 0 0 16px; padding: 12px 14px; border-radius: 10px; font-weight: 600; font-size: 15px; background: var(--g-fond); }
.as7g-cpt-message.is-ok { background: #ecfdf3; color: #14532d; }
.as7g-cpt-message.is-erreur { background: #fef2f2; color: #991b1b; }
.dark .as7g-cpt-message.is-ok { background: #0f3020; color: #a7f3c4; }
.dark .as7g-cpt-message.is-erreur { background: #3b1114; color: #fecaca; }
.as7g-cpt-attente { color: var(--g-texte3); }
.as7g-cpt-acces { display: flex; flex-direction: column; gap: 14px; max-width: 30rem; }
.as7g-cpt-onglets { display: grid; grid-template-columns: 1fr 1fr; border: 1.5px solid var(--g-trait); border-radius: 10px; overflow: hidden; }
.as7g-cpt-onglets button { min-height: 44px; border: 0; background: var(--g-papier); color: var(--g-texte2); font-weight: 700; font-size: 14.5px; cursor: pointer; font-family: inherit; }
.as7g-cpt-onglets button[aria-selected="true"] { background: var(--g-encre); color: #fff; }
.dark .as7g-cpt-onglets button[aria-selected="true"] { background: var(--g-rouge); }
.as7g-cpt-liens { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.as7g-cpt-acces .as7g-petit a, .as7g-cpt-option .as7g-petit a { color: var(--g-rouge); font-weight: 600; }
.as7g-cpt-espace { display: flex; flex-direction: column; gap: 16px; }
.as7g-cpt-alerte { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px; border-radius: 10px; background: #fff7e0; border: 1px solid #e0b84a; color: #5b4300; }
.as7g-cpt-alerte p { margin: 0; flex: 1 1 18rem; font-size: 14.5px; }
.dark .as7g-cpt-alerte { background: #3a2f12; color: #f5d98b; border-color: #8a6d1f; }
.as7g-cpt-totaux { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
@media (max-width: 520px) { .as7g-cpt-totaux { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.as7g-cpt-total { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; min-width: 0; }
.as7g-cpt-total b { font-size: 24px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.as7g-cpt-total span { font-size: 13px; color: var(--g-texte3); }
.as7g-cpt-cta { margin: 0 0 14px; }
.as7g-cpt-liste { display: flex; flex-direction: column; gap: 14px; }
.as7g-cpt-carte { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.as7g-cpt-carte.is-en-cours { border-left: 4px solid var(--g-rouge); }
.as7g-cpt-tete { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
.as7g-cpt-visuel { flex: none; width: 84px; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; background: var(--g-fond); }
.as7g-cpt-visuel-mot { width: auto; max-width: 9rem; aspect-ratio: auto; padding: 10px 12px; background: #2b1846; color: #fff; font-family: var(--g-titre); font-weight: 700; font-size: 17px; line-height: 1.2; }
.as7g-cpt-corps { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.as7g-cpt-titre { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--g-texte3); }
.as7g-cpt-sujet { margin: 0; font-family: var(--g-titre); font-size: 19px; line-height: 1.25; overflow-wrap: anywhere; }
.as7g-cpt-etat { margin: 0; font-size: 14px; color: var(--g-texte2); }
.as7g-cpt-page { margin-top: 2px; color: var(--g-rouge) !important; font-weight: 700; font-size: 14px; text-decoration: none; }
.as7g-cpt-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.as7g-cpt-chiffres div { background: var(--g-fond); border-radius: 8px; padding: 8px 10px; min-width: 0; }
.as7g-cpt-chiffres dt { font-size: 12px; font-weight: 600; color: var(--g-texte3); }
.as7g-cpt-chiffres dd { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.as7g-cpt-chiffres small { display: block; font-size: 12px; color: var(--g-texte2); }
.as7g-cpt-mini-titre { margin: 0 0 8px; font-size: 13px; font-weight: 700; color: var(--g-texte2); }
.as7g-cpt-jours ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; align-items: end; }
.as7g-cpt-jours li { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
.as7g-cpt-jours b { min-height: 1.2em; font-size: 12px; font-variant-numeric: tabular-nums; }
.as7g-cpt-col { display: flex; align-items: flex-end; width: 100%; max-width: 34px; height: 80px; border-bottom: 1px solid var(--g-trait); }
.as7g-cpt-col i { display: block; width: 100%; background: var(--g-rouge); border-radius: 4px 4px 0 0; }
.as7g-cpt-jours small { font-size: 11px; color: var(--g-texte3); white-space: nowrap; }
.as7g-cpt-reps { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .as7g-cpt-reps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.as7g-cpt-repartition ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.as7g-cpt-repartition li { display: grid; grid-template-columns: minmax(0, 9.5rem) minmax(0, 1fr) auto; gap: 8px; align-items: center; font-size: 13.5px; }
.as7g-cpt-rep-nom { color: var(--g-texte2); line-height: 1.25; overflow-wrap: anywhere; }
.as7g-cpt-rep-barre { height: 8px; background: var(--g-fond); border-radius: 4px; overflow: hidden; }
.as7g-cpt-rep-barre i { display: block; height: 100%; background: var(--g-rouge); border-radius: 4px; }
.as7g-cpt-repartition b { font-size: 13.5px; font-variant-numeric: tabular-nums; }
.as7g-cpt-reglage { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; }
.as7g-cpt-reglage summary { cursor: pointer; padding: 14px 16px; font-weight: 700; font-size: 16px; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.as7g-cpt-reglage summary::-webkit-details-marker { display: none; }
.as7g-cpt-reglage summary::after { content: "+"; color: var(--g-rouge); font-weight: 700; }
.as7g-cpt-reglage[open] summary::after { content: "–"; }
.as7g-cpt-reglage .as7g-form { border: 0; border-top: 1px solid var(--g-trait); border-radius: 0; background: transparent; }
.as7g-cpt-reglage .as7g-form + .as7g-form { border-top-style: dashed; }
.as7g-cpt-h3 { margin: 0; font-size: 16px; font-weight: 700; }
.as7g-cpt-appareils { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--g-texte2); }
.as7g-cpt-sortie { margin: 6px 0 0; }

/* ---------- Le lexique nouchi ---------- */
.as7g-hero .as7g-surtitre a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(255, 209, 102, .5); }
.as7g-hier b a { color: inherit; text-decoration: none; }
.as7g-wrap.as7g-lex { max-width: 52rem; padding-block: 22px 40px; display: flex; flex-direction: column; gap: 16px; }
.as7g-lex .as7g-note-apercu { margin: 0; }
.as7g-lex-compte { margin: 0; color: var(--g-texte2); font-size: 15px; }
.as7g-lex-compte b { font-size: 20px; color: var(--g-texte); font-variant-numeric: tabular-nums; }
.as7g-lex-lettres { display: flex; flex-wrap: wrap; gap: 6px; }
.as7g-lex-lettres a { display: grid; place-items: center; min-width: 40px; min-height: 40px; padding: 0 8px; border: 1px solid var(--g-trait); border-radius: 8px; background: var(--g-papier); font-weight: 700; text-decoration: none; color: var(--g-texte); }
.as7g-lex-lettres a:hover { border-color: var(--g-rouge); color: var(--g-rouge); }
.as7g-lex-groupe { scroll-margin-top: 90px; }
.as7g-lex-lettre { margin: 0 0 8px; font-family: var(--g-titre); font-size: 26px; color: var(--g-rouge); }
.as7g-lexique dt a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.as7g-lexique dt a:hover { border-bottom-color: currentColor; }
.as7g-lexique dt .as7g-exemple-tag { vertical-align: 3px; margin-left: 6px; font-family: Inter, system-ui, sans-serif; }
.as7g-lex-sens { background: var(--g-papier); border: 1px solid var(--g-trait); border-left: 4px solid #2b1846; border-radius: 12px; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.as7g-lex-num { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g-texte3); }
.as7g-lex-def { margin: 0; font-family: var(--g-titre); font-size: clamp(20px, 3.4vw, 24px); line-height: 1.3; font-weight: 700; }
.as7g-lex-ex { margin: 0; font-size: 16px; font-style: italic; color: var(--g-texte2); }
.as7g-lex-ex span { display: block; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g-texte3); margin-bottom: 2px; }
.as7g-lex-qui { margin: 0; font-size: 13.5px; color: var(--g-texte3); }
.as7g-lex-partage { display: flex; flex-wrap: wrap; gap: 10px; }
.as7g-lex-partage .as7g-btn { flex: 1 1 14rem; }
.as7g-lex-voisins { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.as7g-lex-voisins a { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--g-trait); border-radius: 10px; background: var(--g-papier); text-decoration: none; color: var(--g-texte); font-family: var(--g-titre); font-weight: 700; font-size: 17px; min-width: 0; overflow-wrap: anywhere; }
.as7g-lex-voisins span { font-family: Inter, system-ui, sans-serif; font-size: 12px; font-weight: 600; color: var(--g-texte3); }
.as7g-lex-apres { grid-column: 2; text-align: right; }
.as7g-lien-fort { color: var(--g-rouge) !important; font-weight: 700; text-decoration: none; }
.as7g-lex-lien { margin: 14px 0 0; }
.as7g-lex-lien a { color: var(--g-rouge); font-weight: 700; text-decoration: none; }

/* ---------- « Mon expérience » sous les pages de démarches ---------- */
.as7g-exp { margin: 28px 0 8px; padding: 20px 16px; border-radius: 14px; background: var(--g-fond); border: 1px solid var(--g-trait); display: flex; flex-direction: column; gap: 16px; }
.as7g-exp .as7g-surtitre { color: var(--g-rouge); margin: 0 0 4px; }
.as7g-exp .as7g-h2 { margin: 0 0 8px; }
.as7g-exp-intro { margin: 0; color: var(--g-texte2); font-size: 15px; line-height: 1.5; max-width: 62ch; }
.as7g-exp .as7g-note-apercu { margin: 10px 0 0; }
.as7g-exp-resumes { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .as7g-exp-resumes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.as7g-exp-resume { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.as7g-exp-resume-titre { margin: 0; font-weight: 700; font-size: 15px; }
.as7g-exp-resume-source { margin: 0; font-size: 12.5px; color: var(--g-texte3); }
.as7g-exp-resume-chiffres { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13.5px; color: var(--g-texte2); }
.as7g-exp-resume-chiffres b { display: block; font-size: 19px; color: var(--g-texte); font-variant-numeric: tabular-nums; }
.as7g-exp-resume-vide { margin: 0; font-size: 13.5px; color: var(--g-texte2); }
.as7g-exp-filtres { display: flex; flex-wrap: wrap; gap: 6px; }
.as7g-exp-filtres button { min-height: 38px; padding: 0 14px; border-radius: 100px; border: 1.5px solid var(--g-trait); background: var(--g-papier); color: var(--g-texte2); font-weight: 700; font-size: 13.5px; cursor: pointer; font-family: inherit; }
.as7g-exp-filtres button[aria-pressed="true"] { background: var(--g-encre); border-color: var(--g-encre); color: #fff; }
.dark .as7g-exp-filtres button[aria-pressed="true"] { background: var(--g-rouge); border-color: var(--g-rouge); }
.as7g-exp-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.as7g-exp-carte { background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.as7g-exp-carte.is-nouveau { border-color: var(--g-vert); box-shadow: 0 0 0 1px var(--g-vert) inset; }
.as7g-exp-meta { margin: 0; font-size: 13px; color: var(--g-texte3); }
.as7g-exp-meta b { color: var(--g-texte); }
.as7g-exp-chiffres { margin: 0; font-size: 15px; }
.as7g-exp-conseil { margin: 0; font-size: 15px; line-height: 1.5; color: var(--g-texte2); border-left: 3px solid var(--g-trait); padding-left: 10px; overflow-wrap: anywhere; }
.as7g-exp-pied { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--g-texte3); }
.as7g-exp-pied .as7g-signaler { display: block; }
.as7g-exp-vide { margin: 0; padding: 14px; border: 1.5px dashed var(--g-trait); border-radius: 10px; text-align: center; color: var(--g-texte2); }
.as7g-exp-plus { margin: 0; text-align: center; }
.as7g-exp-form { gap: 12px; }
.as7g-exp-form-titre { margin: 0; font-family: var(--g-titre); font-size: 20px; }
.as7g-exp-form textarea { min-height: 92px; border: 1.5px solid var(--g-trait); border-radius: 8px; padding: 10px 12px; font-size: 16px; background: var(--g-papier); color: var(--g-texte); font-family: inherit; width: 100%; resize: vertical; }
.as7g-exp-form textarea:focus { outline: 3px solid rgba(206,17,38,.25); border-color: var(--g-rouge); }
.as7g-exp-form input:disabled { opacity: .5; }
.as7g-exp-canal { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.as7g-exp-canal legend { font-weight: 600; font-size: 14px; margin-bottom: 6px; padding: 0; }

/* Le partenaire de la semaine : « Présenté par », son logo, son offre, son code promo */
.as7g-sponsor-bloc { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 12px 0; padding: 10px 14px; background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 12px; color: var(--g-texte); }
.as7g-sponsor-tag { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g-texte3); }
.as7g-sponsor-nom { display: inline-flex; align-items: center; color: var(--g-texte); text-decoration: none; }
.as7g-sponsor-nom img { display: block; width: auto; max-height: 40px; max-width: 160px; background: #fff; border-radius: 6px; padding: 2px 4px; }
.as7g-sponsor-offre { flex-basis: 100%; font-size: 14px; }
.as7g-sponsor-code { border: 1.5px dashed var(--g-rouge); background: transparent; color: var(--g-rouge); border-radius: 8px; padding: 6px 10px; font: inherit; font-size: 13px; cursor: pointer; }
.as7g-sponsor-bloc.is-court { padding: 8px 12px; }
.as7g-sponsor-bloc.is-court .as7g-sponsor-nom img { max-height: 30px; }
.as7g-sponsor-bloc.is-mini { display: inline-flex; flex-wrap: nowrap; margin: 0 8px; padding: 0; border: 0; background: none; gap: 6px; color: inherit; }
.as7g-sponsor-bloc.is-mini .as7g-sponsor-tag { font-size: 10px; color: inherit; opacity: .8; }
.as7g-sponsor-bloc.is-mini .as7g-sponsor-nom { color: inherit; }
.as7g-sponsor-bloc.is-mini .as7g-sponsor-nom img { max-height: 20px; max-width: 90px; }
@media (max-width: 700px) { .as7g-ticker .as7g-sponsor-bloc.is-mini .as7g-sponsor-tag { display: none; } }

/* Les questions facultatives du formulaire photo */
.as7g-facultatif { border: 1.5px dashed var(--g-trait); border-radius: 10px; padding: 10px 12px; }
.as7g-facultatif > summary { cursor: pointer; font-weight: 600; }
.as7g-facultatif[open] { display: flex; flex-direction: column; gap: 10px; }
.as7g-facultatif select, .as7g-motifs-commune select { width: 100%; }

/* Le Duel des motifs */
.as7g-motifs-question { font-size: 18px; margin: 0 0 10px; }
.as7g-motifs-commune { display: block; max-width: 320px; margin: 10px 0 14px; }
.as7g-motifs-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.as7g-motifs-grille.is-occupe { opacity: .6; pointer-events: none; }
.as7g-motif { margin: 0; background: var(--g-papier); border: 1px solid var(--g-trait); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.as7g-motif img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.as7g-motif figcaption { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 8px; }
.as7g-motif.is-choisi { border-color: var(--g-rouge); box-shadow: inset 0 0 0 2px var(--g-rouge); }
.as7g-motif-resultat { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; }
.as7g-motif-resultat i { display: block; height: 10px; background: var(--g-rouge); border-radius: 5px; transition: width .6s ease; }

/* ---------- L'envie d'en être, avec des chiffres vrais (fomo.php, 0.7.2) ---------- */
[data-as7g-dernieres][hidden], [data-as7g-min][hidden] { display: none !important; }
.as7g-pionnier { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #1a1a1a; background: linear-gradient(135deg, #f6d36b, var(--g-or)); padding: 3px 9px; border-radius: 100px; line-height: 1.3; white-space: nowrap; box-shadow: 0 1px 2px rgba(0,0,0,.18); }
.as7g-carte-visuel .as7g-pionnier { position: absolute; left: 8px; bottom: 8px; font-size: 10.5px; }
.as7g-grille-mini .as7g-carte-visuel .as7g-pionnier { left: 5px; bottom: 5px; font-size: 9.5px; padding: 2px 7px; }
.as7g-membre-info .as7g-pionnier { margin: -2px 0 10px; font-size: 12px; }
.as7g-pionniers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 10px 0 0; font-size: 14px; color: var(--g-texte2); }
.as7g-pionniers-petit { font-size: 13px; margin-top: 6px; }
.as7g-pionniers-hero { color: inherit; margin: 0 0 16px; }
.as7g-encart .as7g-pionniers { font-size: 13px; margin: 6px 0 10px; }
.as7g-accueil-ouvert .as7g-pionniers, .as7g-hero .as7g-pionniers { color: rgba(255, 255, 255, .86); }
.as7g-ticker-or { color: var(--g-jaune); font-weight: 600; }
.as7g-dernieres { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 14px 0; padding: 10px 14px; border-radius: 10px; background: var(--g-rouge); color: #fff; font-size: 14px; max-width: 46rem; }
.as7g-dernieres b { text-transform: uppercase; letter-spacing: .06em; font-size: 12.5px; }
.as7g-dernieres .as7g-compte { font-weight: 700; font-variant-numeric: tabular-nums; }
.as7g-ticker-urgent { background: var(--g-rouge); }
.as7g-ticker-urgent .as7g-ticker-fin { color: #fff; font-weight: 700; }
.as7g-mot-sortie { margin: 6px 0 0; font-size: 12.5px; color: var(--g-rouge); }
