adventskalender/2025/css/main.css aktualisiert

This commit is contained in:
2025-11-04 15:24:25 +00:00
parent 11182626bf
commit a7fa405036

View File

@@ -1,3 +1,4 @@
/* === Schriftart Bratonien 2025 === */
@font-face { @font-face {
font-family: "Bratonien2025"; font-family: "Bratonien2025";
src: url("../../shared/fonts/PinyonScript-Regular.ttf") format("truetype"); src: url("../../shared/fonts/PinyonScript-Regular.ttf") format("truetype");
@@ -6,7 +7,7 @@
font-display: swap; font-display: swap;
} }
/* === Adventskalender Türchen stabile Grundversion === */ /* === Adventskalender-Türchen Grundlayout === */
.door { .door {
position: absolute; position: absolute;
display: flex; display: flex;
@@ -14,6 +15,7 @@
justify-content: center; justify-content: center;
aspect-ratio: 1 / 1; aspect-ratio: 1 / 1;
/* Farbverlauf im Bratonien-Stil */
background: linear-gradient( background: linear-gradient(
180deg, 180deg,
color-mix(in srgb, var(--ci-darkgreen) 35%, transparent), color-mix(in srgb, var(--ci-darkgreen) 35%, transparent),
@@ -46,8 +48,9 @@
perspective: 800px; perspective: 800px;
} }
/* Hover leichtes Leuchten */ /* === Hover-Effekt (Glitzer etc.) === */
.door:hover { .door:hover,
.door.hover-proxy {
transform: scale(1.05); transform: scale(1.05);
background: linear-gradient( background: linear-gradient(
180deg, 180deg,
@@ -59,30 +62,27 @@
inset 0 0 10px rgba(255,255,255,0.25); inset 0 0 10px rgba(255,255,255,0.25);
} }
/* === Scharnierpunkte === */ /* === Scharniere === */
.door.hinge-left { transform-origin: left center; } .door.hinge-left { transform-origin: left center; }
.door.hinge-right { transform-origin: right center; } .door.hinge-right { transform-origin: right center; }
.door.double { transform-origin: center; } .door.double { transform-origin: center; }
/* === Öffnung nach Scharnier-Seite === */ /* === Öffnen nach Seite === */
.door.open.hinge-left { .door.open.hinge-left {
transform: rotateY(-115deg); transform: rotateY(-115deg);
box-shadow: box-shadow:
0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent), 0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent),
inset 0 0 10px rgba(255,255,255,0.2); inset 0 0 10px rgba(255,255,255,0.2);
} }
.door.open.hinge-left:hover {
transform: rotateY(-115deg) scale(1.05);
}
.door.open.hinge-right { .door.open.hinge-right {
transform: rotateY(115deg); transform: rotateY(115deg);
box-shadow: box-shadow:
0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent), 0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent),
inset 0 0 10px rgba(255,255,255,0.2); inset 0 0 10px rgba(255,255,255,0.2);
} }
.door.open.hinge-left:hover,
.door.open.hinge-right:hover { .door.open.hinge-right:hover {
transform: rotateY(115deg) scale(1.05); transform: scale(1.05) rotateY(var(--open-rotate));
} }
/* === Doppeltüren (6 & 24) === */ /* === Doppeltüren (6 & 24) === */
@@ -102,7 +102,8 @@
color-mix(in srgb, var(--ci-blue) 35%, transparent) color-mix(in srgb, var(--ci-blue) 35%, transparent)
); );
} }
.door.double:hover { .door.double:hover,
.door.double.hover-proxy {
transform: scale(1.05); transform: scale(1.05);
background: background:
linear-gradient( linear-gradient(
@@ -130,7 +131,7 @@
transform: rotateY(-8deg) scale(1.05); transform: rotateY(-8deg) scale(1.05);
} }
/* === Offenes Türchen realistischer Plastikfolien-Look === */ /* === Offenes Türchen realistische Folie === */
.openfield { .openfield {
position: absolute; position: absolute;
display: block; display: block;
@@ -146,13 +147,11 @@
background 0.4s ease; background 0.4s ease;
} }
/* sichtbar, wenn Tür offen ist */ /* Sichtbar, wenn Tür geöffnet */
.door.open + .openfield { .door.open + .openfield {
opacity: 1; opacity: 1;
pointer-events: auto; pointer-events: auto;
z-index: 6; z-index: 6;
/* halbtransparente Plastikfolie mit Glanz */
background: background:
linear-gradient( linear-gradient(
130deg, 130deg,
@@ -164,23 +163,18 @@
rgba(0, 0, 0, 0.12); rgba(0, 0, 0, 0.12);
backdrop-filter: blur(2px) brightness(1.08); backdrop-filter: blur(2px) brightness(1.08);
-webkit-backdrop-filter: blur(2px) brightness(1.08); -webkit-backdrop-filter: blur(2px) brightness(1.08);
/* Rahmen & Tiefe */
border: 2px solid color-mix(in srgb, var(--ci-gold) 85%, transparent); border: 2px solid color-mix(in srgb, var(--ci-gold) 85%, transparent);
box-shadow: box-shadow:
inset 0 4px 8px rgba(0, 0, 0, 0.6), inset 0 4px 8px rgba(0, 0, 0, 0.6),
inset 0 -3px 6px rgba(0, 0, 0, 0.5), inset 0 -3px 6px rgba(0, 0, 0, 0.5),
0 0 10px rgba(0, 0, 0, 0.35), 0 0 10px rgba(0, 0, 0, 0.35),
0 0 14px color-mix(in srgb, var(--ci-gold) 15%, transparent); 0 0 14px color-mix(in srgb, var(--ci-gold) 15%, transparent);
transform: translateZ(-1px); transform: translateZ(-1px);
} }
/* Gemeinsames Hover-Verhalten über JS-Sync */ /* Hover / Proxy-Hover für offene Felder */
.door.hover-sync, .door.open + .openfield:hover,
.door.open:hover, .openfield.hover-proxy {
.openfield.hover-sync,
.door.open + .openfield:hover {
transform: scale(1.05); transform: scale(1.05);
background: background:
linear-gradient( linear-gradient(
@@ -194,3 +188,17 @@
0 0 18px color-mix(in srgb, var(--ci-gold) 50%, transparent), 0 0 18px color-mix(in srgb, var(--ci-gold) 50%, transparent),
inset 0 0 10px rgba(255,255,255,0.25); inset 0 0 10px rgba(255,255,255,0.25);
} }
/* Hover-Sync durch JS: löst echten Hover-Stil aus */
.door.hover-proxy,
.door.open:hover {
transform: scale(1.05);
background: linear-gradient(
180deg,
color-mix(in srgb, var(--ci-gold) 20%, var(--ci-darkgreen)),
color-mix(in srgb, var(--ci-creamwhite) 15%, var(--ci-blue))
);
box-shadow:
0 0 18px color-mix(in srgb, var(--ci-gold) 50%, transparent),
inset 0 0 10px rgba(255,255,255,0.25);
}