/* Genel Ayarlar ve Sıfırlama */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    background-color: #f0f4f8; /* Yeni Arka Plan Rengi (Açık Mavi/Gri) */
    color: #333; /* Koyu Metin Rengi */
    line-height: 1.6;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* --- ANA SAYFA ORTALAMA STİLİ --- */
body.homepage {
    justify-content: center; 
    align-items: center; 
}

.search-container {
    text-align: center;
    max-width: 650px;
    width: 90%;
    padding: 20px;
}
.search-container h1 {
    font-size: 3.5em;
    margin-bottom: 5px;
    color: #1E88E5; /* Yeni Vurgu Rengi (Canlı Mavi) */
}
.search-container p.subtitle {
    font-size: 1.2em;
    margin-bottom: 40px;
    color: #777;
}
.search-container form {
    display: flex;
    flex-wrap: wrap; 
    justify-content: center;
}
.button-group {
    display: flex;
    gap: 10px; 
    flex: 1 1 auto;
    justify-content: center;
    margin-top: 10px;
}
/* --- ANA SAYFA ORTALAMA STİLİ SONU --- */


header {
    background-color: #e3f2fd; /* Daha net beyaz başlık */
    padding: 16px 0 10px;
    border-bottom: 1px solid #E0E0E0; /* Daha nötr bir sınır */
}
.header-wrap {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
}
header h1 {
    margin: 0 0 6px;
}
header h1 a {
    color: #333;
    text-decoration: none;
    font-size: 2.2em;
    display: inline-block;
}
header p {
    margin: 0 0 10px;
    color: #555;
}

footer {
    padding: 15px 20px;
    margin-top: auto; 
    text-align: center;
    border-top: 1px solid #E0E0E0; /* Daha nötr bir sınır */
    background-color: #ffffff; /* Footer için beyaz/açık ton */
    color: #777;
    font-size: 0.8em;
}
footer a {
    color: #1E88E5; /* Yeni Vurgu Rengi */
}

.container {
    padding: 20px;
    max-width: 1200px;
    width: 95%;
    margin: 20px auto;
}

/* Kutu Stili (Alan Adı Durumu, NS Kayıtları vb.) */
.box {
    background-color: #ffffff; /* Kutu Arka Plan Rengi (Beyaz) */
    padding: 20px; /* Padding artırıldı */
    margin-bottom: 20px;
    border-radius: 10px; /* Daha yuvarlak */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* Daha modern gölge */
    border: 1px solid #E0E0E0; /* Daha nötr bir sınır */
}

/* Intro kutuları için hafif vurgu */
.box.intro-box {
    border-left: 6px solid #1E88E5;
    background: linear-gradient(135deg, #ffffff, #f3f8ff);
}

.box.intro-box p {
    margin-bottom: 0;
}

/* Başlık Stilleri */
.box h2 {
    color: #333;
    border-bottom: 2px solid #1E88E5; /* Vurgu rengi ile çizgi */
    padding-bottom: 10px;
    margin-top: 0;
}
.box h3 {
    color: #1E88E5; /* Yeni Vurgu Rengi */
    margin-top: 0;
    font-size: 1.6em;
}
.box h4 {
    color: #333;
    margin-bottom: 5px;
    border-top: 1px dashed #D1D9E6; /* Bölümler arası çizgi */
    padding-top: 12px;
    margin-top: 22px;
}
.box h3 + h4 {
    border-top: none;
    padding-top: 0;
    margin-top: 8px;
}
.box h5 {
    color: #555;
    margin-top: 15px;
    margin-bottom: 5px;
}

/* Kod ve Çıktı Blokları - GENEL STİL */
.box pre {
    background: #f7f9fc; /* Kod blokları için açık mavi/gri */
    color: #555; 
    padding: 15px;
    border-radius: 8px;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
    border-left: 4px solid #4DB6AC; /* Yumuşak bir turkuaz/yeşil vurgu */
    line-height: 1.8;
}

/* --- NS Kutuları için Zebra Şerit Stili --- */

/* Tek Sayılı NS Kutusu (Daha Açık) */
.box-odd {
    background-color: #F7F9FC; /* Çok Açık Mavi/Gri */
    border-left: 6px solid #4DB6AC; /* Açık Mavi Vurgu */
}

/* Çift Sayılı NS Kutusu (Hafif Koyu) */
.box-even {
    background-color: #f7f9fc; /* Çok Açık Mavi */
    border-left: 6px solid #1E88E5; /* Ana Mavi Vurgu */
}

/* ÖZGÜL PRE STİLLERİ: NS kutularının içindeki PRE blokları */

/* Tek sayılı kutu içindeki pre */
.box-odd pre {
    background: white; 
    border-left-color: #4DB6AC; /* Kutu ile aynı vurgu rengi */
    line-height: 1.8;
}

/* Çift sayılı kutu içindeki pre */
.box-even pre {
    background: #F0F4F8; /* Kutudan biraz daha farklı ton */
    border-left-color: #1E88E5; /* Kutu ile aynı vurgu rengi */
    line-height: 1.8;
}

.box.box-odd h4, .box.box-even h4 {
    color: #333;
}

/* --- FORM VE BUTON STİLLERİ (İletişim formu için korundu) --- */

/* İletişim formu gelişmiş stil */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Boşluk artırıldı */
    max-width: 100%; /* Kapsayıcı genişliğine uymalı */
}
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px; /* Boşluk artırıldı */
}
@media (max-width: 720px) {
    .form-grid { grid-template-columns: 1fr; }
}
/* Label'ları gizli tutmak için kaldırdık, form-group'u input'un kapsayıcısı olarak kullandık */
.form-group label {
    display: none; /* İletişim formunda placeholder kullandık, label'ı gizle */
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
    width: 100%;
    padding: 15px; /* Padding artırıldı */
    border: 1px solid #D1D9E6; /* Daha nötr sınır */
    border-radius: 8px;
    background: #f7f9fc; /* Açık input rengi */
    color: #333;
    font-size: 1em;
}
.contact-form textarea { resize: vertical; min-height: 150px; }
.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: #1E88E5; /* Ana Vurgu Rengi */
    box-shadow: 0 0 0 4px rgba(30, 136, 229, 0.2); /* Mavi gölge */
    background-color: #ffffff;
}
.contact-form-actions { 
    margin-top: 10px; 
    display: flex;
    justify-content: flex-end; /* Sağ tarafa hizala */
}

