Geizkragen/assets/css/catbar.css

273 lines
6.3 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ==========================================================
CATEGORY BAR
========================================================== */
.home-nav {
width: 100%;
display: flex;
align-items: center;
background-color: #2d3b50;
padding: 1px 0;
}
/* Inner zentriert */
.home-nav__inner {
flex: 1;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
/* List */
.home-nav__list {
width: 100%;
display: flex;
list-style: none;
margin: 0;
padding: 0;
}
/* LI nur als Container */
.home-nav__list li {
flex: 1;
position: relative;
}
/* =============================== */
/* HOME CATEGORY LINKS */
/* =============================== */
.home-nav__list li a {
width: 100%;
padding: 8px 0;
background-color: rgb(45, 59, 80);
color: #ffffff;
font-weight: 600;
font-size: 0.9rem;
font-family: var(--font-family);
text-decoration: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0;
transition: background-color 0.2s ease;
}
/* Hover */
.home-nav__list li a:hover {
background-color: rgba(255,255,255,0.18);
}
/* Active (Mausklick) */
.home-nav__list li a:active {
background-color: rgba(255,255,255,0.28);
}
/* Fokus (Tastatur) */
.home-nav__list li a:focus-visible {
outline: none;
box-shadow: inset 0 0 0 2px rgba(255,255,255,0.5);
}
/* Aktive Kategorie (per PHP) */
.home-nav__list li a.active {
background-color: rgba(255,255,255,0.25);
}
/* =============================== */
/* TRENNSTRICHE ZWISCHEN KATEGORIEN */
/* =============================== */
/* Trennstrich rechts außer beim letzten */
.home-nav__list li:not(:last-child)::after {
content: "";
position: absolute;
right: 0;
top: 0;
height: 100%;
width: 2px;
background-color: rgba(255,255,255,0.3);
}
/* ─── Responsive: horizontal scroll on mobile ─── */
@media (max-width: 768px) {
.home-nav__inner {
justify-content: flex-start;
}
.home-nav__list {
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
flex-wrap: nowrap;
}
.home-nav__list::-webkit-scrollbar { display: none; }
.home-nav__list li {
flex: 0 0 auto;
scroll-snap-align: start;
}
.home-nav__list li a {
padding: 8px 16px;
font-size: 0.82rem;
min-height: 40px;
}
}
@media (max-width: 480px) {
.home-nav__list li a {
padding: 8px 12px;
font-size: 0.78rem;
min-height: 36px;
}
}
@media (min-width: 1024px) {
.home-nav__item a {
font-size: 1rem;
padding: 5px 24px;
}
}
/* ==========================================================
ATTRIBUTE FILTER BAR
========================================================== */
.attrbar {
width: 100%;
background-color: rgb(45, 59, 80); /* Same as catbar background */
padding: 0 0 16px 0;
}
.attrbar__inner {
display: flex;
justify-content: center;
align-items: center;
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 16px;
width: 100%;
}
.attr-filter-form {
display: flex;
flex-wrap: wrap;
gap: 16px;
align-items: flex-end; /* Align inputs and labels beautifully */
justify-content: center;
width: 100%;
max-width: 100%; /* Changed from 1200px to allow full width */
margin: 0 auto;
padding: 0 20px;
}
.attr-filter-item {
display: flex;
flex-direction: column; /* Stack label and select */
align-items: flex-start;
gap: 6px;
font-size: 0.85rem;
color: var(--text-secondary, #cbd5e1);
font-family: var(--font-family);
flex: 1 1 180px; /* Grid-like flexibility */
max-width: 250px;
}
.attr-filter-item label {
font-weight: 600;
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 0.05em;
color: rgba(255, 255, 255, 0.7);
}
.attr-filter-item select {
width: 100%;
padding: 10px 14px;
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: var(--radius-md, 5px);
background-color: rgba(25, 30, 40, 0.5); /* Semi transparent dark */
color: var(--text-primary, #ffffff);
cursor: pointer;
font-size: 0.9rem;
font-family: var(--font-family);
transition: all var(--transition-fast, 150ms ease);
appearance: none; /* modern look */
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='rgba(255,255,255,0.6)'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 16px;
}
.attr-filter-item select:hover {
background-color: rgba(25, 30, 40, 0.8);
border-color: rgba(255, 255, 255, 0.3);
}
.attr-filter-item select:focus {
outline: none;
border-color: var(--color-primary, #274a97);
box-shadow: 0 0 0 3px var(--color-primary-soft, rgba(39, 74, 151, 0.15));
}
.attr-filter-item select option {
background-color: var(--bg-surface, #2d3b50);
color: var(--text-primary, #ffffff);
}
.attr-filter-action {
display: flex;
align-items: flex-end;
padding-bottom: 2px; /* optical alignment with inputs */
}
.attr-filter-reset {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.85rem;
font-weight: 600;
color: var(--text-invert, #ffffff);
text-decoration: none;
padding: 10px 16px;
border: none;
border-radius: var(--radius-md, 5px);
background-color: var(--color-danger, #d92d20);
transition: all var(--transition-fast, 150ms ease);
font-family: var(--font-family);
height: 40px; /* match select height */
}
.attr-filter-reset:hover {
background-color: #b91c1c; /* slightly darker danger */
transform: translateY(-1px);
box-shadow: 0 4px 12px var(--color-danger-soft, rgba(217, 45, 32, 0.2));
}
@media (max-width: 768px) {
.attr-filter-item {
flex: 1 1 45%;
max-width: none;
}
.attr-filter-action {
width: 100%;
justify-content: center;
margin-top: 8px;
}
.attr-filter-reset {
width: 100%;
}
}