/* Phase 2: shared controls. Kept separate for a narrow production release. */
.home-video-card > .home-video-thumb,
.home-video-card > .home-video-card-body,
.home-video-card-kicker,
.home-video-card-title {
    display: block;
}

/* The light interior-design hero used #7b7b7b for small current-page text
   (4.23:1 against white). Keep its muted appearance with sufficient contrast. */
.page-template-page-interior-design .rank-math-breadcrumb .last {
    color: #595959;
}

.registration-modal .modal-dialog .modal-content {
    /* Reserve a separate close-button row so it cannot cover the telephone CTA. */
    padding-top: max(68px, 3.47vw);
}
.registration-modal .modal-content > .close {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 0;
}
.registration-modal .close:focus-visible {
    outline: 2px solid #a82d2e;
    outline-offset: 2px;
}
.registration-modal .gform_wrapper input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="url"], [type="date"], [type="password"], [type="search"]),
.registration-modal .gform_wrapper select,
.registration-modal .gform_wrapper textarea,
.registration-modal .gform_wrapper .gform_button {
    min-height: 48px !important;
    font-size: 16px !important;
    box-sizing: border-box;
}
.registration-modal .gform_wrapper .ginput_container_consent {
    min-height: 48px;
}

/* The plugin's invalid auto-repeat rows fall back to implicit auto rows already.
   State that same layout explicitly without touching its distributed stylesheet. */
.gform-theme--foundation .gform_fields {
    grid-template-rows: none;
    grid-auto-rows: auto;
}

@media (max-width: 767px) {
    #mobileNavigation .menu > li > a,
    #mobileNavigation .menu > li > button {
        min-height: 48px;
    }
    .rank-math-breadcrumb a {
        min-width: 48px;
        justify-content: center;
    }
    .feature-projects-slider .slick-arrow,
    .home-services-slider .slick-arrow {
        width: 48px;
        height: 48px;
        min-width: 48px;
        min-height: 48px;
    }
    .read-more > a,
    a.read-more,
    .blog-read-more > .readmore-btn,
    .home-workshop-details > .home-text-link {
        display: inline-flex;
        align-items: center;
        min-height: 48px;
    }
    .footer-menu li > a,
    .footer-social-icon a {
        display: inline-flex;
        align-items: center;
        min-height: 48px;
    }
    .footer-social-icon a {
        justify-content: center;
        min-width: 48px;
    }
    .footer-social-icon ul {
        flex-wrap: wrap;
    }
}
