/* ==========================================================================
   Avelkon 2026 — Bileşenler ve hareket durumları
   ========================================================================== */

/* --------------------------------------------------------------- REVEAL */
/* Başlangıç durumu yalnızca JS hazırsa uygulanır: JS kapalıysa içerik görünür kalır. */
.av-motion-ready [data-av-reveal]{
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:opacity var(--av-dur-reveal) var(--av-ease),
             transform var(--av-dur-reveal) var(--av-ease);
  will-change:opacity,transform;
}
.av-motion-ready [data-av-reveal="fade"]{ transform:none; }
.av-motion-ready [data-av-reveal="left"]{ transform:translate3d(-28px,0,0); }
.av-motion-ready [data-av-reveal="right"]{ transform:translate3d(28px,0,0); }
.av-motion-ready [data-av-reveal="scale"]{ transform:scale(.96); }

.av-motion-ready [data-av-reveal].av-in{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

/* Görsel maske açılımı — resimler için */
.av-reveal-img{ overflow:hidden; display:block; }
.av-motion-ready .av-reveal-img img{
  transform:scale(1.08);
  transition:transform 1.1s var(--av-ease);
  will-change:transform;
}
.av-motion-ready .av-reveal-img.av-in img{ transform:scale(1); }

/* --------------------------------------------------------------- BAŞLIK AÇILIMI */
.av-word{ display:inline-block; overflow:hidden; vertical-align:bottom; }
.av-word-i{
  display:inline-block;
  transform:translate3d(0,105%,0);
  transition:transform var(--av-dur-reveal) var(--av-ease);
  will-change:transform;
}
[data-av-split].av-in .av-word-i{ transform:translate3d(0,0,0); }
.av-reduced .av-word-i{ transform:none!important; }

/* --------------------------------------------------------------- HEADER */
.fusion-header-wrapper,
.fusion-header{
  transition:transform var(--av-dur) var(--av-ease),
             background-color var(--av-dur) var(--av-ease),
             box-shadow var(--av-dur) var(--av-ease);
}
.av-scrolled .fusion-header{
  box-shadow:0 1px 0 rgba(0,0,0,.07), 0 8px 30px -12px rgba(0,0,0,.14);
}
.av-hide-header .fusion-header-wrapper{ transform:translate3d(0,-100%,0); }
.av-reduced .av-hide-header .fusion-header-wrapper{ transform:none; }

/* --------------------------------------------------------------- BUTON */
.av-btn{
  --_bg:var(--av-brand);
  --_fg:#141414;
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  min-height:52px; padding:0 1.75rem;
  font-family:var(--av-font-body);
  font-size:var(--av-fs-sm); font-weight:500; letter-spacing:.01em;
  color:var(--_fg); background:var(--_bg);
  border:1px solid var(--_bg); border-radius:var(--av-radius);
  text-decoration:none; cursor:pointer; overflow:hidden;
  transition:background-color var(--av-dur) var(--av-ease),
             border-color var(--av-dur) var(--av-ease),
             color var(--av-dur) var(--av-ease),
             transform var(--av-dur-fast) var(--av-ease);
}
.av-btn:hover{ background:var(--av-brand-hi); border-color:var(--av-brand-hi); color:#141414; }
.av-btn:active{ transform:translateY(1px); }

.av-btn--ghost{
  --_bg:transparent; --_fg:var(--av-text);
  border-color:var(--av-line);
}
.av-btn--ghost:hover{ background:var(--av-text); border-color:var(--av-text); color:var(--av-paper); }
.av-dark .av-btn--ghost{ --_fg:var(--av-text-inv); border-color:rgba(255,255,255,.22); }
.av-dark .av-btn--ghost:hover{ background:var(--av-text-inv); color:var(--av-ink-900); border-color:var(--av-text-inv); }

/* Ok işareti — hover'da ilerler */
.av-btn__arrow{ transition:transform var(--av-dur) var(--av-ease); }
.av-btn:hover .av-btn__arrow{ transform:translateX(4px); }

/* --------------------------------------------------------------- KART */
.av-card{
  position:relative; display:flex; flex-direction:column;
  background:transparent; text-decoration:none; color:inherit;
  border-top:1px solid var(--av-line);
  padding-top:1.5rem;
  transition:border-color var(--av-dur) var(--av-ease);
}
.av-dark .av-card{ border-top-color:rgba(255,255,255,.14); }
.av-card:hover{ border-top-color:var(--av-brand); }

.av-card__media{
  position:relative; overflow:hidden;
  aspect-ratio:4/3; background:var(--av-paper-2);
  border-radius:var(--av-radius);
  margin-bottom:1.25rem;
}
.av-card__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 700ms var(--av-ease);
}
.av-card:hover .av-card__media img{ transform:scale(1.045); }
.av-reduced .av-card:hover .av-card__media img{ transform:none; }

.av-card__title{
  font-family:var(--av-font-display);
  font-size:var(--av-fs-h4); font-weight:500; line-height:1.3;
  letter-spacing:var(--av-ls-snug);
  margin:0 0 .4rem;
}
.av-card__desc{ font-size:var(--av-fs-sm); color:var(--av-muted); margin:0; line-height:1.55; }
.av-dark .av-card__desc{ color:var(--av-muted-inv); }

/* Kartın altındaki ilerleyen altın çizgi */
.av-card::after{
  content:''; position:absolute; left:0; top:-1px; height:1px; width:0;
  background:var(--av-brand);
  transition:width 450ms var(--av-ease);
}
.av-card:hover::after{ width:100%; }

/* --------------------------------------------------------------- IZGARA */
.av-grid{ display:grid; gap:var(--av-gap); }
.av-grid--2{ grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); }
.av-grid--3{ grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); }
.av-grid--4{ grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); }

