/* ============================================================
   SwipingWeb — CANLI patch katmanı (CSS)  ·  v2
   Kaynak (apps/webui) kaybolduğu için derlenmiş dist üstüne uygulanır.
   Geri alma: index.html'den <link>/<script> satırlarını sil.
   ============================================================ */

/* [#13] Swipe sonrası "Liked/Passed X" üst bildirimi kaldır */
.jobs-flash{display:none!important}

/* [#12]+[#14] Swipe kartı: daha büyük + SABİT yükseklik; içerik kartta kayar, butonlar sabit */
.jobs-swipe .swipe-card{max-width:940px!important}
.jobs-swipe .swipe-card .jc{height:min(76vh,700px)!important}
.jobs-swipe .jc__media{max-width:440px!important;flex:0 0 42%!important}

/* [#10] Feed 9:16 medya: temiz çerçeve, yan koyu bar yok */
.fpost__media{max-height:560px!important;max-width:315px!important;width:100%!important;margin-inline:auto!important;aspect-ratio:9/16!important}
.fpost__media>img,.fpost__media>video{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;aspect-ratio:auto!important}

/* [#11] Browse görünümünü kaldır — mod toggle gizli (JS her zaman Swipe'a geçirir) */
.jobs-head .mode-seg{display:none!important}

/* [#2] Auth ekranlarında (login/signup/recover) üst header */
#sj-auth-hdr{position:sticky;top:0;z-index:50;background:var(--surface,#fff);border-bottom:1px solid var(--border,#ece9f5);height:58px;display:flex;align-items:center}
#sj-auth-hdr .sj-ah-in{max-width:1128px;width:100%;margin:0 auto;padding:0 20px}
#sj-auth-hdr .sj-ah-logo img{height:25px;display:block}

