Files
wordpress-theme-aksrt/assets/css/frontend/header-userbox.css
T
2026-08-25 18:34:17 +08:00

496 lines
10 KiB
CSS

/**
* Header account popover.
*
* The shared legacy navigation styles provide the popover shell. This module
* owns AKSRT-specific account content such as check-in, wallet and VIP rows.
*/
/* The desktop action cluster owns one horizontal alignment context. */
.navbar-top .aksrt-navbar-actions {
display: flex;
align-items: center;
gap: 10px;
min-height: 50px;
margin-top: 0;
margin-bottom: 0;
padding: 0;
}
.navbar-top .aksrt-navbar-actions > *,
.navbar-top .aksrt-navbar-account,
.navbar-top .aksrt-navbar-account > li {
display: inline-flex;
align-items: center;
flex: 0 0 auto;
}
.navbar-top .aksrt-navbar-account > li {
position: relative;
padding: 0;
overflow: visible;
}
.navbar-top .aksrt-navbar-account > li > .sub-menu {
top: calc(100% + 5px);
right: 0;
left: auto;
z-index: 1002;
margin: 0;
}
.navbar-top .aksrt-navbar-account {
gap: 4px;
min-height: 50px;
margin: 0;
}
.navbar-top .aksrt-navbar-account.navbar-text {
float: none;
}
.navbar-top .aksrt-navbar-actions .navbar-cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 4px;
min-height: 29px;
margin: 0;
padding: .3em 1em !important;
border-radius: var(--radius-btn, 4px);
font-size: .8em;
line-height: 1.44;
}
.navbar-top .aksrt-navbar-actions .navbar-cta.radius {
border-radius: 50px;
}
.navbar-top .aksrt-navbar-actions .navbar-cta > .icon {
width: 1.2em;
height: 1.2em;
flex: 0 0 auto;
}
.navbar-top .aksrt-nav-icon,
.navbar-top .aksrt-nav-avatar {
display: inline-flex !important;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
padding: 0 !important;
overflow: visible !important;
border: 0 !important;
border-radius: 0;
background: transparent !important;
box-shadow: none !important;
}
.navbar-top .aksrt-nav-icon .icon {
width: 1.2em;
height: 1.2em;
}
.navbar-top .aksrt-nav-avatar {
margin-top: 0;
}
.navbar-top .aksrt-nav-avatar .avatar {
display: block;
width: 29px;
height: 29px;
border-radius: 50%;
object-fit: cover;
}
.navbar-top .aksrt-navbar-actions .toggle-radius {
flex: 0 0 29px;
margin: 0;
vertical-align: middle;
}
.navbar-top .aksrt-navbar-language {
margin: 0;
}
/* Anchor the VIP preview to the full navigation row instead of relying on
* the absolute panel's static position beside the compact CTA. */
.navbar-top .aksrt-navbar-actions .navbar-vip-hover {
position: relative;
align-self: stretch;
align-items: center;
overflow: visible;
}
.navbar-top .aksrt-navbar-actions .navbar-vip-hover > .sub-vip-card {
top: 100%;
right: 0;
left: auto;
width: max-content;
max-width: calc(100vw - 24px);
margin: 0;
z-index: 1002;
}
/* Keep the drop-down search panel above a fixed header (z-index: 999). */
.navbar-search {
z-index: 1001;
opacity: 0;
transform: translate3d(0, -24px, 0);
transition: transform .24s ease, opacity .18s ease, visibility 0s linear .24s;
will-change: transform, opacity;
}
.navbar-search.show {
opacity: 1;
transform: translate3d(0, 0, 0);
transition-delay: 0s;
}
.navbar-search .line-form-input:focus,
.navbar-search .line-form-input:focus-visible {
outline: 0;
box-shadow: none;
}
.navbar-search .search-close-box {
display: flex;
justify-content: flex-end;
max-width: 660px;
margin: 16px auto 0;
}
.navbar-search .search-close-box > .but {
float: none;
}
.aksrt-header-userbox {
width: 260px;
color: var(--color-ink-2);
}
.aksrt-header-userbox .user-info {
min-height: 44px;
padding: 2px;
}
.aksrt-header-userbox .user-info > .avatar {
flex: 0 0 44px;
width: 44px;
height: 44px;
object-fit: cover;
}
.aksrt-header-userbox .user-right,
.aksrt-header-userbox .user-right > .flex1 {
min-width: 0;
}
.aksrt-header-userbox .user-right b {
display: flex;
align-items: center;
gap: 4px;
max-width: 100%;
overflow: hidden;
white-space: nowrap;
}
.aksrt-header-userbox .display-name {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.aksrt-header-userbox .user-right .aksrt-vip-badge,
.aksrt-header-userbox .user-right .aksrt-user-level-icon,
.aksrt-header-userbox .user-right .aksrt-identity-medal,
.aksrt-header-userbox .user-right .aksrt-header-user-medal,
.aksrt-header-userbox .user-right .aksrt-identity-certification-icon {
flex: 0 0 auto;
height: 1.1em;
}
.aksrt-header-userbox .user-info > .abs-right {
top: 50%;
right: 2px;
transform: translateY(-50%);
display: inline-flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
border-radius: 50%;
background: var(--surface-2);
color: var(--color-ink-3);
}
.aksrt-header-userbox .aksrt-notification-badge {
position: absolute;
top: -4px;
right: -4px;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 17px;
height: 17px;
padding: 0 4px;
border: 2px solid var(--surface-1);
border-radius: 999px;
background: #e74c3c;
color: #fff;
font-size: 10px;
font-weight: 700;
line-height: 1;
}
.aksrt-nav-notification .aksrt-notification-badge {
position: absolute;
top: 2px;
right: 2px;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 16px;
height: 16px;
padding: 0 4px;
border: 2px solid var(--surface-1);
border-radius: 999px;
background: #e74c3c;
color: #fff;
font-size: 9px;
font-weight: 700;
line-height: 1;
}
.aksrt-header-wallet {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
width: 100%;
padding: 9px 10px;
border-radius: 8px;
background: var(--surface-2);
color: var(--color-ink-2);
font-size: 12px;
line-height: 1.35;
}
.aksrt-header-wallet:hover {
color: var(--color-ink);
}
.aksrt-header-wallet__item {
min-width: 0;
white-space: nowrap;
}
.aksrt-header-wallet__item i {
margin-right: 2px;
color: var(--color-ink-3);
}
.aksrt-header-wallet__item b {
margin-left: 2px;
color: var(--color-ink);
font-weight: 700;
}
.aksrt-header-checkin {
display: inline-flex !important;
align-items: center;
justify-content: center;
gap: 6px;
width: 100% !important;
min-height: 36px;
margin: 0;
padding: 8px 10px !important;
border: 0 !important;
border-radius: 6px !important;
background: #fff6db !important;
color: #8a5a00 !important;
font-size: 13px !important;
font-weight: 600;
line-height: 1.3;
white-space: nowrap;
}
.aksrt-header-checkin > i {
margin: 0 !important;
color: #b78103 !important;
}
.aksrt-header-checkin:hover {
background: #fff0c2 !important;
color: #8a5a00 !important;
}
.aksrt-header-checkin.is-done,
.aksrt-header-checkin:disabled,
.aksrt-header-checkin.is-done:hover,
.aksrt-header-checkin:disabled:hover {
cursor: default;
opacity: .85;
background: #f3f4f6 !important;
color: #555 !important;
}
.aksrt-header-checkin.is-done > i,
.aksrt-header-checkin:disabled > i {
color: #777 !important;
}
.aksrt-header-payvip__cta,
.aksrt-header-payvip:not(.is-vip) .payvip-icon,
.aksrt-header-payvip:not(.is-vip) .but {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 6px !important;
width: 100% !important;
min-width: 0 !important;
min-height: 36px;
margin: 0 !important;
padding: 8px 10px !important;
border: 0 !important;
border-radius: 6px !important;
background: linear-gradient(90deg, #ff6b6b, #f04494) !important;
color: #fff !important;
font-size: 13px !important;
font-weight: 600;
line-height: 1.3;
text-align: center;
white-space: nowrap;
}
.aksrt-header-payvip__cta > i,
.aksrt-header-payvip:not(.is-vip) .payvip-icon > i,
.aksrt-header-payvip:not(.is-vip) .but > i {
margin: 0 !important;
color: inherit !important;
}
.aksrt-header-payvip__cta:hover {
color: #fff !important;
opacity: .92;
}
.aksrt-header-payvip__active {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px !important;
width: 100%;
min-height: 42px;
padding: 7px 10px !important;
white-space: nowrap;
}
.aksrt-header-payvip__level {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
}
.aksrt-header-payvip__level > i {
margin: 0 !important;
}
.aksrt-header-payvip__exp {
display: inline;
margin: 0;
padding: 0;
border: 0;
background: none !important;
box-shadow: none;
color: inherit;
font-size: .85em;
font-weight: 400;
line-height: 1.3;
opacity: .9;
white-space: nowrap;
}
/* Navigation links are globally capped at 50px. Account actions are taller
* icon tiles and must opt out or their labels overlap the following row. */
.navbar-top .aksrt-header-userbox .header-user-href {
align-items: flex-start;
gap: 4px;
}
.navbar-top .aksrt-header-userbox .header-user-href > a,
.aksrt-header-userbox .header-user-href > a {
display: flex;
flex: 1 1 0;
flex-direction: column;
align-items: center;
min-width: 0;
max-height: none;
padding: 10px 2px 2px;
line-height: 1.35;
}
.aksrt-header-userbox .header-user-href > a:hover {
opacity: .75;
}
.aksrt-header-userbox .header-user-href .toggle-radius {
flex: 0 0 36px;
width: 36px;
height: 36px;
}
.aksrt-header-userbox .header-user-href > a > div:last-child {
max-width: 100%;
overflow: hidden;
font-size: 12px;
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-navbar .aksrt-header-userbox {
width: 100%;
max-width: 400px;
margin-right: auto;
margin-left: auto;
}
body.dark-theme .aksrt-header-checkin {
background: rgba(255, 193, 7, .18) !important;
color: #f0c14b !important;
}
body.dark-theme .aksrt-header-checkin > i {
color: #f0c14b !important;
}
body.dark-theme .aksrt-header-checkin.is-done,
body.dark-theme .aksrt-header-checkin:disabled {
background: rgba(255, 255, 255, .08) !important;
color: #bbb !important;
}
body.dark-theme .aksrt-header-wallet {
background: rgba(255, 255, 255, .06);
}
body.dark-theme .aksrt-header-wallet__item,
body.dark-theme .aksrt-header-wallet__item b {
color: inherit;
}
@media (max-width: 360px) {
.aksrt-header-userbox .header-user-href {
gap: 2px;
}
.aksrt-header-userbox .header-user-href .toggle-radius {
flex-basis: 34px;
width: 34px;
height: 34px;
}
}