feat(ui): align top navigation capsules with GL glass header

This commit is contained in:
Ruslan Bakiev
2026-04-02 16:56:20 +07:00
parent d72de0f8c3
commit 42a90cd2dc
3 changed files with 127 additions and 30 deletions

View File

@@ -69,27 +69,123 @@ body {
box-shadow: 0 20px 48px color-mix(in oklab, var(--color-primary) 14%, transparent);
}
.glass-capsule {
border: 1px solid rgba(255, 255, 255, 0.42);
background: linear-gradient(120deg, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.12));
backdrop-filter: blur(10px);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
.fregat-header-glass {
background: transparent;
}
.fregat-header-backdrop {
position: absolute;
inset: 0;
height: 300%;
background: rgba(255, 255, 255, 0.06);
-webkit-backdrop-filter: blur(16px) saturate(180%);
backdrop-filter: blur(16px) saturate(180%);
-webkit-mask-image: linear-gradient(to bottom, black 0%, black 22%, rgba(0, 0, 0, 0.35) 46%, rgba(0, 0, 0, 0.1) 70%, transparent 100%);
mask-image: linear-gradient(to bottom, black 0%, black 22%, rgba(0, 0, 0, 0.35) 46%, rgba(0, 0, 0, 0.1) 70%, transparent 100%);
pointer-events: none;
z-index: 0;
}
.fregat-header-row {
gap: 0.5rem;
--fregat-pill-shell-px: 0.5rem;
--fregat-pill-shell-py: 0.5rem;
}
.fregat-pill-shell {
padding-inline: var(--fregat-pill-shell-px);
padding-block: var(--fregat-pill-shell-py);
}
.fregat-pill-glass {
position: relative;
isolation: isolate;
background: rgba(255, 255, 255, 0.16);
border: 1px solid rgba(255, 255, 255, 0.22);
-webkit-backdrop-filter: blur(20px) saturate(180%);
backdrop-filter: blur(20px) saturate(180%);
box-shadow:
0 8px 32px rgba(31, 38, 135, 0.16),
inset 0 4px 20px rgba(255, 255, 255, 0.2);
}
.fregat-pill-glass::after {
content: '';
position: absolute;
inset: 0;
z-index: 0;
border-radius: inherit;
background: rgba(255, 255, 255, 0.12);
box-shadow:
inset -10px -8px 0 -11px rgba(255, 255, 255, 1),
inset 0 -9px 0 -8px rgba(255, 255, 255, 1);
opacity: 0.35;
filter: blur(1px) brightness(112%);
pointer-events: none;
}
.fregat-pill-glass > * {
position: relative;
z-index: 1;
}
.fregat-pill-left,
.fregat-pill-right {
flex: 0 0 auto;
}
.fregat-pill-center {
min-width: 0;
}
.lk-nav-link {
@apply inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm font-semibold transition-all duration-200;
color: rgba(255, 255, 255, 0.85);
color: color-mix(in oklab, var(--color-base-content) 78%, transparent);
}
.lk-nav-link:hover {
background: rgba(255, 255, 255, 0.2);
color: #ffffff;
background: rgba(255, 255, 255, 0.44);
color: var(--color-base-content);
}
.lk-nav-link-active {
background: #ffffff;
color: var(--brand-primary-deep);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13);
background: color-mix(in oklab, var(--color-primary) 86%, white);
color: var(--color-primary-content);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.11);
}
@media (min-width: 1024px) {
.fregat-header-row {
min-height: 3rem;
--fregat-pill-shell-px: 0.75rem;
}
.fregat-pill-brand,
.fregat-pill-left,
.fregat-pill-center,
.fregat-pill-right {
position: absolute;
top: 0;
}
.fregat-pill-brand {
left: 0;
}
.fregat-pill-left {
left: 7.25rem;
}
.fregat-pill-center {
left: 50%;
width: max-content;
max-width: min(58vw, 900px);
transform: translateX(-50%);
}
.fregat-pill-right {
right: 0;
}
}
.product-card-anim {