:root{
  --tmo-dd-radius:12px;
  --tmo-dd-shadow:0 16px 32px -12px rgba(15,23,42,.22), 0 4px 12px -4px rgba(15,23,42,.10);
  --tmo-dd-bg:#fff;
  --tmo-dd-border:rgba(15,23,42,.06);
  --tmo-dd-z:100000;
  --tmo-accent-tint:rgba(105,185,189,.14);
  --tmo-accent-tint-strong:rgba(105,185,189,.24);
}

.ast-primary-header-bar{
  padding-top:14px;
  padding-bottom:14px;
}
.site-header-primary-section-right{
  gap:6px;
}

@media (max-width:544px){
  .site-header .custom-logo-link img{
    max-width:150px;
    width:150px;
  }
}

.ast-header-search .astra-search-icon,
.ast-site-header-cart .cart-container{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:40px;
  padding:0 10px;
  border-radius:999px;
  transition:background-color .15s ease;
}
.ast-header-search .astra-search-icon:hover,
.ast-site-header-cart .cart-container:hover,
.ast-search-menu-icon.ast-dropdown-active .astra-search-icon,
.ast-site-header-cart:focus-within .cart-container{
  background:var(--tmo-accent-tint);
}
.ast-site-header-cart .cart-container,
.ast-site-header-cart .cart-container:hover,
.ast-site-header-cart .cart-container:focus{
  text-decoration:none;
}

.ast-header-search .astra-search-icon,
.ast-header-search .astra-search-icon .astra-icon{
  color:var(--ast-global-color-0);
}

.ast-menu-cart-outline .ast-addon-cart-wrap,
.ast-menu-cart-outline .ast-cart-menu-wrap,
.ast-menu-cart-with-border{
  border:none !important;
}

.ast-site-header-cart .ast-addon-cart-wrap{
  display:flex;
  align-items:center;
  gap:8px;
}
.ast-site-header-cart i.astra-icon{
  font-size:20px;
  position:relative;
}
.ast-site-header-cart .ast-woo-header-cart-info-wrap{
  font-size:14px;
  font-weight:bold;
  white-space:nowrap;
}

.ast-site-header-cart .cart-container:hover .ast-woo-header-cart-info-wrap,
.ast-site-header-cart:focus-within .cart-container .ast-woo-header-cart-info-wrap{
  color:var(--ast-global-color-0);
}

.ast-site-header-cart .cart-container:hover .ast-addon-cart-wrap i.astra-icon::after,
.ast-site-header-cart:focus-within .ast-addon-cart-wrap i.astra-icon::after{
  color:#fff;
}

.ast-site-header-cart .ast-site-header-cart-li:hover .ast-addon-cart-wrap i.astra-icon::after{
  color:#fff !important;
}

.ast-site-header-cart i.astra-icon[data-cart-total="0"]::after{
  display:none;
}
.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after{
  background:var(--ast-global-color-1);
  color:#fff;
  border:none;
  box-shadow:none;
  top:-6px;
  right:-8px;
}

.ast-site-header-cart .ast-woo-header-cart-info-wrap{
  display:none;
}
@media (min-width:1300px){
  .ast-site-header-cart .ast-woo-header-cart-info-wrap{
    display:inline-block;
  }
}

