/*
 * Lakrua – blog, archives, single post, sidebar widgets, comments.
 *
 * Built on the HTML template (css/theme.css: .blog-post, .post-data-list,
 * .single-post-*, .post-share-*, .post-nav-links, .pagination) and its
 * variables. Loaded after wp-styles.css.
 */

/* ------------------------------------------------------------------
 * Main section spacing
 * ---------------------------------------------------------------- */
.section-main-container.with-padding { padding: 100px 0; }
.section-main-container.no-padding { padding: 0; }
.section-main-container.no-page-hero.with-padding { padding-top: 100px; }
.section-main-container.no-page-hero.no-padding { padding-top: 80px; }
.section-main-container .content { position: relative; }

/* ------------------------------------------------------------------
 * Archive card (single column)
 * ---------------------------------------------------------------- */
.blog-listing .blog-post { margin-bottom: 70px; }
.blog-post-wide .blog-post-img { margin-bottom: 30px; }
.blog-post-wide .blog-post-img img,
.blog-post-wide .blog-post-img iframe,
.blog-post-wide .blog-post-img video { width: 100%; }
.blog-post-wide .hover-overlay { overflow: hidden; }
.blog-post-wide .post-data-list { margin: 0 0 14px; }
.blog-post-wide .post-data-list li p { font-size: 1rem; }
.blog-post-wide .post-link {
	display: block;
	margin-bottom: 16px;
	line-height: 1.3;
	font-weight: 400;
}
.blog-post-wide .post-link a { color: var(--header-color); }
.blog-post-wide .post-link a:hover { color: var(--theme-color); }
.blog-post-wide .entry-summary p:last-child { margin-bottom: 0; }
.blog-post-wide .post-read-more { margin-top: 28px; }
.blog-post-wide .blog-post-txt.no-media {
	padding: 40px;
	background-color: var(--sand);
	border-radius: 6px;
}
.blog-post-wide .post-embed iframe { display: block; aspect-ratio: 16 / 9; height: auto; }
.blog-post-wide .post-embed-audio iframe { aspect-ratio: auto; }
.blog-post-wide .post-format-quote,
.single-post-img .post-format-quote {
	margin: 0;
	padding: 50px 45px;
	background-color: var(--theme-color);
	color: var(--white);
	border-radius: 6px;
}
.post-format-quote p { font-family: var(--main-font); font-size: 1.6rem; line-height: 1.45; color: var(--white); }
.post-format-quote cite, .post-format-quote cite a { color: var(--white); font-style: normal; font-weight: 500; }

/* Sticky post */
.sticky-post-badge {
	display: inline-block;
	margin-bottom: 15px;
	padding: 4px 14px;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--white);
	background-color: var(--theme-color);
	border-radius: 4px;
}
.blog-post.sticky .blog-post-txt.no-media { border-left: 4px solid var(--theme-color); }

/* Grid view (Theme Options → Blog → Blog Style) = template blog-1 cards */
.blog-style-grid_view .blog-post .post-link a { color: var(--header-color); }
.blog-style-grid_view .blog-post .post-link a:hover { color: var(--theme-color); }
.blog-style-grid_view .blog-post .blog-post-img img { width: 100%; }
.blog-style-grid_view .blog-post .blog-post-txt.no-media { padding: 30px; background-color: var(--sand); border-radius: 6px; }
.blog-style-grid_view .post-card-date { font-size: .9rem; margin-bottom: 8px; }
.blog-page-title h1 { margin-bottom: 0; }

/* List view */
@media (min-width: 768px) {
	.blog-style-list_view .blog-post:has(.blog-post-img) { display: flex; gap: 35px; align-items: flex-start; }
	.blog-style-list_view .blog-post .blog-post-img { flex: 0 0 45%; margin-bottom: 0; }
}

/* Pagination */
.page-pagination { margin-top: 10px; }
.page-pagination .page-item .page-link { color: var(--header-color); }
.page-pagination .page-item.active .page-link,
.page-pagination .page-item .page-link.current {
	color: var(--white);
	background-color: var(--theme-color);
	border-color: var(--theme-color);
}
.page-pagination .page-link.dots { pointer-events: none; }

