/* ============================================================
    PING TOOL MASTER CSS (ping-tool.css) - ICON & LAYOUT FIXED
   ============================================================ */

/* --- 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; }
header.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; align-items: flex-start;
}

/* --- 2. SIDEBAR (ICON COLOR FIX) --- */
.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 button, .tool-sidebar a { 
    background: #1a1a1a; color: #ccc !important; border: 1px solid #333; 
    padding: 12px 15px; border-radius: 6px; cursor: pointer; display: flex; 
    align-items: center; gap: 12px; font-size: 0.9rem; transition: 0.2s; 
    text-decoration: none; width: 100%; text-align: left;
}

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

/* Active State logic */
.tool-sidebar button.active, .tool-sidebar a.active { 
    background: #25D366 !important; color: #000 !important; font-weight: bold; 
}
.tool-sidebar a.active i, .tool-sidebar button.active i { 
    color: #000 !important; 
}

/* --- 3. MAIN CONTENT (UNIFIED WITH HEALTH.PHP) --- */
.health-main-content { flex: 1; min-width: 0; }
.view-title { margin: 0 0 10px 0; font-size: 1.8rem; color: #fff; }
.view-subtitle { margin: 0 0 20px 0; color: #aaa; font-size: 1rem; }

.ping-search-group { display: flex; gap: 10px; margin-bottom: 25px; }
.ping-target-field { flex: 3; }
.ping-scan-btn { flex: 1; margin: 0; }

#ping-results { display: none; margin: 0; padding: 0; }

/* --- 4. BRANDED BUTTONS & INPUTS --- */
.dns-input { 
    width: 100%; padding: 12px; border: 1px solid #555; background: #2a2a2a; color: #fff; 
    border-radius: 4px; font-size: 16px !important; 
}
button.scan { 
    padding: 12px 24px; background: #25D366 !important; border: 1px solid #25D366; 
    color: #000 !important; border-radius: 4px; cursor: pointer; font-weight: bold; 
    display: inline-block; transition: all 0.2s ease;
}

/* --- 5. RESULTS WRAPPING --- */
.result-box {
    background: #1a1a1a; border-radius: 12px; padding: 25px; margin-bottom: 20px; border: 1px solid #333;
    width: 100%; white-space: normal; word-wrap: break-word;
}

/* --- 6. CTA SECTION --- */
.cta-section { background: #1a1a1a; padding: 60px 20px; text-align: center; border-top: 1px solid #333; margin-top: 40px; width: 100%; }
.cta-section h3 { font-size: 2rem; color: #fff; margin-bottom: 15px; }
.book-now-btn { display: inline-block; background: #25D366; color: #000; padding: 15px 35px; border-radius: 50px; font-weight: bold; text-decoration: none; font-size: 1.1rem; }

/* --- 7. MOBILE OVERRIDES --- */
@media (max-width: 900px) {
    .dns-container { 
        flex-direction: column !important; 
        padding: 15px !important; 
        gap: 10px !important; 
        min-height: 0 !important; 
        height: auto !important;
    }
    
    .tool-sidebar-column { display: none !important; }
    
    .health-main-content { 
        width: 100% !important; 
        order: 1; 
        padding-bottom: 0 !important; 
        height: auto !important;
    }

    .slider-overlay h1 { 
        font-size: 1.5rem !important; 
        line-height: 1.1 !important; 
        margin-bottom: 5px !important;
    }
    
    .hero-strapline {
        font-size: 0.82rem !important; 
        line-height: 1.2 !important;  
        margin-bottom: 0 !important;
    }

    .slider-overlay { 
        height: auto !important; 
        padding: 20px 15px !important; 
    }

    .ping-search-group { flex-direction: column; margin-bottom: 15px; }
    .view-title { font-size: 1.5rem; }
    .result-box { padding: 15px !important; }

    .cta-section { 
        margin-top: 0 !important; 
        padding: 40px 15px !important; 
    }
    .book-now-btn { width: 100%; text-align: center; }
}