.dc-month-page{
    --dc-month-ink:#172033;
    --dc-month-text:#445065;
    --dc-month-muted:#6b7485;
    --dc-month-line:rgba(23,32,51,.11);
    --dc-month-soft:#f5f7fb;
    --dc-month-surface:#fff;
    --dc-month-accent:#e96843;
    --dc-month-accent-dark:#b94427;
    --dc-month-shadow:0 18px 55px rgba(28,37,55,.10);
    --dc-month-shadow-soft:0 8px 25px rgba(28,37,55,.07);
    padding-bottom:4rem;
}
.dc-month-page *,
.dc-month-page *::before,
.dc-month-page *::after{box-sizing:border-box}
.dc-month-page [hidden],
.dc-month-page .dc-month-event-list>li[hidden]{display:none!important}

.dc-month-page .dc-month-calendar-link{
    display:flex;
    justify-content:center;
    margin:1rem 0 1.5rem;
}
.dc-month-page .dc-month-calendar-link a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:.72rem 1rem;
    border:1px solid var(--dc-month-line);
    border-radius:999px;
    background:#fff;
    box-shadow:var(--dc-month-shadow-soft);
    color:var(--dc-month-ink)!important;
    font-size:.86rem;
    font-weight:800;
    line-height:1.3;
    text-decoration:none;
}

.dc-month-page .dc-month-calendar-hub{
    position:relative;
    clear:both;
    margin:clamp(2rem,5vw,3.5rem) 0;
    padding:clamp(1rem,3vw,1.6rem);
    border:1px solid var(--dc-month-line);
    border-radius:26px;
    background:
        radial-gradient(circle at 100% 0,rgba(233,104,67,.09),transparent 30rem),
        radial-gradient(circle at 0 100%,rgba(105,87,200,.07),transparent 28rem),
        linear-gradient(145deg,#fff,#fafbff);
    box-shadow:var(--dc-month-shadow);
}
.dc-month-page .dc-month-hub-header{
    width:min(850px,100%);
    margin:0 auto 1.4rem;
    text-align:center;
}
.dc-month-page .dc-month-eyebrow{
    margin:0 0 .55rem!important;
    color:var(--dc-month-accent-dark)!important;
    font-size:.72rem!important;
    font-weight:900!important;
    letter-spacing:.12em;
    line-height:1.3!important;
    text-transform:uppercase;
}
.dc-month-page .dc-month-hub-header h2{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--dc-month-ink)!important;
    font-size:clamp(1.55rem,4vw,2.45rem)!important;
    font-weight:900!important;
    line-height:1.08!important;
    letter-spacing:-.035em;
    text-align:center!important;
}
.dc-month-page .dc-month-hub-header h2::after{display:none!important}
.dc-month-page .dc-month-hub-header>p:last-child{
    margin:.8rem auto 0!important;
    color:var(--dc-month-muted)!important;
    font-size:.96rem!important;
    line-height:1.65!important;
}

.dc-month-page .dc-month-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.75rem;
    margin:0 0 1rem;
}
.dc-month-page .dc-month-stat{
    padding:.95rem;
    border:1px solid var(--dc-month-line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--dc-month-shadow-soft);
    text-align:center;
}
.dc-month-page .dc-month-stat strong{
    display:block;
    color:var(--dc-month-ink);
    font-size:clamp(1.25rem,3vw,1.8rem);
    font-weight:900;
    line-height:1;
}
.dc-month-page .dc-month-stat span{
    display:block;
    margin-top:.35rem;
    color:var(--dc-month-muted);
    font-size:.75rem;
    font-weight:750;
    line-height:1.35;
}

