/* PigeonPro tema v2 — app.css'in üstüne biner. Kaldırmak için layout.php'deki theme-v2 satırını silin. */
:root{
  --ink:#0e1d3c;--ink-2:#44546f;--ink-3:#7a8aa6;
  --paper:#eef2f9;--surface:#fff;--sunk:#f1f4fa;--line:#e1e8f4;--line-2:#cbd5e8;
  --slate:#1d4ed8;--slate-2:#2457f5;--slate-soft:#e7eefe;--slate-ink:#0e1d3c;
  --ring:#b3302a;--neck:#0f8a74;--neck-soft:#dff5ef;
  --male:#2457f5;--male-soft:#e7eefe;--female:#d63b86;--female-soft:#fde8f2;
  --r-sm:10px;--r:14px;--r-lg:20px;
  --sh:0 1px 2px rgb(14 29 60/.06),0 10px 28px rgb(14 29 60/.07);
  --sh-lg:0 18px 44px rgb(14 29 60/.18),0 2px 8px rgb(14 29 60/.08);
}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3,h4{letter-spacing:-.005em}
.card,.stat,.bird{border-color:var(--line);box-shadow:var(--sh)}
.card{border-radius:var(--r-lg)}
.btn{border-radius:var(--r);transition:transform .08s,background .15s,box-shadow .15s,filter .15s}
.btn-primary{background:linear-gradient(180deg,#2e63ff,#1d4ed8);box-shadow:0 6px 16px rgb(36 87 245/.28),inset 0 1px 0 rgb(255 255 255/.18)}
.btn-primary:hover{background:linear-gradient(180deg,#2457f5,#1a44bf);filter:none}
.btn-outline{border-color:var(--line-2);background:#fff}
.btn-outline:hover{border-color:var(--slate-2);color:var(--slate)}
.input{border-color:var(--line-2);border-radius:var(--r)}
.input:focus{border-color:var(--slate-2);box-shadow:0 0 0 4px rgb(36 87 245/.14);outline:0}
:focus-visible{outline-color:var(--slate-2)}
a{color:var(--slate-2)}
.top{background:rgb(238 242 249/.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.top-title{color:var(--ink);letter-spacing:-.01em}
/* kenar menü */
.side{background:#fff;border-right:1px solid var(--line)}
.side .brand{color:var(--ink);letter-spacing:-.01em}
.side .brand span{font-weight:700}
.side nav a{border-radius:12px;color:var(--ink-2);font-weight:600;transition:background .15s,color .15s}
.side nav a:hover{background:var(--sunk);color:var(--ink)}
.side nav a[aria-current="page"]{background:linear-gradient(180deg,#eaf0ff,#e1eaff);color:var(--slate);box-shadow:inset 0 0 0 1px #d3e0ff}
.avatar{background:linear-gradient(135deg,#2e63ff,#1d4ed8);color:#fff}
/* alt sekme çubuğu */
.tabbar{background:rgb(255 255 255/.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgb(14 29 60/.06)}
.tabbar [aria-current="page"]{color:var(--slate-2)}
.tabbar [aria-current="page"]::before{background:linear-gradient(90deg,#2e63ff,#1d4ed8);height:3px}
/* istatistik kartları */
.stats{gap:10px}
.stat{padding:14px 10px;border-radius:var(--r-lg);transition:transform .15s,box-shadow .15s}
.stat:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
.stat b{font-size:30px;color:var(--ink);letter-spacing:-.02em}
.stat span{color:var(--ink-3);font-weight:600}
/* kuş kartları */
.birds{gap:10px}
.bird{padding:12px 14px;border-radius:var(--r-lg);transition:transform .15s,box-shadow .15s,border-color .15s}
.bird:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);border-color:#cfdcf7}
.bird:active{background:#fff;transform:scale(.99)}
.bird .ph{width:56px;height:56px;border-radius:14px;background:linear-gradient(145deg,#eef3ff,#dfe8fb);color:#8fa3cf}
.bird .nm{font-weight:700;color:var(--ink)}
.bird .meta{color:var(--ink-3)}
/* halka numarası etiketi */
.ring{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;font-size:.92em;letter-spacing:.02em;color:var(--ring);border-color:#d6dde9;border-radius:8px}
.chip{border-radius:999px;border-color:var(--line-2);font-weight:600}
.badge{font-weight:700}
.sheet{border-radius:24px 24px 0 0}
.table th{background:var(--sunk);color:var(--ink-3);text-transform:none}
.toast{border-radius:14px}
@media (min-width:900px){.content{max-width:1180px}}

/* kart ızgarası: içerik genişliğine göre sütun sayısı, taşma yok */
.birds{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))!important}
.birds>*{min-width:0}
.bird .grow{min-width:0}

/* ═══ Apple tasarım ilkeleri: tepki, yay hareketi, malzeme, tipografi ═══ */
:root{
  --spring:cubic-bezier(.22,1,.36,1);
  --spring-bounce:cubic-bezier(.34,1.45,.5,1);
  --t-press:90ms;--t-move:.38s;
}
@supports (transition-timing-function:linear(0,1)){
  :root{
    --spring:linear(0,.28 5%,.62 11%,.84 18%,.94 26%,.985 36%,1);
    --spring-bounce:linear(0,.42 7%,.92 16%,1.07 25%,1.04 34%,.99 48%,1);
  }
}
.btn,.chip,.stat,.bird,.row,.tabbar a,.tabbar button,.side nav a{-webkit-tap-highlight-color:transparent}
.btn:active,.chip:active{transform:scale(.965);transition:transform var(--t-press) ease-out}
.stat:active,.bird:active{transform:scale(.982);transition:transform var(--t-press) ease-out}
.tabbar a:active,.tabbar button:active{transform:scale(.92);transition:transform var(--t-press) ease-out}
.row:active{background:var(--sunk)}
.btn,.chip,.stat,.bird,.tabbar a,.tabbar button{transition:transform var(--t-move) var(--spring),box-shadow .25s ease,background .15s ease,border-color .15s ease}
.stat:hover,.bird:hover{transition:transform var(--t-move) var(--spring),box-shadow .25s ease,border-color .15s ease}
@keyframes pp-sheet-in{from{transform:translateY(100%)}to{transform:none}}
@keyframes pp-scrim-in{from{opacity:0}to{opacity:1}}
.sheet-wrap{animation:pp-scrim-in .22s ease-out;background:rgb(10 20 44/.38);backdrop-filter:blur(3px) saturate(1.2);-webkit-backdrop-filter:blur(3px) saturate(1.2)}
.sheet{animation:pp-sheet-in .5s var(--spring);box-shadow:0 -18px 50px rgb(14 29 60/.22);border-top:1px solid rgb(255 255 255/.8)}
.toast{animation:pp-sheet-in .45s var(--spring-bounce)}
.top{background:rgb(238 242 249/.72);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.top.scrolled{border-bottom-color:rgb(14 29 60/.06);box-shadow:0 8px 24px -16px rgb(14 29 60/.28)}
.tabbar{background:rgb(255 255 255/.72);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-top:1px solid rgb(255 255 255/.7);box-shadow:0 -1px 0 rgb(14 29 60/.07),0 -10px 30px rgb(14 29 60/.06)}
.side{background:rgb(255 255 255/.86);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}
.card,.stat,.bird{background:#fff}
h1{letter-spacing:-.025em;line-height:1.06}
h2{letter-spacing:-.018em;line-height:1.12}
h3{letter-spacing:-.01em}
.top-title{letter-spacing:-.02em}
.stat b{letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tiny,.small,.hint,.stat span,.badge{letter-spacing:.01em}
body{line-height:1.5;font-feature-settings:"kern","liga";text-rendering:optimizeLegibility}
.btn-sm{min-height:38px}
.bird,.row,.stat{touch-action:manipulation}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .sheet,.toast{animation:pp-scrim-in .2s ease-out!important}
  .stat:hover,.bird:hover{transform:none}
}
@media (prefers-reduced-transparency:reduce){
  .top,.tabbar,.side,.sheet-wrap{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
  .sheet-wrap{background:rgb(10 20 44/.55)}
}
@media (prefers-contrast:more){
  :root{--line:#9fb0cf;--line-2:#7f93b8;--ink-3:#44546f}
  .card,.stat,.bird,.btn-outline,.input{border-color:var(--line-2)}
}

/* şeffaf logo: kare yok, güvercin net */
.logo-mark{object-fit:contain;flex:none;background:none;border-radius:0;filter:drop-shadow(0 1px 1.5px rgb(14 29 60/.25))}
.side .brand{gap:8px}

/* kanatlı marka */
@media (min-width:900px){
  .side .brand{position:relative;justify-content:center;height:58px;padding:2px 6px;margin-bottom:6px}
  .side .brand .logo-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:116px!important;height:auto!important;opacity:.34;z-index:0;filter:none}
  .side .brand span{position:relative;z-index:1;font-size:21px;letter-spacing:-.015em;text-shadow:0 0 8px #fff,0 0 4px #fff,0 0 2px #fff}
}

/* kanatlı marka: mobil ve herkese açık sayfalar */
@media (max-width:899px){
  .top-brand{width:auto;min-width:58px;padding:0 2px}
  .top-brand .logo-mark{width:56px!important;height:auto!important;filter:drop-shadow(0 1px 1.5px rgb(14 29 60/.28))}
}
.pub-top .brand{position:relative;justify-content:center;min-width:120px;height:48px}
.pub-top .brand .logo-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:96px!important;height:auto!important;opacity:.4;z-index:0}
.pub-top .brand span{position:relative;z-index:1;text-shadow:0 0 8px #fff,0 0 4px #fff}
.brand-sm .logo-mark{width:34px!important;height:auto!important}

/* WhatsApp destek düğmesi */
.wa-fab{position:fixed;left:14px;bottom:calc(var(--tab-h) + var(--safe-b) + 14px);width:50px;height:50px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 22px rgb(37 211 102/.45);z-index:65;text-decoration:none;transition:transform .38s var(--spring)}
.wa-fab:active{transform:scale(.92)}
@media (min-width:900px){.wa-fab{left:262px;bottom:22px}}
.is-flush .wa-fab{bottom:calc(var(--tab-h) + var(--safe-b) + 80px)}

/* marka: net ve üst üste */
@media (min-width:900px){
  .side .brand{flex-direction:column;gap:2px;height:auto;padding:10px 6px 14px;margin-bottom:6px}
  .side .brand .logo-mark{position:static!important;transform:none!important;width:124px!important;height:auto!important;opacity:1!important;filter:drop-shadow(0 2px 3px rgb(14 29 60/.3))}
  .side .brand span{font-size:23px;letter-spacing:-.015em;text-shadow:none;line-height:1}
}
.pub-top .brand{flex-direction:row;gap:8px;min-width:0;height:auto}
.pub-top .brand .logo-mark{position:static!important;transform:none!important;width:52px!important;height:auto!important;opacity:1!important}
.pub-top .brand span{text-shadow:none}

/* marka: küçük logo solda, yazı sağda */
@media (min-width:900px){
  .side .brand{flex-direction:row!important;justify-content:flex-start!important;align-items:center;gap:9px!important;height:auto!important;padding:8px 10px 16px!important;margin-bottom:4px}
  .side .brand .logo-mark{position:static!important;transform:none!important;width:38px!important;height:auto!important;opacity:1!important;filter:none!important;flex:none}
  .side .brand span{font-size:21px!important;letter-spacing:-.015em;line-height:1;text-shadow:none!important}
}
.pub-top .brand .logo-mark{width:38px!important}
