/* SmileSteps unified homepage header v249.
   The homepage keeps its static document, but its shell now uses the same
   geometry, controls and responsive behaviour as every Joomla route. */

.site-frame .site-header.ss-unified-shell-header {
  box-sizing: border-box !important;
  min-height: 88px !important;
  height: 88px !important;
  overflow: visible !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-synthesis: auto !important;
}

@media (min-width: 1101px) {
  .site-frame .site-header.ss-unified-shell-header {
    min-height: 89px !important;
    height: 89px !important;
  }
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner::before,
.site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner::after {
  content: none !important;
  display: none !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
  box-sizing: border-box !important;
  width: min(1760px, calc(100% - 32px)) !important;
  max-width: none !important;
  min-height: 88px !important;
  height: 88px !important;
  margin-inline: 0 !important;
  padding: 0 37px 0 0 !important;
  grid-template-columns: 230px minmax(0, 1fr) 414px !important;
  grid-template-rows: 88px !important;
  align-items: center !important;
  gap: 8px !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block {
  width: 224px !important;
  flex-direction: row !important;
  justify-self: start !important;
  align-self: center !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
.site-frame .site-header.ss-unified-shell-header .ss-unified-brand img {
  width: 246px !important;
  max-width: none !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-brand {
  transform: translateX(7.5%) !important;
}

body .site-frame .site-header.site-header.ss-unified-shell-header
  .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand {
  transform: translateX(7.5%) !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-nav {
  justify-self: center !important;
  align-self: center !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44.75px !important;
  min-height: 44.75px !important;
  gap: 2px !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-nav > a,
.site-frame .site-header.ss-unified-shell-header .ss-training-trigger {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 5px !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 18.2px !important;
  font-weight: 470 !important;
  line-height: 21.84px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-training-trigger {
  padding-inline: 9px !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions {
  justify-self: end !important;
  align-self: center !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 54.25px !important;
  min-height: 54.25px !important;
  gap: 6px !important;
  transform: translateX(var(--ss-header-actions-shift-v182, 0px)) !important;
  transition: none !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a,
.site-frame .site-header.ss-unified-shell-header .ss-header-connect-v185__trigger {
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-synthesis: auto !important;
  font-size: 16.2px !important;
  line-height: 20.25px !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a:not(.ss-unified-cart) {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-cart {
  line-height: 19.44px !important;
}

@media (min-width: 1241px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-search {
    flex: 0 0 49.484375px !important;
    width: 49.484375px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-login {
    flex: 0 0 47.9375px !important;
    width: 47.9375px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-cart {
    flex: 0 0 123.4375px !important;
    width: 123.4375px !important;
  }
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-menu-button,
.site-frame .site-header.ss-unified-shell-header .ss-unified-mobile-menu {
  display: none !important;
}

@media (min-width: 1500px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    width: 100% !important;
    padding-inline: 55px !important;
    grid-template-columns: 246px minmax(0, 1fr) 414px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block {
    width: 246px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand {
    transform: none !important;
  }


  body .site-frame .site-header.site-header.ss-unified-shell-header
    .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand {
    transform: none !important;
  }
}

@media (min-width: 1101px) and (max-width: 1240px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    width: calc(100% - 20px) !important;
    padding: 0 !important;
    grid-template-columns: 190px minmax(0, 1fr) 380px !important;
    gap: 6px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img {
    width: 184px !important;
  }

  body .site-frame .site-header.site-header.ss-unified-shell-header
    .ss-brand-block.ss-unified-brand-block,
  body .site-frame .site-header.site-header.ss-unified-shell-header
    .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand,
  body .site-frame .site-header.site-header.ss-unified-shell-header
    .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand img {
    width: 184px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand {
    transform: none !important;
  }


  body .site-frame .site-header.site-header.ss-unified-shell-header
    .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand {
    transform: none !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-nav > a,
  .site-frame .site-header.ss-unified-shell-header .ss-training-trigger {
    padding-inline: 6px !important;
    font-size: 12.5px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions {
    display: flex !important;
    gap: 4px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a {
    font-size: 15px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-search {
    flex: 0 0 45.96875px !important;
    width: 45.96875px !important;
    padding-inline: 0 !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-login {
    flex: 0 0 44.546875px !important;
    width: 44.546875px !important;
    padding-inline: 0 !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-cart {
    flex: 0 0 118.65625px !important;
    width: 118.65625px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-nav {
    display: flex !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-menu-button {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  .site-frame .site-header.ss-unified-shell-header {
    z-index: 1600 !important;
    min-height: 68px !important;
    height: 68px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    box-sizing: border-box !important;
    position: relative !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    min-height: 68px !important;
    height: 68px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 68px !important;
    gap: 10px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img {
    width: min(180px, 52vw) !important;
    max-width: 100% !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand {
    transform: none !important;
  }


  body .site-frame .site-header.site-header.ss-unified-shell-header
    .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand {
    transform: none !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-nav,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions {
    display: none !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-menu-button {
    position: absolute !important;
    top: 9px !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 72px !important;
    min-width: 64px !important;
    height: 50px !important;
    min-height: 44px !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(40, 91, 62, .25) !important;
    border-radius: 13px 6px !important;
    background: linear-gradient(145deg, #fffefa, #e8efe3) !important;
    color: #234b33 !important;
    font: 760 12px/1.2 "Segoe UI", Arial, sans-serif !important;
    box-shadow: 0 8px 22px rgba(35, 75, 51, .08) !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-mobile-menu:not([hidden]) {
    position: fixed !important;
    z-index: 1610 !important;
    top: calc(68px + max(8px, env(safe-area-inset-top))) !important;
    right: 12px !important;
    left: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 92px - env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border: 1px solid rgba(176, 141, 79, .32) !important;
    border-radius: 20px 8px !important;
    background: rgba(255, 253, 248, .985) !important;
    box-shadow: 0 24px 70px rgba(18, 39, 29, .28) !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-mobile-menu > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 8px 9px !important;
    overflow-wrap: anywhere !important;
    border: 1px solid rgba(40, 91, 62, .14) !important;
    border-radius: 12px 5px !important;
    background: linear-gradient(145deg, #fffefa, #edf3ea) !important;
    color: #234b33 !important;
    font: 650 12.5px/1.28 "Segoe UI", Arial, sans-serif !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  body.ss-menu-open {
    overflow: hidden !important;
  }
}

@media (max-width: 350px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img {
    width: 145px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-menu-button {
    width: 64px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-mobile-menu:not([hidden]) {
    right: 8px !important;
    left: 8px !important;
    gap: 6px !important;
    padding: 9px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-mobile-menu > a {
    min-height: 42px !important;
    padding-inline: 6px !important;
    font-size: 11.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-mobile-menu,
  .site-frame .site-header.ss-unified-shell-header .ss-training-panel,
  .site-frame .site-header.ss-unified-shell-header .ss-header-connect-v185__panel {
    transition-duration: .01ms !important;
  }
}

/* SmileSteps header polish v257: stable controls, compact cart and muted logo. */
.site-frame .site-header.ss-unified-shell-header {
  font-family: "Onest", "Segoe UI", Arial, sans-serif !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-replacement-logo-v257,
.site-frame .site-footer .footer-brand .ss-replacement-logo-v257 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: .96 !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-nav > a,
.site-frame .site-header.ss-unified-shell-header .ss-training-trigger,
.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a,
.site-frame .site-header.ss-unified-shell-header .ss-header-connect-v185__trigger {
  box-sizing: border-box !important;
  min-height: 44px !important;
  height: 44px !important;
  max-height: 44px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  font-family: "Onest", "Segoe UI", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-nav > a,
.site-frame .site-header.ss-unified-shell-header .ss-training-trigger {
  padding-inline: 10px !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a:not(.ss-unified-cart),
.site-frame .site-header.ss-unified-shell-header .ss-header-connect-v185__trigger {
  width: auto !important;
  min-width: 0 !important;
  padding-inline: 11px !important;
}

.site-frame .site-header.ss-unified-shell-header :is(.ss-unified-nav > a, .ss-training-trigger, .ss-unified-actions > a:not(.ss-unified-cart), .ss-header-connect-v185__trigger):is(:hover, :focus-visible),
.site-frame .site-header.ss-unified-shell-header .ss-unified-nav > a[aria-current="page"] {
  border-color: rgba(40, 91, 62, .3) !important;
  background: #e8efe5 !important;
  color: #183e2a !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 7px 18px rgba(35, 75, 51, .12) !important;
  outline: none !important;
  transform: none !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-cart {
  position: relative !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #183e2a !important;
  border-color: rgba(40, 91, 62, .28) !important;
  background: linear-gradient(145deg, #fffefa, #e8efe3) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .72) !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-cart:is(:hover, :focus-visible) {
  border-color: rgba(40, 91, 62, .48) !important;
  background: #e2eadf !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 7px 18px rgba(35, 75, 51, .12) !important;
  outline: none !important;
  transform: none !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-cart__icon {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
}

.site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a.ss-unified-cart > span {
  position: absolute !important;
  top: 3px !important;
  right: 3px !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #315f42 !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.site-frame .site-footer .footer-brand .ss-replacement-logo-v257 {
  width: min(190px, 100%) !important;
  max-height: 66px !important;
  padding: 7px !important;
  background: #fffdf8 !important;
}

@media (min-width: 1101px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    width: 100% !important;
    margin-inline: auto !important;
    padding-inline: clamp(20px, 3.1vw, 55px) !important;
    grid-template-columns: minmax(184px, 230px) minmax(0, 1fr) auto !important;
    gap: clamp(12px, 1.7vw, 28px) !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img,
  .site-frame .site-header.ss-unified-shell-header .ss-replacement-logo-v257,
  body .site-frame .site-header.site-header.ss-unified-shell-header .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand,
  body .site-frame .site-header.site-header.ss-unified-shell-header .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand img {
    width: min(210px, 100%) !important;
    max-width: 100% !important;
    transform: none !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-nav,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions {
    align-items: center !important;
    gap: 6px !important;
  }
}

@media (min-width: 1101px) and (max-width: 1240px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    padding-inline: 14px !important;
    grid-template-columns: 174px minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img,
  .site-frame .site-header.ss-unified-shell-header .ss-replacement-logo-v257,
  body .site-frame .site-header.site-header.ss-unified-shell-header .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand,
  body .site-frame .site-header.site-header.ss-unified-shell-header .ss-brand-block.ss-unified-brand-block .brand.ss-unified-brand img {
    width: 166px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-nav,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions {
    gap: 3px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-nav > a,
  .site-frame .site-header.ss-unified-shell-header .ss-training-trigger,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions > a,
  .site-frame .site-header.ss-unified-shell-header .ss-header-connect-v185__trigger {
    padding-inline: 7px !important;
    font-size: 12.5px !important;
  }
}

@media (max-width: 1100px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img,
  .site-frame .site-header.ss-unified-shell-header .ss-replacement-logo-v257 {
    width: min(174px, 52vw) !important;
  }
}

/* ss-header-polish-v257-ready */

/* Unified header alignment v259: the central navigation is geometrically centred. */
@media (min-width: 1101px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-left: clamp(20px, 3.1vw, 55px) !important;
    padding-right: clamp(20px, 3.1vw, 55px) !important;
    grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: clamp(8px, 1.2vw, 18px) !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block {
    justify-self: start !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(210px, 100%) !important;
    margin: 0 !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img,
  .site-frame .site-header.ss-unified-shell-header .ss-replacement-logo-v257 {
    align-self: center !important;
    width: min(210px, 100%) !important;
    margin: 0 !important;
    transform: none !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-nav {
    justify-self: center !important;
    align-self: center !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-actions {
    justify-self: end !important;
    align-self: center !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
}

@media (min-width: 1101px) and (max-width: 1240px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand,
  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand img,
  .site-frame .site-header.ss-unified-shell-header .ss-replacement-logo-v257 {
    width: 166px !important;
  }
}

@media (max-width: 1100px) {
  .site-frame .site-header.ss-unified-shell-header .ss-unified-header__inner {
    --ss-unified-mobile-header-height-v259: 68px;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--ss-unified-mobile-header-height-v259) !important;
    min-height: var(--ss-unified-mobile-header-height-v259) !important;
    margin-inline: auto !important;
    padding-left: clamp(16px, 4vw, 24px) !important;
    padding-right: clamp(16px, 4vw, 24px) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: var(--ss-unified-mobile-header-height-v259) !important;
    align-items: center !important;
    align-content: center !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-brand-block {
    justify-self: start !important;
    align-self: center !important;
    margin: 0 !important;
  }

  .site-frame .site-header.ss-unified-shell-header .ss-unified-menu-button {
    position: absolute !important;
    top: calc(var(--ss-unified-mobile-header-height-v259) / 2) !important;
    right: clamp(16px, 4vw, 24px) !important;
    justify-self: auto !important;
    align-self: auto !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }
}

/* ss-unified-header-alignment-v259-ready */
