/*
 * AxelEcho Responsive Stabilizer
 * CSS-only overrides for the existing UiCore/Elementor layout.
 */

:root {
  --ae-rs-page-gutter: clamp(12px, 2.1vw, 24px);
  --ae-rs-header-offset: 0px;
  --ae-rs-header-height: 74px;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body:not(.elementor-editor-active) .uicore-body-content,
body:not(.elementor-editor-active) .content-area,
body:not(.elementor-editor-active) main.uicore,
body:not(.elementor-editor-active) .entry-content {
  min-width: 0;
}

body:not(.elementor-editor-active) {
  padding-top: var(--ae-rs-header-height) !important;
}

body:not(.elementor-editor-active) img,
body:not(.elementor-editor-active) video,
body:not(.elementor-editor-active) canvas,
body:not(.elementor-editor-active) svg {
  max-width: 100%;
}

body:not(.elementor-editor-active) .elementor > .e-con.e-con-boxed > .e-con-inner,
body:not(.elementor-editor-active) .uicore-section.uicore-box > .uicore-container,
body:not(.elementor-editor-active) .uicore-section.uicore-box nav.uicore-container {
  width: min(calc(100% - (var(--ae-rs-page-gutter) * 2)), var(--ui-container-size, 1144px)) !important;
  max-width: var(--ui-container-size, 1144px) !important;
}

body:not(.elementor-editor-active) .ae-rs-header-auth {
  display: none;
}

body:not(.elementor-editor-active) #wrapper-navbar {
  position: fixed !important;
  top: var(--ae-rs-header-offset) !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 10020 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(7, 19, 26, 0.08) !important;
  box-shadow: 0 0 0 rgba(6, 25, 22, 0) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body:not(.elementor-editor-active).ae-rs-header-scrolled #wrapper-navbar {
  background: rgba(255, 255, 255, 0.985) !important;
  border-bottom-color: rgba(7, 19, 26, 0.12) !important;
  box-shadow: 0 12px 28px rgba(6, 25, 22, 0.12) !important;
}

body:not(.elementor-editor-active) #wrapper-navbar .uicore-header-wrapper {
  background: transparent !important;
}

body:not(.elementor-editor-active) #wrapper-navbar .uicore-branding,
body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-branding {
  width: 166px !important;
  max-width: 166px !important;
  flex: 0 0 166px !important;
}

body:not(.elementor-editor-active) #wrapper-navbar .uicore-branding a,
body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-branding a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

body:not(.elementor-editor-active) #wrapper-navbar .uicore-branding a.ae-rs-logo-ready > img.uicore-logo,
body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-branding a.ae-rs-logo-ready > img.uicore-logo {
  display: none !important;
}

body:not(.elementor-editor-active) .ae-rs-logo-lockup {
  display: inline-flex;
  align-items: center;
  width: 166px;
  max-width: 166px;
  min-width: 0;
  gap: 7px;
}

body:not(.elementor-editor-active) .ae-rs-logo-mark {
  flex: 0 0 auto;
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  object-fit: contain !important;
}

body:not(.elementor-editor-active) .ae-rs-logo-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
  line-height: 1;
}

body:not(.elementor-editor-active) .ae-rs-logo-word {
  display: inline-flex;
  align-items: baseline;
  color: #111827;
  font-size: 21px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.95;
  white-space: nowrap;
}

body:not(.elementor-editor-active) .ae-rs-logo-echo {
  color: #05a8d8;
}

