header .bg-remove{background:transparent !important}.menu-sticky.stuck .scroll-box-shadow{box-shadow:0px 7px 18px #1810100d}@media only screen and (min-width:1025px){.mobile-menus{display:none}}@media only screen and (max-width:1024px){#reactheme-header .primary-menu .navbar-menu,.menu-area .menu-responsive.primary-menu .navbar-menu{display:none}.primary-menu-icon .sidebarmenu-area.text-right.mobilehum{display:block}.reactheme-innner-offcanvas-contents{display:none}.menu-wrap-off .inner-offcan{display:block}.sidenav .widget_nav_menu ul li a{font-size:15px;padding:15px 0;line-height:30px}}@media only screen and (min-width:992px){body.off-open{position:relative}}@media only screen and (max-width:991px){li.menu-item-has-children a:before{display:none}#mobile_menu .menu li.mega ul.sub-menu li ul.sub-menu a{padding-left:25px}.menu-wrap-off .inner-offcan{display:block}body.logged-in .menu-wrap-off .inner-offcan .nav-link-container{top:44px}.sidenav .widget_nav_menu ul ul li a{font-size:14px !important}.padding-left-sidebar .dynamic-sidebar{padding-right:0}.menu-wrap-off{padding:46px 30px 50px 36px}.pagination-area{margin-top:50px}.main-contain #content{padding-top:80px;padding-bottom:80px}#mobile_menu ul ul .submenu-button::before{top:11px;right:17px}#mobile_menu .submenu-button{top:13px}.menu-wrap-off .inner-offcan{padding:0}.sidenav .menu li ul.sub-menu li a{font-size:14px}.sidenav .widget_nav_menu ul li ul li a{padding:10px 0}.sidenav .menu>li.menu-item-has-children::before{top:15px;font-size:20px !important}.menu-wrap-off{overflow-x:hidden}.menu-wrap-off{overflow-y:auto;top:0}.close-search{right:25px;top:25px}body.logged-in .close-search{right:30px;top:50px}.search-results .widget-area{margin-top:70px}.sidenav.nav-active-menu-container{box-shadow:none}.mobile-menu-container ul.sidenav.nav-active-menu-container{padding:70px 0 0}.sidenav{padding:0;width:auto}ul.sidenav .menu>li.menu-item-has-children::before{right:14px}.logged-in .menu-sticky.sticky .sidenav .nav-link-container{margin-top:15px}.reactheme-breadcrumbs{clear:both}.menu-area #primary-menu-single{display:block}.navbar-header{float:none;margin-top:8px}#reactheme-header .menu-area .navbar ul li:hover a::after,#reactheme-header .menu-area .navbar ul li.active a::after{display:none}.menu-area .navbar ul li ul.sub-menu{min-width:100%;display:none}.reactheme-blog-details .widget-area{padding-top:60px}.reactheme-blog-details .news-details-inner{margin-right:0}}@media only screen and (max-width:767px){.reactheme-breadcrumbs .page-title{font-size:40px}.reactheme-breadcrumbs .breadcrumbs-title span span{margin-right:0}.react-sideabr .widget{padding:38px 20px 35px}.comment-respond form#commentform{padding:30px}.comments-area .comment-list li.comment ol.children li{margin-left:0}.comments-area .comment-list li.comment .comment-author img{float:none;border-radius:5px;display:block;margin:0 auto;padding:0 0 20px;position:static}.comments-area .comment-list li.comment .comment-author b{float:none;border-radius:5px;display:block;margin:0 auto;padding:0}.comments-area .comment-list li.comment .reply{padding-left:0;margin-top:0;text-align:center}.comments-area ol.children{padding:0;margin:0}.comments-area .comment-list li.comment ol.children li{padding:0}.comments-area .comment-list li.comment .comment-metadata{margin-left:0;margin-top:0}.comment-full{text-align:center}#review_form .comment-full{text-align:unset}.comments-area .comment-list li.comment .comment-content{padding:0}.comments-area .comment-list li.comment{padding:10px;margin:0;border:none;box-shadow:none}.comments-area .comment-list li.comment .comment-content p{margin-bottom:8px}.comments-area .comment-list li.comment .comment-content p{margin-bottom:8px}.comments-area .comment-list li.comment .comment-content{margin-top:15px}.sidenav.nav-active-menu-container .offcanvas_social li a{padding:20px 0 0 16px}.comments-area .comment-list li.comment .comment-body{padding-left:0}.reactheme-blog-details .author-block{flex-direction:column}}
/* ============================================================
   HVAC247PRO Global Responsive Fix — 2026-05-07
   Fixes narrow sections, container overflow, and grid layout
   across all screen sizes. Applied globally via coolair-responsive.css.
   ============================================================ */

/* --- Prevent horizontal overflow site-wide --- */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}

