.site-main,
.page-header,
.site-header,
.site-footer {
	width: min(100% - 32px, var(--wsm-container-width));
	margin-inline: auto;
}

body:not([class*="elementor-page-"]) .site-main {
	width: min(100% - 32px, var(--wsm-container-width));
}

.site-main {
	padding-block: 32px;
}

.page-content > *:first-child,
.entry-content > *:first-child {
	margin-block-start: 0;
}

.page-content > *:last-child,
.entry-content > *:last-child {
	margin-block-end: 0;
}

.page-header {
	margin-block: 24px;
}

.page-header .entry-title {
	margin: 0;
}

.alignright {
	float: inline-end;
	margin-inline-start: 1rem;
}

.alignleft {
	float: inline-start;
	margin-inline-end: 1rem;
}

.aligncenter {
	clear: both;
	display: block;
	margin-inline: auto;
}

.alignwide {
	max-width: var(--wsm-container-wide, 1140px);
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-inline: calc(50% - 50vw);
}

.wp-caption {
	max-width: 100%;
	margin-block-end: var(--wsm-space-5);
}

.wp-caption img {
	display: block;
	margin-inline: auto;
}

.wp-caption-text {
	margin: 0;
	font-size: .9em;
}

.gallery-caption {
	display: block;
}

.pagination {
	display: flex;
	justify-content: space-between;
	gap: var(--wsm-space-4);
	margin-block: var(--wsm-space-6);
}

.sticky {
	display: block;
}

.bypostauthor {
	font-size: inherit;
}

.hide {
	display: none !important;
}

.post-password-form {
	max-width: 500px;
	margin-inline: auto;
}

.post-password-form p {
	display: flex;
	align-items: flex-end;
	gap: 8px;
}

.post-password-form input[type="password"] {
	min-width: 0;
	flex: 1;
}

.post .wp-post-image {
	width: 100%;
	height: auto;
}

.comments-area a,
.page-content a {
	text-decoration: underline;
}

.post .entry-title a {
	text-decoration: none;
}

#comments .comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

#comments .comment,
#comments .pingback {
	position: relative;
}

#comments .comment .comment-body,
#comments .pingback .comment-body {
	padding-block: 24px;
	border-block-end: 1px solid var(--wsm-color-border, #e5e7eb);
}

#comments .comment-meta {
	display: flex;
	justify-content: space-between;
	gap: var(--wsm-space-4);
	margin-block-end: .75rem;
}

#comments .comment-metadata,
#comments .reply {
	font-size: .75rem;
}

#comments .children {
	margin: 0;
	padding-inline-start: 24px;
	list-style: none;
}

@media (max-width: 767px) {
	.site-main,
	body:not([class*="elementor-page-"]) .site-main,
	.page-header,
	.site-header,
	.site-footer {
		width: min(100% - 24px, var(--wsm-container-width));
	}

	.site-main {
		padding-block: 24px;
	}

	#comments .children {
		padding-inline-start: 16px;
	}
}