/* Honeypot alanını tamamen gizli tut */
.hp-wrap {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


#domainInput {
    flex: 1 1 100%; 
    padding: 12px;
    font-size: 1em;
    min-width: 0;
    border: 1px solid #D1D9E6; /* Sınır rengi güncellendi */
    border-radius: 8px;
    background-color: white;
    color: #333;
}

/* Genel Buton Temeli */
.button-group button, .top-query-box button, .button-main {
    padding: 12px 25px; /* Padding artırıldı */
    font-size: 1em;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.1s, box-shadow 0.3s;
    font-weight: bold;
}

/* Ana Sorgu Butonları (DNS, WHOIS, IP, Anasayfa Sorgula) */
.button-main {
    background-color: #1E88E5; /* Yeni Vurgu Rengi (Mavi) */
    color: white; 
    box-shadow: 0 4px 0 #1565C0; /* Koyu Mavi gölge */
}

/* Aktif sayfa butonu (daha koyu mavi, daha yüksek kontrast) */
.button-main.button-active {
    background-color: #0D47A1;
    box-shadow: 0 4px 0 #0B3C91;
}

.button-main:hover {
    background-color: #1565C0; /* Daha koyu ton */
    transform: translateY(1px); 
    box-shadow: 0 3px 0 #1565C0;
}

.button-main:active {
    transform: translateY(4px);
    box-shadow: 0 0 0 #1565C0;
}

/* Klavye odak vurgusu (erişilebilirlik) */
.button-main:focus-visible {
    outline: 3px solid #FFB300;
    outline-offset: 2px;
}

/* Temizle Butonu Stili (Ikincil Aksiyon) */
#clearBtn {
    background-color: #D1D9E6; /* Açık Mavi/Gri ton */
    color: #555;
    box-shadow: 0 4px 0 #AAB7C9;
}
#clearBtn:hover {
    background-color: #C0CCDD;
    transform: translateY(1px);
    box-shadow: 0 3px 0 #AAB7C9;
}
#clearBtn:active {
    transform: translateY(4px);
    box-shadow: 0 0 0 #AAB7C9;
}


