/**
 * DataForce Garanti Sorgulama - Frontend Corporate & Premium Stylesheet
 * 
 * Strict Contrast & Anti-Clash Rules:
 * - Koyu Arka Plan (Dark) -> Parlak Beyaz Yazı (#FFFFFF) & Açık Gümüş (#94A3B8)
 * - Beyaz Arka Plan (Light) -> Koyu Siyah Yazı (#111827) & Koyu Gri (#4B5563)
 * - Kesinlikle Beyaz Arkaplanda Beyaz Yazı KULLANILMAZ!
 * - Kesinlikle Siyah Arkaplanda Siyah Yazı KULLANILMAZ!
 * - Blocksy Tema Başlık Çakışması Engellenir (Deduplication & Top Collision Fix)
 * - Buton İçi Spinner Sadece Sorgulama Esnasında Aktifleşir (Sürekli Dönme Sorunu Giderildi)
 * - Sitede Sol Üstte Logo Olduğundan Sorgu Kartı Üstündeki Fazlalık Logolar Kaldırıldı
 */

:root {
    --dfw-accent: #E30613;
    --dfw-accent-hover: #FF1A27;
    --dfw-accent-dark: #B8040F;
    --dfw-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --dfw-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    --dfw-radius: 12px;
}

/* ==========================================================================
   1. BLOCKSY THEME COMPATIBILITY: HIDE THEME HERO DUPLICATE ON WARRANTY PAGE
   ========================================================================== */
.page-id-1306 .hero-section,
.page:has(.dfw-portal) .hero-section,
article:has(.dfw-portal) > .hero-section,
.entry-content:has(.dfw-portal) ~ .hero-section,
body:has(.dfw-portal) .entry-header:has(.page-title) {
    display: none !important;
}

/* ==========================================================================
   2. PORTAL CONTAINER & LAYOUT STABILITY
   ========================================================================== */
.dfw-portal {
    font-family: var(--dfw-font) !important;
    width: 100% !important;
    max-width: var(--dfw-max-width, 680px) !important;
    margin: 40px auto 70px auto !important;
    padding: 10px 16px 0 16px !important;
    box-sizing: border-box !important;
    clear: both !important;
    position: relative !important;
    z-index: 10 !important;
    display: block !important;
    float: none !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.dfw-portal *, 
.dfw-portal *::before, 
.dfw-portal *::after {
    box-sizing: border-box !important;
}

/* ==========================================================================
   3. PORTAL HEADER (CLEAN & ELEGANT - LOGOS REMOVED PER USER REQUEST)
   ========================================================================== */
.dfw-logo-wrap,
.dfw-logo,
.dfw-logo-fallback {
    display: none !important;
}

.dfw-header {
    text-align: center !important;
    margin-bottom: 28px !important;
    width: 100% !important;
}

.dfw-title {
    font-size: 30px !important;
    font-weight: 900 !important;
    color: #FFFFFF !important; /* Koyu temada parlak beyaz başlık */
    margin: 0 0 10px 0 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.02em !important;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.8) !important;
    text-align: center !important;
}

