.elementor-1935 .elementor-element.elementor-element-980f107{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1935 .elementor-element.elementor-element-980f107 .elementor-background-slideshow__slide__image{background-size:cover;}.elementor-1935 .elementor-element.elementor-element-54c133e{--display:flex;--justify-content:center;}.elementor-1935 .elementor-element.elementor-element-bda1e14{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS *//* =========================================================
   GLOBAL VARIABLES FOR EASY CUSTOMIZATION
========================================================= */
:root {
  --lock-overlay-bg: rgba(0,0,0,0.45);
  --lock-text-color: #fff;
  --tooltip-bg: rgba(0,0,0,0.75);
  --tooltip-color: #fff;
  --pulse-glow: rgba(255,255,255,0.45);
  --corner-radius: 16px;
  --transition-speed: 0.3s;
}

/* =========================================================
   BASE CARD SETUP
========================================================= */
[data-day] {
  position: relative !important;
  overflow: visible !important;
  border-radius: var(--corner-radius);
  transition: transform var(--transition-speed) ease,
              opacity var(--transition-speed) ease;
  z-index: 1;
}

/* Hover animation only for truly unlocked doors */
[data-day].unlocked:hover {
  transform: scale(1.02);
}

/* =========================================================
   LOCKED STATE
========================================================= */
[data-day].locked {
  opacity: 0.55;
  cursor: not-allowed;
  z-index: 50 !important;
}

[data-day].locked::before {
  border-radius: inherit;
  content: "🔒";
  position: absolute;
  inset: 0;
  background: var(--lock-overlay-bg);
  backdrop-filter: blur(10px);
  color: var(--lock-text-color);
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 60 !important;
  pointer-events: none;
}

/* =========================================================
   TOOLTIP
========================================================= */
.calendar-tooltip {
  position: absolute !important;
  left: 50%;
  bottom: -46px;
  transform: translateX(-50%);
  padding: 6px 12px;
  background: var(--tooltip-bg);
  color: var(--tooltip-color);
  font-size: 0.85rem;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  backdrop-filter: blur(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 999999 !important;
}

/* Tooltip arrow */
.calendar-tooltip::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid var(--tooltip-bg);
}

/* Tooltip visible */
[data-day].locked:hover .calendar-tooltip,
[data-day].tomorrow:hover .calendar-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(-8px);
}

/* =========================================================
   TODAY GLOW PULSE (current day)
========================================================= */
[data-day].today::after {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: calc(var(--corner-radius) + 6px);
  background: radial-gradient(circle, var(--pulse-glow) 0%, transparent 70%);
  animation: glowPulse 2.4s ease-in-out infinite;
  z-index: -1;
  pointer-events: none;
}

@keyframes glowPulse {
  0%   { opacity: 0.15; transform: scale(0.95); }
  50%  { opacity: 0.5;  transform: scale(1.05); }
  100% { opacity: 0.15; transform: scale(0.95); }
}

/* =========================================================
   UNLOCK ANIMATION (today only)
========================================================= */
[data-day].unlock-animate {
  animation: unlockScale .6s ease-out forwards;
}

@keyframes unlockScale {
  0%   { transform: scale(0.9); opacity: 0.2; }
  60%  { transform: scale(1.07); opacity: 1; }
  100% { transform: scale(1); }
}

/* =========================================================
   AVAILABLE NOW (clickable today/past)
   → glow + badge, NOT open-frame looking
========================================================= */
[data-day].available {
  outline: none;
  box-shadow: 0 0 18px rgba(255,255,255,0.22);
  animation: availableGlow 1.8s ease-in-out infinite;
  position: relative;
}

@keyframes availableGlow {
  0%   { box-shadow: 0 0 8px rgba(255,255,255,0.18); }
  50%  { box-shadow: 0 0 22px rgba(255,255,255,0.35); }
  100% { box-shadow: 0 0 8px rgba(255,255,255,0.18); }
}

[data-day].available::after {
  content: "HEUTE";
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(0,0,0,0.45);
  color: white;
  z-index: 3;
}

/* =========================================================
   TOMORROW (teaser)
   → dim + inset border + badge, NOT clickable
========================================================= */
[data-day].tomorrow {
  outline: none;
  opacity: 0.7;
  filter: saturate(0.85) brightness(0.95);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.25);
  position: relative;
  cursor: default;
}

