@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; 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.6s ease, box-shadow 0.3s ease, background 0.25s ease; transform-style: preserve-3d; perspective: 800px; } /* Hover – leichtes Leuchten */ .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); } /* === Scharnierpunkte === */ .door.hinge-left { transform-origin: left center; } .door.hinge-right { transform-origin: right center; } .door.double { transform-origin: center; } /* === Öffnung nach Scharnier-Seite === */ .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); } .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); } /* === Doppeltüren (6 & 24) === */ .door.double { justify-content: center; align-items: center; 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) ); } .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); } .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); } /* === Feld hinter geöffneter Tür (sichtbar, wenn Tür offen ist) === */ .openfield { position: absolute; display: block; border-radius: 12px; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; z-index: 1; /* Standard – unsichtbar */ background: none; border: none; } /* Sobald die Tür offen ist */ .door.open + .openfield { opacity: 1; pointer-events: auto; z-index: 6; /* Optik: "Türchen wurde herausgenommen" */ background: radial-gradient( circle at 30% 30%, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 100% ), color-mix(in srgb, var(--ci-darkgreen) 40%, var(--ci-blue) 60%); border: 2px solid var(--ci-gold); box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.6), inset 0 4px 12px rgba(0, 0, 0, 0.7), 0 0 10px color-mix(in srgb, var(--ci-gold) 25%, transparent); }