/* ============================================
   MOBILE RESPONSIVE DESIGN - ALL DEVICES
   ============================================ */

/* Mobile First - Small Phones (320px - 480px) */
@media (max-width: 480px) {
    /* Center all content */
    body {
        font-size: 16px;
        text-align: center;
    }

    /* Promo Banner */
    .promo-banner {
        font-size: 14px;
        padding: 12px 10px;
        line-height: 1.4;
    }

    /* Header Navigation */
    header {
        padding: 12px 15px;
    }

    nav {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .logo {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .nav-links {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }

    .nav-links a {
        font-size: 16px;
        padding: 8px 0;
        display: block;
    }

    .phone-btn {
        font-size: 16px;
        padding: 12px 20px;
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
        display: block;
        text-align: center;
    }

    /* Hero Section */
    .hero {
        padding: 40px 20px !important;
        text-align: center;
    }

    .hero h1 {
        font-size: 36px !important;
        line-height: 1.2;
        margin-bottom: 15px;
    }

    .section-heading {
        font-size: 24px !important;
    }

    .section-heading-small {
        font-size: 20px !important;
    }

    .hero p {
        font-size: 16px !important;
        margin-bottom: 25px;
    }

    .hero-ctas {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }

    .btn-gold,
    .btn-outline {
        font-size: 16px !important;
        padding: 14px 24px !important;
        width: 100%;
        max-width: 280px;
        text-align: center;
    }

    /* Typography */
    h1 {
        font-size: 28px !important;
    }

    h2 {
        font-size: 24px !important;
        text-align: center;
    }

    h3 {
        font-size: 20px !important;
        text-align: center;
    }

    p {
        font-size: 16px;
        line-height: 1.6;
        text-align: center;
    }

    /* All Sections */
    section {
        padding: 30px 15px !important;
    }

    /* Services Grid */
    section > div > div[style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    /* Service Cards */
    section > div > div > div {
        padding: 25px 20px !important;
        margin: 0 auto;
        max-width: 100%;
    }

    .service-highlight-grid,
    .trust-badge-grid,
    .why-grid,
    .stats-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .service-highlight-card,
    .trust-badge-card,
    .why-card,
    .stat-card {
        padding: 24px 18px !important;
    }

    /* Stats Cards */
    div[style*="display: grid"][style*="gap: 20px"] {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    /* Stats Card Content */
    div[style*="background: linear-gradient"][style*="border-radius: 16px"] {
        padding: 25px 20px !important;
    }

    div[style*="font-size: 44px"] {
        font-size: 36px !important;
    }

    div[style*="font-size: 14px"] {
        font-size: 13px !important;
    }

    .trusted-title,
    .why-title,
    .video-title {
        font-size: 26px !important;
    }

    .why-lede,
    .video-description {
        font-size: 15px !important;
        line-height: 1.5;
        margin-top: 20px !important;
    }

    .video-wrapper {
        border-radius: 16px !important;
    }

    .stat-value {
        font-size: 32px !important;
    }

    /* Trust Badges */
    div[style*="height: 70px"] {
        height: auto !important;
        margin-bottom: 20px !important;
    }

    div[style*="height: 70px"] img {
        height: 40px !important;
        width: auto !important;
    }

    /* Footer */
    footer {
        padding: 30px 20px !important;
        text-align: center;
    }

    footer > div {
        flex-direction: column !important;
        gap: 25px !important;
        text-align: center;
    }

    footer h3 {
        font-size: 18px !important;
        margin-bottom: 12px;
    }

    footer p,
    footer a {
        font-size: 14px !important;
    }

    /* Image Containers */
    img {
        max-width: 100%;
        height: auto !important;
    }

    /* Inline Grids */
    [style*="display: grid"] {
        grid-template-columns: 1fr !important;
    }
}

/* Large Phones / Small Tablets (481px - 767px) */
@media (min-width: 481px) and (max-width: 767px) {
    body {
        font-size: 17px;
    }

    .promo-banner {
        font-size: 16px;
        padding: 14px;
    }

    header {
        padding: 15px 20px;
    }

    nav {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .logo {
        font-size: 28px;
    }

    .nav-links {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }

    .nav-links a {
        font-size: 17px;
    }

    .phone-btn {
        font-size: 17px;
        padding: 13px 28px;
    }

    .hero {
        padding: 50px 25px !important;
        text-align: center;
    }

    .hero h1 {
        font-size: 40px !important;
    }

    .section-heading {
        font-size: 28px !important;
    }

    .section-heading-small {
        font-size: 22px !important;
    }

    .hero p {
        font-size: 18px !important;
    }

    .hero-ctas {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }

    .btn-gold,
    .btn-outline {
        width: 100%;
        max-width: 320px;
        text-align: center;
    }

    h1 {
        font-size: 36px !important;
        text-align: center;
    }

    h2 {
        font-size: 28px !important;
        text-align: center;
    }

    h3 {
        font-size: 22px !important;
        text-align: center;
    }

    section {
        padding: 40px 20px !important;
    }

    /* 2 Column Grid for this size */
    section > div > div[style*="grid-template-columns"] {
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
    }

    .service-highlight-grid,
    .trust-badge-grid,
    .why-grid,
    .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 22px !important;
    }

    .video-wrapper {
        border-radius: 18px !important;
    }

    div[style*="font-size: 44px"] {
        font-size: 38px !important;
    }

    footer {
        padding: 40px 25px !important;
        text-align: center;
    }

    footer > div {
        flex-direction: column !important;
        text-align: center;
    }
}

/* Tablets (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    body {
        font-size: 17px;
    }

    .promo-banner {
        font-size: 17px;
        padding: 15px;
    }

    header {
        padding: 16px 4%;
    }

    .logo {
        font-size: 28px;
    }

    .nav-links {
        gap: 25px;
    }

    .nav-links a {
        font-size: 18px;
    }

    .phone-btn {
        font-size: 17px;
        padding: 12px 26px;
    }

    .hero {
        padding: 60px 30px !important;
    }

    .hero h1 {
        font-size: 52px !important;
    }

    .section-heading {
        font-size: 36px !important;
    }

    .section-heading-small {
        font-size: 26px !important;
    }

    .hero p {
        font-size: 19px !important;
    }

    h1 {
        font-size: 42px !important;
    }

    h2 {
        font-size: 32px !important;
    }

    h3 {
        font-size: 26px !important;
    }

    section {
        padding: 50px 30px !important;
    }

    /* 2-3 Column Grid */
    section > div > div[style*="grid-template-columns"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 25px !important;
    }

    .service-highlight-grid,
    .trust-badge-grid,
    .why-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .video-wrapper {
        border-radius: 20px !important;
    }

    /* Stats in 2 columns */
    div[style*="display: grid"][style*="gap: 20px"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    footer {
        padding: 50px 30px !important;
    }
}

/* Small Laptops (1025px - 1366px) */
@media (min-width: 1025px) and (max-width: 1366px) {
    body {
        font-size: 18px;
    }

    .hero h1 {
        font-size: 60px !important;
    }

    .section-heading {
        font-size: 48px !important;
    }

    .section-heading-small {
        font-size: 28px !important;
    }

    .hero p {
        font-size: 20px !important;
    }

    /* 3 Column Grid */
    section > div > div[style*="grid-template-columns"] {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    /* Stats in 4 columns */
    div[style*="display: grid"][style*="gap: 20px"] {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* Large Desktop (1367px+) */
@media (min-width: 1367px) {
    .hero h1 {
        font-size: 72px !important;
    }

    .section-heading {
        font-size: 56px !important;
    }

    .section-heading-small {
        font-size: 32px !important;
    }

    .hero p {
        font-size: 22px !important;
    }
}

/* Landscape Mobile */
@media (max-width: 767px) and (orientation: landscape) {
    .hero {
        padding: 30px 20px !important;
    }

    .hero h1 {
        font-size: 38px !important;
    }

    .nav-links {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px;
    }

    section {
        padding: 30px 20px !important;
    }
}

/* Very Small Devices (< 375px) */
@media (max-width: 374px) {
    .logo {
        font-size: 20px !important;
    }

    .hero h1 {
        font-size: 30px !important;
    }

    .section-heading {
        font-size: 22px !important;
    }

    .section-heading-small {
        font-size: 18px !important;
    }

    .hero p {
        font-size: 14px !important;
    }

    h2 {
        font-size: 20px !important;
    }

    h3 {
        font-size: 18px !important;
    }

    p {
        font-size: 14px !important;
    }

    .btn-gold,
    .btn-outline {
        font-size: 14px !important;
        padding: 12px 20px !important;
    }

    div[style*="font-size: 44px"] {
        font-size: 32px !important;
    }
}

/* Safari Mobile Fixes */
@supports (-webkit-touch-callout: none) {
    .hero,
    section {
        -webkit-overflow-scrolling: touch;
    }

    input,
    textarea,
    select {
        font-size: 16px !important; /* Prevents zoom on iOS */
    }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    img {
        image-rendering: -webkit-optimize-contrast;
    }
}