/* --- Containers: proper side padding at every breakpoint --- */
.container,
.container-fluid,
[class*="container-"] {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 1400px) {
    .container { max-width: 1200px; padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 1200px) {
    .container { max-width: 100%; padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 991px) {
    .container,
    .container-fluid,
    [class*="container-"] {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    /* Prevent any section from having zero side padding */
    section, .rts-section, [class*="-section"], [class*="-area"] {
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }
}
@media (max-width: 767px) {
    .container,
    .container-fluid,
    [class*="container-"] {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    /* Sections with zero horizontal padding get safe gutters */
    section, .rts-section, [class*="-section"], [class*="-area"] {
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }
}
@media (max-width: 480px) {
    .container,
    .container-fluid,
    [class*="container-"] {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* --- Grids: collapse to 1 column on small phones --- */
@media (max-width: 480px) {
    .row { margin-left: -8px; margin-right: -8px; }
    .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }

    /* Any CSS grid with auto-fill/auto-fit: force single column */
    [style*="grid-template-columns"],
    .areas-grid, .categories-grid, .trust-grid, .process-grid,
    .services-grid, .brands-grid, .team-grid, .blog-grid,
    .rts-team-one, .rts-service-area, .rts-about-area,
    .feature-grid, .icon-box-grid, .card-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (min-width: 481px) and (max-width: 767px) {
    .areas-grid, .categories-grid, .trust-grid, .process-grid,
    .services-grid, .team-grid, .blog-grid, .feature-grid, .card-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* --- Prevent text and images from breaking out of their containers --- */
img, video, iframe, embed, object {
    max-width: 100%;
    height: auto;
}
p, h1, h2, h3, h4, h5, h6, span, a {
    word-break: break-word;
    overflow-wrap: break-word;
}

/* --- Section title max-width: never narrower than 320px --- */
.section-title p,
.rts-section-title p,
.section-header p,
.section-sub-title {
    max-width: min(640px, 100%) !important;
}

/* --- Hero sections: full-width on mobile, no overflow --- */
@media (max-width: 767px) {
    .service-areas-hero,
    .hero-section,
    .hero,
    .banner-area,
    .rts-banner-area,
    [class*="-hero"] {
        padding-left: 16px !important;
        padding-right: 16px !important;
        overflow: hidden;
    }
    .hero-cta-buttons,
    .hero-buttons,
    .banner-btn {
        flex-direction: column;
        align-items: stretch;
    }
    .hero-cta-buttons a,
    .btn-primary, .btn-secondary {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* --- Header: prevent overflow on all sizes --- */
.site-header, .header-v2, .main-header, header {
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    overflow: visible;
}

/* --- Tables: horizontal scroll wrapper on mobile --- */
@media (max-width: 767px) {
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }
}

/* --- Footer: proper padding on mobile --- */
@media (max-width: 767px) {
    .site-footer, footer, .footer-container,
    .footer-grid, [class*="footer-"] {
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box;
    }
}

/* ============================================================
   HVAC247PRO Global Responsive Fix — 2026-05-07
   ============================================================ */

html, body { overflow-x: hidden; max-width: 100vw; }

.container, .container-fluid, [class*="container-"] {
    width: 100%; box-sizing: border-box;
}
@media (max-width: 1200px) {
    .container { max-width: 100%; padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 991px) {
    .container, .container-fluid, [class*="container-"] {
        padding-left: 20px !important; padding-right: 20px !important;
    }
    section, .rts-section, [class*="-section"], [class*="-area"] {
        padding-left: 16px; padding-right: 16px; box-sizing: border-box;
    }
}
@media (max-width: 767px) {
    .container, .container-fluid, [class*="container-"] {
        padding-left: 16px !important; padding-right: 16px !important;
    }
    section, .rts-section, [class*="-section"], [class*="-area"] {
        padding-left: 12px; padding-right: 12px; box-sizing: border-box;
    }
    .service-areas-hero, .hero-section, .hero, .banner-area,
    .rts-banner-area, [class*="-hero"] {
        padding-left: 16px !important; padding-right: 16px !important; overflow: hidden;
    }
    .hero-cta-buttons, .hero-buttons, .banner-btn {
        flex-direction: column; align-items: stretch;
    }
    .hero-cta-buttons a, .btn-primary, .btn-secondary {
        width: 100%; text-align: center; justify-content: center;
    }
    .site-footer, footer, .footer-container, .footer-grid, [class*="footer-"] {
        padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box;
    }
    table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
}
@media (max-width: 480px) {
    .container, .container-fluid, [class*="container-"] {
        padding-left: 12px !important; padding-right: 12px !important;
    }
    .areas-grid, .categories-grid, .trust-grid, .process-grid,
    .services-grid, .brands-grid, .team-grid, .blog-grid,
    .feature-grid, .icon-box-grid, .card-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (min-width: 481px) and (max-width: 767px) {
    .areas-grid, .categories-grid, .trust-grid, .process-grid,
    .services-grid, .team-grid, .blog-grid, .feature-grid, .card-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

img, video, iframe, embed, object { max-width: 100%; height: auto; }
p, h1, h2, h3, h4, h5, h6, span, a { word-break: break-word; overflow-wrap: break-word; }
.section-title p, .rts-section-title p, .section-header p { max-width: min(640px, 100%) !important; }
.site-header, .header-v2, .main-header, header {
    width: 100%; max-width: 100vw; box-sizing: border-box;
}
