/* Alertes e-mail du catalogue : bouton d'ouverture et fenêtre d'inscription (élément <dialog>, sans bibliothèque). */
.nl-open{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 22px;border:2px solid #126c63;border-radius:999px;background:#126c63;color:#fff;font-size:1rem;font-weight:700;line-height:1.25;text-align:center;cursor:pointer;box-shadow:0 4px 14px #126c6340;transition:.2s}
.nl-open i{font-size:1.1em}
.nl-open:hover,.nl-open:focus-visible{background:#0e5750;border-color:#0e5750;color:#fff;transform:translateY(-1px)}
.nl-open:focus-visible{outline:3px solid #b58228;outline-offset:2px}
/* Sur le bandeau sombre de l'accueil : bouton blanc plein, texte foncé. */
.nl-open.nl-on-dark{border-color:#fff;background:#fff;color:#003459;box-shadow:0 6px 22px #00000040}
.nl-open.nl-on-dark:hover,.nl-open.nl-on-dark:focus-visible{background:#e8f6fd;border-color:#e8f6fd;color:#003459}
/* Dans les barres de filtres des pages de résultats : compact mais plein. */
.nl-open.nl-small{padding:7px 15px;border-width:1px;font-size:.86rem;white-space:nowrap;box-shadow:none}
.nl-hero-cta{margin-top:16px;text-align:center}

.nl-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100% - 24px);padding:0;border:0;border-radius:20px;background:#fff;color:#00171f;box-shadow:0 24px 70px #00171f66;overflow:auto;font-family:"Segoe UI",Roboto,sans-serif}
.nl-dialog::backdrop{background:#00171f99;backdrop-filter:blur(2px)}
.nl-form{padding:26px 28px 24px;margin:0}
.nl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.nl-head h2{margin:0;font-size:1.3rem;font-weight:800;line-height:1.25}
.nl-close{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:#eef2f5;color:#34464f;font-size:1.1rem;line-height:1;cursor:pointer}
.nl-close:hover{background:#dde5ea}
.nl-intro{margin:0 0 18px;color:#687782;font-size:.92rem}
.nl-field{display:block;margin:0 0 14px}
.nl-field>span,.nl-legend{display:block;margin:0 0 5px;color:#34464f;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.nl-field input,.nl-field select{width:100%;min-height:44px;padding:9px 12px;border:1px solid #cfd9df;border-radius:10px;background:#fff;color:#00171f;font-size:.95rem}
.nl-field input:focus,.nl-field select:focus{border-color:#126c63;outline:3px solid #126c6333}
.nl-field input[readonly]{background:#f1f5f7;color:#52636d}
.nl-row{display:grid;grid-template-columns:1fr 130px;gap:10px}
.nl-types{margin:0 0 14px;padding:0;border:0;min-width:0}
.nl-types .nl-legend{float:none;width:auto;padding:0}
.nl-types-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nl-types label{position:relative;display:block;margin:0;cursor:pointer}
.nl-types input{position:absolute;opacity:0;width:1px;height:1px}
.nl-types span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;border:1px solid #cfd9df;border-radius:10px;color:#34464f;font-size:.9rem;font-weight:650;text-align:center}
.nl-types input:checked+span{border-color:#126c63;background:#126c63;color:#fff}
.nl-types input:focus-visible+span{outline:3px solid #b58228;outline-offset:2px}
.nl-check{display:flex;align-items:flex-start;gap:9px;margin:0 0 16px;color:#52636d;font-size:.88rem;cursor:pointer}
.nl-check input{margin-top:3px;flex:none}
.nl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-submit{width:100%;min-height:48px;border:0;border-radius:12px;background:#126c63;color:#fff;font-size:1rem;font-weight:800;cursor:pointer}
.nl-submit:hover{background:#0e5750}.nl-submit[disabled]{opacity:.65;cursor:wait}
.nl-status{margin:14px 0 0;padding:11px 14px;border-radius:10px;font-size:.92rem}
.nl-status[hidden]{display:none}
.nl-status.is-ok{background:#e6f6ef;color:#0b6b46}.nl-status.is-error{background:#fdecec;color:#a52a2a}
.nl-legal{margin:12px 0 0;color:#8a98a1;font-size:.76rem;text-align:center}
.nl-account{margin:0 0 14px;padding:9px 12px;border-radius:10px;background:#e6f6ef;color:#0b6b46;font-size:.88rem}

/* Pages de confirmation / désinscription */
.nl-page{max-width:560px;margin:56px auto;padding:34px 30px;border:1px solid #e5ebef;border-radius:20px;background:#fff;color:#00171f;box-shadow:0 8px 30px #00171f14;text-align:center}
.nl-page h1{margin:0 0 12px;font-size:1.5rem;font-weight:800}
.nl-page p{margin:0 0 14px;color:#52636d}
.nl-page .nl-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:#e6f6ef;color:#0b6b46;font-size:1.7rem}
.nl-page .nl-icon.is-warn{background:#fff3e0;color:#b25b00}
.nl-page .nl-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}
.nl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border:1px solid #126c63;border-radius:12px;background:#126c63;color:#fff;font-size:.95rem;font-weight:800;text-decoration:none;cursor:pointer}
.nl-btn:hover{background:#0e5750;color:#fff}
.nl-btn.is-light{background:#fff;color:#126c63}.nl-btn.is-light:hover{background:#eef6f5;color:#126c63}
.nl-btn.is-danger{border-color:#b3261e;background:#b3261e}.nl-btn.is-danger:hover{background:#8f1e18}
.nl-criteria{margin:0 0 16px;padding:10px 14px;border-radius:10px;background:#f2f5fa;color:#243247;font-weight:700}

html.smartlife-dark-mode .nl-open:not(.nl-on-dark){background:#1f8a7f;border-color:#1f8a7f;color:#fff}
html.smartlife-dark-mode .nl-open:not(.nl-on-dark):hover{background:#2c9d91;border-color:#2c9d91}
html.smartlife-dark-mode .nl-dialog,html.smartlife-dark-mode .nl-page{background:#172231;color:#e6edf5;border-color:#2b3a4f}
html.smartlife-dark-mode .nl-intro,html.smartlife-dark-mode .nl-page p,html.smartlife-dark-mode .nl-check{color:#a9b8c6}
html.smartlife-dark-mode .nl-field>span,html.smartlife-dark-mode .nl-legend{color:#c4d0dd}
html.smartlife-dark-mode .nl-field input,html.smartlife-dark-mode .nl-field select{background:#0f1722;color:#e6edf5;border-color:#33465c}
html.smartlife-dark-mode .nl-field input[readonly]{background:#1b2838;color:#a9b8c6}
html.smartlife-dark-mode .nl-types span{border-color:#33465c;color:#c4d0dd}
html.smartlife-dark-mode .nl-close{background:#223045;color:#e6edf5}
html.smartlife-dark-mode .nl-criteria{background:#223045;color:#e6edf5}
html.smartlife-dark-mode .nl-btn.is-light{background:#172231;color:#7fd6cb}

@media(max-width:520px){.nl-form{padding:22px 18px 20px}.nl-row{grid-template-columns:1fr}.nl-page{margin:24px 12px;padding:26px 18px}}
