feat(phase-1): align hamburger button lines & implement typographic + SVG logo
This commit is contained in:
+41
-15
@@ -441,6 +441,9 @@ img, picture { display: block; max-width: 100%; height: auto; }
|
|||||||
backdrop-filter: blur(14px);
|
backdrop-filter: blur(14px);
|
||||||
-webkit-backdrop-filter: blur(14px);
|
-webkit-backdrop-filter: blur(14px);
|
||||||
transition: background 0.3s ease, border-color 0.3s ease;
|
transition: background 0.3s ease, border-color 0.3s ease;
|
||||||
|
padding: 0;
|
||||||
|
outline: none;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
[data-theme="dark"] .nav-trigger {
|
[data-theme="dark"] .nav-trigger {
|
||||||
background: rgba(26,29,36,0.88);
|
background: rgba(26,29,36,0.88);
|
||||||
@@ -455,15 +458,15 @@ img, picture { display: block; max-width: 100%; height: auto; }
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nav-burger-lines {
|
.nav-burger-lines {
|
||||||
width: 20px;
|
width: 22px;
|
||||||
height: 14px;
|
height: 16px;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.nav-line {
|
.nav-line {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 1.5px;
|
height: 2px;
|
||||||
background-color: var(--color-bg-dark);
|
background-color: var(--color-bg-dark);
|
||||||
transition: transform 0.4s var(--ease-fluid-slide),
|
transition: transform 0.4s var(--ease-fluid-slide),
|
||||||
opacity 0.3s ease,
|
opacity 0.3s ease,
|
||||||
@@ -472,11 +475,11 @@ img, picture { display: block; max-width: 100%; height: auto; }
|
|||||||
[data-theme="dark"] .nav-line { background-color: var(--color-light-gold); }
|
[data-theme="dark"] .nav-line { background-color: var(--color-light-gold); }
|
||||||
.nav-trigger.active .nav-line { background-color: var(--color-white); }
|
.nav-trigger.active .nav-line { background-color: var(--color-white); }
|
||||||
.nav-line--top { top: 0; }
|
.nav-line--top { top: 0; }
|
||||||
.nav-line--mid { top: 6px; }
|
.nav-line--mid { top: 7px; }
|
||||||
.nav-line--bot { top: 12px; }
|
.nav-line--bot { top: 14px; }
|
||||||
.nav-trigger.active .nav-line--top { transform: translateY(6px) rotate(45deg); }
|
.nav-trigger.active .nav-line--top { transform: translateY(7px) rotate(45deg); }
|
||||||
.nav-trigger.active .nav-line--mid { opacity: 0; transform: scaleX(0); }
|
.nav-trigger.active .nav-line--mid { opacity: 0; transform: scaleX(0); }
|
||||||
.nav-trigger.active .nav-line--bot { transform: translateY(-6px) rotate(-45deg); }
|
.nav-trigger.active .nav-line--bot { transform: translateY(-7px) rotate(-45deg); }
|
||||||
|
|
||||||
/* Logo header (top-left fixed) */
|
/* Logo header (top-left fixed) */
|
||||||
.nav-logo {
|
.nav-logo {
|
||||||
@@ -486,16 +489,37 @@ img, picture { display: block; max-width: 100%; height: auto; }
|
|||||||
z-index: 1001;
|
z-index: 1001;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
.nav-logo img {
|
.logo-icon {
|
||||||
height: clamp(48px, 7vw, 80px);
|
color: var(--accent);
|
||||||
width: auto;
|
transition: transform 0.3s var(--ease-fluid-slide);
|
||||||
display: block;
|
flex-shrink: 0;
|
||||||
transition: opacity 0.3s ease;
|
}
|
||||||
|
.nav-logo:hover .logo-icon {
|
||||||
|
transform: rotate(-12deg) scale(1.08);
|
||||||
|
}
|
||||||
|
.logo-text {
|
||||||
|
font-family: var(--font-serif-display);
|
||||||
|
font-size: clamp(1.3rem, 2.4vw, 1.75rem);
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--ink);
|
||||||
|
letter-spacing: -0.015em;
|
||||||
|
text-decoration: none;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: baseline;
|
||||||
|
gap: 0.05em;
|
||||||
|
transition: transform 0.3s var(--ease-fluid-slide), color 0.3s ease;
|
||||||
|
}
|
||||||
|
.logo-text span {
|
||||||
|
color: var(--accent);
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.nav-logo:hover .logo-text {
|
||||||
|
transform: translateY(-1px);
|
||||||
}
|
}
|
||||||
.nav-logo .logo--dark { display: none; }
|
|
||||||
[data-theme="dark"] .nav-logo .logo--light { display: none; }
|
|
||||||
[data-theme="dark"] .nav-logo .logo--dark { display: block; }
|
|
||||||
|
|
||||||
/* Overlay */
|
/* Overlay */
|
||||||
.nav-overlay {
|
.nav-overlay {
|
||||||
@@ -553,6 +577,8 @@ img, picture { display: block; max-width: 100%; height: auto; }
|
|||||||
margin-top: clamp(2rem, 4vh, 4rem);
|
margin-top: clamp(2rem, 4vh, 4rem);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(10px);
|
transform: translateY(10px);
|
||||||
|
|||||||
+6
-2
@@ -9,8 +9,12 @@ $langParamAmp = isset($lang) && $lang === 'de' ? '&lang=de' : '';
|
|||||||
|
|
||||||
<!-- Fixed Logo (top-left) -->
|
<!-- Fixed Logo (top-left) -->
|
||||||
<a class="nav-logo" href="/index.php<?php echo $langParam; ?>" aria-label="FlixCooks – Home">
|
<a class="nav-logo" href="/index.php<?php echo $langParam; ?>" aria-label="FlixCooks – Home">
|
||||||
<img class="logo--light" src="/assets/logo-black.png" alt="FlixCooks">
|
<svg class="logo-icon" viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="1.75">
|
||||||
<img class="logo--dark" src="/assets/logo-white.png" alt="FlixCooks">
|
<path d="M2 19h20M5 19a7 7 0 0 1 14 0" stroke-linecap="round"/>
|
||||||
|
<path d="M12 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z" fill="currentColor"/>
|
||||||
|
<path d="M12 5v1M7 19h10" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
<span class="logo-text">Flix<span>Cooks</span></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<!-- Fixed Hamburger Button (top-right) -->
|
<!-- Fixed Hamburger Button (top-right) -->
|
||||||
|
|||||||
Reference in New Issue
Block a user