/* =============================================================================
 * Casos de éxito — archive + single.
 * ============================================================================ */

body.post-type-archive-da_caso main,
body.single-da_caso main { background: #fff; }

/* Hero archive */
.da-casos-hero {
	padding-block: clamp(var(--sp-12), 7vw, var(--sp-20));
	background:
		radial-gradient(ellipse at top right, rgba(122,174,255,0.15), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--da-blue-bg) 100%);
}

.da-casos-hero h1 {
	font-size: var(--fs-3xl);
	margin: var(--sp-3) 0 var(--sp-4);
}

.da-casos-hero p {
	font-size: var(--fs-md);
	max-width: 60ch;
}

/* Filtros */
.da-casos-filters {
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
	margin-bottom: var(--sp-8);
	padding: var(--sp-5) var(--sp-6);
	background: var(--da-bg-soft);
	border-radius: var(--r-xl);
	border: 1px solid var(--da-border);
}

.da-filter-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-2);
}

.da-filter-label {
	font-family: var(--da-font-heading);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-sm);
	color: var(--da-text-muted);
	min-width: 120px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.da-filter {
	background: #fff;
	border: 1.5px solid var(--da-border);
	color: var(--da-text);
	padding: var(--sp-2) var(--sp-4);
	border-radius: var(--r-pill);
	font-family: var(--da-font-body);
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	cursor: pointer;
	transition: background var(--dur-fast) var(--ease-out),
	            border-color var(--dur-fast) var(--ease-out),
	            color var(--dur-fast) var(--ease-out);
}

.da-filter:hover {
	border-color: var(--da-blue-light);
	color: var(--da-blue-dark);
}

.da-filter.is-active {
	background: var(--da-blue);
	border-color: var(--da-blue);
	color: #fff;
}

/* Grid */
.da-casos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: var(--sp-6);
}

.da-caso-card {
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--dur-normal) var(--ease-out),
	            box-shadow var(--dur-normal) var(--ease-out);
}

.da-caso-card.is-hidden { display: none; }

.da-caso-card__media {
	aspect-ratio: 16/9;
	overflow: hidden;
	background: var(--da-blue-bg);
}

.da-caso-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform var(--dur-slow) var(--ease-out);
}

.da-caso-card:hover .da-caso-card__media img {
	transform: scale(1.04);
}

.da-caso-card__body {
	padding: var(--sp-6);
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	flex: 1;
}

.da-caso-card__importe {
	font-family: var(--da-font-heading);
	font-size: var(--fs-2xl);
	font-weight: var(--fw-black);
	color: var(--da-blue);
	line-height: 1;
	letter-spacing: -0.02em;
}

.da-caso-card__importe sup {
	font-size: 0.4em;
	color: var(--da-text-soft);
	font-weight: var(--fw-medium);
	margin-left: 6px;
	letter-spacing: 0;
}

.da-caso-card__title {
	font-size: var(--fs-md);
	margin: 0;
	color: var(--da-navy);
	line-height: var(--lh-snug);
}

.da-caso-card__excerpt {
	font-size: var(--fs-sm);
	color: var(--da-text-soft);
	margin: 0;
	line-height: var(--lh-relaxed);
}

.da-caso-card__tags {
	display: flex;
	gap: var(--sp-2);
	flex-wrap: wrap;
}

.da-tag {
	display: inline-flex;
	align-items: center;
	padding: 2px 10px;
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	background: var(--da-blue);
	color: #fff;
	border-radius: var(--r-pill);
	letter-spacing: 0.02em;
}

.da-tag--soft {
	background: var(--da-blue-bg);
	color: var(--da-blue);
}

.da-caso-card__link {
	margin-top: auto;
	font-weight: var(--fw-semibold);
	color: var(--da-blue);
}

/* Empty state */
.da-casos-empty {
	text-align: center;
	padding: var(--sp-12) var(--sp-6);
	background: var(--da-bg-soft);
	border-radius: var(--r-xl);
}

.da-casos-empty p { max-width: 50ch; margin: 0 auto var(--sp-4); }

/* Single */
.da-caso-single__hero {
	padding-block: clamp(var(--sp-12), 7vw, var(--sp-16));
	background: linear-gradient(180deg, #fff 0%, var(--da-blue-bg) 100%);
}

.da-caso-single__hero h1 {
	margin: var(--sp-3) 0 var(--sp-5);
}

.da-caso-single__importe {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
	padding: var(--sp-3) var(--sp-5);
	background: #fff;
	border: 1px solid var(--da-border);
	border-radius: var(--r-lg);
	margin-bottom: var(--sp-4);
}

.da-caso-single__importe strong {
	font-family: var(--da-font-heading);
	font-size: var(--fs-2xl);
	color: var(--da-blue);
	line-height: 1;
}

.da-caso-single__importe span { font-size: var(--fs-sm); color: var(--da-text-soft); }

.da-caso-single__meta { display: flex; gap: var(--sp-2); flex-wrap: wrap; }

.da-caso-single__image {
	width: 100%; height: auto;
	border-radius: var(--r-xl);
	margin-bottom: var(--sp-8);
}
