/* ========================================
   RESPONSIVE STYLES
   Media queries for different screen sizes
   ======================================== */

/* Narrow screens (868px and below): hamburger nav + mobile layout */
@media (max-width: 868px) {
    body {
        padding: 0;
    }

    .wireframe-container {
        box-shadow: none;
    }

    /* Floating header: same width formula as desktop; tighter vertical padding */
    .header {
        padding: 14px var(--section-padding-x);
        top: 12px;
        border-radius: 14px;
    }

    /* Shorter bar on mobile but hamburger + logo still need clearance */
    :root {
        --header-float-gap: 12px;
        --header-height-est: 72px;
    }

    /* Stack grid layouts */
    .features-grid,
    .steps,
    .footer-content {
        grid-template-columns: 1fr;
    }

    /* Stack sandbox content */
    .sandbox-content {
        grid-template-columns: 1fr;
    }

    /* Keep CTA buttons centered and auto-width on mobile */
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    /* Adjust padding for mobile */
    section {
        padding: 40px var(--section-padding-x);
    }

    .hero {
        padding: 0 var(--section-padding-x) 60px;
    }

    .hero-image {
        margin-bottom: 24px;
    }

    .ai-disclosure-badge {
        bottom: 28px;
        right: 8px;
        padding: 6px 12px;
        font-size: 0.8em;
    }

    .ai-disclosure-dialog-inner {
        padding: 24px;
        width: calc(100% - 32px);
    }

    .hero h1 {
        font-size: 1.6em;
    }

    .hero p {
        font-size: 1em;
    }

    .logo-image {
        height: 32px;
    }

    /* MARK: - Hamburger Menu */

    .nav-toggle {
        display: flex;
    }

    /* Nav: full-width sheet below floating header */
    .nav {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        left: 0;
        background: rgba(255, 255, 255, 0.98);
        flex-direction: column;
        gap: 0;
        padding: 8px 0;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
        z-index: 300;
        border-radius: 12px;
        border: 1px solid rgba(15, 23, 42, 0.1);
    }

    @supports (backdrop-filter: blur(16px)) {
        .nav {
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }
    }

    .nav.open {
        display: flex;
    }

    .nav .nav-item {
        padding: 14px 20px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06);
        text-align: left;
        border-radius: 0;
    }

    .nav .nav-item:last-child {
        border-bottom: none;
    }

    .nav .nav-item.active {
        border-bottom: 1px solid rgba(15, 23, 42, 0.06);
        padding-bottom: 14px;
        background: rgba(0, 113, 173, 0.1);
    }

    .nav .nav-item.active:last-child {
        border-bottom: none;
    }

    .footer {
        padding: 20px var(--section-padding-x);
    }

    /* Landing: outcomes + path spacing on small screens */
    .landing-outcomes {
        margin: 0 0 32px;
        padding: 24px var(--section-padding-x);
    }

    .landing-path {
        padding: 24px var(--section-padding-x) 48px;
    }

    /* Numbered path list: same card-padding-x as desktop pattern; narrower min for small viewports */
    .landing-path-steps {
        --path-step-card-padding-x: 24px;
        --path-step-gap-num-to-body: 16px;
    }
}

/* Large tablets (869px - 1024px) */
@media (min-width: 869px) and (max-width: 1024px) {
    section {
        padding: 64px var(--section-padding-x);
    }

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

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

    .footer-content {
        grid-template-columns: repeat(2, 1fr);
    }

    .landing-outcomes {
        margin: 0 0 40px;
    }
}
