/*
Theme Name:  NikahConnect
Version:     6.0.0 — Tinder Pixel-Perfect
*/
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

:root{
  /* Tinder exact colors */
  --flame:#FE3C72;
  --flame-d:#E02558;
  --flame-g:linear-gradient(135deg,#FF6B6B 0%,#FE3C72 50%,#F51A5A 100%);
  --pass-red:#F73B6A;
  --like-green:#39E079;
  --star-blue:#30BFFF;
  --rewind-yellow:#F5A623;
  --boost-purple:#9B59F5;
  --boost-g:linear-gradient(135deg,#9B59F5,#C056E0);
  --gold:#FFC843;
  /* Neutrals */
  --dark:#0A0A0A;
  --surface:#FFFFFF;
  --bg:#F5F5F7;
  --bg2:#EBEBEB;
  --border:rgba(0,0,0,.09);
  --text:#1A1A1A;
  --text2:#717171;
  --text3:#ADADAD;
  /* Presence colors */
  --online-green:#3DC464;
  --today-amber:#FFA827;
  --recent-gray:#8E8E93;
  /* Radius */
  --r:16px;--r-sm:10px;--r-lg:22px;--r-xl:32px;--r-f:999px;
  /* Shadows */
  --sh-btn:0 4px 20px rgba(0,0,0,.14);
  --sh-card:0 12px 56px rgba(0,0,0,.22);
  --sh-lg:0 20px 60px rgba(0,0,0,.28);
  /* Font */
  --font:'Plus Jakarta Sans',-apple-system,system-ui,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --tr:.15s;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;height:100%;overflow:hidden}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  height:100%;
  overflow:hidden;
  padding:0;
}
img{max-width:100%;display:block;-webkit-user-drag:none;user-select:none}
button,input,select,textarea{font-family:var(--font)}
a{color:var(--flame);text-decoration:none}
*{-webkit-tap-highlight-color:transparent}

/* ════════════════════════════════
   HEADER — style Tinder exact
════════════════════════════════ */
.nc-nav{
  position:fixed;top:0;left:0;right:0;z-index:600;
  height:56px;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.07);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 16px;
}
/* Logo tinder-style (flamme + texte) */
.nc-nav__logo{
  display:flex;align-items:center;gap:5px;
  font-size:1.35rem;font-weight:900;letter-spacing:-.04em;
  background:var(--flame-g);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.nc-nav__logo-icon{font-size:1.25rem;-webkit-text-fill-color:initial}
.nc-nav__right{display:flex;align-items:center;gap:4px}
.nc-nav__btn{
  width:40px;height:40px;border-radius:50%;
  border:none;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:1.05rem;color:var(--text2);
  transition:background var(--tr);
}
.nc-nav__btn:hover{background:var(--bg)}
/* Bell */
.nc-bell{position:relative}
.nc-bell__badge{
  position:absolute;top:-1px;right:-1px;
  background:var(--flame);color:#fff;border-radius:50%;
  min-width:16px;height:16px;font-size:.56rem;font-weight:800;
  display:none;align-items:center;justify-content:center;
  border:2px solid #fff;padding:0 3px;
}
.nc-bell__drop{
  position:absolute;right:0;top:48px;width:310px;
  background:#fff;border-radius:var(--r);
  border:1px solid var(--border);
  box-shadow:var(--sh-lg);
  display:none;z-index:300;overflow:hidden;
}
.nc-bell__drop.open{display:block;animation:dropFade .17s ease}
.nc-bell__drop-hdr{padding:13px 17px;border-bottom:1px solid var(--border);font-size:.86rem;font-weight:800;display:flex;justify-content:space-between;align-items:center}
.nc-notif-item{padding:11px 17px;border-bottom:1px solid var(--border);font-size:.8rem;line-height:1.48;cursor:pointer;transition:background .1s}
.nc-notif-item:hover{background:var(--bg)}
.nc-notif-item.unread{background:#FFF0F3}
.nc-notif-time{font-size:.67rem;color:var(--text3);margin-top:3px}

/* ════════════════════════════════
   BOTTOM NAV — style Tinder exact
════════════════════════════════ */
.nc-bnav{
  position:fixed;bottom:0;left:0;right:0;z-index:600;
  height:66px;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.07);
  display:flex;align-items:center;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.nc-bnav__item{
  flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:8px 0;
  cursor:pointer;border:none;background:none;
  font-family:var(--font);position:relative;
  color:var(--text3);
  transition:color var(--tr);
}
.nc-bnav__item.active{color:var(--flame)}
/* Icônes bottom nav identiques Tinder */
.nc-bnav__icon{
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  transition:transform var(--tr) var(--ease);
}
.nc-bnav__item.active .nc-bnav__icon{transform:scale(1.05)}
/* SVG icons */
.nc-bnav__icon svg{width:24px;height:24px;fill:currentColor}
.nc-bnav__badge{
  position:absolute;top:5px;left:50%;margin-left:5px;
  background:var(--flame);color:#fff;
  border-radius:var(--r-f);min-width:17px;height:17px;
  font-size:.57rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;border:2.5px solid #fff;
}
.nc-bnav__av{
  width:26px;height:26px;border-radius:50%;
  object-fit:cover;border:2px solid var(--border);
}
.nc-bnav__item.active .nc-bnav__av{border-color:var(--flame)}

/* ════════════════════════════════
   SHELL / SCREENS
════════════════════════════════ */
body{padding-top:56px;padding-bottom:66px}
/* Pages app (Explorer) : pas de padding global, tout est géré dans nc-shell */
body.page-template-page-explore-php{padding-top:0!important;padding-bottom:0!important}
.nc-shell{
  display:flex;flex-direction:column;
  height:100dvh;
  overflow:hidden;
}
/* Desktop: sidebar visible, shell takes full viewport height */
@media(min-width:900px){
  .nc-shell{height:100dvh}
}
.nc-screen{display:none;flex-direction:column;flex:1;overflow:hidden}
.nc-screen.active{display:flex}

/* Tabs */
.nc-tabs{
  display:flex;background:#fff;
  border-bottom:1px solid var(--border);
  flex-shrink:0;padding:0 6px;
  overflow-x:auto;scrollbar-width:none;
}
.nc-tabs::-webkit-scrollbar{display:none}
.nc-tab{
  flex:1;min-width:80px;padding:14px 6px;
  border:none;background:none;cursor:pointer;
  font-size:.83rem;font-weight:700;color:var(--text3);
  border-bottom:2.5px solid transparent;
  transition:all var(--tr);white-space:nowrap;
  font-family:var(--font);
}
.nc-tab.active{color:var(--flame);border-bottom-color:var(--flame)}

/* ════════════════════════════════
   CARD — Tinder exact
   - Photo plein écran
   - Dots en haut
   - Gradient + infos en bas
   - Badge présence (Active)
════════════════════════════════ */
.nc-deck{
  flex:1;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  background:var(--bg);
  /* Padding minime pour que la carte soit quasi plein écran */
  padding:8px 10px 0;
}
.nc-deck-empty{
  position:absolute;inset:0;display:none;
  flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:12px;padding:32px 24px;
}
.nc-deck-empty.show{display:flex}

/* La carte elle-même */
.nc-card{
  position:absolute;
  /* Tinder : carte large, presque plein écran */
  width:min(400px,calc(100vw - 20px));
  height:calc(100dvh - 56px - 66px - 88px - 20px);
  max-height:560px;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--sh-card);
  cursor:grab;
  -webkit-user-select:none;user-select:none;
  transform-origin:center bottom;
  will-change:transform;
  background:#1a1a1a;
  touch-action:none;
}
.nc-card:active{cursor:grabbing}
.nc-card.is-anim{
  transition:transform .35s cubic-bezier(.32,.72,0,1),opacity .35s ease;
}

/* Indicateurs LIKE / PASS style Tinder */
.nc-ind{
  position:absolute;z-index:20;
  padding:8px 18px;border-radius:var(--r-sm);
  font-size:1.2rem;font-weight:900;
  opacity:0;pointer-events:none;
  letter-spacing:.1em;
  transition:opacity .07s;
}
.nc-ind--like{
  top:30px;left:20px;
  color:var(--like-green);
  border:3.5px solid var(--like-green);
  transform:rotate(-16deg);
  background:rgba(0,0,0,.25);
}
.nc-ind--pass{
  top:30px;right:20px;
  color:var(--pass-red);
  border:3.5px solid var(--pass-red);
  transform:rotate(16deg);
  background:rgba(0,0,0,.25);
}

/* Photo */
.nc-card__photo{
  width:100%;height:100%;
  object-fit:cover;display:block;
  pointer-events:none;
}
.nc-card__ph{
  width:100%;height:100%;
  background:linear-gradient(160deg,#2D1B69,#1a1a2e);
  display:flex;align-items:center;justify-content:center;
  font-size:7rem;color:rgba(255,255,255,.35);
}

/* Dots pagination (haut de carte) */
.nc-card__dots{
  position:absolute;top:10px;left:0;right:0;
  display:flex;justify-content:center;gap:4px;z-index:10;
  padding:0 10px;
}
.nc-card__dot{
  height:3px;
  background:rgba(255,255,255,.38);
  border-radius:99px;flex:1;max-width:36px;
  transition:background .2s;
}
.nc-card__dot.on{background:rgba(255,255,255,.95)}

/* Gradient bas de carte */
.nc-card__grad{
  position:absolute;bottom:0;left:0;right:0;
  /* Tinder: gradient commence plus haut */
  background:linear-gradient(
    to top,
    rgba(0,0,0,.95) 0%,
    rgba(0,0,0,.7) 30%,
    rgba(0,0,0,.3) 60%,
    transparent 100%
  );
  padding:90px 18px 16px;
}

/* Badge ACTIVE (Tinder vert avec point) */
.nc-card__presence{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;border-radius:var(--r-f);
  font-size:.78rem;font-weight:700;
  margin-bottom:8px;
}
.nc-card__presence--online{background:var(--online-green);color:#fff}
.nc-card__presence--today{background:rgba(255,168,39,.9);color:#fff}
.nc-card__presence--recent{background:rgba(255,255,255,.18);color:rgba(255,255,255,.85);backdrop-filter:blur(4px)}
.nc-card__presence-dot{width:7px;height:7px;border-radius:50%;background:#fff;flex-shrink:0}

/* Nom + âge (Tinder: gros, bold) */
.nc-card__name{
  color:#fff;
  font-size:1.65rem;font-weight:900;
  display:flex;align-items:center;gap:10px;
  margin-bottom:4px;
  letter-spacing:-.03em;
  line-height:1.15;
}
.nc-card__age{font-weight:500;font-size:1.45rem;letter-spacing:0}

/* Badge vérifié (Tinder: cercle bleu ✓) */
.nc-vbadge{
  width:26px;height:26px;border-radius:50%;
  background:var(--star-blue);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-size:12px;font-weight:900;flex-shrink:0;
}

/* Ville */
.nc-card__city{
  color:rgba(255,255,255,.72);
  font-size:.86rem;margin-bottom:7px;
  display:flex;align-items:center;gap:4px;
}

/* Bio avec guillemet */
.nc-card__bio{
  color:rgba(255,255,255,.88);
  font-size:.84rem;line-height:1.5;
  display:flex;gap:5px;align-items:flex-start;
  margin-bottom:8px;
}
.nc-card__bio-q{
  color:var(--flame);font-size:1.15rem;line-height:1;
  flex-shrink:0;margin-top:0;font-style:normal;
}

/* Tags */
.nc-card__chips{display:flex;flex-wrap:wrap;gap:5px}
.nc-card__chip{
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:rgba(255,255,255,.9);
  padding:5px 12px;border-radius:var(--r-f);
  font-size:.72rem;font-weight:700;
  border:1px solid rgba(255,255,255,.18);
}

/* Bouton info (↑ en bas à droite, Tinder exact) */
.nc-card__info-btn{
  position:absolute;bottom:18px;right:18px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.22);
  border:none;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
  backdrop-filter:blur(4px);z-index:5;
  transition:background var(--tr);
}
.nc-card__info-btn:hover{background:rgba(255,255,255,.35)}

/* Badges haut droite */
.nc-card__badges{
  position:absolute;top:14px;right:14px;
  display:flex;flex-direction:column;gap:5px;z-index:10;
}
.nb{
  padding:4px 10px;border-radius:var(--r-f);
  font-size:.69rem;font-weight:800;
  display:flex;align-items:center;gap:4px;
}
.nb--gold{background:linear-gradient(135deg,#FFC843,#FFE09A);color:#7A4800;font-weight:900}
.nb--boost{background:linear-gradient(135deg,#F59E0B,#EF4444);color:#fff}
.nb--flame{background:var(--flame-g);color:#fff}

/* ════════════════════════════════
   ACTIONS — Tinder exact
   Boutons circulaires colorés
════════════════════════════════ */
.nc-actions{
  display:flex;align-items:center;justify-content:center;
  gap:14px;
  padding:12px 16px 14px;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.05);
  flex-shrink:0;
}
.nc-act{
  border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;background:#fff;
  box-shadow:var(--sh-btn);
  transition:transform .13s var(--ease),box-shadow .13s;
}
.nc-act:hover{transform:scale(1.08)}
.nc-act:active{transform:scale(.92);box-shadow:none}
/* Tinder exact sizes */
.nc-act--rewind{
  width:46px;height:46px;font-size:1.15rem;
  color:var(--rewind-yellow);
}
.nc-act--pass{
  width:58px;height:58px;font-size:1.5rem;
  color:var(--pass-red);
  box-shadow:0 5px 22px rgba(247,59,106,.28);
}
.nc-act--like{
  width:66px;height:66px;font-size:1.7rem;
  color:var(--like-green);
  box-shadow:0 6px 24px rgba(57,224,121,.32);
}
.nc-act--super{
  width:46px;height:46px;font-size:1.15rem;
  color:var(--star-blue);
  box-shadow:0 4px 16px rgba(48,191,255,.26);
}
.nc-act--boost{
  width:54px;height:54px;font-size:.85rem;
  background:var(--boost-g);color:#fff;
  font-weight:800;letter-spacing:-.02em;
  box-shadow:0 5px 20px rgba(155,89,245,.36);
  flex-direction:column;gap:1px;
}
.nc-act--boost-val{font-size:.72rem;font-weight:900;line-height:1}
.nc-act--boost-x{font-size:.64rem;font-weight:700;opacity:.8;line-height:1}

/* ════════════════════════════════
   ÉCRAN LIKES
════════════════════════════════ */
.nc-likes-hdr{padding:14px 18px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.nc-likes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px;overflow-y:auto;flex:1}
.nc-lk-card{border-radius:var(--r);overflow:hidden;position:relative;cursor:pointer;box-shadow:0 3px 16px rgba(0,0,0,.1);aspect-ratio:.7/1;background:var(--bg);transition:transform var(--tr)}
.nc-lk-card:hover{transform:translateY(-3px) scale(1.01)}
.nc-lk-photo{width:100%;height:100%;object-fit:cover;display:block}
.nc-lk-photo--blur{filter:blur(20px) brightness(.68) saturate(.6);transform:scale(1.08)}
.nc-lk-over{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.88),transparent);padding:32px 12px 12px}
.nc-lk-name{color:#fff;font-weight:800;font-size:.89rem;letter-spacing:-.01em}
.nc-lk-badge{position:absolute;top:10px;right:10px;padding:3px 9px;border-radius:var(--r-f);font-size:.67rem;font-weight:800;color:#fff}
.nc-lk-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:rgba(0,0,0,.3);backdrop-filter:blur(3px)}

/* ════════════════════════════════
   MESSAGES — style iMessage
════════════════════════════════ */
/* nc-msgs-screen hérite de nc-screen (display:none) — display:flex vient de nc-screen.active */
.nc-msgs-hdr{padding:13px 18px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0}
/* Row de matches */
.nc-matches-row{display:flex;gap:14px;padding:14px 18px;overflow-x:auto;scrollbar-width:none;flex-shrink:0;border-bottom:1px solid var(--border);background:#fff}
.nc-matches-row::-webkit-scrollbar{display:none}
.nc-match-chip{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;flex-shrink:0}
.nc-match-chip img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid var(--flame)}
.nc-match-chip__name{font-size:.68rem;font-weight:700;color:var(--text2);max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
/* Liste convos */
.nc-conv-list{flex:1;overflow-y:auto}
.nc-conv-item{display:flex;align-items:center;gap:13px;padding:13px 18px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s;background:#fff}
.nc-conv-item:hover,.nc-conv-item.active{background:rgba(254,60,114,.04)}
.nc-conv-item__av{position:relative;flex-shrink:0}
.nc-conv-item__av img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}
.nc-conv-item__av-dot{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;background:var(--online-green);border:2px solid #fff}
.nc-conv-item__body{flex:1;min-width:0}
.nc-conv-item__name{font-size:.9rem;font-weight:800;color:var(--dark);margin-bottom:2px;letter-spacing:-.01em}
.nc-conv-item__prev{font-size:.76rem;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-conv-item__meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.nc-conv-item__time{font-size:.67rem;color:var(--text3)}
.nc-conv-item__badge{background:var(--flame);color:#fff;border-radius:50%;min-width:19px;height:19px;font-size:.63rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px}

/* Chat modal */
.nc-chat-modal{position:fixed;inset:0;z-index:800;background:#fff;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.nc-chat-modal.open{transform:translateY(0)}
.nc-chat-hdr{padding:10px 15px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;gap:10px;flex-shrink:0}
.nc-chat-hdr__back{width:32px;height:32px;border-radius:50%;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text2)}
.nc-chat-hdr__av{position:relative;flex-shrink:0}
.nc-chat-hdr__av img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--flame)}
.nc-chat-hdr__av-dot{position:absolute;bottom:0px;right:0px;width:11px;height:11px;border-radius:50%;background:var(--online-green);border:2px solid #fff}
.nc-chat-hdr__info{flex:1}
.nc-chat-hdr__name{font-size:.92rem;font-weight:800;color:var(--dark);letter-spacing:-.01em}
.nc-chat-hdr__status{font-size:.73rem;font-weight:600}
.nc-chat-hdr__status--online{color:var(--online-green)}
.nc-chat-hdr__status--today{color:var(--today-amber)}
.nc-chat-hdr__status--away{color:var(--text3)}
.nc-chat-hdr-btns{display:flex;gap:5px}
.nc-chat-hdr-btn{width:34px;height:34px;border-radius:50%;border:none;background:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--text2);transition:all .13s}
.nc-chat-hdr-btn:hover{background:#ffe8ed;color:var(--flame)}
/* Messages */
.nc-chat-msgs{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:9px;background:#F2F1F6}
.nc-chat-msgs::-webkit-scrollbar{width:0}
.nc-msg-wrap{display:flex;flex-direction:column}
.nc-msg-wrap--sent{align-items:flex-end}
.nc-msg-wrap--recv{align-items:flex-start}
.nc-msg{max-width:74%;padding:10px 15px;border-radius:20px;font-size:.88rem;line-height:1.46;word-break:break-word}
.nc-msg--recv{background:#fff;color:var(--dark);border-bottom-left-radius:5px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.nc-msg--sent{background:#2196F3;color:#fff;border-bottom-right-radius:5px}
.nc-msg__time{font-size:.62rem;opacity:.52;margin-top:3px;text-align:right}
.nc-msg-audio{display:flex;align-items:center;gap:9px;background:#fff;border:1.5px solid var(--border);border-radius:var(--r-f);padding:8px 14px;max-width:240px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.nc-msg-audio.mine{background:#2196F3;border:none;color:#fff}
/* Input */
.nc-chat-inp{padding:10px 14px;border-top:1px solid var(--border);background:#fff;display:flex;gap:9px;align-items:flex-end;flex-shrink:0}
.nc-chat-inp__txt{flex:1;padding:10px 16px;border:1.5px solid var(--border);border-radius:22px;font-size:.88rem;font-family:var(--font);resize:none;max-height:90px;outline:none;transition:border-color .15s;line-height:1.42;background:var(--bg)}
.nc-chat-inp__txt:focus{border-color:var(--flame);background:#fff}
.nc-chat-inp__txt::placeholder{color:var(--text3)}
.nc-chat-send{padding:10px 18px;border-radius:var(--r-f);background:none;color:var(--flame);border:none;cursor:pointer;font-weight:800;font-size:.9rem;font-family:var(--font);transition:opacity .13s}
.nc-chat-send:hover{opacity:.7}
.nc-chat-rec{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;color:var(--text2);transition:all .13s}
.nc-chat-rec:hover{background:#ffe8ed;border-color:var(--flame);color:var(--flame)}
.nc-chat-rec.recording{background:var(--flame);color:#fff;border-color:var(--flame);animation:recPulse .8s infinite}
@keyframes recPulse{0%,100%{box-shadow:0 0 0 0 rgba(254,60,114,.4)}50%{box-shadow:0 0 0 10px rgba(254,60,114,0)}}

/* ════════════════════════════════
   MODAL PROFIL
════════════════════════════════ */
.nc-modal{position:fixed;inset:0;z-index:800;background:#fff;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.nc-modal.open{transform:translateY(0)}
.nc-modal-hdr{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);z-index:10;padding:12px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.nc-modal-back{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;transition:.13s}
.nc-modal-back:hover{background:var(--bg)}
.nc-modal-actions{padding:13px 15px;border-top:1px solid var(--border);background:#fff;display:flex;gap:9px;position:sticky;bottom:0}

/* ════════════════════════════════
   MATCH OVERLAY
════════════════════════════════ */
.nc-match-ov{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(10px)}
.nc-match-ov.show{display:flex}
.nc-match-box{background:#1a1a2e;border-radius:var(--r-xl);padding:38px 28px;max-width:340px;width:100%;text-align:center;animation:matchPop .42s cubic-bezier(.34,1.56,.64,1)}
@keyframes matchPop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
.nc-match-title{font-size:2.2rem;font-weight:900;background:var(--flame-g);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:10px 0 6px;letter-spacing:-.04em}
.nc-match-av{width:72px;height:72px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.nc-match-heart{font-size:1.7rem;margin:0 -14px;z-index:1;position:relative;animation:hBeat .6s ease}
@keyframes hBeat{0%,100%{transform:scale(1)}40%{transform:scale(1.4)}70%{transform:scale(1.1)}}

/* ════════════════════════════════
   BOOST SCREEN
════════════════════════════════ */
.nc-boost-hero{background:linear-gradient(135deg,#9B59F5,#C056E0,#FF3CAC);border-radius:var(--r-lg);padding:28px 22px;text-align:center;color:#fff;margin:14px;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(155,89,245,.36)}
.nc-boost-hero::before{content:'⚡';position:absolute;font-size:8rem;opacity:.08;right:-16px;top:-12px;pointer-events:none}
.nc-boost-active{background:linear-gradient(135deg,#F59E0B,#EF4444);border-radius:var(--r-lg);padding:22px;text-align:center;color:#fff;margin:14px}
.nc-credit-card{background:#fff;border-radius:var(--r);padding:14px 18px;border:1.5px solid var(--border);margin:0 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:.13s}
.nc-credit-card:hover{border-color:var(--flame);box-shadow:0 3px 14px rgba(0,0,0,.08)}

/* ════════════════════════════════
   PROFIL SCREEN
════════════════════════════════ */
.nc-profscreen-hero{position:relative;flex-shrink:0}
.nc-profscreen-photo{width:100%;height:280px;object-fit:cover;display:block;pointer-events:none}
.nc-profscreen-ph{width:100%;height:280px;background:linear-gradient(160deg,#2D1B69,#1A1A2E);display:flex;align-items:center;justify-content:center;font-size:5rem;color:rgba(255,255,255,.4)}
.nc-profscreen-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.92),transparent);padding:44px 18px 18px}
.nc-profscreen-name{color:#fff;font-size:1.65rem;font-weight:900;display:flex;align-items:center;gap:8px;margin-bottom:4px;letter-spacing:-.03em}
.nc-profscreen-city{color:rgba(255,255,255,.6);font-size:.85rem}
.nc-stat-strip{display:flex;justify-content:space-around;background:#fff;border-radius:var(--r);padding:16px;margin:14px;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.nc-stat-strip__item{text-align:center}
.nc-stat-strip__num{font-size:1.32rem;font-weight:900;color:var(--dark);letter-spacing:-.03em}
.nc-stat-strip__lbl{font-size:.68rem;color:var(--text2);margin-top:2px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.nc-info-block{background:#fff;border-radius:var(--r);margin:0 14px 12px;border:1.5px solid var(--border);overflow:hidden}
.nc-info-row{display:flex;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid var(--border)}
.nc-info-row:last-child{border-bottom:none}
.nc-info-icon{width:36px;height:36px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}
.nc-info-lbl{font-size:.71rem;color:var(--text2);margin-bottom:1px;font-weight:600}
.nc-info-val{font-size:.88rem;font-weight:700;color:var(--dark)}

/* ════════════════════════════════
   AUTH
════════════════════════════════ */
.nc-auth-wrap{min-height:calc(100dvh - 56px);display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(160deg,#FFF5F7 0%,#FFE8EE 100%)}
.nc-auth-box{background:#fff;border-radius:var(--r-xl);padding:38px 32px;width:100%;max-width:420px;box-shadow:var(--sh-lg);border:1px solid rgba(254,60,114,.1)}
.nc-auth-logo{text-align:center;font-size:1.6rem;font-weight:900;background:var(--flame-g);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:24px;letter-spacing:-.04em}
.nc-auth-title{text-align:center;font-size:1.44rem;font-weight:900;margin-bottom:5px;letter-spacing:-.025em}
.nc-auth-sub{text-align:center;color:var(--text2);font-size:.86rem;margin-bottom:26px;line-height:1.6}
.nc-auth-switch{text-align:center;font-size:.83rem;color:var(--text2);margin-top:16px}
.nc-auth-demo{margin-top:14px;padding:12px;background:var(--bg);border-radius:var(--r-sm);font-size:.76rem;color:var(--text2);text-align:center;line-height:1.7}
.nc-genre-sel{display:flex;gap:10px;margin-top:5px}
.nc-genre-opt{flex:1;padding:12px;border-radius:var(--r-sm);border:2px solid var(--border);cursor:pointer;text-align:center;font-size:.9rem;font-weight:700;transition:.13s;background:#fff;color:var(--text2);display:flex;align-items:center;justify-content:center;gap:6px}
.nc-genre-opt:hover,.nc-genre-opt.active{border-color:var(--flame);background:#FFF0F3;color:var(--flame)}
.nc-genre-opt input{display:none}

/* ════════════════════════════════
   FORMS + BUTTONS
════════════════════════════════ */
.nc-input{width:100%;padding:13px 16px;border:1.5px solid rgba(0,0,0,.15);border-radius:var(--r-sm);font-size:.9rem;color:var(--text);background:#fff;outline:none;transition:.13s;font-family:var(--font)}
.nc-input:focus{border-color:var(--flame);box-shadow:0 0 0 4px rgba(254,60,114,.1)}
.nc-input::placeholder{color:var(--text3)}
select.nc-input{cursor:pointer}
textarea.nc-input{resize:none;line-height:1.55}
.nc-label{display:block;font-size:.8rem;font-weight:700;color:var(--dark);margin-bottom:6px}
.nc-form-row{margin-bottom:16px}
.nc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nc-alert{padding:12px 16px;border-radius:var(--r-sm);font-size:.84rem;font-weight:600;margin-bottom:14px;display:none}
.nc-alert--error{background:rgba(254,60,114,.08);color:#9B0A2E;border:1px solid rgba(254,60,114,.2)}
.nc-alert--success{background:rgba(57,224,121,.08);color:#0A5C2E;border:1px solid rgba(57,224,121,.2)}
.nc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 24px;border-radius:var(--r-f);font-size:.88rem;font-weight:800;cursor:pointer;border:none;transition:.13s;text-decoration:none;line-height:1;white-space:nowrap;font-family:var(--font);user-select:none}
.nc-btn:active{transform:scale(.97)}
.nc-btn:disabled{opacity:.45;cursor:not-allowed}
.nc-btn--flame{background:var(--flame-g);color:#fff;box-shadow:0 4px 20px rgba(254,60,114,.38)}
.nc-btn--dark{background:var(--dark);color:#fff}
.nc-btn--gold{background:linear-gradient(135deg,#FFC843,#FFE09A);color:#7A4800;font-weight:900}
.nc-btn--ghost{background:var(--bg);border:1.5px solid var(--border);color:var(--text)}
.nc-btn--ghost:hover{border-color:var(--flame);color:var(--flame)}
.nc-btn--outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}
.nc-btn--full{width:100%}
.nc-btn--sm{padding:8px 16px;font-size:.79rem}
.nc-btn--lg{padding:15px 32px;font-size:.96rem}

/* ════════════════════════════════
   PROFILE EDIT
════════════════════════════════ */
.nc-pedit{max-width:680px;margin:0 auto;padding:20px 16px 48px}
.nc-pedit-section{background:#fff;border-radius:var(--r);padding:20px;border:1.5px solid var(--border);margin-bottom:14px}
.nc-pedit-section__title{font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--text2);margin-bottom:16px;display:flex;align-items:center;gap:6px}
.nc-pedit-av{position:relative;width:82px;height:82px;flex-shrink:0}
.nc-pedit-av img{width:82px;height:82px;border-radius:50%;object-fit:cover;border:3px solid var(--flame)}
.nc-pedit-av-edit{position:absolute;bottom:0;right:0;width:26px;height:26px;border-radius:50%;background:var(--flame);color:#fff;border:2.5px solid #fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem}
.nc-prog{height:5px;background:var(--border);border-radius:99px;overflow:hidden}
.nc-prog-fill{height:100%;background:var(--flame-g);border-radius:99px;transition:width .6s}
.nc-check-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:.13s;margin-bottom:8px}
.nc-check-row:hover{border-color:rgba(254,60,114,.3);background:#FFF0F3}
.nc-check-row input{accent-color:var(--flame);margin-top:2px;flex-shrink:0}
.nc-check-lbl{font-size:.86rem;font-weight:700;color:var(--dark)}
.nc-check-desc{font-size:.74rem;color:var(--text2);margin-top:2px}

/* ════════════════════════════════
   PLANS
════════════════════════════════ */
.nc-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:820px;margin:0 auto;padding:24px 16px}
.nc-plan{background:#fff;border-radius:var(--r-lg);padding:28px 22px;border:2px solid var(--border);text-align:center;position:relative;transition:.13s}
.nc-plan:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.1)}
.nc-plan--feat{border-color:var(--dark);background:var(--dark);color:#fff}
.nc-plan__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--flame-g);color:#fff;padding:4px 16px;border-radius:var(--r-f);font-size:.7rem;font-weight:800;white-space:nowrap}
.nc-plan__name{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text2);margin-bottom:10px}
.nc-plan--feat .nc-plan__name{color:rgba(255,255,255,.4)}
.nc-plan__price{font-size:2.5rem;font-weight:900;color:var(--dark);line-height:1;letter-spacing:-.05em}
.nc-plan--feat .nc-plan__price{color:var(--gold)}
.nc-plan__price sub{font-size:.9rem;font-weight:400}
.nc-plan__list{list-style:none;margin:15px 0 20px;display:flex;flex-direction:column;gap:9px;text-align:left}
.nc-plan__list li{font-size:.83rem;color:var(--text2);display:flex;gap:8px;align-items:flex-start}
.nc-plan__list li::before{content:'✓';color:var(--flame);font-weight:900;flex-shrink:0}
.nc-plan--feat .nc-plan__list li{color:rgba(255,255,255,.55)}

/* ════════════════════════════════
   TOAST + SPINNER
════════════════════════════════ */
.nc-toast{position:fixed;bottom:76px;right:16px;z-index:9999;padding:12px 18px;border-radius:var(--r);color:#fff;font-size:.84rem;font-weight:700;max-width:285px;line-height:1.45;box-shadow:var(--sh-lg);pointer-events:none;animation:toastIn .26s cubic-bezier(.34,1.56,.64,1)}
@keyframes toastIn{from{transform:translateX(115px);opacity:0}to{transform:none;opacity:1}}
.nc-spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid rgba(0,0,0,.12);border-top-color:var(--flame);animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes dropFade{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}

/* ════════════════════════════════
   SIDEBAR DESKTOP
════════════════════════════════ */
@media(min-width:900px){
  .nc-shell{flex-direction:row;height:calc(100dvh - 56px)}
  .nc-bnav{display:none}
  body{padding-bottom:0}
  .nc-sidebar{width:230px;flex-shrink:0;background:#1A1A2E;position:sticky;top:56px;height:calc(100dvh - 56px);overflow-y:auto;padding:18px 12px;display:flex;flex-direction:column;gap:3px}
  .nc-sb-user{text-align:center;padding:14px 0 18px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:10px}
  .nc-sb-user__av{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2.5px solid var(--flame);margin:0 auto 9px}
  .nc-sb-user__name{color:#fff;font-weight:800;font-size:.86rem;letter-spacing:-.01em}
  .nc-sb-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);color:rgba(255,255,255,.4);font-size:.85rem;font-weight:700;transition:.13s;background:none;border:none;cursor:pointer;width:100%;text-align:left;font-family:var(--font);text-decoration:none;letter-spacing:-.01em}
  .nc-sb-link:hover,.nc-sb-link.active{background:rgba(254,60,114,.14);color:#fff}
  .nc-sb-link__icon{font-size:1.05rem;flex-shrink:0;width:20px;text-align:center}
  .nc-sb-badge{margin-left:auto;background:var(--flame);color:#fff;border-radius:var(--r-f);min-width:18px;height:18px;font-size:.62rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px}
  .nc-screen{min-height:calc(100dvh - 56px)}
  .nc-likes-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:899px){.nc-sidebar{display:none}.nc-form-grid{grid-template-columns:1fr}}
@media(max-width:480px){.nc-likes-grid{gap:8px;padding:10px}}

.nc-rgpd{position:fixed;bottom:66px;left:0;right:0;z-index:700;background:#1A1A2E;color:#fff;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.nc-rgpd__text{font-size:.8rem;max-width:560px;line-height:1.55;opacity:.85}

/* Force les screens non-actifs à être cachés même avec style inline */
.nc-screen:not(.active){display:none!important}
