:root{ --primary:#E30613; --dark:#0f172a; --muted:#6b7280; }
html,body{height:100%}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#1f2937;background:#fff}
a{ text-decoration:none }
.navbar-brand img{height:40px;width:auto}
.navbar .menu-item a{color:#fff!important;padding:.5rem 1rem;display:block;border-radius:.5rem}
.navbar .menu-item a:hover{background:rgba(255,255,255,.16)}

.hero-pro{position:relative;background: linear-gradient(135deg, rgba(227,6,19,.92), rgba(34,34,34,.92));}
.hero-pro .gradient-overlay{position:absolute;inset:0;background: radial-gradient(1200px 500px at 80% -20%, rgba(255,255,255,.18), transparent);pointer-events:none}
.glass{backdrop-filter: blur(10px); background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25)}
.feature-card{border:1px solid rgba(0,0,0,.06);background:#fff;border-radius:1rem}
.hover-lift{transition:transform .25s, box-shadow .25s}
.hover-lift:hover{transform: translateY(-6px); box-shadow:0 18px 40px rgba(16,24,40,.08)}
footer{border-top:3px solid var(--primary)}
.breadcrumb{--bs-breadcrumb-divider: '›';}
.card-img-top{object-fit:cover;max-height:220px}
.accordion-button:not(.collapsed){color:#000;background:#fff}
.visually-hidden-focusable:active, .visually-hidden-focusable:focus{position:static;clip:auto;height:auto;width:auto;margin:0;overflow:visible}

.btn-danger, .bg-danger{ background-color: var(--primary)!important; border:0 }
.text-danger{ color: var(--primary)!important }

.carousel .carousel-item img{height:520px;object-fit:cover}
@media (max-width:768px){.carousel .carousel-item img{height:300px}}
.page-hero{background-position:center;background-size:cover}

/* Topbar */
.limit-topbar{letter-spacing:.2px}
.limit-topbar .btn{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.8rem}

/* === Announcement Marquee – dikişsiz akış (yeni) === */
.announce-marquee{
  --d: 30s;      /* süre (JS ayarlayacak) */
  --w: 1000px;   /* tek şerit genişliği (JS ayarlayacak) */
  overflow:hidden;
  position:relative;
  background:linear-gradient(90deg,#1a1f2b,#121826);
  border-top:1px solid rgba(255,255,255,.12);
  color:#e5e7eb;
  line-height:42px;
}
.announce-roller{
  display:flex;
  width:calc(var(--w) * 2);
  animation:limit-marquee var(--d) linear infinite;
  will-change:transform;
}
.announce-track{
  display:flex;
  gap:2.5rem;
  flex:0 0 var(--w);
  padding:0 16px;
  margin:0;
  list-style:none;
  align-items:center;
  white-space:nowrap;
}
.announce-item a{color:#fff;text-decoration:none}
.announce-item a:hover{text-decoration:underline}
.announce-item i{margin-right:8px}
@keyframes limit-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(calc(var(--w) * -1))}
}

/* Icon glow / "patlama" efekti */
.glow{position:relative;filter:drop-shadow(0 0 6px rgba(227,6,19,.65))}
.glow::after{content:'';position:absolute;inset:-10px;pointer-events:none;background:radial-gradient(circle at 12px 10px, rgba(227,6,19,.35), transparent 40%)}

/* --- PRO NAVBAR --- */
.main-header { transition: all .25s ease }
.header-transparent .navbar { background: transparent!important }
.main-header.scrolled .navbar { background: rgba(16,16,24,.82)!important; backdrop-filter: blur(10px) }
.navbar { background: linear-gradient(90deg, var(--primary), #b30b17); }

.navbar .navbar-brand { font-weight:800; letter-spacing:.2px }
.navbar .navbar-brand, .navbar .nav-link { color:#fff!important }
.navbar .nav-link { position:relative; padding:.75rem 1rem; font-weight:600; opacity:.95 }
.navbar .nav-link:hover { opacity:1 }

/* underline hover */
.navbar .nav-link::after{
  content:""; position:absolute; left:1rem; right:1rem; bottom:.35rem; height:3px;
  background:#fff; border-radius:3px; transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.navbar .nav-link:hover::after,
.navbar .current-menu-item > a.nav-link::after{ transform:scaleX(1) }

/* Dropdown / sub-menu */
.navbar .menu-item-has-children { position:relative }
.navbar .sub-menu{
  position:absolute; left:0; top:100%; min-width:260px; padding:.5rem; margin-top:.4rem; list-style:none;
  background:#0f1626; border:1px solid rgba(255,255,255,.08); border-radius:12px; box-shadow:0 20px 40px rgba(0,0,0,.35);
  display:none; opacity:0; transform:translateY(6px); transition:all .18s ease; z-index:1000;
}
.navbar .menu-item-has-children:hover > .sub-menu{ display:block; opacity:1; transform:translateY(0) }
.navbar .sub-menu li a{
  display:block; padding:.55rem .8rem; border-radius:.5rem; color:#e5e7eb!important; opacity:.9;
}
.navbar .sub-menu li a:hover{ background:rgba(255,255,255,.08); opacity:1 }

/* Mega menu (üst öğeye Menüler > CSS Sınıfları: mega) */
.navbar .menu-item.mega { position: static }
.navbar .menu-item.mega > .sub-menu{
  left:50%; transform:translateX(-50%) translateY(6px); width:min(1000px, 90vw);
  display:none; padding:1rem; background:#0f1626; border-radius:16px;
}
.navbar .menu-item.mega:hover > .sub-menu{ display:block; opacity:1; transform:translateX(-50%) translateY(0) }
.navbar .menu-item.mega > .sub-menu > li { width:25%; float:left; }
.navbar .menu-item.mega > .sub-menu:after{ content:""; display:block; clear:both }

/* Search */
.navbar form[role="search"] input.form-control{
  background: rgba(255,255,255,.18); color:#fff; border:1px solid rgba(255,255,255,.25);
}
.navbar form[role="search"] input.form-control::placeholder{ color: rgba(255,255,255,.9) }
#menuCtaBtn{ box-shadow: 0 6px 18px rgba(255,255,255,.12) }
#menuCtaBtn:hover{ transform: translateY(-1px) }

/* Diğer küçük dokunuşlar */
.limit-announcement{ border-top: 1px solid rgba(255,255,255,.12) } /* eski class varsa sorun çıkarmaz */
.f-badge{
  display:inline-block; padding:.25rem .6rem; background:#e10613; color:#fff; border-radius:999px;
  font-weight:700; font-size:.75rem; letter-spacing:.3px; box-shadow:0 6px 18px rgba(225,6,19,.25); margin-bottom:.35rem
}
/* Siyah-beyaz patlayan buton */
.flash-pulse-bw{
  position: relative;
  font-weight: 400;
  letter-spacing: .2px;
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
  transform: translateZ(0); /* GPU hint */
  animation: btnPop 1.2s ease-in-out infinite;
}

/* Patlama halkası (beyaz çizgi dışa genişler) */
.flash-pulse-bw::before{
  content:"";
  position:absolute;
  inset:-6px;                /* buton çevresinden taşan beyaz halka */
  border:2px solid rgba(255,255,255,.95);
  border-radius:9999px;
  opacity:.9;
  transform:scale(.9);
  animation: ringBoom 1.4s ease-out infinite;
  pointer-events:none;
}

/* Köşede yanıp sönen beyaz nokta */
.flash-pulse-bw::after{
  content:"";
  position:absolute;
  top:-6px; right:-6px;
  width:12px; height:12px;
  background:#fff;
  border:2px solid #000;
  border-radius:50%;
  animation: blink 1s steps(2, start) infinite;
  pointer-events:none;
}

/* Daha güçlü pop efekti */
@keyframes btnPop{
  0%,100%{ transform: scale(1); box-shadow: 0 0 0 0 rgba(255,255,255,.0); }
  50%   { transform: scale(1.12); box-shadow: 0 10px 22px rgba(0,0,0,.25); }
}

/* Patlayan halka büyür ve kaybolur */
@keyframes ringBoom{
  0%  { opacity:.95; transform: scale(.9); }
  70% { opacity:0;   transform: scale(1.5); }
  100%{ opacity:0;   transform: scale(1.5); }
}

/* Nokta yanıp sönme */
@keyframes blink{ to { opacity:.2; } }

/* Hover/focus: kontrastı artır (isteğe bağlı) */
.flash-pulse-bw:hover,
.flash-pulse-bw:focus{
  filter: brightness(1.05);
  box-shadow: 0 12px 28px rgba(0,0,0,.32);
}

/* Hareketten rahatsız olanlar için animasyonları kapat */
@media (prefers-reduced-motion: reduce){
  .flash-pulse-bw,
  .flash-pulse-bw::before,
  .flash-pulse-bw::after{
    animation: none !important;
  }
}