/*
 * Themes can set these custom properties on .icsfeeds:
 * --icsfeeds-line (list separators and grid), --icsfeeds-border, --icsfeeds-surface,
 * --icsfeeds-surface-muted, --icsfeeds-text, --icsfeeds-focus, --icsfeeds-today.
 */
.icsfeeds {margin-block:1.5rem;overflow-wrap:anywhere;}
.icsfeeds [hidden] {display:none !important;}
.icsfeeds .screen-reader-text {position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.icsfeeds .icsfeeds-event-list {list-style:none;padding:0;margin:0;}
.icsfeeds .icsfeeds-event-list > li {padding:1rem 0;border-bottom:1px solid var(--icsfeeds-line,currentColor);}
.icsfeeds .icsfeeds-event-list > li.icsfeeds-has-color {border-inline-start:4px solid var(--icsfeeds-event-color);padding-inline-start:.85rem;}
.icsfeeds-day-event.icsfeeds-has-color,.icsfeeds .icsfeeds-event-trigger.icsfeeds-has-color {border:1px solid var(--icsfeeds-border,color-mix(in srgb,currentColor 45%,transparent));border-inline-start-width:4px;border-inline-start-color:var(--icsfeeds-event-color);border-radius:.35rem;padding:.35rem .45rem;}
.icsfeeds .icsfeeds-event-title {margin:0 0 .4rem;font-size:1.1em;}
.icsfeeds .icsfeeds-event p {margin:.3rem 0;}
.icsfeeds .icsfeeds-event-description {white-space:normal;}
.icsfeeds .icsfeeds-event-categories {font-size:.9em;}
.icsfeeds-navigation {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block:1rem;}
.icsfeeds button {font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:.25rem;min-width:2.75rem;min-height:2.75rem;cursor:pointer;}
.icsfeeds button:disabled {opacity:.45;cursor:default;}
.icsfeeds button:focus-visible {outline:3px solid currentColor;outline-offset:3px;}
.icsfeeds-month-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid var(--icsfeeds-line,currentColor);}
.icsfeeds-day,.icsfeeds-empty-day,.icsfeeds-weekday {padding:.4rem;border:1px solid var(--icsfeeds-line,currentColor);min-width:0;}
.icsfeeds-weekday {font-weight:bold;text-align:center;}
.icsfeeds-day {min-height:5rem;}
.icsfeeds-day-number {font-size:.8em;}
.icsfeeds-day .icsfeeds-event {margin-top:.7rem;font-size:.8em;}
.icsfeeds-day .icsfeeds-event-title {font-size:1em;}
.icsfeeds-month h3 {margin-block:1rem;}
.icsfeeds-month .icsfeeds-event h3 {margin-block:0 .4rem;}
.icsfeeds-subscribe {margin-block:1rem;}
/* Narrow screens and narrow content columns show a list of days instead of the grid. */
.icsfeeds--month {container-type:inline-size;}
@media (max-width:900px) {
    .icsfeeds-month-grid {display:block;border:0;}
    .icsfeeds .icsfeeds-weekday,.icsfeeds .icsfeeds-empty-day,.icsfeeds .icsfeeds-day-without-events {display:none;}
    .icsfeeds-day {padding:1rem;margin-block:.75rem;}
    .icsfeeds-day .icsfeeds-event {font-size:1em;}
    .icsfeeds-day-number {font-size:1em;font-weight:bold;}
}
@container (max-width:44rem) {
    .icsfeeds-month-grid {display:block;border:0;}
    .icsfeeds .icsfeeds-weekday,.icsfeeds .icsfeeds-empty-day,.icsfeeds .icsfeeds-day-without-events {display:none;}
    .icsfeeds-day {padding:1rem;margin-block:.75rem;}
    .icsfeeds-day .icsfeeds-event {font-size:1em;}
    .icsfeeds-day-number {font-size:1em;font-weight:bold;}
    .icsfeeds-day-event {font-size:1em;}
    .icsfeeds .icsfeeds-day-today.icsfeeds-day-without-events {display:block;}
}

.icsfeeds-day-event {margin-top:.6rem;font-size:.85em;}
.icsfeeds-day-event summary {cursor:pointer;font-weight:bold;}
.icsfeeds-day-event summary:focus-visible {outline:3px solid currentColor;outline-offset:2px;}
.icsfeeds-day-event .icsfeeds-event {font-size:1em;}
.editor-styles-wrapper .icsfeeds-month:not(:first-of-type) {display:none;}
@media (max-width:900px) {
    .icsfeeds-day-event {font-size:1em;}
}

