/* Club NAYDOR Privé — page vitrine, adhésion, badges (chargé par les gabarits de l'app membership). */
.ns-club-hero {
    position: relative; overflow: hidden; border-radius: 28px; padding: clamp(2rem, 5vw, 4rem);
    background: radial-gradient(circle at 85% 15%, rgba(226,138,59,.35), transparent 45%),
                linear-gradient(135deg, #0f1a45 0%, var(--ns-navy, #192A6C) 55%, #24407a 100%);
    color: #fff; box-shadow: 0 24px 60px rgba(25,42,108,.28);
}
.ns-club-hero::after {
    content: ""; position: absolute; inset: auto -80px -120px auto; width: 320px; height: 320px;
    border-radius: 50%; border: 1px solid rgba(255,255,255,.12); pointer-events: none;
}
.ns-club-kicker { letter-spacing: .24em; text-transform: uppercase; font-size: .78rem; font-weight: 700; color: var(--naydor-gold); }
.ns-club-title { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.1; margin: .5rem 0 1rem; }
.ns-club-title em { font-style: normal; background: linear-gradient(135deg, #f6c27a, var(--naydor-gold)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ns-club-lead { max-width: 40rem; color: rgba(255,255,255,.82); font-size: 1.08rem; }
.ns-club-crown { font-size: 2.4rem; color: var(--naydor-gold); filter: drop-shadow(0 6px 18px rgba(226,138,59,.5)); }

.ns-club-perks { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.ns-club-perk {
    background: var(--ns-surface, #fff); border: 1px solid var(--ns-border, #e9ecef); border-radius: 20px;
    padding: 1.4rem; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ns-club-perk:hover { transform: translateY(-4px); border-color: var(--naydor-gold); box-shadow: 0 14px 34px rgba(25,42,108,.10); }
.ns-club-perk-ic {
    width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--naydor-gold), var(--naydor-dark-gold)); color: #fff; font-size: 1.2rem; margin-bottom: .8rem;
}
.ns-club-perk h3 { font-size: 1.05rem; margin-bottom: .35rem; }
.ns-club-perk p { color: var(--ns-muted, #6c757d); margin: 0; font-size: .93rem; }

.ns-club-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.ns-club-plan {
    position: relative; background: var(--ns-surface, #fff); border: 1px solid var(--ns-border, #e9ecef);
    border-radius: 24px; padding: 2rem 1.6rem; display: flex; flex-direction: column; gap: .8rem;
}
.ns-club-plan.is-highlight { border: 2px solid var(--naydor-gold); box-shadow: 0 20px 48px rgba(226,138,59,.20); }
.ns-club-plan-flag {
    position: absolute; top: -13px; left: 50%; transform: translateX(-50%); white-space: nowrap;
    background: linear-gradient(135deg, var(--naydor-gold), var(--naydor-dark-gold)); color: #fff;
    border-radius: 999px; padding: .25rem .9rem; font-size: .78rem; font-weight: 700; letter-spacing: .04em;
}
.ns-club-plan-name { font-family: 'Playfair Display', Georgia, serif; font-size: 1.5rem; margin: 0; }
.ns-club-plan-price { font-size: 2rem; font-weight: 800; color: var(--ns-navy, #192A6C); line-height: 1.1; }
[data-bs-theme="dark"] .ns-club-plan-price { color: #fff; }
.ns-club-plan-per { font-size: .9rem; color: var(--ns-muted, #6c757d); font-weight: 500; }
.ns-club-plan ul { list-style: none; padding: 0; margin: 0 0 .5rem; flex: 1 1 auto; }
.ns-club-plan li { padding: .32rem 0; display: flex; gap: .55rem; align-items: baseline; }
.ns-club-plan li i { color: var(--naydor-gold); }

.ns-club-faq .accordion-button:not(.collapsed) { color: var(--naydor-dark-gold); background: rgba(226,138,59,.08); }

.ns-member-badge {
    display: inline-flex; align-items: center; gap: .35rem; border-radius: 999px; padding: .2rem .7rem;
    font-size: .78rem; font-weight: 700; letter-spacing: .03em; color: #fff;
    background: linear-gradient(135deg, #0f1a45, var(--ns-navy, #192A6C)); border: 1px solid rgba(226,138,59,.7);
}
.ns-member-badge i { color: var(--naydor-gold); }
.ns-member-card {
    border-radius: 20px; color: #fff; overflow: hidden;
    background: radial-gradient(circle at 90% 10%, rgba(226,138,59,.35), transparent 45%),
                linear-gradient(135deg, #0f1a45, var(--ns-navy, #192A6C));
}
.ns-member-card .text-muted-light { color: rgba(255,255,255,.75); }
.ns-member-meter { height: 6px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.ns-member-meter > span { display: block; height: 100%; background: linear-gradient(90deg, #f6c27a, var(--naydor-gold)); }
.ns-member-ship-note {
    border: 1px dashed var(--naydor-gold); border-radius: 14px; padding: .65rem .9rem;
    background: rgba(226,138,59,.07); font-size: .92rem;
}
.ns-club-pay .ns-manual-fields { border-top: 1px dashed var(--ns-border, #dee2e6); margin-top: 1rem; padding-top: 1rem; }
.ns-club-stat { border-radius: 18px; }
.ns-w-80 { width: 80px; }

/* Accès publics au club : lien de navigation + bannière d'accueil. */
.ns-nav-club, .ns-nav-club i { color: var(--naydor-gold) !important; font-weight: 600; }
.ns-club-band {
    display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; text-decoration: none;
    border-radius: 22px; padding: 1.4rem clamp(1.2rem, 3vw, 2.2rem); color: #fff;
    background: radial-gradient(circle at 90% 10%, rgba(226,138,59,.35), transparent 45%),
                linear-gradient(135deg, #0f1a45 0%, var(--ns-navy, #192A6C) 60%, #24407a 100%);
    box-shadow: 0 18px 44px rgba(25,42,108,.22); transition: transform .2s ease, box-shadow .2s ease;
}
.ns-club-band:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 24px 54px rgba(25,42,108,.30); }
.ns-club-band-crown { font-size: 2rem; color: var(--naydor-gold); filter: drop-shadow(0 6px 18px rgba(226,138,59,.5)); }
.ns-club-band-text { display: flex; flex-direction: column; gap: .25rem; flex: 1 1 18rem; }
.ns-club-band-lead { color: rgba(255,255,255,.86); }
.ns-club-band-cta { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .ns-club-band { transition: none; } .ns-club-band:hover { transform: none; } }
