/* aird-signup-nudge — popup d'inscription (visiteurs non connectés, pages contenu).
   DA AIRDancia : or sur verre sombre, titres Plus Jakarta Sans 800, dégradé doré. Cf. aird-design. */

.aird-nudge { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 20px; }
.aird-nudge[hidden] { display: none; }
.aird-nudge__backdrop {
    position: absolute; inset: 0; background: rgba(10, 8, 14, .62);
    -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
    opacity: 0; transition: opacity .22s ease;
}
.aird-nudge.is-open .aird-nudge__backdrop { opacity: 1; }
body.aird-nudge-lock { overflow: hidden; }

.aird-nudge__box {
    position: relative; width: 100%; max-width: 460px;
    padding: 30px 30px 22px; border-radius: 22px; text-align: center;
    background: linear-gradient(160deg, rgba(28, 26, 32, .94) 0%, rgba(14, 12, 17, .97) 100%);
    border: 1px solid rgba(229, 169, 61, .42);
    box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .8), inset 0 0 0 1px rgba(255, 255, 255, .04);
    color: #f5f0e0;
    opacity: 0; transform: translateY(14px) scale(.97);
    transition: opacity .24s ease, transform .24s cubic-bezier(.2, .8, .3, 1);
}
.aird-nudge.is-open .aird-nudge__box { opacity: 1; transform: none; }
/* liseré or en haut (signature) */
.aird-nudge__box::before {
    content: ''; position: absolute; top: 0; left: 26px; right: 26px; height: 2px;
    background: linear-gradient(90deg, transparent, #d4a84a, #f5d98a, #d4a84a, transparent);
    opacity: .8;
}

.aird-nudge__x {
    position: absolute; top: 12px; right: 14px; width: 32px; height: 32px;
    border: none; background: transparent; color: rgba(220, 210, 190, .6);
    font-size: 26px; line-height: 1; cursor: pointer; border-radius: 50%;
    transition: color .15s ease, background .15s ease;
}
.aird-nudge__x:hover { color: #f5d98a; background: rgba(255, 255, 255, .06); }

.aird-nudge__kicker {
    margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .14em;
    text-transform: uppercase; color: #d4a84a;
}
.aird-nudge__title {
    margin: 0 0 14px; font-family: 'Plus Jakarta Sans', 'Inter', sans-serif; font-weight: 800;
    font-size: 25px; line-height: 1.22; letter-spacing: -.015em;
    background: linear-gradient(90deg, #d4a84a, #f5d98a 55%, #d4a84a);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    color: #f5d98a; /* fallback */
}
.aird-nudge__lead { margin: 0 0 16px; font-size: 14.5px; line-height: 1.5; color: rgba(230, 222, 205, .82); }
.aird-nudge__lead strong { color: #f5d98a; font-weight: 700; }

.aird-nudge__perks { list-style: none; margin: 0 0 12px; padding: 0; text-align: left; display: inline-block; }
.aird-nudge__perks li {
    position: relative; padding: 5px 0 5px 28px; font-size: 14px; color: #f0e9d8;
}
.aird-nudge__perks li::before {
    content: '✓'; position: absolute; left: 0; top: 5px;
    color: #22c55e; font-weight: 800; font-size: 14px;
}

.aird-nudge__tagline { margin: 0 0 20px; font-size: 15px; font-weight: 800; color: #f5d98a; }

.aird-nudge__actions { display: flex; flex-direction: column; gap: 10px; }
.aird-nudge__cta {
    display: block; padding: 14px 22px; border-radius: 12px; text-decoration: none;
    font-size: 15.5px; font-weight: 800; color: #2a1d05;
    background: linear-gradient(135deg, #f5d98a 0%, #E5A93D 100%);
    box-shadow: 0 8px 22px rgba(184, 130, 31, .4);
    transition: transform .14s ease, box-shadow .15s ease, filter .15s ease;
}
.aird-nudge__cta:hover { transform: translateY(-1px); filter: brightness(1.04); box-shadow: 0 11px 26px rgba(184, 130, 31, .5); }
.aird-nudge__login {
    display: block; padding: 11px; border-radius: 12px; text-decoration: none;
    font-size: 14px; font-weight: 700; color: #f5d98a;
    border: 1px solid rgba(229, 169, 61, .35); background: rgba(255, 255, 255, .03);
    transition: border-color .15s ease, background .15s ease;
}
.aird-nudge__login:hover { border-color: rgba(229, 169, 61, .7); background: rgba(229, 169, 61, .08); }

.aird-nudge__later {
    margin: 14px auto 0; display: block; border: none; background: transparent; cursor: pointer;
    font-size: 12.5px; font-weight: 600; color: rgba(220, 210, 190, .5);
    text-decoration: underline; text-underline-offset: 3px;
}
.aird-nudge__later:hover { color: rgba(220, 210, 190, .8); }

@media (max-width: 480px) {
    .aird-nudge__box { padding: 26px 20px 20px; border-radius: 18px; }
    .aird-nudge__title { font-size: 22px; }
}

/* ───────────────────────────────────────────────────────────────────────
   Verrou membre : grisé + pastille dorée "Réservé aux membres".
   Liens GPS/carte + réseaux des fiches event, nav semaines des hubs.
   Même périmètre que le popup (non-membres, pages de contenu). Clic sur le
   bloc / la pastille → ouvre le popup d'inscription (data-aird-mlock, JS).
   ─────────────────────────────────────────────────────────────────────── */
.aird-mlock { position: relative; display: block; cursor: pointer; }
.aird-mlock__inner { filter: grayscale(1); opacity: .4; pointer-events: none; user-select: none; }
/* Pastille = petite clé dans un cercle, épinglée au coin haut-droit de la zone
   grisée (médaillon clé dorée sur verre sombre + liseré or : discret, élégant,
   et "déverrouiller" = parlant pour du contenu réservé). */
.aird-mlock__badge,
a.aird-mlock__badge {
    position: absolute; top: -7px; right: -7px; z-index: 4;
    box-sizing: border-box; width: 30px; height: 30px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; cursor: pointer; text-decoration: none; color: #f5d98a;
    background: radial-gradient(circle at 50% 38%, #241b29, #120d16);
    border: 1.5px solid rgba(229, 169, 61, .7);
    box-shadow: 0 3px 10px rgba(0, 0, 0, .45);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.aird-mlock__badge:hover {
    transform: scale(1.12);
    border-color: #f5d98a;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .55);
}
.aird-mlock__badge svg { width: 15px; height: 15px; display: block; }

/* Carte verrouillée : placeholder atténué + sticker épinglé qui peut déborder */
.aird-map-preview--locked { position: relative; cursor: default; overflow: visible; }
.aird-map-preview--locked .aird-map-preview__bg { filter: grayscale(.7); opacity: .55; }

/* Nav des semaines verrouillée (hubs) : zone grisée + sticker "S'inscrire" épinglé
   au coin haut-droit de la flèche "suivante" (conservée, grisée). Le wrap relatif
   ancre le sticker sur la flèche (la barre est centrée → pas son coin). */
.aird-soc__weeknav-arrow.is-mlocked,
.aird-soc__weeknav-all.is-mlocked { opacity: .55; }
.aird-soc__weeknav-item.is-mlocked { opacity: .6; }
.aird-soc__weeknav-nextwrap { position: relative; display: inline-flex; flex: 0 0 auto; }