/* Detay Sayfası Sorgu Alanı */
.top-query-box {
    background-color: #E3F2FD; /* Açık Mavi ton */
    padding: 12px;
    margin: 8px 0 0;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.top-query-box input {
    flex: 1;
}
.top-query-box button {
    padding: 8px 15px;
    font-size: 0.9em;
}

/* Hata Mesajı Stili */
.error-message {
    color: #C62828; /* Koyu Kırmızı metin */
    background-color: #FFEBEB; /* Açık Kırmızı arka plan */
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #FF5252; /* Kırmızı sınır */
    margin-bottom: 15px;
    font-weight: bold;
}
.error-message code {
    color: #333;
    background-color: #f7f7f7;
    padding: 2px 4px;
    border-radius: 3px;
}

/* Basit yardımcı sınıflar */
.text-center {
    text-align: center;
}

/* DNS özel durum mesajları */
.dns-status {
    margin-bottom: 10px;
}
.dns-status-error {
    color: orange;
}
.dns-status-available {
    color: #C9B59C;
}
.dns-status-registered {
    color: #333;
}
.dns-ns-error {
    color: red;
}
.dns-authoritative-warning {
    color: orange;
}
.dns-timeout-warning {
    color: #b36b00;
}

/* 404 Sayfası Özel Stil */
.box-404 {
    text-align: center;
}
.box-404-icon {
    font-size: 3rem;
    font-weight: 800;
    color: #1E88E5;
    margin-bottom: 10px;
}
.box-404-text {
    margin-top: 5px;
    margin-bottom: 20px;
}
.box-404-links .button-group {
    flex-wrap: wrap;
}
.box-404-hint {
    margin-top: 18px;
    color: #666;
    font-size: 0.95em;
}

/* --- Whois ve IP Detay Tabloları (Birleşik Stil) --- */
.whois-table, .ip-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    font-size: 0.95em;
    background: #fff;
    border: 1px solid #E0E0E0;
    table-layout: fixed;
}
/* Zebra satırlar */
.whois-table tr:nth-child(even), .ip-table tr:nth-child(even) {
    background: #F7F9FC; /* Açık mavi/gri zebra */
}

.whois-table th, .whois-table td, .ip-table th, .ip-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid #E0E0E0;
    word-break: break-word;
}

.whois-table th, .ip-table th {
    background-color: #E3F2FD; /* Hafif mavi arka plan */
    width: 35%;
    font-weight: 600;
    color: #555;
}

/* Ham WHOIS çıktısı için kaydırılabilir kutu */
.raw-output {
    max-height: 400px;
    overflow-y: auto;
    margin-top: 10px;
    padding: 10px 12px;
    background-color: #f7f9fc;
    border-radius: 8px;
    border: 1px solid #E0E0E0;
}

/* --- SSS (FAQ) Görsel İyileştirmeleri --- */
/* Başlıklarda (h3) yeni bölümler için çizgi; ilk başlık muaf */
.box h3:not(:first-of-type) {
    border-top: 1px dashed #D1D9E6;
    padding-top: 18px; /* Padding artırıldı */
    margin-top: 26px;
}

/* Alt başlık + paragraf blokları */
.faq-record {
    padding: 12px 14px; /* Padding artırıldı */
    border-bottom: 1px solid #E0E0E0;
}
.faq-record:nth-of-type(even) {
    background: #FAFAFA; /* Hafif bir zebra şerit */
}
.faq-record h5 {
    margin: 0 0 6px;
    color: #333;
}
.faq-record p {
    margin: 0;
}

/* Cookie / KVKK consent bar */
.cookie-consent {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    background: #263238; /* Koyu Mavi/Gri */
    color: #fff;
    padding: 14px 18px; /* Padding artırıldı */
    z-index: 9999;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    display: none; /* Varsayılan olarak gizli */
}

.cookie-consent.is-visible {
    display: block; /* JS ile görünür yapılacak */
}

.cookie-consent a { color: #81D4FA; /* Açık Mavi Link */ text-decoration: underline; }
.cookie-consent-inner {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 15px;
}
.cookie-consent-inner span { flex: 1; }
.cookie-consent-inner .button-main {
    background: #1E88E5;
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 6px;
    cursor: pointer;
    box-shadow: none; /* Shadow'u kaldırdık */
    transform: none;
}
.cookie-consent-inner .button-main:hover {
    background: #1565C0;
    transform: none;
}
@media (max-width: 640px) {
    .cookie-consent-inner { flex-direction: column; align-items: flex-start; }
}

/* Sorgulanıyor notu ve disabled hali */
.querying-note {
    margin-left: 8px;
    font-size: 0.9rem;
    color: #1E88E5;
}

#domainInput.is-loading {
    background-color: #E3F2FD;
}

.button-main.is-disabled {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: 0 4px 0 #AAB7C9; /* Disabled halde gölge gri kalsın */
    background-color: #D1D9E6;
    transform: none;
}

/* --- Mobil Uyumluluk İyileştirmeleri --- */
@media (max-width: 640px) {
    .search-container h1 {
        font-size: 2.4em;
    }
    .search-container p.subtitle {
        font-size: 1.05em;
        margin-bottom: 28px;
    }
    header h1 a {
        font-size: 1.6em;
    }
    .container {
        padding: 15px;
        margin: 10px auto;
    }
    .box {
        padding: 16px;
    }
    #domainInput {
        font-size: 0.95em;
        padding: 10px;
    }
    .button-group button,
    .top-query-box button,
    .button-main {
        padding: 9px 16px;
        font-size: 0.9em;
    }
}

@media (max-width: 480px) {
    .search-container h1 {
        font-size: 2em;
    }
    .top-query-box {
        flex-direction: column;
        align-items: stretch;
    }
    .top-query-box button {
        width: 100%;
    }
}