:root {
    --adeko-light-grey: #f8f9fa;
    --adeko-white: #FFFFFF;
    --adeko-black: #212529;
    --adeko-pure-black: #000000;
    --adeko-grey: #6c757d;
    --pantone-11-4202: #C7C9C7; /* Section arkaplanı için kullanılabilir */
    --pantone-11-0602: #EDE6E1; /* Section arkaplanı için kullanılabilir */
    --pantone-12-4302: #BACCD9; /* #urunler ve #iletisim arkaplanı */
    --pantone-12-4302-accent: #cfe2ef; /* Ürün kartları aksan rengi */
    --hero-logo-max-size: 320px;
}

html, body {
    height: 100%;
}

body {
    padding-top: 70px; /* fixed-top navbar için */
    font-family: 'Lato', sans-serif;
    color: var(--adeko-black);
    background-color: var(--adeko-white);
    line-height: 1.7;
    scroll-snap-type: y mandatory; /* Dikey eksende zorunlu kaydırma */
    overflow-y: scroll; /* Dikey kaydırma her zaman etkin */
    margin: 0;
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: var(--adeko-black);
}

.navbar {
    background-color: var(--adeko-white) !important;
    padding-top: 1rem;
    padding-bottom: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,.05);
    border-bottom: 1px solid #eee;
}

.navbar .navbar-brand, .navbar .nav-link {
    color: var(--adeko-black) !important;
    font-weight: 400;
}

/* Dil seçimi dropdown stili */
.navbar .dropdown-menu {
    min-width: auto;
    padding: 0.2rem 0;
}
.navbar .dropdown-item {
    font-size: 0.9rem;
    padding: 0.3rem 1rem;
    font-family: 'Lato', sans-serif; /* Dropdown fontu */
    cursor: pointer;
}
.navbar .dropdown-item.active {
    font-weight: bold;
    background-color: var(--adeko-light-grey);
    color: var(--adeko-black);
}

.navbar .nav-link:hover,
.navbar .btn.btn-outline-dark:hover {
    color: var(--adeko-grey) !important;
    /* Hover'da arka plan ve border değişimi isteğe bağlı olarak eklenebilir */
}

.navbar-toggler {
    border-color: rgba(0, 0, 0, 0.1);
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.btn-outline-dark {
    border-color: var(--adeko-black);
    color: var(--adeko-black);
}
.btn-outline-dark:hover {
    background-color: var(--adeko-black);
    color: var(--adeko-white);
}

.adeko-navbar-logo {
    max-height: 42px;
    width: auto;
    height: auto;
    display: block;
}

.hero-section {
    /* Hero arkaplan rengi artık carousel tarafından sağlanıyor, isterseniz fallback olarak kalabilir */
    /* background-color: var(--pantone-11-4202); */
    padding: 6rem 1rem;
    text-align: center;
    margin-bottom: 0;
    color: var(--adeko-black); /* Varsayılan renk, beyaz overlay ile geçersiz kılınır */
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* İçeriği alta yaslar */
    align-items: center;
    position: relative;
    padding-bottom: 2rem; /* Sosyal ikonlar için boşluk */
    overflow: hidden; /* Carousel taşmasını engeller */
    min-height: 100vh; /* .section ile tutarlılık için */
    height: auto; /* .section ile tutarlılık için */
    scroll-snap-align: start; /* .section ile tutarlılık için */
    box-sizing: border-box; /* .section ile tutarlılık için */
}

/* Hero Section içindeki container ve diğer doğrudan çocuklar için z-index */
.hero-section > .container,
.hero-section > #ru-order-btn-wrapper,
.hero-section > .social-icons {
    position: relative;
    z-index: 3;
}

.hero-bg-carousel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; /* En altta */
    overflow: hidden;
}
.hero-bg-carousel .carousel-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Görüntüyü kırparak kaplar */
    opacity: 0;
    transition: opacity 1s ease;
    z-index: 0;
}
.hero-bg-carousel .carousel-img.active {
    opacity: 1;
    z-index: 1;
}

/* Hero section metin ve ikon renklerini beyaz yapar */
.hero-section h1,
.hero-section .lead,
.hero-section .social-icons a i { /* İkon rengini de kapsar */
    color: var(--adeko-white) !important; /* Önemli: Bootstrap renklerini ezer */
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5); /* Okunabilirlik için gölge */
}

.hero-logo-wrapper {
    width: 100%;
    max-width: 100vw;
    max-height: var(--hero-logo-max-size);
    margin-bottom: 75%; /* Logo ile sosyal ikonlar arası boşluk, ayarlanabilir */
}