/* ------------------------------------------------------------------
 * Single post
 * ---------------------------------------------------------------- */
.single-post-content .single-post-title { margin-bottom: 40px; }
.single-post-content .single-post-title h1 { margin-bottom: 0; line-height: 1.2; }
.single-post-content .post-data-list { margin-top: 22px; }
.single-post-img { margin-bottom: 40px; }
.single-post-img img { width: 100%; height: auto; border-radius: 6px; }
.single-post-txt { margin-bottom: 40px; }
/* Tags look like the template .post-tags-list span pills */
.post-share-links .post-tags-list a {
	display: inline-block;
	margin: 0 5px 8px 0;
	padding: 11px 22px 10px;
	font-size: .75rem;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #555;
	background-color: #f5f5f9;
	border-radius: 6px;
	transition: all 300ms ease-in-out;
}
.post-share-links .post-tags-list a:hover { color: var(--white); background-color: var(--theme-color); }
.post-share-links { margin-bottom: 40px; }
.post-nav-links { padding: 40px 0; border-top: 1px solid var(--tra-gray); border-bottom: 1px solid var(--tra-gray); margin: 0 0 60px; }
.post-nav-btn .btn + .btn { margin-left: 10px; }

/* Author box */
.author-box {
	gap: 25px;
	margin: 0 0 50px;
	padding: 35px;
	background-color: var(--sand);
	border-radius: 6px;
}
.author-box-avatar img { border-radius: 50%; }
.author-box-name { display: block; margin-bottom: 8px; color: var(--header-color); }
.author-box-txt p { margin-bottom: 10px; }
.author-box-link { font-weight: 500; color: var(--theme-color); }

/* Related posts */
.related-posts { margin-bottom: 60px; }
.related-posts-title { margin-bottom: 30px; }
.related-posts .blog-post { margin-bottom: 30px; }
.related-posts .blog-post-img { margin-bottom: 20px; }
.related-posts .post-link { display: block; margin-bottom: 6px; }
.related-posts .post-link a { color: var(--header-color); }
.related-posts .post-link a:hover { color: var(--theme-color); }
.post-related-date { font-size: .95rem; margin-bottom: 0; }

/* Multi page posts */
.page-links { clear: both; margin: 30px 0; }
.page-links .page-links-title { font-weight: 600; color: var(--header-color); margin-right: 10px; }
.page-links a,
.page-links > span:not(.page-links-title) {
	display: inline-block;
	min-width: 38px;
	margin: 0 4px 4px 0;
	padding: 6px 10px;
	text-align: center;
	border: 1px solid var(--tra-gray);
	border-radius: 4px;
}
.page-links > span:not(.page-links-title) { color: var(--white); background-color: var(--theme-color); border-color: var(--theme-color); }

/* ------------------------------------------------------------------
 * Post / page content (block editor + classic content)
 * ---------------------------------------------------------------- */
