/* ==========================================================
   🎨 GENEL BANNER STİLLERİ
   Kullanım:
   - Üst banner: 970x90 / tam genişlik
   - Alt banner: 300x180 veya 400x200
========================================================== */

/* ==========================================================
   🔝 EN ÜST TEK BANNER (topBannerRotator)
   Tüm sayfalarda ortak — index.php ve includes/navbar.php
   aynı #topBannerRotator + .top-banner-* sınıflarını kullanır.
========================================================== */
.top-banner-link{
    display:block;
    text-decoration:none;
}

.top-banner-wrap{
    position:relative;
    width:100%;
    aspect-ratio:970/90; /* IAB "Large Leaderboard" — masaüstü standardı */
    overflow:hidden;
    background:#f3f3f3;
}

/* Mobilde 970:90 (10,8:1) okunamayacak kadar inceliyor (~375px genişlikte
   ~35px yükseklik). IAB'nin mobil banner oranına (320x100, 3,2:1) yakın bir
   oran kullanarak banner mobilde de okunabilir kalır. */
@media (max-width:768px){
    .top-banner-wrap{
        aspect-ratio:320/100;
    }
}

.top-banner-img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:opacity .45s ease;
}

.top-banner-wrap--placeholder{
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,245,245,.96)),
        repeating-linear-gradient(
            45deg,
            rgba(0,0,0,.02) 0px,
            rgba(0,0,0,.02) 10px,
            rgba(255,255,255,.02) 10px,
            rgba(255,255,255,.02) 20px
        );
}

.top-banner-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to right, rgba(0,0,0,.18), rgba(0,0,0,.04));
    z-index:1;
}

.top-banner-center{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    z-index:2;
    color:#111;
    font-weight:800;
    padding:12px 20px;
    text-align:center;
}

.top-banner-title{
    font-size:1rem;
    color:#111;
    text-shadow:0 1px 0 rgba(255,255,255,.35);
}

.top-banner-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:110px;
    height:34px;
    padding:0 16px;
    border-radius:999px;
    background:linear-gradient(90deg,#c00,#000);
    color:#fff;
    font-size:.88rem;
    font-weight:800;
    box-shadow:0 6px 16px rgba(0,0,0,.18);
}

.top-banner-fade-out{
    opacity:0;
}

@media (max-width:768px){
    .top-banner-center{
        flex-direction:column;
        gap:6px;
    }
    .top-banner-title{
        font-size:.78rem;
    }
    .top-banner-cta{
        min-width:96px;
        height:26px;
        font-size:.72rem;
    }
}

.banner-block {
  width: 100%;
  background: #fff;
  border-radius: 12px;
  padding: 20px 0;
  text-align: center;
}

/* 🔸 Banner görselleri */
.banner-block .banner-item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  object-fit: cover;
}

/* 🔸 Hover efekti */
.banner-block .banner-item img:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 15px rgba(0,0,0,0.25);
  filter: brightness(1.05);
}

/* 🔹 Alt banner grid yapısı */
.banner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.banner-grid a {
  display: block;
}

/* 📱 Mobil uyum */
@media (max-width: 991.98px) {
  .banner-block .banner-item img {
    height: 140px;
  }
}
@media (max-width: 576px) {
  .banner-block .banner-item img {
    height: 120px;
  }
}
