/* Signed-in user menu — matches site-ui nav links and Explore dropdown. */

.public-user-menu {
  position: relative;
  flex-shrink: 0;
}

.site-ui .site-nav .public-user-menu__signin.nav-link,
.vm-account-shell .public-user-menu__signin.nav-link {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.public-user-menu__trigger {
  list-style: none;
  cursor: pointer;
}

.public-user-menu__trigger::-webkit-details-marker {
  display: none;
}

/* Same as .site-ui .site-nav .nav-link (homepage + VM bar + account shell header). */
.site-ui .site-nav .public-user-menu__trigger.nav-link,
.vm-account-shell .public-user-menu__trigger.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: var(--type-label);
  letter-spacing: var(--type-label-tracking);
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}

.site-ui .site-nav .public-user-menu__trigger.nav-link > span,
.vm-account-shell .public-user-menu__trigger.nav-link > span {
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.site-ui .site-nav .public-user-menu__trigger.nav-link:hover,
.site-ui .site-nav .public-user-menu__trigger.nav-link:focus-visible,
.vm-account-shell .public-user-menu__trigger.nav-link:hover,
.vm-account-shell .public-user-menu__trigger.nav-link:focus-visible,
.public-user-menu[open] .public-user-menu__trigger.nav-link {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  outline: none;
}

.public-user-menu[open] .public-user-menu__trigger.nav-link {
  color: #fff;
}

/* In-flow chevron so the trigger’s right edge (incl. icon) aligns with page gutter / content. */
.site-ui .site-nav .public-user-menu .site-nav__chevron,
.vm-account-shell .public-user-menu .site-nav__chevron {
  width: 10px;
  height: 6px;
  margin: 0;
  pointer-events: none;
  opacity: 0.9;
  transition: transform 0.25s ease;
}

.public-user-menu[open] .site-nav__chevron {
  transform: rotate(180deg);
}

.public-user-menu__panel {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 450;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: max-content;
  min-width: 0;
  max-width: calc(100vw - 1.5rem);
  margin: 0;
  padding: 0.65rem 0.75rem 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  background: var(--background-color, #000);
  box-shadow: none;
}

.public-user-menu__id {
  display: none;
}

.public-user-menu__signout,
.public-user-menu__panel > .public-user-menu__item--signout {
  margin: 0.25rem 0 0;
  padding: 0.55rem 0 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  box-sizing: border-box;
}

.public-user-menu__panel .public-user-menu__item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  font: var(--type-label);
  letter-spacing: var(--type-label-tracking);
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  white-space: nowrap;
  appearance: none;
  -webkit-appearance: none;
}

.public-user-menu__panel .public-user-menu__item:hover,
.public-user-menu__panel .public-user-menu__item:focus-visible {
  color: rgba(255, 255, 255, 0.7);
  background: transparent;
  outline: none;
}

.public-user-menu__panel .public-user-menu__item--page {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: auto;
  max-width: 100%;
}

.public-user-menu__page-icon {
  width: 0.9rem;
  height: 0.9rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  flex: none;
}

.public-user-menu__panel .public-user-menu__item--signout,
.public-user-menu__panel .public-user-menu__item--signout:hover,
.public-user-menu__panel .public-user-menu__item--signout:focus-visible {
  color: #f87171;
}

.public-user-menu__panel .public-user-menu__item--signout:hover,
.public-user-menu__panel .public-user-menu__item--signout:focus-visible {
  color: #fca5a5;
}

/* Solid chrome while open (same black as scrolled homepage header). */
.site-ui .site-header:has(.public-user-menu[open]) {
  background-color: var(--background-color, #000);
  background-image: none;
}

.vm-account-shell .vm-account__header:has(.public-user-menu[open]) {
  background: var(--background-color, #000);
}

/* VM / site-ui header: don’t inherit Explore/mobile .site-nav__sublink rules. */
.site-ui .site-nav .public-user-menu__panel .site-nav__sublink.public-user-menu__item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  font: var(--type-label);
  letter-spacing: var(--type-label-tracking);
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  white-space: nowrap;
}

.site-ui .site-nav .public-user-menu__panel .site-nav__sublink.public-user-menu__item:hover,
.site-ui .site-nav .public-user-menu__panel .site-nav__sublink.public-user-menu__item:focus-visible {
  color: rgba(255, 255, 255, 0.7);
  background: transparent;
}

.site-ui .site-nav .public-user-menu__panel .public-user-menu__item--page.site-nav__sublink {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: auto;
  max-width: 100%;
}

.site-ui .site-nav .public-user-menu__panel .public-user-menu__item--signout.site-nav__sublink,
.site-ui .site-nav .public-user-menu__panel button.public-user-menu__item--signout.site-nav__sublink {
  color: #f87171;
}

.site-ui .site-nav .public-user-menu__panel .public-user-menu__item--signout.site-nav__sublink:hover,
.site-ui .site-nav .public-user-menu__panel .public-user-menu__item--signout.site-nav__sublink:focus-visible,
.site-ui .site-nav .public-user-menu__panel button.public-user-menu__item--signout.site-nav__sublink:hover,
.site-ui .site-nav .public-user-menu__panel button.public-user-menu__item--signout.site-nav__sublink:focus-visible {
  color: #fca5a5;
  background: transparent;
}
