/* Keep only auth-controlled login/account UI out of first paint until JS resolves auth. */
/* header-auth-slot-placeholder-v1 */
/* header-right-actions-stable-v1 */
header.site-header .nav-account-actions {
  min-width: 185px;
}

header.viliante-mobile-site-header .viliante-mobile-header-tools {
  min-width: 144px;
}

html:not([data-viliante-auth-state]) header.site-header a[href="/account"][aria-label="My Account"],
html:not([data-viliante-auth-state]) header.viliante-mobile-site-header a[href="/account"][aria-label="My Account"],
html:not([data-viliante-auth-state]) header.site-header .header-login-btn,
html:not([data-viliante-auth-state]) .viliante-mobile-drawer .viliante-mobile-login-link,
html:not([data-viliante-auth-state]) .viliante-auth-mobile-account-link {
  visibility: hidden !important;
  pointer-events: none !important;
}

html[data-viliante-auth-state="logged-out"] header.site-header a[href="/account"][aria-label="My Account"],
html[data-viliante-auth-state="logged-out"] header.viliante-mobile-site-header a[href="/account"][aria-label="My Account"],
html[data-viliante-auth-state="logged-out"] .viliante-auth-mobile-account-link,
html[data-viliante-auth-state="logged-in"] header.site-header .header-login-btn,
html[data-viliante-auth-state="logged-in"] .viliante-mobile-drawer .viliante-mobile-login-link {
  display: none !important;
}

/* header-dropdown-close-fix-v1 */
/* faq-canonical-header-sync-v1 */
/* header-dropdown-index-close-final-v1 */
/* header-first-load-flash-fix-v1 */
.viliante-account-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.viliante-account-dropdown {
  display: none !important;
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  z-index: 10020;
  width: 246px;
  padding: 12px;
  border: 1px solid rgba(16, 35, 63, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 58px rgba(16, 35, 63, 0.16);
  color: #0c2340;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-6px) !important;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.viliante-account-menu.is-account-menu-open .viliante-account-dropdown {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.viliante-account-dropdown-head {
  display: grid;
  gap: 3px;
  padding: 8px 8px 11px;
  border-bottom: 1px solid rgba(16, 35, 63, 0.09);
}

.viliante-account-dropdown-name {
  overflow: hidden;
  color: #071a33;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.viliante-account-dropdown-email {
  overflow: hidden;
  color: #65758a;
  font-size: 0.78rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.viliante-account-dropdown-links {
  display: grid;
  gap: 2px;
  padding: 8px 0;
}

.viliante-account-dropdown a,
.viliante-account-dropdown-logout {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 38px;
  padding: 9px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #10233f;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.viliante-account-dropdown a:hover,
.viliante-account-dropdown a:focus-visible,
.viliante-account-dropdown-logout:hover,
.viliante-account-dropdown-logout:focus-visible {
  outline: none;
  background: rgba(21, 89, 183, 0.09);
  color: #0a3f8d;
}

.viliante-account-dropdown-logout {
  border-top: 1px solid rgba(16, 35, 63, 0.09);
  border-radius: 0 0 10px 10px;
  color: #23354f;
}

@media (max-width: 1024px) {
  header.viliante-mobile-site-header .viliante-account-menu {
    position: relative;
  }

  header.viliante-mobile-site-header .viliante-account-dropdown {
    right: 0;
    top: calc(100% + 10px);
    width: min(280px, calc(100vw - 28px));
  }

  .viliante-mobile-drawer-actions .viliante-mobile-btn[href="/cart"] {
    display: none !important;
  }
}

/* mobile-logged-out-account-slot-collapse-v1 */
@media (max-width: 1024px) {
  html[data-viliante-auth-state="logged-out"] body > header.viliante-mobile-site-header .viliante-mobile-header-tools {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }

  html[data-viliante-auth-state="logged-out"] body > header.viliante-mobile-site-header .viliante-account-menu,
  html[data-viliante-auth-state="logged-out"] body > header.viliante-mobile-site-header a[href="/account"][aria-label="My Account"] {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex-basis: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* logged-in-header-icons-spacing-v1
   Desktop logged-in header only: equalize Search / Cart / Account icon spacing and nudge the group right. */
@media (min-width: 1025px) {
  html[data-viliante-auth-state="logged-in"] body > header.site-header .nav-account-actions {
    gap: 12px !important;
    transform: translateX(8px) !important;
  }

  html[data-viliante-auth-state="logged-in"] body > header.site-header .nav-account-actions > .header-icon-btn,
  html[data-viliante-auth-state="logged-in"] body > header.site-header .nav-account-actions > .viliante-account-menu,
  html[data-viliante-auth-state="logged-in"] body > header.site-header .nav-account-actions > .viliante-account-menu > .header-icon-btn {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