body:not(.elementor-editor-active) .ae-rs-logo-tagline {
  color: #29313a;
  font-size: 5.8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 1024px) {
  body:not(.elementor-editor-active) #wrapper-navbar,
  body:not(.elementor-editor-active) #wrapper-navbar .uicore-header-wrapper,
  body:not(.elementor-editor-active) #wrapper-navbar nav.uicore-container,
  body:not(.elementor-editor-active) .uicore-header-wrapper,
  body:not(.elementor-editor-active) .uicore-header-wrapper nav.uicore-container {
    overflow: visible !important;
  }

  body:not(.elementor-editor-active) #wrapper-navbar nav.uicore-container,
  body:not(.elementor-editor-active) .uicore-header-wrapper nav.uicore-container {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
  }

  body:not(.elementor-editor-active) #wrapper-navbar .uicore-branding,
  body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-branding {
    width: clamp(128px, 36vw, 148px) !important;
    max-width: clamp(128px, 36vw, 148px) !important;
    flex-basis: clamp(128px, 36vw, 148px) !important;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-lockup {
    width: clamp(128px, 36vw, 148px);
    max-width: clamp(128px, 36vw, 148px);
    gap: 6px;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-mark {
    width: clamp(29px, 8vw, 33px) !important;
    height: clamp(29px, 8vw, 33px) !important;
    max-width: clamp(29px, 8vw, 33px) !important;
    max-height: clamp(29px, 8vw, 33px) !important;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-word {
    font-size: clamp(17px, 5vw, 20px);
  }

  body:not(.elementor-editor-active) .ae-rs-logo-tagline {
    font-size: clamp(4.8px, 1.45vw, 5.5px);
  }

  body:not(.elementor-editor-active) .ae-rs-header-login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 64px;
    height: 38px;
    margin-left: auto;
    margin-right: 8px;
    padding: 0 16px;
    border: 1px solid rgba(32, 199, 112, 0.72);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    color: #07131a;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 7px 18px rgba(6, 25, 22, 0.08);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    white-space: nowrap;
  }

  body:not(.elementor-editor-active) .ae-rs-account-menu {
    position: relative;
    z-index: 9999;
    display: inline-flex;
    flex: 0 0 auto;
  }

  body:not(.elementor-editor-active) .ae-rs-account-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: clamp(92px, 28vw, 136px);
    height: 38px;
    min-width: 0;
    padding: 0 11px 0 6px;
    border: 1px solid rgba(20, 204, 162, 0.58);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    color: #07131a;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 7px 18px rgba(6, 25, 22, 0.08);
    cursor: pointer;
    gap: 7px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }

  body:not(.elementor-editor-active) .ae-rs-account-trigger::after {
    content: "";
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-left: auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    opacity: 0.78;
    transform: rotate(45deg) translateY(-1px);
    transition: transform 160ms ease;
  }

  body:not(.elementor-editor-active) .ae-rs-account-menu.is-open .ae-rs-account-trigger::after {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  body:not(.elementor-editor-active) .ae-rs-account-trigger:hover,
  body:not(.elementor-editor-active) .ae-rs-account-trigger:focus-visible,
  body:not(.elementor-editor-active) .ae-rs-account-menu.is-open .ae-rs-account-trigger {
    border-color: #20d982;
    box-shadow: 0 8px 20px rgba(32, 217, 130, 0.2);
    transform: translateY(-1px);
  }

  body:not(.elementor-editor-active) .ae-rs-account-avatar {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(32, 217, 130, 0.55);
    border-radius: 999px;
    object-fit: cover;
    background: #07131a;
  }

  body:not(.elementor-editor-active) .ae-rs-account-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body:not(.elementor-editor-active) .ae-rs-account-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 10000;
    display: none;
    width: min(190px, calc(100vw - 24px));
    padding: 8px;
    border: 1px solid rgba(20, 204, 162, 0.44);
    border-radius: 16px;
    background:
      radial-gradient(circle at 16% 12%, rgba(32, 217, 130, 0.16), transparent 34%),
      rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 42px rgba(6, 25, 22, 0.18), 0 0 0 1px rgba(255, 255, 255, 0.68) inset;
  }

  body:not(.elementor-editor-active) .ae-rs-account-menu.is-open .ae-rs-account-dropdown {
    display: grid;
    gap: 4px;
    animation: ae-rs-menu-in 160ms ease both;
  }

  body:not(.elementor-editor-active) .ae-rs-account-item {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    color: #07131a;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
  }

  body:not(.elementor-editor-active) .ae-rs-account-item:hover,
  body:not(.elementor-editor-active) .ae-rs-account-item:focus-visible {
    background: rgba(32, 217, 130, 0.12);
    color: #07131a;
    text-decoration: none;
  }

  body:not(.elementor-editor-active) .ae-rs-account-logout {
    color: #0b6b54;
  }

  @keyframes ae-rs-menu-in {
    from {
      opacity: 0;
      transform: translateY(-6px) scale(0.98);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  body:not(.elementor-editor-active) #wrapper-navbar .uicore-mobile-head-right,
  body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-mobile-head-right {
    align-items: center !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin-left: auto !important;
    overflow: visible !important;
  }

  body:not(.elementor-editor-active) #wrapper-navbar .uicore-mobile-head-right .ae-rs-header-auth,
  body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-mobile-head-right .ae-rs-header-auth {
    flex: 0 0 auto;
    margin-left: 0;
    margin-right: 0;
  }

  body:not(.elementor-editor-active) .ae-rs-header-login:hover,
  body:not(.elementor-editor-active) .ae-rs-header-login:focus-visible {
    border-color: #20d982;
    box-shadow: 0 8px 20px rgba(32, 217, 130, 0.2);
    color: #07131a;
    text-decoration: none;
    transform: translateY(-1px);
  }

  body:not(.elementor-editor-active) #wrapper-navbar .uicore-cta-wrapper,
  body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-cta-wrapper {
    margin-left: 0 !important;
  }
}

@media (max-width: 360px) {
  body:not(.elementor-editor-active) #wrapper-navbar .uicore-branding,
  body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-branding {
    width: 114px !important;
    max-width: 114px !important;
    flex-basis: 114px !important;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-lockup {
    width: 114px;
    max-width: 114px;
    gap: 5px;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-mark {
    width: 27px !important;
    height: 27px !important;
    max-width: 27px !important;
    max-height: 27px !important;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-word {
    font-size: 16px;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-tagline {
    font-size: 4.4px;
  }

  body:not(.elementor-editor-active) .ae-rs-header-login {
    min-width: 58px;
    height: 36px;
    margin-right: 6px;
    padding: 0 12px;
    border-radius: 11px;
    font-size: 13px;
  }

  body:not(.elementor-editor-active) .ae-rs-account-trigger {
    width: 82px;
    height: 36px;
    padding-right: 8px;
    gap: 5px;
    font-size: 12px;
  }

  body:not(.elementor-editor-active) .ae-rs-account-avatar {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 380px) {
  body:not(.elementor-editor-active) #wrapper-navbar .uicore-branding,
  body:not(.elementor-editor-active) .uicore-header-wrapper .uicore-branding {
    width: 112px !important;
    max-width: 112px !important;
    flex: 0 1 112px !important;
  }

  body:not(.elementor-editor-active) .ae-rs-logo-lockup {
    width: 112px;
    max-width: 112px;
  }

  body:not(.elementor-editor-active) .ae-rs-account-trigger {
    width: 44px;
    min-width: 44px;
    padding: 0 7px;
    justify-content: center;
    gap: 0;
  }

  body:not(.elementor-editor-active) .ae-rs-account-name {
    display: none;
  }

  body:not(.elementor-editor-active) .ae-rs-account-trigger::after {
    width: 5px;
    height: 5px;
    margin-left: 3px;
  }
}

body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title {
  width: min(calc(100% - (var(--ae-rs-page-gutter) * 2)), var(--ui-container-size, 1144px)) !important;
  max-width: var(--ui-container-size, 1144px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-container {
  width: min(calc(100% - (var(--ae-rs-page-gutter) * 2)), var(--ui-container-size, 1144px)) !important;
  max-width: var(--ui-container-size, 1144px) !important;
  box-sizing: border-box !important;
}

@media (min-width: 1025px) {
  body:not(.elementor-editor-active):not(.woocommerce-account) {
    --ae-rs-page-gutter: clamp(16px, 1.5vw, 28px);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  body:not(.elementor-editor-active) {
    --ae-rs-page-gutter: clamp(16px, 2.4vw, 24px);
    --uicore-typography--h1-s: clamp(52px, 5.8vw, 58px);
    --uicore-typography--h2-s: clamp(42px, 4.9vw, 48px);
    --uicore-typography--h3-s: clamp(22px, 2.7vw, 26px);
    --uicore-typography--h4-s: clamp(18px, 2.1vw, 21px);
    --uicore-typography--p-s: clamp(16px, 1.75vw, 17px);
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title {
    min-height: clamp(480px, 54vw, 560px) !important;
    height: clamp(480px, 54vw, 560px) !important;
    margin-bottom: clamp(112px, 13vw, 140px) !important;
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-container {
    bottom: clamp(-126px, -10.8vw, -96px) !important;
    padding: clamp(26px, 3.6vw, 38px) clamp(28px, 4.2vw, 44px) !important;
    border-radius: clamp(18px, 2.4vw, 24px) !important;
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-title {
    max-width: min(100%, 860px) !important;
    margin-top: 0 !important;
    line-height: 1.08 !important;
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-description {
    max-width: min(100%, 820px) !important;
    font-size: clamp(17px, 1.85vw, 18px) !important;
    line-height: 1.58 !important;
  }

  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-0d924e4,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-284357d,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-e209ae1,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-9fe89d5,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-620d992,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-e81ee92,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-0c3274f,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-df90db8,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-f199086 {
    --gap: clamp(28px, 3.6vw, 40px) !important;
    --row-gap: clamp(28px, 3.6vw, 40px) !important;
    --column-gap: clamp(20px, 2.8vw, 28px) !important;
    --padding-top: clamp(56px, 6.8vw, 76px) !important;
  }

  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-widget-tablet__width-initial,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-widget__width-initial {
    max-width: min(100%, 720px) !important;
  }

  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-c266bbe,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-d3f63a4,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-fe81a11,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-widget-text-editor {
    font-size: clamp(15.5px, 1.7vw, 17px) !important;
    line-height: 1.55 !important;
  }

  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-widget-text-editor .elementor-widget-container {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  body.page-id-808:not(.elementor-editor-active) .elementor-808 .e-con.e-child > .e-con.e-child[data-settings*="animation"] {
    --min-height: clamp(390px, 43vw, 430px) !important;
    --padding-top: clamp(24px, 3vw, 32px) !important;
    --padding-bottom: clamp(24px, 3vw, 32px) !important;
    --padding-left: clamp(24px, 3vw, 32px) !important;
    --padding-right: clamp(24px, 3vw, 32px) !important;
    min-width: 0 !important;
    min-height: clamp(390px, 43vw, 430px) !important;
    padding: clamp(24px, 3vw, 32px) !important;
  }
}

@media (min-width: 900px) and (max-width: 1024px) {
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .e-con.e-child > .e-con.e-child[data-settings*="animation"] {
    --width: calc(50% - 10px) !important;
    flex: 0 1 calc(50% - 10px) !important;
  }
}

@media (min-width: 769px) and (max-width: 899px) {
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .e-con.e-child > .e-con.e-child[data-settings*="animation"] {
    --width: min(100%, 680px) !important;
    flex: 0 1 min(100%, 680px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 768px) {
  body:not(.elementor-editor-active) {
    --ae-rs-page-gutter: clamp(10px, 4vw, 16px);
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title {
    min-height: clamp(300px, 76vw, 420px) !important;
    height: clamp(300px, 76vw, 420px) !important;
    margin-top: var(--ae-rs-page-gutter) !important;
    margin-bottom: clamp(94px, 28vw, 130px) !important;
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-container {
    width: calc(100% - (var(--ae-rs-page-gutter) * 2)) !important;
    max-width: none !important;
    bottom: clamp(-104px, -22vw, -72px) !important;
    padding: clamp(20px, 5.6vw, 28px) !important;
    border-radius: clamp(14px, 4vw, 20px) !important;
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-title {
    font-size: clamp(28px, 8.2vw, 38px) !important;
    line-height: 1.1 !important;
    margin-top: 0 !important;
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-description {
    font-size: clamp(14.5px, 4vw, 16px) !important;
    line-height: 1.55 !important;
  }

  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-0d924e4,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-284357d,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-e209ae1,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-9fe89d5,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-620d992,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-e81ee92,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-0c3274f,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-df90db8,
  body.page-id-808:not(.elementor-editor-active) .elementor-808 .elementor-element.elementor-element-f199086 {
    --padding-top: clamp(36px, 10vw, 52px) !important;
    --gap: clamp(18px, 5vw, 28px) !important;
    --row-gap: clamp(18px, 5vw, 28px) !important;
    --column-gap: 0px !important;
  }

  body.page-id-808:not(.elementor-editor-active) .elementor-808 .e-con.e-child > .e-con.e-child[data-settings*="animation"] {
    --min-height: 0px !important;
    --padding-top: clamp(18px, 5vw, 24px) !important;
    --padding-bottom: clamp(18px, 5vw, 24px) !important;
    --padding-left: clamp(18px, 5vw, 24px) !important;
    --padding-right: clamp(18px, 5vw, 24px) !important;
    --width: 100% !important;
    flex: 0 1 100% !important;
    min-height: 0 !important;
    padding: clamp(18px, 5vw, 24px) !important;
  }
}

@media (max-width: 480px) {
  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title {
    margin-bottom: clamp(106px, 34vw, 144px) !important;
  }

  body.page:not(.elementor-editor-active):not(.woocommerce-account) header.uicore-page-title .uicore-title {
    font-size: clamp(26px, 7.6vw, 34px) !important;
  }
}
