/* Bellova Newsletter — front styles (sobre, override-friendly par le thème) */
.bellova-nl-message { margin-top: 10px; font-size: 0.9rem; }
.bellova-nl-message.is-success { color: #00A95C; font-weight: 600; }
.bellova-nl-message.is-error { color: #c0392b; }

.bellova-nl-block { padding: 24px; background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; }
.bellova-nl-block h3 { margin: 0 0 6px; }
.bellova-nl-block p { margin: 0 0 14px; color: #6c6864; }

.bellova-nl-form button[disabled] { opacity: 0.6; cursor: progress; }

/* ==========================================================================
   Pages de statut (confirmation / désinscription)
   ========================================================================== */
.bellova-nl-status {
    padding: 80px 16px;
    background:
        radial-gradient(circle at 0 0, rgba(0,85,164,0.06) 0%, transparent 50%),
        radial-gradient(circle at 100% 100%, rgba(0,169,92,0.06) 0%, transparent 50%),
        #f7f8fa;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bellova-nl-status .container {
    max-width: 620px;
    margin: 0 auto;
}
.bellova-nl-status-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 56px 40px 48px;
    text-align: center;
    box-shadow: 0 14px 50px rgba(45, 41, 38, 0.10);
    border-top: 6px solid #0055A4;
    position: relative;
    animation: bnlPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.bellova-nl-status-card.is-success { border-top-color: #00A95C; }
.bellova-nl-status-card.is-error   { border-top-color: #FFCD00; }

@keyframes bnlPop {
    0%   { opacity: 0; transform: translateY(20px) scale(0.96); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

.bellova-nl-status-icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 44px;
    line-height: 1;
    background: linear-gradient(135deg, #e6f0fa, #ffffff);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(0, 85, 164, 0.12);
}
.bellova-nl-status-card.is-success .bellova-nl-status-icon {
    background: linear-gradient(135deg, #d4f5e3, #ffffff);
    box-shadow: 0 8px 24px rgba(0, 169, 92, 0.18);
}
.bellova-nl-status-card.is-error .bellova-nl-status-icon {
    background: linear-gradient(135deg, #fff7d1, #ffffff);
    box-shadow: 0 8px 24px rgba(255, 205, 0, 0.25);
}

.bellova-nl-status-kicker {
    display: inline-block;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #00A95C;
    margin-bottom: 12px;
}
.bellova-nl-status-card.is-error .bellova-nl-status-kicker { color: #d4a800; }

.bellova-nl-status-title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: #2D2926;
    margin: 0 0 14px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.5px;
}
.bellova-nl-status-message {
    color: #6c6864;
    font-size: 1rem;
    line-height: 1.65;
    margin: 0 0 28px;
}

.bellova-nl-status-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.bellova-nl-status-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0055A4;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 8px;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 16px rgba(0, 85, 164, 0.28);
}
.bellova-nl-status-cta:hover {
    background: #00A95C;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(0, 169, 92, 0.32);
}

/* Bandeau couleurs Bellova en bas de la carte */
.bellova-nl-status-card::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 4px;
    background: linear-gradient(90deg,
        #0055A4 0%, #0055A4 33.33%,
        #00A95C 33.33%, #00A95C 66.66%,
        #FFCD00 66.66%, #FFCD00 100%);
    border-radius: 0 0 16px 16px;
}

@media (max-width: 600px) {
    .bellova-nl-status { padding: 50px 12px; }
    .bellova-nl-status-card { padding: 40px 24px 36px; }
}
