/* Pages d'abonnement aux newsletters (www.cdip.com/ws/newsletter/), affichees seules ou en iframe dans cdip.com. */
:root {
    --nl-encre: #222;
    --nl-doux: #5f6b6d;
    --nl-accent: #0e7c86;
    --nl-fond: #ffffff;
    --nl-carte: #f4f8f8;
    --nl-bord: #d5e3e4;
    --nl-ok: #1f7a3a;
    --nl-erreur: #b3261e;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--nl-fond); color: var(--nl-encre); font: 16px/1.5 Arial, Helvetica, sans-serif; }
.nl { max-width: 620px; margin: 0 auto; padding: 24px 16px 32px; }
.nl h1 { font-size: 1.5rem; color: var(--nl-accent); margin: 0 0 12px; }
.nl h2 { font-size: 1.15rem; margin: 28px 0 8px; }
.nl-intro { margin: 0 0 16px; }
.nl-form fieldset { border: 1px solid var(--nl-bord); border-radius: 8px; padding: 8px 14px 4px; margin: 0 0 16px; background: var(--nl-carte); }
.nl-form legend { font-weight: bold; padding: 0 6px; }
.nl-case { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; cursor: pointer; }
.nl-case input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.nl-case small { color: var(--nl-doux); }
.nl-case em { font-style: normal; font-size: .8rem; background: var(--nl-accent); color: #fff; border-radius: 10px; padding: 1px 8px; margin-left: 4px; }
.nl-recommandee { border-bottom: 1px solid var(--nl-bord); }
.nl-champ { display: block; font-weight: bold; margin: 0 0 14px; }
.nl-champ input { display: block; width: 100%; margin-top: 6px; padding: 10px 12px; font-size: 1rem; border: 1px solid var(--nl-bord); border-radius: 6px; }
.nl-accord { font-size: .9rem; color: var(--nl-doux); }
.nl-site { position: absolute; left: -9999px; }
button { background: var(--nl-accent); color: #fff; border: 0; border-radius: 6px; padding: 12px 22px; font-size: 1rem; font-weight: bold; cursor: pointer; margin: 8px 0; }
button:hover { filter: brightness(1.1); }
button.nl-secondaire { background: transparent; color: var(--nl-doux); text-decoration: underline; font-weight: normal; padding: 6px 0; }
.nl-note { font-size: .9rem; color: var(--nl-doux); margin: 4px 0; }
.nl-ok { background: #e7f4ea; color: var(--nl-ok); border-radius: 6px; padding: 12px 14px; }
.nl-erreur { background: #fbeae9; color: var(--nl-erreur); border-radius: 6px; padding: 12px 14px; }
.nl-dernieres ul { list-style: none; padding: 0; margin: 0; }
.nl-dernieres li { padding: 6px 0; border-bottom: 1px solid var(--nl-bord); }
.nl-dernieres li span { color: var(--nl-doux); font-size: .85rem; white-space: nowrap; }
.nl a { color: var(--nl-accent); }
.nl-pied { margin-top: 32px; font-size: .8rem; color: var(--nl-doux); }
