/* ================================== */
/* =====          VARS          ===== */
/* ================================== */
:root {
    /* *** SIZES *** */
    --mve-xmas-height-header: 150px;
    --mve-xmas-size-day: 650px;
    /* *** DEFAULTS *** */
    --mve-xmas-default-transition: ease-in-out 0.3s;
}


/* ===================================== */
/* =====          GENERAL          ===== */
/* ===================================== */

/* default / fallback background color */
#mve-xmas-adventcalendar {
    background-color: var(--mve-xmas-color-background);
    min-height: 100vh;
    /*height: calc(100vh - var(--mve-xmas-height-header));*/
    overflow: hidden;
    position: relative;
}


/* ========================================== */
/* =====          BG SVG STUFF          ===== */
/* ========================================== */

.mve-xmas__svg-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    /*min-height: calc(100vh - var(--mve-xmas-height-header));*/
    filter: blur(0);
}

.mve-xmas__svg-wrapper svg {
    position: absolute;
    top: 0;
    display: block;
    height: 100%;
    width: auto;
    max-width: unset;
}

.mve-xmas__path--clickable {
    cursor: pointer;
}

/* blur thints if day is open */
#mve-xmas-adventcalendar.mve-xmas-adventcalendar--day-open .mve-xmas__svg-wrapper {
    filter: blur(5px);
    pointer-events: none;
    transition: filter var(--mve-xmas-default-transition);
}


/* ======================================== */
/* =====          DAYS STUFF          ===== */
/* ======================================== */

/* position me */
.mve-xmas__days-wrapper {
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}


/* ================================================== */
/* =====          SINGLE DAY / OVERLAY          ===== */
/* ================================================== */

.mve-xmas__day .mve-xmas__day-svg,
.mve-xmas__day .mve-xmas__day-svg svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mve-xmas__day svg .mve-xmas__number {
    transform-box: fill-box;
    transform-origin: center;
    transform: translateY(0) scale(1);
    transition: transform var(--mve-xmas-default-transition);
}

.mve-xmas__day.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translateY(-65%) scale(0.3);
}

.mve-xmas__day .mve-xmas__day-content {
    opacity: 0;
    position: absolute;
    top: 60%;
    left: 50%;
    width: calc(var(--mve-xmas-size-day) - 45%);
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 10;
    transition: opacity 0.5s var(--mve-xmas-default-transition);
}
@media(min-width: 768px) {
    .mve-xmas__day .mve-xmas__day-content {
        width: calc(var(--mve-xmas-size-day) - 30%);
    }
}

.mve-xmas__day .mve-xmas__day-content.mve-xmas__day-content--show {
    opacity: 1;
}

.mve-xmas__day .mve-xmas__day-headline {
    font-size: 40px;
    font-weight: 700;
    color: var(--mve-xmas-color-headline);
}

.mve-xmas__day .mve-xmas__day-subheadline {
    color: var(--mve-xmas-color-sub-headline);
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 20px;
}

.mve-xmas__day .mve-xmas__day-link {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 5px;
    border-radius: 30px;
    padding: 10px 20px;
    margin-bottom: 10px;
    color: var(--mve-xmas-color-button-text);
    background-color: var(--mve-xmas-color-button);
    transition:
        background-color var(--mve-xmas-default-transition),
        color var(--mve-xmas-default-transition);
}
.mve-xmas__day .mve-xmas__day-link:hover {
    color: var(--mve-xmas-color-button-text-hover);
    background-color: var(--mve-xmas-color-button-hover);
}

.mve-xmas__day .mve-xmas__close-overlay {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 5px;
    border: none;
    color: var(--mve-xmas-color-button-close);
    background-color: transparent;
    transition: color var(--mve-xmas-default-transition);
}
.mve-xmas__day .mve-xmas__close-overlay:hover {
    color: var(--mve-xmas-color-button-close-hover);
    border: none;
    background-color: transparent;
}

/* ###   COLOR HANDLING   ### */
.mve-xmas__day .mve-xmas__day-headline {
    color: var(--mve-xmas-color-headline);
    margin-top: 40px;
}

.mve-xmas__day .mve-xmas__day-subheadline {
    color: var(--mve-xmas-color-sub-headline);
}

.mve-xmas__day .mve-xmas__day-link {
    background-color: var(--mve-xmas-color-button);
    color: var(--mve-xmas-color-button-text);
    transition:
        background-color var(--mve-xmas-default-transition),
        color var(--mve-xmas-default-transition);
}

.mve-xmas__day .mve-xmas__day-link:hover {
    background-color: var(--mve-xmas-color-button-hover);
    color: var(--mve-xmas-color-button-text-hover);
}

/* ###   BEHAVIOUR  STUFF   ### */
/* hide em all */
.mve-xmas__day {
    display: flex;
    opacity: 0;
    transform: scale(0.5);
    position: fixed;
    justify-content: center;
    align-items: center;
    width: var(--mve-xmas-size-day);
    height: var(--mve-xmas-size-day);
    pointer-events: none;
    transition:
        opacity var(--mve-xmas-default-transition),
        transform var(--mve-xmas-default-transition);
}
/* and show the one to rule them all */
.mve-xmas__day.mve-xmas__day--show {
    opacity: 1;
    transform: scale(1);
    pointer-events: all;
}


/* ================================================================ */
/* =====              SPECIAL XMAS 2025 STYLINGS              ===== */
/* =====      e.g.: rotate overlay "balls" for some days      ===== */
/* ================================================================ */

/* ###   DAY 5   ### */
.mve-xmas__day.mve-xmas__day--5.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translateY(-50%) scale(0.3);
}

/* ###   DAY 6   ### */
.mve-xmas__day--6 .mve-xmas__day-svg svg {
    transform: rotate(56deg);
}
.mve-xmas__day.mve-xmas__day--6 svg .mve-xmas__number {
    transform: translate(0, 0) scale(1);
}
.mve-xmas__day.mve-xmas__day--6.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translate(-42%, -30%) scale(0.4);
}

/* ###   DAY 12   ### */
.mve-xmas__day--12 .mve-xmas__day-svg svg {
    transform: rotate(39deg);
}
.mve-xmas__day.mve-xmas__day--12 svg .mve-xmas__number {
    transform: translate(0, 0) scale(1);
}
.mve-xmas__day.mve-xmas__day--12.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translate(-21%, -30%) scale(0.4);
}

/* ###   DAY 13   ### */
.mve-xmas__day--13 .mve-xmas__day-svg svg {
    transform: rotate(-37deg);
}
.mve-xmas__day.mve-xmas__day--13 svg .mve-xmas__number {
    transform: translate(0, 0) scale(1);
}
.mve-xmas__day.mve-xmas__day--13.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translate(30%, -36%) scale(0.4);
}

/* ###   DAY 16   ### */
.mve-xmas__day.mve-xmas__day--16.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translateY(-50%) scale(0.3);
}

/* ###   DAY 18   ### */
.mve-xmas__day.mve-xmas__day--18.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translateY(-50%) scale(0.3);
}

/* ###   DAY 23   ### */
.mve-xmas__day--23 .mve-xmas__day-svg svg {
    transform: rotate(-23deg);
}
.mve-xmas__day.mve-xmas__day--23 svg .mve-xmas__number {
    transform: translate(0, 0) scale(1);
}
.mve-xmas__day.mve-xmas__day--23.mve-xmas__day--animating svg .mve-xmas__number {
    transform: translate(13%, -45%) scale(0.35);
}