
/* Version 730 - WORKING MOBILE MENU OVERLAY
   Desktop layout stays unchanged.
   Mobile gets one clean working menu.
*/
#ys-working-mobile-menu-button,
#ys-working-mobile-menu-panel,
#ys-working-mobile-menu-backdrop {
  display:none;
}

.ys-mobile-menu-button,
.mobile-menu-toggle {
  display:none !important;
}

@media (max-width:900px) {
  /* Hide broken old mobile/mega menu on phones only */
  header nav,
  nav,
  .nav,
  .navbar,
  .main-nav,
  .menu,
  .mega-menu,
  .dropdown-menu,
  .sub-menu,
  .submenu,
  .landing-pages,
  .service-areas,
  .services-menu {
    display:none !important;
  }

  #ys-working-mobile-menu-button {
    display:block !important;
    position:fixed !important;
    top:12px !important;
    right:12px !important;
    z-index:1000000 !important;
    background:#f4c542 !important;
    color:#111 !important;
    border:2px solid #111 !important;
    border-radius:10px !important;
    padding:12px 14px !important;
    font:700 16px Arial, sans-serif !important;
    box-shadow:0 5px 18px rgba(0,0,0,.25) !important;
  }

  #ys-working-mobile-menu-backdrop {
    position:fixed !important;
    inset:0 !important;
    background:rgba(0,0,0,.45) !important;
    z-index:999998 !important;
  }

  #ys-working-mobile-menu-panel {
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    width:88% !important;
    max-width:360px !important;
    height:100vh !important;
    overflow:auto !important;
    background:#ffffff !important;
    z-index:999999 !important;
    padding:18px !important;
    box-shadow:-8px 0 28px rgba(0,0,0,.35) !important;
    font-family:Arial, sans-serif !important;
  }

  body.ys-menu-open #ys-working-mobile-menu-panel,
  body.ys-menu-open #ys-working-mobile-menu-backdrop {
    display:block !important;
  }

  #ys-working-mobile-menu-panel h2 {
    color:#06233d !important;
    margin:0 0 12px !important;
    font-size:22px !important;
  }

  #ys-working-mobile-menu-panel .ys-menu-close {
    background:#c62828 !important;
    color:#fff !important;
    border:0 !important;
    width:100% !important;
    padding:12px !important;
    border-radius:10px !important;
    font-weight:900 !important;
    margin-bottom:12px !important;
  }

  #ys-working-mobile-menu-panel a {
    display:block !important;
    background:#075fbd !important;
    color:#fff !important;
    text-decoration:none !important;
    text-align:left !important;
    padding:14px !important;
    border-radius:10px !important;
    margin:8px 0 !important;
    font-weight:900 !important;
    min-height:46px !important;
    line-height:1.25 !important;
  }

  #ys-working-mobile-menu-panel a.green { background:#0a9d4b !important; }
  #ys-working-mobile-menu-panel a.gold { background:#f4c542 !important; color:#111 !important; }
  #ys-working-mobile-menu-panel a.dark { background:#06233d !important; }

  body.ys-menu-open {
    overflow:hidden !important;
  }
}

@media (min-width:901px) {
  #ys-working-mobile-menu-button,
  #ys-working-mobile-menu-panel,
  #ys-working-mobile-menu-backdrop {
    display:none !important;
  }
}


/* Version 730 - one clean mobile menu only. Removes duplicate body/mobile menu. */
@media (max-width:900px){
  .mobile-menu-toggle, body > .mobile-menu-toggle, .mobile-menu-open .v6-menu, .mobile-menu-open nav, .v6-menu, .v6-nav .wide > .v6-menu, header .v6-menu{display:none!important;}
  body{overflow-x:hidden!important;-webkit-text-size-adjust:100%;}
  main,.main,.container,.wrap,.content,.card,.module-card{max-width:100%!important;box-sizing:border-box!important;}
  input,select,textarea,button,.btn{font-size:16px!important;max-width:100%!important;box-sizing:border-box!important;}
}