.dfw-desc {
    font-size: 15px !important;
    color: #94A3B8 !important; /* Açık gümüş slate: Koyu zeminde net okunur */
    margin: 0 auto !important;
    max-width: 560px !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

/* ==========================================================================
   4. ULTRA-PREMIUM DARK CARD (DataForce Siyah Temasına %100 Uyumlu)
   ========================================================================== */
.dfw-portal.dfw-theme-dark .dfw-card,
.dfw-portal:not(.dfw-theme-light) .dfw-card {
    background: linear-gradient(180deg, rgba(19, 24, 34, 0.96) 0%, rgba(11, 14, 21, 0.98) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-top: 3px solid var(--dfw-accent) !important;
    border-radius: var(--dfw-radius) !important;
    padding: 30px 26px !important;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 35px -8px rgba(227, 6, 19, 0.22) !important;
    backdrop-filter: blur(12px) !important;
}

/* Koyu kart içindeki input wrap ve input: Siyah zemin + BEYAZ YAZI */
.dfw-portal.dfw-theme-dark .dfw-input-wrap,
.dfw-portal:not(.dfw-theme-light) .dfw-input-wrap {
    background: #080B10 !important;
    border: 1.5px solid #222B3B !important;
    border-radius: 10px !important;
    transition: all 0.2s ease !important;
}

.dfw-portal.dfw-theme-dark .dfw-input-wrap:focus-within,
.dfw-portal:not(.dfw-theme-light) .dfw-input-wrap:focus-within {
    border-color: var(--dfw-accent) !important;
    background: #0C1017 !important;
    box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.28) !important;
}

.dfw-portal.dfw-theme-dark .dfw-input,
.dfw-portal:not(.dfw-theme-light) .dfw-input {
    background: transparent !important;
    color: #FFFFFF !important; /* KOYU ZEMİNDE BEYAZ YAZI - NET VE PARLAK */
    border: none !important;
    box-shadow: none !important;
}

.dfw-portal.dfw-theme-dark .dfw-input::placeholder,
.dfw-portal:not(.dfw-theme-light) .dfw-input::placeholder {
    color: #64748B !important; /* Okunaklı Slate Gri */
}

.dfw-portal.dfw-theme-dark .dfw-input-icon,
.dfw-portal:not(.dfw-theme-light) .dfw-input-icon {
    color: var(--dfw-accent) !important;
}

.dfw-portal.dfw-theme-dark .dfw-clear-btn,
.dfw-portal:not(.dfw-theme-light) .dfw-clear-btn {
    color: #64748B !important;
}

.dfw-portal.dfw-theme-dark .dfw-clear-btn:hover,
.dfw-portal:not(.dfw-theme-light) .dfw-clear-btn:hover {
    color: #FFFFFF !important;
}

.dfw-portal.dfw-theme-dark .dfw-help-text,
.dfw-portal:not(.dfw-theme-light) .dfw-help-text {
    color: #94A3B8 !important;
}

.dfw-portal.dfw-theme-dark .dfw-help-text svg,
.dfw-portal:not(.dfw-theme-light) .dfw-help-text svg {
    color: var(--dfw-accent) !important;
    stroke: var(--dfw-accent) !important;
}

/* ==========================================================================
   5. ALERT & ERROR BOX (STRICT ANTI-CLASH: NO WHITE-ON-WHITE!)
   ========================================================================== */
.dfw-alert {
    margin-top: 22px !important;
    padding: 18px 22px !important;
    border-radius: var(--dfw-radius) !important;
    display: flex !important;
    gap: 14px !important;
    align-items: flex-start !important;
    border: 1.5px solid transparent !important;
}

.dfw-alert-icon {
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.dfw-alert-content {
    flex: 1 !important;
}

.dfw-alert-title {
    font-size: 16px !important;
    font-weight: 800 !important;
    margin: 0 0 5px 0 !important;
    line-height: 1.3 !important;
}

.dfw-alert-message {
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

/* KOYU TEMA HATA / DANGER DURUMU (Seri Numarası Bulunamadı) */
.dfw-portal.dfw-theme-dark .dfw-alert-danger,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-danger {
    background: #170A0C !important; /* Koyu Bordo Zemin */
    border-color: #8B1818 !important;
    box-shadow: 0 8px 24px rgba(227, 6, 19, 0.25) !important;
}

.dfw-portal.dfw-theme-dark .dfw-alert-danger .dfw-alert-title,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-danger .dfw-alert-title {
    color: #F87171 !important; /* PARLAK MERCAN KIRMIZISI: %100 NET OKUNUR */
}

.dfw-portal.dfw-theme-dark .dfw-alert-danger .dfw-alert-message,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-danger .dfw-alert-message {
    color: #FECACA !important; /* AÇIK PEMBE/BEYAZ TON: %100 NET OKUNUR */
}

.dfw-portal.dfw-theme-dark .dfw-alert-danger .dfw-alert-icon svg,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-danger .dfw-alert-icon svg {
    stroke: #F87171 !important;
}

/* KOYU TEMA UYARI DURUMU */
.dfw-portal.dfw-theme-dark .dfw-alert-warning,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-warning {
    background: #191206 !important;
    border-color: #854D0E !important;
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.2) !important;
}

.dfw-portal.dfw-theme-dark .dfw-alert-warning .dfw-alert-title,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-warning .dfw-alert-title {
    color: #FBBF24 !important; /* PARLAK AMBER SARI */
}

.dfw-portal.dfw-theme-dark .dfw-alert-warning .dfw-alert-message,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-warning .dfw-alert-message {
    color: #FEF3C7 !important; /* AÇIK KREM */
}

.dfw-portal.dfw-theme-dark .dfw-alert-warning .dfw-alert-icon svg,
.dfw-portal:not(.dfw-theme-light) .dfw-alert-warning .dfw-alert-icon svg {
    stroke: #FBBF24 !important;
}

/* ==========================================================================
   6. BEYAZ TEMA KONTRAST KURALLARI (ASLA BEYAZ ZEMİNDE BEYAZ YAZI KULLANILMAZ!)
   ========================================================================== */
.dfw-portal.dfw-theme-light .dfw-card {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-top: 3px solid var(--dfw-accent) !important;
    border-radius: var(--dfw-radius) !important;
    padding: 30px 26px !important;
    box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.3) !important;
}

.dfw-portal.dfw-theme-light .dfw-input-wrap {
    background: #F8FAFC !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 10px !important;
}

.dfw-portal.dfw-theme-light .dfw-input-wrap:focus-within {
    background: #FFFFFF !important;
    border-color: var(--dfw-accent) !important;
    box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.2) !important;
}

