@font-face { font-family: "Bratonien2025"; src: url("../../shared/fonts/PinyonScript-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } /* === Adventskalender Türchen – stabile Grundversion === */ .door { position: absolute; display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; /* Farbverlauf in Bratonien-CI */ background: linear-gradient( 180deg, color-mix(in srgb, var(--ci-darkgreen) 35%, transparent), color-mix(in srgb, var(--ci-blue) 35%, transparent) ); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 2px solid var(--ci-gold); border-radius: 12px; box-shadow: 0 0 10px color-mix(in srgb, var(--ci-gold) 40%, transparent), inset 0 0 6px rgba(255,255,255,0.18); font-family: "Bratonien2025", cursive; font-size: 2.3vw; font-weight: 400; color: var(--ci-gold); text-shadow: 0 0 3px rgba(0,0,0,0.6), 0 0 8px rgba(0,0,0,0.4); cursor: pointer; transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease; transform-style: preserve-3d; perspective: 800px; } /* Hover nur mit leichtem Leuchten und Zoom */ .door: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); } .door canvas { pointer-events: none; } /* === Türöffnung nach Scharnier-Seite === */ /* Scharnierpunkte */ .door.hinge-left { transform-origin: left center; } .door.hinge-right { transform-origin: right center; } .door.double { transform-origin: center; } /* === Geschlossener Zustand === */ .door { transition: transform 0.6s ease, box-shadow 0.3s ease, background 0.25s ease; } /* === Geöffneter Zustand: hinge-left → klappt nach links === */ .door.open.hinge-left { transform: rotateY(-115deg); box-shadow: 0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent), inset 0 0 10px rgba(255,255,255,0.2); } .door.open.hinge-left:hover { transform: rotateY(-115deg) scale(1.05); } /* === Geöffneter Zustand: hinge-right → klappt nach rechts === */ .door.open.hinge-right { transform: rotateY(115deg); box-shadow: 0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent), inset 0 0 10px rgba(255,255,255,0.2); } .door.open.hinge-right:hover { transform: rotateY(115deg) scale(1.05); } /* === Geöffneter Zustand: doppelte Tür (6 & 24) === */ .door.double.open { transform: rotateY(-8deg); box-shadow: 0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent), inset 0 0 10px rgba(255,255,255,0.2); } .door.double.open:hover { transform: rotateY(-8deg) scale(1.05); } /* === Basis für doppelflügelige Türen === */ .door.double { display: flex; justify-content: center; align-items: center; position: absolute; overflow: hidden; } .door span { position: relative; z-index: 5; /* über den Flügeln */ } /* === Doppeltüren (6 & 24) – gleiche Optik, goldene Mittelnaht === */ .door.double { /* identisch zu normalen Türen */ position: absolute; display: flex; justify-content: center; align-items: center; aspect-ratio: 1 / 1; background: linear-gradient( 90deg, transparent 49.5%, color-mix(in srgb, var(--ci-gold) 80%, transparent) 50%, transparent 50.5% ), linear-gradient( 180deg, color-mix(in srgb, var(--ci-darkgreen) 35%, transparent), color-mix(in srgb, var(--ci-blue) 35%, transparent) ); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border: 2px solid var(--ci-gold); border-radius: 12px; box-shadow: 0 0 10px color-mix(in srgb, var(--ci-gold) 40%, transparent), inset 0 0 6px rgba(255,255,255,0.18); transition: transform 0.6s ease, box-shadow 0.3s ease, background 0.25s ease; transform-style: preserve-3d; perspective: 800px; } /* Zahl bleibt oben sichtbar */ .door.double span { position: relative; z-index: 5; } /* Hover – exakt wie bei den anderen Türen */ .door.double:hover { transform: scale(1.05); background: linear-gradient( 90deg, transparent 49.5%, color-mix(in srgb, var(--ci-gold) 80%, transparent) 50%, transparent 50.5% ), 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); } /* Öffnen – mittige Bewegung, leicht nach außen geneigt */ .door.double.open { transform-origin: center; transform: rotateY(-8deg); box-shadow: 0 0 14px color-mix(in srgb, var(--ci-gold) 45%, transparent), inset 0 0 10px rgba(255,255,255,0.2); } /* === Unsichtbares Feld hinter geöffneter Tür === */ .openfield { position: absolute; /* Diese Werte werden über data-Attribute gesetzt, wenn du sie im Script positionierst */ display: block; opacity: 0; /* unsichtbar */ pointer-events: none; /* deaktiviert solange die Tür geschlossen ist */ transition: opacity 0.3s ease; border-radius: 12px; /* wie die Tür, damit es passt */ cursor: pointer; z-index: 1; /* unter der Tür, aber vor dem Hintergrundbild */ } /* Aktiviert, sobald die Nachbartür offen ist */ .door.open + .openfield { opacity: 1; pointer-events: auto; /* jetzt klickbar */ z-index: 6; /* über der geöffneten Tür */ } .door.double.open:hover { transform: rotateY(-8deg) scale(1.05); }