/* Version 730 - homepage + mobile website display cleanup */
html, body { max-width:100%; overflow-x:hidden; }
@media (max-width:900px){
  body{font-size:16px!important;line-height:1.5!important;padding-bottom:64px!important;}
  .wide,.container{width:100%!important;max-width:100%!important;padding-left:14px!important;padding-right:14px!important;}
  .v6-top-header .wide{display:grid!important;grid-template-columns:1fr!important;text-align:center!important;gap:8px!important;padding:10px 12px!important;}
  .v6-logo{display:flex!important;justify-content:center!important;}
  .v6-logo img,.logo img{height:auto!important;max-height:86px!important;max-width:240px!important;margin:auto!important;}
  .v6-tagline{border-left:0!important;padding-left:0!important;font-size:16px!important;line-height:1.25!important;}
  .v6-contact{display:block!important;text-align:center!important;}
  .v6-phone{font-size:25px!important;line-height:1.15!important;}
  .v6-contact .btn{width:100%!important;margin-top:8px!important;}
  .v6-nav{display:none!important;}
  .moving-trust{font-size:13px!important;}
  .moving-track{animation:none!important;white-space:normal!important;display:block!important;padding:10px 8px!important;text-align:center!important;}
  .moving-track span{display:inline-block!important;margin:4px 8px!important;font-size:13px!important;}
  .v6-hero{padding:24px 0!important;background-position:center!important;}
  .v6-hero-grid,.hero-grid,.grid-2,.grid-3,.cards,.module-grid,.footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;}
  .v6-hero h1,h1{font-size:31px!important;line-height:1.08!important;letter-spacing:0!important;text-align:center!important;}
  .v6-hero p,.hero p{font-size:16px!important;text-align:center!important;}
  .v6-icons{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;margin:16px 0!important;}
  .v6-icon .circle{width:44px!important;height:44px!important;font-size:20px!important;}
  .v6-hero-actions,.hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .v6-hero-actions .btn,.hero-actions .btn,.btn{width:100%!important;min-width:0!important;min-height:46px!important;padding:13px 14px!important;}
  .v6-form,.lead-panel,.card,.v6-dark-card,.ba-card{width:100%!important;max-width:100%!important;border-radius:14px!important;padding:16px!important;}
  .v6-form h2,h2{font-size:25px!important;text-align:center!important;}
  input,select,textarea,button{font-size:16px!important;min-height:44px!important;}
  textarea{min-height:105px!important;}
  .section{padding:34px 0!important;}
  .gallery,.before-after-grid{grid-template-columns:1fr!important;}
  .ba-slider{height:245px!important;}
  .v6-footer-banner .wide{display:grid!important;grid-template-columns:1fr!important;text-align:center!important;gap:12px!important;}
  .v6-footer-banner img,.footer-logo{margin:auto!important;max-width:220px!important;height:auto!important;}
  footer .footer-grid{grid-template-columns:1fr!important;text-align:center!important;}
  .sticky-mobile{display:grid!important;grid-template-columns:1fr 1fr!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:900000!important;}
  .sticky-mobile a{display:block!important;padding:13px 6px!important;font-size:15px!important;}
  img,video,iframe{max-width:100%!important;height:auto;}
  iframe{min-height:260px;}
}
@media (max-width:480px){
  .v6-icons{grid-template-columns:1fr!important;}
  .v6-hero h1,h1{font-size:28px!important;}
  .v6-phone{font-size:22px!important;}
  .wide,.container{padding-left:12px!important;padding-right:12px!important;}
}


/* Version 730 - restore visible Home / About Us / Contact Us mobile home bar */
#ys-mobile-home-bar{display:none;}
@media (max-width:900px){
  #ys-mobile-home-bar{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    position:sticky!important;
    top:0!important;
    z-index:899999!important;
    background:#06233d!important;
    border-top:2px solid #f4c542!important;
    border-bottom:2px solid #f4c542!important;
    box-shadow:0 4px 12px rgba(0,0,0,.18)!important;
  }
  #ys-mobile-home-bar a{
    color:#fff!important;
    text-decoration:none!important;
    text-align:center!important;
    font-weight:900!important;
    font-family:Arial,sans-serif!important;
    padding:12px 6px!important;
    font-size:14px!important;
    line-height:1.1!important;
    border-right:1px solid rgba(255,255,255,.22)!important;
  }
  #ys-mobile-home-bar a:last-child{border-right:0!important;}
  #ys-mobile-home-bar a:active{background:#075fbd!important;}
  body.ys-menu-open #ys-mobile-home-bar{display:none!important;}
}

