/* ============================================================
   Mevabi – Related Posts Inline  |  Front-end styles  v1.1.0
   Colors injected as CSS custom properties via PHP.
   ============================================================ */

/* ── Wrapper ── */
.mvrpi-block {
	margin: 2em 0;
	clear: both;
	font-family: inherit;
	/* Container queries let Design 3 reflow in narrow sidebars */
	container-type: inline-size;
	container-name: mvrpi;
}

/* ── Section title (outside box – Design 1 & 3) ── */
.mvrpi-section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: .7em;
}

.mvrpi-section-title span {
	font-size: var(--mvrpi-font-section, 1rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--mvrpi-section-color, #374151);
	white-space: nowrap;
	line-height: 1;
}

.mvrpi-section-title::after {
	content: '';
	flex: 1;
	height: 1px;
	background: currentColor;
	opacity: .15;
}

/* ── Post list ── */
.mvrpi-posts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* ============================================================
   DESIGN 1 – Solid color, full-click, big arrow right
   ============================================================ */
.mvrpi-design-1 .mvrpi-post-item {
	border-radius: var(--mvrpi-radius, 12px);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.mvrpi-design-1 .mvrpi-post-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, .14);
}

.mvrpi-design-1 .mvrpi-d1-link {
	display: flex;
	align-items: center;
	background: var(--mvrpi-bg, #2563eb);
	border-radius: var(--mvrpi-radius, 12px);
	padding: 16px 20px;
	text-decoration: none;
	gap: 14px;
	transition: background .18s ease;
	min-height: 68px;
}

.mvrpi-design-1 .mvrpi-d1-link:hover {
	background: var(--mvrpi-bg-hover, #1d4ed8);
}

.mvrpi-design-1 .mvrpi-d1-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.mvrpi-design-1 .mvrpi-post-title {
	font-size: var(--mvrpi-font-title, 2rem);
	font-weight: 700;
	color: var(--mvrpi-title-color, #ffffff);
	line-height: 1.3;
}

.mvrpi-design-1 .mvrpi-excerpt {
	font-size: var(--mvrpi-font-excerpt, 1rem);
	color: var(--mvrpi-excerpt-color, #bfdbfe);
	line-height: 1.5;
	margin: 0;
}

.mvrpi-design-1 .mvrpi-d1-arrow {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .18);
	border-radius: 50%;
	color: var(--mvrpi-arrow-color, #ffffff);
	transition: background .18s ease, transform .18s ease;
}

.mvrpi-design-1 .mvrpi-d1-link:hover .mvrpi-d1-arrow {
	background: rgba(255, 255, 255, .28);
	transform: translateX(4px);
}

.mvrpi-design-1 .mvrpi-d1-arrow svg {
	width: 22px;
	height: 22px;
}

/* ============================================================
   DESIGN 2 – Light grey, title inside, no arrow, centered
   ============================================================ */
.mvrpi-design-2 .mvrpi-post-item {
	border-radius: var(--mvrpi-radius, 12px);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.mvrpi-design-2 .mvrpi-post-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .09);
}

.mvrpi-design-2 .mvrpi-d2-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: var(--mvrpi-bg, #f1f5f9);
	border: 1.5px solid var(--mvrpi-border, #e2e8f0);
	border-radius: var(--mvrpi-radius, 12px);
	padding: 18px 24px;
	text-decoration: none;
	gap: 6px;
	transition: background .18s ease, border-color .18s ease;
	min-height: 64px;
	justify-content: center;
}

.mvrpi-design-2 .mvrpi-d2-link:hover {
	background: #e9eef5;
	border-color: #c7d2de;
}

.mvrpi-design-2 .mvrpi-d2-section-label {
	font-size: var(--mvrpi-font-section, 1rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--mvrpi-section-color, #94a3b8);
	margin-bottom: 2px;
	line-height: 1;
}

.mvrpi-design-2 .mvrpi-post-title {
	font-size: var(--mvrpi-font-title, 2rem);
	font-weight: 700;
	color: var(--mvrpi-title-color, #1e293b);
	line-height: 1.3;
}

.mvrpi-design-2 .mvrpi-excerpt {
	font-size: var(--mvrpi-font-excerpt, 1rem);
	color: var(--mvrpi-excerpt-color, #64748b);
	line-height: 1.5;
	margin: 0;
}

/* ============================================================
   DESIGN 3 – Solid color + small image left, big arrow right
   ============================================================ */
.mvrpi-design-3 .mvrpi-post-item {
	border-radius: var(--mvrpi-radius, 12px);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.mvrpi-design-3 .mvrpi-post-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, .14);
}

.mvrpi-design-3 .mvrpi-d3-link {
	display: flex;
	align-items: center;
	background: var(--mvrpi-bg, #7c3aed);
	border-radius: var(--mvrpi-radius, 12px);
	text-decoration: none;
	overflow: hidden;
	transition: background .18s ease;
	min-height: 76px;
}

.mvrpi-design-3 .mvrpi-d3-link:hover {
	background: var(--mvrpi-bg-hover, #6d28d9);
}

.mvrpi-design-3 .mvrpi-d3-img-wrap {
	position: relative; /* anchor for absolutely-positioned img */
	width: var(--mvrpi-img-width, 100px);
	min-width: var(--mvrpi-img-width, 100px);
	/* min-height forces at least the user-specified height; align-self:stretch fills the rest */
	min-height: var(--mvrpi-img-height, 0px);
	align-self: stretch;
	overflow: hidden;
	flex-shrink: 0;
}

.mvrpi-design-3 .mvrpi-d3-img {
	/* Absolute fill guarantees the image always covers the wrapper exactly,
	   regardless of the image's natural dimensions. object-fit:cover prevents
	   deformation. This is the key fix for the height inconsistency bug. */
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}

.mvrpi-design-3 .mvrpi-d3-link:hover .mvrpi-d3-img {
	transform: scale(1.06);
}

.mvrpi-design-3 .mvrpi-d3-content {
	flex: 1;
	padding: 13px 16px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.mvrpi-design-3 .mvrpi-post-title {
	font-size: var(--mvrpi-font-title, 2rem);
	font-weight: 700;
	color: var(--mvrpi-title-color, #ffffff);
	line-height: 1.3;
}

.mvrpi-design-3 .mvrpi-excerpt {
	font-size: var(--mvrpi-font-excerpt, 1rem);
	color: var(--mvrpi-excerpt-color, #ede9fe);
	line-height: 1.5;
	margin: 0;
}

.mvrpi-design-3 .mvrpi-d3-arrow {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .18);
	border-radius: 50%;
	color: var(--mvrpi-arrow-color, #ffffff);
	margin-right: 18px;
	transition: background .18s ease, transform .18s ease;
}

.mvrpi-design-3 .mvrpi-d3-link:hover .mvrpi-d3-arrow {
	background: rgba(255, 255, 255, .28);
	transform: translateX(4px);
}

.mvrpi-design-3 .mvrpi-d3-arrow svg {
	width: 22px;
	height: 22px;
}

/* ============================================================
   DESIGN 4 – Light box with colored left-accent bar (cycles per item)
   ============================================================ */
.mvrpi-design-4 .mvrpi-post-item {
	border-radius: var(--mvrpi-radius, 10px);
	overflow: hidden;
	background: var(--mvrpi-bg, #ffffff);
	border: 1px solid var(--mvrpi-border, #e2e8f0);
	transition: transform .18s ease, box-shadow .18s ease;
}

.mvrpi-design-4 .mvrpi-post-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .09);
}

.mvrpi-design-4 .mvrpi-d4-link {
	display: flex;
	align-items: stretch;
	text-decoration: none;
	min-height: 64px;
	border-radius: var(--mvrpi-radius, 10px);
	overflow: hidden;
}

.mvrpi-design-4 .mvrpi-d4-accent {
	width: var(--mvrpi-accent-width, 6px);
	min-width: var(--mvrpi-accent-width, 6px);
	flex-shrink: 0;
	transition: opacity .18s ease;
}

/* Cycle through 6 accent colours per item */
.mvrpi-design-4 .mvrpi-post-item:nth-child(6n+1) .mvrpi-d4-accent { background: var(--mvrpi-accent-1, #6366f1); }
.mvrpi-design-4 .mvrpi-post-item:nth-child(6n+2) .mvrpi-d4-accent { background: var(--mvrpi-accent-2, #0ea5e9); }
.mvrpi-design-4 .mvrpi-post-item:nth-child(6n+3) .mvrpi-d4-accent { background: var(--mvrpi-accent-3, #10b981); }
.mvrpi-design-4 .mvrpi-post-item:nth-child(6n+4) .mvrpi-d4-accent { background: var(--mvrpi-accent-4, #f59e0b); }
.mvrpi-design-4 .mvrpi-post-item:nth-child(6n+5) .mvrpi-d4-accent { background: var(--mvrpi-accent-5, #ef4444); }
.mvrpi-design-4 .mvrpi-post-item:nth-child(6n+6) .mvrpi-d4-accent { background: var(--mvrpi-accent-6, #8b5cf6); }

.mvrpi-design-4 .mvrpi-d4-content {
	flex: 1;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	justify-content: center;
}

.mvrpi-design-4 .mvrpi-post-title {
	font-size: var(--mvrpi-font-title, 1rem);
	font-weight: 700;
	color: var(--mvrpi-title-color, #1e293b);
	line-height: 1.3;
}

.mvrpi-design-4 .mvrpi-excerpt {
	font-size: var(--mvrpi-font-excerpt, .85rem);
	color: var(--mvrpi-excerpt-color, #64748b);
	line-height: 1.5;
	margin: 0;
}

.mvrpi-design-4 .mvrpi-d4-arrow {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto 14px;
	border-radius: 50%;
	background: var(--mvrpi-border, #e2e8f0);
	color: var(--mvrpi-title-color, #1e293b);
	transition: background .18s ease, transform .18s ease, color .18s ease;
}

.mvrpi-design-4 .mvrpi-d4-link:hover .mvrpi-d4-arrow {
	transform: translateX(4px);
	background: var(--mvrpi-accent-1, #6366f1);
	color: #fff;
}

.mvrpi-design-4 .mvrpi-d4-arrow svg {
	width: 16px;
	height: 16px;
}

/* ============================================================
   DESIGN 5 – Flat, no shadows, cycling per-item backgrounds
   ============================================================ */
.mvrpi-design-5 .mvrpi-post-item {
	border-radius: var(--mvrpi-radius, 10px);
	overflow: hidden;
	transition: transform .18s ease;
}

.mvrpi-design-5 .mvrpi-post-item:hover {
	transform: translateY(-2px);
}

.mvrpi-design-5 .mvrpi-d5-link {
	display: flex;
	align-items: center;
	padding: 16px 20px;
	text-decoration: none;
	min-height: 60px;
	border-radius: var(--mvrpi-radius, 10px);
	gap: 12px;
	transition: filter .15s ease;
}

.mvrpi-design-5 .mvrpi-d5-link:hover {
	filter: brightness(.95);
}

/* Cycle through 6 background colours per item */
.mvrpi-design-5 .mvrpi-post-item:nth-child(6n+1) .mvrpi-d5-link { background: var(--mvrpi-bg-1, #eff6ff); }
.mvrpi-design-5 .mvrpi-post-item:nth-child(6n+2) .mvrpi-d5-link { background: var(--mvrpi-bg-2, #f0fdf4); }
.mvrpi-design-5 .mvrpi-post-item:nth-child(6n+3) .mvrpi-d5-link { background: var(--mvrpi-bg-3, #fefce8); }
.mvrpi-design-5 .mvrpi-post-item:nth-child(6n+4) .mvrpi-d5-link { background: var(--mvrpi-bg-4, #fdf4ff); }
.mvrpi-design-5 .mvrpi-post-item:nth-child(6n+5) .mvrpi-d5-link { background: var(--mvrpi-bg-5, #fff1f2); }
.mvrpi-design-5 .mvrpi-post-item:nth-child(6n+6) .mvrpi-d5-link { background: var(--mvrpi-bg-6, #f0f9ff); }

.mvrpi-design-5 .mvrpi-d5-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
	opacity: .5;
	background: var(--mvrpi-title-color, #1e293b);
}

.mvrpi-design-5 .mvrpi-d5-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.mvrpi-design-5 .mvrpi-post-title {
	font-size: var(--mvrpi-font-title, 1rem);
	font-weight: 700;
	color: var(--mvrpi-title-color, #1e293b);
	line-height: 1.3;
}

.mvrpi-design-5 .mvrpi-excerpt {
	font-size: var(--mvrpi-font-excerpt, .85rem);
	color: var(--mvrpi-excerpt-color, #64748b);
	line-height: 1.5;
	margin: 0;
}

/* ============================================================
   DESIGN 6 – Dark bg, circular image on the right
   ============================================================ */
.mvrpi-design-6 .mvrpi-post-item {
	border-radius: var(--mvrpi-radius, 12px);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.mvrpi-design-6 .mvrpi-post-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, .2);
}

.mvrpi-design-6 .mvrpi-d6-link {
	display: flex;
	align-items: center;
	background: var(--mvrpi-bg, #0f172a);
	border-radius: var(--mvrpi-radius, 12px);
	padding: 14px 18px;
	text-decoration: none;
	gap: 14px;
	transition: background .18s ease;
	min-height: 76px;
}

.mvrpi-design-6 .mvrpi-d6-link:hover {
	background: var(--mvrpi-bg-hover, #1e293b);
}

.mvrpi-design-6 .mvrpi-d6-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.mvrpi-design-6 .mvrpi-post-title {
	font-size: var(--mvrpi-font-title, 1rem);
	font-weight: 700;
	color: var(--mvrpi-title-color, #ffffff);
	line-height: 1.3;
}

.mvrpi-design-6 .mvrpi-excerpt {
	font-size: var(--mvrpi-font-excerpt, .85rem);
	color: var(--mvrpi-excerpt-color, #94a3b8);
	line-height: 1.5;
	margin: 0;
}

.mvrpi-design-6 .mvrpi-d6-img-wrap {
	width: var(--mvrpi-img-size, 72px);
	height: var(--mvrpi-img-size, 72px);
	min-width: var(--mvrpi-img-size, 72px);
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 3px solid rgba(255, 255, 255, .15);
	transition: border-color .18s ease, transform .18s ease;
}

.mvrpi-design-6 .mvrpi-d6-link:hover .mvrpi-d6-img-wrap {
	border-color: rgba(255, 255, 255, .45);
	transform: scale(1.05);
}

.mvrpi-design-6 .mvrpi-d6-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mvrpi-design-6 .mvrpi-d6-img-placeholder {
	width: var(--mvrpi-img-size, 72px);
	height: var(--mvrpi-img-size, 72px);
	min-width: var(--mvrpi-img-size, 72px);
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	flex-shrink: 0;
}

/* ============================================================
   Responsive – viewport-based
   ============================================================ */
@media (max-width: 600px) {
	.mvrpi-design-1 .mvrpi-d1-link,
	.mvrpi-design-3 .mvrpi-d3-link {
		padding: 12px 14px;
	}
}

/* ============================================================
   Responsive – container-based (sidebar / narrow column)
   Stacks Design 3 & 6: image on top, text below.
   Requires modern browsers (Chrome 105+, Firefox 110+, Safari 16+).
   ============================================================ */
@container mvrpi (max-width: 380px) {
	.mvrpi-design-3 .mvrpi-d3-link,
	.mvrpi-design-6 .mvrpi-d6-link {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		padding: 0 0 14px;
	}

	/* Design 6: circle becomes a top banner */
	.mvrpi-design-6 .mvrpi-d6-img-wrap,
	.mvrpi-design-6 .mvrpi-d6-img-placeholder {
		width: 100% !important;
		min-width: 0 !important;
		height: 140px !important;
		border-radius: 0 !important;
		border: none !important;
	}

	.mvrpi-design-6 .mvrpi-d6-content {
		padding: 0 16px;
	}

	.mvrpi-design-3 .mvrpi-d3-img-wrap {
		width: 100% !important;
		min-width: 0 !important;
		align-self: auto;
		/* Give the stacked image a fixed height */
		min-height: 140px !important;
		height: 140px !important;
	}

	.mvrpi-design-3 .mvrpi-d3-arrow {
		display: none;
	}

	.mvrpi-design-3 .mvrpi-d3-content {
		padding: 12px 16px;
	}
}