.entry-content { word-wrap: break-word; overflow-wrap: break-word; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 { margin: 35px 0 18px; line-height: 1.3; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content img, .entry-content video, .entry-content iframe { max-width: 100%; height: auto; }
.entry-content ul, .entry-content ol { margin: 0 0 25px; padding-left: 22px; }
.entry-content li { margin-bottom: 6px; }
.entry-content li > ul, .entry-content li > ol { margin: 6px 0 0; }
.entry-content a { color: var(--theme-color); text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--header-color); }
.entry-content .wp-block-button__link, .entry-content .btn { text-decoration: none; }
.entry-content table { width: 100%; margin-bottom: 25px; border-collapse: collapse; }
.entry-content table th, .entry-content table td { padding: 10px 14px; border: 1px solid var(--smoke); }
.entry-content table th { color: var(--header-color); background-color: var(--sand); }
.entry-content pre {
	margin-bottom: 25px;
	padding: 20px;
	overflow: auto;
	white-space: pre-wrap;
	background-color: var(--ghost);
	border-radius: 4px;
}
.entry-content blockquote:not(.post-format-quote) {
	margin: 30px 0;
	padding: 10px 0 10px 30px;
	border-left: 4px solid var(--theme-color);
	font-family: var(--main-font);
	font-size: 1.25rem;
	color: var(--header-color);
}
.entry-content blockquote cite { display: block; margin-top: 10px; font-family: var(--base-font); font-size: 1rem; font-style: normal; color: var(--text-color); }
.entry-content dl dt { color: var(--header-color); font-weight: 600; }
.entry-content dl dd { margin: 0 0 15px 20px; }
.entry-content hr { margin: 35px 0; }
.entry-content .gallery { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 25px; }
.entry-content .gallery-item { margin: 0; flex: 1 1 calc(33.333% - 12px); }
.entry-content .gallery-columns-1 .gallery-item { flex-basis: 100%; }
.entry-content .gallery-columns-2 .gallery-item { flex-basis: calc(50% - 12px); }
.entry-content .gallery-columns-4 .gallery-item { flex-basis: calc(25% - 12px); }
.entry-content .gallery-columns-5 .gallery-item { flex-basis: calc(20% - 12px); }
.entry-content .gallery-columns-6 .gallery-item { flex-basis: calc(16.666% - 12px); }
.entry-content .gallery-columns-7 .gallery-item { flex-basis: calc(14.285% - 12px); }
.entry-content .gallery-columns-8 .gallery-item { flex-basis: calc(12.5% - 12px); }
.entry-content .gallery-columns-9 .gallery-item { flex-basis: calc(11.111% - 12px); }
.entry-content .gallery-item img { width: 100%; border-radius: 4px; }
.entry-content .gallery-caption, .wp-caption-text, .wp-element-caption { font-size: .9rem; margin-top: 6px; text-align: center; }
.wp-caption { max-width: 100%; margin-bottom: 25px; }

/* ------------------------------------------------------------------
 * Sidebar widgets
 * ---------------------------------------------------------------- */
.sidebar-col { margin-top: 60px; }
@media (min-width: 992px) {
	.sidebar-col { margin-top: 0; }
	.sidebar { position: sticky; top: 110px; }
}
.sidebar .widget {
	margin-bottom: 40px;
	padding: 35px 30px;
	background-color: var(--sand);
	border-radius: 6px;
}
.sidebar .widget:last-child { margin-bottom: 0; }
.sidebar .widget-title,
.sidebar .widget h2,
.sidebar .widget .wp-block-heading,
.sidebar .wp-block-search__label {
	margin-bottom: 22px;
	font-family: var(--main-font);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.3;
	color: var(--header-color);
}
.sidebar .widget ul,
.sidebar .widget ol { margin: 0; padding: 0; list-style: none; }
.sidebar .widget li {
	position: relative;
	padding: 10px 0;
	border-bottom: 1px dashed var(--tra-gray);
	line-height: 1.5;
}
.sidebar .widget li:first-child { padding-top: 0; }
.sidebar .widget li:last-child { border-bottom: 0; padding-bottom: 0; }
.sidebar .widget li ul, .sidebar .widget li ol { margin-top: 10px; padding-left: 15px; }
.sidebar .widget li li { border-bottom: 0; padding: 6px 0; }
.sidebar .widget a { color: var(--text-color); }
.sidebar .widget a:hover { color: var(--theme-color); }
.sidebar .widget li::after { display: none; }
.sidebar .widget select { width: 100%; max-width: 100%; padding: 10px; border: 1px solid var(--smoke); border-radius: 4px; }
.sidebar .widget img { max-width: 100%; height: auto; }

/* Search form (classic + block) */
.search-form, .wp-block-search__inside-wrapper { display: flex; }
.search-form label { flex: 1; margin: 0; }
.search-form .search-field,
.wp-block-search .wp-block-search__input {
	width: 100%;
	height: 50px;
	padding: 0 15px;
	border: 1px solid var(--smoke);
	border-radius: 4px 0 0 4px;
	background-color: var(--white);
	color: var(--header-color);
}
.search-form .search-submit,
.wp-block-search .wp-block-search__button {
	height: 50px;
	margin: 0;
	padding: 0 22px;
	border: 0;
	border-radius: 0 4px 4px 0;
	color: var(--white);
	background-color: var(--theme-color);
	font-weight: 500;
}
.search-form .search-submit:hover,
.wp-block-search .wp-block-search__button:hover { background-color: var(--header-color); }

/* Tag cloud */
.sidebar .tagcloud a,
.sidebar .wp-block-tag-cloud a {
	display: inline-block;
	margin: 0 5px 8px 0;
	padding: 5px 12px;
	font-size: .85rem !important;
	background-color: var(--white);
	border-radius: 4px;
}
.sidebar .tagcloud a:hover,
.sidebar .wp-block-tag-cloud a:hover { color: var(--white); background-color: var(--theme-color); }

/* Calendar */
.sidebar .wp-calendar-table, .sidebar #wp-calendar { width: 100%; text-align: center; }
.sidebar .wp-calendar-table caption { margin-bottom: 10px; caption-side: top; color: var(--header-color); font-weight: 600; }
.sidebar .wp-calendar-table th, .sidebar .wp-calendar-table td { padding: 6px 0; }
.sidebar .wp-calendar-table td#today { color: var(--white); background-color: var(--theme-color); border-radius: 4px; }
.sidebar .wp-calendar-nav { display: flex; justify-content: space-between; margin-top: 10px; }

/* Recent posts / comments blocks */
.sidebar .wp-block-latest-posts__post-date,
.sidebar .wp-block-latest-comments__comment-date,
.sidebar .post-date { display: block; font-size: .85rem; opacity: .8; }
.sidebar .wp-block-latest-comments { padding: 0; }
.sidebar .wp-block-latest-comments__comment { margin-bottom: 12px; }

/* ------------------------------------------------------------------
 * Comments
 * ---------------------------------------------------------------- */
.comments-area { margin-top: 10px; }
.comments-title { margin-bottom: 35px; }
.comment-list, .comment-list .children { margin: 0; padding: 0; list-style: none; }
.comment-list .children { padding-left: 50px; }
.comment-list .comment-body {
	display: flex;
	gap: 20px;
	padding: 25px 0;
	border-bottom: 1px solid var(--tra-gray);
}
.comment-avatar img { border-radius: 50%; }
.comment-content-wrap { flex: 1; min-width: 0; }
.comment-meta { margin-bottom: 10px; }
.comment-meta .comment-author { display: block; font-size: 1.2rem; color: var(--header-color); }
.comment-meta .comment-author a { color: var(--header-color); }
.comment-meta .comment-date, .comment-meta .edit-link a { font-size: .9rem; color: var(--text-color); }
.comment-meta .edit-link { margin-left: 10px; }
.comment-content { word-wrap: break-word; overflow-wrap: break-word; }
.comment-content p:last-child { margin-bottom: 0; }
.comment-content img { max-width: 100%; height: auto; }
.comment-list .reply { margin-top: 10px; }
.comment-reply-link { font-size: .9rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--theme-color); }
.comment-awaiting-moderation { font-style: italic; }
.bypostauthor > .comment-body .comment-author::after {
	content: "\2605";
	margin-left: 6px;
	color: var(--theme-color);
	font-size: .9rem;
}
.pingback-item .comment-body { display: block; }
.comments-area .comment-navigation { display: flex; justify-content: space-between; margin: 25px 0; }
.no-comments { margin: 25px 0; font-weight: 500; }

