/* ======================================================================
   NatDentist v5.5.7 — Mobile navbar + homepage hero repair
   Loaded after natdentist-cms.css. This file intentionally does NOT modify
   the user's existing natdentist-cms.css.
   ====================================================================== */

@media (max-width: 991.98px){
  body.nd-page #ftco-navbar{
    position:relative!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    z-index:10020!important;
    width:100%!important;
    min-height:86px!important;
    margin:0!important;
    padding:10px 16px!important;
    background:linear-gradient(115deg,#061725 0%,#08253a 58%,#07324a 100%)!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 8px 28px rgba(0,20,35,.16)!important;
  }

  body.nd-page #ftco-navbar>.container{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    min-height:66px!important;
    margin:0!important;
    padding:0!important;
  }

  body.nd-page #ftco-navbar .navbar-brand{
    display:flex!important;
    align-items:center!important;
    min-height:64px!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
  }

  body.nd-page #ftco-navbar .navbar-brand .nd-logo,
  body.nd-page #ftco-navbar .navbar-brand img{
    display:block!important;
    width:auto!important;
    max-width:92px!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  body.nd-page #ftco-navbar .navbar-toggler{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:44px!important;
    margin:0 0 0 auto!important;
    padding:8px 4px 8px 12px!important;
    border:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.76)!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    box-shadow:none!important;
    outline:0!important;
  }

  body.nd-page #ftco-navbar .navbar-toggler .oi{
    color:#7edfe8!important;
    font-size:18px!important;
    line-height:1!important;
  }

  /* Closed means CLOSED. This specifically removes the huge white empty panel. */
  body.nd-page #ftco-nav.collapse:not(.show){
    display:none!important;
    flex-basis:0!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.nd-page #ftco-nav.collapsing,
  body.nd-page #ftco-nav.collapse.show{
    flex-basis:100%!important;
    width:100%!important;
    min-height:0!important;
    max-height:min(68vh,520px)!important;
    margin:10px 0 4px!important;
    padding:8px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border:1px solid rgba(143,224,235,.12)!important;
    border-radius:18px!important;
    background:linear-gradient(150deg,rgba(8,32,50,.99),rgba(8,47,67,.99))!important;
    box-shadow:0 20px 45px rgba(0,15,28,.30)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    backdrop-filter:blur(14px)!important;
  }

  body.nd-page #ftco-nav.collapsing{
    overflow:hidden!important;
  }

  body.nd-page #ftco-nav .navbar-nav{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:3px!important;
    background:transparent!important;
  }

  body.nd-page #ftco-nav .navbar-nav>.nav-item{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  body.nd-page #ftco-nav .navbar-nav>.nav-item>.nav-link{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:11px 13px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    background:transparent!important;
    color:rgba(245,252,255,.88)!important;
    font-size:13px!important;
    font-weight:650!important;
    line-height:1.35!important;
    text-decoration:none!important;
  }

  body.nd-page #ftco-nav .navbar-nav>.nav-item.active>.nav-link,
  body.nd-page #ftco-nav .navbar-nav>.nav-item>.nav-link:hover,
  body.nd-page #ftco-nav .navbar-nav>.nav-item>.nav-link:focus{
    border-color:rgba(96,204,220,.13)!important;
    background:linear-gradient(90deg,rgba(39,139,235,.17),rgba(35,185,183,.10))!important;
    color:#fff!important;
  }

  body.nd-page #ftco-nav .navbar-nav>.nav-item>.nav-link:after{
    display:none!important;
  }

  body.nd-page #ftco-nav .nav-item.cta>a{
    justify-content:center!important;
    margin-top:5px!important;
    border:1px solid rgba(111,222,229,.28)!important;
    border-radius:12px!important;
    background:linear-gradient(105deg,#258cf2,#23b1ba)!important;
    color:#fff!important;
  }

  body.nd-page #ftco-nav .dropdown-menu{
    position:static!important;
    float:none!important;
    width:100%!important;
    margin:4px 0 7px!important;
    padding:6px!important;
    border:1px solid rgba(255,255,255,.07)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.055)!important;
    box-shadow:none!important;
  }

  body.nd-page #ftco-nav .dropdown-item{
    padding:10px 12px!important;
    border-radius:9px!important;
    color:rgba(255,255,255,.80)!important;
    font-size:12px!important;
  }

  body.nd-page #ftco-nav .dropdown-item:hover,
  body.nd-page #ftco-nav .dropdown-item:focus{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }

  /* Prevent the scrolled desktop navbar state from turning the mobile menu white. */
  body.nd-page #ftco-navbar.scrolled,
  body.nd-page #ftco-navbar.scrolled.awake{
    position:relative!important;
    top:0!important;
    margin-top:0!important;
    background:linear-gradient(115deg,#061725 0%,#08253a 58%,#07324a 100%)!important;
  }

  body.nd-page #ftco-navbar.scrolled .navbar-toggler{
    color:rgba(255,255,255,.76)!important;
  }

  body.nd-page #ftco-navbar.scrolled #ftco-nav .nav-link{
    color:rgba(245,252,255,.88)!important;
  }
}