.dfw-portal.dfw-theme-light .dfw-input {
    background: transparent !important;
    color: #0F172A !important; /* BEYAZ KARTTA KOYU SİYAH YAZI */
    border: none !important;
}

.dfw-portal.dfw-theme-light .dfw-input::placeholder {
    color: #64748B !important;
}

.dfw-portal.dfw-theme-light .dfw-help-text {
    color: #475569 !important;
}

/* BEYAZ TEMADA HATA KUTUSU (ASLA BEYAZ YAZI KULLANILMAZ!) */
.dfw-portal.dfw-theme-light .dfw-alert-danger {
    background: #FEF2F2 !important;
    border-color: #FCA5A5 !important;
}

.dfw-portal.dfw-theme-light .dfw-alert-danger .dfw-alert-title {
    color: #991B1B !important; /* KOYU KAN KIRMIZISI - ASLA BEYAZ DEĞİL! */
}

.dfw-portal.dfw-theme-light .dfw-alert-danger .dfw-alert-message {
    color: #7F1D1D !important; /* KOYU BORDO - ASLA BEYAZ DEĞİL! */
}

.dfw-portal.dfw-theme-light .dfw-alert-danger .dfw-alert-icon svg {
    stroke: #991B1B !important;
}

.dfw-portal.dfw-theme-light .dfw-alert-warning {
    background: #FFFBEB !important;
    border-color: #FDE68A !important;
}

.dfw-portal.dfw-theme-light .dfw-alert-warning .dfw-alert-title {
    color: #92400E !important; /* KOYU AMBER - ASLA BEYAZ DEĞİL! */
}

.dfw-portal.dfw-theme-light .dfw-alert-warning .dfw-alert-message {
    color: #78350F !important; /* KOYU KAHVE - ASLA BEYAZ DEĞİL! */
}

/* ==========================================================================
   7. FORM CONTROLS & SUBMIT BUTTON
   ========================================================================== */
.dfw-form {
    margin: 0 !important;
    padding: 0 !important;
}

.dfw-input-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
}

@media (min-width: 600px) {
    .dfw-input-group {
        flex-direction: row !important;
    }
}

.dfw-input-wrap {
    position: relative !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    height: 54px !important;
}

.dfw-input-icon {
    position: absolute !important;
    left: 16px !important;
    pointer-events: none !important;
    display: flex !important;
    align-items: center !important;
    z-index: 3 !important;
}

