/* -----------------------------------------------------------------------
   Collaborations — page-coop.php (/coop).

   A full-width, sidebar-free layout on the theme tokens: a lead, a card grid
   of the community's collaborations, and a full-width feature banner for the
   Dream-Job group. Enqueued in inc/enqueue.php for is_page( 'coop' ).

   The full-width overrides are keyed on .coop-fullwidth (a body class the
   coded page adds) so they also work if the layout is injected into the
   default page.php via the_content — e.g. the live Novamira-sandbox module
   shivuk-coop.php, which does exactly that until this theme is deployed.
   ----------------------------------------------------------------------- */
.coop-fullwidth .site-main.has-sidebar {
	display: block;
}

.coop-fullwidth .widget-area {
	display: none;
}

.coop-fullwidth .content-area,
.coop-fullwidth .entry-content {
	max-inline-size: none;
}

.coop {
	font-family: inherit;
}

.coop__lead {
	margin: 0.25rem 0 2rem;
	font-size: 1.22rem;
	line-height: 1.6;
	color: var(--shivuk-color-muted);
	max-inline-size: 68ch;
	font-weight: 500;
}

.coop__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: 1.15rem;
}

.coop-card {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.5rem 1.4rem 1.35rem;
	background: #ffffff;
	border: 1px solid var(--shivuk-color-border);
	border-radius: var(--shivuk-radius-lg);
	box-shadow: var(--shivuk-shadow-sm);
	transition:
		transform 0.25s var(--shivuk-ease),
		box-shadow 0.25s var(--shivuk-ease),
		border-color 0.25s var(--shivuk-ease);
}

/* Accent side-rail that lights up on hover. */
.coop-card::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	inline-size: 3px;
	background: linear-gradient(var(--shivuk-color-accent), color-mix(in srgb, var(--shivuk-color-accent) 55%, #6fe8ff));
	opacity: 0.55;
	transition: opacity 0.25s var(--shivuk-ease);
}

.coop-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shivuk-shadow-md);
	border-color: color-mix(in srgb, var(--shivuk-color-accent) 42%, transparent);
}

.coop-card:hover::before {
	opacity: 1;
}

.coop-card__index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.4rem;
	block-size: 2.4rem;
	border-radius: 12px;
	background: var(--shivuk-color-accent-soft);
	color: var(--shivuk-color-accent);
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1;
}

.coop-card__title {
	margin: 0.15rem 0 0;
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.28;
	color: var(--shivuk-color-text);
}

.coop-card__body {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--shivuk-color-muted);
}

.coop-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-block-start: auto;
	padding-block-start: 0.65rem;
}

.coop-card__tags span {
	padding: 0.24em 0.68em;
	border-radius: 999px;
	background: var(--shivuk-color-accent-soft);
	color: var(--shivuk-color-accent);
	font-size: 0.72rem;
	font-weight: 700;
}

.coop-card__link {
	align-self: flex-start;
	margin-block-start: 0.5rem;
	color: var(--shivuk-color-accent);
	font-weight: 700;
	font-size: 0.88rem;
	text-decoration: none;
}

.coop-card__link:hover {
	text-decoration: underline;
}

/* Full-width feature banner — the Dream-Job group, on the accent gradient. */
.coop-card--feature {
	grid-column: 1 / -1;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.75rem;
	margin-block-start: 0.15rem;
	padding: 1.9rem 2rem;
	color: #ffffff;
	border: 0;
	background:
		radial-gradient(120% 180% at 100% 0%, color-mix(in srgb, var(--shivuk-color-accent) 62%, #6fe8ff), transparent 52%),
		linear-gradient(150deg, var(--shivuk-color-accent), color-mix(in srgb, var(--shivuk-color-accent) 68%, #0c2f4c));
	box-shadow: 0 20px 44px color-mix(in srgb, var(--shivuk-color-accent) 28%, transparent);
}

.coop-card--feature::before {
	display: none;
}

.coop-card--feature:hover {
	transform: translateY(-5px);
	box-shadow: 0 26px 54px color-mix(in srgb, var(--shivuk-color-accent) 34%, transparent);
}

.coop-card--feature .coop-card__title {
	color: #ffffff;
	font-size: 1.4rem;
}

.coop-card--feature .coop-card__body {
	color: rgba(255, 255, 255, 0.87);
	font-size: 0.98rem;
	max-inline-size: 64ch;
}

.coop-card__stat {
	flex: 0 0 auto;
	text-align: center;
	padding-inline-end: 1.75rem;
	border-inline-end: 1px solid rgba(255, 255, 255, 0.28);
}

.coop-card__stat b {
	display: block;
	white-space: nowrap;
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1;
	color: #ffffff;
}

.coop-card__stat span {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.82);
}

.coop-card__main {
	flex: 1 1 320px;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.coop-card__kicker {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 640px) {
	.coop-card--feature {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		padding: 1.6rem;
	}

	.coop-card__stat {
		padding-inline-end: 0;
		border-inline-end: 0;
		padding-block-end: 1rem;
		border-block-end: 1px solid rgba(255, 255, 255, 0.28);
	}
}

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

	.coop-card:hover,
	.coop-card--feature:hover {
		transform: none;
	}
}
