/**
 * Core Query Loop & Post Elements - Neobrutalist Styling
 * Reference: http://neobrutalism.dev/docs/card
 */

/* -------------------------------------------------------------------------
 * Query Loop & Post Template Grid
 * ------------------------------------------------------------------------- */
.wp-block-query {
	margin-block: 1.5rem;
	box-sizing: border-box;
}

.wp-block-post-template {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid !important;
	gap: var(--wp--style--block-gap, var(--wp--preset--spacing--40, 1.5rem));
}

.wp-block-post-template.is-flex-container {
	display: grid !important;
}

/* Reset outer <li> so there is never a double border around inner cards */
.wp-block-post-template>li,
.wp-block-post-template .wp-block-post {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

/* Single Post Card Container */
.blog-post-card,
.wp-block-post-template>li>.wp-block-group {
	background-color: var(--wp--preset--color--base, #ffffff);
	border: var(--neo-border-width, 3px) solid var(--neo-border-color, #000000);
	border-radius: var(--neo-radius, 4px);
	box-shadow: var(--neo-shadow, 4px 4px 0px #000000);
	padding: var(--wp--preset--spacing--40, 1.5rem);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	width: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.blog-post-card:hover,
.wp-block-post-template>li>.wp-block-group:hover {
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0px var(--neo-border-color, #000000);
}

/* -------------------------------------------------------------------------
 * Post Featured Image
 * ------------------------------------------------------------------------- */
.wp-block-post-featured-image {
	margin-bottom: 1.25rem;
}

.wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border: var(--neo-border-width, 3px) solid var(--neo-border-color, #000000);
	border-radius: var(--neo-radius, 4px);
	display: block;
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------
 * Post Title
 * ------------------------------------------------------------------------- */
.wp-block-post-title {
	font-family: var(--wp--preset--font-family--heading, "Space Grotesk", sans-serif);
	font-weight: 700;
	font-size: 1.35rem;
	line-height: 1.25;
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.wp-block-post-title a {
	color: var(--wp--preset--color--main, #000000);
	text-decoration: none;
	transition: text-decoration 0.15s ease;
}

.wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

/* -------------------------------------------------------------------------
 * Post Meta: Date, Author
 * ------------------------------------------------------------------------- */
.wp-block-post-date,
.wp-block-post-author {
	font-family: var(--wp--preset--font-family--heading, "Space Grotesk", sans-serif);
	font-size: 0.85rem;
	font-weight: 600;
	color: #555555;
}

.wp-block-post-date a,
.wp-block-post-author a {
	color: inherit;
	text-decoration: none;
}

.wp-block-post-date a:hover,
.wp-block-post-author a:hover {
	color: var(--wp--preset--color--main, #000000);
	text-decoration: underline;
}

/* -------------------------------------------------------------------------
 * Post Excerpt
 * ------------------------------------------------------------------------- */
.wp-block-post-excerpt {
	font-family: var(--wp--preset--font-family--primary, "Space Grotesk", sans-serif);
	font-size: var(--wp--preset--font-size--small, 0.95rem);
	line-height: 1.6;
	color: var(--wp--preset--color--main, #000000);
	margin-bottom: 1.25rem;
}

.wp-block-post-excerpt__more-text {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * Taxonomy / Category Tag Badges
 * ------------------------------------------------------------------------- */
.wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: auto;
}

.wp-block-post-terms a {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.65rem;
	background-color: var(--wp--preset--color--primary-accent, #e9ecf2);
	color: var(--wp--preset--color--main, #000000);
	border: 2px solid var(--neo-border-color, #000000);
	border-radius: var(--neo-radius, 4px);
	font-family: var(--wp--preset--font-family--heading, "Space Grotesk", sans-serif);
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.2;
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.wp-block-post-terms a:hover {
	background-color: var(--wp--preset--color--primary, #5294ff);
	color: #ffffff;
	transform: translate(-1px, -1px);
	text-decoration: none;
}

/* -------------------------------------------------------------------------
 * Query Pagination Controls
 * ------------------------------------------------------------------------- */
.wp-block-query-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2rem;
}

.wp-block-query-pagination-numbers {
	display: flex;
	gap: 0.5rem;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
	font-family: var(--wp--preset--font-family--heading, "Space Grotesk", sans-serif);
	font-size: var(--wp--preset--font-size--small, 0.95rem);
	font-weight: 700;
	color: var(--wp--preset--color--main, #000000);
	background-color: var(--wp--preset--color--base, #ffffff);
	border: var(--neo-border-width, 3px) solid var(--neo-border-color, #000000);
	border-radius: var(--neo-radius, 4px);
	box-shadow: 3px 3px 0px #000000;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
	cursor: pointer;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-numbers a:hover {
	background-color: var(--wp--preset--color--primary-accent, #e9ecf2);
	text-decoration: none;
}

.wp-block-query-pagination-previous:active,
.wp-block-query-pagination-next:active,
.wp-block-query-pagination-numbers a:active {
	transform: translate(3px, 3px);
	box-shadow: 0px 0px 0px #000000;
}

.wp-block-query-pagination-numbers .current {
	background-color: var(--wp--preset--color--primary, #5294ff);
	color: #ffffff;
}