[data-day].tomorrow::after {
  content: "MORGEN";
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(0,0,0,0.35);
  color: white;
  z-index: 3;
}

/* =========================================================
   OPENED (persisted highlight)
========================================================= */
[data-day].opened {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  box-shadow: 0 10px 30px rgba(255, 255, 255, 0.18),
              inset 0 0 0 2px rgba(255,255,255,0.8);
  background: linear-gradient(145deg, #1f8b5a, #3ccf8e);
  position: relative;
}

/* checkmark badge */
[data-day].opened::after {
  content: "✓";
  position: absolute;
  top: 8px;
  left: 10px;
  font-weight: 800;
  font-size: 1.1rem;
  background: rgba(0,0,0,0.35);
  padding: 2px 7px;
  border-radius: 999px;
  z-index: 5;
}

/* =========================================================
   YOUR EXISTING DOOR LOOKS (kept)
========================================================= */

/* Section that gets snow */
.snow-section {
  position: relative;
  overflow: hidden;
}

/* Canvas overlay – no layout impact */
.snow-section > .snow-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: block;
}

/* Snow cap container at bottom */
.snow-section > .snow-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--cap-height, 9vh);
  pointer-events: none;
  display: block;
  overflow: hidden;
}

/* The actual “pile” that grows */
.snow-cap__fill {
  width: 100%;
  height: 100%;
  background: var(--cap-color, #ffffff);
  transform-origin: bottom;
  transform: scaleY(0);
  transition: transform 0.5s linear;
}

/* Optional rounded edge / fluff on top of the pile */
.snow-cap__edge {
  width: 120%;
  height: 40%;
  margin-left: -10%;
  margin-top: -15px;
  background: var(--cap-color, #ffffff);
  border-radius: 50% 50% 0 0;
  filter: drop-shadow(0 -3px 6px rgba(0, 0, 0, 0.12));
}

/* Grid layout */
.advent-grid {
  max-width: 1000px;
  margin: 0 auto;
}

/* Door base */
.advent-doo {
  position: relative;
  background: linear-gradient(145deg, #8b1e34, #c0283f);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  perspective: 800px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Subtle hover for unlocked doors only */
.advent-doo:hover:not(.is-locked):not(.tomorrow) {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

/* Front panel */
.advent-doo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.16);
  transform-origin: left center;
  transform: rotateY(0deg);
  transition: transform 0.45s ease;
}

/* Hover: little 3D swing */
.advent-doo:hover:not(.is-locked):not(.tomorrow)::before {
  transform: rotateY(-18deg);
}

/* When opened: swing the panel fully open */
.advent-doo.is-open::before {
  transform: rotateY(-110deg);
}

/* The actual visible number */
.advent-doo .advent-doo-title {
  position: relative;
  z-index: 2;
  font-size: 2.4rem;
  font-weight: 700;
}

/* Locked icon overlay */
.advent-doo.is-locked::after {
  content: "🔒";
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 1.3rem;
}

/* Optional "Locked" label widget */
.advent-doo .advent-lock-label {
  position: absolute;
  bottom: 10px;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(0, 0, 0, 0.35);
  padding: 4px 8px;
  border-radius: 999px;
}

.advent-doo.is-open .advent-lock-label {
  opacity: 0;
}

/* Dim locked doors */
.advent-doo.is-locked {
  filter: grayscale(0.3) brightness(0.9);
}

/* Page zoom-out class for transition */
body.advent-page-zoom {
  transform-origin: center center;
  transition: transform 0.6s ease, filter 0.6s ease;
  transform: scale(1.03);
  filter: blur(1px);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .advent-door,
  .advent-door::before,
  body.advent-page-zoom {
    transition: none !important;
  }
}/* End custom CSS */