/* Polices auto-hébergées (aucun appel à Google Fonts : pas de transfert d'IP vers un tiers) */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ibm-plex-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}

html{scroll-behavior:smooth}
*:focus-visible{outline:2px solid #22D3EE;outline-offset:2px}

/* Bandeau et préférences cookies */
.ck-banner,.ck-prefs{--accent:#22D3EE;font-family:'IBM Plex Sans',system-ui,sans-serif;color:#E6EDF3;background:#11171F;border:1px solid #2E3B4A;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}
.ck-banner{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);width:880px;max-width:calc(100% - 32px);padding:28px;z-index:1000;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.ck-overlay{position:fixed;inset:0;background:rgba(5,8,11,.7);display:flex;align-items:center;justify-content:center;z-index:1001;padding:16px}
.ck-prefs{width:640px;max-width:100%;padding:28px}
.ck-banner h2,.ck-prefs h2{margin:0;font-size:21px;font-weight:600}
.ck-banner p{margin:0;color:#B7C2CD;font-size:15px;line-height:1.65}
.ck-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--accent)}
.ck-actions{display:flex;flex-wrap:wrap;gap:12px}
.ck-btn{min-height:48px;padding:0 22px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;background:transparent;border:1.5px solid var(--accent);color:#E6EDF3;flex:1 1 160px}
.ck-btn:hover{background:rgba(34,211,238,.12)}
.ck-btn2{min-height:48px;padding:0 18px;font:inherit;font-size:15px;font-weight:500;cursor:pointer;background:transparent;border:1px solid #2E3B4A;color:#B7C2CD;flex:1 1 160px}
.ck-btn2:hover{color:#fff;border-color:#8B98A5}
.ck-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.ck-x{width:44px;height:44px;background:transparent;border:1px solid #2E3B4A;color:#B7C2CD;font-size:22px;cursor:pointer}
.ck-row{display:flex;gap:20px;align-items:flex-start;padding:16px 0;border-top:1px solid #1C2530}
.ck-row>div{flex:1;display:flex;flex-direction:column;gap:6px}
.ck-row label{font-weight:600;font-size:16px}
.ck-row span{color:#B7C2CD;font-size:14px;line-height:1.55}
.ck-note{margin:0;color:#8B98A5;font-size:14px;border-top:1px solid #1C2530;padding-top:14px}
.ck-sw{appearance:none;-webkit-appearance:none;width:48px;height:28px;border-radius:14px;background:#2E3B4A;position:relative;cursor:pointer;flex:none;margin:0}
.ck-sw::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#E6EDF3;transition:left .15s}
.ck-sw:checked{background:var(--accent)}
.ck-sw:checked::after{left:24px;background:#04141A}
.ck-sw:disabled{opacity:.6;cursor:not-allowed}

/* Champ anti-spam invisible */
.hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}

[hidden]{display:none !important}
