/* File: wp-content/themes/lln-kadence-child/assets/css/post-list.css */

/* Grid containers: Kadence Blocks post list + theme archives */
.lln-post-list .kb-post-list,
.lln-post-list .kb-post-grid-wrap .kb-post-list,
.lln-post-list .content-wrap .entries,
.lln-post-list .content-wrap .entry-list,
.lln-post-list .wp-block-kadence-posts .kb-post-list,
.kb-post-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.lln-post-list .kb-post-list-item,
.lln-post-list .entry-list-item,
.kb-post-list-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Card shell */
.lln-post-list .kb-post-list-item .loop-entry,
.lln-post-list .entry-list-item .loop-entry,
.kb-post-list-item .loop-entry {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--lln-radius-lg);
	background: var(--lln-surface);
	box-shadow: var(--lln-shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lln-post-list .kb-post-list-item .loop-entry:hover,
.lln-post-list .entry-list-item .loop-entry:hover,
.kb-post-list-item .loop-entry:hover {
	transform: translateY(-4px);
	box-shadow: var(--lln-shadow);
	cursor: pointer;
}

.lln-post-list .loop-entry .lln-card__link,
.kb-post-list-item .loop-entry .lln-card__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.lln-post-list .loop-entry .lln-card__link:focus-visible,
.kb-post-list-item .loop-entry .lln-card__link:focus-visible {
	outline: 2px solid var(--lln-primary);
	outline-offset: 2px;
}

/* When overlay link is present, let it handle navigation. */
.lln-post-list .loop-entry:has(> .lln-card__link) .post-thumbnail[href],
.kb-post-list-item .loop-entry:has(> .lln-card__link) .post-thumbnail[href],
.lln-post-list .loop-entry:has(> .lln-card__link) .entry-title a,
.kb-post-list-item .loop-entry:has(> .lln-card__link) .entry-title a {
	pointer-events: none;
}

/* Kadence blocks: stretch the title link across the full card. */
.lln-post-list .loop-entry:not(:has(> .lln-card__link)) .post-thumbnail[href],
.kb-post-list-item .loop-entry:not(:has(> .lln-card__link)) .post-thumbnail[href],
.lln-post-list .loop-entry:not(:has(> .lln-card__link)) .entry-content-wrap,
.kb-post-list-item .loop-entry:not(:has(> .lln-card__link)) .entry-content-wrap {
	pointer-events: none;
}

.lln-post-list .loop-entry:not(:has(> .lln-card__link)) .entry-title a,
.kb-post-list-item .loop-entry:not(:has(> .lln-card__link)) .entry-title a {
	position: static;
	pointer-events: auto;
}

.lln-post-list .loop-entry:not(:has(> .lln-card__link)) .entry-title a::after,
.kb-post-list-item .loop-entry:not(:has(> .lln-card__link)) .entry-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.lln-post-list .loop-entry:hover .entry-title a,
.lln-post-list .loop-entry:focus-within .entry-title a,
.kb-post-list-item .loop-entry:hover .entry-title a,
.kb-post-list-item .loop-entry:focus-within .entry-title a {
	color: var(--lln-primary);
}

/* Thumbnail */
.lln-post-list .loop-entry .post-thumbnail,
.kb-post-list-item .loop-entry .post-thumbnail {
	position: relative;
	display: block;
	flex-shrink: 0;
	margin: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, #c7d2fe, #fbcfe8);
	border-radius: 0;
}

.lln-post-list .loop-entry .post-thumbnail::before,
.lln-post-list .loop-entry .post-thumbnail::after,
.kb-post-list-item .loop-entry .post-thumbnail::before,
.kb-post-list-item .loop-entry .post-thumbnail::after {
	display: none;
}

.lln-post-list .loop-entry .post-thumbnail-inner,
.kb-post-list-item .loop-entry .post-thumbnail-inner {
	height: 100%;
	padding: 0 !important;
}

.lln-post-list .loop-entry .post-thumbnail img,
.kb-post-list-item .loop-entry .post-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Type badge (injected via PHP) */
.lln-post-list .loop-entry .lln-card__type,
.kb-post-list-item .loop-entry .lln-card__type {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	font-family: var(--lln-font);
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--lln-primary-dark);
	pointer-events: none;
}

/* Card body */
.lln-post-list .loop-entry .entry-content-wrap,
.kb-post-list-item .loop-entry .entry-content-wrap {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.65rem;
	padding: 1.1rem 1.15rem 1.25rem;
}

.lln-post-list .loop-entry .entry-header,
.kb-post-list-item .loop-entry .entry-header {
	margin: 0;
	padding: 0;
}

/* Hide default Kadence category row; badge replaces it */
.lln-post-list .loop-entry .entry-taxonomies,
.lln-post-list .loop-entry .entry-meta,
.kb-post-list-item .loop-entry .entry-taxonomies,
.kb-post-list-item .loop-entry .entry-meta {
	display: none;
}

.lln-post-list .loop-entry .entry-title,
.kb-post-list-item .loop-entry .entry-title {
	margin: 0;
	font-family: var(--lln-font);
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.35;
}

.lln-post-list .loop-entry .entry-title a,
.kb-post-list-item .loop-entry .entry-title a {
	color: var(--lln-text);
	text-decoration: none;
}

.lln-post-list .loop-entry .entry-title a:hover,
.lln-post-list .loop-entry .entry-title a:focus-visible,
.kb-post-list-item .loop-entry .entry-title a:hover,
.kb-post-list-item .loop-entry .entry-title a:focus-visible {
	color: var(--lln-primary);
}

.lln-post-list .loop-entry .lln-card__meta,
.kb-post-list-item .loop-entry .lln-card__meta {
	margin: 0;
	font-family: var(--lln-font);
	font-size: 0.82rem;
	color: var(--lln-text-muted);
}

.lln-post-list .loop-entry .entry-summary,
.kb-post-list-item .loop-entry .entry-summary {
	margin: 0;
	flex: 1;
}

.lln-post-list .loop-entry .entry-summary p,
.kb-post-list-item .loop-entry .entry-summary p {
	margin: 0;
	font-family: var(--lln-font);
	font-size: 0.92rem;
	color: var(--lln-text-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lln-post-list .loop-entry .entry-footer,
.kb-post-list-item .loop-entry .entry-footer {
	margin: 0;
	margin-top: auto;
	padding: 0;
	border: 0;
}

.lln-post-list .loop-entry .lln-card__footer,
.kb-post-list-item .loop-entry .lln-card__footer {
	margin-top: auto;
	padding-top: 0.35rem;
}