/* Version 730 - move mobile home/action bars from bottom to the top. Data-safe UI only. */
@media (max-width:900px){
  body{
    padding-top:104px!important;
    padding-bottom:0!important;
  }
  #ys-mobile-home-bar{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:950000!important;
    min-height:46px!important;
    background:#06233d!important;
    border-top:0!important;
    border-bottom:2px solid #f4c542!important;
    box-shadow:0 4px 14px rgba(0,0,0,.20)!important;
  }
  .sticky-mobile{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    position:fixed!important;
    top:46px!important;
    bottom:auto!important;
    left:0!important;
    right:0!important;
    z-index:949999!important;
    box-shadow:0 5px 18px rgba(0,0,0,.18)!important;
  }
  .sticky-mobile a{
    display:block!important;
    text-align:center!important;
    padding:12px 8px!important;
    font-size:15px!important;
    line-height:1.1!important;
    min-height:44px!important;
  }
  #ys-working-mobile-menu-button{
    top:102px!important;
    right:10px!important;
    z-index:1000000!important;
  }
  .v6-header,.topbar,.v6-top-header,header{
    position:relative!important;
    z-index:1!important;
  }
  body.ys-menu-open #ys-mobile-home-bar,
  body.ys-menu-open .sticky-mobile{
    display:none!important;
  }
}
@media (min-width:901px){
  body{padding-top:0!important;padding-bottom:0!important;}
  #ys-mobile-home-bar{display:none!important;}
}

/* Version 730 - public YesSir-only menu cleanup. Keeps CRM/admin access hidden in admin-only footer widget. */
.v6-nav .v6-menu a.crm-login-link,
.v6-nav .v6-menu a[href*="crm/"],
.v6-nav .v6-menu a[href*="platform-access.html"]{
  display:none!important;
}
@media (max-width:900px){
  #ys-working-mobile-menu-panel a[href*="crm/"],
  #ys-working-mobile-menu-panel a[href*="platform-access.html"]{
    display:none!important;
  }
}


/* Version 730 - remove duplicate fixed top quick bar; keep desktop navigation unchanged */
@media (max-width:900px){
  body{padding-top:0!important;}
  #ys-mobile-home-bar{display:none!important;}
}


/* Version 730 - larger YesSir Services website logo */
@media (max-width:900px){
  .v6-logo img,.logo img{height:auto!important;max-height:104px!important;max-width:300px!important;margin:auto!important;object-fit:contain!important;}
}
@media (max-width:420px){
  .v6-logo img,.logo img{max-height:96px!important;max-width:275px!important;}
}


/* VERSION 804 — mobile-only responsive business banner polish.
   Preserve bell/profile sizes. Use balanced clearance that adapts to phone width. */
@media (max-width: 767px) {
  .crm-header .business-banner,
  .crm-header .brand-banner,
  .crm-header .header-banner,
  .mobile-header .business-banner,
  .mobile-header .brand-banner,
  .mobile-header .header-banner {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    flex: 0 1 auto !important;
  }
  .crm-header,
  .mobile-header {
    overflow: visible !important;
  }
}

/* VERSION 914 — YesSir public website tablet reflow.
   This layer is intentionally public-site-only. It does not style CRM pages.
   Desktop above 1180px and phone layout below 700px retain their own layouts. */
