/* Prevent horizontal page overflow on mobile devices */
html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    margin: 0;
    padding: 0;
}

/* Ensure all elements fit within screen bounds */
* {
    box-sizing: border-box;
}

img, video, iframe, svg {
    max-width: 100%;
    height: auto;
}

/* Mobile specific layout fixes */
@media (max-width: 768px) {
    .container, .container-fluid {
        padding-left: 20px !important;
        padding-right: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    h1, .hero-title {
        font-size: 2rem !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    p, .hero-description {
        font-size: 0.95rem !important;
        text-align: center !important;
    }

    /* Stack buttons vertically and center them */
    .btn-group-mobile {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 12px;
    }

    .btn-group-mobile .btn {
        width: 100% !important;
        margin: 0 !important;
    }

    /* Prevent mockups/cards from overflowing */
    .preview-card, .checkout-preview {
        max-width: 100% !important;
        width: 100% !important;
        margin: 20px 0 !important;
        overflow: hidden;
    }
}