.hero-logo-wrapper svg,
.hero-logo-img {
    width: 100%;
    height: auto;
    max-width: var(--hero-logo-max-size);
    max-height: var(--hero-logo-max-size);
    display: block;
}

.section {
    min-height: 100vh; /* Bölümün en az ekran yüksekliği kadar olmasını sağlar */
    height: auto; /* İçerik sığmazsa uzayabilir */
    scroll-snap-align: start; /* Kaydırma sırasında bu bölümün başlangıcına hizalanır */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 3rem 1rem;
}

/* Mobil cihazlarda section yüksekliğini ve padding'i ayarlar */
@media (max-width: 768px) {
    .section {
        padding: 1.5rem 0.5rem;
        min-height: unset; /* Mobil için tam ekran zorunluluğu kaldırılır */
        height: auto;
        display: block; /* Flex yerine block */
    }
    .hero-section { /* Hero section mobil ayarları */
        padding: 4rem 0.5rem 1.5rem; /* Üst padding daha fazla */
    }
}

.section-alt {
    background-color: var(--pantone-11-0602); /* Farklı bölüm arkaplanı */
}

.section-title {
    margin-bottom: 3rem;
    text-align: center;
    font-weight: 700;
    color: var(--adeko-black);
    font-size: 2.25rem;
    position: relative;
    padding-bottom: 0.5rem;
}

/* Bölüm başlıklarının altındaki çizgi */
.section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: var(--adeko-black);
    margin: 0.5rem auto 0;
}

/* Ürünler bölümü özel arkaplanı */
#urunler {
    background-color: var(--pantone-12-4302);
}

/* Ürün kartları stilleri (JS ile oluşturulacağı varsayılan kartlar için) */
#urunler .card {
    background: var(--pantone-12-4302-accent);
    border: none;
    border-radius: 18px; /* Daha yuvarlak köşeler */
    box-shadow: 0 2px 12px rgba(33,37,41,0.07);
    transition: box-shadow 0.2s, transform 0.2s;
}
#urunler .card:hover {
    box-shadow: 0 8px 32px rgba(33,37,41,0.13);
    transform: translateY(-4px) scale(1.03); /* Hafif yukarı kalkma ve büyüme efekti */
}
#urunler .card-title {
    color: var(--adeko-black);
    font-weight: 600; /* Başlık fontu kalın */
}
#urunler .card-body {
    background: transparent; /* Kart gövdesi arkaplanı transparan */
}
#urunler .card-img-top {
    border-radius: 18px 18px 0 0; /* Sadece üst köşeler yuvarlak */
    background: var(--pantone-11-4202); /* Resim yüklenmezse arkaplan */
}

/* Carousel indicators (dots) - Ürün galerisi için */
#productGalleryIndicators {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px; /* Noktalar arası boşluk */
    margin-top: 18px;
}
#productGalleryIndicators .gallery-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #bbb; /* Aktif olmayan nokta rengi */
    opacity: 0.5;
    transition: background 0.2s, opacity 0.2s;
    cursor: pointer;
    border: none; /* Buton kenarlığı olmasın */
    padding: 0; /* Buton padding'i olmasın */
}
#productGalleryIndicators .gallery-dot.active {
    background: var(--adeko-black); /* Aktif nokta rengi */
    opacity: 1;
}

/* İletişim bölümü özel arkaplanı ve dikey hizalama */
#iletisim {
    background-color: var(--pantone-12-4302);
    min-height: 100vh;
    display: flex;
    align-items: center; /* İçeriği dikeyde ortalar */
    justify-content: center; /* İçeriği yatayda ortalar */
    flex-direction: column;
    box-sizing: border-box;
    padding-bottom: 80px; /* Footer yüksekliği + biraz boşluk */
}

#iletisim .contact-card {
    background-color: var(--adeko-white);
    border-radius: 8px;
    padding: 1.5rem;
    /* margin-bottom: 2rem; Bootstrap mb-4 sınıfı ile sağlandı */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%; /* Bootstrap h-100 ile sağlandı */
    display: flex; /* İçeriği (başlık, info, buton) dikeyde yaymak için */
    flex-direction: column;
}
#iletisim .contact-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
#iletisim .contact-card h4 {
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: var(--adeko-black);
    text-align: center;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #f0f0f0; /* Başlık altı çizgi */
}
#iletisim .contact-info {
    margin-bottom: 0.5rem;
    flex-grow: 1; /* Butonun en alta itilmesini sağlar */
}
#iletisim .contact-info p {
     margin-bottom: 0.75rem; /* İletişim satırları arası boşluk */
}
#iletisim .contact-info i {
    width: 20px; /* İkon genişliği */
    margin-right: 8px;
    color: var(--adeko-grey); /* İkon rengi */
    text-align: center;
}

