/* Ash & Blood Events Calendar v5.40
   Final calendar polish layer. Loaded after the legacy page styles. */

body.events-page .events-calendar-shell {
    border: 1px solid rgba(205, 164, 83, .18) !important;
    border-radius: 14px !important;
    background:
        radial-gradient(circle at 50% -20%, rgba(173, 119, 38, .12), transparent 42%),
        linear-gradient(180deg, rgba(17, 16, 15, .98), rgba(8, 9, 10, .98)) !important;
    box-shadow: 0 22px 65px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 239, 205, .025) !important;
}

body.events-page .events-calendar-shell::before {
    background:
        linear-gradient(90deg, transparent, rgba(212, 162, 58, .02), transparent),
        radial-gradient(circle at 50% 0%, rgba(212, 162, 58, .07), transparent 34%) !important;
}

body.events-page .calendar-toolbar {
    min-height: 104px !important;
    padding: .9rem 1.25rem !important;
    border-bottom: 1px solid rgba(216, 203, 180, .09) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.012), transparent) !important;
}

body.events-page .calendar-month h3 {
    font-size: clamp(1.45rem, 2.8vw, 2rem) !important;
    letter-spacing: .015em !important;
    text-shadow: 0 10px 30px rgba(0,0,0,.4) !important;
}

body.events-page .calendar-month-subline {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .65rem;
    margin-top: .42rem;
    min-height: 24px;
}

body.events-page .calendar-month-meta {
    color: rgba(224, 211, 190, .58);
    font-family: "Noto Serif", serif;
    font-size: .72rem;
    letter-spacing: .02em;
}

body.events-page .calendar-today {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 27px;
    padding: .25rem .55rem;
    border: 1px solid rgba(212, 162, 58, .2);
    border-radius: 999px;
    background: rgba(212, 162, 58, .055);
    color: rgba(229, 201, 143, .86);
    font: 600 .62rem/1 "Cinzel", serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

body.events-page .calendar-today:hover,
body.events-page .calendar-today:focus-visible {
    border-color: rgba(231, 182, 82, .52);
    background: rgba(212, 162, 58, .12);
    color: #f0d69c;
    transform: translateY(-1px);
    outline: none;
}

body.events-page .calendar-nav {
    border-radius: 9px !important;
    border-color: rgba(212, 162, 58, .22) !important;
    background: rgba(212, 162, 58, .045) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}

body.events-page .calendar-nav:hover,
body.events-page .calendar-nav:focus-visible {
    border-color: rgba(229, 178, 72, .62) !important;
    background: rgba(212, 162, 58, .12) !important;
    color: #f0cf8d !important;
    outline: none !important;
}

body.events-page .calendar-weekdays {
    background: rgba(0, 0, 0, .2) !important;
}

body.events-page .calendar-weekdays span {
    padding: .8rem .45rem !important;
    color: rgba(221, 178, 91, .72) !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
}

body.events-page .calendar-day {
    min-height: 102px !important;
    padding: .58rem !important;
    background: rgba(255, 255, 255, .006) !important;
    border-color: rgba(216, 203, 180, .065) !important;
}

body.events-page .calendar-day.is-weekend:not(.is-today) {
    background: rgba(212, 162, 58, .012) !important;
}

body.events-page .calendar-day.is-past:not(.is-today) {
    background: rgba(0, 0, 0, .08) !important;
}

body.events-page .calendar-day.is-past:not(.is-today) .calendar-day-number {
    color: rgba(216, 203, 180, .33) !important;
}

body.events-page .calendar-day.has-events {
    box-shadow: inset 0 0 0 1px rgba(212, 162, 58, .018);
}

body.events-page .calendar-day.has-events:hover {
    background: rgba(212, 162, 58, .035) !important;
}

body.events-page .calendar-day.is-today {
    position: relative;
    background: linear-gradient(180deg, rgba(212, 162, 58, .065), rgba(212, 162, 58, .018)) !important;
    box-shadow: inset 0 3px 0 rgba(224, 171, 61, .75), inset 0 0 30px rgba(212, 162, 58, .025) !important;
}

body.events-page .calendar-day.is-today::after {
    content: "TODAY";
    position: absolute;
    top: .62rem;
    right: .62rem;
    color: rgba(235, 196, 115, .65);
    font: 700 .47rem/1 "Cinzel", serif;
    letter-spacing: .12em;
}

body.events-page .calendar-day-number {
    width: 29px !important;
    height: 29px !important;
    color: rgba(230, 219, 199, .64) !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
}

body.events-page .calendar-day.is-today .calendar-day-number {
    border: 1px solid rgba(229, 178, 72, .62) !important;
    background: rgba(212, 162, 58, .1) !important;
    color: #f1d598 !important;
    box-shadow: 0 0 0 4px rgba(212, 162, 58, .035) !important;
}

body.events-page .calendar-day-events {
    gap: .32rem !important;
}

body.events-page .calendar-event {
    position: relative;
    min-height: 28px;
    padding: .32rem .48rem !important;
    border: 1px solid rgba(212, 162, 58, .14) !important;
    border-left: 2px solid rgba(212, 162, 58, .65) !important;
    border-radius: 6px !important;
    background: rgba(212, 162, 58, .055) !important;
    color: rgba(241, 232, 215, .82) !important;
    font-size: .65rem !important;
    font-weight: 600;
    box-shadow: 0 5px 14px rgba(0,0,0,.1);
}

body.events-page .calendar-event:hover,
body.events-page .calendar-event:focus-visible {
    border-color: rgba(229, 178, 72, .5) !important;
    border-left-color: #e1ad45 !important;
    background: rgba(212, 162, 58, .12) !important;
    color: #f3dfb5 !important;
    transform: translateY(-1px);
}

body.events-page .calendar-event.is-pinned {
    border-left-color: rgba(172, 50, 45, .9) !important;
    background: linear-gradient(90deg, rgba(132, 32, 29, .12), rgba(212, 162, 58, .045)) !important;
}

body.events-page .calendar-event-dot {
    font-size: .62rem !important;
}

body.events-page .calendar-more {
    color: rgba(227, 193, 128, .68) !important;
    font-size: .57rem !important;
}

@media (max-width: 900px) {
    body.events-page .calendar-toolbar {
        min-height: 92px !important;
        padding: .7rem !important;
    }

    body.events-page .calendar-month-subline {
        gap: .4rem;
        margin-top: .3rem;
    }

    body.events-page .calendar-month-meta {
        font-size: .6rem;
    }

    body.events-page .calendar-today {
        min-height: 25px;
        padding: .2rem .42rem;
        font-size: .55rem;
    }

    body.events-page .calendar-day {
        min-height: 72px !important;
        padding: .28rem !important;
    }

    body.events-page .calendar-day.is-today::after {
        display: none;
    }

    body.events-page .calendar-event {
        min-height: 24px;
        padding: .22rem .28rem !important;
        font-size: .58rem !important;
        border-radius: 4px !important;
    }
}

@media (max-width: 560px) {
    body.events-page .calendar-month-meta {
        display: none;
    }

    body.events-page .calendar-today {
        margin-top: .05rem;
    }
}
