/* Captures originales : cadrage d'affichage réversible, sans modification des fichiers PNG. */
.ne-capture-link { display: block; border-radius: 16px; }
.ne-capture-window { display: block; position: relative; overflow: hidden; background: #101624; border: 1px solid #344153; border-radius: 16px; }
.ne-capture-window img { position: absolute; max-width: none; height: auto; top: 0; left: 0; }
.ne-capture-panel { aspect-ratio: 560 / 436; }
.ne-capture-panel img { width: 118.393%; transform: translate(-14.027%, -8.984%); }
.ne-capture-sheets { aspect-ratio: 960 / 639; }
.ne-capture-sheets img { width: 161.875%; }
.ne-capture-custom { aspect-ratio: 962 / 642; }
.ne-capture-custom img { width: 160.915%; transform: translate(-.1292%, -.9146%); }
.ne-merken-capture figcaption { margin-top: 16px; font-size: 15px; color: var(--ne-ink); }
.ne-merken-capture figcaption span { display: block; margin-top: 4px; font-size: 12px; color: var(--ne-muted); }
.ne-merken-feature .ne-merken-capture { transform: rotate(1.2deg); }
.ne-merken-feature .ne-merken-more { display: inline-block; margin-top: 24px; }
#autres-projets { scroll-margin-top: 100px; }
.ne-merken-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 36px; }
.ne-gallery-intro { margin-top: 24px !important; }
.ne-merken-demo { background: var(--ne-light); border-block: 1px solid var(--ne-line); scroll-margin-top: 100px; }
.ne-demo-intro { margin-block: 24px 32px !important; }
.ne-demo-software, .ne-demo-choices { padding: 0; margin: 0; border: 0; min-width: 0; }
.ne-demo-software legend, .ne-demo-choices legend { padding: 0; margin-bottom: 16px; font-size: 15px; font-weight: 650; }
.ne-demo-software { margin-bottom: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.ne-demo-software label { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 9px 18px; border: 1px solid var(--ne-field-line); border-radius: 24px; cursor: pointer; }
.ne-demo-software label:has(input:checked) { background: var(--ne-ink); color: white; border-color: var(--ne-ink); }
.ne-demo-software label:has(input:checked) input:focus-visible { outline-color: #fff; }
.ne-demo-software input, .ne-demo-choices input { width: 18px; height: 18px; margin: 0; accent-color: var(--ne-accent); flex-shrink: 0; }
.ne-demo-sheet { display: grid; grid-template-columns: 1fr 1.25fr; gap: 64px; align-items: start; }
.ne-demo-choices label { display: flex; align-items: center; gap: 15px; min-height: 49px; border-top: 1px solid var(--ne-line); padding: 10px 4px; cursor: pointer; font-size: 16px; }
.ne-demo-choices label:last-child { border-bottom: 1px solid var(--ne-line); }
.ne-demo-preview { border-radius: 14px; padding: 24px; background: #101624; color: #ecf0f8; box-shadow: 0 16px 40px #24364b14; min-height: 330px; }
.ne-demo-preview-top { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid #384457; font-size: 16px; }
.ne-demo-preview-top > span { font-weight: 700; }
.ne-demo-badge { display: block; font-size: 11px; font-weight: 400; color: #b6c6d9; }
.ne-demo-preview ul { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 16px; }
.ne-demo-preview li { display: flex; align-items: center; gap: 20px; font-size: 14px; }
.ne-demo-keys { display: flex; flex-wrap: wrap; gap: 5px; min-width: 130px; }
.numeri-site .ne-demo-keys kbd { min-width: 30px; min-height: 28px; padding: 4px 7px; border: 1px solid #68778d; border-bottom-width: 3px; border-radius: 5px; background: #2a3444; color: #f4f6fa; font: 600 12px/1.2 'Segoe UI', sans-serif; }
.ne-demo-empty { padding-block: 45px; color: #c3cfdd; font-size: 15px; }
.ne-demo-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 22px; font-size: 13px; color: var(--ne-muted); }
.ne-demo-reset { border: 0; background: transparent; color: var(--ne-ink); text-decoration: underline; text-underline-offset: 4px; padding: 10px 0; min-height: 44px; cursor: pointer; font-size: 13px !important; }
.ne-demo-note { margin-top: 24px !important; max-width: 90ch; color: var(--ne-muted); font-size: 13px; }
.ne-capture-dialog { width: min(1500px, 96vw); max-width: 96vw; max-height: 94vh; padding: 20px; background: var(--ne-paper); color: var(--ne-ink); border: 1px solid var(--ne-line); border-radius: 10px; }
.ne-capture-dialog::backdrop { background: #24364bd9; }
.ne-capture-dialog > button { margin-bottom: 18px; }
.ne-capture-dialog img { max-height: 72vh; width: auto; margin-inline: auto; object-fit: contain; }
.ne-capture-dialog p { margin-top: 16px; font-size: 14px; }
@media (max-width: 800px) {
    .ne-demo-sheet, .ne-merken-gallery { grid-template-columns: 1fr; gap: 26px; }
    .ne-demo-preview { padding: 20px; }
    .ne-demo-bottom { flex-direction: column; align-items: flex-start; gap: 4px; }
    .ne-demo-preview li { gap: 12px; }
    .ne-demo-keys { min-width: 114px; }
    .ne-merken-feature .ne-merken-capture { transform: none; }
}
@media (max-width: 360px) {
    .ne-demo-preview { padding: 16px; }
    .ne-demo-preview li { font-size: 13px; gap: 10px; }
    .ne-demo-keys { min-width: 98px; }
    .numeri-site .ne-demo-keys kbd { min-width: 26px; padding: 4px 5px; font-size: 11px; }
}