@media (max-width: 767.98px){
  /* Homepage hero gets its own mobile composition instead of the desktop crop. */
  body.nd-page-home .home-slider,
  body.nd-page-home .home-slider .owl-stage-outer,
  body.nd-page-home .home-slider .owl-stage,
  body.nd-page-home .home-slider .owl-item,
  body.nd-page-home .home-slider .slider-item{
    min-height:548px!important;
  }

  body.nd-page-home .home-slider .slider-item{
    height:548px!important;
    background-size:cover!important;
    background-position:62% 8%!important;
    position:relative!important;
  }

  body.nd-page-home .home-slider .slider-item .overlay{
    display:block!important;
    opacity:1!important;
    background:linear-gradient(180deg,
      rgba(5,28,46,.04) 0%,
      rgba(5,28,46,.06) 28%,
      rgba(5,28,46,.28) 55%,
      rgba(5,28,46,.86) 83%,
      rgba(5,28,46,.96) 100%)!important;
  }

  body.nd-page-home .home-slider .slider-item>.container{
    height:100%!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  body.nd-page-home .home-slider .slider-text{
    display:flex!important;
    align-items:flex-end!important;
    min-height:548px!important;
    height:548px!important;
    padding:0 0 62px!important;
  }

  body.nd-page-home .home-slider .slider-text>[class*="col-"]{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:54px!important;
    transform:none!important;
  }

  body.nd-page-home .home-slider .slider-text h1{
    max-width:315px!important;
    margin:0 0 13px!important;
    color:#fff!important;
    font-size:clamp(31px,9.2vw,37px)!important;
    font-weight:750!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
    text-shadow:0 5px 20px rgba(0,20,34,.38)!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  body.nd-page-home .home-slider .slider-text p{
    max-width:305px!important;
    margin-bottom:16px!important;
    color:rgba(255,255,255,.86)!important;
    font-size:13.5px!important;
    line-height:1.65!important;
  }

  body.nd-page-home .home-slider .slider-text p:last-child{
    margin-bottom:0!important;
  }

  body.nd-page-home .home-slider .slider-text .btn{
    width:auto!important;
    min-height:46px!important;
    padding:12px 18px!important;
    border-radius:999px!important;
    font-size:12px!important;
  }

  body.nd-page-home .home-slider .owl-dots{
    bottom:22px!important;
  }

  /* Keep the floating WhatsApp button away from hero copy on small screens. */
  body.nd-page-home .nd-whatsapp-float{
    right:12px!important;
    bottom:12px!important;
    width:50px!important;
    height:50px!important;
    font-size:23px!important;
  }
}

@media (max-width: 420px){
  body.nd-page #ftco-navbar{
    min-height:82px!important;
    padding:8px 14px!important;
  }

  body.nd-page #ftco-navbar>.container{min-height:64px!important}
  body.nd-page #ftco-navbar .navbar-brand{min-height:60px!important}
  body.nd-page #ftco-navbar .navbar-brand .nd-logo,
  body.nd-page #ftco-navbar .navbar-brand img{
    max-width:82px!important;
    height:57px!important;
    max-height:57px!important;
  }

  body.nd-page #ftco-navbar .navbar-toggler{
    padding-left:8px!important;
    font-size:13px!important;
  }

  body.nd-page-home .home-slider,
  body.nd-page-home .home-slider .owl-stage-outer,
  body.nd-page-home .home-slider .owl-stage,
  body.nd-page-home .home-slider .owl-item,
  body.nd-page-home .home-slider .slider-item,
  body.nd-page-home .home-slider .slider-text{
    min-height:520px!important;
    height:520px!important;
  }

  body.nd-page-home .home-slider .slider-item{
    background-position:64% 7%!important;
  }

  body.nd-page-home .home-slider .slider-text{
    padding-bottom:54px!important;
  }

  body.nd-page-home .home-slider .slider-text>[class*="col-"]{
    padding-right:48px!important;
  }

  body.nd-page-home .home-slider .slider-text h1{
    max-width:285px!important;
    font-size:32px!important;
  }

  body.nd-page-home .home-slider .slider-text p{
    max-width:285px!important;
    font-size:12.8px!important;
  }
}