@media (min-width:701px) and (max-width:1180px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;-webkit-text-size-adjust:100%!important}
  body{padding-top:0!important;padding-bottom:0!important}
  *,*::before,*::after{box-sizing:border-box}
  .wide,.container{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important;margin-left:auto!important;margin-right:auto!important}

  /* A full desktop menu cannot fit a tablet in portrait. Use the working drawer. */
  .v6-nav{display:none!important}
  #ys-working-mobile-menu-button{
    display:block!important;position:fixed!important;top:max(10px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important;z-index:1000000!important;
    width:auto!important;max-width:180px!important;min-height:44px!important;padding:10px 14px!important;border:2px solid #111!important;border-radius:10px!important;background:#f4c542!important;color:#111!important;font:800 15px Arial,sans-serif!important;box-shadow:0 5px 18px rgba(0,0,0,.25)!important
  }
  #ys-working-mobile-menu-backdrop{position:fixed!important;inset:0!important;background:rgba(0,0,0,.48)!important;z-index:999998!important}
  #ys-working-mobile-menu-panel{position:fixed!important;top:0!important;right:0!important;width:min(420px,88vw)!important;height:100dvh!important;overflow:auto!important;background:#fff!important;z-index:999999!important;padding:18px!important;box-shadow:-8px 0 28px rgba(0,0,0,.35)!important;font-family:Arial,sans-serif!important}
  body.ys-menu-open #ys-working-mobile-menu-panel,body.ys-menu-open #ys-working-mobile-menu-backdrop{display:block!important}
  #ys-working-mobile-menu-panel h2{color:#06233d!important;margin:0 0 12px!important;font-size:22px!important}
  #ys-working-mobile-menu-panel .ys-menu-close{display:block!important;width:100%!important;min-height:46px!important;border:0!important;border-radius:10px!important;background:#c62828!important;color:#fff!important;font-weight:900!important;margin-bottom:12px!important}
  #ys-working-mobile-menu-panel a{display:block!important;min-height:46px!important;margin:8px 0!important;padding:13px 14px!important;border-radius:10px!important;background:#075fbd!important;color:#fff!important;text-decoration:none!important;font-weight:900!important;line-height:1.25!important}
  #ys-working-mobile-menu-panel a.green{background:#0a7d3d!important}#ys-working-mobile-menu-panel a.gold{background:#f4c542!important;color:#111!important}
  body.ys-menu-open{overflow:hidden!important}

  /* Compact, orientation-safe header: logo, brand line and contact stay in view. */
  .v6-top-header,.v6-top-header .wide{width:100%!important;max-width:100%!important;margin:0!important}
  .v6-top-header .wide{display:grid!important;grid-template-columns:104px minmax(0,1fr) minmax(180px,auto)!important;grid-template-rows:auto auto!important;align-items:center!important;gap:8px 14px!important;padding:10px 16px!important;text-align:left!important}
  .v6-logo{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;width:104px!important;min-width:0!important}
  .v6-logo img,.logo img{display:block!important;width:auto!important;height:auto!important;max-width:100px!important;max-height:78px!important;margin:0!important;object-fit:contain!important}
  .v6-tagline{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;text-align:center!important;font-size:14px!important;line-height:1.22!important}
  .v6-tagline span{display:block!important;width:100%!important;white-space:normal!important;text-align:center!important}
  .v6-contact{grid-column:3!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:6px!important;width:auto!important;min-width:180px!important;margin:0!important;text-align:center!important}
  .v6-contact>div{min-width:0!important}.v6-phone{font-size:20px!important;line-height:1.05!important;white-space:nowrap!important}.v6-phone small{font-size:9px!important}.v6-contact>div>div:last-child{font-size:11px!important;white-space:normal!important}
  .v6-contact .btn,.v6-contact .btn.gold{display:flex!important;width:100%!important;min-height:40px!important;margin:0!important;padding:9px 10px!important;font-size:13px!important}
  .mobile-home-about-contact-links.ys-mobile-main-tabs{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:720px!important;min-width:0!important;margin:2px auto 0!important;padding:0!important;gap:8px!important;overflow:visible!important}
  .mobile-home-about-contact-links.ys-mobile-main-tabs a,.mobile-home-about-contact-links.ys-mobile-main-tabs a:link,.mobile-home-about-contact-links.ys-mobile-main-tabs a:visited{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:42px!important;margin:0!important;padding:9px 6px!important;border:2px solid #f4c542!important;border-radius:9px!important;background:#075fbd!important;color:#fff!important;text-indent:0!important;white-space:nowrap!important;overflow:visible!important;text-align:center!important;text-decoration:none!important;text-transform:none!important;font:900 14px/1.15 Arial,sans-serif!important}

  /* Keep the complete trust text reachable without cutting the first item. */
  .moving-trust{width:100%!important;overflow:hidden!important}
  .moving-track{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:24px!important;width:max-content!important;min-width:100%!important;padding:10px 16px!important;animation:none!important;transform:none!important;white-space:nowrap!important;text-align:left!important}
  .moving-track span{display:inline-block!important;flex:0 0 auto!important;margin:0!important;font-size:12px!important}

  /* Tablet homepage hero stays two-column so the estimate form never disappears below a full screen. */
  .v6-hero{padding:28px 0!important;background-position:center!important}
  .v6-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(285px,.78fr)!important;align-items:start!important;gap:18px!important;text-align:left!important}
  .v6-hero-grid>div{min-width:0!important}.v6-hero h1{font-size:clamp(32px,4.6vw,45px)!important;line-height:1.06!important;letter-spacing:-.4px!important;text-align:left!important;margin-top:0!important}.v6-hero p{text-align:left!important;font-size:14px!important;line-height:1.48!important}
  .v6-icons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin:15px 0!important}.v6-icon{min-width:0!important;font-size:10px!important}.v6-icon .circle{width:42px!important;height:42px!important;margin-left:auto!important;margin-right:auto!important;font-size:18px!important}
  .v6-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}.v6-hero-actions .btn{width:100%!important;min-width:0!important;min-height:44px!important;padding:10px 8px!important;font-size:12px!important}
  .v6-form,.lead-panel{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;padding:15px!important;border-radius:14px!important}.v6-form h2{font-size:23px!important;line-height:1.05!important;margin:0 0 6px!important}.v6-form p{text-align:center!important;font-size:11px!important}.v6-form input,.v6-form select,.v6-form textarea{width:100%!important;min-width:0!important;min-height:42px!important;font-size:16px!important}.v6-form textarea{min-height:82px!important}.v6-form .btn,.v6-form button{width:100%!important;min-height:44px!important}

  /* Shared YesSir pages reflow to useful tablet columns after rotation. */
  .grid-2,.ad-layout,.hero-grid,.module-grid,.footer-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.grid-3,.landing-grid,.service-card-grid,.related-services .grid-3,.v6-services-grid,.education-grid,.seo-grid,.project-gallery,.gallery,.before-after-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.grid-2>*,.grid-3>*,.module-grid>*,.project-gallery>*{min-width:0!important;max-width:100%!important}.card,.module-card,.v6-service-card,.landing-card{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important}
}

