/* ---------- comptes : bouton, fenêtre, menu, favoris ---------- */
.acct{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--sans);letter-spacing:.02em;color:var(--ink);background:var(--gold);border:0;border-radius:99px;padding:9px 16px;cursor:pointer;white-space:nowrap;transition:.2s}
.acct:hover{filter:brightness(1.08);transform:translateY(-1px)}
.acct .as{opacity:.75;font-weight:500}
.acct.on{background:rgba(255,255,255,.08);color:var(--txt);padding:5px 14px 5px 5px;border:1px solid var(--line)}
.acct.on:hover{border-color:var(--gold)}
.av{width:28px;height:28px;border-radius:50%;background:var(--gold);color:#000;display:grid;place-items:center;font:700 13px var(--sans)}
.acctwrap{position:relative}
.acctmenu{position:absolute;right:0;top:calc(100% + 10px);min-width:250px;background:#15151a;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 24px 60px -20px rgba(0,0,0,.8);z-index:60}
.acctmenu[hidden]{display:none}
.acctmenu .who{padding:12px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:6px;display:grid;gap:2px}
.acctmenu .who small{color:var(--mute);word-break:break-all}
.acctmenu .role{justify-self:start;margin-top:6px;font:700 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#000;background:var(--gold);padding:3px 9px;border-radius:99px}
.acctmenu a,.acctmenu button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--txt);font:500 14px var(--sans);padding:10px 12px;border-radius:10px;cursor:pointer}
.acctmenu a:hover,.acctmenu button:hover{background:rgba(255,255,255,.07)}
.acctmenu .danger{color:#ff8a80}
@media(max-width:720px){.acct .as{display:none}.acct{padding:8px 13px}.acct.on .an{display:none}.acct.on{padding:3px}}

.amodal{position:fixed;inset:0;z-index:120;background:rgba(6,6,8,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px}
.abox{position:relative;width:100%;max-width:420px;background:#15151a;color:var(--txt);border:1px solid var(--line);border-radius:22px;padding:26px 26px 28px;box-shadow:0 40px 100px -30px rgba(0,0,0,.9)}
.aclose{position:absolute;right:12px;top:10px;width:36px;height:36px;border-radius:50%;border:0;background:none;color:var(--mute);font-size:26px;line-height:1;cursor:pointer}.aclose:hover{color:var(--txt)}
.atabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--ink);padding:5px;border-radius:14px;margin:6px 28px 20px 0}
.atabs button{border:0;border-radius:10px;padding:10px;background:none;color:var(--mute);font:600 14px var(--sans);cursor:pointer}
.atabs button.on{background:var(--txt);color:#000}
.amsg{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:rgba(230,192,103,.12);color:var(--gold);font-size:14px}
.abox form{display:grid;gap:14px}
.abox label{display:grid;gap:6px;font:600 13px var(--sans);color:#d8d2c4}
.abox label small{font-weight:400;color:var(--mute)}
.abox input{font:400 16px var(--sans);padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--ink);color:var(--txt);width:100%}
.abox input:focus{outline:none;border-color:var(--gold)}
.alegal{margin:0;font-size:12.5px;color:var(--mute);line-height:1.5}.alegal a{text-decoration:underline}
.aerr{padding:10px 14px;border-radius:12px;background:#3b1412;color:#ffb4ab;font-size:14px}.aerr[hidden]{display:none}
.abtn{font:700 15px var(--sans);padding:14px 18px;border-radius:12px;border:0;background:var(--gold);color:#000;cursor:pointer;width:100%}
.abtn:disabled{opacity:.6;cursor:wait}.abtn:hover:not(:disabled){filter:brightness(1.08)}

.favbtn{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--sans);padding:8px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.22);background:rgba(18,18,22,.5);color:var(--txt);cursor:pointer;transition:.2s}
.favbtn:hover{border-color:#ff7a8a;color:#ff9aa6}
.favbtn.on{background:#ff4d6a;border-color:#ff4d6a;color:#fff}

/* ---------- quiz de fin d'article ---------- */
.quiz{margin-top:56px;padding:30px;border-radius:22px;background:#17150f;color:#f1ede6;font-family:var(--sans)}
.quiz h3{margin:0 0 18px;font:500 1.7rem var(--serif);letter-spacing:-.02em;color:#fff}
.qprog{display:grid;gap:8px;margin-bottom:18px;font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#b8b1a2}
.qprog i{display:block;height:4px;border-radius:99px;background:var(--cc);transition:width .4s}
.qprog:after{content:"";display:block;height:4px;margin-top:-12px;border-radius:99px;background:#ffffff1a;z-index:-1}
.qq{font:500 1.25rem/1.4 var(--serif);margin:0 0 18px;color:#fff}
.qopts{display:grid;gap:10px}
.qopt{display:flex;gap:14px;align-items:flex-start;text-align:left;width:100%;padding:14px 16px;border-radius:14px;border:1.5px solid #ffffff26;background:#ffffff0d;color:#f1ede6;font:500 16px/1.4 var(--sans);cursor:pointer;transition:.18s}
.qopt b{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ffffff1f;font-size:13px}
.qopt:hover:not(:disabled){border-color:var(--gold);background:#ffffff14}
.qopt:disabled{cursor:default}
.qopt.good{border-color:#4ade80;background:#4ade8022}.qopt.good b{background:#4ade80;color:#000}
.qopt.bad{border-color:#ff6b6b;background:#ff6b6b22}.qopt.bad b{background:#ff6b6b;color:#000}
.qfb{margin-top:16px;padding:14px 16px;border-radius:14px;font-size:15.5px;line-height:1.55}
.qfb p{margin:0 0 12px}.qfb.ok{background:#4ade8018}.qfb.ko{background:#ff6b6b18}
.qbtn{font:700 14px var(--sans);padding:11px 20px;border-radius:99px;border:0;background:var(--gold);color:#000;cursor:pointer}
.qscore{display:flex;align-items:baseline;gap:8px;margin:0 0 10px}.qscore b{font:500 4rem/1 var(--serif);color:var(--gold)}.qscore span{font:500 1.4rem var(--serif);color:#b8b1a2}

.ah{margin:0 0 14px;font:500 1.5rem var(--serif);letter-spacing:-.02em}
.amsg2{margin:0 0 16px;color:#d8d2c4;font-size:15px;line-height:1.55}.amsg2 a{text-decoration:underline;color:var(--gold)}
.alink{background:none;border:0;padding:0;color:var(--gold);font:600 13px var(--sans);text-align:left;cursor:pointer;justify-self:start;text-decoration:underline;text-underline-offset:3px}
.abox .alink{margin-top:-4px}
.reinit form{display:grid;gap:16px;max-width:420px;margin-top:20px}
.reinit label{display:grid;gap:6px;font:600 14px var(--sans);color:#17150f}
.reinit input{font:400 16px var(--sans);padding:13px 14px;border-radius:12px;border:1.5px solid var(--pline);background:#fffdf8;color:#17150f;width:100%}
.reinit input:focus{outline:none;border-color:#17150f}
.reinit .aerr{background:#fbdcd9;color:#7a1610}
.tempcode{font:600 1.2rem ui-monospace,Consolas,monospace;background:#fffdf8;padding:4px 10px;border-radius:8px;border:1px solid var(--pline);user-select:all}

/* ---------- rubriques de l'accueil : le nom en grand, le nombre d'articles en petit ---------- */
.tile .tn{margin:0;font:400 clamp(2rem,3.4vw,3rem)/1.02 var(--serif);letter-spacing:-.03em;color:var(--c);overflow-wrap:anywhere}
.tile .tcount{margin:0 0 14px;font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* ---------- noms de rubriques : jamais coupés (la taille s'adapte à la largeur disponible) ---------- */
.tile{container-type:inline-size}
.tile .tn{font-size:clamp(1.45rem,12.5cqi,3rem);overflow-wrap:break-word;hyphens:auto;max-width:100%}
.rhead h1{font-size:clamp(2.5rem,11vw,9rem);overflow-wrap:break-word;hyphens:auto}

/* ---------- newsletter dans le pied de page ---------- */
.newsf{grid-column:1/-1;display:grid;gap:8px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#101014}
.newsf[hidden]{display:none}
.newsf b{font:500 1.3rem var(--serif);letter-spacing:-.01em}.newsf>span{color:var(--mute);font-size:14.5px}
.nf-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.nf-row input[type=email]{flex:1;min-width:220px;font:400 16px var(--sans);padding:13px 16px;border-radius:99px;border:1.5px solid var(--line);background:var(--ink);color:var(--txt)}
.nf-row input[type=email]:focus{outline:none;border-color:var(--gold)}
.nf-row button{font:700 14px var(--sans);padding:13px 24px;border-radius:99px;border:0;background:var(--gold);color:#000;cursor:pointer}
.nf-row button:disabled{opacity:.6;cursor:wait}
.nfmsg{margin:4px 0 0;font-size:14px}.nfmsg.ok{color:#8be0a4}.nfmsg.err{color:#ffb4ab}.nfmsg[hidden]{display:none}

/* ---------- recherche ---------- */
.sbtn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--txt);cursor:pointer;transition:.2s}
.sbtn:hover{border-color:var(--gold);color:var(--gold)}
.smodal{position:fixed;inset:0;z-index:130;background:rgba(6,6,8,.72);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-start;padding:max(12px,8vh) 16px 16px}
.sbox{width:100%;max-width:680px;max-height:84vh;overflow:auto;background:#15151a;border:1px solid var(--line);border-radius:22px;box-shadow:0 40px 100px -30px rgba(0,0,0,.9)}
#sform{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#15151a;color:var(--mute)}
#s-in{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--txt);font:500 18px var(--sans)}
#s-in::placeholder{color:var(--mute)}#s-in::-webkit-search-cancel-button{display:none}
.sclose{font:600 11px var(--sans);letter-spacing:.06em;color:var(--mute);border:1px solid var(--line);background:none;border-radius:8px;padding:5px 9px;cursor:pointer}
.sres{padding:8px 8px 12px}
.sr{display:grid;gap:3px;padding:12px 14px;border-radius:14px;color:var(--txt);transition:.12s}
.sr:hover,.sr.sel{background:rgba(255,255,255,.07)}
.sr .kicker{font-size:11px}.sr b{font:500 1.08rem/1.3 var(--serif);letter-spacing:-.01em}
.sr small{color:var(--mute);font-size:13.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sall{display:block;margin:6px 6px 0;padding:12px 14px;border-radius:12px;background:rgba(230,192,103,.12);color:var(--gold);font:600 14px var(--sans);text-align:center}
.slab{margin:10px 14px 6px;font:700 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.schips{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 8px}
.schips a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;border:1px solid var(--line);font:600 13px var(--sans);color:var(--txt)}
.schips a i{width:8px;height:8px;border-radius:50%;background:var(--c)}.schips a:hover{border-color:var(--c)}
.snone{margin:10px 14px 2px;font:500 1.1rem var(--serif)}.sdim{margin:0 14px 8px;color:var(--mute);font-size:14px}
mark{background:rgba(230,192,103,.32);color:inherit;border-radius:3px;padding:0 1px}
.spage{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 14px;max-width:640px}
.spage input{flex:1;min-width:220px;font:500 18px var(--sans);padding:14px 18px;border-radius:99px;border:1.5px solid var(--line);background:var(--ink);color:var(--txt)}
.spage input:focus{outline:none;border-color:var(--gold)}
.spage button{font:700 14px var(--sans);padding:14px 26px;border-radius:99px;border:0;background:var(--gold);color:#000;cursor:pointer}
.sfilters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.sfilters .chip{border-color:var(--line);color:var(--txt);background:none}.sfilters .chip.on{background:var(--gold);color:#000;border-color:var(--gold)}
.rlist .row[hidden]{display:none}
.sempty{max-width:760px}.sempty .sr{border:1px solid var(--line);margin-bottom:8px}
@media(max-width:720px){.smodal{padding-top:10px}.sbox{max-height:92vh}#s-in{font-size:16px}.sclose{display:none}}