/* --------------------------------------------------------------- BÖLÜM BAŞLIĞI */
.av-shead{ display:flex; flex-direction:column; gap:1rem; margin-bottom:clamp(2.5rem,5vh,4rem); max-width:52rem; }
.av-shead__title{
  font-family:var(--av-font-display);
  font-size:var(--av-fs-h2); font-weight:500;
  line-height:var(--av-lh-snug); letter-spacing:var(--av-ls-tight);
  margin:0;
}

/* --------------------------------------------------------------- İLERLEME ÇİZGİSİ */
.av-progress{
  position:fixed; top:0; left:0; height:2px; width:100%;
  transform:scaleX(0); transform-origin:0 50%;
  background:var(--av-brand);
  z-index:var(--av-z-overlay);
  pointer-events:none;
}

/* --------------------------------------------------------------- DOKUNMA HEDEFLERİ */
/* Eski sitede telefon/e-posta bağlantıları 15px yüksekliğindeydi. */
.fusion-secondary-header a[href^="tel:"],
.fusion-secondary-header a[href^="mailto:"],
.fusion-contact-info a{
  display:inline-flex; align-items:center; min-height:44px;
}
@media (max-width:900px){
  .fusion-footer a, .fusion-main-menu a, .fusion-mobile-nav-item a{
    min-height:44px; display:flex; align-items:center;
  }
}

/* --------------------------------------------------------------- WHATSAPP */
/* İşlevsel olarak korunur; hero kompozisyonunu bastırmayacak ağırlığa çekilir.
   Dokunma hedefi 44px eşiğinin üstünde kalır. */
.whatsapp,
.whatsapp img,
a[href*="api.whatsapp.com"] img,
a[href*="wa.me"] img{
  width:48px!important;
  height:48px!important;
}
.whatsapp,
a[href*="api.whatsapp.com"],
a[href*="wa.me"]{
  opacity:.72;
  transition:opacity var(--av-dur) var(--av-ease), transform var(--av-dur) var(--av-ease);
}
.whatsapp:hover,
a[href*="api.whatsapp.com"]:hover,
a[href*="wa.me"]:hover{ opacity:1; transform:translateY(-2px); }
.av-reduced .whatsapp:hover,
.av-reduced a[href*="wa.me"]:hover{ transform:none; }

/* Mobilde WhatsApp butonu hero CTA'sıyla çakışıyordu; yukarı alındı. */
@media (max-width:780px){
  .whatsapp,
  a[href*="api.whatsapp.com"],
  a[href*="wa.me"]{
    bottom:1rem!important;
    right:1rem!important;
  }
}

/* WhatsApp bağlantısı inline olduğu için kutusu 21px kalıyordu;
   sarmalayıcısını (48px) tam dolduracak şekilde blok yapılır. */
.whatsapp > a,
.whatsapp a[href*="api.whatsapp.com"],
.whatsapp a[href*="wa.me"]{
  display:flex!important;
  width:48px; height:48px;
  align-items:center; justify-content:center;
}
