:root{
  --bleu:#4E47DC; --bleu-d:#3F39C0; --bleu-soft:#EEF0FF; --jaune:#FFE600;
  --bg:#F6F7FB; --encre:#23232B; --gris:#6B6B76; --ligne:rgba(20,20,40,.09);
  --sans:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:'Cormorant Garamond',serif; --mono:'DM Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--bg);color:var(--encre);font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
main{min-height:50vh}

/* HEADER (base validée : barre bleue) */
header.site{background:var(--bleu)}
header.site.sticky{position:sticky;top:0;z-index:40}
header.site .wrap{display:flex;align-items:center;height:90px}
.logo{font-weight:800;font-size:21px;color:#fff;letter-spacing:-.3px;display:flex;align-items:center}
.logo img{height:65px;width:auto;display:block;margin:auto 0}
.logo .d{color:var(--jaune)}
nav.main{display:flex;align-items:center;gap:24px;margin-left:auto}
nav.main a{color:#fff;font-size:14.5px;font-weight:300;opacity:.9;padding-bottom:2px;border-bottom:2px solid transparent;white-space:nowrap}
nav.main a:hover{opacity:1}
nav.main a.first{font-weight:700;opacity:1;border-bottom-color:#fff}
nav.main .msearch{display:none}
.hright{margin-left:auto;display:flex;align-items:center;gap:12px}
.hsearch{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.16);border-radius:999px;padding:7px 13px}
.hsearch svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2}
.hsearch input{border:none;background:none;outline:none;color:#fff;font:inherit;font-size:13.5px;width:150px}
.hsearch input::placeholder{color:rgba(255,255,255,.7)}
.cta{background:var(--jaune);color:var(--bleu-d);border-radius:999px;padding:8px 15px;font-weight:700;font-size:13px;white-space:nowrap}
nav.main .cta{display:none}
.burger{display:none;width:42px;height:42px;border:none;background:rgba(255,255,255,.16);border-radius:10px;cursor:pointer;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:#fff;border-radius:2px}
.burger span{position:relative}
.burger span::before,.burger span::after{content:'';position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}

@media(max-width:860px){
  .hright .hcta,.hright .hsearch{display:none}
  .burger{display:flex}
  nav.main{position:absolute;left:0;right:0;top:62px;margin:0;flex-direction:column;gap:0;align-items:stretch;background:var(--bleu-d);padding:8px 20px 16px;display:none;z-index:50;box-shadow:0 14px 30px rgba(0,0,0,.28)}
  nav.main.open{display:flex}
  nav.main a{opacity:1;font-size:16px;font-weight:600;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  nav.main a.first{border-bottom-color:rgba(255,255,255,.14)}
  nav.main .msearch{display:flex;margin-top:10px}
  nav.main .msearch input{width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:999px;padding:11px 14px;color:#fff;font:inherit;outline:none}
  nav.main .msearch input::placeholder{color:rgba(255,255,255,.55)}
  nav.main .cta{display:block;margin:12px 0 0;text-align:center}
}

/* FOOTER (base validée : bleu nuit) + options newsletter/social */
footer.site{margin-top:36px;background:#0F172A;color:#fff}
footer.site .wrap{padding-top:22px;padding-bottom:22px}
.fnews{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.fnews .nt{font-family:var(--serif);font-size:19px;font-weight:600}
.fnews form{display:flex;gap:8px;flex:1;max-width:360px;min-width:220px}
.fnews input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);border-radius:999px;padding:9px 14px;color:#fff;font:inherit;font-size:13.5px;outline:none}
.fnews input::placeholder{color:rgba(255,255,255,.45)}
.fnews button{border:none;background:var(--jaune);color:var(--bleu-d);border-radius:999px;padding:9px 15px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}
.fline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;font-weight:300}
.fline a{opacity:.85}.fline a:hover{opacity:1}
.fline .dicos{opacity:.85}
.fline .soc{margin-left:auto;display:flex;gap:7px}
.fline .soc a{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;opacity:1}
.fline .soc a:hover{background:var(--jaune);color:var(--bleu-d)}

/* HERO / HOME */
.hero{padding:64px 0 30px;text-align:center}
.hero .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bleu)}
.hero h1{font-family:var(--serif);font-weight:600;font-size:52px;line-height:1.02;margin:10px 0 22px}
.bigsearch{display:flex;gap:8px;max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--ligne);border-radius:999px;padding:7px 7px 7px 18px;box-shadow:0 10px 30px rgba(20,20,40,.06)}
.bigsearch input{flex:1;min-width:0;border:none;outline:none;font:inherit;font-size:16px;background:none}
.bigsearch button{border:none;background:var(--bleu);color:#fff;border-radius:999px;padding:12px 24px;font:inherit;font-weight:700;cursor:pointer}
.bigsearch button:hover{background:var(--bleu-d)}
.hero .hint{color:var(--gris);font-size:13px;margin-top:14px}
.home-stub{padding:30px 20px 10px;color:var(--gris);text-align:center}

/* RÉSULTATS DE RECHERCHE */
.results{padding:30px 20px 50px}
.bigsearch.sm{max-width:480px;margin:0 0 22px}
.results h1{font-family:var(--serif);font-weight:600;font-size:34px}
.results h1 em{font-style:italic;color:var(--bleu)}
.results .count{color:var(--gris);font-size:13px;margin:6px 0 18px}
.results .count .tag{background:var(--bleu-soft);color:var(--bleu);border-radius:999px;padding:2px 9px;font-weight:700;font-size:11px;margin-left:6px}
.results .msg{color:var(--gris);background:#fff;border:1px dashed var(--ligne);border-radius:12px;padding:22px;text-align:center}
.rhymes{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:8px}
.rhymes li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--ligne);border-radius:10px;padding:9px 13px}
.rhymes .w{font-family:var(--serif);font-size:19px;font-weight:600}
.rhymes .p{font-family:var(--mono);font-size:11px;color:var(--gris)}
.pager{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:26px}
.pager a{color:var(--bleu);font-weight:700;font-size:14px}
.pager .pos{font-family:var(--mono);font-size:12px;color:var(--gris)}

/* STUB / 404 */
.stub{padding:60px 20px;text-align:center}
.stub .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bleu)}
.stub h1{font-family:var(--serif);font-weight:600;font-size:40px;margin:8px 0 10px}
.stub .slug{color:var(--gris);font-size:13px}
.stub code{font-family:var(--mono);background:var(--bleu-soft);color:var(--bleu);padding:2px 7px;border-radius:6px}

@media(max-width:560px){.hero h1{font-size:38px}.results h1{font-size:28px}}
