.ly-global-header,
.ly-global-header * {
box-sizing: border-box;
}
.ly-global-header {
position: relative;
z-index: 1000;
width: 100%;
height: 76px;
border-bottom: 1px solid rgba(15, 23, 42, 0.08);
background: rgba(255, 255, 255, 0.94);
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
color: var(--ly-color-ink, #090f1f);
font-family: var(--ly-font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif);
-webkit-font-smoothing: antialiased;
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
}
.ly-global-header__inner {
display: flex;
width: min(1280px, calc(100% - 64px));
height: 100%;
align-items: center;
gap: 28px;
margin: 0 auto;
}
.ly-global-header__brand {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 11px;
color: var(--ly-color-ink, #090f1f);
text-decoration: none;
}
.ly-global-header__brand img {
display: block;
flex: 0 0 auto;
width: auto;
max-width: 174px;
height: 40px;
object-fit: contain;
}
.ly-global-header__brand strong {
font-size: 19px;
font-weight: 760;
letter-spacing: -0.45px;
line-height: 1;
}
.ly-global-header__panel {
display: flex;
min-width: 0;
flex: 1;
align-items: center;
gap: 22px;
}
.ly-global-header__nav {
display: flex;
min-width: 0;
flex: 1;
align-items: center;
justify-content: center;
gap: clamp(2px, 0.45vw, 8px);
}
.ly-header-menu {
position: relative;
display: flex;
height: 76px;
align-items: center;
}
.ly-header-menu__link,
.ly-header-menu__trigger {
position: relative;
display: inline-flex;
height: 76px;
align-items: center;
gap: 7px;
padding: 0 11px;
border: 0;
background: transparent;
white-space: nowrap;
color: #3f4859;
font-family: inherit;
font-size: 13px;
font-weight: 650;
line-height: 1.2;
text-decoration: none;
cursor: pointer;
transition: color var(--ly-duration-fast, 160ms) ease;
}
.ly-header-menu__trigger > span {
width: 6px;
height: 6px;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
transform: translateY(-2px) rotate(45deg);
transition: transform var(--ly-duration-fast, 160ms) ease;
}
.ly-header-menu.is-open .ly-header-menu__trigger > span {
transform: translateY(2px) rotate(225deg);
}
.ly-header-menu__link::after,
.ly-header-menu__trigger::after {
position: absolute;
right: 0;
bottom: 15px;
left: 0;
width: 0;
height: 2px;
margin: auto;
border-radius: 3px;
background: var(--ly-color-brand, #315efb);
content: "";
transition: width var(--ly-duration-fast, 160ms) ease;
}
.ly-header-menu__link:hover,
.ly-header-menu__link:focus-visible,
.ly-header-menu__link[aria-current="page"],
.ly-header-menu__trigger:hover,
.ly-header-menu__trigger:focus-visible,
.ly-header-menu.is-current .ly-header-menu__trigger,
.ly-header-menu.is-open .ly-header-menu__trigger {
color: var(--ly-color-brand, #315efb);
}
.ly-header-menu__link:hover::after,
.ly-header-menu__link:focus-visible::after,
.ly-header-menu__link[aria-current="page"]::after,
.ly-header-menu.is-current .ly-header-menu__trigger::after,
.ly-header-menu.is-open .ly-header-menu__trigger::after {
width: 100%;
}
.ly-header-menu__dropdown {
position: absolute;
top: calc(100% - 8px);
left: 50%;
z-index: 20;
display: grid;
width: 230px;
gap: 4px;
padding: 10px;
border: 1px solid rgba(15, 23, 42, 0.08);
border-radius: 16px;
background: rgba(255, 255, 255, 0.98);
box-shadow: 0 22px 50px rgba(15, 23, 42, 0.14);
opacity: 0;
pointer-events: none;
transform: translate(-50%, 8px);
visibility: hidden;
transition:
opacity var(--ly-duration-fast, 160ms) ease,
transform var(--ly-duration-fast, 160ms) ease,
visibility var(--ly-duration-fast, 160ms) ease;
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
}
.ly-header-menu.is-open .ly-header-menu__dropdown {
opacity: 1;
pointer-events: auto;
transform: translate(-50%, 0);
visibility: visible;
}
.ly-header-menu__dropdown a {
display: flex;
min-height: 44px;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 10px 12px;
border-radius: 11px;
color: #344054;
font-size: 13px;
font-weight: 620;
line-height: 1.35;
text-decoration: none;
transition: background var(--ly-duration-fast, 160ms) ease, color var(--ly-duration-fast, 160ms) ease;
}
.ly-header-menu__dropdown a > span {
color: #98a2b3;
font-size: 11px;
}
.ly-header-menu__dropdown a:hover,
.ly-header-menu__dropdown a:focus-visible,
.ly-header-menu__dropdown a[aria-current="page"] {
background: #f2f5ff;
color: var(--ly-color-brand, #315efb);
}
@media (min-width: 1200px) {
.ly-header-menu:hover .ly-header-menu__dropdown,
.ly-header-menu:focus-within .ly-header-menu__dropdown {
opacity: 1;
pointer-events: auto;
transform: translate(-50%, 0);
visibility: visible;
}
}
.ly-global-header__actions {
display: flex;
flex: 0 0 auto;
align-items: center;
gap: 8px;
}
.ly-header-action,
.ly-header-account,
.ly-header-qq__trigger {
display: inline-flex;
min-height: 38px;
align-items: center;
border: 1px solid #e0e5ec;
border-radius: 12px;
background: rgba(255, 255, 255, 0.9);
color: #303a4d;
font-size: 11px;
font-weight: 680;
line-height: 1;
text-decoration: none;
}
.ly-header-action {
gap: 8px;
padding: 0 13px;
}
.ly-header-action--wecom {
border-color: rgba(49, 94, 251, 0.16);
background: var(--ly-color-brand, #315efb);
box-shadow: 0 10px 24px rgba(49, 94, 251, 0.17);
color: #fff;
}
.ly-header-action--wecom > span {
width: 7px;
height: 7px;
border-radius: 50%;
background: #54e2ba;
box-shadow: 0 0 0 3px rgba(84, 226, 186, 0.17);
}
.ly-header-qq {
position: relative;
}
.ly-header-qq__trigger {
height: 38px;
align-items: center;
justify-content: center;
gap: 7px;
padding: 0 12px;
font: inherit;
cursor: pointer;
}
.ly-header-qq__trigger > span {
width: 6px;
height: 6px;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
transform: translateY(-2px) rotate(45deg);
}
.ly-header-qq.is-open .ly-header-qq__trigger > span {
transform: translateY(2px) rotate(225deg);
}
.ly-header-qq__card {
position: absolute;
top: calc(100% + 12px);
right: 0;
z-index: 30;
display: grid;
width: 250px;
gap: 9px;
padding: 18px;
border: 1px solid rgba(15, 23, 42, 0.09);
border-radius: 16px;
background: rgba(255, 255, 255, 0.99);
box-shadow: 0 22px 52px rgba(15, 23, 42, 0.16);
opacity: 0;
pointer-events: none;
transform: translateY(8px);
visibility: hidden;
transition:
opacity var(--ly-duration-fast, 160ms) ease,
transform var(--ly-duration-fast, 160ms) ease,
visibility var(--ly-duration-fast, 160ms) ease;
}
.ly-header-qq.is-open .ly-header-qq__card {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
visibility: visible;
}
.ly-header-qq__card small {
color: #667085;
font-size: 12px;
font-weight: 600;
}
.ly-header-qq__card strong {
color: #101828;
font-size: 23px;
letter-spacing: 0.8px;
}
.ly-header-qq__copy {
min-height: 40px;
padding: 0 14px;
border: 0;
border-radius: 11px;
background: #eef2ff;
color: var(--ly-color-brand, #315efb);
font: inherit;
font-size: 12px;
font-weight: 700;
cursor: pointer;
}
.ly-header-qq__card p {
min-height: 17px;
margin: 0;
color: #1d9a73;
font-size: 11px;
line-height: 1.5;
}
.ly-header-action,
.ly-header-account,
.ly-header-account-compact,
.ly-header-icon,
.ly-header-qq__trigger {
transition:
border-color var(--ly-duration-fast, 160ms) ease,
box-shadow var(--ly-duration-fast, 160ms) ease,
transform var(--ly-duration-fast, 160ms) ease;
}
.ly-header-action:hover,
.ly-header-action:focus-visible,
.ly-header-account:hover,
.ly-header-account:focus-visible,
.ly-header-account-compact:hover,
.ly-header-account-compact:focus-visible,
.ly-header-icon:hover,
.ly-header-icon:focus-visible,
.ly-header-qq__trigger:hover,
.ly-header-qq__trigger:focus-visible,
.ly-header-qq.is-open .ly-header-qq__trigger {
border-color: rgba(49, 94, 251, 0.3);
box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
transform: translateY(-1px);
}
.ly-header-action--wecom:hover,
.ly-header-action--wecom:focus-visible {
background: var(--ly-color-brand-hover, #244bd5);
color: #fff;
}
.ly-header-account {
gap: 7px;
padding: 0 11px;
font-family: inherit;
cursor: pointer;
}
.ly-header-account-menu {
position: relative;
}
.ly-header-account-menu--compact {
display: none;
}
.ly-header-account__trigger > i {
width: 6px;
height: 6px;
margin-left: 1px;
border-right: 1.4px solid currentColor;
border-bottom: 1.4px solid currentColor;
transform: translateY(-2px) rotate(45deg);
}
.ly-header-account-menu.is-open .ly-header-account__trigger > i {
transform: translateY(2px) rotate(225deg);
}
.ly-header-account-menu__dropdown {
position: absolute;
top: calc(100% + 12px);
right: 0;
z-index: 35;
display: grid;
width: 224px;
gap: 4px;
padding: 10px;
border: 1px solid rgba(15, 23, 42, 0.09);
border-radius: 16px;
background: rgba(255, 255, 255, 0.99);
box-shadow: 0 22px 52px rgba(15, 23, 42, 0.16);
opacity: 0;
pointer-events: none;
transform: translateY(8px);
visibility: hidden;
transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
} .ly-header-account-menu__dropdown::before {
position: absolute;
top: -12px;
right: 0;
left: 0;
height: 12px;
content: "";
}
.ly-header-account-menu.is-open .ly-header-account-menu__dropdown {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
visibility: visible;
}
.ly-header-account-menu__dropdown a {
display: flex;
min-height: 42px;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 9px 11px;
border-radius: 10px;
color: #344054;
font-size: 12px;
font-weight: 680;
text-decoration: none;
}
.ly-header-account-menu__dropdown a span {
color: #98a2b3;
font-size: 10px;
}
.ly-header-account-menu__dropdown a:hover,
.ly-header-account-menu__dropdown a:focus-visible {
background: #f2f5ff;
color: var(--ly-color-brand, #315efb);
}
.ly-header-account-menu__dropdown a.is-logout {
margin-top: 4px;
border-top: 1px solid #eef0f4;
border-radius: 0 0 10px 10px;
}
@media (min-width: 1200px) {
.ly-header-account-menu:hover .ly-header-account-menu__dropdown,
.ly-header-account-menu:focus-within .ly-header-account-menu__dropdown {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
visibility: visible;
}
}
.ly-header-account-compact {
display: none;
min-width: 72px;
height: 44px;
flex: 0 0 auto;
align-items: center;
justify-content: center;
gap: 6px;
padding: 0 10px;
border: 1px solid rgba(49, 94, 251, 0.78);
border-radius: 13px;
background: var(--ly-color-brand, #315efb);
box-shadow: 0 8px 18px rgba(49, 94, 251, 0.16);
color: #fff;
text-decoration: none;
}
.ly-header-account > span,
.ly-header-account-compact > span {
position: relative;
width: 18px;
height: 18px;
border-radius: 50%;
background: #eff2f7;
}
.ly-header-account-compact > span {
width: 17px;
height: 17px;
background: rgba(255, 255, 255, 0.18);
}
.ly-header-account > span::before,
.ly-header-account > span::after,
.ly-header-account-compact > span::before,
.ly-header-account-compact > span::after {
position: absolute;
left: 50%;
border: 1.4px solid #5c6779;
content: "";
transform: translateX(-50%);
}
.ly-header-account > span::before,
.ly-header-account-compact > span::before {
top: 4px;
width: 4px;
height: 4px;
border-radius: 50%;
}
.ly-header-account > span::after,
.ly-header-account-compact > span::after {
bottom: 3px;
width: 9px;
height: 5px;
border-radius: 7px 7px 4px 4px;
}
.ly-header-account-compact > span::before,
.ly-header-account-compact > span::after {
border-color: rgba(255, 255, 255, 0.94);
}
.ly-header-account b {
font: inherit;
}
.ly-header-account-compact__label {
display: block;
font-size: 13px;
font-weight: 720;
line-height: 1;
}
.ly-header-account-compact > i {
display: none;
}
.ly-header-account-compact:hover,
.ly-header-account-compact:focus-visible {
border-color: var(--ly-color-brand-hover, #244bd5);
background: var(--ly-color-brand-hover, #244bd5);
box-shadow: 0 10px 22px rgba(49, 94, 251, 0.22);
color: #fff;
}
.ly-header-icon {
position: relative;
display: inline-flex;
width: 38px;
height: 38px;
align-items: center;
justify-content: center;
border: 1px solid #e0e5ec;
border-radius: 12px;
background: #f7f8fa;
text-decoration: none;
}
.ly-header-icon--cart > span {
position: relative;
width: 15px;
height: 11px;
border: 1.6px solid #465166;
border-top: 0;
border-radius: 2px 2px 4px 4px;
}
.ly-header-icon--cart > span::before {
position: absolute;
top: -5px;
left: -3px;
width: 6px;
height: 6px;
border-top: 1.6px solid #465166;
border-left: 1.6px solid #465166;
content: "";
}
.ly-header-icon--cart > span::after {
position: absolute;
right: 2px;
bottom: -5px;
width: 3px;
height: 3px;
border-radius: 50%;
background: #465166;
box-shadow: -9px 0 #465166;
content: "";
}
.ly-global-header__toggle {
display: none;
width: 42px;
height: 42px;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 5px;
margin-left: auto;
padding: 0;
border: 1px solid #e1e6ed;
border-radius: 13px;
background: #f7f8fa;
cursor: pointer;
}
.ly-global-header__toggle > span {
display: block;
width: 18px;
height: 1.5px;
border-radius: 2px;
background: #263145;
transition: transform var(--ly-duration-fast, 160ms) ease, opacity var(--ly-duration-fast, 160ms) ease;
}
@media (max-width: 1199px) {
body.ly-nav-open {
overflow: hidden;
}
.ly-global-header__inner {
width: min(100% - 48px, 1120px);
}
.ly-header-account-compact {
display: inline-flex;
}
.ly-header-account-menu--compact {
display: block;
margin-left: auto;
}
.ly-global-header__toggle {
display: inline-flex;
margin-left: 0;
}
.ly-global-header__toggle[aria-expanded="true"] > span:nth-child(1) {
transform: translateY(6.5px) rotate(45deg);
}
.ly-global-header__toggle[aria-expanded="true"] > span:nth-child(2) {
opacity: 0;
}
.ly-global-header__toggle[aria-expanded="true"] > span:nth-child(3) {
transform: translateY(-6.5px) rotate(-45deg);
}
.ly-global-header__panel {
position: absolute;
top: 76px;
right: 0;
left: 0;
display: none;
max-height: calc(100vh - 76px);
align-items: stretch;
flex-direction: column;
gap: 20px;
padding: 20px max(20px, calc((100vw - 1088px) / 2));
border-bottom: 1px solid #e1e6ed;
background: rgba(255, 255, 255, 0.985);
box-shadow: 0 26px 54px rgba(15, 23, 42, 0.12);
overflow-y: auto;
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
}
.ly-global-header__panel.is-open {
display: flex;
}
.ly-global-header__nav {
display: grid;
width: 100%;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.ly-header-menu {
display: block;
height: auto;
}
.ly-header-menu__link,
.ly-header-menu__trigger {
display: flex;
width: 100%;
height: 46px;
justify-content: space-between;
padding: 0 15px;
border: 1px solid #e7eaf0;
border-radius: 12px;
background: #fafbfc;
font-size: 13px;
}
.ly-header-menu__link::after,
.ly-header-menu__trigger::after {
display: none;
}
.ly-header-menu__dropdown {
position: static;
display: none;
width: 100%;
gap: 5px;
margin-top: 6px;
padding: 6px;
border-radius: 13px;
background: #f6f8fc;
box-shadow: none;
opacity: 1;
pointer-events: auto;
transform: none;
visibility: visible;
}
.ly-header-menu.is-open .ly-header-menu__dropdown {
display: grid;
transform: none;
}
.ly-header-menu__dropdown a {
min-height: 42px;
background: #fff;
}
.ly-global-header__actions {
display: grid;
width: 100%;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ly-header-action,
.ly-header-account,
.ly-header-qq__trigger,
.ly-header-icon {
width: 100%;
min-height: 46px;
justify-content: center;
}
.ly-global-header__actions > .ly-header-account-menu {
width: 100%;
}
.ly-header-qq__card {
right: 50%;
width: min(280px, calc(100vw - 32px));
transform: translate(50%, 8px);
}
.ly-header-qq.is-open .ly-header-qq__card {
transform: translate(50%, 0);
}
}
@media (max-width: 700px) {
.ly-global-header {
height: 68px;
}
.ly-global-header__inner {
width: calc(100% - 32px);
gap: 10px;
}
.ly-global-header__brand .ly-brand-mark {
width: 36px;
height: 36px;
border-radius: 11px;
}
.ly-global-header__brand img {
max-width: 150px;
height: 36px;
}
.ly-global-header__brand strong {
font-size: 18px;
}
.ly-global-header__panel {
top: 68px;
max-height: calc(100vh - 68px);
padding: 16px;
}
.ly-global-header__actions {
grid-template-columns: 1fr 1fr;
}
.ly-global-header__actions .ly-header-account-menu {
display: none;
}
.ly-header-action--wecom {
grid-column: 1 / -1;
}
.ly-header-qq__card {
right: auto;
left: 0;
transform: translateY(8px);
}
.ly-header-qq.is-open .ly-header-qq__card {
transform: translateY(0);
}
}
@media (max-width: 420px) {
.ly-global-header__nav {
grid-template-columns: 1fr;
}
}
@media print {
.ly-global-header {
display: none;
}
}