/* Articles Calendar 2 theme variants. Scoped per module instance. */
.articles-calendar {
    --ac2-border: #5c9ccc;
    --ac2-header-bg: #5c9ccc;
    --ac2-header-text: #fff;
    --ac2-content-bg: #fff;
    --ac2-content-text: #2e6e9e;
    --ac2-day-bg: #dfeffc;
    --ac2-day-border: #c5dbec;
    --ac2-day-text: #2e6e9e;
    --ac2-hover-bg: #d0e5f5;
    --ac2-hover-border: #79b7e7;
    --ac2-hover-text: #1d5987;
    --ac2-active-bg: #f5f8f9;
    --ac2-active-border: #79b7e7;
    --ac2-active-text: #e17009;
    --ac2-counter-bg: #fff;
    --ac2-counter-text: #2e6e9e;
    --ac2-counter-active-bg: #fbec88;
    --ac2-counter-active-outline: #fad42e;
}

.articles-calendar.ac2-theme-ui-lightness {
    --ac2-border: #e78f08; --ac2-header-bg: #f6a828; --ac2-header-text: #fff;
    --ac2-content-bg: #fff; --ac2-content-text: #333;
    --ac2-day-bg: #f6f6f6; --ac2-day-border: #ccc; --ac2-day-text: #1c94c4;
    --ac2-hover-bg: #fdf5ce; --ac2-hover-border: #fbcB09; --ac2-hover-text: #c77405;
    --ac2-active-bg: #fff; --ac2-active-border: #fbd850; --ac2-active-text: #eb8f00;
    --ac2-counter-bg: #fffaf0; --ac2-counter-text: #c77405;
    --ac2-counter-active-bg: #fdf5ce; --ac2-counter-active-outline: #fbcB09;
}
.articles-calendar.ac2-theme-smoothness {
    --ac2-border: #aaa; --ac2-header-bg: #ccc; --ac2-header-text: #222;
    --ac2-content-bg: #fff; --ac2-content-text: #222;
    --ac2-day-bg: #e6e6e6; --ac2-day-border: #d3d3d3; --ac2-day-text: #555;
    --ac2-hover-bg: #dadada; --ac2-hover-border: #999; --ac2-hover-text: #212121;
    --ac2-active-bg: #fff; --ac2-active-border: #aaa; --ac2-active-text: #212121;
    --ac2-counter-bg: #fff; --ac2-counter-text: #555;
    --ac2-counter-active-bg: #fbf9ee; --ac2-counter-active-outline: #fcefa1;
}
.articles-calendar.ac2-theme-ui-darkness {
    --ac2-border: #555; --ac2-header-bg: #222; --ac2-header-text: #eee;
    --ac2-content-bg: #1f1f1f; --ac2-content-text: #eee;
    --ac2-day-bg: #333; --ac2-day-border: #555; --ac2-day-text: #eee;
    --ac2-hover-bg: #444; --ac2-hover-border: #777; --ac2-hover-text: #fff;
    --ac2-active-bg: #111; --ac2-active-border: #f58400; --ac2-active-text: #f58400;
    --ac2-counter-bg: #222; --ac2-counter-text: #eee;
    --ac2-counter-active-bg: #5a3600; --ac2-counter-active-outline: #f58400;
}
.articles-calendar.ac2-theme-cupertino {
    --ac2-border: #72a7cf; --ac2-header-bg: #5c9ccc; --ac2-header-text: #fff;
    --ac2-content-bg: #f7fbff; --ac2-content-text: #2e6e9e;
    --ac2-day-bg: #eaf4fb; --ac2-day-border: #b6d4ea; --ac2-day-text: #2e6e9e;
    --ac2-hover-bg: #d8ecf8; --ac2-hover-border: #74b2e2; --ac2-hover-text: #1d5987;
    --ac2-active-bg: #fff; --ac2-active-border: #74b2e2; --ac2-active-text: #e17009;
    --ac2-counter-bg: #f7fbff; --ac2-counter-text: #2e6e9e;
    --ac2-counter-active-bg: #d8ecf8; --ac2-counter-active-outline: #74b2e2;
}
.articles-calendar.ac2-theme-flick {
    --ac2-border: #ddd; --ac2-header-bg: #444; --ac2-header-text: #fff;
    --ac2-content-bg: #fff; --ac2-content-text: #444;
    --ac2-day-bg: #f6f6f6; --ac2-day-border: #ddd; --ac2-day-text: #444;
    --ac2-hover-bg: #fff0f6; --ac2-hover-border: #e86aa3; --ac2-hover-text: #b0175b;
    --ac2-active-bg: #fbe4ef; --ac2-active-border: #e86aa3; --ac2-active-text: #b0175b;
    --ac2-counter-bg: #fff; --ac2-counter-text: #555;
    --ac2-counter-active-bg: #fbe4ef; --ac2-counter-active-outline: #e86aa3;
}
.articles-calendar.ac2-theme-humanity {
    --ac2-border: #b85700; --ac2-header-bg: #b85700; --ac2-header-text: #fff;
    --ac2-content-bg: #f5f0e5; --ac2-content-text: #1e1b1d;
    --ac2-day-bg: #e6b77b; --ac2-day-border: #d49768; --ac2-day-text: #3a2012;
    --ac2-hover-bg: #f5d7a1; --ac2-hover-border: #cb842e; --ac2-hover-text: #8f4700;
    --ac2-active-bg: #fff4d8; --ac2-active-border: #f5ad66; --ac2-active-text: #b85700;
    --ac2-counter-bg: #fffaf0; --ac2-counter-text: #6b3513;
    --ac2-counter-active-bg: #f5d7a1; --ac2-counter-active-outline: #cb842e;
}
.articles-calendar.ac2-theme-redmond {
    --ac2-border: #5c9ccc; --ac2-header-bg: #5c9ccc; --ac2-header-text: #fff;
    --ac2-content-bg: #fff; --ac2-content-text: #2e6e9e;
    --ac2-day-bg: #dfeffc; --ac2-day-border: #c5dbec; --ac2-day-text: #2e6e9e;
    --ac2-hover-bg: #d0e5f5; --ac2-hover-border: #79b7e7; --ac2-hover-text: #1d5987;
    --ac2-active-bg: #f5f8f9; --ac2-active-border: #79b7e7; --ac2-active-text: #e17009;
    --ac2-counter-bg: #fff; --ac2-counter-text: #2e6e9e;
    --ac2-counter-active-bg: #fbec88; --ac2-counter-active-outline: #fad42e;
}


