.cooldrama-auth-social-menu,
.cooldrama-user-menu {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  order: 4;
  margin-left: 0.55rem;
  color: var(--cooldrama-theme-header-contrast);
}

.cooldrama-signin-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 6.4rem;
  min-height: 2.45rem;
  padding: 0 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--wp--preset--border-radius--sm, 3px);
  background: color-mix(in srgb, var(--cooldrama-theme-header-bg) 82%, #000 18%);
  color: var(--cooldrama-theme-header-contrast);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.cooldrama-signin-link:hover,
.cooldrama-signin-link:focus-visible,
.cooldrama-signin-link[aria-expanded="true"] {
  background: var(--cooldrama-theme-header-item-active-bg);
  color: var(--cooldrama-theme-header-item-active-text);
  outline: none;
}

.cooldrama-signin-link .material-icons {
  font-size: 1.45rem;
}

.cooldrama-social-login-panel {
  position: absolute;
  z-index: 125;
  top: calc(100% + 0.12rem);
  right: 0;
  display: grid;
  width: 8.6rem;
  padding: 0.42rem 0;
  border-radius: 3px;
  background: var(--cooldrama-theme-submenu-bg);
  color: var(--cooldrama-theme-submenu-text);
  box-shadow: var(--cooldrama-theme-submenu-shadow);
}

.cooldrama-social-login-panel[hidden],
.cooldrama-user-menu-panel[hidden] {
  display: none !important;
}

.cooldrama-social-login-item {
  position: relative;
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: center;
  justify-content: stretch;
  gap: 0.52rem;
  width: 100%;
  min-height: 3rem;
  padding: 0 0.88rem;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1;
  text-align: left;
  cursor: pointer;
}

.cooldrama-social-login-item:hover,
.cooldrama-social-login-item:focus-visible {
  background: var(--cooldrama-theme-submenu-hover-bg);
  outline: none;
}

.cooldrama-social-login-item.is-disabled {
  cursor: default;
}

.cooldrama-social-login-icon {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--cooldrama-theme-submenu-text);
  line-height: 1;
}

.cooldrama-social-login-icon svg {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

.cooldrama-social-login-google-hitbox {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  opacity: 0.01;
}

.cooldrama-social-login-google-hitbox > div,
.cooldrama-social-login-google-hitbox iframe {
  width: 100% !important;
  height: 100% !important;
}

.cooldrama-social-login-error {
  margin: 0.25rem 0.85rem 0.45rem;
  color: #ffb4b4;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.3;
}

.cooldrama-user-avatar-button {
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #009688;
  box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px rgba(0, 0, 0, 0.14), 0 1px 18px rgba(0, 0, 0, 0.12);
  color: #fff;
  cursor: pointer;
  overflow: hidden;
}

.cooldrama-user-avatar-visual {
  display: inline-grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-color: #009688;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}

.cooldrama-user-avatar-visual.has-image {
  color: transparent;
}

.cooldrama-user-menu-panel {
  position: absolute;
  z-index: 120;
  top: 100%;
  right: 0;
  width: 9.5rem;
  padding: 0.5rem 0;
  overflow: hidden;
  border-radius: 4px;
  background: var(--cooldrama-theme-panel-bg, #424242);
  color: var(--cooldrama-theme-submenu-text);
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px rgba(0, 0, 0, 0.14), 0 1px 10px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}

.cooldrama-user-menu-head {
  display: grid;
  grid-template-columns: 3.125rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  height: 5.125rem;
  padding: 1rem;
  box-sizing: border-box;
}

.cooldrama-user-menu-divider {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--cooldrama-theme-submenu-glass-border);
}

.cooldrama-user-menu-avatar {
  display: inline-grid;
  place-items: center;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  overflow: hidden;
}

.cooldrama-user-menu-head > div {
  min-width: 0;
  min-height: 3.125rem;
}

.cooldrama-user-menu-head strong {
  display: block;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  color: currentColor;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
}

.cooldrama-user-menu-panel a,
.cooldrama-user-menu-panel button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 3rem;
  height: 3rem;
  padding: 0 1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--cooldrama-theme-submenu-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 3rem;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
}

.cooldrama-user-menu-panel a:hover,
.cooldrama-user-menu-panel a:focus-visible,
.cooldrama-user-menu-panel button:hover,
.cooldrama-user-menu-panel button:focus-visible {
  background: var(--cooldrama-theme-submenu-hover-bg);
  outline: none;
}

.cooldrama-user-menu-panel .material-icons {
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 1rem;
  font-size: 1.5rem;
  line-height: 1.5rem;
}

@media (max-width: 62.5rem) {
  .cooldrama-auth-social-menu,
  .cooldrama-user-menu {
    margin-left: 0.45rem;
  }

  .cooldrama-signin-link {
    min-width: 6.4rem;
    min-height: 2.4rem;
    padding: 0 0.75rem;
  }

}

@media (max-width: 37.5rem) {
  .cooldrama-signin-link {
    min-width: 0;
    width: 2.5rem;
    padding: 0;
  }

  .cooldrama-signin-link > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .cooldrama-social-login-panel {
    width: 8.6rem;
  }

  .cooldrama-user-menu-panel {
    width: min(9.5rem, calc(100vw - 1rem));
  }
}
