/* =====================================================================
   Popup de newsletter (captación de suscriptores)
   ===================================================================== */
.nlpopup[hidden] { display: none; }
.nlpopup {
    position: fixed;
    inset: 0;
    z-index: 110;
    display: grid;
    place-items: center;
    padding: 1.2rem;
}
.nlpopup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, .62);
}
.nlpopup__panel {
    position: relative;
    z-index: 2;
    width: min(480px, 100%);
    background: #fff;
    border-radius: 20px;
    padding: clamp(1.6rem, 4vw, 2.4rem);
    box-shadow: var(--ark-shadow-strong, 0 30px 60px rgba(0,0,0,.25));
    border-top: 6px solid var(--ark-gold, #f0be15);
    text-align: center;
}
.nlpopup__close {
    position: absolute;
    right: .9rem;
    top: .9rem;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: var(--ark-black, #0a0a0a);
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}
.nlpopup__eyebrow {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 800;
    color: #c99900;
    margin-bottom: .6rem;
}
.nlpopup__panel h2 {
    font-family: var(--ark-display, Georgia, serif);
    font-weight: 400;
    font-size: clamp(1.35rem, 3.4vw, 1.7rem);
    line-height: 1.15;
    margin: 0 0 .7rem;
}
.nlpopup__lead {
    font-size: .95rem;
    color: #4a4a45;
    margin: 0 0 1.3rem;
    line-height: 1.55;
}
.nlpopup__error {
    background: #fdeceb;
    color: #8a1f11;
    font-size: .85rem;
    padding: .6rem .8rem;
    border-radius: 10px;
    margin: 0 0 1rem;
}
.nlpopup__row {
    display: flex;
    gap: .5rem;
    margin-bottom: .9rem;
}
.nlpopup__row input[type="email"] {
    flex: 1;
    min-width: 0;
    padding: .8rem .9rem;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-size: .95rem;
    font-family: inherit;
}
.nlpopup__row .btn {
    white-space: nowrap;
}
.nlpopup__skip {
    display: inline-block;
    margin-top: 1rem;
    background: none;
    border: 0;
    color: #8a8a84;
    font-size: .82rem;
    text-decoration: underline;
    cursor: pointer;
}

/* Estado de éxito tras enviar el formulario */
.nlpopup__done { padding-top: .4rem; }
.nlpopup__done-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto .9rem;
    border-radius: 999px;
    background: var(--ark-gold, #f0be15);
    color: #0a0a0a;
    display: grid;
    place-items: center;
    font-size: 1.3rem;
    font-weight: 800;
}
.nlpopup__done p {
    font-size: .95rem;
    color: #4a4a45;
    margin: 0 0 1.3rem;
    line-height: 1.5;
}

@media (max-width: 560px) {
    .nlpopup { align-items: end; padding: .75rem; }
    .nlpopup__panel { border-radius: 18px 18px 0 0; }
    .nlpopup__row { flex-direction: column; }
    .nlpopup__row .btn { width: 100%; }
}
