1
Files
2025/themes/2026/assets/css/header.css
2026-02-23 15:10:11 +01:00

257 lines
5.8 KiB
CSS

body > header {
position: relative;
padding-bottom: var(--space-5);
}
body > header:has(> h1) {
display: grid;
gap: var(--space-3);
padding-bottom: var(--space-6);
}
body > header:has(> h1)::before {
content: "";
width: min(18rem, 40vw);
height: 0.55rem;
background:
linear-gradient(90deg, var(--color-accent-1) 0%, var(--color-accent-2) 50%, var(--color-accent-3) 100%);
}
body > header > section:first-of-type {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-3);
}
body > header > section:first-of-type > a {
display: inline-flex;
align-items: center;
gap: var(--space-3);
text-decoration: none;
color: var(--color-heading);
}
body > header > section:first-of-type > a strong {
font-family: var(--font-heading);
font-size: clamp(1.6rem, 3vw, 2.3rem);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.03em;
}
body > header > section:first-of-type > a img {
width: 3.5rem;
height: auto;
}
body > header > section:first-of-type > form.site-search {
margin-left: auto;
display: flex;
align-items: center;
gap: var(--space-2);
}
body > header > section:first-of-type > form.site-search > input[type="search"] {
width: min(22rem, 36vw);
min-width: 12rem;
min-height: 2.35rem;
padding: 0.45rem 0.65rem;
border: 1px solid var(--color-border-strong);
background-color: color-mix(in srgb, var(--color-background-alt) 88%, #000000 12%);
color: var(--color-heading);
font-family: var(--font-body);
font-size: 1rem;
}
body > header > section:first-of-type > form.site-search > input[type="search"]:focus-visible {
border-color: var(--color-accent-1);
outline: 2px solid color-mix(in srgb, var(--color-accent-1) 78%, transparent);
outline-offset: 1px;
}
body > header > section:first-of-type > form.site-search > button.ui-button {
width: 2.35rem;
min-height: 2.35rem;
min-width: 2.35rem;
padding: 0;
}
body > header > section:first-of-type > form.site-search > button.ui-button > svg {
width: 1.05rem;
height: 1.05rem;
fill: currentColor;
}
body > header > section.site-stats {
margin-top: var(--space-5);
}
body > header > section.site-stats > h2 {
font-size: 1.02rem;
letter-spacing: 0.11em;
text-transform: uppercase;
color: var(--color-text-muted);
}
body > header > section.site-stats > ul {
list-style: none;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-4);
}
body > header > section.site-stats li {
border-top: 1px solid var(--color-border);
padding-top: var(--space-2);
}
body > header > section.site-stats span {
display: block;
font-size: 0.88rem;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--color-text-muted);
}
body > header > section.site-stats strong {
display: block;
margin-top: var(--space-1);
font-size: 1.38rem;
color: var(--color-heading);
font-family: var(--font-heading);
}
body > header .breadcrumbs {
margin-top: 0;
}
.breadcrumbs > ol {
list-style: none;
display: flex;
flex-wrap: wrap;
gap: var(--space-2);
}
.breadcrumbs li {
display: inline-flex;
align-items: center;
gap: var(--space-2);
color: var(--color-text-muted);
font-size: 0.9rem;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.breadcrumbs li::after {
content: ">";
color: var(--color-border-strong);
}
.breadcrumbs li:last-child::after {
content: "";
}
body > header > p {
margin-top: var(--space-2);
color: var(--color-text-muted);
display: flex;
flex-wrap: wrap;
gap: var(--space-2);
font-size: 1rem;
}
body > header:has(> h1) > h1 {
max-width: 18ch;
margin-top: 0;
font-size: clamp(2rem, 5.4vw, 4.6rem);
line-height: 0.95;
letter-spacing: 0.02em;
}
body > header:has(> h1) > p:has(time) {
margin-top: 0;
display: flex;
flex-wrap: wrap;
gap: var(--space-2);
font-size: 0.88rem;
text-transform: uppercase;
letter-spacing: 0.09em;
color: var(--color-text-muted);
}
body > header:has(> h1) > p:not(:has(time)) {
margin-top: var(--space-1);
max-width: 64ch;
font-size: 1.14rem;
color: var(--color-text);
}
.page-links > ul {
list-style: none;
display: flex;
flex-wrap: wrap;
gap: var(--space-2);
}
.page-links a {
display: inline-block;
text-decoration: none;
border: 1px solid var(--color-border);
padding: 0.35rem 0.65rem;
color: var(--color-text);
font-size: 0.94rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.page-links a:hover {
color: var(--color-heading);
border-color: var(--color-accent-1);
}
.page-links a.ui-button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 2.35rem;
padding: 0.45rem 0.85rem;
border: 1px solid var(--color-border-strong);
color: var(--color-heading);
font-family: var(--font-heading);
font-size: 0.82rem;
text-transform: uppercase;
letter-spacing: 0.08em;
line-height: 1.2;
}
.page-links a.ui-button:is(:hover, :focus-visible) {
border-color: color-mix(in srgb, var(--color-accent-1) 62%, var(--color-border-strong));
color: #ffffff;
}
body:has(> main.listing-page) > header {
gap: var(--space-2);
padding-bottom: var(--space-4);
}
body:has(> main.listing-page) > header:has(> h1)::before {
content: none;
}
body:has(> main:not(.listing-page)) > header:has(> h1)::before {
content: none;
}
body:has(> main.listing-page) > header:has(> h1) > h1 {
max-width: 100%;
font-size: clamp(1.75rem, 3.1vw, 2.8rem);
text-transform: none;
letter-spacing: 0.01em;
}
body:has(> main.listing-page) > header .breadcrumbs li {
font-size: 0.84rem;
letter-spacing: 0.03em;
}