.ajwp-agenda{
    --ajwp-agenda-gap:14px;
    --ajwp-agenda-date-width:92px;
    width:100%;
}

.ajwp-agenda-list{
    display:flex;
    flex-direction:column;
    gap:var(--ajwp-agenda-gap);
    width:100%;
}

.ajwp-agenda-item{
    display:grid;
    grid-template-columns:var(--ajwp-agenda-date-width) minmax(0,1fr);
    gap:20px;
    align-items:stretch;
    width:100%;
    padding:18px 20px 18px 18px;
    border:1px solid #f0e3bd;
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 24px rgba(25,42,70,.045);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}

.ajwp-agenda-item:hover{
    transform:translateY(-3px);
    border-color:#f2a61a;
    box-shadow:0 14px 34px rgba(25,42,70,.08);
}

.ajwp-agenda-date{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:118px;
    padding:12px 8px;
    border-radius:12px;
    background:#fff7e3;
    text-align:center;
}

.ajwp-agenda-day{
    display:block;
    color:#f0a51a;
    font-family:inherit;
    font-size:38px;
    font-weight:800;
    line-height:.95;
    letter-spacing:-.045em;
}

.ajwp-agenda-month{
    display:block;
    margin-top:7px;
    color:#17315d;
    font-family:inherit;
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:.12em;
}

.ajwp-agenda-year{
    display:block;
    margin-top:5px;
    color:#17315d;
    font-family:inherit;
    font-size:11px;
    font-weight:600;
    line-height:1;
    opacity:.64;
}

.ajwp-agenda-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:3px 0;
}

.ajwp-agenda-weekday{
    margin:0 0 5px;
    color:#248c49;
    font-family:inherit;
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.ajwp-agenda-title{
    margin:0;
    color:#132954;
    font-family:inherit;
    font-size:20px;
    font-weight:750;
    line-height:1.25;
    letter-spacing:-.025em;
}

.ajwp-agenda-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 15px;
    margin-top:10px;
}

.ajwp-agenda-meta-item{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0;
    color:#6d7683;
    font-family:inherit;
    font-size:13px;
    font-weight:500;
    line-height:1.45;
}

.ajwp-agenda-meta-item svg{
    flex:0 0 auto;
    width:14px;
    height:14px;
    fill:#6d7683;
}

.ajwp-agenda-excerpt{
    margin-top:10px;
    color:#667085;
    font-family:inherit;
    font-size:14px;
    line-height:1.55;
}

.ajwp-agenda-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    margin-top:12px;
    color:#17315d;
    font-family:inherit;
    font-size:12px;
    font-weight:750;
    line-height:1.3;
    text-decoration:none!important;
    transition:color .2s ease;
}

.ajwp-agenda-link svg{
    width:13px;
    height:13px;
    fill:#17315d;
    transition:transform .2s ease,fill .2s ease;
}

.ajwp-agenda-link:hover{
    color:#248c49;
}

.ajwp-agenda-link:hover svg{
    fill:#248c49;
    transform:translateX(3px);
}

.ajwp-agenda-load-more-wrap{
    display:flex;
    justify-content:center;
    margin-top:22px;
}

.ajwp-agenda-load-more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:11px 20px;
    border:0;
    border-radius:999px;
    background:#17315d;
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:750;
    line-height:1;
    cursor:pointer;
    box-shadow:none;
    transition:background-color .2s ease,transform .2s ease,opacity .2s ease;
}

.ajwp-agenda-load-more:hover{
    background:#248c49;
    transform:translateY(-1px);
}

.ajwp-agenda-load-more:focus-visible{
    outline:3px solid rgba(36,140,73,.22);
    outline-offset:3px;
}

.ajwp-agenda-load-more svg{
    width:17px;
    height:17px;
    fill:currentColor;
    transition:transform .2s ease;
}

.ajwp-agenda-load-more:hover svg{
    transform:translateY(2px);
}

.ajwp-agenda-load-more.is-loading{
    cursor:progress;
    opacity:.7;
    pointer-events:none;
}

.ajwp-agenda-load-more.is-loading svg{
    animation:ajwp-agenda-pulse .7s ease-in-out infinite alternate;
}

.ajwp-agenda-empty{
    width:100%;
    padding:20px 22px;
    border:1px dashed #e3d7b7;
    border-radius:14px;
    background:#fffdf8;
    color:#6d7683;
    font-size:14px;
    line-height:1.55;
}

@keyframes ajwp-agenda-pulse{
    from{transform:translateY(0);opacity:.45}
    to{transform:translateY(2px);opacity:1}
}

@media(max-width:767px){
    .ajwp-agenda{
        --ajwp-agenda-date-width:74px;
    }

    .ajwp-agenda-item{
        grid-template-columns:var(--ajwp-agenda-date-width) minmax(0,1fr);
        gap:14px;
        padding:14px;
        border-radius:14px;
    }

    .ajwp-agenda-date{
        min-height:104px;
        padding:10px 6px;
        border-radius:10px;
    }

    .ajwp-agenda-day{
        font-size:31px;
    }

    .ajwp-agenda-month{
        margin-top:6px;
        font-size:10px;
    }

    .ajwp-agenda-year{
        font-size:10px;
    }

    .ajwp-agenda-weekday{
        margin-bottom:4px;
        font-size:10px;
    }

    .ajwp-agenda-title{
        font-size:17px;
    }

    .ajwp-agenda-meta{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:5px;
        margin-top:8px;
    }

    .ajwp-agenda-meta-item{
        font-size:12px;
    }

    .ajwp-agenda-excerpt{
        font-size:13px;
    }

    .ajwp-agenda-link{
        margin-top:10px;
    }

    .ajwp-agenda-load-more{
        width:100%;
    }
}

@media(max-width:420px){
    .ajwp-agenda{
        --ajwp-agenda-date-width:66px;
    }

    .ajwp-agenda-item{
        gap:12px;
        padding:12px;
    }

    .ajwp-agenda-date{
        min-height:96px;
    }

    .ajwp-agenda-day{
        font-size:28px;
    }
}

@media(prefers-reduced-motion:reduce){
    .ajwp-agenda-item,
    .ajwp-agenda-link,
    .ajwp-agenda-link svg,
    .ajwp-agenda-load-more,
    .ajwp-agenda-load-more svg{
        transition:none;
    }

    .ajwp-agenda-load-more.is-loading svg{
        animation:none;
    }
}
