/* PJ Calendar Pro — add-to-calendar menu and the [pjcal_next] compact list */

.pjcal .pjcal-atc { position: relative; display: inline-block; margin-top: 10px; margin-left: 8px; vertical-align: top; }
.pjcal .pjcal-now__link + .pjcal-atc { margin-left: 8px; }
.pjcal .pjcal-atc__toggle {
	font-family: var(--pjcal-body); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: .08em; text-transform: uppercase;
	color: var(--pjcal-muted); background: none; border: 1px solid var(--pjcal-line); border-radius: 999px; padding: 9px 14px; cursor: pointer; box-shadow: none; margin: 0;
}
.pjcal .pjcal-atc__toggle:hover, .pjcal .pjcal-atc__toggle[aria-expanded="true"] { color: var(--pjcal-text); border-color: var(--pjcal-muted); background: none; }
.pjcal .pjcal-atc__menu {
	position: absolute; left: 0; top: calc(100% + 6px); z-index: 6; min-width: 200px; display: grid;
	background: var(--pjcal-surface-2); border: 1px solid var(--pjcal-line); border-radius: 10px; padding: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.15);
}
.pjcal .pjcal-atc__menu[hidden] { display: none; }
.pjcal .pjcal-atc__menu a { display: block; padding: 8px 10px; border-radius: 6px; font-size: 13px; color: var(--pjcal-text); text-decoration: none; }
.pjcal .pjcal-atc__menu a:hover { background: var(--pjcal-surface); }

/* Compact list — inherits the theme; a few variables for colour */
.pjcal-next { --pjcal-accent: #800138; list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pjcal-next > li { display: grid; grid-template-columns: 54px 1fr; gap: 12px; align-items: start; margin: 0; }
.pjcal-next__date { background: var(--pjcal-accent); color: #fff; border-radius: 8px; text-align: center; padding: 6px 2px 7px; line-height: 1; }
.pjcal-next__m { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.pjcal-next__d { font-size: 20px; margin-top: 4px; white-space: nowrap; }
.pjcal-next__d.is-small { font-size: 13px; margin-top: 6px; }
.pjcal-next__title { font-weight: 600; line-height: 1.3; }
.pjcal-next__detail { font-size: .92em; opacity: .85; }
.pjcal-next__time { font-size: .85em; font-weight: 600; letter-spacing: .04em; opacity: .8; }
.pjcal-next__where { font-size: .88em; opacity: .7; font-style: italic; }
.pjcal-next .pjcal-venue { color: inherit; text-decoration: none; border-bottom: 1px dotted currentColor; background: none; box-shadow: none; }
.pjcal-next .pjcal-venue:hover, .pjcal-next .pjcal-venue:focus-visible { color: var(--pjcal-accent); border-bottom-color: var(--pjcal-accent); }
.pjcal-next .pjcal-map { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-left: 2px; vertical-align: middle; position: relative; top: -1px; color: inherit; border: 0; border-radius: 50%; background: none; box-shadow: none; text-decoration: none; }
.pjcal-next .pjcal-map:hover, .pjcal-next .pjcal-map:focus-visible { color: var(--pjcal-accent); }
.pjcal-next .pjcal-map svg { display: block; }
.pjcal-next__link { display: inline-block; margin-top: 4px; font-size: .85em; font-weight: 600; }
.pjcal-next__empty { opacity: .7; }
