/* ============================================================
    HEALTH TOOL MASTER CSS (health-tool.css)
   ============================================================ */

/* --- 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; 
}

/* --- 2. SIDEBAR (STRICT BRANDING) --- */
.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.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. COMPONENTS --- */
.security-verification { background: #1a1a1a; padding: 15px; border-radius: 8px; border: 1px solid #333; }
.status-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.vitality-text { font-size: 0.8rem; line-height: 1.3; color: #ccc; margin: 0; }

.health-main-content { flex: 1; min-width: 0; }
.health-search-row { display: flex; gap: 10px; margin-bottom: 25px; }

#health-results:empty { display: none !important; margin: 0 !important; padding: 0 !important; height: 0 !important; }

/* --- 4. BRANDED INPUTS & BUTTONS --- */
.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; transition: all 0.2s ease; }

/* --- 5. RESULT BOXES --- */
.result-box, .health-results-display > div {
    background: #1a1a1a; border-radius: 12px; padding: 25px; margin-bottom: 20px; border: 1px solid #333;
    width: 100%; white-space: normal !important; word-wrap: break-word !important;
    overflow-wrap: anywhere !important; word-break: break-all !important;
}

/* --- 6. CTA SECTION --- */
.cta-section { background: #1a1a1a; padding: 60px 20px; text-align: center; border-top: 1px solid #333; margin-top: 40px; width: 100%; }
.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; }

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

    /* NUCLEAR OPTION: Force every div inside health-results to be a vertical block */
    #health-results, #health-results * {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        clear: both !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: static !important;
        box-sizing: border-box !important;
    }

    /* Target headers and sections inside the results specifically */
    #health-results h3, #health-results h4 {
        display: block !important;
        width: 100% !important;
        margin: 20px 0 10px 0 !important;
    }

    /* Keep the visual separation for the cards */
    #health-results div[style*="border"], 
    #health-results .health-card,
    #health-results .result-card {
        margin-bottom: 15px !important;
        padding: 15px !important;
        background: #1a1a1a !important;
        border: 1px solid #333 !important;
        border-radius: 8px !important;
    }

    .result-box, .health-results-display > div { padding: 15px !important; }
    .book-now-btn { width: 100%; }
}