/* Breakpoints */

/* Large Desktop */
@media (max-width: 1200px) {
    :root {
        --section-gap: 90px;
    }
}

/* Tablets (landscape/portrait) */
@media (max-width: 991px) {
    :root {
        --section-gap: 80px;
    }

    /* Typo */
    .font-display-lg {
        font-size: 48px;
        line-height: 56px;
    }

    .font-headline-lg {
        font-size: 36px;
        line-height: 44px;
    }

    /* Grid structures down to 2 cols */
    .grid-4-cols,
    .grid-3-cols {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Hero section stack */
    .hero-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 48px;
    }

    .hero-content {
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero-btns {
        justify-content: center;
    }

    .hero-scanner {
        justify-content: center;
    }

    .hero-stores {
        justify-content: center;
    }

    /* Pricing Section */
    .pricing-grid-v3 {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto;
    }

    /* Footer Section */
    .footer-grid-v3 {
        grid-template-columns: 1fr 1fr;
    }

    /* Features grid override to 2 cols */
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Blog Grid Overrides */
    .blog-grid-v3 {
        grid-template-columns: 1fr !important;
        gap: 32px;
    }

    .blog-main-column-v3 {
        grid-column: span 1 !important;
    }
}

/* Mobile Devices */
@media (max-width: 767px) {
    :root {
        --section-gap: 60px;
        --gutter: 16px;
    }

    .container-v3 {
        padding: 0 var(--gutter);
    }

    /* Typo sizing for mobile */
    .font-display-lg {
        font-size: 36px;
        line-height: 44px;
    }

    .font-headline-lg {
        font-size: 32px;
        line-height: 40px;
    }

    .font-headline-md {
        font-size: 26px;
        line-height: 34px;
    }

    .font-title-lg {
        font-size: 20px;
        line-height: 28px;
    }

    /* Grids to single column */
    .grid-2-cols,
    .grid-3-cols,
    .grid-4-cols {
        grid-template-columns: 1fr;
    }

    /* Features grid overrides for mobile */
    .features-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px;
    }
    
    .feature-card-v3 {
        padding: 12px 16px;
        gap: 12px;
    }
    
    .feature-icon-wrapper-v3 {
        width: 44px;
        height: 44px;
    }
    
    .feature-icon-wrapper-v3 img {
        width: 24px;
        height: 24px;
    }
    
    .feature-card-v3 h3 {
        font-size: 15px;
    }

    /* Blog Grid Overrides for Mobile */
    .blog-card-v3 {
        flex-direction: column !important;
    }
    .blog-card-v3 > div:first-child {
        width: 100% !important;
        flex: 0 0 auto !important;
        min-height: 200px !important;
    }

    /* Hero buttons list wrap */
    .hero-btns {
        flex-direction: column;
        width: 100%;
        gap: 16px;
    }

    .hero-btns a,
    .hero-btns button {
        width: 100%;
        justify-content: center;
    }

    .hero-mockup-wrapper {
        margin-top: 24px;
    }

    .hero-floater {
        display: none; /* Hide floating cards on mobile to reduce clutter */
    }

    /* Slick settings adjustment */
    .slick-slide {
        padding: 8px;
    }

    /* Footer */
    .footer-grid-v3 {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-bottom-v3 {
        flex-direction: column;
        text-align: center;
    }
}

/* Specific helper for offcanvas drawer styles if native drawer isn't used */
.offcanvas-v3 {
    background-color: var(--background) !important;
}

.offcanvas-v3 .nav-link-item-v3 {
    margin-bottom: 20px;
}

.offcanvas-v3 .nav-link-item-v3 a {
    font-size: 18px;
    display: block;
}
