/* Scoped styles keep the popup independent of most theme rules. */
dialog.shp-popup {
	box-sizing: border-box;
	position: fixed;
	inset: 0;
	margin: auto;
	padding: 0;
	border: 0;
	width: min(var(--shp-width, 640px), calc(100vw - 32px));
	max-width: calc(100vw - 32px);
	height: var(--shp-height, fit-content);
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	overflow: auto;
	overscroll-behavior: contain;
	border-radius: var(--shp-radius, 16px);
	background: var(--shp-background, #fff);
	color: var(--shp-text, #202124);
	font-family: var(--shp-font, inherit);
	font-size: var(--shp-body-size, 18px);
	font-weight: var(--shp-body-weight, 400);
	line-height: var(--shp-line-height, 1.6);
	text-align: var(--shp-align, left);
	box-shadow: 0 24px 90px rgb(0 0 0 / 30%);
	color-scheme: light;
}
dialog.shp-popup:not([open]) { display: none !important; }
dialog.shp-popup::backdrop { background: rgb(0 0 0 / 58%); }
.shp-popup *, .shp-popup *::before, .shp-popup *::after { box-sizing: border-box; }
.shp-popup .shp-popup__bar {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	padding: 10px 12px;
	background: var(--shp-background, #fff);
}
.shp-popup .shp-popup__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	min-height: 40px;
	margin: 0;
	padding: 0;
	border: 1px solid #d5d9df;
	border-radius: 50%;
	background: #fff;
	color: #202124;
	box-shadow: none;
	font: 28px/1 Arial, sans-serif;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
}
.shp-popup .shp-popup__close:hover { background: #f0f2f4; }
.shp-popup .shp-popup__close:focus-visible,
.shp-popup a:focus-visible { outline: 3px solid #2271b1; outline-offset: 3px; }
.shp-popup .shp-popup__image { margin: 0; padding: 0; line-height: 0; }
.shp-popup .shp-popup__photo { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; border-radius: 0; }
.shp-popup .shp-popup__content { padding: var(--shp-padding, 32px); overflow-wrap: anywhere; }
.shp-popup .shp-popup__title {
	margin: 0 0 0.55em;
	padding: 0;
	color: inherit;
	font-family: inherit;
	font-size: var(--shp-title-size, 32px);
	font-weight: var(--shp-title-weight, 700);
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
}
.shp-popup .shp-popup__title:last-child { margin-bottom: 0; }
.shp-popup .shp-popup__body { display: flow-root; font: inherit; color: inherit; }
.shp-popup .shp-popup__body p,
.shp-popup .shp-popup__body li { font: inherit; color: inherit; }
.shp-popup .shp-popup__body p { margin: 0 0 1em; }
.shp-popup .shp-popup__body > :first-child { margin-top: 0; }
.shp-popup .shp-popup__body > :last-child { margin-bottom: 0; }
.shp-popup .shp-popup__body a { color: inherit; text-decoration: underline; text-underline-offset: 0.15em; }
.shp-popup .shp-popup__body img { max-width: 100%; height: auto; }
.shp-popup .shp-popup__body figure,
.shp-popup .shp-popup__body .wp-caption { max-width: 100%; margin-inline: 0; }
.shp-popup .shp-popup__body h3,
.shp-popup .shp-popup__body h4 { font-family: inherit; color: inherit; line-height: 1.3; }
@media (max-width: 480px) {
	.shp-popup .shp-popup__content { padding: min(var(--shp-padding, 32px), 24px); }
}
