/**
 * VexaCare — responsive overrides for smartphones and small tablets.
 * Loaded after theme styles on all layouts.
 */
:root {
  --vex-nav-offset: 5rem;
  --vex-nav-offset-md: 5.5rem;
  --vex-safe-top: env(safe-area-inset-top, 0px);
  --vex-safe-bottom: env(safe-area-inset-bottom, 0px);
  --vex-safe-left: env(safe-area-inset-left, 0px);
  --vex-safe-right: env(safe-area-inset-right, 0px);
}

/* ── Global ─────────────────────────────────────────────────────────────── */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.homepage-body,
.sb-nav-fixed {
  overflow-x: clip;
  max-width: 100vw;
}

.homepage-body img:not(.vexy-logo),
.homepage-body video,
.homepage-body svg:not([class*="w-"]) {
  max-width: 100%;
  height: auto;
}

/* Vexy: keep the chat inside the viewport and stop global img rules from stretching logos */
.doctor-assistant-panel {
  position: absolute !important;
  right: 0 !important;
  bottom: calc(100% + 0.75rem) !important;
  left: auto !important;
  top: auto !important;
  z-index: 70 !important;
  width: min(22.5rem, calc(100vw - 2rem)) !important;
  height: min(34rem, calc(100dvh - 9rem)) !important;
  max-height: calc(100dvh - 9rem) !important;
  display: none !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.doctor-assistant-panel.is-open {
  display: flex !important;
}

.doctor-assistant-header-brand,
.doctor-assistant-header-copy {
  min-width: 0;
}

.doctor-assistant-title {
  white-space: normal;
  word-break: normal;
}

@media (max-width: 639px) {
  .doctor-assistant-panel {
    position: fixed !important;
    right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
    left: max(0.75rem, env(safe-area-inset-left, 0px)) !important;
    top: calc(5.25rem + var(--vex-safe-top)) !important;
    bottom: calc(8.75rem + var(--vex-safe-bottom)) !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
  }
}

.doctor-assistant-fab {
  perspective: 320px;
}

.homepage-body img.vexy-logo-fab {
  width: 3.25rem;
  height: 3.25rem;
  max-width: 3.25rem;
  transform-origin: center center;
  animation: vexy-turn 3.6s linear infinite;
}

@keyframes vexy-turn {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-body img.vexy-logo-fab {
    animation: none;
  }
}

.homepage-body img.vexy-logo-header {
  width: 2.5rem;
  height: 2.5rem;
  max-width: 2.5rem;
}

.homepage-body img.vexy-logo-msg {
  width: 1.75rem;
  height: 1.75rem;
  max-width: 1.75rem;
}

.homepage-body img.vexy-logo-wordmark {
  width: 8.5rem;
  max-width: 8.5rem;
  height: auto;
}

/* iOS: avoid zoom on focus */
@media (max-width: 767px) {
  .homepage-body input:not([type="checkbox"]):not([type="radio"]),
  .homepage-body select,
  .homepage-body textarea,
  .homepage-body .input {
    font-size: 16px !important;
  }
}

/* ── Homepage: page header offset (fixed navbar) ────────────────────────── */
@media (max-width: 767px) {
  .homepage-body section.pt-32 {
    padding-top: calc(var(--vex-nav-offset-md) + var(--vex-safe-top)) !important;
  }

  .homepage-body section.pt-28 {
    padding-top: calc(var(--vex-nav-offset) + var(--vex-safe-top)) !important;
  }

  .homepage-body section.pt-24 {
    padding-top: calc(4.5rem + var(--vex-safe-top)) !important;
  }

  .homepage-body .doctor-patient-hero.pt-28 {
    padding-top: calc(var(--vex-nav-offset) + var(--vex-safe-top)) !important;
  }
}

/* ── Containers & typography ────────────────────────────────────────────── */
@media (max-width: 639px) {
  .homepage-body .container {
    padding-left: max(1rem, var(--vex-safe-left));
    padding-right: max(1rem, var(--vex-safe-right));
  }

  .homepage-body h1.text-4xl,
  .homepage-body h1.text-5xl,
  .homepage-body h1[class*="text-4xl"],
  .homepage-body h1[class*="text-5xl"] {
    font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
    line-height: 1.2;
  }

  .homepage-body h2.text-3xl,
  .homepage-body h2.text-4xl {
    font-size: clamp(1.375rem, 5.5vw, 1.875rem) !important;
  }

  .homepage-body .text-3xl:not(h1):not(h2) {
    font-size: clamp(1.25rem, 4.5vw, 1.5rem);
  }
}

/* ── Touch targets ──────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .homepage-body .btn:not(.btn-xs):not(.btn-sm):not(.btn-circle) {
    min-height: 2.75rem;
  }

  .homepage-body .menu a,
  .homepage-body .menu button {
    min-height: 2.75rem;
  }

  .homepage-body .nav-icon-btn {
    min-width: 2.75rem;
    min-height: 2.75rem;
  }
}

/* ── Tables: smooth horizontal scroll ─────────────────────────────────── */
.homepage-body .overflow-x-auto {
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
  .homepage-body .overflow-x-auto {
    margin-inline: -0.25rem;
    padding-inline: 0.25rem;
  }

  .homepage-body table.min-w-\[700px\],
  .homepage-body table.min-w-\[640px\],
  .homepage-body table.min-w-\[600px\] {
    font-size: 0.8125rem;
  }
}

/* ── Partner / doctor tab bars ──────────────────────────────────────────── */
.partner-tab-bar {
  flex-wrap: nowrap !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  padding-bottom: 0.25rem;
}

.partner-tab-bar::-webkit-scrollbar {
  display: none;
}

.partner-tab-bar .btn,
.partner-tab-bar .partner-tab {
  flex-shrink: 0;
  white-space: nowrap;
}

/* ── Doctor patient command nav (collapsible on mobile) ─────────────────── */
.doctor-patient-nav > summary {
  list-style: none;
}

.doctor-patient-nav > summary::-webkit-details-marker {
  display: none;
}

.doctor-patient-nav > summary .doctor-patient-nav-chevron {
  transition: transform 0.2s ease;
}

.doctor-patient-nav[open] > summary .doctor-patient-nav-chevron {
  transform: rotate(180deg);
}

@media (min-width: 1024px) {
  .doctor-patient-nav > summary {
    display: none;
  }

  .doctor-patient-nav .doctor-patient-nav-panel {
    border-top: none !important;
  }
}

@media (max-width: 1023px) {
  .doctor-patient-nav .doctor-patient-nav-panel {
    max-height: min(70vh, 28rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ── Vexy + WhatsApp dock ───────────────────────────────────────────────── */
.vex-help-dock {
  position: fixed;
  z-index: 70;
  right: calc(1.25rem + var(--vex-safe-right));
  bottom: calc(1.25rem + var(--vex-safe-bottom));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.65rem;
}

.vex-help-dock .doctor-assistant-root,
.vex-help-dock #prospect-assistant-root {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
}

.vex-help-dock--vexy .doctor-assistant-fab {
  width: 3.25rem;
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: transparent;
  box-shadow: none;
}

.vex-help-choices {
  position: absolute;
  right: 0;
  bottom: 100%;
  padding-bottom: 0.55rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 0.2s ease 0.25s, transform 0.2s ease 0.25s;
}

.vex-help-dock--vexy:hover .vex-help-choices,
.vex-help-dock--vexy:focus-within .vex-help-choices,
.vex-help-dock--vexy.is-armed .vex-help-choices {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  transition-delay: 0s;
}

.vex-help-dock--vexy:has(.doctor-assistant-panel.is-open) .vex-help-choices {
  opacity: 0;
  pointer-events: none;
  transition-delay: 0s;
}

.vex-help-msg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 0.15rem 0.1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #247B76;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
  cursor: pointer;
}

.vex-help-msg:hover {
  color: #34B2AC;
}

.vex-help-msg-wa {
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0.1rem;
  background: transparent;
  color: #25d366;
  font-size: 1.05rem;
  letter-spacing: 0;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.vex-help-msg-wa:hover {
  color: #2E7D32;
}

.vex-whatsapp-fab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem;
  background: transparent;
  color: #25d366;
  font-size: 2.15rem;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  border-radius: 0;
}

.vex-whatsapp-fab i {
  line-height: 1;
}

.vex-whatsapp-fab:hover {
  color: #2E7D32;
  background: transparent;
}

.vex-help-dock:not(.vex-help-dock--vexy) .vex-whatsapp-fab {
  position: static;
}

body:has(#language-proposal-banner) .vex-help-dock {
  bottom: calc(6.5rem + var(--vex-safe-bottom));
}

@media (max-width: 639px) {
  body:has(#language-proposal-banner) .doctor-assistant-panel {
    bottom: calc(14rem + var(--vex-safe-bottom)) !important;
  }
}

/* ── Language proposal banner ───────────────────────────────────────────── */
#language-proposal-banner {
  padding-bottom: calc(0.75rem + var(--vex-safe-bottom));
}

body:has(#language-proposal-banner) .homepage-body,
body:has(#language-proposal-banner) {
  scroll-padding-bottom: calc(7rem + var(--vex-safe-bottom));
}

/* ── Cart / checkout page headers ───────────────────────────────────────── */
@media (max-width: 639px) {
  .homepage-body section.pt-32 .flex.items-center.justify-between {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 1rem;
  }

  .homepage-body section.pt-32 .flex.items-center.justify-between .btn,
  .homepage-body section.pt-32 .flex.items-center.justify-between button {
    width: 100%;
    justify-content: center;
  }
}

/* Toast notifications (cart etc.) */
@media (max-width: 639px) {
  .toast-notification {
    top: calc(var(--vex-nav-offset-md) + var(--vex-safe-top) + 0.5rem) !important;
    right: max(0.75rem, var(--vex-safe-right)) !important;
    left: max(0.75rem, var(--vex-safe-left)) !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* ── Modals & dialogs ───────────────────────────────────────────────────── */
@media (max-width: 639px) {
  .homepage-body .modal-box,
  .homepage-body dialog .modal-box {
    width: calc(100vw - 2rem);
    max-width: none;
    margin-inline: 1rem;
  }

  .confirm-modal {
    width: calc(100vw - 2rem) !important;
    max-width: none !important;
    padding: 1.5rem 1.25rem !important;
  }
}

/* ── Footer spacer ──────────────────────────────────────────────────────── */
.vex-footer-spacer {
  padding-top: 6rem;
}

@media (min-width: 768px) {
  .vex-footer-spacer {
    padding-top: 8rem;
  }
}

@media (min-width: 1024px) {
  .vex-footer-spacer {
    padding-top: 10rem;
  }
}

@media (max-width: 639px) {
  footer .grid.md\:grid-cols-2 {
    gap: 2.5rem !important;
  }

  footer h2.text-4xl,
  footer h2.text-5xl {
    font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
  }
}

/* ── Legacy _Layout (Bootstrap theme) ───────────────────────────────────── */
@media (max-width: 767px) {
  .common-page-heading {
    padding-top: calc(5.5rem + var(--vex-safe-top)) !important;
    padding-bottom: 2.5rem !important;
  }

  .navbar_logo {
    max-width: none !important;
    width: auto !important;
    height: auto !important;
  }

  .container,
  .container-fluid {
    padding-left: max(0.875rem, var(--vex-safe-left));
    padding-right: max(0.875rem, var(--vex-safe-right));
  }

  .table-responsive {
    -webkit-overflow-scrolling: touch;
  }
}

/* ── Admin dashboard (SB Admin) ───────────────────────────────────────── */
@media (max-width: 767px) {
  #layoutSidenav_content main {
    padding-top: 0.5rem !important;
  }

  #layoutSidenav_content .container-fluid {
    padding-left: max(0.75rem, var(--vex-safe-left));
    padding-right: max(0.75rem, var(--vex-safe-right));
  }

  #layoutSidenav_content .card-body {
    padding: 0.875rem;
  }

  #layoutSidenav_content table {
    font-size: 0.8125rem;
  }

  #layoutSidenav_content .table-responsive {
    -webkit-overflow-scrolling: touch;
    margin-bottom: 0;
  }

  #layoutSidenav_content .dropdown-menu {
    max-width: min(calc(100vw - 2rem), 22rem);
  }

  #layoutSidenav_content .btn-group .btn {
    padding: 0.375rem 0.625rem;
    font-size: 0.8125rem;
  }

  #layoutSidenav_content h1,
  #layoutSidenav_content .h1 {
    font-size: 1.375rem;
  }

  #layoutSidenav_content .d-flex.justify-content-between.align-items-center {
    flex-wrap: wrap;
    gap: 0.75rem;
  }
}

