/* Bathroom Renovations is the approved source of truth for business dropdown states. */
@media (min-width: 769px) {
  html body .cat-bar .cat-item,
  html body:not(.page-scrolled) .cat-bar .cat-item,
  html body.page-scrolled .cat-bar .cat-item,
  html body .navbar.scrolled + .cat-bar .cat-item {
    position: relative !important;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease !important;
  }

  html body .cat-bar .cat-item:hover,
  html body .cat-bar .cat-item:focus-within,
  html body .cat-bar .cat-item:has(.cat-menu:hover),
  html body:not(.page-scrolled) .cat-bar .cat-item:hover,
  html body:not(.page-scrolled) .cat-bar .cat-item:focus-within,
  html body:not(.page-scrolled) .cat-bar .cat-item:has(.cat-menu:hover),
  html body.page-scrolled .cat-bar .cat-item:hover,
  html body.page-scrolled .cat-bar .cat-item:focus-within,
  html body.page-scrolled .cat-bar .cat-item:has(.cat-menu:hover),
  html body .navbar.scrolled + .cat-bar .cat-item:hover,
  html body .navbar.scrolled + .cat-bar .cat-item:focus-within,
  html body .navbar.scrolled + .cat-bar .cat-item:has(.cat-menu:hover) {
    background: #0B2236 !important;
    color: #fff !important;
    box-shadow: inset 0 4px 0 #C4933F !important;
  }

  html body .cat-bar .cat-item:hover > .cat-title-link,
  html body .cat-bar .cat-item:hover > .cat-title-link strong,
  html body .cat-bar .cat-item:focus-within > .cat-title-link,
  html body .cat-bar .cat-item:focus-within > .cat-title-link strong,
  html body .cat-bar .cat-item:has(.cat-menu:hover) > .cat-title-link,
  html body .cat-bar .cat-item:has(.cat-menu:hover) > .cat-title-link strong {
    color: #fff !important;
  }

  html body .cat-bar .cat-item:hover > .cat-arrow,
  html body .cat-bar .cat-item:focus-within > .cat-arrow,
  html body .cat-bar .cat-item:has(.cat-menu:hover) > .cat-arrow {
    color: #E7C478 !important;
    border-right-color: #E7C478 !important;
    border-bottom-color: #E7C478 !important;
    transform: rotate(225deg) !important;
    margin-top: 4px !important;
  }

  html body .cat-bar .cat-menu {
    padding: 14px !important;
    border-radius: 0 0 14px 14px !important;
  }

  html body .cat-bar .cat-menu a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 64px !important;
    padding: 13px 15px !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    color: #0B2236 !important;
    font-family: "Manrope", "Noto Sans SC", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
    white-space: nowrap !important;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
  }

  html body .cat-bar .cat-menu a + a {
    margin-top: 2px !important;
  }

  html body .cat-bar .dropdown-copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 4px !important;
  }

  html body .cat-bar .dropdown-copy strong {
    display: block !important;
    color: #0B2236 !important;
    font-family: "Manrope", "Noto Sans SC", Arial, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  html body .cat-bar .dropdown-arrow {
    flex: 0 0 auto !important;
    color: #C4933F !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    transform: none !important;
    transition: transform 0.18s ease !important;
  }

  html body .cat-bar .cat-menu a::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 3px !important;
    border-radius: 0 !important;
    background: #C4933F !important;
    opacity: 0 !important;
    transform: scaleY(0.62) !important;
    transform-origin: center !important;
    transition: opacity 0.18s ease, transform 0.18s ease !important;
    pointer-events: none !important;
  }

  html body .cat-bar .cat-menu a:hover,
  html body .cat-bar .cat-menu a:focus-visible,
  html body .cat-bar .cat-menu a.is-active,
  html body .cat-bar .cat-menu a[aria-current="page"] {
    background: rgba(196, 147, 63, 0.10) !important;
    color: #0B2236 !important;
    outline: none !important;
  }

  html body .cat-bar .cat-menu a:hover::before,
  html body .cat-bar .cat-menu a:focus-visible::before,
  html body .cat-bar .cat-menu a.is-active::before,
  html body .cat-bar .cat-menu a[aria-current="page"]::before {
    opacity: 1 !important;
    transform: scaleY(1) !important;
  }

  html body .cat-bar .cat-menu a:hover .dropdown-arrow,
  html body .cat-bar .cat-menu a:focus-visible .dropdown-arrow,
  html body .cat-bar .cat-menu a.is-active .dropdown-arrow,
  html body .cat-bar .cat-menu a[aria-current="page"] .dropdown-arrow {
    color: #C4933F !important;
    transform: none !important;
  }
}

