:root {
  --primary-red: #ff1a38;
  --primary-purple: #971a91;
  --secondary-purple: #631abd;
  --accent-yellow: #ffb41a;
  --navy-blue: #000049;
  --black: #000;
  --white: #fff;
  --font-main: 'Poppins', 'Inter', 'Roboto', Arial, sans-serif;
}
body {
  font-family: var(--font-main);
  background: var(--white);
  color: var(--navy-blue);
  font-size: 1rem;
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', 'Inter', 'Roboto', Arial, sans-serif;
  font-weight: 700;
  color: var(--navy-blue);
}
a {
  color: var(--primary-red);
  text-decoration: none;
  transition: color 0.2s;
}
a:hover, a:focus {
  color: var(--primary-purple);
}
.navbar {
  font-size: 1rem;
  letter-spacing: 0.01em;
}
.nav-link.active, .nav-link:focus {
  color: var(--primary-red) !important;
  font-weight: 600;
}
.btn-primary {
  background: var(--primary-red);
  border: none;
  transition: background 0.2s, box-shadow 0.2s;
}
.btn-primary:hover, .btn-primary:focus {
  background: var(--primary-purple);
  box-shadow: 0 2px 8px rgba(255,26,56,0.15);
}
.footer {
  position: relative;
  width: 100%;
  z-index: 10;
  margin-top: auto;
}

/* Ana içerik alanı */
main, .main-content {
  flex: 1;
}

/* Çerez banner düzeltmesi */
#cookieBanner {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
}
.main-slider { min-height: 480px; }
.slider-img { object-fit: cover; height: 60vh; min-height: 400px; max-height: 700px; }
.carousel-caption { bottom: 0; top: 0; left: 0; right: 0; background: rgba(0,0,0,0.25); }
.text-shadow { text-shadow: 0 2px 16px #000, 0 1px 2px #000; }
.card, .service-card, .product-card, .reference-card, .blog-card {
  border-radius: 1rem;
  transition: box-shadow 0.2s, transform 0.2s;
}
.card:hover, .service-card:hover, .product-card:hover, .reference-card:hover, .blog-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,73,0.12);
  transform: translateY(-4px) scale(1.03);
}
footer {
  font-size: 0.95rem;
}
@media (max-width: 991.98px) {
  .navbar-nav {
    text-align: center;
  }
}
@media (max-width: 767.98px) {
  h1 {
    font-size: 2rem;
  }
  .card-title {
    font-size: 1.1rem;
  }
  .navbar-brand img {
    height: 32px;
  }
  .slider-img { height: 240px; min-height: 180px; }
}

.cta-gradient {
  background: linear-gradient(120deg, #ff1a38 0%, #971a91 35%, #ffb41a 70%, #000049 100%) !important;
}
.cta-title {
  color: #fff !important;
} 