/* Police Rethink Sans, auto-hébergée (RGPD, pas de CDN Google) */
@font-face{font-family:'Rethink Sans';font-style:normal;font-weight:400 800;font-display:swap;
  src:url('fonts/RethinkSans-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Rethink Sans';font-style:normal;font-weight:400 800;font-display:swap;
  src:url('fonts/RethinkSans-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Rethink Sans';font-style:italic;font-weight:400 700;font-display:swap;
  src:url('fonts/RethinkSans-italic-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Rethink Sans';font-style:italic;font-weight:400 700;font-display:swap;
  src:url('fonts/RethinkSans-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Playfair Display — thème lotfi.photo (display/titres) */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700 800;font-display:swap;
  src:url('fonts/PlayfairDisplay-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700 800;font-display:swap;
  src:url('fonts/PlayfairDisplay-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Nunito — thème lotfi.photo (corps) */
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('fonts/Nunito-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('fonts/Nunito-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Palette définie dans theme.css (chargé avant ce fichier) */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font-body,'Rethink Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);line-height:1.55;}
h1,h2{font-family:var(--font-display,Georgia,'Times New Roman',serif);font-weight:var(--font-weight-display,800);}
.wrap{max-width:720px;margin:0 auto;padding:24px 18px 80px;}
.brand{text-align:center;margin:6px 0 18px;}
.brand img{height:44px;width:auto;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card,14px);
  padding:30px 28px;box-shadow:0 1px 3px rgba(20,32,46,.05);}
h1{font-size:1.7rem;line-height:1.25;margin:.2em 0 .4em;}
h2{font-size:1.25rem;margin:0 0 .2em;}
h3{font-size:1rem;margin:1.4em 0 .5em;color:var(--ink);}
p.lead{color:var(--ink2);font-size:1.05rem;}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--accent);}
.stepcount{float:right;font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.04em;}
.progress{height:5px;background:var(--line);border-radius:var(--radius-pill,99px);margin:0 0 26px;overflow:hidden;}
.progress>i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s;}
.q{margin:0 0 24px;padding-bottom:4px;}
.q+.q{border-top:1px solid var(--line);padding-top:22px;}
.q>label.qt{display:block;font-weight:650;margin-bottom:10px;font-size:1.02rem;}
.req{color:var(--hot);}
.hint{color:var(--muted);font-size:.83rem;font-weight:400;font-style:italic;margin-top:5px;}
.opt-note{display:block;font-size:.78rem;font-style:italic;color:var(--muted);margin-top:3px;font-weight:400;}
.opts{display:flex;flex-direction:column;gap:9px;}
.opt{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-ui,10px);
  padding:12px 14px;cursor:pointer;transition:.12s;background:#fcfdff;}
.opt:hover{border-color:#b8c6da;background:#f6f9ff;}
.opt input{margin-top:3px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--accent);}
.opt.sel{border-color:var(--accent);background:#eef4fc;box-shadow:inset 0 0 0 1px var(--accent);}
.opt span{font-size:.96rem;}
label.field{display:block;font-weight:650;margin:0 0 7px;font-size:.98rem;}
input[type=email],select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-ui,10px);
  font-size:.98rem;background:#fcfdff;color:var(--ink);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.consent{display:flex;gap:11px;align-items:flex-start;margin:12px 0;}
.consent input{margin-top:3px;width:17px;height:17px;accent-color:var(--accent);flex:0 0 auto;}
.rgpd{background:#f6f9fc;border:1px solid var(--line);border-radius:var(--radius-ui,10px);padding:14px 16px;font-size:.85rem;color:var(--ink2);margin:8px 0 4px;}
.nav{display:flex;justify-content:space-between;margin-top:26px;gap:12px;}
button{font:inherit;cursor:pointer;border-radius:var(--radius-ui,10px);padding:12px 22px;border:1px solid transparent;font-weight:650;}
.btn{background:var(--accent);color:var(--btn-fg,var(--ink));}
.btn:hover{background:var(--accent-d);}
.btn.lg{padding:14px 28px;font-size:1.05rem;}
.ghost{background:#fff;color:var(--ink2);border-color:var(--line);}
.ghost:hover{border-color:#b8c6da;}
.linklike{background:none;border:none;color:var(--muted);text-decoration:underline;padding:0;font-weight:500;font-size:.85rem;}
.err{color:var(--hot);font-size:.85rem;margin-top:10px;display:none;}
.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill,99px);font-size:.78rem;font-weight:700;letter-spacing:.02em;}
.b-hot{background:#fbe6dd;color:var(--hot);}.b-warm{background:#fbf2d3;color:var(--warm);}.b-cool{background:#e6f1e3;color:var(--cool);}
.reveal{border-left:5px solid var(--signal);background:var(--lblue);padding:16px 18px;border-radius:0 var(--radius-ui,10px) var(--radius-ui,10px) 0;margin:18px 0;}
.reveal strong{color:var(--ink);}
.signal{background:var(--grey);border:1px solid var(--line);border-radius:var(--radius-ui,10px);padding:12px 15px;font-size:.92rem;margin:14px 0;}
.gauge{height:12px;background:var(--line);border-radius:var(--radius-pill,99px);overflow:hidden;margin:8px 0 4px;}
.gauge>i{display:block;height:100%;border-radius:var(--radius-pill,99px);}
.meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:18px 0;}
.tile{border:1px solid var(--line);border-radius:var(--radius-card,14px);padding:14px 16px;background:#fcfdff;}
.tile .t{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;}
.tile .v{font-size:1.05rem;font-weight:700;margin-top:3px;}
ol.actions{padding-left:0;list-style:none;counter-reset:a;margin:10px 0;}
ol.actions li{counter-increment:a;position:relative;padding:12px 14px 12px 46px;border:1px solid var(--line);
  border-radius:var(--radius-ui,10px);margin-bottom:10px;background:#fcfdff;}
ol.actions li::before{content:counter(a);position:absolute;left:12px;top:12px;width:24px;height:24px;background:var(--accent);
  color:var(--btn-fg,#fff);border-radius:50%;text-align:center;line-height:24px;font-size:.82rem;font-weight:700;}
.cta{background:var(--ink);color:#fff;border-radius:var(--radius-card,14px);padding:22px 24px;margin-top:24px;}
.cta h3{color:#fff;margin-top:0;}.cta p{color:#c9d3e0;margin:.3em 0 1em;}
.cta a{display:inline-block;background:var(--accent);color:var(--btn-fg,#fff);text-decoration:none;padding:12px 22px;border-radius:var(--radius-ui,10px);font-weight:650;}
.small{font-size:.8rem;color:var(--muted);}
a.ext{color:var(--accent);font-weight:600;}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:10px 0 4px;}
.colbox{border:1px solid var(--line);border-radius:var(--radius-ui,10px);padding:12px 14px;background:#fcfdff;}
.colbox h4{margin:0 0 6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;}
.colbox.good h4{color:var(--cool);} .colbox.gap h4{color:var(--hot);}
.colbox ul{margin:0;padding-left:18px;} .colbox li{font-size:.9rem;margin:3px 0;}
.miss-list li{margin-bottom:10px;}
.mat-explain{display:block;color:var(--ink2);font-size:.86rem;margin-top:3px;font-weight:400;}
.context-notes{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.cnote{background:var(--grey);padding:13px 15px;}
.cnote-label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted);margin-bottom:5px;}
.cnote p{margin:0;font-size:.94rem;}
.mockup-tag{text-align:center;font-size:.74rem;color:var(--muted);margin-top:18px;}
@media(max-width:520px){.meta,.grid2,.cols{grid-template-columns:1fr}}
ol.cover-themes{list-style:none;padding:0;margin:22px 0;}
ol.cover-themes li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-weight:650;}
ol.cover-themes li:last-child{border-bottom:none;}
ol.cover-themes li span{flex:0 0 auto;width:30px;height:30px;background:var(--accent);color:var(--btn-fg,var(--ink));display:inline-flex;align-items:center;justify-content:center;font-weight:800;}
.footlinks{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:20px;font-size:.82rem;}
.footlinks a{color:var(--muted);text-decoration:none;}
.footlinks a:hover{text-decoration:underline;}

/* Impression */
@media print {
  .nav, .linklike, .ghost { display: none !important; }
  body { background: #fff !important; }
}
