/* IGBSSaaS mobile navigation refinements — isolated from desktop layout. */
@media (max-width: 1199px) {
  .hd {
    position: fixed !important;
    inset: 0 0 auto 0;
    z-index: 1200;
    background: rgba(255,255,255,.97);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 8px 26px rgba(16,29,44,.08);
  }
  [data-theme="dark"] .hd { background: rgba(16,24,36,.97); }
  .hd__bar { display: none !important; }
  .hd__main {
    height: 76px !important;
    min-height: 76px;
    margin: 0 !important;
    padding: 10px 20px;
    align-items: center !important;
    gap: 12px;
  }
  .hd__logo, .hd__acts { position: relative; z-index: 1202 !important; }
  .hd__logo { display: flex; align-items: center; min-width: 0; }
  .hd__logo .logo { display: block; width: auto; max-width: min(48vw, 190px); height: 44px !important; object-fit: contain; }
  .hd__acts { gap: 9px; flex: 0 0 auto; align-items: center; }
  .hd__burger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    padding: 0;
    border: 1px solid rgba(23,32,51,.18);
    border-radius: 50%;
    background: #fff;
    color: #172033;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  [data-theme="dark"] .hd__burger { background: #172033; color: #fff; border-color: rgba(255,255,255,.2); }
  .hd__burger svg { pointer-events: none; }
  .nav {
    display: none;
    position: fixed !important;
    inset: 76px 0 0 !important;
    z-index: 1201 !important;
    width: 100%;
    height: calc(100dvh - 76px);
    max-height: calc(100vh - 76px);
    padding: 12px 22px max(28px, env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    transform: none !important;
    background: #fff;
  }
  [data-theme="dark"] .nav { background: #101824; }
  .is-menu .nav { display: block !important; }
  .is-menu body { overflow: hidden !important; }
  .nav__list { width: 100%; max-width: 680px; margin: 0 auto; padding: 0 0 28px; }
  .nav__item { width: 100%; }
  .nav__btn {
    min-height: 56px;
    height: auto !important;
    padding: 13px 4px !important;
    font-size: 16px !important;
    line-height: 1.35;
    text-align: left;
    border-bottom: 1px solid rgba(23,32,51,.12) !important;
    cursor: pointer;
    touch-action: manipulation;
  }
  .nav__btn[aria-expanded="true"] { color: #f15a24 !important; }
  .nav__item .dd { display: none; position: static !important; width: 100%; padding: 0 0 12px !important; }
  .nav__item.is-open > .dd { display: block !important; }
  .nav__item--solutions .dd__intro,
  .nav__item--contexts .dd__intro { padding: 14px 0 8px 12px !important; }
  .nav__item--solutions .dd__list--mega,
  .nav__item--contexts .dd__list--contexts { padding: 0 0 8px 14px !important; }
  .nav .dd__link { min-height: 0 !important; padding: 13px 4px !important; gap: 10px; border-bottom: 1px solid rgba(23,32,51,.08); }
  .nav .dd__copy .dd__t { font-size: 14px !important; line-height: 1.35; }
  .nav .dd__desc { font-size: 12px !important; line-height: 1.45; }
  .hd__language { position: relative; z-index: 1203; max-width: 112px; }
  .hd__language-selector { display: flex; align-items: center; }
  .hd__language .dropdown-toggle,
  .hd__language .o_lang_selector {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 40px;
    max-width: 112px;
    padding: 7px 10px !important;
    border: 1px solid rgba(23,32,51,.16) !important;
    border-radius: 22px !important;
    background: transparent !important;
    color: var(--ink, #172033) !important;
    font-size: 12px !important;
    line-height: 1.2;
    white-space: nowrap;
  }
  .hd__language .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 1300 !important;
    min-width: 150px;
    max-width: min(82vw, 240px);
    max-height: 55vh;
    overflow-y: auto;
    padding: 7px !important;
    border: 1px solid rgba(23,32,51,.12);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(16,29,44,.16);
  }
  .hd__language .dropdown-menu a { display: block; padding: 10px 12px; border-radius: 8px; color: #172033 !important; font-size: 13px; }
  .hd__language .dropdown-menu a:hover,
  .hd__language .dropdown-menu a:focus { background: rgba(241,90,36,.09); color: #f15a24 !important; }
}

/* Floating, always reachable return-to-top control. */
.igbs-scroll-top {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 1100;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 54px;
  min-height: 48px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 28px;
  background: #172033;
  color: #fff;
  box-shadow: 0 8px 26px rgba(16,29,44,.22);
  font: 600 12px/1 Geist, sans-serif;
  cursor: pointer;
  opacity: .96;
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
}
.igbs-scroll-top:hover { background: #f15a24; transform: translateY(-3px); }
.igbs-scroll-top svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.igbs-scroll-top[hidden] { display: none !important; }
@media (max-width: 767px) {
  .igbs-scroll-top { right: 16px; bottom: max(18px, env(safe-area-inset-bottom)); min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) { .igbs-scroll-top { transition: none; } }


/* Stage 16 — preserve the original top-of-page header position.
   Only pin the header after the visitor starts scrolling. */
.hd {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 1500 !important;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: background-color .22s ease, box-shadow .22s ease, backdrop-filter .22s ease;
}
.hd.is-scrolled {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 6px 24px rgba(16,29,44,.09) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
[data-theme="dark"] .hd.is-scrolled {
  background: rgba(16,24,36,.97) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.24) !important;
}


/* Stage 17 — breadcrumb spacing, logo variant visibility and utility separators. */

/* Breadcrumb is secondary navigation: give it breathing room below the main header. */
.crumbs {
  position: relative;
  margin-top: clamp(18px, 2.2vw, 34px) !important;
  padding-top: 10px !important;
}
.crumbs ol,
.crumbs__list {
  list-style: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
}
.crumbs li {
  list-style: none !important;
}
.crumbs li::marker {
  content: "" !important;
}
.crumbs li::before {
  content: none !important;
}

/* Exactly one header logo variant at a time, including mobile breakpoints. */
.hd__logo img.logo--light {
  display: block !important;
}
.hd__logo img.logo--dark {
  display: none !important;
}
html[data-theme="dark"] .hd__logo img.logo--light {
  display: none !important;
}
html[data-theme="dark"] .hd__logo img.logo--dark {
  display: block !important;
}

/* Remove decorative dots between the header utility words. */
.hd__util span + span::before {
  content: none !important;
  display: none !important;
}
.hd__util span {
  margin-left: 0 !important;
}
@media (max-width: 767px) {
  .crumbs {
    margin-top: 14px !important;
    padding-top: 8px !important;
  }
}


/* Stage 18 — responsive breadcrumb offset and Odoo language list reset.
   Leave the existing IGBSSaaS language selector design untouched. */
.crumbs {
  padding-top: clamp(42px, 4.625vw, 74px) !important;
}

/* Odoo renders the language selector as a list; remove native bullets only. */
.o_header_language_selector,
.o_header_language_selector ul,
.o_header_language_selector ol,
.o_header_language_selector li,
.o_header_language_selector .dropdown-menu {
  list-style: none !important;
}
.o_header_language_selector ul,
.o_header_language_selector ol {
  margin-block: 0;
  padding-inline-start: 0;
}
.o_header_language_selector li::marker {
  content: "" !important;
}
.o_header_language_selector li::before {
  content: none !important;
}

@media (max-width: 1199px) {
  .crumbs {
    padding-top: clamp(38px, 6vw, 62px) !important;
  }
}
@media (max-width: 767px) {
  .crumbs {
    padding-top: clamp(32px, 9vw, 48px) !important;
  }
}