@media (max-width: 575px) {
  #layoutSidenav_content footer .d-flex.justify-content-between {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.5rem;
  }
}

/* ── Readability pass: global nav, sidebar, copy (mobile / small tablet) ─── */
@media (max-width: 1023px) {
  #homepage-nav {
    opacity: 1 !important;
    transform: none !important;
    overflow: visible;
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 1px 10px rgba(15, 23, 42, 0.08);
    padding-top: max(0.65rem, var(--vex-safe-top));
  }

  #homepage-nav.homepage-nav--animate-in {
    opacity: 1 !important;
    transform: none !important;
  }

  #homepage-nav .nav-link-color {
    color: rgba(17, 24, 39, 0.88) !important;
    text-shadow: none !important;
  }

  #homepage-nav .nav-hamburger-btn {
    display: inline-flex !important;
  }

  #homepage-nav #nav-mobile-menu {
    max-height: min(70vh, 28rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
  }

  /* Open panel: always dark text on white (fixes invisible links on light pages) */
  #homepage-nav #nav-mobile-menu:not(.hidden),
  #homepage-nav.nav-mobile-open #nav-mobile-menu {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0 0 1rem 1rem;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.14);
    padding: 0.65rem 0.35rem 1rem;
    margin-top: 0.75rem;
  }

  #homepage-nav #nav-mobile-menu:not(.hidden) a,
  #homepage-nav #nav-mobile-menu:not(.hidden) p,
  #homepage-nav #nav-mobile-menu:not(.hidden) button,
  #homepage-nav.nav-mobile-open #nav-mobile-menu a,
  #homepage-nav.nav-mobile-open #nav-mobile-menu p,
  #homepage-nav.nav-mobile-open #nav-mobile-menu button {
    color: rgba(17, 24, 39, 0.92) !important;
    text-shadow: none !important;
    opacity: 1 !important;
  }

  #homepage-nav .nav-mobile-menu-utilities {
    padding-bottom: 0.25rem;
  }

  #homepage-nav #nav-mobile-menu:not(.hidden) p {
    color: rgba(17, 24, 39, 0.55) !important;
  }

  #homepage-nav.nav-mobile-open {
    background: rgba(255, 255, 255, 0.98) !important;
    overflow: visible;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.08);
  }

  #homepage-nav.nav-mobile-open .nav-link-color {
    color: rgba(17, 24, 39, 0.88) !important;
    text-shadow: none !important;
  }

  #homepage-nav.nav-mobile-open .nav-link-color svg {
    filter: none !important;
  }

  #homepage-nav.nav-mobile-open .nav-pill {
    background: var(--nav-pill-bg, #247B76);
    border-color: transparent;
    color: #fff !important;
    text-shadow: none;
  }

  #homepage-nav #nav-mobile-menu:not(.hidden) a.nav-mobile-lang,
  #homepage-nav.nav-mobile-open #nav-mobile-menu a.nav-mobile-lang {
    color: rgba(17, 24, 39, 0.72) !important;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  #homepage-nav #nav-mobile-menu:not(.hidden) a.nav-login,
  #homepage-nav.nav-mobile-open #nav-mobile-menu a.nav-login {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    margin-top: 12px;
    padding: 10px 20px;
    border: 1px solid #34B2AC;
    border-radius: 999px;
    background: #fff;
    color: #247B76 !important;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.1;
    text-transform: uppercase;
    text-shadow: none;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
  }

  #homepage-nav #nav-mobile-menu:not(.hidden) a.nav-login:hover,
  #homepage-nav.nav-mobile-open #nav-mobile-menu a.nav-login:hover {
    background: #34B2AC;
    border-color: #34B2AC;
    color: #172126 !important;
  }

  #homepage-nav #nav-mobile-menu a.nav-login:focus-visible {
    outline: 2px solid #247B76;
    outline-offset: 3px;
  }

  #homepage-nav #nav-mobile-menu a {
    font-size: 1rem;
    line-height: 1.45;
    white-space: normal;
    word-break: break-word;
    min-height: 2.75rem;
    opacity: 1;
  }

  #homepage-nav #nav-mobile-menu p {
    font-size: 0.8125rem;
    line-height: 1.4;
    letter-spacing: 0.06em;
    opacity: 0.72;
  }

  #homepage-nav.nav-scrolled #nav-mobile-menu a {
    color: rgba(17, 24, 39, 0.92);
  }

  #homepage-nav .nav-pill {
    max-width: none;
    font-size: 0.875rem !important;
    letter-spacing: 0.06em;
    padding-inline: 1rem;
  }

  #homepage-nav .nav-lang-btn {
    font-size: 0.875rem;
  }
}

