.am-events-archive {
    --am-archive-ink: #282520;
    --am-archive-muted: #71685e;
    --am-archive-accent: #a64713;
    --am-archive-line: #e6ddd0;
    --am-archive-paper: #faf8f3;
}
.am-events-archive .am-events-archive-filter {
    box-sizing: border-box;
    margin: 22px 0 24px;
    padding: 24px;
    border: 1px solid var(--am-archive-line);
    background: var(--am-archive-paper);
    color: var(--am-archive-ink);
}
.am-events-archive .am-events-archive-filter h2 {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    font: 700 18px/1.4 "PT Sans", sans-serif;
    color: inherit;
    text-transform: none;
}
.am-events-archive .am-events-archive-row { display: flex; gap: 12px; align-items: flex-end; }
.am-events-archive .am-events-archive-field { display: flex; flex: 1; flex-direction: column; gap: 6px; min-width: 0; }
.am-events-archive .am-events-archive-field label { margin: 0; color: var(--am-archive-muted); font: 400 14px/1.5 "PT Sans", sans-serif; text-align: left; }
.am-events-archive .am-events-archive-field input,
.am-events-archive .am-events-archive-field select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 48px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #c8beb0;
    border-radius: 2px;
    background: #fff;
    color: var(--am-archive-ink);
    font: 400 16px/1.5 "PT Sans", sans-serif;
    box-shadow: none;
}
.am-events-archive .am-events-archive-field select:disabled { color: #7c756c; background: #f0ece5; }
.am-events-archive .am-events-archive-field input::placeholder { color: #82786d; opacity: 1; }
.am-events-archive .am-events-archive-button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin: 0;
    padding: 10px 22px;
    border: 1px solid var(--am-archive-accent);
    border-radius: 2px;
    background: var(--am-archive-accent);
    color: #fff;
    font: 400 16px/1.5 "PT Sans", sans-serif;
    cursor: pointer;
    text-transform: none;
    white-space: nowrap;
}
.am-events-archive .am-events-archive-button:hover { background: #86360e; border-color: #86360e; }
.am-events-archive .am-events-archive-search { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid var(--am-archive-line); }
.am-events-archive .am-events-archive-period { margin: 0; }
.am-events-archive .am-events-archive-years { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.am-events-archive .am-events-archive-years a,
.am-events-archive .am-events-archive-reset {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 2px;
    font: 400 16px/1.5 "PT Sans", sans-serif;
    text-align: center;
    text-decoration: none;
}
.am-events-archive .am-events-archive-years a { padding: 8px 15px; border: 1px solid #d3c6b5; background: #fff; color: var(--am-archive-ink); }
.am-events-archive .am-events-archive-years a:hover,
.am-events-archive .am-events-archive-years a[aria-current="true"] { border-color: var(--am-archive-accent); background: #fff0dc; color: var(--am-archive-accent); }
.am-events-archive .am-events-archive-exact { margin-top: 18px; }
.am-events-archive .am-events-archive-exact summary { min-height: 34px; padding: 5px 0; color: var(--am-archive-accent); font-size: 14px; line-height: 1.5; cursor: pointer; }
.am-events-archive .am-events-archive-exact .am-events-archive-row { margin-top: 12px; }
.am-events-archive .am-events-archive-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.am-events-archive .am-events-archive-reset { min-height: 48px; padding: 10px 14px; color: var(--am-archive-muted); }
.am-events-archive .am-events-archive-reset:hover { background: #eee7dd; color: var(--am-archive-ink); }
.am-events-archive .am-events-archive-selection { margin: 12px 0 0; color: var(--am-archive-accent); font-size: 14px; line-height: 1.5; text-align: left; }
.am-events-archive .am-events-archive-error { margin-top: 16px; padding: 12px; border-left: 3px solid #ad291b; color: #8c2016; background: #fff0eb; }
.am-events-archive .am-events-archive-error p { margin: 0; text-align: left; }
.am-events-archive .am-events-archive-count { margin: 0 0 12px; color: var(--am-archive-muted); font-size: 14px; text-align: left; }
.am-events-archive .am-events-archive-empty { margin: 18px 0 28px; padding: 24px; border: 1px solid var(--am-archive-line); background: var(--am-archive-paper); }
.am-events-archive .am-events-archive-empty h3 { font-size: 22px; font-weight: 400; margin: 0 0 8px; }
.am-events-archive .am-events-archive-empty p { margin: 0; text-align: left; }
.am-events-archive .am-events-archive-filter :is(a,button,input,select,summary):focus-visible { outline: 2px solid var(--am-archive-accent); outline-offset: 3px; }
.am-events-archive .am-events-archive-category { margin-bottom: 18px; }
.am-events-archive .am-events-archive-hint { margin: 8px 0 0; color: var(--am-archive-muted); font-size: 14px; line-height: 1.5; text-align: left; }
.am-events-archive .am-events-archive-filter p { text-align: left !important; word-spacing: normal !important; }
.am-events-archive .am-events-calendar-dates { margin: 0 0 14px; padding: 10px 12px; border-left: 2px solid var(--am-archive-line); background: var(--am-archive-paper); font-size: 14px; line-height: 1.6; text-align: left; }
.am-events-archive .am-events-calendar-state { display: block; color: var(--am-archive-muted); }
.am-events-archive .am-events-calendar-card .item-img img { display: block; width: 100%; height: auto; }
@media (max-width: 600px) {
    .am-events-archive .am-events-archive-filter { padding: 18px; }
    .am-events-archive .am-events-archive-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .am-events-archive .am-events-archive-search .am-events-archive-field,
    .am-events-archive .am-events-archive-search .am-events-archive-button { grid-column: 1 / -1; }
    .am-events-archive .am-events-archive-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .am-events-archive .am-events-archive-actions .am-events-archive-button { padding: 10px 8px; }
    .am-events-archive .am-events-archive-years { gap: 6px; }
    .am-events-archive .am-events-archive-years a { padding: 8px 11px; }
}
@media (max-width: 350px) {
    .am-events-archive .am-events-archive-row { grid-template-columns: 1fr; }
}