@media (min-width:1201px){
  .main-header-menu .sub-menu{
    border:none;
    border-radius:var(--tmo-dd-radius);
    box-shadow:var(--tmo-dd-shadow);
    padding-block:6px;
    opacity:0;
    transform:translateY(-6px);
    transition:opacity .18s ease, transform .18s ease;
  }
  .main-header-menu .sub-menu > .menu-item:first-child > .menu-link{
    border-top-left-radius:var(--tmo-dd-radius);
    border-top-right-radius:var(--tmo-dd-radius);
  }
  .main-header-menu .sub-menu > .menu-item:last-child > .menu-link{
    border-bottom-left-radius:var(--tmo-dd-radius);
    border-bottom-right-radius:var(--tmo-dd-radius);
  }
  .main-header-menu .menu-item.focus > .sub-menu,
  .main-header-menu .menu-item:hover > .sub-menu,
  .main-header-menu .menu-item > .sub-menu.toggled-on{
    opacity:1;
    transform:translateY(0);
  }

  .ast-site-header-cart{
    position:relative;
  }
  .ast-site-header-cart-data{
    position:absolute;
    top:100%;
    right:0;
    min-width:320px;
    max-width:90vw;
    z-index:var(--tmo-dd-z);
    margin-top:0;
    border-radius:var(--tmo-dd-radius);
    box-shadow:var(--tmo-dd-shadow);
    background:var(--tmo-dd-bg);
    border:1px solid var(--tmo-dd-border);
    padding:16px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  .ast-site-header-cart:hover .ast-site-header-cart-data,
  .ast-site-header-cart:focus-within .ast-site-header-cart-data{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .18s ease, transform .18s ease;
  }
}

body.woocommerce-cart .ast-site-header-cart-data,
body.woocommerce-checkout .ast-site-header-cart-data{
  display:none;
}

.ast-site-header-cart-data .widget_shopping_cart_content > .woocommerce-mini-cart__empty-message{
  display:none;
}

.ast-site-header-cart-data .widget_shopping_cart{
  position:static !important;
}

.ast-site-header-cart-data .widget_shopping_cart{
  border:none;
}
.ast-site-header-cart-data ul.woocommerce-mini-cart,
.ast-site-header-cart-data .woocommerce-mini-cart__total,
.ast-site-header-cart-data .woocommerce-mini-cart__buttons{
  padding-left:0;
  padding-right:0;
}

.ast-site-header-cart-data .woocommerce-mini-cart__total strong{
  width:auto;
  white-space:nowrap;
}
.ast-site-header-cart-data .woocommerce-mini-cart__total .amount{
  width:auto;
}

.ast-site-header-cart-data{
  padding:12px 14px;
}
.ast-site-header-cart-data .woocommerce-mini-cart__total,
.ast-site-header-cart-data .woocommerce-mini-cart-item,
.ast-site-header-cart-data .woocommerce-mini-cart__buttons{
  margin-top:10px;
  margin-bottom:10px;
}
.ast-site-header-cart-data ul.woocommerce-mini-cart{
  margin-top:0;
}
.ast-site-header-cart-data .woocommerce-mini-cart__buttons{
  margin-bottom:0;
}

.main-header-menu > .menu-item > .menu-link{
  transition:color .15s ease;
}

@media (max-width:1200px){
  .ast-header-break-point .main-navigation .sub-menu .menu-item .menu-link{
    min-height:44px;
    display:flex;
    align-items:center;
  }
}

.ast-search-menu-icon{
  position:relative;
  display:flex;
  align-items:center;
}
.ast-search-menu-icon .search-form{
  position:absolute;
  top:100%;
  right:0;
  margin-top:10px;
  width:260px;
  max-width:90vw;
  display:flex;
  align-items:center;
  background:var(--tmo-dd-bg);
  border:1px solid var(--tmo-dd-border);
  border-radius:999px;
  box-shadow:var(--tmo-dd-shadow);
  padding:4px 4px 4px 16px;
  z-index:var(--tmo-dd-z) !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.ast-search-menu-icon.ast-dropdown-active .search-form{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .18s ease, transform .18s ease;
}
.ast-search-menu-icon .search-form label{
  flex:1;
  display:flex;
  align-items:center;
  min-width:0;
}
.ast-search-menu-icon .search-field{
  flex:1;
  min-width:0;
  border:none;
  outline:none;
  background:transparent;
  font-size:14px;
  padding:8px 4px;
}
.ast-search-menu-icon .search-field:focus{
  outline:none;
}
.ast-search-menu-icon .search-submit{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border:none;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  color:var(--ast-global-color-0);
}
.ast-search-menu-icon .search-submit .astra-icon{
  font-size:18px;
}
.ast-header-search .astra-search-icon .astra-icon{
  font-size:20px;
}

#ast-mobile-header .ast-search-menu-icon.slide-search{
  position:static;
}
#ast-mobile-header .ast-search-menu-icon.slide-search .search-form{
  position:absolute;
  top:100%;
  left:20px;
  right:20px;
  margin-top:10px;
  width:auto;
  max-width:none;
}