/* Desktop inner pages: same solid nav as mobile (light headers, no dark hero). */
@media (min-width: 1024px) {
  /* Beat unlayered .hidden from embed CSS (e.g. capitale biologico). */
  #homepage-nav .nav-desktop,
  #homepage-nav .nav-actions-group {
    display: flex !important;
  }

  body.has-solid-nav #homepage-nav {
    opacity: 1 !important;
    transform: none !important;
    overflow: visible;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.07);
  }

  body.has-solid-nav #homepage-nav .nav-link-color {
    color: rgba(17, 24, 39, 0.72) !important;
    text-shadow: none !important;
  }

  body.has-solid-nav #homepage-nav .nav-link-color svg {
    filter: none !important;
  }

  body.has-solid-nav #homepage-nav .nav-pill {
    background: var(--nav-pill-bg, #247B76);
    border-color: transparent;
    color: #fff !important;
    text-shadow: none;
  }
}

@media (max-width: 991.98px) {
  .sb-nav-fixed #layoutSidenav #layoutSidenav_content {
    padding-left: 0 !important;
  }

  #layoutSidenav_nav .sb-sidenav-menu .nav .nav-link {
    font-size: 0.9375rem;
    line-height: 1.45;
    min-height: 2.75rem;
  }

  #layoutSidenav_nav .sb-sidenav-menu-nested .nav-link {
    font-size: 0.9375rem;
    line-height: 1.45;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  #layoutSidenav_nav .sb-sidenav-menu-heading {
    font-size: 0.8125rem;
    line-height: 1.35;
    letter-spacing: 0.05em;
  }

  .sb-topnav .navbar-brand {
    font-size: 1rem;
    line-height: 1.3;
    max-width: min(12rem, 42vw);
    white-space: normal;
  }

  .sb-topnav .navbar-nav .dropdown-menu {
    width: min(calc(100vw - 2rem), 22rem) !important;
    max-width: min(calc(100vw - 2rem), 22rem) !important;
    font-size: 0.9375rem;
    line-height: 1.45;
  }

  .sb-topnav .dropdown-item {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    white-space: normal;
    word-break: break-word;
  }

  #layoutSidenav_content main,
  #layoutSidenav_content .container-fluid {
    font-size: 1rem;
    line-height: 1.65;
  }

  #layoutSidenav_content .card-header {
    font-size: 1rem;
    line-height: 1.4;
  }
}