/* Bathroom desktop dropdown geometry and open-state behaviour, shared sitewide. */
@media (min-width: 901px) {
  html body .cat-bar > .cat-item {
    position: relative !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 28px !important;
    gap: 10px !important;
    overflow: visible !important;
    font-family: "Manrope", "Noto Sans SC", Arial, sans-serif !important;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease !important;
  }

  html body .cat-bar > .cat-item::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    height: 14px !important;
    background: transparent !important;
    pointer-events: auto !important;
    z-index: 1399 !important;
  }

  html body .cat-bar > .cat-item > .cat-title-link,
  html body .cat-bar > .cat-item > .cat-title-link strong {
    font-family: "Manrope", "Noto Sans SC", Arial, sans-serif !important;
    font-size: 19px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body .cat-bar > .cat-item > .cat-arrow {
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 auto !important;
    margin-top: -4px !important;
    color: #C4933F !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) !important;
    transition: color 0.18s ease, transform 0.18s ease, margin-top 0.18s ease !important;
  }

  html body .cat-bar > .cat-item:hover,
  html body .cat-bar > .cat-item:focus-within,
  html body .cat-bar > .cat-item:has(> .cat-menu:hover) {
    background: #0B2236 !important;
    color: #C6AC6E !important;
    box-shadow: inset 0 4px 0 #C4933F !important;
  }

  html body .cat-bar > .cat-item:hover > .cat-title-link,
  html body .cat-bar > .cat-item:hover > .cat-title-link strong,
  html body .cat-bar > .cat-item:focus-within > .cat-title-link,
  html body .cat-bar > .cat-item:focus-within > .cat-title-link strong,
  html body .cat-bar > .cat-item:has(> .cat-menu:hover) > .cat-title-link,
  html body .cat-bar > .cat-item:has(> .cat-menu:hover) > .cat-title-link strong {
    color: #C6AC6E !important;
  }

  html body .cat-bar > .cat-item:hover > .cat-arrow,
  html body .cat-bar > .cat-item:focus-within > .cat-arrow,
  html body .cat-bar > .cat-item:has(> .cat-menu:hover) > .cat-arrow {
    color: #C6AC6E !important;
    border-right-color: #C6AC6E !important;
    border-bottom-color: #C6AC6E !important;
    transform: rotate(225deg) !important;
    margin-top: 4px !important;
  }

  html body .cat-bar > .cat-item > .cat-menu {
    display: block !important;
    box-sizing: border-box !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    width: 390px !important;
    min-width: 390px !important;
    max-width: min(390px, calc(100vw - 40px)) !important;
    padding: 14px !important;
    overflow: visible !important;
    background: #fff !important;
    color: #0B2236 !important;
    border: 0 !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 18px 40px rgba(7, 24, 38, 0.16) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(8px) !important;
    transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease !important;
    z-index: 1400 !important;
  }

  html body .cat-bar > .cat-item:hover > .cat-menu,
  html body .cat-bar > .cat-item:focus-within > .cat-menu,
  html body .cat-bar > .cat-item > .cat-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
  }
}