/* [#16] Filtre popover: uzun liste kayar, arama kutusu üstte sabit */
.jf-pop{max-height:min(64vh,440px)!important;overflow:auto!important}
.jf-pop .jf-search.sj-injected{position:sticky;top:0;background:var(--surface,#fff);z-index:2}

/* [#8] Kilitli Mesaj butonu */
.sj-msg-locked{opacity:.6!important;cursor:not-allowed!important}

/* [#7] Enjekte "People you may know" — app .sugg stiline uyum */
#sj-pmyk .sugg:last-child{border-bottom:0}
.sj-follow.is-following{background:var(--primary-soft,#eee)!important;color:var(--primary-ink,#5a3ec8)!important}

/* [#19] Swipe yazar adı tıklanabilir */
.jobs-swipe .jc__co[role=link]:hover .jc__coName .ellipsis{text-decoration:underline}

/* [#20] Swipe kart içi scrollbar'ı incelt + markala (görünsün ama şık) */
.jc__scroll{scrollbar-width:thin;scrollbar-color:rgba(124,93,249,.3) transparent}
.jc__scroll::-webkit-scrollbar{width:7px}
.jc__scroll::-webkit-scrollbar-track{background:transparent}
.jc__scroll::-webkit-scrollbar-thumb{background:rgba(124,93,249,.28);border-radius:10px;border:2px solid transparent;background-clip:padding-box}
.jc__scroll:hover::-webkit-scrollbar-thumb{background:rgba(124,93,249,.5);background-clip:padding-box}

/* [#22] Swipe kartı yumuşak giriş + like/pass çıkış animasyonu */
@keyframes sjCardIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.jobs-swipe .swipe-card{animation:sjCardIn .34s cubic-bezier(.22,1,.36,1)}
.jobs-swipe .swipe-card.sj-fly-like{animation:sjFlyLike .42s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}
.jobs-swipe .swipe-card.sj-fly-pass{animation:sjFlyPass .42s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}
@keyframes sjFlyLike{to{opacity:0;transform:translateX(58%) translateY(-6%) rotate(11deg)}}
@keyframes sjFlyPass{to{opacity:0;transform:translateX(-58%) translateY(-6%) rotate(-11deg)}}
/* like/pass sırasında kart üstünde damga */
.sj-stamp{position:absolute;top:38px;z-index:20;font-weight:900;font-size:34px;letter-spacing:.06em;text-transform:uppercase;border:4px solid;border-radius:12px;padding:4px 16px;pointer-events:none;opacity:0;animation:sjStamp .42s ease forwards}
.sj-stamp--like{left:34px;color:#16a34a;border-color:#16a34a;transform:rotate(-13deg)}
.sj-stamp--pass{right:34px;color:#e11d48;border-color:#e11d48;transform:rotate(13deg)}
@keyframes sjStamp{0%{opacity:0;transform:scale(.6) rotate(var(--r,-13deg))}30%{opacity:1;transform:scale(1.05) rotate(var(--r,-13deg))}100%{opacity:1;transform:scale(1) rotate(var(--r,-13deg))}}

/* [#1] Misafir feed önizlemesi */
.guest-page.sj-guest-has-feed{display:block!important;align-items:initial!important;justify-content:initial!important;padding:24px 20px 64px!important;min-height:auto!important}
.sj-gfcol{max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.sj-gftease{text-align:center;font-weight:800;font-size:18px;color:var(--ink,#0e0929);margin:4px 0 6px}
.guest-page.sj-guest-has-feed .guest-cta__card{margin:24px auto 0}
.fpost__media.sj-gfvideo{aspect-ratio:9/16;max-width:392px;width:100%;margin-inline:auto;background:var(--ink,#0e0929);display:grid;place-items:center;border-radius:12px}
.sj-gfplay{color:#fff;font-size:34px;opacity:.85}
.sj-gftag{display:inline-block;margin:0 2px 8px;padding:3px 10px;border-radius:999px;background:var(--primary-soft,#efeafe);color:var(--primary-ink,#5a3ec8);font-size:12px;font-weight:700}

/* [#4] Konum otomatik-tamamlama dropdown */
.sj-locac{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:80;background:var(--surface,#fff);border:1px solid var(--border,#ece9f5);border-radius:12px;box-shadow:0 10px 30px rgba(20,10,45,.14);overflow-y:auto;max-height:260px}
.sj-locac__opt{display:block;width:100%;text-align:left;padding:10px 14px;background:none;border:0;font-size:14px;color:var(--ink,#0e0929);cursor:pointer;font-family:inherit}
.sj-locac__opt:hover{background:var(--surface-2,#f4f2fb)}

/* [#5] Özel video kontrol çubuğu */
.fpost__media video{cursor:pointer}
.sj-vc{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(transparent,rgba(14,9,41,.78));color:#fff}
.sj-vc button{background:none;border:0;color:#fff;cursor:pointer;display:grid;place-items:center;padding:2px}
.sj-vc__prog{flex:1;height:5px;border-radius:99px;background:rgba(255,255,255,.3);cursor:pointer;overflow:hidden}
.sj-vc__played{height:100%;width:0;background:#fff;border-radius:99px}
.sj-vc__t{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;min-width:34px}

/* [#13] Çoklu foto slider */
.sj-ms{position:absolute;top:50%;transform:translateY(-50%);z-index:7;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:#0e0929;border:0;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.sj-ms--prev{left:8px}.sj-ms--next{right:8px}
.sj-ms-dots{position:absolute;bottom:10px;left:0;right:0;z-index:7;display:flex;gap:5px;justify-content:center}
.sj-ms-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55)}
.sj-ms-dots span.on{background:#fff;width:16px;border-radius:99px}

/* [#1v2] Misafir HOME (girisli 3-kolon home'un aynısı) */
.guest-page.sj-guest-home{display:block!important;padding:0!important;min-height:auto!important;align-items:initial!important;justify-content:initial!important}
.sj-ghwrap{max-width:1128px;margin:0 auto;padding:22px 20px 64px}
.sj-guest-ava{display:grid!important;place-items:center;background:var(--primary-soft,#efeafe);color:var(--primary,#7c5df9)}
.sj-guest-ava svg{width:26px;height:26px}
.sj-guest-cta{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.sj-guest-cta .btn{width:100%;justify-content:center;white-space:nowrap}
#sj-guesthome .feed{display:flex;flex-direction:column;gap:16px;margin-top:16px}
#sj-guesthome .sj-gcounts{display:flex;gap:16px;color:var(--muted,#6b6a80);font-size:13px;padding:9px 2px 2px}
#sj-guesthome .sj-glink{cursor:pointer}
#sj-guesthome .sj-gf-gate{text-align:center;padding:26px 22px}

/* [#1v3] Gate MODAL (scroll sonrası) + tag row */
.sj-gatemodal{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;background:rgba(14,9,41,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:20px}
.sj-gatemodal.sj-show{display:flex;animation:sjFade .22s ease}
@keyframes sjFade{from{opacity:0}to{opacity:1}}
.sj-gatemodal__card{max-width:430px;width:100%;background:var(--surface,#fff);border-radius:20px;padding:32px 28px;text-align:center;box-shadow:0 30px 80px rgba(10,5,30,.42)}
.sj-gatemodal__card h3{font-size:22px;font-weight:800;margin:0 0 8px;color:var(--ink,#0e0929)}
.sj-gatemodal__card p{color:var(--muted,#6b6a80);margin:0 0 22px;line-height:1.5}
.sj-gatemodal__card .guest-cta__btns{display:flex;gap:10px;justify-content:center}
.sj-gatemodal__card .btn{min-width:118px;justify-content:center}
.sj-gtagrow{padding:2px 2px 0}

/* [#34] Composer avatarı (misafir) — beyaz kişi ikonu */
.sj-selfava{display:grid!important;place-items:center}
.sj-selfava svg{width:20px;height:20px;color:#fff}
/* [#35] Misafir video: 9:16 çerçeveyi doldur */
#sj-guesthome .fpost__media video.sj-gvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* [#36] Video player: büyük ikonlar + ortada büyük play/pause */
.sj-vc{padding:11px 14px;gap:12px}
.sj-vc__pp{width:32px;height:32px}
.sj-vc__pp svg{width:26px;height:26px}
.sj-vc__mute svg{width:23px;height:23px}
.sj-vc__t{font-size:13px;min-width:38px}
.sj-vc-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:7;width:66px;height:66px;border-radius:50%;background:rgba(14,9,41,.5);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;transition:opacity .2s,transform .15s}
.sj-vc-center svg{width:32px;height:32px;margin-left:3px}
.sj-vc-center:hover{transform:translate(-50%,-50%) scale(1.07);background:rgba(14,9,41,.66)}
.sj-vc-playing .sj-vc-center{opacity:0;pointer-events:none}
.fpost__media:hover .sj-vc-center{opacity:1;pointer-events:auto}
.sj-vc-playing .sj-vc-center svg{margin-left:0}

/* [#38] Swipe resim shimmer preloader */
.jc__media .sj-shimmer{position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,rgba(255,255,255,.05) 30%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.05) 70%);background-size:220% 100%;animation:sjShimmer 1.15s linear infinite;pointer-events:none}
@keyframes sjShimmer{to{background-position:-220% 0}}

/* [#40] Jobs'a girişte Browse flash'ını önle (patch her zaman Swipe'a geçiriyor) */
.jobs-browse{display:none!important}

/* [#41] Çift scrollbar fix: html'in boş scrollbar'ını kaldır (body zaten scroll ediyor) */
html{overflow:hidden!important}

/* [#42] Mesajlar "New matches" şeridi taşıyordu: .nm-row'da ne wrap ne overflow
   var, .nm-cell de flex:1 + min-width:auto olduğu için iş başlığının min-content
   genişliğinden dar olamıyor → 4+ eşleşmede şerit 340px sidebar'ı aşıp (.mlist
   kırpmıyor) sohbet panelinin üstüne yayılıyordu; Pending rozetleri de üst üste
   biniyordu. Şerit artık yatay kayıyor, hücre az eşleşmede eskisi gibi genişler. */
.nm-row{overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:thin;scrollbar-color:rgba(124,93,249,.3) transparent}
.nm-row::-webkit-scrollbar{height:6px}
.nm-row::-webkit-scrollbar-track{background:transparent}
.nm-row::-webkit-scrollbar-thumb{background:rgba(124,93,249,.28);border-radius:10px}
.nm-row:hover::-webkit-scrollbar-thumb{background:rgba(124,93,249,.5)}
.nm-cell{flex:1 0 72px;min-width:0}
.nm-cell b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nm-cell small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* [#16b] #16'daki sticky arama kutusu iki yarıktan sızıyordu: sticky top:0
   popover'ın CONTENT box'ına yapışıyor, ama kırpma PADDING box'ta oluyor →
   üstte 12px padding + 1px kenarlık açıkta kalıyor; altta da .jf-search'ün
   8px margin'i boş. Kayan job title'lar bu iki bantta görünüyordu. İki
   pseudo bandı kutunun dışına koyup boşlukları popover zeminiyle kapatıyoruz
   (kutunun kendi görünümüne dokunulmuyor). */
.jf-pop .jf-search.sj-injected::before{content:"";position:absolute;left:-12px;right:-12px;top:-13px;height:13px;background:var(--surface,#fff)}
.jf-pop .jf-search.sj-injected::after{content:"";position:absolute;left:-12px;right:-12px;bottom:-8px;height:8px;background:var(--surface,#fff)}

/* [#45] Composer kamera katmanı — .cpm-card position:fixed olduğu için
   absolute/inset:0 tam kartı kaplıyor, modalın dışına taşmıyor. */
.sj-cam{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;background:var(--surface);border-radius:inherit;overflow:hidden}
.sj-cam-top{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 12px 10px}
.sj-cam-tab{height:32px;padding:0 16px;border-radius:var(--pill);font-size:13px;font-weight:700;color:var(--muted);background:var(--surface-2)}
.sj-cam-tab.on{background:var(--primary-soft);color:var(--primary-ink)}
.sj-cam-stage{flex:1;min-height:0;position:relative;background:#0B0713;display:grid;place-items:center}
.sj-cam-stage video{width:100%;height:100%;object-fit:contain}
.sj-cam-msg{position:absolute;left:24px;right:24px;text-align:center;color:#fff;font-size:13.5px;line-height:1.5}
.sj-cam-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}
.sj-cam.rec .sj-cam-go{background:#E5484D}