.dc-month-page .dc-month-filter{
    margin:1rem 0 1.35rem;
    padding:1rem;
    border:1px solid var(--dc-month-line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--dc-month-shadow-soft);
}
.dc-month-page .dc-month-filter__header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.8rem;
}
.dc-month-page .dc-month-filter__title{
    margin:0!important;
    color:var(--dc-month-ink)!important;
    font-size:.9rem!important;
    font-weight:900!important;
    line-height:1.35!important;
}
.dc-month-page .dc-month-filter__hint{
    margin:.18rem 0 0!important;
    color:var(--dc-month-muted)!important;
    font-size:.76rem!important;
    line-height:1.4!important;
}
.dc-month-page .dc-month-filter__reset{
    flex:0 0 auto;
    min-height:38px;
    margin:0;
    padding:.55rem .85rem;
    border:0;
    border-radius:10px;
    background:var(--dc-month-ink);
    color:#fff;
    font-size:.75rem;
    font-weight:850;
    line-height:1.2;
    cursor:pointer;
}
.dc-month-page .dc-month-filter__reset:disabled{opacity:.38;cursor:default}
.dc-month-page .dc-month-filter__tags{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
    max-height:160px;
    padding:.1rem .15rem .35rem 0;
    overflow:auto;
    scrollbar-width:thin;
}
.dc-month-page .dc-month-filter-button{
    display:inline-flex;
    align-items:center;
    gap:.42rem;
    min-height:36px;
    margin:0;
    padding:.5rem .68rem;
    border:1px solid var(--dc-month-line);
    border-radius:999px;
    background:#fff;
    color:var(--dc-month-text);
    font-size:.76rem;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
    transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
.dc-month-page .dc-month-filter-button:hover{
    transform:translateY(-1px);
    border-color:rgba(233,104,67,.34);
}
.dc-month-page .dc-month-filter-button.is-active{
    border-color:var(--dc-month-accent);
    background:linear-gradient(135deg,#f47b55,#e96843);
    color:#fff;
    box-shadow:0 8px 20px rgba(233,104,67,.22);
}
.dc-month-page .dc-month-filter-button span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:1.55rem;
    height:1.55rem;
    padding:0 .35rem;
    border-radius:999px;
    background:var(--dc-month-soft);
    color:var(--dc-month-muted);
    font-size:.68rem;
    font-weight:850;
}
.dc-month-page .dc-month-filter-button.is-active span{
    background:rgba(255,255,255,.2);
    color:#fff;
}
.dc-month-page .dc-month-filter__result{
    margin:.7rem 0 0!important;
    color:var(--dc-month-muted)!important;
    font-size:.78rem!important;
    line-height:1.4!important;
}
.dc-month-page .dc-month-filter-empty{
    margin:1rem 0;
    padding:1.1rem;
    border:1px dashed var(--dc-month-line);
    border-radius:16px;
    background:var(--dc-month-soft);
    color:var(--dc-month-muted);
    text-align:center;
}

.dc-month-page .dc-month-group{
    margin:1.5rem 0 0;
}
.dc-month-page .dc-month-group-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    margin:0 0 .8rem;
}
.dc-month-page .dc-month-group-header h2,
.dc-month-page .dc-month-group-header h3{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--dc-month-ink)!important;
    font-size:clamp(1.18rem,3vw,1.55rem)!important;
    font-weight:900!important;
    line-height:1.2!important;
    letter-spacing:-.025em;
    text-align:left!important;
}
.dc-month-page .dc-month-group-header h2::after,
.dc-month-page .dc-month-group-header h3::after{display:none!important}
.dc-month-page .dc-month-group-count{
    color:var(--dc-month-muted);
    font-size:.76rem;
    font-weight:800;
    white-space:nowrap;
}

.dc-month-page .dc-month-event-list{
    display:grid;
    gap:.7rem;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}
