/*
 * Dockery Ministries — Daily Inspiration
 * Card grid styles ([daily_inspiration] shortcode + CPT archive).
 * Colors sampled directly from the supplied reference design.
 */

.dmdi-section {
	--dmdi-navy: #1b3b5b;
	--dmdi-navy-dark: #1e293b;
	--dmdi-blue: #2563eb;
	--dmdi-card-bg: #f8fafc;
	--dmdi-card-border: #e7ebf0;
	--dmdi-body-gray: #475569;
	--dmdi-outer-bg: #ffffff;
	--dmdi-font-display: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--dmdi-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	background: var( --dmdi-outer-bg );
	padding: 64px 20px;
}

/* Opt-in dark variant (the original mockup's look) — add via [daily_inspiration dark_bg="yes"] */
.dmdi-section.dmdi-dark {
	--dmdi-outer-bg: #1e1e1e;
}

.dmdi-section,
.dmdi-section *,
.dmdi-section *::before,
.dmdi-section *::after {
	box-sizing: border-box;
}

.dmdi-container {
	max-width: 1180px;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid #eef1f4;
	border-radius: 20px;
	padding: 44px 40px;
	box-shadow: 0 20px 45px -30px rgba( 15, 23, 42, 0.25 );
}

.dmdi-section.dmdi-dark .dmdi-container {
	box-shadow: 0 30px 60px -25px rgba( 0, 0, 0, 0.4 );
}

.dmdi-eyebrow {
	font-family: var( --dmdi-font-display );
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var( --dmdi-blue );
	text-align: center;
	margin: 0 0 12px;
}

.dmdi-heading {
	font-family: var( --dmdi-font-display );
	font-size: clamp( 24px, 3vw, 32px );
	font-weight: 800;
	color: var( --dmdi-navy );
	text-align: center;
	margin: 0 0 32px;
	letter-spacing: -0.01em;
	line-height: 1.25;
}

/* Grid: fills up to --dmdi-columns evenly; fewer cards stretch to fill the
   row instead of leaving an empty trailing column; narrow viewports wrap
   down automatically once a card would drop below the readable floor. */
/* Grid: fixed 3 columns; rows fill as cards are added (18 cards = 6 rows). */
.dmdi-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 24px;
}

.dmdi-card {
	background: var( --dmdi-card-bg );
	border: 1px solid var( --dmdi-card-border );
	border-radius: 12px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	text-align: left !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dmdi-card:hover {
	transform: translateY( -3px );
	box-shadow: 0 14px 28px -16px rgba( 27, 59, 91, 0.35 );
}

.dmdi-card-title {
	font-family: var( --dmdi-font-display );
	font-size: 15px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var( --dmdi-navy-dark );
	margin: 0 0 12px;
	line-height: 1.35;
	text-align: left !important;
}

.dmdi-card-excerpt {
	font-family: var( --dmdi-font-body );
	font-size: 13px;
	line-height: 1.6;
	color: var( --dmdi-body-gray );
	margin: 0 0 18px;
	flex-grow: 1;
	text-align: left !important;
}

.dmdi-card-byline {
	font-family: var( --dmdi-font-display );
	font-size: 12.5px;
	font-weight: 700;
	color: var( --dmdi-navy );
	margin: 0 0 16px;
	text-align: left !important;
}

.dmdi-card-button {
	font-family: var( --dmdi-font-display );
	display: inline-block;
	align-self: flex-start;
	background: var( --dmdi-navy );
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 20px;
	border-radius: 6px;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.dmdi-card-button:hover {
	background: #142f49;
	transform: translateY( -1px );
}

.dmdi-card-button:focus-visible {
	outline: 2px solid var( --dmdi-blue );
	outline-offset: 2px;
}

.dmdi-empty {
	font-family: var( --dmdi-font-body );
	text-align: center;
	color: var( --dmdi-body-gray );
	margin: 0;
}

.dmdi-pagination {
	margin-top: 40px;
	text-align: center;
	font-family: var( --dmdi-font-body );
}

.dmdi-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	margin: 0 4px;
	border-radius: 6px;
	background: var( --dmdi-card-bg );
	color: var( --dmdi-navy );
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}

.dmdi-pagination .page-numbers.current {
	background: var( --dmdi-navy );
	color: #ffffff;
}

@media ( max-width: 900px ) {
	.dmdi-container {
		padding: 36px 28px;
	}
}

@media ( max-width: 600px ) {
	.dmdi-section {
		padding: 36px 16px;
	}
	.dmdi-container {
		padding: 28px 20px;
		border-radius: 16px;
	}
	.dmdi-heading {
		font-size: 22px;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.dmdi-card,
	.dmdi-card-button {
		transition: none;
	}
}
