.psc-event-dialog {
	background: var(--psc-dialog-background, var(--psc-background-color));
	border: var(--psc-dialog-border-width, 0) solid var(--psc-dialog-border-color, transparent);
	border-radius: var(--psc-dialog-radius, var(--psc-border-radius));
	box-shadow: var(--psc-dialog-shadow, 0 24px 70px rgb(15 23 42 / 22%));
	color: var(--psc-dialog-text-color, var(--psc-text-color));
	font-size: var(--psc-dialog-body-size, 14px);
	max-width: var(--psc-dialog-width, 576px);
	overflow: hidden;
	padding: calc(var(--psc-dialog-padding, 24px) + 8px) var(--psc-dialog-padding, 24px) var(--psc-dialog-padding, 24px);
	position: relative;
	width: calc(100% - 2rem);
}
.psc-event-dialog::backdrop { background: rgb(15 23 42 / var(--psc-dialog-overlay-opacity, .55)); }
.psc-event-dialog__accent { background: var(--psc-dialog-event-color, var(--psc-dialog-accent-color, var(--psc-accent-color))); height: 5px; inset: 0 0 auto; position: absolute; }
.psc-event-dialog__close { align-items: center; background: var(--psc-dialog-close-background, transparent); border: 0; border-radius: var(--psc-dialog-close-radius, 50%); color: var(--psc-dialog-close-color, inherit); cursor: pointer; display: flex; font-size: 1.7rem; height: 2rem; justify-content: center; line-height: 1; position: absolute; right: .75rem; top: .7rem; width: 2rem; }
.psc-event-dialog__title { color: var(--psc-dialog-title-color, var(--psc-dialog-text-color)); font-family: var(--psc-dialog-title-family, inherit); font-size: var(--psc-dialog-title-size, 24px); font-weight: var(--psc-dialog-title-weight, 700); line-height: 1.25; margin: 0 2rem .9rem 0; }
.psc-event-dialog__meta { display: grid; gap: .45rem; }
.psc-event-dialog__row { align-items: flex-start; color: var(--psc-muted-color); display: flex; gap: .55rem; margin: 0; }
.psc-event-dialog__row .psc-icon { color: var(--psc-dialog-event-color, var(--psc-dialog-accent-color)); flex: 0 0 auto; margin-top: .15em; }
.psc-event-dialog__location a { color: var(--psc-dialog-accent-color, var(--psc-accent-color)); text-decoration: none; }
.psc-event-dialog__description { margin: 1rem 0; white-space: pre-wrap; }
.psc-event-dialog__actions { display: grid; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); margin: var(--psc-dialog-actions-top-spacing, 16px) 0 var(--psc-dialog-actions-bottom-spacing, 0); }
.psc-event-dialog__action { align-items: center; border: 1px solid var(--psc-dialog-accent-color, var(--psc-accent-color)); border-radius: var(--psc-button-radius, 6px); color: var(--psc-dialog-accent-color, var(--psc-accent-color)); display: inline-flex; font-weight: 700; gap: .4rem; justify-content: center; line-height: 1.2; min-width: 0; padding: .6rem .75rem; text-align: center; text-decoration: none; }
.psc-event-dialog__google-add { background: var(--psc-dialog-accent-color, var(--psc-accent-color)); color: #fff; }
.psc-event-dialog [hidden] { display: none !important; }

.psc-event-dialog__title-row { align-items: flex-start; display: flex; gap: var(--psc-dialog-icon-gap, 10px); margin-right: 2rem; }
.psc-event-dialog__title-row .psc-event-dialog__title { margin-right: 0; }
.psc-event-dialog__title-icon,
.psc-event-dialog__item-icon { color: var(--psc-dialog-icon-color, var(--psc-dialog-event-color)); flex: 0 0 auto; font-size: var(--psc-dialog-icon-size, 18px); height: var(--psc-dialog-icon-size, 18px); width: var(--psc-dialog-icon-size, 18px); }
.psc-event-dialog__title-icon { margin-top: .25em; }
.psc-event-dialog__close .psc-icon { height: 1.1em; width: 1.1em; }
.psc-event-dialog__row { gap: var(--psc-dialog-icon-gap, 10px); }
.psc-event-dialog__row .psc-icon { color: var(--psc-dialog-icon-color, var(--psc-dialog-event-color)); font-size: var(--psc-dialog-icon-size, 18px); height: var(--psc-dialog-icon-size, 18px); margin-top: .1em; width: var(--psc-dialog-icon-size, 18px); }
.psc-event-dialog__row-content { display: grid; gap: .15rem; min-width: 0; }
.psc-event-dialog__label { color: var(--psc-dialog-text-color, var(--psc-text-color)); font-size: .78em; letter-spacing: .03em; text-transform: uppercase; }
.psc-event-dialog__description { margin: 0; }
.psc-event-dialog__description-value { color: var(--psc-dialog-text-color, var(--psc-text-color)); white-space: pre-wrap; }
.psc-event-dialog__custom { align-items: flex-start; display: flex; gap: var(--psc-dialog-icon-gap, 10px); min-width: 0; }
.psc-event-dialog__custom-icon { color: var(--psc-dialog-icon-color, var(--psc-dialog-event-color)); flex: 0 0 auto; font-size: var(--psc-dialog-icon-size, 18px); }
.psc-event-dialog__custom-content { display: grid; gap: .3rem; min-width: 0; }
.psc-event-dialog__custom-content > div > :first-child { margin-top: 0; }
.psc-event-dialog__custom-content > div > :last-child { margin-bottom: 0; }
.psc-event-dialog__actions .psc-event-dialog__custom { grid-column: 1 / -1; padding: .35rem 0; }
.psc-event-dialog__action .psc-icon { font-size: var(--psc-dialog-icon-size, 18px); height: var(--psc-dialog-icon-size, 18px); width: var(--psc-dialog-icon-size, 18px); }
.psc-event-dialog .psc-icon--filled { background: var(--psc-dialog-icon-color, var(--psc-dialog-event-color)); border-radius: .32em; color: #fff; fill: none; padding: .16em; }

/* Design schema 6: independent Add to Google Calendar action styling. */
.psc-event-dialog__google-add {
	background: var(--psc-google-add-background, var(--psc-dialog-accent-color, var(--psc-accent-color)));
	border-color: var(--psc-google-add-border-color, var(--psc-google-add-background, var(--psc-dialog-accent-color, var(--psc-accent-color))));
	border-radius: var(--psc-google-add-radius, var(--psc-button-radius, 6px));
	border-width: var(--psc-google-add-border-width, 1px);
	color: var(--psc-google-add-text-color, #fff);
	font-size: var(--psc-google-add-font-size, 14px);
	font-weight: var(--psc-google-add-font-weight, 700);
	gap: var(--psc-google-add-icon-gap, .4rem);
	padding: var(--psc-google-add-padding-y, .6rem) var(--psc-google-add-padding-x, .75rem);
}
.psc-event-dialog__google-add:hover,
.psc-event-dialog__google-add:focus-visible {
	background: var(--psc-google-add-hover-background, var(--psc-button-hover-color, #1d4ed8));
	border-color: var(--psc-google-add-hover-background, var(--psc-button-hover-color, #1d4ed8));
	color: var(--psc-google-add-hover-text-color, #fff);
}
.psc-event-dialog__google-add .psc-icon {
	color: var(--psc-google-add-icon-color, currentColor);
	font-size: var(--psc-google-add-icon-size, 18px);
	height: var(--psc-google-add-icon-size, 18px);
	width: var(--psc-google-add-icon-size, 18px);
}
.psc-event-dialog__google-add .psc-icon--filled {
	background: var(--psc-google-add-icon-color, currentColor);
	color: var(--psc-google-add-background, #2563eb);
}

/* Design schema 9/10: dialog detail and action-area spacing. */
.psc-event-dialog__meta { gap: var(--psc-dialog-row-spacing, 7px); }
.psc-event-dialog__row-content,
.psc-event-dialog__description-value,
.psc-event-dialog__custom-content { line-height: var(--psc-dialog-text-line-height, 1.5); }
