/*
 * RGR staging design and content refinement.
 * The desktop design remains unchanged. These rules address the audited
 * mobile journey, where service cards and footer navigation were too tall and
 * an older Additional CSS selector hid every footer label.
 */

@media (max-width: 767px) {
    /* Compact the six homepage work cards without changing their Elementor content. */
    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card {
        display: grid !important;
        grid-template-columns: minmax(116px, 38%) minmax(0, 1fr) !important;
        grid-template-rows: auto 1fr !important;
        min-height: 176px !important;
        padding: 0 !important;
        overflow: hidden !important;
        align-items: stretch !important;
        text-align: left !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card > .elementor-widget-image {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card > .elementor-widget-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 176px !important;
        object-fit: cover !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card > .elementor-widget-heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 16px 5px !important;
        align-self: end !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card > .elementor-widget-heading .elementor-heading-title {
        font-size: 18px !important;
        line-height: 1.05 !important;
        text-align: left !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card > .elementor-widget-text-editor {
        display: none !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card > .elementor-widget-button {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 8px 12px 16px !important;
        align-self: start !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .rgr-home-service-showcase-card > .elementor-widget-button .elementor-button {
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px 12px !important;
        font-size: 11px !important;
        line-height: 1.15 !important;
    }

    /* Make the city directory scannable without eleven full-width mobile rows. */
    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid > .rgr-home-area-group {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid > .rgr-home-area-group > .elementor-widget-heading {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin: 0 0 2px !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid > .rgr-home-area-group > .elementor-widget-button {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid > .rgr-home-area-group .elementor-button {
        width: 100% !important;
        min-height: 58px !important;
        padding: 8px !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid > .rgr-home-area-group .elementor-button-content-wrapper {
        gap: 4px !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid > .rgr-home-area-group .elementor-button-text {
        font-size: 10.5px !important;
        line-height: 1.12 !important;
        white-space: normal !important;
    }

    body.home.elementor-page-6821.rgr-premium-redesign .elementor-element-d768657d.rgr-home-area-grid > .rgr-home-area-group .elementor-button-icon {
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
        margin-inline-start: 4px !important;
        font-size: 11px !important;
    }

    /*
     * Restore footer labels hidden by the legacy mobile selector
     * `a span:last-child { display:none; }`, then shorten the footer by using
     * two clear link columns in each Elementor-managed navigation group.
     */
    body.rgr-premium-redesign footer.elementor-location-footer .rgr-premium-footer__nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: start !important;
        gap: 0 14px !important;
    }

    body.rgr-premium-redesign footer.elementor-location-footer .rgr-premium-footer__nav > .elementor-widget-heading {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    body.rgr-premium-redesign footer.elementor-location-footer .rgr-premium-footer__nav > .elementor-widget-button {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.rgr-premium-redesign footer.elementor-location-footer .rgr-premium-footer__nav a {
        width: 100% !important;
        min-height: 46px !important;
        padding: 9px 0 !important;
    }

    body.rgr-premium-redesign footer.elementor-location-footer .rgr-premium-footer__nav a .elementor-button-content-wrapper {
        display: flex !important;
        width: 100% !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    body.rgr-premium-redesign footer.elementor-location-footer .rgr-premium-footer__nav a .elementor-button-text {
        display: block !important;
        order: 1 !important;
        color: #F5F5F3 !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
        text-align: left !important;
        opacity: 1 !important;
    }

    body.rgr-premium-redesign footer.elementor-location-footer .rgr-premium-footer__nav a .elementor-button-icon {
        display: flex !important;
        order: 2 !important;
        flex: 0 0 auto !important;
        color: #FF443E !important;
        font-size: 14px !important;
        opacity: 1 !important;
    }
}