.icsfeeds-event-details {margin-top:.3rem;}
.icsfeeds-event-details summary {cursor:pointer;display:inline-block;padding-block:.2rem;text-decoration:underline;text-underline-offset:.15em;}
.icsfeeds-event-details summary::marker {content:'';}
.icsfeeds-event-details summary::-webkit-details-marker {display:none;}
.icsfeeds-event-details summary::before {content:'▸';content:'▸'/'';display:inline-block;width:1.1em;text-decoration:none;}
.icsfeeds-event-details[open] summary::before {content:'▾';content:'▾'/'';}
.icsfeeds-event-details summary:focus-visible {outline:3px solid currentColor;outline-offset:2px;}
.icsfeeds-event-details[open] > summary {margin-bottom:.3rem;}

.icsfeeds-event-supplement {margin-top:.8rem;}
.icsfeeds-event-supplement p {margin-block:.4rem;}
.icsfeeds-event-supplement ul,.icsfeeds-event-supplement ol {padding-inline-start:1.4em;}

/* Native modal: same colours and font settings as the surrounding page. */
.icsfeeds .icsfeeds-event-trigger {
    display:block;width:100%;margin-top:.6rem;padding:.6rem;text-align:left;
    font-size:.9em;font-weight:700;line-height:1.45;
    background:var(--icsfeeds-surface-muted,color-mix(in srgb,currentColor 8%,transparent));color:var(--icsfeeds-text,inherit);
    border-color:var(--icsfeeds-border,color-mix(in srgb,currentColor 45%,transparent));border-radius:.4rem;
}
.icsfeeds .icsfeeds-event-trigger:hover {text-decoration:underline;}
.icsfeeds-dialog {
    box-sizing:border-box;width:min(42rem,calc(100% - 2rem));max-width:42rem;
    max-height:calc(100dvh - 2rem);margin:auto;padding:0;overflow:auto;
    background:var(--icsfeeds-surface,var(--wp--preset--color--base,Canvas));color:var(--icsfeeds-text,var(--wp--preset--color--contrast,CanvasText));
    border:1px solid var(--icsfeeds-border,color-mix(in srgb,currentColor 45%,transparent));border-radius:.8rem;
    box-shadow:0 1.2rem 4rem #0005;font:inherit;line-height:1.6;
    overscroll-behavior:contain;
}
.icsfeeds-dialog::backdrop {background:rgb(0 0 0 / .6);}
.icsfeeds-dialog-header {display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--icsfeeds-border,color-mix(in srgb,currentColor 45%,transparent));}
.icsfeeds-dialog-label {margin:0;align-self:center;font-size:.9em;font-weight:700;}
.icsfeeds-dialog-header h2 {grid-column:1/-1;margin:0;font-size:1.5em;line-height:1.35;overflow-wrap:anywhere;}
.icsfeeds-dialog-header h2:focus:not(:focus-visible) {outline:none;}
.icsfeeds-dialog-content {padding:1.25rem 1.5rem 1.5rem;}
.icsfeeds-dialog .icsfeeds-event-date {font-weight:700;font-size:1.1em;}
.icsfeeds-dialog .icsfeeds-event-location {padding-block:.6rem;margin-bottom:1rem;}
.icsfeeds-dialog .icsfeeds-event-supplement {border-top:1px solid var(--icsfeeds-border,color-mix(in srgb,currentColor 45%,transparent));padding-top:1rem;margin-top:1.25rem;}
.icsfeeds-dialog a {text-decoration:underline;text-underline-offset:.15em;}
.icsfeeds-dialog :focus-visible {outline:3px solid var(--icsfeeds-focus,currentColor);outline-offset:3px;}
.icsfeeds .icsfeeds-dialog-close {padding:.5rem .8rem;}
@media (max-width:480px) {
    .icsfeeds-dialog-header {padding:1rem;gap:.8rem;}
    .icsfeeds-dialog-header h2 {font-size:1.25em;}
    .icsfeeds-dialog-content {padding:1rem;}
}
@media (forced-colors:active) {
    .icsfeeds-dialog {border:2px solid CanvasText;}
    .icsfeeds-dialog::backdrop {background:Canvas;opacity:.8;}
}

/* Today: subtle tint plus a text label, not colour alone. */
.icsfeeds .icsfeeds-day-today {background:var(--icsfeeds-today,color-mix(in srgb,currentColor 10%,transparent));}
.icsfeeds-day-today .icsfeeds-day-number {font-weight:700;}
.icsfeeds-today-label {display:inline-block;margin-inline-start:.25em;font-size:.9em;}
@media (max-width:900px) {
    .icsfeeds .icsfeeds-day-today.icsfeeds-day-without-events {display:block;}
}
@media (forced-colors:active) {
    .icsfeeds .icsfeeds-day-today {outline:2px solid CanvasText;outline-offset:-3px;}
}
