/* Carnet Santé Pratique — éléments communs à toutes les pages */
:root{--csp-bleu:#176B96;--csp-bleu-f:#0F4E70;--csp-pastel:#E8F4FA;--csp-sauge:#8CBFAE;--csp-sauge-f:#5E9C88;--csp-gris:#F5F8FA;--csp-ligne:#DCE7EE;--csp-anthra:#273746;--csp-texte:#3E5161;--csp-doux:#6B7F8E}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;font-family:Inter,system-ui,sans-serif;color:var(--csp-texte);-webkit-font-smoothing:antialiased}
.csp-skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:8px 14px;border-radius:8px;z-index:999;color:var(--csp-anthra)}
.csp-skip:focus{left:12px}
.csp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* En-tête */
.csp-top{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--csp-ligne)}
.csp-top .csp-in{max-width:1200px;margin:0 auto;padding:0 20px;height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-sizing:border-box}
.csp-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Manrope,system-ui,sans-serif;font-weight:800;color:var(--csp-anthra);font-size:1.05rem;line-height:1.2}
.csp-logo i{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--csp-bleu),var(--csp-sauge-f));display:grid;place-items:center;flex:none}
.csp-logo small{display:block;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.72rem;color:var(--csp-doux)}
.csp-nav{display:flex;align-items:center;gap:4px}
.csp-nav a{text-decoration:none;font-weight:600;font-size:.92rem;padding:9px 14px;border-radius:999px;color:var(--csp-anthra);font-family:Inter,system-ui,sans-serif;white-space:nowrap}
.csp-nav a:hover,.csp-nav a.on{background:var(--csp-pastel);color:var(--csp-bleu)}
.csp-cart{position:relative;display:grid!important;place-items:center;width:44px;height:44px;padding:0!important;border:1px solid var(--csp-ligne);background:#fff}
.csp-cart .cart-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--csp-bleu);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center;box-sizing:border-box;border:2px solid #fff}
.csp-cart .cart-count[data-n="0"]{display:none}
@media(max-width:820px){.csp-nav a.csp-m{display:none}}
@media(max-width:460px){.csp-logo small{display:none}.csp-logo{font-size:.98rem}}

/* Boutons panier */
[data-add]{cursor:pointer}
[data-add].added{background:var(--csp-sauge-f)!important;border-color:var(--csp-sauge-f)!important;color:#fff!important;box-shadow:none!important}

/* Message d'ajout */
.csp-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:300;background:var(--csp-anthra);color:#fff;padding:13px 18px;border-radius:14px;box-shadow:0 18px 40px rgba(15,30,42,.3);font:500 .92rem/1.4 Inter,system-ui,sans-serif;max-width:calc(100% - 32px);box-sizing:border-box;transition:transform .3s ease;text-align:center}
.csp-toast.show{transform:translate(-50%,0)}
.csp-toast a{color:#BFE3F4;font-weight:700;margin-left:8px;white-space:nowrap}
body.a-barre .csp-toast{bottom:90px}

/* Pied de page */
.csp-foot{background:var(--csp-anthra);color:#C9D6DF;padding:44px 0 30px;font-size:.88rem;line-height:1.6}
.csp-foot .csp-in{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;box-sizing:border-box}
@media(max-width:760px){.csp-foot .csp-in{grid-template-columns:1fr}}
.csp-foot strong{color:#fff;font-family:Manrope,system-ui,sans-serif;font-size:1rem}
.csp-foot h4{margin:0 0 10px;color:#fff;font:700 .82rem Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.csp-foot ul{list-style:none;margin:0;padding:0}
.csp-foot li{margin:4px 0}
.csp-foot a{color:#fff;text-decoration:none}
.csp-foot a:hover{text-decoration:underline}
.csp-foot .csp-bas{max-width:1200px;margin:26px auto 0;padding:18px 20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#9FB2C0;box-sizing:border-box}
@media (prefers-reduced-motion:reduce){.csp-toast{transition:none}}