/* Google Harita Modal stilleri */
#mapModal .modal-dialog { /* ID ile modal seçimi */
    max-width: 90%; /* Daha geniş modal */
}
@media (min-width: 992px) {
    #mapModal .modal-dialog {
        max-width: 800px; /* Büyük ekranlarda maksimum genişlik */
    }
}
#mapModal .modal-header {
    border-bottom: none; /* Başlık altı çizgi yok */
    padding: 1rem 1rem 0.5rem;
}
#mapModal .modal-body {
    padding: 0; /* Modal body padding'i sıfırlandı */
}
.map-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    /* border-radius: 4px; */ /* İstenirse haritaya border radius */
}
.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.footer {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px; /* Footer yüksekliği */
    background-color: var(--adeko-black);
    color: var(--adeko-white);
    text-align: center;
    padding: 20px 0; /* İçeriği dikey ortalamak için padding */
    z-index: 1000; /* Diğer elemanların üzerinde */
    display: flex; /* İçeriği ortalamak için flex */
    justify-content: center;
    align-items: center;
}
.footer p {
    margin-bottom: 0; /* Paragraf alt boşluğunu sıfırla */
}

/* Sosyal medya ikonları */
.social-icons {
    margin-bottom: 1rem; /* Hero section içinde alt boşluk */
}
.social-icon-link i {
    /* Renk hero section içinde ayarlandı */
    font-size: 2.5rem; /* İkon boyutu biraz küçültüldü */
    transition: color 0.2s, transform 0.2s;
}
.social-icon-link i:hover {
    color: var(--adeko-light-grey) !important; /* Hover rengi */
    transform: scale(1.1); /* Hafif büyüme efekti */
}

/* Ürün Galerisi Özel Navigasyon Okları */
.custom-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2; /* Kartların üzerinde */
    background: var(--adeko-white); /* Ok arkaplanı */
    border-radius: 50%;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
    border: none;
    opacity: 0.92;
    transition: background 0.2s, box-shadow 0.2s, opacity 0.2s;
    cursor: pointer;
}
.custom-gallery-arrow span.carousel-control-prev-icon,
.custom-gallery-arrow span.carousel-control-next-icon {
    filter: invert(1) grayscale(1) brightness(0.7); /* Ok ikon rengi */
    width: 1.2rem; /* Ok ikon boyutu */
    height: 1.2rem;
}
.custom-gallery-arrow:hover {
    background: var(--pantone-12-4302-accent); /* Hover arkaplanı */
    box-shadow: 0 4px 18px rgba(0,0,0,0.28);
    opacity: 1;
}
.custom-gallery-arrow.carousel-control-prev {
    left: -60px; /* Sol ok pozisyonu */
}
.custom-gallery-arrow.carousel-control-next {
    right: -60px; /* Sağ ok pozisyonu */
}
/* Okların mobil pozisyonları */
@media (max-width: 900px) {
    .custom-gallery-arrow.carousel-control-prev {
        left: -20px;
    }
    .custom-gallery-arrow.carousel-control-next {
        right: -20px;
    }
    .custom-gallery-arrow {
        width: 38px; /* Mobil ok boyutu */
        height: 38px;
    }
     .custom-gallery-arrow span.carousel-control-prev-icon,
     .custom-gallery-arrow span.carousel-control-next-icon {
        width: 1rem; /* Mobil ok ikon boyutu */
        height: 1rem;
    }
    /* Ürünler karuseli sağ-sol oklarını gizle */
    #productGalleryCarousel .carousel-control-prev,
    #productGalleryCarousel .carousel-control-next,
    .custom-gallery-arrow {
        display: none !important;
    }
}

/* İçerik Bölümlerindeki Listeler İçin Genel Stil */
.section ul {
    padding-left: 1.5rem; /* Liste içeriğini biraz içeri alır */
    list-style-type: disc; /* Varsayılan madde işareti */
}
.section ul li {
    margin-bottom: 0.5rem; /* Liste elemanları arası boşluk */
}
/* Profil Özet ve Çalışma Modeli içerisindeki H4 başlıklar için stil */
#profil-ozet h4, #calisma-modeli h4 {
    margin-top: 1.5rem; /* Başlık üst boşluğu */
    margin-bottom: 0.75rem; /* Başlık alt boşluğu */
    font-weight: 700; /* Kalın font */
}