@media (max-width: 1023px) {
  .doctor-patient-nav > summary {
    font-size: 0.9375rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }

  .doctor-patient-nav .menu :is(a, button) {
    font-size: 1rem;
    line-height: 1.45;
    white-space: normal;
    word-break: break-word;
  }

  .partner-tab-bar .btn,
  .partner-tab-bar .partner-tab {
    font-size: 0.9375rem;
    line-height: 1.35;
    padding-inline: 0.875rem;
  }
}

@media (max-width: 1199px) {
  nav.navbar {
    overflow: visible;
  }

  nav.navbar .nav-inner {
    position: relative;
    flex-wrap: nowrap;
    gap: 0.5rem;
  }

  nav.navbar .hamburger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: 0.75rem;
    background: #fff;
    cursor: pointer;
    z-index: 2;
  }

  nav.navbar #nav-links {
    width: 100%;
    margin: 0;
    padding-left: max(0.75rem, var(--vex-safe-left));
    padding-right: max(0.75rem, var(--vex-safe-right));
    overflow: hidden;
  }

  nav.navbar #nav-links.active {
    max-height: min(75vh, 36rem) !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  nav.navbar #nav-links li {
    width: 100%;
  }

  nav.navbar #nav-links a {
    display: block;
    width: 100%;
    color: rgba(17, 24, 39, 0.92) !important;
    border-bottom: none;
    padding-block: 0.75rem;
  }

  nav.navbar .tm-dropdown-menu {
    position: static;
    display: none;
    box-shadow: none;
    border: none;
    padding-left: 0.75rem;
  }

  nav.navbar .tm-dropdown.active .tm-dropdown-menu {
    display: block;
  }
}

@media (max-width: 767px) {
  .navbar .nav-links a,
  .navbar #nav-links a {
    font-size: 1rem;
    line-height: 1.5;
    padding-block: 0.65rem;
    white-space: normal;
  }

  main#main {
    font-size: 1rem;
    line-height: 1.65;
  }

  #layoutSidenav_content table {
    font-size: 0.875rem;
    line-height: 1.45;
  }

  #layoutSidenav_content .small,
  #layoutSidenav_content small {
    font-size: 0.875rem;
    line-height: 1.45;
  }
}

/* Legacy navbar: the bundled stylesheet still sizes the old wide mark. */
.navbar_logo {
  width: auto;
  max-width: none;
  display: flex;
  align-items: center;
  line-height: 0;
}

.footer-logo {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}
