@use '../atoms/variables' as *; // ─── Monatskalender Container ───────────────────────────────────────────────── .month-calendar { position: absolute; top: calc(100% + 8px); right: 0; width: 380px; background: linear-gradient(160deg, $color-primary-light, $color-primary-dark); border-radius: $radius-xl; padding: $space-4; box-shadow: 0 8px 32px rgba(0, 60, 120, 0.35); z-index: 200; transform-origin: top right; transition: opacity 0.28s ease, transform 0.28s ease; &--hidden { opacity: 0; transform: scaleY(0.92) translateY(-8px); pointer-events: none; } &--visible { opacity: 1; transform: scaleY(1) translateY(0); } } // ─── Header (Monat/Jahr + Navigation) ──────────────────────────────────────── .month-calendar__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: $space-4; } .month-calendar__title { font-size: $font-size-md; font-weight: $font-weight-bold; color: $color-white; letter-spacing: 0.01em; } .month-calendar__arrow { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: transparent; border: none; color: $color-white; cursor: pointer; transition: background $transition-fast; &:hover { background: rgba(255, 255, 255, 0.2); } svg { width: 8px; height: 14px; } } .month-calendar__close { // erbt .week-nav__cal Styles – hier nur Positionierung margin-left: 0; } // ─── Grid ───────────────────────────────────────────────────────────────────── .month-calendar__grid { &.slide-out-left { animation: slideOutLeft 0.16s ease forwards; } &.slide-out-right { animation: slideOutRight 0.16s ease forwards; } } .month-calendar__weekdays { display: grid; grid-template-columns: repeat(7, 1fr); margin-bottom: $space-2; span { text-align: center; font-size: $font-size-xs; font-weight: $font-weight-bold; color: rgba(255, 255, 255, 0.6); padding: $space-1 0; text-transform: uppercase; letter-spacing: 0.04em; } } .month-calendar__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; } // ─── Einzelner Tag ─────────────────────────────────────────────────────────── .month-day { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: $radius-md; font-size: $font-size-sm; font-weight: $font-weight-medium; color: $color-white; cursor: pointer; transition: background $transition-fast; user-select: none; &:hover:not(&--other) { background: rgba(255, 255, 255, 0.2); } // Tage aus Vor-/Nachmonat &--other { color: rgba(255, 255, 255, 0.35); cursor: default; } // Heutiger Tag &--today { font-weight: $font-weight-bold; background: $color-white; color: $color-text-dark; &:hover { background: rgba(255, 255, 255, 0.9); } } // Ausgewählter Tag &--active:not(&--today) { background: rgba(255, 255, 255, 0.25); font-weight: $font-weight-bold; } }