/* Keep the mobile Services drawer taxonomy aligned with the homepage. */
@media (max-width: 900px) {
  html body.mobile-open .nav-services-mobile,
  html body .nav-links.open .nav-services-mobile {
    display: block !important;
  }

  html body.mobile-open .nav-services-mobile > .dropdown,
  html body .nav-links.open .nav-services-mobile > .dropdown {
    position: static !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 0 8px 16px !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.mobile-open .nav-services-mobile > .dropdown a,
  html body .nav-links.open .nav-services-mobile > .dropdown a {
    display: block !important;
    padding: 8px 0 !important;
    color: rgba(255, 255, 255, 0.74) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  html body .cat-bar > .cat-item:first-child > .cat-menu {
    left: 0 !important;
    right: auto !important;
    transform: translateX(0) translateY(8px) !important;
  }

  html body .cat-bar > .cat-item:last-child > .cat-menu {
    left: auto !important;
    right: 0 !important;
    transform: translateX(0) translateY(8px) !important;
  }

  html body .cat-bar > .cat-item:first-child:hover > .cat-menu,
  html body .cat-bar > .cat-item:first-child:focus-within > .cat-menu,
  html body .cat-bar > .cat-item:first-child > .cat-menu:hover,
  html body .cat-bar > .cat-item:last-child:hover > .cat-menu,
  html body .cat-bar > .cat-item:last-child:focus-within > .cat-menu,
  html body .cat-bar > .cat-item:last-child > .cat-menu:hover {
    transform: translateX(0) translateY(0) !important;
  }
}

/* Shared Header brand lockup parity: match the approved homepage DK Residential mark. */
html body .navbar .logo,
html body .navbar .logo.logo-hi,
html body:not(.page-scrolled) .navbar .logo,
html body:not(.page-scrolled) .navbar .logo.logo-hi,
html body.page-scrolled .navbar .logo,
html body.page-scrolled .navbar .logo.logo-hi,
html body .navbar.scrolled .logo,
html body .navbar.scrolled .logo.logo-hi {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  height: 100% !important;
  text-decoration: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  overflow: visible !important;
}

html body .navbar .logo img,
html body .navbar .logo.logo-hi .dk-mark-img,
html body:not(.page-scrolled) .navbar .logo img,
html body.page-scrolled .navbar .logo img,
html body .navbar.scrolled .logo img {
  width: 124px !important;
  height: 76px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

html body .navbar .logo span,
html body .navbar .logo .logo-hi-text,
html body .navbar .logo.logo-hi .logo-hi-text {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  width: auto !important;
  line-height: 1 !important;
  margin: 0 !important;
  transform: none !important;
}

html body .navbar .logo strong,
html body .navbar .logo span strong,
html body .navbar .logo.logo-hi .logo-hi-text strong,
html body:not(.page-scrolled) .navbar .logo strong,
html body.page-scrolled .navbar .logo strong,
html body .navbar.scrolled .logo strong {
  display: block !important;
  color: #C4933F !important;
  font-family: "Cinzel", Georgia, serif !important;
  font-size: 20.9px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .015em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  transform: none !important;
}

html body .navbar .logo:hover strong,
html body .navbar .logo:focus-visible strong,
html body .navbar .logo:active strong,
html body .navbar .logo.logo-hi:hover .logo-hi-text strong,
html body .navbar .logo.logo-hi:focus-visible .logo-hi-text strong,
html body .navbar .logo.logo-hi:active .logo-hi-text strong {
  color: rgba(255, 252, 244, .94) !important;
}

@media (min-width: 1500px) {
  html body .navbar .logo strong,
  html body .navbar .logo span strong,
  html body .navbar .logo.logo-hi .logo-hi-text strong {
    font-size: 28.5px !important;
  }
}

@media (max-width: 1024px) {
  html body .navbar .logo strong,
  html body .navbar .logo span strong,
  html body .navbar .logo.logo-hi .logo-hi-text strong {
    font-size: 17.1px !important;
  }
}

@media (max-width: 900px) {
  html body .navbar .logo img,
  html body .navbar .logo.logo-hi .dk-mark-img,
  html body:not(.page-scrolled) .navbar .logo img,
  html body.page-scrolled .navbar .logo img,
  html body .navbar.scrolled .logo img {
    width: 72px !important;
    height: auto !important;
    max-height: none !important;
  }

  html body .navbar .logo strong,
  html body .navbar .logo span strong,
  html body .navbar .logo.logo-hi .logo-hi-text strong,
  html body:not(.page-scrolled) .navbar .logo strong,
  html body.page-scrolled .navbar .logo strong,
  html body .navbar.scrolled .logo strong {
    font-size: 25.65px !important;
  }
}

@media (max-width: 640px) {
  html body .navbar .logo img,
  html body .navbar .logo.logo-hi .dk-mark-img,
  html body:not(.page-scrolled) .navbar .logo img,
  html body.page-scrolled .navbar .logo img,
  html body .navbar.scrolled .logo img {
    width: 58px !important;
    height: auto !important;
    max-height: none !important;
  }

  html body .navbar .logo strong,
  html body .navbar .logo span strong,
  html body .navbar .logo.logo-hi .logo-hi-text strong,
  html body:not(.page-scrolled) .navbar .logo strong,
  html body.page-scrolled .navbar .logo strong,
  html body .navbar.scrolled .logo strong {
    font-size: 16.15px !important;
  }
}
