/* OrderPiQR Marketing Site — Responsive Styles */

/* ========================================
   Tablet (max 1024px)
   ======================================== */
@media (max-width: 1024px) {
    :root {
        --spacing-4xl: 64px;
    }

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

    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-xl);
    }

    .hero__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero__description {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .hero__actions {
        justify-content: center;
    }

    .hero__visual {
        order: -1;
    }

    .hero__image {
        max-width: 550px;
    }
}


/* ========================================
   Mobile (max 768px)
   ======================================== */
@media (max-width: 768px) {
    :root {
        --font-size-5xl: 2.25rem;
        --font-size-4xl: 1.875rem;
        --font-size-3xl: 1.5rem;
        --spacing-4xl: 48px;
        --spacing-3xl: 40px;
    }

    .container {
        padding: 0 var(--spacing-md);
    }

    .grid--2,
    .grid--3,
    .grid--4,
    .features-grid {
        grid-template-columns: 1fr;
    }

    .stats {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }

    /* Navigation */
    .nav__links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        max-width: 320px;
        height: 100vh;
        background: var(--white);
        flex-direction: column;
        align-items: flex-start;
        padding: calc(var(--nav-height) + var(--spacing-lg)) var(--spacing-lg) var(--spacing-lg);
        gap: 0;
        box-shadow: var(--shadow-xl);
        transition: right var(--transition-slow);
        overflow-y: auto;
        z-index: 999;
    }

    .nav__links.open {
        right: 0;
    }

    .nav__links li {
        width: 100%;
    }

    .nav__link {
        display: block;
        padding: var(--spacing-md) 0;
        border-bottom: 1px solid var(--border-color);
        font-size: var(--font-size-base);
    }

    .nav__link--active::after {
        display: none;
    }

    .nav__cta {
        margin-left: 0;
        margin-top: var(--spacing-md);
        width: 100%;
    }

    .nav__cta .btn {
        width: 100%;
    }

    .nav__mobile-toggle {
        display: block;
    }

    /* Dropdown on mobile — collapsed by default */
    .nav__dropdown-menu {
        position: static;
        transform: none;
        padding: 0;
        opacity: 1;
        visibility: visible;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .nav__dropdown.open .nav__dropdown-menu {
        max-height: 400px;
    }

    .nav__dropdown-menu-inner {
        box-shadow: none;
        border: none;
        padding: 0;
        padding-left: var(--spacing-md);
    }

    .nav__dropdown-toggle {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .nav__dropdown-toggle::after {
        display: inline-block;
        padding: 4px;
        border-width: 0 2px 2px 0;
        margin-left: auto;
        transition: transform 0.3s ease;
        transform: rotate(45deg);
    }

    .nav__dropdown.open .nav__dropdown-toggle::after {
        transform: rotate(-135deg);
    }

    /* Mobile overlay */
    .nav__overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 998;
    }

    .nav__overlay.show {
        display: block;
    }

    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr;
    }

    .footer__bottom {
        flex-direction: column;
        gap: var(--spacing-sm);
        text-align: center;
    }

    /* Steps */
    .step {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    /* Hero */
    .hero {
        padding-top: calc(var(--nav-height) + var(--spacing-3xl));
    }

    .hero__image {
        max-width: 400px;
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .btn {
        width: 100%;
    }

    /* Cookie consent */
    .cookie-consent__inner {
        flex-direction: column;
        text-align: center;
    }

    .cookie-consent__actions {
        width: 100%;
        justify-content: center;
    }

    /* Newsletter */
    .newsletter {
        flex-direction: column;
        max-width: 100%;
    }
}


/* ========================================
   Small mobile (max 480px)
   ======================================== */
@media (max-width: 480px) {
    :root {
        --font-size-5xl: 1.875rem;
        --font-size-4xl: 1.5rem;
    }
}
