/* =====================================================================
   APPLY LEFT SIDEBAR ONLY ON LARGE SCREENS
   ===================================================================== */
@media (min-width: 1141px) {

    /* FOLLOWWRAP — wraps header when sticky; must become sidebar */
    .onepress-menu .menu-item a { line-height: normal; }
    .followWrap {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 300px !important;
        height: 100vh !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 9999;
    }

    /* MASTHEAD — vertical sidebar */
    #masthead.site-header {
        position: relative;
        width: 300px !important;
        height: 100vh !important;
        background: #fff;
        box-shadow: 2px 0 5px rgba(0,0,0,0.1);
        padding: 20px 15px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    /* All inner containers full width */
    #masthead .container,
    #masthead .header-inner,
    #masthead .site-branding,
    #masthead .main-navigation,
    #masthead .main-navigation ul {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Branding */
    #masthead .site-branding {
        margin-bottom: 25px !important;
        text-align: left;
    }

    /* Vertical navigation */
    #masthead .main-navigation ul {
        display: flex !important;
        flex-direction: column;
    }

    #masthead .main-navigation li {
        width: 100%;
        margin: 4px 0;
    }

    #masthead .main-navigation a {
        display: block;
        padding: 8px 0;
        text-align: left;
    }

    /* Submenus */
    #masthead .main-navigation ul ul {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        padding-left: 15px;
        background: transparent;
        box-shadow: none;
    }

    /* Prevent shrinking on scroll */
    .is-sticky .followWrap,
    .is-sticky #masthead.site-header {
        width: 300px !important;
        height: 100vh !important;
        padding: 20px 15px !important;
    }

    /* =====================================================================
        SITE CONTENT POSITIONING + CENTERING FIX
       ===================================================================== */

    /* Shift entire site right exactly once */
    #page {
        margin-left: 300px !important;
    }

    /* Remove accidental overflow shifts */
    body,
    .site-content,
    .site-main,
    .content-area {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    /* Keep content centered */
    .site-content .container,
    #content .container,
    #main .container {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #rates h3 { margin-bottom: 3px; margin-top: 10px; }
    .service-title { display: none; }
    .service-content h3 { margin-top: 30px !important; }

    #contact .contact-form { display:block !important; max-width:500px; width:100%; margin:0 auto; }
    #contact .col-sm-6 { display:none; }
}


/* =====================================================================
   MOBILE / ORIGINAL ONEPRESS HEADER (1140px ↓, including your 768px rules)
   ===================================================================== */

@media (max-width: 1140px) {
  .onepress-menu-mobile { top:75px !important; }

    /* revert sidebar push */
    #page { margin-left: 0 !important; }

    /* revert followWrap */
    .followWrap {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
    }

    /* revert masthead */
    #masthead.site-header {
        flex-direction: row;
        width: 100% !important;
        height: auto !important;
        padding: 10px 20px !important;
        box-shadow: none !important;
    }
}
