/* ============================================================
   k100 – Default content page styles
   ============================================================ */

.k100-content-page {
	min-height: 100dvh;
	background: #111;
	color: #e8e4de;
	font-family: 'Georgia', 'Times New Roman', Times, serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 1rem 4rem;
}

body.k100-content-body .content-header {
	width: 100%;
	max-width: 860px;
	padding-top: calc(var(--k100-page-topbar-top) + var(--k100-page-topbar-h) + 1.25rem);
	padding-bottom: 1rem;
}

.content-page-title {
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	font-weight: 700;
	color: #fff;
	margin: 0;
	line-height: 1.25;
}

.k100-content-page .entry-content {
	width: 100%;
	max-width: 860px;
	font-size: 1.05rem;
	line-height: 1.75;
	color: rgba(232, 228, 222, .92);
}

.k100-content-page .entry-content > *:first-child {
	margin-top: 0;
}

.k100-content-page .entry-content > *:last-child {
	margin-bottom: 0;
}

.k100-content-page .entry-content h2,
.k100-content-page .entry-content h3,
.k100-content-page .entry-content h4 {
	color: #fff;
	font-weight: 700;
	line-height: 1.3;
	margin: 2rem 0 .75rem;
}

.k100-content-page .entry-content h2 { font-size: clamp(1.35rem, 3.2vw, 1.85rem); }
.k100-content-page .entry-content h3 { font-size: clamp(1.15rem, 2.6vw, 1.45rem); }
.k100-content-page .entry-content h4 { font-size: 1.05rem; }

.k100-content-page .entry-content p {
	margin: 0 0 1.15rem;
}

.k100-content-page .entry-content a {
	color: #c8a96e;
	text-decoration: underline;
	text-underline-offset: .15em;
	transition: color .15s;
}

.k100-content-page .entry-content a:hover {
	color: #e0c992;
}

.k100-content-page .entry-content ul,
.k100-content-page .entry-content ol {
	margin: 0 0 1.15rem;
	padding-left: 1.4rem;
}

.k100-content-page .entry-content li {
	margin-bottom: .35rem;
}

.k100-content-page .entry-content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-left: 3px solid #c8a96e;
	background: rgba(255, 255, 255, .04);
	border-radius: 0 .5rem .5rem 0;
	color: rgba(232, 228, 222, .88);
	font-style: italic;
}

.k100-content-page .entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: .5rem;
}

.k100-content-page .entry-content figure {
	margin: 1.5rem 0;
}

.k100-content-page .entry-content figcaption {
	margin-top: .5rem;
	font-size: .88rem;
	color: rgba(232, 228, 222, .65);
	text-align: center;
}

.k100-content-page .entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
	font-size: .95rem;
}

.k100-content-page .entry-content th,
.k100-content-page .entry-content td {
	border: 1px solid rgba(255, 255, 255, .15);
	padding: .55rem .75rem;
	text-align: left;
}

.k100-content-page .entry-content th {
	background: rgba(255, 255, 255, .06);
	color: #fff;
}

.k100-content-page .entry-content hr {
	border: none;
	border-top: 1px solid rgba(255, 255, 255, .15);
	margin: 2rem 0;
}

/* Gutenberg blocks */
.k100-content-page .entry-content .wp-block-image {
	margin: 1.5rem 0;
}

.k100-content-page .entry-content .alignwide {
	max-width: min(960px, calc(100vw - 2rem));
	margin-left: auto;
	margin-right: auto;
}

.k100-content-page .entry-content .alignfull {
	max-width: none;
	width: calc(100% + 2rem);
	margin-left: -1rem;
	margin-right: -1rem;
}

.k100-content-page .entry-content .wp-block-columns {
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}

.k100-content-page .entry-content .wp-block-embed,
.k100-content-page .entry-content .wp-block-video {
	margin: 1.5rem 0;
}

.k100-content-page .entry-content .wp-block-embed iframe,
.k100-content-page .entry-content .wp-block-video video {
	max-width: 100%;
	border-radius: .5rem;
}

.k100-content-page .entry-content .wp-block-gallery {
	margin: 1.5rem 0;
}

.k100-content-page .entry-content .wp-block-button__link {
	background: #c8a96e;
	color: #0d0d0d;
	border-radius: 999px;
	padding: .65rem 1.4rem;
	font-weight: 700;
	text-decoration: none;
}

.k100-content-page .entry-content .wp-block-button__link:hover {
	background: #e0c992;
	color: #0d0d0d;
}

@media (max-width: 640px) {
	.k100-content-page {
		padding-bottom: 3rem;
	}
}