/* ======================================================================
   NatDentist v5.5.8 — approved mobile header on ALL public pages
   + compact inner-page breadcrumb hero. This remains separate from
   natdentist-cms.css so manual user CSS edits are never overwritten.
   ====================================================================== */
@media (max-width: 991.98px){
  body.nd-page:not(.nd-page-home) #ftco-navbar,
  body.nd-page:not(.nd-page-home) #ftco-navbar.scrolled,
  body.nd-page:not(.nd-page-home) #ftco-navbar.scrolled.awake{
    position:relative!important;
    top:0!important;
    margin:0!important;
    background:linear-gradient(115deg,#061725 0%,#08253a 58%,#07324a 100%)!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 8px 28px rgba(0,20,35,.16)!important;
  }
  body.nd-page:not(.nd-page-home) #ftco-navbar .navbar-brand,
  body.nd-page:not(.nd-page-home) #ftco-navbar .navbar-brand span,
  body.nd-page:not(.nd-page-home) #ftco-navbar .navbar-toggler{color:rgba(255,255,255,.84)!important}
  body.nd-page:not(.nd-page-home) #ftco-navbar .navbar-toggler .oi{color:#7edfe8!important}
  body.nd-page:not(.nd-page-home) #ftco-nav .navbar-nav>.nav-item>.nav-link{color:rgba(245,252,255,.88)!important}
  body.nd-page:not(.nd-page-home) #ftco-nav .navbar-nav>.nav-item.active>.nav-link,
  body.nd-page:not(.nd-page-home) #ftco-nav .navbar-nav>.nav-item>.nav-link:hover,
  body.nd-page:not(.nd-page-home) #ftco-nav .navbar-nav>.nav-item>.nav-link:focus{color:#fff!important}
}

@media (max-width: 767.98px){
  body.nd-page:not(.nd-page-home) .home-slider,
  body.nd-page:not(.nd-page-home) .home-slider .owl-stage-outer,
  body.nd-page:not(.nd-page-home) .home-slider .owl-stage,
  body.nd-page:not(.nd-page-home) .home-slider .owl-item,
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item{
    min-height:390px!important;
    height:390px!important;
    margin:0!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item{
    position:relative!important;
    padding-top:0!important;
    background-size:cover!important;
    background-position:50% 12%!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item:after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,rgba(4,26,43,.10) 0%,rgba(4,31,50,.20) 38%,rgba(4,31,50,.70) 78%,rgba(4,27,45,.92) 100%),linear-gradient(90deg,rgba(4,29,47,.30),rgba(18,125,154,.14))!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .overlay{display:none!important}
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item>.container{
    position:relative!important;z-index:2!important;height:100%!important;padding-left:18px!important;padding-right:18px!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .slider-text{
    display:flex!important;align-items:flex-end!important;min-height:390px!important;height:390px!important;padding:0 0 38px!important;margin:0!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .slider-text>[class*="col-"]{
    flex:0 0 100%!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0 18px 0 0!important;transform:none!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .breadcrumbs{
    display:inline-flex!important;max-width:100%!important;align-items:center!important;gap:7px!important;margin:0 0 13px!important;padding:7px 11px!important;
    border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;background:rgba(6,36,56,.30)!important;box-shadow:none!important;
    -webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .breadcrumbs span,
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .breadcrumbs a{
    color:rgba(255,255,255,.88)!important;font-size:10px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:.04em!important;text-transform:uppercase!important;
  }
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item h1{
    max-width:340px!important;margin:0!important;color:#fff!important;font-size:clamp(32px,9.5vw,39px)!important;font-weight:780!important;line-height:1.04!important;
    letter-spacing:-.045em!important;text-shadow:0 5px 20px rgba(0,20,34,.36)!important;word-break:normal!important;overflow-wrap:normal!important;
  }
  body.nd-page:not(.nd-page-home) .nd-whatsapp-float,
  body.nd-page:not(.nd-page-home) .nd-whatsapp{right:12px!important;bottom:12px!important;width:50px!important;height:50px!important;z-index:10010!important}
}

@media (max-width: 420px){
  body.nd-page:not(.nd-page-home) .home-slider,
  body.nd-page:not(.nd-page-home) .home-slider .owl-stage-outer,
  body.nd-page:not(.nd-page-home) .home-slider .owl-stage,
  body.nd-page:not(.nd-page-home) .home-slider .owl-item,
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item,
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .slider-text{min-height:360px!important;height:360px!important}
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item{background-position:50% 10%!important}
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item .slider-text{padding-bottom:32px!important}
  body.nd-page:not(.nd-page-home) .home-slider .slider-item.bread-item h1{max-width:300px!important;font-size:33px!important}
}
