/* ============================================================
    PRIVACY TEST TOOL MASTER CSS (Restored Sidebar Logic)
   ============================================================ */

/* --- 1. CORE LAYOUT --- */
* { box-sizing: border-box; }
body { background-color: #2a2a2a; margin: 0; overflow-x: hidden; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
.dns-page-wrapper { background-color: #1e1e1e; color: #e0e0e0; padding-bottom: 40px; }
.dns-header { background: #2d2d2d; padding: 20px; font-size: 24px; font-weight: bold; border-bottom: 2px solid #444; color: #fff; text-align: center; }
.dns-container { display: flex; flex-direction: row; gap: 30px; padding: 30px; max-width: 1400px; margin: 0 auto; min-height: 600px; }

/* --- 2. SIDEBAR (STRICT BRANDING RESTORED) --- */
.tool-sidebar-column { width: 300px; flex-shrink: 0; display: flex; flex-direction: column; gap: 20px; }
.tool-sidebar { display: flex; flex-direction: column; gap: 8px; }

.tool-sidebar a, .tool-sidebar button {
    background: #1a1a1a;
    color: #ccc !important;
    border: 1px solid #333;
    padding: 12px 15px;
    text-align: left;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    width: 100%;
    text-decoration: none;
}

.tool-sidebar a i, .tool-sidebar button i {
    width: 20px !important; 
    font-size: 1.1rem;
    color: #25D366 !important;
    text-align: center;
}

.tool-sidebar a:hover, .tool-sidebar button:hover {
    background: #252525;
    border-color: #444;
    color: #fff !important;
}

.tool-sidebar a.active, 
.tool-sidebar button.active {
    background: #25D366 !important;
    color: #000 !important;
    border-color: #25D366 !important;
    font-weight: bold !important;
}

.tool-sidebar a.active i, 
.tool-sidebar button.active i { 
    color: #000 !important; 
}

/* --- 3. PRIVACY GRID & COMPONENTS --- */
.privacy-main-content { flex: 1; min-width: 0; }
.pass-container { background: #1a1a1a; border-radius: 12px; padding: 25px; border: 1px solid #333; }
.diagnostic-wrapper { border-top: 4px solid #25D366; }
.audit-header-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }

.privacy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 15px; }
.privacy-card { background: #222; border: 1px solid #333; padding: 20px; border-radius: 10px; transition: border-color 0.2s; position: relative; }
.clickable-card { cursor: pointer; }
.clickable-card:hover { border-color: #25D366; }
.card-icon-plus { position: absolute; top: 15px; right: 15px; font-size: 0.7rem; color: #25D366; }

.privacy-card h4 { margin: 0 0 10px 0; font-size: 0.95rem; color: #fff; }
.privacy-value { font-size: 1.2rem; font-weight: bold; color: #fff; margin-bottom: 8px; word-break: break-all; }

.status-tag { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 0.7rem; font-weight: bold; background: #444; color: #fff; }
.tag-verified { background: #25D366; color: #000; }
.tag-warning { background: #ff4444; color: #fff; }

.network-metadata-panel { background: #000; border: 1px solid #333; border-radius: 8px; padding: 25px; margin-top: 20px; }
.metadata-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; }
.fingerprint-hash-box { margin-top: 30px; padding: 25px; background: #000; border: 1px solid #333; border-radius: 8px; position: relative; overflow: hidden; }
.bg-fingerprint-icon { position: absolute; right: -20px; bottom: -20px; font-size: 8rem; color: #111; z-index: 0; }

/* --- 4. BUTTONS & CTA --- */
.scan { padding: 12px 24px; background: #25D366 !important; border: 1px solid #25D366; color: #000 !important; border-radius: 4px; cursor: pointer; font-weight: bold; transition: 0.2s; }
.rescan-btn { padding: 8px 15px; font-size: 0.8rem; background: #222 !important; border: 1px solid #333 !important; color: #fff !important; }

/* CTA DESCRIPTION FIX */
.cta-section { background: #1a1a1a; padding: 60px 20px; text-align: center; border-top: 1px solid #333; margin-top: 40px; }
.cta-section h3 { font-size: 2rem; color: #fff; margin-bottom: 15px; }
.cta-section p { color: #aaa; margin-bottom: 30px; font-size: 1.1rem; } /* Added description styling */
.book-now-btn { display: inline-block; background: #25D366; color: #000; padding: 15px 35px; border-radius: 50px; font-weight: bold; text-decoration: none; transition: 0.2s; }

/* --- 5. MOBILE FIXES (Gap & Hero Repair) --- */
@media (max-width: 900px) {
    /* Kill Ghost Height Gap */
    .dns-container { 
        flex-direction: column !important; 
        padding: 15px !important; 
        min-height: 0 !important; 
        height: auto !important;
    }
    
    .tool-sidebar-column { 
        width: 100% !important; 
        order: 2; 
        margin-top: 0 !important; 
    }
    
    .tool-sidebar { display: none !important; }
    
    .privacy-main-content { 
        order: 1; 
        width: 100% !important; 
        overflow-x: hidden; 
        height: auto !important; 
    }

    /* Hero Text Wrap/Stretch Fix */
    .slider-overlay h1 { font-size: 1.6rem !important; line-height: 1.1 !important; margin-bottom: 8px !important; }
    .hero-strapline { font-size: 0.85rem !important; line-height: 1.2 !important; }
    .slider-overlay { height: auto !important; }

    .privacy-grid { grid-template-columns: 1fr; }
    .audit-header-row { flex-direction: column; align-items: flex-start; gap: 10px; }

    /* Snap CTA to bottom of content */
    .cta-section { margin-top: 0 !important; padding: 40px 15px !important; }
    .book-now-btn { width: 100%; text-align: center; }
}