/* ============================================================
    MY INFO TOOL MASTER CSS (Finalized & iPhone Optimized)
   ============================================================ */

/* --- 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 --- */
.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; 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.active, .tool-sidebar button.active { background: #25D366 !important; color: #000 !important; border-color: #25D366 !important; font-weight: bold !important; }
.tool-sidebar a.active i { color: #000 !important; }
.tool-sidebar a i { color: #25D366; }

/* --- 3. MY INFO STYLES --- */
.my-info-main-content { flex: 1; min-width: 0; }
.snapshot-title { margin-top: 0; color: #fff; }
.snapshot-desc { color: #aaa; margin-bottom: 25px; }
.info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-top: 20px; }
.info-card { background: #1a1a1a; border: 1px solid #333; padding: 20px; border-radius: 8px; transition: border-color 0.3s; }
.info-card i { color: #25D366; font-size: 1.5rem; margin-bottom: 10px; }
.info-card label { display: block; color: #888; font-size: 0.8rem; text-transform: uppercase; margin-bottom: 5px; }
.info-card span { color: #eee; font-size: 1.1rem; font-weight: bold; word-break: break-all; }

/* --- 4. CTA SECTION & DESCRIPTION FIX --- */
.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; }
.cta-desc { color: #aaa; margin-bottom: 30px; font-size: 1.1rem; }
.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 SURGERY (The Fixes) --- */
@media (max-width: 900px) {
    /* Kill the White Bar (Ghost Space) */
    .dns-container { 
        flex-direction: column !important; 
        padding: 15px !important; 
        min-height: 0 !important; 
        height: auto !important;
    }
    
    .tool-sidebar-column { display: none !important; }
    
    /* Hero Font Fix (Prevents stretching) */
    .slider-overlay h1 { 
        font-size: 1.6rem !important; 
        line-height: 1.1 !important; 
        margin-bottom: 5px !important;
    }
    .hero-strapline { font-size: 0.85rem !important; line-height: 1.2 !important; }
    .slider-overlay { height: auto !important; }

    .my-info-main-content { width: 100% !important; overflow-x: hidden; }
    .info-grid { grid-template-columns: 1fr; gap: 15px; }

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