/* Scoped repair for the shared navigation and consultation bar. */
#site-logo-badge { padding: 0; background: transparent; }
#site-logo-badge img { object-fit: contain; }
#hs-nav a:focus-visible, #hs-mega-menu a:focus-visible { outline: 2px solid #1428a0; outline-offset: -2px; }

#hs-cta-bar {
  --cta-height: 44px;
  --cta-radius: 8px;
  --cta-gap: 8px;
  bottom: 16px;
}
#hs-cta-bar .cta-bar-inner {
  width: min(1440px, calc(100% - 32px));
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--cta-gap);
  padding: 8px 12px;
  border-radius: var(--cta-radius);
  background: #2189ff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
  overflow: visible;
}
#hs-cta-bar .cta-dl { gap: 8px; flex-shrink: 0; }
#hs-cta-bar :is(.cta-dt, .cta-dd) { font-size: 15px; line-height: 1.4; letter-spacing: 0; white-space: nowrap; }
#hs-cta-bar .cta-bar-form { flex: 1; min-width: 0; gap: var(--cta-gap); }
#hs-cta-bar .cta-privacy-row { min-width: 180px; flex: 1; gap: 6px; line-height: 1.4; letter-spacing: 0; }
#hs-cta-bar .cta-privacy-label { flex: 1; min-width: 0; font-size: 12px; white-space: normal; line-height: 1.4; overflow: visible; }
#hs-cta-bar .cta-detail-btn { flex-shrink: 0; white-space: nowrap; font-size: 12px; padding: 0 2px; margin: 0; }
#hs-cta-bar .cta-input-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--cta-gap); flex: 0 1 760px; }
#hs-cta-bar .cta-chk { width: 24px; height: 24px; }

/* The layer is necessary because the older global button rule is important. */
@layer storefront-shell-controls {
  #hs-cta-bar :is(.cta-bar-inp, .cta-bar-btn, .cta-bar-qna, .cta-ai-btn, .cta-expand-btn, .cta-bar-mobile-btn, .cta-bar-mobile-ai) {
    box-sizing: border-box !important;
    min-width: 0 !important;
    height: var(--cta-height) !important;
    min-height: var(--cta-height) !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: var(--cta-radius) !important;
    background: #fff !important;
    color: #1428a0 !important;
    padding: 0 8px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transform: none !important;
  }
  #hs-cta-bar :is(.cta-bar-btn, .cta-bar-qna, .cta-ai-btn, .cta-expand-btn, .cta-bar-mobile-btn, .cta-bar-mobile-ai) { font-weight: 700 !important; }
  #hs-cta-bar .cta-bar-inp { color: #17191c !important; font-weight: 400 !important; }
  #hs-cta-bar .cta-detail-btn { height: var(--cta-height) !important; border-radius: var(--cta-radius) !important; }
  #hs-cta-bar :is(button, a):hover { transform: none !important; }
  #hs-cta-bar :is(.cta-bar-btn, .cta-bar-qna, .cta-ai-btn, .cta-expand-btn, .cta-bar-mobile-btn, .cta-bar-mobile-ai):hover { background: #eef4ff !important; }
}
#hs-cta-bar :is(.cta-bar-qna, .cta-expand-btn, .cta-ai-compact) { width: 120px; flex: 0 0 120px; justify-content: center; }
#hs-cta-bar .cta-input-row > * { width: 100%; }
#hs-cta-bar :is(input, select, button, a):focus-visible { outline: 2px solid #1428a0; outline-offset: 2px; }
body #hs-cta-bar.cta-compact .cta-bar-inner { width: max-content; min-width: 0; max-width: calc(100% - 32px); padding: 8px 12px; gap: var(--cta-gap); }
body.cta-bar-open { padding-bottom: 92px; }

@media (min-width: 1121px) {
  #hs-cta-bar .cta-bar-mobile { display: none; }
}
@media (min-width: 1121px) and (max-width: 1439px) {
  #hs-cta-bar:not(.cta-compact) .cta-bar-inner { display: grid; grid-template-columns: auto 120px minmax(0, 1fr); }
  #hs-cta-bar:not(.cta-compact) .cta-bar-form { display: contents; }
  #hs-cta-bar:not(.cta-compact) .cta-privacy-row { justify-self: end; max-width: 440px; }
  #hs-cta-bar:not(.cta-compact) .cta-input-row { grid-column: 1 / -1; }
  body.cta-bar-open:not(.cta-compact-mode) { padding-bottom: 144px; }
  body.cta-bar-open:not(.cta-compact-mode) #hs-float { bottom: 152px; }
}
@media (max-width: 1120px) {
  #hs-cta-bar .cta-bar-inner { display: none; }
  #hs-cta-bar .cta-bar-mobile {
    display: flex;
    width: calc(100% - 24px);
    max-width: 560px;
    margin: 0 auto;
    padding: 8px;
    gap: var(--cta-gap);
    border-radius: var(--cta-radius);
    background: #2189ff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
  }
  #hs-cta-bar .cta-bar-mobile > * { display: inline-flex; align-items: center; justify-content: center; width: 0; max-width: none; flex: 1 1 0; }
}
