/* EP Cards — Frontend styles (static fallback for environments without SCSS compilation) */

.ep-card-group {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 16px 0;
}

.ep-card-flex-2 > .ep-card { flex: 0 0 calc(50% - 6px); }
.ep-card-flex-3 > .ep-card { flex: 0 0 calc(33.333% - 8px); }
.ep-card-flex-4 > .ep-card { flex: 0 0 calc(25% - 9px); }

.ep-card-group:not([class*="ep-card-flex-"]) > .ep-card {
	flex: 1 1 300px;
}

.ep-card-align-stretch { align-items: stretch; }
.ep-card-align-start   { align-items: flex-start; }
/* Equal heights: use min-height + flex rather than height:100% which resolves
   ambiguously in a flex-wrap context (parent has no explicit height). */
.ep-card-align-stretch > .ep-card {
	align-self: stretch;
	flex-grow: 0;
}
.ep-card-align-stretch > .ep-card .ep-card-body {
	flex: 1 1 auto;
}

.ep-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
	min-width: 0;
}
/* Override theme's ".page-content a { text-decoration: underline }" which
   targets the card root <a> and all links inside cards. */
.page-content a.ep-card,
a.ep-card {
	text-decoration: none;
	color: inherit;
}
.ep-card a {
	text-decoration: none;
	color: inherit;
}

.ep-card-style-standard { box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.ep-card-style-soft     { box-shadow: 0 8px 4px -8px rgba(0,0,0,0.20); }
.ep-card-style-subtle   { box-shadow: 0 0 5px rgba(0,0,0,0.15); }
.ep-card-style-flat     { box-shadow: none; }

.ep-card-corners-x6     { border-radius: 32px; }
.ep-card-corners-x5     { border-radius: 20px; }
.ep-card-corners-x4     { border-radius: 12px; }
.ep-card-corners-x3     { border-radius: 8px; }
.ep-card-corners-x2     { border-radius: 4px; }
.ep-card-corners-square { border-radius: 0; }

.ep-card-spacing-x2 .ep-card-body { padding: 12px; }
.ep-card-spacing-x3 .ep-card-body { padding: 20px; }
.ep-card-spacing-x4 .ep-card-body { padding: 28px; }

.ep-card-hover-raised:hover {
	transform: scale(1.03);
	box-shadow: 0 12px 24px rgba(0,0,0,0.18);
}

.ep-card-centered { text-align: center; }
.ep-card-image-only .ep-card-body { display: none; }

.ep-card-image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ep-card-image-link {
	display: block;
	color: inherit;
}

.ep-card-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ep-card-title {
	font-weight: bold;
	font-size: 1.25em;
	line-height: 1.25;
	margin: 0;
}
.ep-card-title a {
	color: inherit;
	text-decoration: none;
}

.ep-card-subtitle {
	font-size: 0.95em;
	opacity: 0.8;
	margin: 0;
}

.ep-card-text {
	font-size: 0.9em;
	line-height: 1.5;
}
.ep-card-text > :first-child { margin-top: 0; }
.ep-card-text > :last-child { margin-bottom: 0; }

/* GRT margin resets — compact spacing inside cards */
.ep-card p,
.ep-card ul,
.ep-card ol,
.ep-card blockquote,
.ep-card pre {
	margin-bottom: 6px;
}
.ep-card p:last-child,
.ep-card ul:last-child,
.ep-card ol:last-child,
.ep-card blockquote:last-child,
.ep-card pre:last-child {
	margin-bottom: 0;
}
.ep-card ul,
.ep-card ol {
	margin-left: 0;
	padding-left: 1.2em;
}
.ep-card li {
	margin-bottom: 4px;
}
.ep-card li:last-child {
	margin-bottom: 0;
}
.ep-card hr {
	margin: 6px 0;
}
.ep-card h2,
.ep-card h3,
.ep-card h4 {
	margin: 0 0 4px;
}
.ep-card img {
	max-width: 100%;
	margin-bottom: 0;
}
