/* R.K Pawle & Associates — final production UI consistency layer */

/* Navigation: Knowledge Center must be visually identical to other top-level links. */
#site-header .nav-links > a,
#site-header .nav-links .nav-dropdown-toggle{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-family:"Inter",sans-serif !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
  color:var(--muted,#8899aa) !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  padding:8px !important;
  margin:0 !important;
  min-height:0 !important;
}
#site-header .nav-links > a:hover,
#site-header .nav-links > a:focus-visible,
#site-header .nav-dropdown-toggle:hover,
#site-header .nav-dropdown-toggle:focus-visible{
  color:var(--gold,#0EA5E9) !important;
}
#site-header .nav-dropdown{
  display:flex !important;
  align-items:center !important;
  position:relative !important;
}
#site-header .nav-dropdown-toggle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
}

/* Floating contact stack: reserve a real mobile-safe zone above the bottom content. */
.contact-float{
  position:fixed !important;
  right:24px !important;
  left:auto !important;
  bottom:24px !important;
  z-index:10050 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:12px !important;
  pointer-events:none !important;
}
.contact-float > a{
  pointer-events:auto !important;
  flex:0 0 auto !important;
}

/* Never let floating actions sit on top of the open mobile navigation. */
body.menu-open .contact-float,
body.menu-open #rkBackToTop{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(8px) scale(.96) !important;
}

/* Keep the back-to-top control above the contact stack, without collision. */
#rkBackToTop{z-index:10049 !important;}

@media (max-width:768px){
  :root{--rk-mobile-bottom-clearance:78px;}

  #site-header .nav-links > a,
  #site-header .nav-links .nav-dropdown-toggle{
    font-family:"Inter",sans-serif !important;
    font-size:14px !important;
    font-weight:500 !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
  }

  #site-header .nav-dropdown-toggle{
    width:100% !important;
    min-height:46px !important;
    justify-content:center !important;
    padding:12px 14px !important;
  }

  /* The bottom trust/footer area needs its own visual breathing room. */
  .contact-float{
    right:14px !important;
    bottom:calc(var(--rk-mobile-bottom-clearance) + env(safe-area-inset-bottom, 0px)) !important;
    gap:12px !important;
  }

  .contact-float .call,
  .contact-float .whatsapp{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
  }

  #rkBackToTop{
    right:14px !important;
    bottom:calc(220px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width:420px){
  .contact-float{
    right:12px !important;
    bottom:calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .contact-float .call,
  .contact-float .whatsapp{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
  }
  #rkBackToTop{
    right:12px !important;
    bottom:calc(205px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .contact-float .call,
  .contact-float .whatsapp{
    animation:none !important;
  }
}


/* Smooth Day/Dark theme transition */
html.theme-transition, html.theme-transition body, html.theme-transition * {
  transition-property: background-color, color, border-color, box-shadow, fill, stroke, opacity;
  transition-duration: 420ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
html.theme-transition img, html.theme-transition video, html.theme-transition canvas, html.theme-transition iframe {
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html.theme-transition, html.theme-transition body, html.theme-transition * { transition-duration: 0ms !important; }
}
