:root{--bg:#f2f3f5;--surface:#fff;--ink:#16181a;--muted:#61666c;--line:#e0e3e6;--blue:#1d58c9;--blue-soft:#e2edfb;--band:#232528;--band-ink:#f2ede6;
--cream:#fbf3e6;--cream2:#fffaf2;--pine:#2f5d50;--pine-soft:#d7e6dc;--copper:#d9572b;--ok:#17914f;--ok-soft:#ddf3e5;--warn:#b06a00;--warn-soft:#fdf1da;
--fd:Outfit,Arial,sans-serif;--fb:Manrope,Arial,sans-serif;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--fb)}
h1,h2,h3{font-family:var(--fd);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(32px,6vw,56px);font-weight:800}h2{font-size:clamp(26px,4vw,38px);font-weight:700}h3{font-size:20px;font-weight:700}
a{color:var(--blue)}img{max-width:100%}p{margin:0 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.sec{padding:64px 0}.center{text-align:center}.muted{color:var(--muted)}
.eyebrow{font:600 13px var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:14px;border:2px solid transparent;font:700 16px var(--fd);text-decoration:none;cursor:pointer;background:var(--blue);color:#fff;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(29,88,201,.28)}.btn:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7aa7ee;outline-offset:2px}
.btn.alt{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.dark{background:var(--band)}.btn.pine{background:var(--pine)}.btn.block{width:100%}
nav.top{position:sticky;top:0;z-index:50;background:rgba(242,243,245,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;gap:14px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;font:800 22px var(--fd);color:var(--ink);text-decoration:none;margin-right:auto}.logo img{width:34px;height:34px;border-radius:9px}
nav.top .links{display:flex;gap:4px}nav.top .links a{padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}nav.top .links a:hover{background:var(--line)}
nav.top .btn{min-height:42px;padding:0 16px;font-size:15px}
@media(max-width:860px){nav.top .links{display:none}nav.top .btn.alt{display:none}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.tag{display:inline-block;padding:3px 10px;border-radius:99px;font:700 12px var(--fd);letter-spacing:.04em}
.tag.ob{background:#fde3e1;color:#a5261f}.tag.re{background:var(--blue-soft);color:var(--blue)}
details.faq{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px}
details.faq summary{cursor:pointer;list-style:none;padding:16px 50px 16px 18px;font:700 17px var(--fd);position:relative;min-height:48px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:18px;top:11px;font-size:26px;color:var(--blue);font-weight:500}
details.faq[open] summary::after{content:"−"}details.faq .a{padding:0 18px 16px;color:#33373b}
footer{background:var(--band);color:var(--band-ink);padding:40px 0;margin-top:40px;font-size:15px}footer a{color:#cfe0fb}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:flex-end;justify-content:center;z-index:100;padding:12px}
.modal.on{display:flex}.modal .box{background:#fff;border-radius:22px;max-width:480px;width:100%;padding:24px;max-height:90vh;overflow:auto}
.modal ol{padding-left:20px}.modal li{margin-bottom:10px}
@media(min-width:700px){.modal{align-items:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* pages de contenu */
.page-h{background:var(--band);color:var(--band-ink);padding:56px 0 44px}.page-h h1{margin-bottom:12px}.page-h p{max-width:700px;color:#cfd2d6;margin:0}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.toc a{padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:99px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.rule{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.rule:first-of-type{border-top:0}.rule b{display:block}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.notice{background:var(--warn-soft);border:1px solid #f0d9a8;color:#6a4400;border-radius:14px;padding:14px 16px;font-size:14.5px}
.search{width:100%;min-height:52px;border:2px solid var(--line);border-radius:14px;padding:0 16px;font:500 16px var(--fb);margin-bottom:20px}
table.t{width:100%;border-collapse:collapse;font-size:15px}table.t td,table.t th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
/* page Hygiène */
.tag.gb{background:#e7f3ea;color:#1c6b3a}.tag.bp{background:#f1ecfb;color:#5a3aa3}
.dlgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}@media(max-width:820px){.dlgrid{grid-template-columns:1fr}}
.dl h2{font-size:21px;margin:10px 0}.dl .meta{font-size:13px;color:var(--muted)}.dl.official{border:2px solid var(--blue)}.lnk{margin-left:10px;font-weight:600}
details.topic{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px}
details.topic>summary{cursor:pointer;list-style:none;padding:16px 52px 16px 18px;position:relative;min-height:56px}details.topic>summary::-webkit-details-marker{display:none}
details.topic>summary h2{font-size:clamp(19px,3.2vw,24px);margin:0}details.topic>summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:28px;color:var(--blue)}details.topic[open]>summary::after{content:"−"}
.tb{padding:0 18px 18px}.tb h3{font-size:17px;margin:20px 0 8px}.story-p{background:var(--bg);border-left:4px solid var(--blue);padding:10px 14px;border-radius:0 10px 10px 0;font-style:italic}
ul.refs{list-style:none;padding:0}ul.refs li{margin-bottom:10px;padding-left:0}.tb ul{padding-left:20px}ul.refs .tag{margin-right:6px;vertical-align:1px}
.kbox{background:var(--blue-soft);border-radius:14px;padding:4px 16px 8px;margin-top:18px}.kbox h3{margin-top:12px}
.ks{display:inline-block;padding:2px 9px;border-radius:99px;font:700 11.5px var(--fd);margin-left:6px;vertical-align:2px}.kd{background:var(--ok-soft);color:var(--ok)}.kp{background:#f6e7d7;color:#8a4b10}.kv{background:var(--warn-soft);color:var(--warn)}
.src,.small{font-size:13.5px;color:var(--muted)}.srcs{font-size:14.5px}
/* Rappel */
.fab{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;min-height:52px;padding:0 20px;border:0;border-radius:99px;background:var(--blue);color:#fff;font:700 16px var(--fd);box-shadow:0 8px 24px rgba(29,88,201,.4);cursor:pointer}
.fab:focus-visible{outline:3px solid #7aa7ee;outline-offset:2px}
#cbModal form label{display:block;font:600 14px var(--fd);margin-bottom:12px}#cbModal input,#cbModal select,#cbModal textarea{display:block;width:100%;min-height:48px;margin-top:5px;padding:10px 12px;border:2px solid var(--line);border-radius:12px;font:500 16px var(--fb);background:#fff}
#cbModal textarea{min-height:70px}#cbModal .opt{font-weight:500;color:var(--muted)}.hp{position:absolute;left:-9999px}.rgpd{font-size:12.5px;color:var(--muted)}.cberr{background:#fde3e1;color:#a5261f;border-radius:10px;padding:10px 12px;font-size:14px}
.modal .box{max-height:92vh}
