/* Panelden gelen logo efektleri ve küçük yerleşim düzeltmeleri.
   Orijinal style.css dosyasına dokunulmaz. */
.home-apps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.home-app-card {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  position: relative;
  height: 220px;
}
.home-app-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.home-app-card:hover img { transform: scale(1.06); }
.home-app-card span {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: #fff;
  padding: 16px;
  font-weight: 600;
}
.svc-intro-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 40px; }
.svc-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.extra-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 36px;
}
.extra-gallery img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}
.extra-gallery figcaption {
  font-size: 0.85rem;
  color: #6b5e54;
  margin-top: 6px;
}
.home-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }

@media (max-width: 992px) {
  .home-apps-grid, .svc-why-grid { grid-template-columns: repeat(2, 1fr); }
  .svc-intro-grid, .home-about-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .home-apps-grid, .svc-why-grid { grid-template-columns: 1fr; }
  .home-app-card { height: 200px; }
}

body.no-particles .particles { display: none !important; }

body.logo-fx-none .logo img,
body.logo-fx-none .footer-brand img { animation: none !important; filter: none !important; }

body.logo-fx-glow .logo img,
body.logo-fx-glow .footer-brand img {
  animation: almGlow 2.8s ease-in-out infinite !important;
}
body.logo-fx-pulse .logo img,
body.logo-fx-pulse .footer-brand img {
  animation: almPulse 2.2s ease-in-out infinite !important;
}
body.logo-fx-float .logo img,
body.logo-fx-float .footer-brand img {
  animation: almFloat 3.4s ease-in-out infinite !important;
}
body.logo-fx-flicker .logo img,
body.logo-fx-flicker .footer-brand img {
  animation: almFlicker 4.2s ease-in-out infinite !important;
}
body.logo-fx-shine .logo { position: relative; overflow: hidden; }
body.logo-fx-shine .logo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 48%, transparent 62%);
  transform: translateX(-120%);
  animation: almShine 3.2s ease-in-out infinite;
  pointer-events: none;
}
body.logo-fx-shine .logo img,
body.logo-fx-shine .footer-brand img { animation: none !important; }
@keyframes almGlow {
  0%, 100% { filter: drop-shadow(0 0 0 rgba(232, 212, 139, 0)); }
  50% { filter: drop-shadow(0 0 14px rgba(232, 212, 139, .85)); }
}
@keyframes almPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}
@keyframes almFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes almFlicker {
  0%, 19%, 21%, 55%, 57%, 100% { opacity: 1; }
  20%, 56% { opacity: .45; }
}
@keyframes almShine { to { transform: translateX(120%); } }