.dfw-input {
    width: 100% !important;
    height: 100% !important;
    padding: 0 44px 0 48px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    outline: none !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

.dfw-input::placeholder {
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.dfw-clear-btn {
    position: absolute !important;
    right: 14px !important;
    background: transparent !important;
    border: none !important;
    font-size: 22px !important;
    cursor: pointer !important;
    padding: 4px !important;
    line-height: 1 !important;
    transition: color 0.15s !important;
    z-index: 3 !important;
}

/* Buton: DataForce Kurumsal Kırmızı Gradient */
.dfw-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 54px !important;
    padding: 0 30px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    letter-spacing: 0.4px !important;
    margin: 0 !important;
    gap: 8px !important;
}

.dfw-btn-primary {
    background: linear-gradient(135deg, var(--dfw-accent) 0%, var(--dfw-accent-dark) 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 6px 20px rgba(227, 6, 19, 0.45) !important;
}

.dfw-btn-primary:hover {
    background: linear-gradient(135deg, var(--dfw-accent-hover) 0%, var(--dfw-accent) 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 25px rgba(227, 6, 19, 0.6) !important;
}

.dfw-btn-primary:active {
    transform: translateY(0) !important;
}

.dfw-btn-primary:disabled {
    opacity: 0.8 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Spinner: Normalde KAPALIDIR, yalnızca dfw-spinning aktifken görünür */
.dfw-btn-spinner {
    display: none;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    vertical-align: middle;
}

.dfw-btn-spinner.dfw-spinning {
    display: inline-block !important;
}

.dfw-spinner-svg {
    animation: dfw-rotate 1.5s linear infinite !important;
    width: 100% !important;
    height: 100% !important;
}

.dfw-path {
    stroke: #FFFFFF !important;
    stroke-linecap: round !important;
    animation: dfw-dash 1.5s ease-in-out infinite !important;
}

@keyframes dfw-rotate {
    100% { transform: rotate(360deg); }
}

@keyframes dfw-dash {
    0% { stroke-dasharray: 1, 150; stroke-dashoffset: 0; }
    50% { stroke-dasharray: 90, 150; stroke-dashoffset: -35; }
    100% { stroke-dasharray: 90, 150; stroke-dashoffset: -124; }
}

.dfw-help-text {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    margin-top: 14px !important;
    line-height: 1.5 !important;
}

.dfw-help-text svg {
    flex-shrink: 0 !important;
}

/* ==========================================================================
   8. RESULT CARD DETAILS
   ========================================================================== */
.dfw-result-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding-bottom: 18px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

.dfw-result-status-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.dfw-result-title {
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

.dfw-badge {
    align-self: flex-start !important;
    display: inline-block !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
}

.dfw-badge-active {
    background: rgba(16, 185, 129, 0.2) !important;
    color: #34D399 !important;
    border: 1px solid rgba(52, 211, 153, 0.45) !important;
}

.dfw-badge-expired {
    background: rgba(227, 6, 19, 0.2) !important;
    color: #F87171 !important;
    border: 1px solid rgba(248, 113, 113, 0.45) !important;
}

.dfw-badge-warning {
    background: rgba(245, 158, 11, 0.2) !important;
    color: #FBBF24 !important;
    border: 1px solid rgba(251, 191, 36, 0.45) !important;
}

.dfw-btn-print {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #171E2B !important;
    color: #F1F5F9 !important;
    border: 1px solid #2E3A4E !important;
    border-radius: 6px !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.15s !important;
}

.dfw-btn-print:hover {
    background: #242E40 !important;
    color: #FFFFFF !important;
}

.dfw-result-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    background: #080B10 !important;
    border: 1px solid #1C2330 !important;
    border-radius: var(--dfw-radius) !important;
    padding: 16px 20px !important;
}

.dfw-info-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    border-bottom: 1px solid #19202D !important;
}

.dfw-info-row:last-child {
    border-bottom: none !important;
}

.dfw-info-label {
    color: #94A3B8 !important;
    font-weight: 600 !important;
}

.dfw-info-val {
    color: #FFFFFF !important;
    font-weight: 700 !important;
    text-align: right !important;
}

.dfw-val-bold {
    font-weight: 800 !important;
}

.dfw-val-mono {
    font-family: var(--dfw-font-mono) !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    background: #161F2E !important;
    color: #FFFFFF !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
    border: 1px solid #2B384F !important;
}

.dfw-row-highlight {
    background: rgba(227, 6, 19, 0.1) !important;
    border: 1px solid rgba(227, 6, 19, 0.3) !important;
    margin: 6px -8px !important;
    padding: 12px 14px !important;
    border-radius: 6px !important;
}

.dfw-val-remaining {
    color: #F87171 !important;
    font-weight: 900 !important;
    font-size: 16px !important;
}

.dfw-result-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 22px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

.dfw-verified-tag {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #34D399 !important;
}

.dfw-btn-secondary {
    background: #171E2B !important;
    color: #FFFFFF !important;
    border: 1px solid #2E3A4E !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.15s !important;
}

.dfw-btn-secondary:hover {
    background: #242E40 !important;
    color: #FFFFFF !important;
}

/* ==========================================================================
   9. PRINT STYLES
   ========================================================================== */
@media print {
    body * {
        visibility: hidden !important;
    }
    .dfw-portal, .dfw-portal * {
        visibility: visible !important;
    }
    .dfw-portal {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 20px !important;
    }
    .dfw-card {
        background: #FFFFFF !important;
        color: #000000 !important;
        border: 1px solid #999 !important;
        box-shadow: none !important;
    }
    .dfw-info-val, .dfw-result-title {
        color: #000000 !important;
    }
    .dfw-form-card, .dfw-btn-print, #dfw-new-query-btn, .dfw-help-text, .dfw-header {
        display: none !important;
    }
}
