/* ONC29 SITEWIDE MOBILE FIXES */
@media (max-width: 991.98px){

  html, body{
    overflow-x:hidden !important;
    max-width:100% !important;
  }

  .main,
  .main.oh,
  .header,
  .header .container,
  .header .flex-parent,
  .container,
  .entry__article,
  .post-content,
  .elementor,
  .elementor-section,
  .elementor-container{
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  .header .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .header .flex-parent{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) 44px !important;
    align-items:center !important;
    gap:12px !important;
  }

  .header .logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    max-width:240px !important;
    margin:0 auto !important;
  }

  .header .logo__img,
  .header .logo img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-width:240px !important;
    max-height:54px !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  .header .nav__mobile-search{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  img{
    max-width:100% !important;
    height:auto !important;
  }

  /* drawer */
  .sidenav{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    width:86vw !important;
    max-width:360px !important;
    height:100vh !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    z-index:10001 !important;
    transform:translateX(-100%) !important;
    transition:transform .22s ease !important;
  }

  .sidenav.sidenav--is-open{
    transform:translateX(0) !important;
  }

  .sidenav,
  .sidenav *{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    letter-spacing:normal !important;
  }

  .sidenav__close{
    display:flex !important;
    justify-content:flex-end !important;
    padding:14px 14px 8px !important;
  }

  .sidenav__close-button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
  }

  .sidenav__menu-container,
  .sidenav__menu,
  .sidenav__menu-dropdown{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    float:none !important;
    columns:auto !important;
    column-count:1 !important;
    transform:none !important;
  }

  .sidenav__menu > li,
  .sidenav__menu-dropdown > li{
    display:block !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:both !important;
  }

  .sidenav__menu > li{
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  .sidenav__menu-link{
    display:block !important;
    width:auto !important;
    max-width:calc(100% - 50px) !important;
    min-width:0 !important;
    margin:0 !important;
    padding:14px 18px !important;
    font-size:16px !important;
    line-height:1.25 !important;
    text-align:left !important;
  }

  .sidenav__menu-dropdown .sidenav__menu-link{
    max-width:100% !important;
    padding:12px 18px 12px 34px !important;
    font-size:14px !important;
  }

  .sidenav__menu-toggle{
    position:absolute !important;
    top:8px !important;
    right:8px !important;
    width:36px !important;
    height:36px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    z-index:3 !important;
  }

  .sidenav__menu-dropdown{
    display:none !important;
    background:rgba(255,255,255,.02) !important;
    padding:0 0 8px !important;
  }

  .sidenav__menu--is-open > .sidenav__menu-dropdown{
    display:block !important;
  }
}