/* Modern themes designed for sites using #211d41 as the primary text colour. */
.articles-calendar.ac2-theme-modern-violet {
    --ac2-border: #ded9ef;
    --ac2-header-bg: linear-gradient(135deg, #211d41 0%, #4a3f78 100%);
    --ac2-header-text: #ffffff;
    --ac2-content-bg: #ffffff;
    --ac2-content-text: #211d41;
    --ac2-day-bg: #f7f5fc;
    --ac2-day-border: transparent;
    --ac2-day-text: #211d41;
    --ac2-hover-bg: #ebe7f7;
    --ac2-hover-border: #c9c1e5;
    --ac2-hover-text: #211d41;
    --ac2-active-bg: #211d41;
    --ac2-active-border: #211d41;
    --ac2-active-text: #ffffff;
    --ac2-counter-bg: #ffffff;
    --ac2-counter-text: #211d41;
    --ac2-counter-active-bg: #dcd4f5;
    --ac2-counter-active-outline: #8c7bd1;
}

.articles-calendar.ac2-theme-modern-minimal {
    --ac2-border: #e8e5ef;
    --ac2-header-bg: #ffffff;
    --ac2-header-text: #211d41;
    --ac2-content-bg: #ffffff;
    --ac2-content-text: #211d41;
    --ac2-day-bg: #ffffff;
    --ac2-day-border: #eeebf3;
    --ac2-day-text: #211d41;
    --ac2-hover-bg: #f4f1fa;
    --ac2-hover-border: #bdb4d7;
    --ac2-hover-text: #211d41;
    --ac2-active-bg: #211d41;
    --ac2-active-border: #211d41;
    --ac2-active-text: #ffffff;
    --ac2-counter-bg: #f4f1fa;
    --ac2-counter-text: #211d41;
    --ac2-counter-active-bg: #211d41;
    --ac2-counter-active-outline: #211d41;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker {
    width: 100%;
    min-width: 18rem;
    padding: .75rem;
    border-radius: 18px !important;
    box-shadow: 0 18px 45px rgba(33, 29, 65, .13);
    overflow: hidden;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker .ui-datepicker-header,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker .ui-datepicker-header {
    padding: .8rem .65rem;
    margin-bottom: .55rem;
    border: 0 !important;
    border-radius: 13px !important;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker .ui-datepicker-title,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker .ui-datepicker-title {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker table,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker table {
    border-collapse: separate;
    border-spacing: 4px;
    margin: 0;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker th,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker th {
    padding: .55rem .2rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    opacity: .72;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker td,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker td {
    padding: 0;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker td > a,
.articles-calendar.ac2-theme-modern-violet .ui-datepicker td > span,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker td > a,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker td > span {
    min-height: 2.65rem;
    padding: .42rem .25rem !important;
    border-radius: 10px !important;
    text-align: center;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker td > a:hover,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker td > a:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(33, 29, 65, .10);
}

.articles-calendar.ac2-theme-modern-violet span.counter,
.articles-calendar.ac2-theme-modern-minimal span.counter {
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.25rem;
    height: 1.25rem;
    align-items: center;
    justify-content: center;
    margin: .2rem auto 0 !important;
    padding: 0 .28rem !important;
    border-radius: 999px !important;
    font-size: .7rem !important;
    line-height: 1;
}

.articles-calendar.ac2-theme-modern-violet a.active span.counter,
.articles-calendar.ac2-theme-modern-minimal a.active span.counter {
    outline-width: 0 !important;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker-prev,
.articles-calendar.ac2-theme-modern-violet .ui-datepicker-next,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker-prev,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker-next {
    top: .72rem;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
}

.articles-calendar.ac2-theme-modern-violet .ui-datepicker-prev .ui-icon,
.articles-calendar.ac2-theme-modern-violet .ui-datepicker-next .ui-icon {
    filter: brightness(0) invert(1);
}

.articles-calendar.ac2-theme-modern-minimal .ui-datepicker-prev,
.articles-calendar.ac2-theme-modern-minimal .ui-datepicker-next {
    background: #f4f1fa !important;
}

.articles-calendar .ui-datepicker.ui-widget-content {
    border-color: var(--ac2-border) !important;
    background: var(--ac2-content-bg) !important;
    color: var(--ac2-content-text) !important;
}
.articles-calendar .ui-datepicker .ui-datepicker-header,
.articles-calendar .ui-datepicker .ui-widget-header {
    border-color: var(--ac2-border) !important;
    background: var(--ac2-header-bg) !important;
    color: var(--ac2-header-text) !important;
}
.articles-calendar .ui-datepicker th { color: var(--ac2-content-text) !important; }
.articles-calendar .ui-datepicker .ui-state-default {
    border-color: var(--ac2-day-border) !important;
    background: var(--ac2-day-bg) !important;
    color: var(--ac2-day-text) !important;
}
.articles-calendar .ui-datepicker .ui-state-hover,
.articles-calendar .ui-datepicker a.ui-state-default:hover {
    border-color: var(--ac2-hover-border) !important;
    background: var(--ac2-hover-bg) !important;
    color: var(--ac2-hover-text) !important;
}
.articles-calendar .ui-datepicker .ui-state-active,
.articles-calendar .ui-datepicker .ui-state-highlight {
    border-color: var(--ac2-active-border) !important;
    background: var(--ac2-active-bg) !important;
    color: var(--ac2-active-text) !important;
}
.articles-calendar span.counter {
    background: var(--ac2-counter-bg) !important;
    color: var(--ac2-counter-text) !important;
}
.articles-calendar a.active span.counter {
    outline: 1px solid var(--ac2-counter-active-outline) !important;
    background: var(--ac2-counter-active-bg) !important;
    color: var(--ac2-active-text) !important;
}
.articles-calendar.ac2-theme-ui-darkness .ui-datepicker .ui-icon { filter: invert(1); }

/* Make dates containing results visibly interactive in the modern themes. */
.articles-calendar.ac2-theme-modern-violet a.ui-state-default.active {
    border-color: #8c7bd1 !important;
    background: #ebe7f7 !important;
    color: #211d41 !important;
    font-weight: 700 !important;
    box-shadow: inset 0 0 0 1px rgba(33, 29, 65, .06);
}

.articles-calendar.ac2-theme-modern-minimal a.ui-state-default.active {
    border-color: #211d41 !important;
    background: #ffffff !important;
    color: #211d41 !important;
    font-weight: 700 !important;
    box-shadow: inset 0 0 0 1px #211d41;
}

.articles-calendar.ac2-theme-modern-violet a.ui-state-default.active:hover,
.articles-calendar.ac2-theme-modern-minimal a.ui-state-default.active:hover {
    background: #211d41 !important;
    color: #ffffff !important;
}

.articles-calendar.ac2-theme-modern-violet a.ui-state-default.active:hover span.counter,
.articles-calendar.ac2-theme-modern-minimal a.ui-state-default.active:hover span.counter {
    background: #ffffff !important;
    color: #211d41 !important;
}

/* Modern Minimal Soft: reduced rounding, finer lines and restrained depth. */
.articles-calendar.ac2-theme-modern-minimal-soft {
    --ac2-border: #e9e7ee;
    --ac2-header-bg: #ffffff;
    --ac2-header-text: #211d41;
    --ac2-content-bg: #ffffff;
    --ac2-content-text: #211d41;
    --ac2-day-bg: #ffffff;
    --ac2-day-border: #f0eef4;
    --ac2-day-text: #211d41;
    --ac2-hover-bg: #faf9fc;
    --ac2-hover-border: #d5d1de;
    --ac2-hover-text: #211d41;
    --ac2-active-bg: #f5f3f8;
    --ac2-active-border: #aaa4b9;
    --ac2-active-text: #211d41;
    --ac2-counter-bg: transparent;
    --ac2-counter-text: #211d41;
    --ac2-counter-active-bg: #ffffff;
    --ac2-counter-active-outline: #d7d3df;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker {
    width: 100%;
    min-width: 18rem;
    padding: .55rem;
    border: 1px solid #e9e7ee !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 16px rgba(33, 29, 65, .055);
    overflow: hidden;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker .ui-datepicker-header {
    margin: 0 0 .35rem;
    padding: .58rem .48rem;
    border: 0 !important;
    border-bottom: 1px solid #eeecf2 !important;
    border-radius: 2px !important;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker .ui-datepicker-title {
    font-size: .98rem;
    font-weight: 650;
    letter-spacing: .005em;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker table {
    margin: 0;
    border-collapse: separate;
    border-spacing: 2px;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker th {
    padding: .48rem .16rem;
    border-bottom: 1px solid #f2f0f5;
    font-size: .71rem;
    font-weight: 650;
    letter-spacing: .035em;
    text-transform: uppercase;
    opacity: .68;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker td {
    padding: 0;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker td > a,
.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker td > span {
    min-height: 2.45rem;
    padding: .36rem .2rem !important;
    border-radius: 2px !important;
    text-align: center;
    transition: border-color .14s ease, background-color .14s ease, color .14s ease;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker td > a:hover {
    box-shadow: none;
    transform: none;
}

.articles-calendar.ac2-theme-modern-minimal-soft span.counter {
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.15rem;
    height: 1.05rem;
    align-items: center;
    justify-content: center;
    margin: .18rem auto 0 !important;
    padding: 0 .22rem !important;
    border: 1px solid #e4e1e9 !important;
    border-radius: 3px !important;
    font-size: .66rem !important;
    line-height: 1;
}

.articles-calendar.ac2-theme-modern-minimal-soft a.active span.counter {
    border-color: #c8c3d0 !important;
    outline: 0 !important;
    font-weight: 700 !important;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker-prev,
.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker-next {
    top: .47rem;
    border: 1px solid #eceaf0 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
}

.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-modern-minimal-soft .ui-datepicker-next:hover {
    border-color: #d5d1de !important;
    background: #faf9fc !important;
}

.articles-calendar.ac2-theme-modern-minimal-soft a.ui-state-default.active {
    border-color: #aaa4b9 !important;
    background: #f7f6f9 !important;
    color: #211d41 !important;
    font-weight: 700 !important;
    box-shadow: inset 0 -2px 0 #211d41;
}

.articles-calendar.ac2-theme-modern-minimal-soft a.ui-state-default.active:hover {
    border-color: #211d41 !important;
    background: #ffffff !important;
    color: #211d41 !important;
}

.articles-calendar.ac2-theme-modern-minimal-soft a.ui-state-default.active:hover span.counter {
    background: #ffffff !important;
    color: #211d41 !important;
}

/* Clean Minimal Air and Grid themes - added in 2.0.16. */
.articles-calendar.ac2-theme-clean-minimal-air {
    --ac2-border: #eceaf0;
    --ac2-header-bg: #ffffff;
    --ac2-header-text: #211d41;
    --ac2-content-bg: #ffffff;
    --ac2-content-text: #211d41;
    --ac2-day-bg: transparent;
    --ac2-day-border: transparent;
    --ac2-day-text: #211d41;
    --ac2-hover-bg: #f7f6fa;
    --ac2-hover-border: transparent;
    --ac2-hover-text: #211d41;
    --ac2-active-bg: #211d41;
    --ac2-active-border: #211d41;
    --ac2-active-text: #ffffff;
    --ac2-counter-bg: #f1eff5;
    --ac2-counter-text: #211d41;
    --ac2-counter-active-bg: #211d41;
    --ac2-counter-active-outline: transparent;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker {
    width: 100%;
    min-width: 18rem;
    padding: .7rem .65rem .65rem;
    border: 1px solid #eceaf0 !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 10px rgba(33, 29, 65, .035);
    overflow: hidden;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker .ui-datepicker-header {
    margin: 0 0 .45rem;
    padding: .58rem .35rem .72rem;
    border: 0 !important;
    border-bottom: 1px solid #f0eef3 !important;
    border-radius: 0 !important;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker .ui-datepicker-title {
    font-size: 1rem;
    font-weight: 650;
    letter-spacing: .005em;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker table {
    margin: 0;
    border-collapse: separate;
    border-spacing: 3px;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker th {
    padding: .48rem .12rem;
    font-size: .69rem;
    font-weight: 650;
    letter-spacing: .055em;
    text-transform: uppercase;
    opacity: .6;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker td {
    padding: 0;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker td > span {
    min-height: 2.45rem;
    padding: .38rem .18rem !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    text-align: center;
    transition: background-color .14s ease, color .14s ease;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker td > a:hover {
    transform: none;
    box-shadow: none;
}

.articles-calendar.ac2-theme-clean-minimal-air span.counter {
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.15rem;
    height: 1.05rem;
    align-items: center;
    justify-content: center;
    margin: .16rem auto 0 !important;
    padding: 0 .24rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-size: .65rem !important;
    line-height: 1;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker-next {
    top: .5rem;
    border: 0 !important;
    border-radius: 2px !important;
    background: transparent !important;
}

.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-clean-minimal-air .ui-datepicker-next:hover {
    background: #f7f6fa !important;
}

.articles-calendar.ac2-theme-clean-minimal-air a.ui-state-default.active {
    border-color: transparent !important;
    background: #f3f1f6 !important;
    color: #211d41 !important;
    font-weight: 700 !important;
    box-shadow: none;
}

.articles-calendar.ac2-theme-clean-minimal-air a.ui-state-default.active:hover {
    background: #211d41 !important;
    color: #ffffff !important;
}

.articles-calendar.ac2-theme-clean-minimal-air a.ui-state-default.active:hover span.counter {
    background: #ffffff !important;
    color: #211d41 !important;
}

.articles-calendar.ac2-theme-clean-minimal-grid {
    --ac2-border: #e5e2ea;
    --ac2-header-bg: #ffffff;
    --ac2-header-text: #211d41;
    --ac2-content-bg: #ffffff;
    --ac2-content-text: #211d41;
    --ac2-day-bg: #ffffff;
    --ac2-day-border: #ece9f0;
    --ac2-day-text: #211d41;
    --ac2-hover-bg: #f8f7fa;
    --ac2-hover-border: #d5d1dd;
    --ac2-hover-text: #211d41;
    --ac2-active-bg: #ffffff;
    --ac2-active-border: #211d41;
    --ac2-active-text: #211d41;
    --ac2-counter-bg: transparent;
    --ac2-counter-text: #211d41;
    --ac2-counter-active-bg: #211d41;
    --ac2-counter-active-outline: #211d41;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker {
    width: 100%;
    min-width: 18rem;
    padding: 0;
    border: 1px solid #e5e2ea !important;
    border-radius: 2px !important;
    box-shadow: none;
    overflow: hidden;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker .ui-datepicker-header {
    margin: 0;
    padding: .75rem .58rem;
    border: 0 !important;
    border-bottom: 1px solid #e5e2ea !important;
    border-radius: 0 !important;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker .ui-datepicker-title {
    font-size: .98rem;
    font-weight: 650;
    letter-spacing: .01em;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker th {
    padding: .48rem .08rem;
    border-right: 1px solid #f0edf3;
    border-bottom: 1px solid #e9e6ed;
    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .045em;
    text-transform: uppercase;
    opacity: .62;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker th:last-child {
    border-right: 0;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker td {
    padding: 0;
    border-right: 1px solid #f0edf3;
    border-bottom: 1px solid #f0edf3;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker td:nth-child(7n) {
    border-right: 0;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker tr:last-child td {
    border-bottom: 0;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker td > span {
    min-height: 2.6rem;
    padding: .42rem .18rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-align: center;
    transition: background-color .13s ease, box-shadow .13s ease;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker td > a:hover {
    transform: none;
    box-shadow: inset 0 0 0 1px #d5d1dd;
}

.articles-calendar.ac2-theme-clean-minimal-grid span.counter {
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.1rem;
    height: 1.05rem;
    align-items: center;
    justify-content: center;
    margin: .16rem auto 0 !important;
    padding: 0 .2rem !important;
    border: 0 !important;
    border-radius: 2px !important;
    font-size: .64rem !important;
    line-height: 1;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker-next {
    top: .62rem;
    border: 1px solid transparent !important;
    border-radius: 2px !important;
    background: transparent !important;
}

.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-clean-minimal-grid .ui-datepicker-next:hover {
    border-color: #e5e2ea !important;
    background: #f8f7fa !important;
}

.articles-calendar.ac2-theme-clean-minimal-grid a.ui-state-default.active {
    background: #ffffff !important;
    color: #211d41 !important;
    font-weight: 700 !important;
    box-shadow: inset 0 -2px 0 #211d41;
}

.articles-calendar.ac2-theme-clean-minimal-grid a.ui-state-default.active:hover {
    background: #f8f7fa !important;
    color: #211d41 !important;
    box-shadow: inset 0 0 0 1px #211d41, inset 0 -2px 0 #211d41;
}

.articles-calendar.ac2-theme-clean-minimal-grid a.active span.counter {
    outline: 0 !important;
    background: #211d41 !important;
    color: #ffffff !important;
}

/* Clean Modern Studio theme - added in 2.0.16. */
.articles-calendar.ac2-theme-clean-modern-studio {
    --ac2-border: #e8e5ed;
    --ac2-header-bg: #ffffff;
    --ac2-header-text: #211d41;
    --ac2-content-bg: #ffffff;
    --ac2-content-text: #211d41;
    --ac2-day-bg: transparent;
    --ac2-day-border: transparent;
    --ac2-day-text: #211d41;
    --ac2-hover-bg: #f5f3f8;
    --ac2-hover-border: #ddd8e5;
    --ac2-hover-text: #211d41;
    --ac2-active-bg: #f0edf5;
    --ac2-active-border: #211d41;
    --ac2-active-text: #211d41;
    --ac2-counter-bg: #211d41;
    --ac2-counter-text: #ffffff;
    --ac2-counter-active-bg: #211d41;
    --ac2-counter-active-outline: transparent;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker {
    position: relative;
    width: 100%;
    min-width: 18rem;
    padding: .8rem .75rem .72rem;
    border: 1px solid #e8e5ed !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(33, 29, 65, .055);
    overflow: hidden;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: #211d41;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker .ui-datepicker-header {
    margin: 0 0 .55rem;
    padding: .7rem .35rem .8rem;
    border: 0 !important;
    border-bottom: 1px solid #eeebf1 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker .ui-datepicker-title {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.012em;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker table {
    margin: 0;
    border-collapse: separate;
    border-spacing: 3px;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker th {
    padding: .48rem .12rem;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #6f6980;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker td {
    padding: 0;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker td > span {
    position: relative;
    min-height: 2.55rem;
    padding: .42rem .18rem !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    text-align: center;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker td > a:hover {
    transform: none;
    border-color: #ddd8e5 !important;
    background: #f5f3f8 !important;
    box-shadow: none;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker-next {
    top: .62rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid #ebe8ef !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    transition: border-color .14s ease, background-color .14s ease;
}

.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-clean-modern-studio .ui-datepicker-next:hover {
    border-color: #d8d3df !important;
    background: #f6f4f8 !important;
}

.articles-calendar.ac2-theme-clean-modern-studio span.counter {
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.12rem;
    height: 1.05rem;
    align-items: center;
    justify-content: center;
    margin: .14rem auto 0 !important;
    padding: 0 .22rem !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #211d41 !important;
    color: #ffffff !important;
    font-size: .63rem !important;
    line-height: 1;
}

.articles-calendar.ac2-theme-clean-modern-studio a.ui-state-default.active {
    border-color: #d9d4e0 !important;
    background: #f0edf5 !important;
    color: #211d41 !important;
    font-weight: 750 !important;
    box-shadow: inset 0 -2px 0 #211d41;
}

.articles-calendar.ac2-theme-clean-modern-studio a.ui-state-default.active:hover {
    border-color: #211d41 !important;
    background: #211d41 !important;
    color: #ffffff !important;
    box-shadow: none;
}

.articles-calendar.ac2-theme-clean-modern-studio a.ui-state-default.active:hover span.counter {
    background: #ffffff !important;
    color: #211d41 !important;
}



/* Clean Modern Jasny - light event markers, high legibility, no navy date tiles. */
.articles-calendar.ac2-theme-clean-modern-clear {
    --ac2-ink: #211d41;
    --ac2-muted: #625d70;
    --ac2-line: #dedbe5;
    --ac2-line-strong: #aaa4b8;
    --ac2-soft: #f7f6f9;
    --ac2-event-soft: #f4f2f7;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker {
    width: 100%;
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--ac2-line) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    box-shadow: 0 2px 10px rgba(33, 29, 65, .045);
    overflow: visible;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-header {
    margin: 0 0 .75rem;
    padding: .55rem 2.6rem .8rem;
    border: 0 !important;
    border-bottom: 1px solid var(--ac2-line) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-title {
    color: var(--ac2-ink) !important;
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.01em;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 3px;
    table-layout: fixed;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker th {
    padding: .5rem .05rem .6rem;
    border: 0;
    color: #4d475b !important;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .015em;
    text-transform: none;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td {
    padding: 0;
    border: 0;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > span {
    position: relative;
    display: flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    padding: .4rem .12rem !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 720 !important;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > span,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-other-month > a {
    color: #aaa6b1 !important;
    background: transparent !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > a:hover {
    border-color: #c7c2cf !important;
    background: var(--ac2-soft) !important;
    color: var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-today > a {
    border-color: var(--ac2-line-strong) !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-weight: 850 !important;
    box-shadow: inset 0 0 0 1px #ffffff !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next {
    top: .42rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid #d2ced8 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    cursor: pointer;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev { left: 0; }
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next { right: 0; }

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next:hover {
    border-color: var(--ac2-ink) !important;
    background: var(--ac2-soft) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev .ui-icon,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next .ui-icon {
    width: .55rem;
    height: .55rem;
    margin: -.3rem 0 0 -.3rem;
    border: solid var(--ac2-ink);
    border-width: 0 2px 2px 0;
    background: none !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev .ui-icon { transform: rotate(135deg); }
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next .ui-icon { transform: rotate(-45deg); }

/* Event days stay white. The bottom rule and small counter carry the emphasis. */
.articles-calendar.ac2-theme-clean-modern-clear a.ui-state-default.active {
    border-color: #b8b2c3 !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-weight: 850 !important;
    box-shadow: inset 0 -3px 0 var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear a.ui-state-default.active:hover {
    border-color: #8e879b !important;
    background: var(--ac2-event-soft) !important;
    color: var(--ac2-ink) !important;
    box-shadow: inset 0 -3px 0 var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear span.counter {
    position: absolute;
    top: 3px;
    right: 3px;
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.1rem;
    height: 1.1rem;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 .2rem !important;
    border: 1px solid var(--ac2-ink) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-size: .62rem !important;
    font-weight: 850 !important;
    line-height: 1;
    box-shadow: none !important;
}

/* Clean Modern Narożny - jasny wariant z prostokątnym licznikiem przyklejonym do prawego dolnego rogu. */
.articles-calendar.ac2-theme-clean-modern-corner {
    --ac2-ink: #211d41;
    --ac2-muted: #625d70;
    --ac2-line: #dedbe5;
    --ac2-line-strong: #aaa4b8;
    --ac2-soft: #f7f6f9;
    --ac2-event-soft: #f4f2f7;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker {
    width: 100%;
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--ac2-line) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    box-shadow: 0 2px 10px rgba(33, 29, 65, .045);
    overflow: visible;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker .ui-datepicker-header {
    margin: 0 0 .75rem;
    padding: .55rem 2.6rem .8rem;
    border: 0 !important;
    border-bottom: 1px solid var(--ac2-line) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker .ui-datepicker-title {
    color: var(--ac2-ink) !important;
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.01em;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 3px;
    table-layout: fixed;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker th {
    padding: .5rem .05rem .6rem;
    border: 0;
    color: #4d475b !important;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .015em;
    text-transform: none;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker td {
    padding: 0;
    border: 0;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker td > span {
    position: relative;
    display: flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    padding: .4rem .12rem !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 720 !important;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker td > span,
.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker .ui-datepicker-other-month > a {
    color: #aaa6b1 !important;
    background: transparent !important;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker td > a:hover {
    border-color: #c7c2cf !important;
    background: var(--ac2-soft) !important;
    color: var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker .ui-datepicker-today > a {
    border-color: var(--ac2-line-strong) !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-weight: 850 !important;
    box-shadow: inset 0 0 0 1px #ffffff !important;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-next {
    top: .42rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid #d2ced8 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    cursor: pointer;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-prev { left: 0; }
.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-next { right: 0; }

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-next:hover {
    border-color: var(--ac2-ink) !important;
    background: var(--ac2-soft) !important;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-prev .ui-icon,
.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-next .ui-icon {
    width: .55rem;
    height: .55rem;
    margin: -.3rem 0 0 -.3rem;
    border: solid var(--ac2-ink);
    border-width: 0 2px 2px 0;
    background: none !important;
}

.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-prev .ui-icon { transform: rotate(135deg); }
.articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker-next .ui-icon { transform: rotate(-45deg); }

/* Event days stay white. The bottom rule and small counter carry the emphasis. */
.articles-calendar.ac2-theme-clean-modern-corner a.ui-state-default.active {
    border-color: #b8b2c3 !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-weight: 850 !important;
    box-shadow: inset 0 -3px 0 var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-corner a.ui-state-default.active:hover {
    border-color: #8e879b !important;
    background: var(--ac2-event-soft) !important;
    color: var(--ac2-ink) !important;
    box-shadow: inset 0 -3px 0 var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-corner span.counter {
    position: absolute;
    right: -1px;
    bottom: -1px;
    top: auto;
    display: inline-flex !important;
    width: 1.22rem !important;
    min-width: 1.22rem;
    height: 1.22rem;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 2px 0 2px 0 !important;
    outline: 0 !important;
    background: #1a1a1a !important;
    color: #ffffff !important;
    font-size: .63rem !important;
    font-weight: 850 !important;
    line-height: 1;
    box-shadow: none !important;
}

.articles-calendar.ac2-theme-clean-modern-corner a.ui-state-default.active:hover span.counter {
    background: #1a1a1a !important;
    color: #ffffff !important;
}


/* Alternative: editorial, high-contrast clean layout. */
.articles-calendar.ac2-theme-clean-editorial {
    --ac2-ink: #211d41;
    --ac2-line: #dedbe4;
    --ac2-soft: #f7f6f9;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker {
    width: 100%;
    min-width: 0;
    padding: 1rem .8rem .85rem;
    border: 0 !important;
    border-top: 4px solid var(--ac2-ink) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    box-shadow: 0 0 0 1px var(--ac2-line);
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker .ui-datepicker-header {
    margin: 0 0 .65rem;
    padding: .35rem 2.5rem .8rem;
    border: 0 !important;
    border-bottom: 1px solid var(--ac2-line) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker .ui-datepicker-title {
    color: var(--ac2-ink) !important;
    font-size: 1.2rem;
    font-weight: 800;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker th {
    padding: .55rem .05rem;
    border-bottom: 1px solid var(--ac2-line);
    color: #5f596b !important;
    font-size: .76rem;
    font-weight: 800;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker td {
    padding: 2px;
    border: 0;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-editorial .ui-datepicker td > span {
    position: relative;
    display: flex;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    padding: .35rem .1rem !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: transparent !important;
    color: var(--ac2-ink) !important;
    font-size: 1rem;
    font-weight: 650 !important;
    text-decoration: none !important;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker td > span,
.articles-calendar.ac2-theme-clean-editorial .ui-datepicker .ui-datepicker-other-month > a {
    color: #b1adb8 !important;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker td > a:hover {
    background: var(--ac2-soft) !important;
    color: var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker .ui-datepicker-today > a {
    box-shadow: inset 0 0 0 1px #8f889e !important;
    font-weight: 850 !important;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-next {
    top: .25rem;
    width: 2rem;
    height: 2rem;
    border: 0 !important;
    border-radius: 2px !important;
    background: var(--ac2-soft) !important;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-prev { left: 0; }
.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-next { right: 0; }

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-prev .ui-icon,
.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-next .ui-icon {
    width: .55rem;
    height: .55rem;
    margin: -.3rem 0 0 -.3rem;
    border: solid var(--ac2-ink);
    border-width: 0 2px 2px 0;
    background: none !important;
}

.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-prev .ui-icon { transform: rotate(135deg); }
.articles-calendar.ac2-theme-clean-editorial .ui-datepicker-next .ui-icon { transform: rotate(-45deg); }

.articles-calendar.ac2-theme-clean-editorial a.ui-state-default.active {
    background: var(--ac2-ink) !important;
    color: #ffffff !important;
    font-weight: 850 !important;
}

.articles-calendar.ac2-theme-clean-editorial span.counter {
    position: absolute;
    right: 3px;
    bottom: 3px;
    display: inline-flex !important;
    width: auto !important;
    min-width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 .2rem !important;
    border-radius: 2px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-size: .61rem !important;
    font-weight: 850 !important;
    line-height: 1;
}

@media (max-width: 420px) {
    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker,
    .articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker,
    .articles-calendar.ac2-theme-clean-editorial .ui-datepicker {
        padding-left: .45rem;
        padding-right: .45rem;
    }

    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker table,
    .articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker table {
        border-spacing: 2px;
    }

    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > a,
    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > span,
    .articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker td > a,
    .articles-calendar.ac2-theme-clean-modern-corner .ui-datepicker td > span,
    .articles-calendar.ac2-theme-clean-editorial .ui-datepicker td > a,
    .articles-calendar.ac2-theme-clean-editorial .ui-datepicker td > span {
        min-height: 2.45rem;
        font-size: .92rem;
    }
}

/*
 * Articles Calendar 2 — White Showcase template
 * Visual-only override for the existing "Clean Modern Jasny" theme.
 * Data loading, date selection, counters and result links stay unchanged.
 */
.articles-calendar.ac2-theme-clean-modern-clear {
    --ac2-ink: #211d41;
    --ac2-muted: #625d70;
    --ac2-line: #211d41;
    --ac2-soft: #f5f4f8;
    --ac2-event-soft: #ebe9f0;
    color: var(--ac2-ink);
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker {
    width: 100%;
    min-width: 0;
    padding: 0 0 .72rem;
    border: 1px solid var(--ac2-ink) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    box-shadow: 0 8px 24px rgba(33, 29, 65, .09);
    overflow: hidden;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-header {
    min-height: 3.25rem;
    margin: 0 0 .55rem;
    padding: .82rem 3.15rem;
    border: 0 !important;
    border-bottom: 1px solid var(--ac2-ink) !important;
    border-radius: 0 !important;
    background: var(--ac2-ink) !important;
    color: #ffffff !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-title {
    margin: 0;
    color: #ffffff !important;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: .025em;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker table {
    width: calc(100% - 1rem);
    margin: 0 .5rem;
    border-collapse: separate;
    border-spacing: 4px;
    table-layout: fixed;
    animation: ac2-showcase-month-in .28s ease-out both;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker th {
    padding: .42rem .04rem .55rem;
    border: 0;
    color: var(--ac2-ink) !important;
    font-size: .68rem;
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: .075em;
    text-transform: uppercase;
    opacity: .68;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td {
    padding: 0;
    border: 0;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > span {
    position: relative;
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: .38rem .08rem .5rem !important;
    border: 1px solid #ddd9e3 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    text-align: center;
    font-size: 1.03rem;
    font-weight: 650 !important;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > span,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-other-month > a {
    border-color: transparent !important;
    background: #ffffff !important;
    color: #aaa6b2 !important;
    opacity: .58;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > a:hover {
    border-color: var(--ac2-ink) !important;
    background: var(--ac2-soft) !important;
    color: var(--ac2-ink) !important;
    transform: translateY(-1px);
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-today > a {
    border: 2px solid var(--ac2-ink) !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-weight: 850 !important;
    box-shadow: none !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next {
    top: .62rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    border-radius: 3px !important;
    background: transparent !important;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev { left: .65rem; }
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next { right: .65rem; }

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next:hover {
    border-color: #ffffff !important;
    background: rgba(255, 255, 255, .13) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev .ui-icon,
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next .ui-icon {
    width: .62rem;
    height: .62rem;
    margin: -.34rem 0 0 -.34rem;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    background: none !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-prev .ui-icon { transform: rotate(135deg); }
.articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker-next .ui-icon { transform: rotate(-45deg); }

/* Days with exhibitions: white tile, navy frame and navy counter marker. */
.articles-calendar.ac2-theme-clean-modern-clear a.ui-state-default.active {
    border: 2px solid var(--ac2-ink) !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
    font-weight: 850 !important;
    box-shadow: inset 0 -3px 0 var(--ac2-ink) !important;
    cursor: pointer !important;
}

.articles-calendar.ac2-theme-clean-modern-clear a.ui-state-default.active:hover,
.articles-calendar.ac2-theme-clean-modern-clear a.ui-state-default.active:focus {
    border-color: var(--ac2-ink) !important;
    background: var(--ac2-ink) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    outline: none;
}

.articles-calendar.ac2-theme-clean-modern-clear span.counter {
    position: absolute;
    right: 3px;
    bottom: 3px;
    top: auto;
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.08rem;
    height: 1.08rem;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 .19rem !important;
    border: 1px solid var(--ac2-ink) !important;
    border-radius: 2px !important;
    background: var(--ac2-ink) !important;
    color: #ffffff !important;
    font-size: .61rem !important;
    font-weight: 850 !important;
    line-height: 1;
    box-shadow: 0 1px 2px rgba(33, 29, 65, .12) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear a.ui-state-default.active:hover span.counter,
.articles-calendar.ac2-theme-clean-modern-clear a.ui-state-default.active:focus span.counter {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: var(--ac2-ink) !important;
}

.articles-calendar.ac2-theme-clean-modern-clear .ui-state-disabled {
    opacity: 1;
}

@keyframes ac2-showcase-month-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 420px) {
    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker {
        padding-bottom: .5rem;
    }

    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker .ui-datepicker-header {
        padding-left: 2.85rem;
        padding-right: 2.85rem;
    }

    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker table {
        width: calc(100% - .5rem);
        margin: 0 .25rem;
        border-spacing: 2px;
    }

    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > a,
    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > span {
        min-height: 2.55rem;
        font-size: .9rem;
    }

    .articles-calendar.ac2-theme-clean-modern-clear span.counter {
        right: 2px;
        bottom: 2px;
        min-width: .98rem;
        height: .98rem;
        font-size: .56rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker table {
        animation: none;
    }

    .articles-calendar.ac2-theme-clean-modern-clear .ui-datepicker td > a {
        transition: none;
    }
}


/*
 * Articles Calendar 2 — Granatowy Czytelny
 * Wariant jasny: białe tło, granatowa typografia, delikatne obramowania
 * i ciemny licznik wydarzeń. Logika Datepickera pozostaje bez zmian.
 */
.articles-calendar.ac2-theme-clean-navy-readable {
    --ac2-navy: #211d41;
    --ac2-navy-soft: #f4f3f8;
    --ac2-line: #d8d4e1;
    --ac2-line-light: #e9e7ee;
    --ac2-counter: #1a1a1a;
    box-sizing: border-box;
    width: 100%;
    padding: 3px 6px 5px;
    color: var(--ac2-navy);
}

.articles-calendar.ac2-theme-clean-navy-readable .ac2-module-title {
    margin: 0 0 4px !important;
    padding: 0 2px 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    color: var(--ac2-navy) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-align: left;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker {
    width: 100%;
    min-width: 0;
    padding: .42rem .42rem .72rem;
    border: 1px solid var(--ac2-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--ac2-navy) !important;
    box-shadow: 0 5px 16px rgba(33, 29, 65, .07) !important;
    overflow: hidden;
}

/* Belka miesiąca: biała, bez granatowego wypełnienia, tylko lekka ramka. */
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-datepicker-header,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-widget-header {
    min-height: 3.05rem;
    margin: 0 0 .55rem;
    padding: .7rem 3rem;
    border: 1px solid var(--ac2-line-light) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--ac2-navy) !important;
    box-shadow: none !important;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-datepicker-title {
    margin: 0;
    color: var(--ac2-navy) !important;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.55;
    letter-spacing: .02em;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker table {
    width: calc(100% - .6rem);
    margin: 0 .3rem;
    border-collapse: separate;
    border-spacing: 3px;
    table-layout: fixed;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker th {
    padding: .45rem .04rem .55rem;
    border: 0 !important;
    color: var(--ac2-navy) !important;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .055em;
    text-transform: uppercase;
    opacity: 1;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td {
    padding: 0;
    border: 0 !important;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td > a,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td > span,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-state-default {
    position: relative;
    display: flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    padding: .38rem .08rem .48rem !important;
    border: 1px solid var(--ac2-line-light) !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--ac2-navy) !important;
    text-align: center;
    font-size: 1rem;
    font-weight: 700 !important;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .14s ease, border-color .14s ease, transform .14s ease;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td > span,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-datepicker-other-month > a,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-state-disabled > span {
    border-color: transparent !important;
    background: #ffffff !important;
    color: #aaa6b2 !important;
    opacity: .62;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td > a:hover,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker a.ui-state-default:hover {
    border-color: var(--ac2-navy) !important;
    background: var(--ac2-navy-soft) !important;
    color: var(--ac2-navy) !important;
    transform: translateY(-1px);
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-datepicker-today > a {
    border: 1px solid var(--ac2-navy) !important;
    background: #ffffff !important;
    color: var(--ac2-navy) !important;
    font-weight: 900 !important;
    box-shadow: inset 0 0 0 1px #ffffff !important;
}

/* Dni z wydarzeniami pozostają białe; wyróżnia je mocna granatowa ramka. */
.articles-calendar.ac2-theme-clean-navy-readable a.ui-state-default.active,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker a.ui-state-default.active {
    border: 1px solid var(--ac2-navy) !important;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--ac2-navy) !important;
    font-weight: 900 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.articles-calendar.ac2-theme-clean-navy-readable a.ui-state-default.active:hover,
.articles-calendar.ac2-theme-clean-navy-readable a.ui-state-default.active:focus {
    border-color: var(--ac2-navy) !important;
    background: var(--ac2-navy-soft) !important;
    color: var(--ac2-navy) !important;
    outline: 2px solid rgba(33, 29, 65, .12);
    outline-offset: 1px;
    transform: translateY(-1px);
}

/* Licznik: tło i obramowanie #1a1a1a, białe cyfry. */
.articles-calendar.ac2-theme-clean-navy-readable span.counter,
.articles-calendar.ac2-theme-clean-navy-readable a.active span.counter {
    position: absolute;
    right: 3px;
    bottom: 3px;
    top: auto;
    display: inline-flex !important;
    width: auto !important;
    min-width: 1.12rem;
    height: 1.12rem;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 .2rem !important;
    border: 1px solid var(--ac2-counter) !important;
    border-radius: 3px !important;
    outline: 0 !important;
    background: var(--ac2-counter) !important;
    color: #ffffff !important;
    font-size: .62rem !important;
    font-weight: 900 !important;
    line-height: 1;
    box-shadow: none !important;
}

.articles-calendar.ac2-theme-clean-navy-readable a.ui-state-default.active:hover span.counter,
.articles-calendar.ac2-theme-clean-navy-readable a.ui-state-default.active:focus span.counter {
    border-color: var(--ac2-counter) !important;
    background: var(--ac2-counter) !important;
    color: #ffffff !important;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-prev,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-next {
    top: .52rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--ac2-line) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    background-image: none !important;
    cursor: pointer;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-prev { left: .55rem; }
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-next { right: .55rem; }

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-prev:hover,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-next:hover {
    border-color: var(--ac2-navy) !important;
    background: var(--ac2-navy-soft) !important;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-prev .ui-icon,
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-next .ui-icon {
    width: .62rem;
    height: .62rem;
    margin: -.34rem 0 0 -.34rem;
    border: solid var(--ac2-navy);
    border-width: 0 2px 2px 0;
    background: none !important;
}

.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-prev .ui-icon { transform: rotate(135deg); }
.articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker-next .ui-icon { transform: rotate(-45deg); }

.articles-calendar.ac2-theme-clean-navy-readable .ui-state-disabled {
    opacity: 1;
}

@media (max-width: 420px) {
    .articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-datepicker-header {
        padding-left: 2.75rem;
        padding-right: 2.75rem;
    }

    .articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker table {
        width: calc(100% - .3rem);
        margin: 0 .15rem;
        border-spacing: 2px;
    }

    .articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td > a,
    .articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td > span,
    .articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker .ui-state-default {
        min-height: 2.5rem;
        font-size: .9rem;
    }

    .articles-calendar.ac2-theme-clean-navy-readable span.counter,
    .articles-calendar.ac2-theme-clean-navy-readable a.active span.counter {
        right: 2px;
        bottom: 2px;
        min-width: 1rem;
        height: 1rem;
        font-size: .56rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .articles-calendar.ac2-theme-clean-navy-readable .ui-datepicker td > a {
        transition: none;
    }
}