/* Comment form */
.comment-respond { margin-top: 50px; }
.comment-list .comment-respond { margin: 20px 0 30px; }
.comment-reply-title { margin-bottom: 25px; }
.comment-reply-title small { margin-left: 10px; font-size: .9rem; }
.comment-form label { display: block; margin-bottom: 6px; font-weight: 500; color: var(--header-color); }
.comment-form .form-control { height: auto; padding: 12px 15px; border: 1px solid var(--smoke); border-radius: 4px; box-shadow: none; }
.comment-form .form-control:focus { border-color: var(--theme-color); }
.comment-form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.comment-form .comment-form-cookies-consent label { display: inline; font-weight: 400; color: var(--text-color); }
.comment-form .form-submit { margin-top: 20px; }
.comment-form .submit { padding: 14px 30px; border: 0; }

/* ------------------------------------------------------------------
 * Pages / 404 / no results
 * ---------------------------------------------------------------- */
.page-content-wrap { margin-bottom: 30px; }
.error-404-section { padding: 200px 0 120px; }
.error-404-number { display: block; font-size: 9rem; line-height: 1; color: var(--theme-color); }
.error-404-section h2 { margin: 15px 0; }
.error-404-search { max-width: 480px; margin: 30px auto; }
.no-results .search-form { margin-top: 25px; }