/* ONC29 MOBILE HERO FIT + MENU ROW HARD FIX */
@media (max-width: 991.98px){

  /* homepage hero: keep full visual, crop less aggressively */
  [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8{
    aspect-ratio:4/3 !important;
    min-height:300px !important;
  }

  [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8 img{
    object-fit:cover !important;
    object-position:center 22% !important;
  }

  /* force every top-level menu item into a real horizontal row */
  .sidenav__menu > li{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
  }

  .sidenav__menu > li > .sidenav__menu-link{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:14px 52px 14px 18px !important;
    line-height:1.2 !important;
  }

  .sidenav__menu > li > .sidenav__menu-toggle{
    position:absolute !important;
    top:8px !important;
    right:8px !important;
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
  }

  .sidenav__menu-dropdown{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }

  .sidenav__menu-dropdown > li{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  .sidenav__menu-dropdown > li > .sidenav__menu-link{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:12px 18px 12px 34px !important;
    line-height:1.2 !important;
  }
}

/* ONC29 MOBILE HERO FIT + MENU ROW HARD FIX */
@media (max-width: 991.98px){

  /* homepage hero: keep full visual, crop less aggressively */
  [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8{
    aspect-ratio:4/3 !important;
    min-height:300px !important;
  }

  [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8 img{
    object-fit:cover !important;
    object-position:center 22% !important;
  }

  /* force every top-level menu item into a real horizontal row */
  .sidenav__menu > li{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
  }

  .sidenav__menu > li > .sidenav__menu-link{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    padding:14px 52px 14px 18px !important;
    line-height:1.2 !important;
  }

  .sidenav__menu > li > .sidenav__menu-toggle{
    position:absolute !important;
    top:8px !important;
    right:8px !important;
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
  }

  .sidenav__menu-dropdown{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }

  .sidenav__menu-dropdown > li{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  .sidenav__menu-dropdown > li > .sidenav__menu-link{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:12px 18px 12px 34px !important;
    line-height:1.2 !important;
  }
}

/* ONC29 HARD MOBILE DRAWER LAYOUT OVERRIDE */
@media (max-width: 991.98px){

  #sidenav.sidenav{
    width:86vw !important;
    max-width:360px !important;
  }

  #sidenav .sidenav__menu-container{
    margin-top:52px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:block !important;
  }

  #sidenav ul.sidenav__menu,
  #sidenav ul.sidenav__menu-dropdown{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    float:none !important;
    columns:initial !important;
    column-count:auto !important;
  }

  #sidenav ul.sidenav__menu > li,
  #sidenav ul.sidenav__menu-dropdown > li{
    display:block !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:both !important;
  }

  #sidenav ul.sidenav__menu > li{
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  #sidenav a.sidenav__menu-link{
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:14px 56px 14px 18px !important;
    text-align:left !important;
    font-size:16px !important;
    line-height:1.25 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }

  #sidenav ul.sidenav__menu-dropdown a.sidenav__menu-link{
    padding:12px 18px 12px 34px !important;
    font-size:14px !important;
  }

  #sidenav button.sidenav__menu-toggle{
    position:absolute !important;
    top:8px !important;
    right:8px !important;
    width:36px !important;
    height:36px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:3 !important;
  }

  #sidenav ul.sidenav__menu-dropdown{
    display:none !important;
    width:100% !important;
    max-width:100% !important;
    background:rgba(255,255,255,.02) !important;
    padding:0 0 8px !important;
  }

  #sidenav .sidenav__menu--is-open > ul.sidenav__menu-dropdown{
    display:block !important;
  }

  /* homepage hero crop soften */
  [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8{
    min-height:320px !important;
  }

  [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8 img{
    object-position:center 30% !important;
  }
}

/* ONC34 SITEWIDE MOBILE HEADER ONLY */
@media (max-width: 991.98px){
  .header .container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .header .flex-parent{
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) 40px !important;
    align-items:center !important;
    column-gap:14px !important;
  }

  .header .nav-icon-toggle{
    width:40px !important;
    height:40px !important;
    justify-self:start !important;
  }

  .header .logo{
    max-width:190px !important;
    justify-self:center !important;
    margin:0 auto !important;
  }

  .header .logo__img,
  .header .logo img{
    max-width:190px !important;
    max-height:46px !important;
  }

  .header .nav__mobile-search{
    width:40px !important;
    height:40px !important;
    justify-self:end !important;
    margin-left:0 !important;
    transform:none !important;
  }

  .header .nav__search-trigger{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
  }
}

/* ONC35 HOMEPAGE-ONLY MOBILE HERO FIX */
@media (max-width: 991.98px){
  body.home [data-onc27="ct-home-v8"] .onc27-home-hero-slides-v8{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
  }

  body.home [data-onc27="ct-home-v8"] .onc27-home-hero-slide-v8{
    display:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  body.home [data-onc27="ct-home-v8"] .onc27-home-hero-slide-v8.is-active{
    display:block !important;
  }

  body.home [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8{
    aspect-ratio:4/3 !important;
    min-height:0 !important;
    height:auto !important;
    margin-bottom:0 !important;
    overflow:hidden !important;
  }

  body.home [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8 img,
  body.home [data-onc27="ct-home-v8"] .onc27-home-hero-media-v8 .wp-post-image{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center 42% !important;
  }

  body.home [data-onc27="ct-home-v8"] .onc27-home-hero-copy-v8{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:14px 0 0 !important;
  }
}

/* ONC36 ARTICLE PAGE MOBILE RESTORE */
@media (max-width: 991.98px){
  body.single .entry__article,
  body.single article.post,
  body.single .post,
  body.single .entry,
  body.single .entry__header,
  body.single .entry__content,
  body.single .post__content{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.single .entry__img-holder,
  body.single .post-thumb,
  body.single .entry__img,
  body.single .post__img-holder,
  body.single .entry__img-holder img,
  body.single .post-thumb img,
  body.single .entry__img img,
  body.single .post__img-holder img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* ONC37 SINGLE ARTICLE MOBILE FEATURED IMAGE FIX */
@media (max-width: 991.98px){
  body.single .onc27-ct-single-shell,
  body.single .onc27-ct-article-wrap,
  body.single .onc27-ct-article-head,
  body.single .onc27-ct-article-featured,
  body.single .onc27-ct-article-body{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.single .onc27-ct-article-featured{
    position:relative !important;
    margin:16px 0 18px !important;
    padding:0 !important;
    aspect-ratio:auto !important;
    background:transparent !important;
    border-radius:16px !important;
  }

  body.single .onc27-ct-article-featured img,
  body.single .onc27-ct-article-featured .wp-post-image{
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    border-radius:16px !important;
  }
}
