/* Pop-up de bienvenue newsletter, piste A « pop couleur » (CHANGELOG #99). Charte : Noto Serif titres, fond crème,
   bouton noir à angles droits, aplat de couleur pop derrière la photo. */
.kj-nlpop{--nl-pop:#e29d7d;--nl-ink:#252525;--nl-soft:#4a4842;--nl-cream:#fef9f5;position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.kj-nlpop[hidden]{display:none}
.kj-nlpop__overlay{position:absolute;inset:0;background:rgba(20,20,20,.55);opacity:0;transition:opacity .25s ease}
.kj-nlpop.is-open .kj-nlpop__overlay{opacity:1}
.kj-nlpop__dialog{position:relative;display:flex;width:820px;max-width:100%;min-height:480px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);background:var(--nl-cream);color:var(--nl-ink);box-shadow:0 24px 60px rgba(0,0,0,.3);transform:translateY(12px);opacity:0;transition:transform .3s ease,opacity .3s ease}
.kj-nlpop.is-open .kj-nlpop__dialog{transform:none;opacity:1}
.kj-nlpop__media{position:relative;flex:0 0 340px;background:var(--nl-pop);overflow:hidden}
/* #108 : photo calée sur toute la hauteur du panneau, quelle que soit la longueur du texte de la langue */
.kj-nlpop__media picture,.kj-nlpop__media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 60%}
/* #108 : min-width:0 + container query, le bloc texte ne déborde plus du panneau en DE / NL / ES (textes plus longs que l'anglais) */
.kj-nlpop__body{position:relative;flex:1 1 auto;min-width:0;padding:48px 44px 32px;display:flex;flex-direction:column;overflow-y:auto;container-type:inline-size}
.kj-nlpop__step{display:flex;flex-direction:column;gap:16px;flex:1 0 auto}
.kj-nlpop__step>*{max-width:100%}
.kj-nlpop__step[hidden]{display:none}
.kj-nlpop__close{position:absolute;top:8px;right:8px;z-index:1;width:44px;height:44px;border:0;background:transparent;color:var(--nl-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.kj-nlpop__kicker{margin:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--nl-soft)}
.kj-nlpop__title{margin:0;font-family:var(--font-heading--family);font-weight:400;font-size:36px;line-height:1.12;color:var(--nl-ink);overflow-wrap:break-word}
.kj-nlpop__text{margin:0;font-size:15px;line-height:1.55;color:var(--nl-soft)}
.kj-nlpop__form{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.kj-nlpop__label{font-size:12px;color:var(--nl-soft)}
.kj-nlpop__row{display:flex}
.kj-nlpop__input{flex:1;min-width:0;height:48px;box-sizing:border-box;border:1px solid var(--nl-ink);border-right:0;border-radius:0;padding:0 14px;font:inherit;font-size:16px;background:#fff;color:var(--nl-ink)}
.kj-nlpop__input:focus{outline:2px solid var(--nl-ink);outline-offset:2px}
.kj-nlpop__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.kj-nlpop__submit{min-height:48px;padding:0 20px;border:0;border-radius:0;background:var(--nl-ink);color:#fff;font:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.kj-nlpop__submit:hover{background:#000}
.kj-nlpop__submit--block{width:100%;margin-top:auto}
.kj-nlpop__form.is-loading .kj-nlpop__submit{opacity:.6;pointer-events:none}
.kj-nlpop__msg{margin:4px 0 0;font-size:13px;color:#b42318}
.kj-nlpop__no{align-self:flex-start;height:44px;padding:0;border:0;background:transparent;color:var(--nl-soft);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.kj-nlpop__legal{margin:auto 0 0;font-size:11px;line-height:1.5;color:#5d5b55}
.kj-nlpop__legal a{color:var(--nl-ink)}
.kj-nlpop__code{display:flex;align-items:stretch;border:1px dashed var(--nl-ink);background:#fff}
.kj-nlpop__code span{flex:1;padding:14px 16px;font-size:22px;letter-spacing:.12em;font-weight:600}
.kj-nlpop__copy{border:0;border-left:1px dashed var(--nl-ink);background:transparent;padding:0 18px;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;min-width:44px}
@media (max-width:749px){
  .kj-nlpop{align-items:flex-end;padding:0}
  .kj-nlpop__dialog{flex-direction:column;width:100%;min-height:0;max-height:88vh;overflow:auto;transform:translateY(100%)}
  .kj-nlpop__dialog{max-height:92vh;max-height:92dvh}
  .kj-nlpop__media{flex:0 0 160px;height:160px}
  .kj-nlpop__media picture,.kj-nlpop__media img{object-position:center 62%}
  .kj-nlpop__body{overflow:visible}
  .kj-nlpop__body{padding:22px 20px 22px}
  .kj-nlpop__step{gap:12px}
  .kj-nlpop__close{top:-160px;right:4px;background:rgba(254,249,245,.85)}
  .kj-nlpop__title{font-size:28px}
  .kj-nlpop__text{font-size:14px}
  .kj-nlpop__row{flex-direction:column;gap:10px}
  .kj-nlpop__input{flex:0 0 48px;border-right:1px solid var(--nl-ink)}
  .kj-nlpop__legal{margin-top:4px}
}
@media (prefers-reduced-motion:reduce){.kj-nlpop__overlay,.kj-nlpop__dialog{transition:none}}
/* #108 : panneau texte étroit (desktop, langues longues) : champ et bouton l'un sous l'autre ; en fin de fichier pour passer après les règles de base */
@container (max-width:400px){.kj-nlpop__row{flex-direction:column;gap:10px}.kj-nlpop__input{flex:0 0 48px;border-right:1px solid var(--nl-ink)}.kj-nlpop__submit{width:100%}}
