/*
 * Chezy Industries mobile baseline.
 * Loaded only on the published pages with Elementor builder data.
 * Component-specific exceptions should remain in Elementor, not here.
 */

@media (max-width: 767px) {
    body.elementor-page {
        --chezy-mobile-gutter: clamp(16px, 5vw, 24px);
    }

    html,
    body.elementor-page {
        max-width: 100%;
        overflow-x: clip;
    }

    /* Keep full-width section backgrounds, while giving their content a
     * consistent breathing space on both sides of the mobile viewport. */
    body.elementor-page .site-content > .ast-container > .elementor > .e-con.e-parent,
    body.elementor-page .site-content > .ast-container > .elementor > .elementor-section {
        --padding-left: var(--chezy-mobile-gutter) !important;
        --padding-right: var(--chezy-mobile-gutter) !important;
        padding-left: var(--chezy-mobile-gutter) !important;
        padding-right: var(--chezy-mobile-gutter) !important;
    }

    body.elementor-page .elementor,
    body.elementor-page .elementor-section-wrap,
    body.elementor-page .elementor-section,
    body.elementor-page .elementor-container,
    body.elementor-page .e-con,
    body.elementor-page .e-con-inner,
    body.elementor-page .elementor-column,
    body.elementor-page .elementor-widget,
    body.elementor-page .elementor-widget-container {
        min-width: 0;
        max-width: 100%;
    }

    body.elementor-page .elementor-heading-title {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    body.elementor-page .elementor-widget-heading h1,
    body.elementor-page .elementor-widget-heading h2,
    body.elementor-page .entry-title {
        /* Deliberately not !important: Elementor's per-widget mobile
         * typography settings must be able to override this baseline. */
        font-size: clamp(2rem, 8vw, 2.6rem);
        line-height: 1.18;
    }

    body.elementor-page .elementor-widget-heading h3,
    body.elementor-page .elementor-widget-heading h4,
    body.elementor-page .elementor-widget-heading h5,
    body.elementor-page .elementor-widget-heading h6 {
        font-size: clamp(1.25rem, 5.5vw, 1.5rem);
        line-height: 1.25;
    }

    body.elementor-page .elementor-widget-text-editor p,
    body.elementor-page .elementor-widget-text-editor ul,
    body.elementor-page .elementor-widget-text-editor ol {
        overflow-wrap: anywhere;
    }

    body.elementor-page .elementor-button {
        min-height: 44px;
        max-width: 100%;
        white-space: normal;
    }

    body.elementor-page img,
    body.elementor-page svg,
    body.elementor-page video,
    body.elementor-page iframe {
        max-width: 100%;
    }

    body.elementor-page .elementor-widget-image img,
    body.elementor-page .elementor-widget-image-carousel img,
    body.elementor-page .elementor-widget-media-carousel img {
        height: auto;
    }

    body.elementor-page .elementor-widget-image-carousel,
    body.elementor-page .elementor-widget-media-carousel,
    body.elementor-page .elementor-widget-video {
        max-width: 100%;
        overflow: hidden;
    }

    body.elementor-page table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.elementor-page .elementor-icon-list-text,
    body.elementor-page .elementor-icon-list-item,
    body.elementor-page .elementor-widget-icon-list {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.elementor-page .elementor-widget-heading h1,
    body.elementor-page .elementor-widget-heading h2,
    body.elementor-page .entry-title {
        font-size: clamp(2.25rem, 5vw, 3.25rem);
        line-height: 1.2;
    }
}