@media (min-width:701px) and (max-width:820px){
  .v6-top-header .wide{grid-template-columns:92px minmax(0,1fr) 176px!important;gap:7px 10px!important;padding-left:12px!important;padding-right:12px!important}.v6-logo{width:92px!important}.v6-logo img,.logo img{max-width:88px!important;max-height:70px!important}.v6-tagline{font-size:12px!important}.v6-contact{min-width:176px!important}.v6-phone{font-size:18px!important}
  .v6-hero-grid{grid-template-columns:minmax(0,1fr) minmax(275px,.88fr)!important;gap:14px!important}.v6-hero h1{font-size:32px!important}.v6-icons{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v6-form{padding:13px!important}
}

@media (min-width:1181px){
  #ys-working-mobile-menu-button,#ys-working-mobile-menu-panel,#ys-working-mobile-menu-backdrop{display:none!important}
}
\n\n/* V964 - mobile expandable Services / Service Areas / Landing Pages */
@media(max-width:900px){
  #ys-working-mobile-menu-panel .ys-mobile-dd{display:block!important;margin:8px 0!important}
  #ys-working-mobile-menu-panel .ys-mobile-dd-row{display:grid!important;grid-template-columns:1fr 40px!important;gap:6px!important;align-items:stretch!important}
  #ys-working-mobile-menu-panel .ys-mobile-dd-row>a{margin:0!important}
  #ys-working-mobile-menu-panel .ys-mobile-dd-arrow{display:flex!important;align-items:center!important;justify-content:center!important;background:#f4c542!important;color:#111!important;border:0!important;border-radius:10px!important;font-size:16px!important;font-weight:950!important;min-height:40px!important;height:40px!important;padding:0 4px!important;cursor:pointer!important}
  #ys-working-mobile-menu-panel .ys-mobile-dd-menu{display:none!important;background:#eef7f1!important;border-radius:10px!important;padding:7px!important;margin-top:6px!important}
  #ys-working-mobile-menu-panel .ys-mobile-dd.open>.ys-mobile-dd-menu{display:block!important}
  #ys-working-mobile-menu-panel .ys-mobile-dd-menu>a{display:block!important;background:#075fbd!important;color:#fff!important;margin:6px 0!important;padding:12px!important;font-size:14px!important;min-height:42px!important}
}

/* V965 - mobile dropdown arrows react on the first tap. */
#ys-working-mobile-menu-panel .ys-mobile-dd-arrow,
#ys-working-mobile-menu-panel .ys-mobile-dd-row>a{touch-action:manipulation!important;-webkit-tap-highlight-color:transparent;}
