/* =========================
   iOS-STYLE ANIMATIONS
   ========================= */

/* Kart giriş animasyonu */
@keyframes cardIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.card{
  animation: cardIn .35s ease-out both;
}

/* Modal / Lightbox animasyonu */
@keyframes sheetUp {
  from {
    opacity: 0;
    transform: translateY(16px) scale(.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.sheet{
  animation: sheetUp .35s cubic-bezier(.2,.8,.2,1);
}

/* Reduce motion desteği */
@media (prefers-reduced-motion: reduce){
  .card,
  .sheet{
    animation: none;
  }
}

/* =========================
   HEADER SHRINK ANIMATION
   ========================= */

/* Logo küçülme hissini yumuşatma */
.topbar .logoWrap img{
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s ease;
  transform-origin: center top;
}

/* Header yukarı sıkışma animasyonu */
.topbar{
  min-height: calc(86px + var(--safeTop));
  transition: padding .35s cubic-bezier(.2,.8,.2,1), min-height .35s cubic-bezier(.2,.8,.2,1);
  padding: calc(14px + var(--safeTop)) 14px 12px;
}

/* Shrink durumunda header + logo davranışı */
.topbar.shrink{
  padding: calc(10px + var(--safeTop)) 12px 6px;
  min-height: calc(56px + var(--safeTop));
}

.topbar.shrink .logoWrap{
  margin-top: 4px !important;   /* 👈 ÜSTTEN NEFES */
  margin-bottom: 0;           /* 👈 ALT COMPACT KALSIN */
}

.topbar.shrink .logoWrap img{
  transform: scale(0.68);
  opacity: .85;
}

/* Slogan shrink sırasında yavaşça kaybolsun */
.topbar .brand p{
  transition: opacity .3s cubic-bezier(.2,.8,.2,1),
              transform .3s cubic-bezier(.2,.8,.2,1),
              max-height .3s cubic-bezier(.2,.8,.2,1),
              margin .3s cubic-bezier(.2,.8,.2,1);
  transform-origin: top center;
}

.topbar.shrink .brand p{
  opacity: 0;
  transform: translateY(-4px);
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0 !important;
  display: none;
}

.topbar.shrink .brand{
  gap: 0 !important;
}

/* 🔒 Stabilizer: shrink sonrası alt boşluğu kilitle */
.topbar.shrink::after{
  content:"";
  display:block;
  height:6px;           /* kontrollü alt tampon */
  pointer-events:none;
}
