Kundenkonto: einheitlicher "premium" Look für alle Kisten + größerer Avatar
Größeres Profilbild in der "Mein Konto"-Karte. Alle vier Navigations- Knöpfe (Bestellungen/Offene Sendungen/Wunschliste/Meine Daten) haben jetzt denselben besonderen Stil wie vorher nur "Meine Daten": wanderndes Verlaufs- licht in der eigenen Akzentfarbe, pulsierender Glanzrand, funkelndes Sternchen und Farbverlauf-Text — nur die Farbe unterscheidet sich pro Knopf. Der "Meine Daten"-Inhaltsbereich (Profilkarte) bekommt dieselbe "mega besondere" Behandlung wie die Begrüßungs-Karte (wandernder Verlaufs- rand, Farbschein, Glanz-Sweep, Sternchen). Bestellkarten bekommen einen passenden dezenten Glanz-Sweep und pulsierenden Schein in ihrer Status- farbe für ein stimmigeres Gesamtbild. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
8873c5e8eb
commit
e523d6f0e5
+98
-31
@@ -1344,6 +1344,7 @@ a:focus-visible, button:focus-visible {
|
||||
}
|
||||
.account-head > * { position: relative; z-index: 1; }
|
||||
.account-head-identity { display: flex; align-items: center; gap: 1rem; }
|
||||
.account-head > #dash-logout-btn { margin-left: auto; }
|
||||
.account-head h1 { margin: 0.2rem 0 0.5rem; }
|
||||
.account-head .lead { margin: 0; max-width: 52ch; }
|
||||
.account-head-sparkle {
|
||||
@@ -1380,8 +1381,12 @@ a:focus-visible, button:focus-visible {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.account-head-identity .account-avatar-lg {
|
||||
width: 84px;
|
||||
height: 84px;
|
||||
font-size: 2.1rem;
|
||||
animation: account-avatar-glow 3.6s ease-in-out infinite;
|
||||
}
|
||||
@media (max-width: 500px) { .account-head-identity .account-avatar-lg { width: 68px; height: 68px; font-size: 1.7rem; } }
|
||||
@keyframes account-avatar-glow {
|
||||
0%, 100% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-accent) 35%, transparent), 0 0 16px -4px color-mix(in srgb, #9b7fd6 55%, transparent); }
|
||||
50% { box-shadow: 0 0 0 3px color-mix(in srgb, #e3b23c 40%, transparent), 0 0 22px -2px color-mix(in srgb, #e3b23c 65%, transparent); }
|
||||
@@ -1407,6 +1412,10 @@ a:focus-visible, button:focus-visible {
|
||||
background: linear-gradient(155deg, var(--c-anthracite-light), var(--c-anthracite));
|
||||
box-shadow: 0 12px 28px -18px rgba(0, 0, 0, 0.65);
|
||||
}
|
||||
/* Alle vier Knöpfe haben jetzt dieselbe "besondere" Formsprache wie vorher nur "Meine Daten":
|
||||
ein sanft wanderndes Mehrfarb-Verlaufslicht im eigenen Farbton, ein pulsierender Glanzrand
|
||||
und ein funkelndes Sternchen — nur die Farbe unterscheidet sich pro Knopf (--nav-color).
|
||||
Bewusst gedeckt genug, um nicht kitschig zu wirken, aber klar erkennbar "premium". */
|
||||
.account-nav-item {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
@@ -1426,6 +1435,15 @@ a:focus-visible, button:focus-visible {
|
||||
background-color: transparent;
|
||||
font: inherit;
|
||||
cursor: pointer;
|
||||
background-image: linear-gradient(
|
||||
120deg,
|
||||
color-mix(in srgb, var(--nav-color, var(--c-accent)) 20%, transparent),
|
||||
color-mix(in srgb, var(--nav-color, var(--c-accent)) 8%, transparent),
|
||||
color-mix(in srgb, var(--nav-color, var(--c-accent)) 20%, transparent)
|
||||
);
|
||||
background-size: 300% 100%;
|
||||
animation: account-nav-item-shift 7s ease-in-out infinite, account-nav-item-glow 3.2s ease-in-out infinite;
|
||||
animation-delay: var(--nav-delay, 0s);
|
||||
}
|
||||
.account-nav-item + .account-nav-item { border-left: 1px solid rgba(244, 241, 247, 0.12); }
|
||||
.account-nav-item::after {
|
||||
@@ -1439,62 +1457,48 @@ a:focus-visible, button:focus-visible {
|
||||
transform: scaleX(0);
|
||||
transition: transform 0.25s var(--ease);
|
||||
}
|
||||
.account-nav-item:hover { background: color-mix(in srgb, var(--nav-color, var(--c-accent)) 14%, transparent); }
|
||||
.account-nav-item:hover { background-color: color-mix(in srgb, var(--nav-color, var(--c-accent)) 14%, transparent); }
|
||||
.account-nav-item:hover::after, .account-nav-item:focus-visible::after { transform: scaleX(1); }
|
||||
.account-nav-item.is-active { background: color-mix(in srgb, var(--nav-color, var(--c-accent)) 20%, transparent); }
|
||||
.account-nav-item.is-active { background-color: color-mix(in srgb, var(--nav-color, var(--c-accent)) 20%, transparent); }
|
||||
.account-nav-item.is-active::after { transform: scaleX(1); }
|
||||
.account-nav-icon { font-size: 1.35rem; }
|
||||
.account-nav-value { font-family: var(--font-head); font-size: 1.7rem; font-weight: 700; color: var(--nav-color, var(--c-accent)); line-height: 1; }
|
||||
.account-nav-label { font-size: 0.82rem; color: var(--c-text-muted); text-align: center; }
|
||||
.account-nav-orders { --nav-color: #9b7fd6; }
|
||||
.account-nav-wishlist { --nav-color: var(--c-sale); }
|
||||
.account-nav-open { --nav-color: var(--c-accent); }
|
||||
/* "Meine Daten" ist bewusst der auffälligste der vier Knöpfe — der eigene Bereich zum Profil-
|
||||
Pflegen darf ruhig etwas "Besonderes" ausstrahlen: ein sanft wanderndes Mehrfarb-Verlaufslicht
|
||||
im Hintergrund, ein pulsierender Glanzrand und ein funkelndes Sternchen. Bewusst gedeckt genug,
|
||||
um nicht kitschig zu wirken, aber klar erkennbar "premium" im Vergleich zu den anderen drei. */
|
||||
.account-nav-data {
|
||||
--nav-color: #e3b23c;
|
||||
position: relative;
|
||||
background: linear-gradient(
|
||||
120deg,
|
||||
color-mix(in srgb, #9b7fd6 22%, transparent),
|
||||
color-mix(in srgb, #e3b23c 20%, transparent),
|
||||
color-mix(in srgb, var(--c-sale) 20%, transparent),
|
||||
color-mix(in srgb, #9b7fd6 22%, transparent)
|
||||
);
|
||||
background-size: 300% 100%;
|
||||
animation: account-nav-data-shift 7s ease-in-out infinite, account-nav-data-glow 3.2s ease-in-out infinite;
|
||||
}
|
||||
.account-nav-data .account-nav-label {
|
||||
.account-nav-label {
|
||||
font-size: 0.82rem;
|
||||
text-align: center;
|
||||
font-weight: 700;
|
||||
background: linear-gradient(90deg, #c3b0ea, #e3b23c, var(--c-sale));
|
||||
background-image: linear-gradient(90deg, var(--nav-color, var(--c-accent)), color-mix(in srgb, var(--nav-color, var(--c-accent)) 40%, #fff));
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
.account-nav-orders { --nav-color: #9b7fd6; --nav-delay: 0s; }
|
||||
.account-nav-open { --nav-color: var(--c-accent); --nav-delay: 0.4s; }
|
||||
.account-nav-wishlist { --nav-color: var(--c-sale); --nav-delay: 0.8s; }
|
||||
.account-nav-data { --nav-color: #e3b23c; --nav-delay: 1.2s; }
|
||||
.account-nav-sparkle {
|
||||
position: absolute;
|
||||
top: 0.55rem;
|
||||
right: 0.9rem;
|
||||
font-size: 0.85rem;
|
||||
animation: account-nav-sparkle-twinkle 2.4s ease-in-out infinite;
|
||||
animation-delay: var(--nav-delay, 0s);
|
||||
pointer-events: none;
|
||||
}
|
||||
@keyframes account-nav-data-shift {
|
||||
@keyframes account-nav-item-shift {
|
||||
0%, 100% { background-position: 0% 50%; }
|
||||
50% { background-position: 100% 50%; }
|
||||
}
|
||||
@keyframes account-nav-data-glow {
|
||||
0%, 100% { box-shadow: inset 0 0 0 1px color-mix(in srgb, #e3b23c 45%, transparent), 0 0 16px -6px color-mix(in srgb, #e3b23c 60%, transparent); }
|
||||
50% { box-shadow: inset 0 0 0 1px color-mix(in srgb, #9b7fd6 55%, transparent), 0 0 20px -4px color-mix(in srgb, #9b7fd6 70%, transparent); }
|
||||
@keyframes account-nav-item-glow {
|
||||
0%, 100% { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nav-color, var(--c-accent)) 40%, transparent), 0 0 14px -6px color-mix(in srgb, var(--nav-color, var(--c-accent)) 55%, transparent); }
|
||||
50% { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nav-color, var(--c-accent)) 65%, transparent), 0 0 20px -4px color-mix(in srgb, var(--nav-color, var(--c-accent)) 75%, transparent); }
|
||||
}
|
||||
@keyframes account-nav-sparkle-twinkle {
|
||||
0%, 100% { opacity: 0.35; transform: scale(0.8) rotate(-8deg); }
|
||||
50% { opacity: 1; transform: scale(1.2) rotate(8deg); }
|
||||
}
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.account-nav-data { animation: none; }
|
||||
.account-nav-item { animation: none; }
|
||||
.account-nav-sparkle { animation: none; }
|
||||
}
|
||||
@media (max-width: 560px) {
|
||||
@@ -1523,6 +1527,27 @@ a:focus-visible, button:focus-visible {
|
||||
border-radius: inherit;
|
||||
}
|
||||
.order-card > * { position: relative; z-index: 1; }
|
||||
.order-card {
|
||||
overflow: hidden;
|
||||
animation: order-card-glow 3.6s ease-in-out infinite;
|
||||
}
|
||||
.order-card::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -60%;
|
||||
width: 30%;
|
||||
height: 100%;
|
||||
background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--status-color, #fff) 16%, transparent), transparent);
|
||||
transform: skewX(-18deg);
|
||||
animation: account-head-shine 8s ease-in-out infinite;
|
||||
pointer-events: none;
|
||||
}
|
||||
@keyframes order-card-glow {
|
||||
0%, 100% { box-shadow: -2px 0 10px -6px color-mix(in srgb, var(--status-color, transparent) 50%, transparent); }
|
||||
50% { box-shadow: -2px 0 16px -4px color-mix(in srgb, var(--status-color, transparent) 70%, transparent); }
|
||||
}
|
||||
@media (prefers-reduced-motion: reduce) { .order-card, .order-card::after { animation: none; } }
|
||||
|
||||
.order-card-bezahlt { --status-color: #9b7fd6; }
|
||||
.order-card-bearbeitung { --status-color: #e3b23c; }
|
||||
@@ -1606,8 +1631,50 @@ a:focus-visible, button:focus-visible {
|
||||
.invoice-total-row td { font-weight: 700; color: var(--c-accent); border-bottom: none; padding-top: 0.8em; font-size: 1rem; }
|
||||
.invoice-vat-note { margin: 1.1rem 0 0; font-size: 0.8rem; color: var(--c-text-muted); }
|
||||
.invoice-foot { display: flex; justify-content: flex-end; margin-top: 1.4rem; }
|
||||
.profile-card { display: flex; flex-direction: column; align-items: stretch; gap: 1.3rem; }
|
||||
/* "Meine Daten" ist der persönlichste Bereich im Kundenkonto — bekommt deshalb dieselbe
|
||||
"mega besondere" Behandlung wie die Begrüßungs-Karte ganz oben: wandernder Mehrfarb-
|
||||
Verlaufsrand, sanfter Farbschein, ein durchlaufender Glanz-Sweep und funkelnde Sternchen. */
|
||||
.profile-card {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
gap: 1.3rem;
|
||||
border: 1.5px solid transparent;
|
||||
background:
|
||||
linear-gradient(165deg, var(--c-anthracite-light), var(--c-anthracite)) padding-box,
|
||||
linear-gradient(120deg, #e3b23c, var(--c-sale), #9b7fd6, var(--c-accent), #e3b23c) border-box;
|
||||
background-size: 100% 100%, 300% 100%;
|
||||
animation: account-head-border-shift 10s ease-in-out infinite;
|
||||
}
|
||||
.profile-card::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: radial-gradient(60% 90% at 90% 10%, color-mix(in srgb, #e3b23c 20%, transparent), transparent 70%);
|
||||
pointer-events: none;
|
||||
}
|
||||
.profile-card::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -60%;
|
||||
width: 35%;
|
||||
height: 100%;
|
||||
background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.12), transparent);
|
||||
transform: skewX(-18deg);
|
||||
animation: account-head-shine 7s ease-in-out infinite 1s;
|
||||
pointer-events: none;
|
||||
}
|
||||
.profile-card > * { position: relative; z-index: 1; }
|
||||
.profile-card .specs { margin-top: 0; width: 100%; }
|
||||
.profile-card-sparkle { position: absolute; font-size: 0.85rem; pointer-events: none; z-index: 1; }
|
||||
.profile-card-sparkle-1 { top: 1.1rem; right: 1.3rem; animation: account-nav-sparkle-twinkle 2.8s ease-in-out infinite; }
|
||||
.profile-card-sparkle-2 { bottom: 1.2rem; left: 1.3rem; font-size: 0.7rem; animation: account-nav-sparkle-twinkle 3.6s ease-in-out infinite 0.7s; }
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.profile-card, .profile-card::after, .profile-card-sparkle-1, .profile-card-sparkle-2 { animation: none; }
|
||||
}
|
||||
.profile-photo-row { display: flex; align-items: center; gap: 1.1rem; }
|
||||
.profile-photo-btn { display: inline-block; cursor: pointer; }
|
||||
.profile-field { display: flex; flex-direction: column; gap: 0.4rem; }
|
||||
|
||||
Reference in New Issue
Block a user