/*
   MOBILE RESPONSIVENESS FIXES
   Centralized mobile-specific overrides for all pages
   Last Updated: 2026-02-09
*/

/* ============================================
   GLOBAL MOBILE FIXES (All Pages)
   ============================================ */

/* Prevent horizontal scroll on mobile */
html,
body {
    overflow-x: hidden;
    max-width: 100vw;
}

/* Fix navbar on mobile */
@media (max-width: 768px) {
    .navbar-brand-text {
        font-size: 1rem;
    }

    .navbar-glass {
        padding: 0.5rem 0;
    }

    /* Reduce aurora orb sizes on mobile for performance */
    .aurora-orb-1 {
        width: 80vw;
        height: 80vw;
        filter: blur(60px);
        opacity: 0.25;
    }

    .aurora-orb-2 {
        width: 70vw;
        height: 70vw;
        filter: blur(50px);
        opacity: 0.2;
    }

    .aurora-orb-3 {
        width: 50vw;
        height: 50vw;
        filter: blur(40px);
        opacity: 0.15;
    }

    /* Reduce animation complexity for performance */
    .aurora-grid {
        display: none;
    }
}

/* ============================================
   RESULTS PAGE - TABLE FIXES
   ============================================ */

@media (max-width: 992px) {

    /* Make table horizontally scrollable container */
    .data-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .data-table {
        min-width: 700px;
    }

    /* Reduce cell padding on smaller screens */
    .data-table th,
    .data-table td {
        padding: 0.75rem 1rem;
        font-size: 0.85rem;
    }
}

@media (max-width: 576px) {

    /* Results header stack vertically */
    .results-header .d-flex {
        flex-direction: column !important;
        text-align: center;
    }

    .results-header .gap-2 {
        width: 100%;
    }

    .results-header .gap-2 .btn {
        flex: 1;
    }

    /* Hot prospect cards - full width */
    .result-card {
        margin-bottom: 1rem;
    }

    /* Score ring smaller on mobile */
    .score-ring {
        width: 40px;
        height: 40px;
        font-size: 0.8rem;
    }
}

/* ============================================
   SEARCH PAGE FIXES
   ============================================ */

@media (max-width: 576px) {
    .search-capsule {
        padding: 1.5rem;
        margin: 0 0.5rem;
    }

    .oracle-hero {
        padding: 2rem 0.5rem 1.5rem;
    }

    .oracle-hero h1 {
        font-size: 1.75rem;
    }

    /* Location wrapper stack on very small screens */
    .location-wrapper {
        flex-direction: column;
    }

    .location-wrapper .country-select {
        flex: 1;
        width: 100%;
    }
}

/* ============================================
   PRICING PAGE FIXES
   ============================================ */

@media (max-width: 576px) {
    .pricing-hero h1 {
        font-size: 1.75rem;
    }

    .plan-price {
        font-size: 2.25rem;
    }

    .value-grid {
        grid-template-columns: 1fr;
    }

    .guarantee-badge {
        flex-direction: column;
        text-align: center;
        gap: 0.75rem;
    }
}

/* ============================================
   BILLING PAGE FIXES
   ============================================ */

@media (max-width: 768px) {
    .current-plan-card .row {
        text-align: center;
    }

    .current-plan-card .text-md-end {
        text-align: center !important;
    }

    .invoice-table th,
    .invoice-table td {
        padding: 0.75rem 1rem;
        font-size: 0.85rem;
    }
}

/* ============================================
   PAYMENT SUCCESS PAGE FIXES
   ============================================ */

@media (max-width: 576px) {
    .success-container {
        padding: 2rem 1rem;
    }

    .success-title {
        font-size: 1.75rem;
    }

    .success-icon-wrapper {
        width: 80px;
        height: 80px;
    }

    .success-icon-wrapper i {
        font-size: 2.5rem;
    }

    .next-steps {
        padding: 1.5rem;
    }

    .btn-dashboard {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================
   FOOTER FIXES
   ============================================ */

@media (max-width: 768px) {
    footer .row {
        text-align: center;
    }

    footer .col-lg-4 .d-flex {
        justify-content: center;
    }
}

/* ============================================
   TOUCH OPTIMIZATION
   ============================================ */

@media (hover: none) and (pointer: coarse) {

    /* Enlarge tap targets for touch devices */
    .btn {
        min-height: 44px;
        min-width: 44px;
    }

    .dropdown-item {
        padding: 0.75rem 1.5rem;
    }

    /* Disable hover states that rely on mouse */
    .card-actions {
        opacity: 1;
    }
}