hermina/assets/css/components/_header.css

196 lines
4.8 KiB
CSS

/* /assets/css/components/_header.css */
/* --- GLAVA IN NAVIGACIJA --- */
.main-header {
background-color: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
box-shadow: var(--shadow-light);
border-bottom: 1px solid var(--color-border);
position: relative; /* Potrebno za z-index mobilnega menija */
z-index: 1000;
}
.header-container {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--spacing-m) var(--spacing-l);
max-width: 1600px;
margin: 0 auto;
}
.logo a {
font-family: var(--font-heading);
font-weight: 800;
font-size: 1.2rem;
color: var(--color-text);
letter-spacing: 0.5px;
}
/* MOBILNA NAVIGACIJA: Osnovni stili */
.main-nav {
display: none; /* Privzeto skrito za mobilne naprave */
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background-color: rgba(253, 253, 253, 0.98);
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
flex-direction: column;
justify-content: center;
align-items: center;
transform: translateY(-100%);
transition: transform var(--transition-medium);
}
.main-nav.open { /* Uporabljamo razred 'open' za aktivacijo mobilnega menija */
display: flex;
transform: translateY(0);
}
.main-nav ul {
list-style: none;
display: flex;
flex-direction: column;
gap: 1.5rem;
align-items: center;
text-align: center;
padding: 0;
}
.main-nav a {
color: var(--color-text);
font-weight: 600;
font-size: 1.2rem;
padding: var(--spacing-s) 0;
position: relative;
letter-spacing: 0.5px;
}
.main-nav a::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 2px;
background-color: var(--color-primary-accent);
transition: width var(--transition-fast);
}
.main-nav a:hover::after,
.main-nav a.active::after {
width: 100%;
}
.main-nav a.nav-cta {
background-color: var(--color-primary-accent);
color: var(--color-white);
padding: var(--spacing-s) var(--spacing-m);
border-radius: 50px;
transition: background-color var(--transition-fast), transform var(--transition-fast);
}
.main-nav a.nav-cta:hover {
background-color: var(--color-primary-accent-dark);
color: var(--color-white);
transform: translateY(-2px);
}
.main-nav a.nav-cta:hover::after {
width: 0;
}
/* --- MOBILNA NAVIGACIJA (HAMBURGER) --- */
.mobile-nav-toggle {
display: block; /* Hamburger gumb je privzeto viden na mobilnih napravah */
background: none;
border: none;
cursor: pointer;
z-index: 1001; /* Višji od menija, da je vedno na vrhu */
padding: var(--spacing-s);
position: relative;
}
.hamburger {
display: block;
position: relative;
width: 24px;
height: 2px;
background: var(--color-text);
transition: all 0.25s ease-in-out;
}
.hamburger::before, .hamburger::after {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 2px;
background: var(--color-text);
transition: all 0.25s ease-in-out;
}
.hamburger::before { top: -8px; }
.hamburger::after { bottom: -8px; }
/* --- MEDIA QUERIES --- */
@media (max-width: 991px) {
.mobile-nav-toggle {
display: block; /* Prikaže hamburger gumb na mobilnih napravah */
}
/* KODA ZA AKTIVACIJO MOBILNEGA MENIJA IN HAMBURGER IKONE NA MOBILNIH NAPRAVAH */
/* Hamburger se spremeni v X, ko je meni odprt (glede na razred 'open' na toggle gumbu) */
.mobile-nav-toggle.open .hamburger {
background: transparent;
}
.mobile-nav-toggle.open .hamburger::before {
transform: rotate(45deg);
top: 0;
}
.mobile-nav-toggle.open .hamburger::after {
transform: rotate(-45deg);
bottom: 0;
}
}
@media (min-width: 992px) {
/* Stili za namizje */
.mobile-nav-toggle {
display: none; /* Skrije hamburger gumb na namizju */
}
.main-nav {
display: flex; /* Prikaže navigacijo kot flex kontejner */
position: static; /* Odstrani fiksno pozicioniranje */
height: auto;
width: auto;
background-color: transparent;
backdrop-filter: none; /* Odstrani zameglitev na namizju */
-webkit-backdrop-filter: none; /* Odstrani zameglitev na namizju */
transform: none; /* Odstrani transformacijo */
flex-direction: row; /* Elementi menija v vrsto */
align-items: center;
}
.main-nav ul {
flex-direction: row; /* Elementi seznama v vrsto */
gap: 1.8rem;
}
.main-nav a {
font-size: 0.9rem; /* Manjša pisava za namizje */
padding: var(--spacing-s) 0; /* Dodano padding */
}
.main-nav a.nav-cta {
padding: var(--spacing-s) var(--spacing-m);
}
}