/* One shared corner radius for interactive buttons on every page. */
:root { --button-radius: 12px; }
body button,
body input:is([type="button"], [type="submit"], [type="reset"]),
body .btn,
body [role="button"],
body .floating-wa,
body .footer-social-btn,
body .social-links a,
body .services-dropdown > summary,
body .services-submenu a {
  border-radius: var(--button-radius) !important;
}

/* Shared navbar control dimensions, independent of page templates. */
:root { --nav-control-height: 44px; --nav-menu-row-height: 48px; }
body > :is(#header, header) :is(.mobile-toggle, .qt-mobile-toggle) {
  box-sizing: border-box;
  width: var(--nav-control-height) !important;
  height: var(--nav-control-height) !important;
  min-width: var(--nav-control-height) !important;
  min-height: var(--nav-control-height) !important;
  flex: 0 0 var(--nav-control-height) !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
  font-size: 22px !important;
  line-height: 1 !important;
}
body > :is(#header, header) .mobile-toggle i { font-size: 22px !important; line-height: 1 !important; }
body > :is(#header, header) :is(.btn, #navBookBtn) {
  box-sizing: border-box;
  height: var(--nav-control-height) !important;
  min-height: var(--nav-control-height) !important;
  min-width: 120px;
  padding: 0 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  align-items: center;
  justify-content: center;
}
body > :is(#header, header) .language-toggle {
  box-sizing: border-box;
  height: var(--nav-control-height) !important;
  min-height: var(--nav-control-height) !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  line-height: 20px !important;
}
@media (min-width: 1025px) {
  body > :is(#header, header) :is(.nav-link, .services-dropdown > summary) {
    box-sizing: border-box; height: 44px; min-height: 44px;
    padding: 10px 9px !important; font-size: 13px !important;
    font-weight: 600 !important; line-height: 24px !important;
  }
}
@media (max-width: 1024px) {
  body > :is(#header, header) :is(.mobile-toggle, .qt-mobile-toggle) { display: inline-flex !important; }
  body > :is(#header, header) nav.qt-mobile-nav :is(a, .services-dropdown > summary, .language-toggle) {
    box-sizing: border-box;
    height: auto !important;
    min-height: var(--nav-menu-row-height) !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
  }
  body > :is(#header, header) nav.qt-mobile-nav .services-submenu a { min-height: var(--nav-menu-row-height) !important; }
}

/* Keep desktop active underlines separate from mobile navigation arrows. */
@media (min-width: 1025px) {
  body > :is(#header, header) nav a.nav-link { position: relative; text-decoration: none; }
  body > :is(#header, header) nav a.nav-link::after {
    content: ""; display: block; position: absolute;
    top: auto; bottom: 3px; left: 9px; right: 9px;
    width: auto; height: 2px; margin: 0; padding: 0; border: 0;
    border-radius: 2px; background: #02A8D4; box-shadow: none;
    transform: scaleX(0); transform-origin: center;
    transition: transform .2s ease; pointer-events: none;
  }
  body > :is(#header, header) nav a.nav-link:is(.active, [aria-current="page"], :hover, :focus-visible)::after {
    width: auto; transform: scaleX(1);
  }
}
@media (max-width: 1024px) {
  body > :is(#header, header) nav.qt-mobile-nav a.nav-link::after {
    position: static !important; inset: auto !important; margin: 0 0 0 12px !important;
    flex: 0 0 28px; width: 28px !important; height: 28px !important;
    transform: none !important; border: 0; box-shadow: none;
  }
  body > :is(#header, header) nav.qt-mobile-nav .services-submenu a::after { display: none !important; }
}

/* Blog menu indicators should not render as a pale square on mobile. */
@media (max-width: 1024px) {
  body > :is(#header, header) nav.qt-mobile-nav a[href$="blog.html"]::after {
    color: #07576C !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}
