@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); } /* === Offenes Türchen – realistischer Plastikfolien-Look === */ .openfield { position: absolute; display: block; border-radius: 12px; opacity: 0; pointer-events: none; cursor: pointer; z-index: 1; transition: opacity 0.3s ease, transform 0.25s ease, box-shadow 0.25s ease, background 0.4s ease; } /* sichtbar, wenn Tür offen ist */ .door.open + .openfield { opacity: 1; pointer-events: auto; z-index: 6; /* halbtransparente Plastikfolie mit Glanz */ background: linear-gradient( 130deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.15) 30%, rgba(255, 255, 255, 0.05) 55%, rgba(0, 0, 0, 0.25) 100% ), rgba(0, 0, 0, 0.12); 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); box-shadow: inset 0 4px 8px rgba(0, 0, 0, 0.6), inset 0 -3px 6px rgba(0, 0, 0, 0.5), 0 0 10px rgba(0, 0, 0, 0.35), 0 0 14px color-mix(in srgb, var(--ci-gold) 15%, transparent); transform: translateZ(-1px); } /* Hover – identisch zu den Türen, behält Clip & Glitzer */ .door.open + .openfield:hover { transform: scale(1.05); background: linear-gradient( 130deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(0, 0, 0, 0.25) 100% ), rgba(0, 0, 0, 0.12); box-shadow: 0 0 18px color-mix(in srgb, var(--ci-gold) 50%, transparent), inset 0 0 10px rgba(255, 255, 255, 0.25); } /* --- Gemeinsames Hover-Verhalten für Tür + offenes Feld --- */ /* 1️⃣ Wenn die Tür gehovered wird → Feld reagiert ebenfalls */ .door:hover + .openfield { transform: scale(1.05); background: linear-gradient( 130deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.15) 40%, rgba(0, 0, 0, 0.25) 100% ), rgba(0, 0, 0, 0.12); box-shadow: 0 0 18px color-mix(in srgb, var(--ci-gold) 50%, transparent), inset 0 0 10px rgba(255, 255, 255, 0.25); } /* 2️⃣ Wenn das Feld gehovered wird → Tür reagiert ebenfalls */ .openfield:hover { z-index: 7; /* über Tür heben, damit Glitzer sichtbar bleibt */ } .openfield:hover, .openfield:hover ~ .door { transform: scale(1.05); box-shadow: 0 0 18px color-mix(in srgb, var(--ci-gold) 50%, transparent), inset 0 0 10px rgba(255, 255, 255, 0.25); }