.dc-month-page .dc-month-event-list>li{
    position:relative;
    display:grid!important;
    grid-template-columns:minmax(135px,.72fr) minmax(285px,1.55fr) minmax(220px,1.45fr) minmax(120px,.62fr);
    align-items:center;
    gap:.8rem;
    width:auto!important;
    min-height:108px;
    height:auto!important;
    margin:0!important;
    padding:.75rem .85rem!important;
    float:none!important;
    overflow:visible!important;
    border:1px solid var(--dc-month-line)!important;
    border-left:4px solid rgba(23,32,51,.18)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:var(--dc-month-shadow-soft);
    color:var(--dc-month-text)!important;
    font-size:inherit!important;
    line-height:normal!important;
    cursor:pointer;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.dc-month-page .dc-month-event-list>li:hover{
    transform:translateY(-2px);
    border-color:rgba(23,32,51,.18)!important;
    box-shadow:var(--dc-month-shadow);
}
.dc-month-page .dc-month-event-list>li:focus-within{
    outline:3px solid rgba(233,104,67,.45);
    outline-offset:2px;
}
.dc-month-page .dc-month-event-date{
    display:flex;
    align-items:center;
    min-height:58px;
    padding:.72rem;
    border-radius:12px;
    background:#2d3c59;
    color:#fff;
    font-size:.84rem;
    font-weight:900;
    line-height:1.35;
}
.dc-month-page .dc-month-event-main{
    display:flex;
    align-items:center;
    gap:.7rem;
    min-width:0;
}
.dc-month-page .dc-month-event-thumb{
    flex:0 0 88px;
    width:88px;
    height:62px;
    overflow:hidden;
    border-radius:10px;
    background:linear-gradient(135deg,#edf0f5,#f8f9fb);
    box-shadow:inset 0 0 0 1px rgba(23,32,51,.07);
}
.dc-month-page .dc-month-event-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .24s ease,transform .28s ease;
}
.dc-month-page .dc-month-event-thumb img.is-loaded{opacity:1}
.dc-month-page .dc-month-event-card:hover .dc-month-event-thumb img{transform:scale(1.045)}
.dc-month-page .dc-month-event-copy{flex:1 1 0;width:0;min-width:0;max-width:100%}
.dc-month-page .dc-month-event-title{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--dc-month-ink)!important;
    font-size:.98rem!important;
    font-weight:900!important;
    line-height:1.27!important;
    text-align:left!important;
}
.dc-month-page .dc-month-event-title::after{display:none!important}
.dc-month-page .dc-month-event-title a{
    color:var(--dc-month-ink)!important;
    text-decoration:none!important;
}
.dc-month-page .dc-month-event-title a::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:16px;
}
.dc-month-page .dc-month-event-title a:focus-visible::after{
    outline:3px solid rgba(233,104,67,.48);
    outline-offset:2px;
}
.dc-month-page .dc-month-event-tags{
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:.3rem;
    width:100%;
    min-width:0;
    max-width:100%;
    margin-top:.5rem;
}
.dc-month-page .dc-month-tag-link{
    display:inline-flex;
    align-items:center;
    max-width:100%;
    min-height:25px;
    padding:.3rem .48rem;
    border:1px solid rgba(23,32,51,.08);
    border-radius:999px;
    background:#f3f5f9;
    color:#536075!important;
    font-size:.66rem;
    font-weight:800;
    line-height:1.15;
    text-decoration:none!important;
    white-space:normal;
    overflow-wrap:anywhere;
}
.dc-month-page .dc-month-tag-link:hover{
    border-color:rgba(233,104,67,.26);
    background:#fff1eb;
    color:var(--dc-month-accent-dark)!important;
}
.dc-month-page .dc-month-event-description{
    margin:0!important;
    color:var(--dc-month-muted)!important;
    font-size:.82rem!important;
    line-height:1.5!important;
}
.dc-month-page .dc-month-event-badges{
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:.4rem;
}
.dc-month-page .dc-month-status,
.dc-month-page .dc-month-reliability{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    min-height:27px;
    padding:.38rem .58rem;
    border-radius:999px;
    font-size:.68rem;
    font-weight:900;
    line-height:1.15;
    text-align:center;
}
.dc-month-page .dc-month-status--past{background:#edf0f5;color:#627087}
.dc-month-page .dc-month-status--today,
.dc-month-page .dc-month-status--current{background:#fff0e7;color:#a94327}
.dc-month-page .dc-month-status--upcoming{background:#eef3ff;color:#3d5f9c}
.dc-month-page .dc-month-reliability--confirmed{background:#e7f7f1;color:#16765b}
.dc-month-page .dc-month-reliability--estimated{background:#fff6df;color:#8a6514}
.dc-month-page .dc-month-reliability--lunar{background:#eee9ff;color:#5f47a7}
.dc-month-page .dc-month-reliability--warning{background:#ffe9e4;color:#a5422c}
.dc-month-page .dc-month-reliability--known{background:#eef1f5;color:#5d687a}

.dc-month-page .dc-month-event-list>li.dc-month-theme--commerce{border-left-color:#8b63c7!important;background:linear-gradient(90deg,rgba(139,99,199,.07),#fff 24%)!important}
.dc-month-page .dc-month-event-list>li.dc-month-theme--sport{border-left-color:#2d8a63!important;background:linear-gradient(90deg,rgba(45,138,99,.07),#fff 24%)!important}
.dc-month-page .dc-month-event-list>li.dc-month-theme--tech{border-left-color:#2789a7!important;background:linear-gradient(90deg,rgba(39,137,167,.07),#fff 24%)!important}
.dc-month-page .dc-month-event-list>li.dc-month-theme--culture{border-left-color:#d87839!important;background:linear-gradient(90deg,rgba(216,120,57,.07),#fff 24%)!important}
.dc-month-page .dc-month-event-list>li.dc-month-theme--family{border-left-color:#c95f83!important;background:linear-gradient(90deg,rgba(201,95,131,.07),#fff 24%)!important}
.dc-month-page .dc-month-event-list>li.dc-month-theme--world{border-left-color:#4779bd!important;background:linear-gradient(90deg,rgba(71,121,189,.07),#fff 24%)!important}
.dc-month-page .dc-month-event-list>li.dc-month-theme--tradition{border-left-color:#c39735!important;background:linear-gradient(90deg,rgba(195,151,53,.08),#fff 24%)!important}
.dc-month-page .dc-month-event-list>li.dc-month-theme--solidarity{border-left-color:#3b938e!important;background:linear-gradient(90deg,rgba(59,147,142,.07),#fff 24%)!important}

.dc-month-page .dc-month-past{
    margin:1.5rem 0 0;
    border:1px solid var(--dc-month-line);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    box-shadow:var(--dc-month-shadow-soft);
}
.dc-month-page .dc-month-past>summary{
    position:relative;
    padding:1rem 3rem 1rem 1rem;
    color:var(--dc-month-ink);
    font-size:.9rem;
    font-weight:900;
    line-height:1.4;
    cursor:pointer;
    list-style:none;
}
.dc-month-page .dc-month-past>summary::-webkit-details-marker{display:none}
.dc-month-page .dc-month-past>summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    width:1.8rem;
    height:1.8rem;
    border-radius:50%;
    background:var(--dc-month-soft);
    transform:translateY(-50%);
}
.dc-month-page .dc-month-past[open]>summary::after{content:"−"}
.dc-month-page .dc-month-past__body{padding:0 .8rem .8rem}

@media screen and (max-width:1050px){
    .dc-month-page .dc-month-event-list>li{
        grid-template-columns:minmax(125px,.7fr) minmax(260px,1.45fr) minmax(200px,1.25fr);
    }
    .dc-month-page .dc-month-event-badges{
        grid-column:2 / -1;
        align-items:center;
        flex-direction:row;
        justify-content:flex-end;
    }
}
@media screen and (max-width:760px){
    .dc-month-page .dc-month-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .dc-month-page .dc-month-filter__header{align-items:stretch;flex-direction:column}
    .dc-month-page .dc-month-filter__reset{width:100%}
    .dc-month-page .dc-month-event-list>li{
        grid-template-columns:1fr;
        gap:.7rem;
    }
    .dc-month-page .dc-month-event-date{
        min-height:0;
    }
    .dc-month-page .dc-month-event-badges{
        grid-column:auto;
        align-items:flex-start;
        flex-direction:row;
        justify-content:flex-start;
    }
}
@media screen and (max-width:520px){
    .dc-month-page .dc-month-calendar-hub{padding:.85rem;border-radius:20px}
    .dc-month-page .dc-month-filter__tags{max-height:none}
    .dc-month-page .dc-month-event-main{align-items:flex-start;width:100%;min-width:0;overflow:hidden}
    .dc-month-page .dc-month-event-copy{flex:1 1 0;width:0;min-width:0;max-width:100%;overflow:hidden}
    .dc-month-page .dc-month-event-title{overflow-wrap:anywhere}
    .dc-month-page .dc-month-event-tags{width:100%;max-width:100%;overflow:hidden}
    .dc-month-page .dc-month-event-thumb{flex-basis:82px;width:82px;height:58px}
    .dc-month-page .dc-month-event-description{font-size:.79rem!important}
}
@media (prefers-reduced-motion:reduce){
    .dc-month-page .dc-month-event-list>li,
    .dc-month-page .dc-month-filter-button,
    .dc-month-page .dc-month-event-thumb img{transition:none}
}