/* Fullscreen off-canvas mobile menu */
#ast-mobile-popup.ast-mobile-popup-drawer .ast-mobile-popup-inner{
  max-width:100%;
  width:100vw;
  width:100dvw;
  max-height:100vh;
  max-height:100dvh;
  background:#fff;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
#ast-mobile-popup .ast-mobile-popup-header{
  flex-shrink:0;
  min-height:0 !important;
}
#ast-mobile-popup .ast-mobile-popup-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:1 1 auto;
  min-height:0;
}
#ast-mobile-popup .main-header-menu.ast-nav-menu{
  flex-direction:column;
  align-items:center;
  width:100%;
  gap:0;
  text-align:center;
}
#ast-mobile-popup .main-header-menu > .menu-item{
  width:100%;
}
#ast-mobile-popup .main-header-menu > .menu-item > .menu-link{
  justify-content:center;
  font-size:clamp(18px, 4.5vw, 24px);
  font-weight:700;
  padding:6px 28px;
  letter-spacing:-0.01em;
}
#ast-mobile-popup .main-header-menu .sub-menu{
  text-align:center;
}
#ast-mobile-popup .main-header-menu .sub-menu .menu-link{
  font-size:16px;
  padding:8px 28px;
}
#ast-mobile-popup .ast-mobile-popup-header .menu-toggle-close{
  font-size:22px;
  padding:12px;
}

/* Extra safety margin on short viewports (small phones, browser chrome eating space) */
@media (max-height:700px){
  #ast-mobile-popup .main-header-menu > .menu-item > .menu-link{
    font-size:clamp(16px, 4vw, 20px);
    padding:4px 28px;
  }
  #ast-mobile-popup .tmo-mobile-popup-extra{
    padding:8px 28px;
    gap:6px;
  }
  #ast-mobile-popup .ast-header-social-1-wrap .header-social-item{
    padding:8px;
    font-size:18px;
  }
}

/* Native social icons element rendered in the popup: bigger, easier to tap on mobile */
#ast-mobile-popup .ast-header-social-1-wrap .header-social-inner-wrap{
  gap:10px;
}
#ast-mobile-popup .ast-header-social-1-wrap .header-social-item{
  padding:12px;
  font-size:22px;
}
#ast-mobile-popup .ast-header-social-1-wrap .header-social-item svg,
#ast-mobile-popup .ast-header-social-1-wrap .header-social-item .ast-icon{
  width:22px;
  height:22px;
}

#ast-mobile-popup .tmo-mobile-popup-extra{
  flex-shrink:0;
  padding:14px 28px;
  border-top:1px solid rgba(15,23,42,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
#ast-mobile-popup .tmo-mobile-popup-cart{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  font-size:15px;
  color:inherit;
  text-decoration:none;
}
#ast-mobile-popup .tmo-mobile-popup-cart-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:var(--ast-global-color-1);
  color:#fff;
  font-size:11px;
  font-weight:700;
}
#ast-mobile-popup .tmo-mobile-popup-contact{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin:0;
  font-size:13px;
}
#ast-mobile-popup .tmo-mobile-popup-contact a{
  color:var(--ast-global-color-3);
  text-decoration:none;
}
#ast-mobile-popup .tmo-mobile-popup-contact a:hover{
  color:var(--ast-global-color-0);
}