/* Password form */
.post-password-form input[type="password"] { height: 46px; padding: 0 12px; border: 1px solid var(--smoke); border-radius: 4px; }
.post-password-form input[type="submit"] { height: 46px; padding: 0 22px; border: 0; border-radius: 4px; color: var(--white); background-color: var(--theme-color); }

@media (max-width: 767.98px) {
	.section-main-container.with-padding { padding: 70px 0; }
	.section-main-container.no-page-hero.with-padding { padding-top: 140px; }
	.blog-post-wide .blog-post-txt.no-media { padding: 28px 22px; }
	.comment-list .children { padding-left: 20px; }
	.author-box { flex-direction: column; }
	.post-nav-btn { margin-top: 15px; text-align: left; }
}

/* Fixes on top of the template's .post-content box */
.layout-rs .single-post-content.post-content,
.layout-ls .single-post-content.post-content { padding: 0; } /* template 5% side padding only without a sidebar */
.single-post-content .single-post-img img { aspect-ratio: 5 / 3; object-fit: cover; object-position: center 25%; } /* wide like the template image */
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content ul ul { list-style: circle; }
.entry-content li { list-style: inherit; }
.post-nav-links .btn { white-space: nowrap; }
.sidebar .widget li,
.sidebar .widget p,
.sidebar .widget .wp-block-latest-posts__post-title { font-size: 1rem; }
.sidebar .widget li a { font-size: inherit; }

/* Accessibility: visually hidden text (core WordPress class) */
.screen-reader-text {
	display: block;
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: var(--white);
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
	clip: auto !important;
	clip-path: none;
	color: var(--header-color);
	display: block;
	font-size: .875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Alignments */
.aligncenter, div.aligncenter, figure.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption.aligncenter, .wp-block-image .aligncenter { text-align: center; }
.alignnone { margin: 6px 0 20px; }
.entry-content .alignwide { margin-left: -40px; margin-right: -40px; max-width: calc(100% + 80px); }
.layout-full .entry-content .alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.layout-ls .entry-content .alignfull,
.layout-rs .entry-content .alignfull { margin-left: 0; margin-right: 0; max-width: 100%; }

/* Long words / titles (e.g. "Antidisestablishmentarianism") */
.entry-title, .post-link, .page-hero-section h2, .sidebar .widget { overflow-wrap: anywhere; }

/* Meta list: inline items that wrap cleanly on small screens */
.post-data-list li { margin: 0 12px 6px 0; }
.post-data-list li p { float: none; display: inline; line-height: 1.5; }
.post-data-list li:not(:last-child):after { left: 6px; }

/* Search: keep the button on one line in narrow sidebars */
.search-form .search-field,
.wp-block-search .wp-block-search__input { min-width: 0; }
.search-form .search-submit,
.wp-block-search .wp-block-search__button { flex-shrink: 0; white-space: nowrap; }

/* Override template responsive.css (loaded later) for WordPress meta lists */
.blog-listing .post-data-list,
.single-post-content .post-data-list { text-align: inherit; }
.blog-listing .post-data-list li,
.single-post-content .post-data-list li { margin: 0 12px 6px 0 !important; }
.blog-listing .post-data-list li p,
.single-post-content .post-data-list li p { float: none !important; display: inline !important; }
.sidebar .widget .wp-block-latest-posts li a,
.sidebar .widget .wp-block-latest-comments a,
.sidebar .widget ul li a { font-size: 1rem; }
.sidebar .wp-block-latest-posts.wp-block-latest-posts__list li > a { font-size: 1rem; line-height: 1.5; }
@media (max-width: 767.98px) {
	.blog-listing .post-data-list, .single-post-content .post-data-list { text-align: left; margin-top: 0; }
	.single-post-content .post-data-list { margin-top: 18px; }
}
