/* イベントカード（一覧用） */

.c-eventCard {
	display: flex;
	flex-direction: column;
	background: var(--c-bg-card);
	border: 1px solid var(--c-border);
	border-radius: var(--r-md);
	overflow: hidden;
	transition: transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
	position: relative;
}
.c-eventCard:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--c-primary-light);
}

.c-eventCard__thumb {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--c-bg-section);
	overflow: hidden;
	position: relative;
}
.c-eventCard__thumb img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform var(--dur-base) var(--ease);
}
.c-eventCard:hover .c-eventCard__thumb img {
	transform: scale(1.04);
}
.c-eventCard__date-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: rgba(255, 255, 255, .96);
	color: var(--c-fg);
	padding: 6px 12px;
	border-radius: var(--r-sm);
	font-weight: var(--fw-medium);
	font-size: var(--fs-sm);
	letter-spacing: .04em;
	box-shadow: var(--shadow-sm);
}

.c-eventCard__body {
	padding: var(--sp-5) var(--sp-5) var(--sp-4);
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	flex: 1;
}

.c-eventCard__date {
	display: flex;
	align-items: baseline;
	gap: var(--sp-2);
	color: var(--c-primary);
	font-weight: var(--fw-medium);
	font-size: var(--fs-base);
	letter-spacing: .02em;
	font-family: var(--font-display);
}
.c-eventCard__date .day-of-week {
	color: var(--c-fg-muted);
	font-size: var(--fs-sm);
}

.c-eventCard__title {
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	line-height: 1.5;
	color: var(--c-fg);
	margin-block-end: var(--sp-2);
}
.c-eventCard__title a {
	color: inherit;
}
.c-eventCard:hover .c-eventCard__title a {
	color: var(--c-primary);
}

.c-eventCard__meta {
	display: flex;
	flex-direction: column;
	gap: var(--sp-1);
	color: var(--c-fg-muted);
	font-size: var(--fs-sm);
	margin-block-start: auto;
}
.c-eventCard__meta-row {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
}
.c-eventCard__meta-row::before {
	content: "";
	display: inline-block;
	width: 14px; height: 14px;
	background: currentColor;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
}
.c-eventCard__meta-row.is-place::before {
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2a8 8 0 0 0-8 8c0 5.4 8 12 8 12s8-6.6 8-12a8 8 0 0 0-8-8zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/></svg>");
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2a8 8 0 0 0-8 8c0 5.4 8 12 8 12s8-6.6 8-12a8 8 0 0 0-8-8zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/></svg>");
}
.c-eventCard__meta-row.is-time::before {
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 11h-5V6h2v5h3v2z'/></svg>");
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 11h-5V6h2v5h3v2z'/></svg>");
}
.c-eventCard__meta-row.is-price::before {
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 14v2h-2v-2H8v-2h3v-2H8V10h3l-3-4h2.4L12 9.4 13.6 6H16l-3 4h3v2h-3v2h3v2h-3z'/></svg>");
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 14v2h-2v-2H8v-2h3v-2H8V10h3l-3-4h2.4L12 9.4 13.6 6H16l-3 4h3v2h-3v2h3v2h-3z'/></svg>");
}

.c-eventCard__footer {
	display: flex;
	gap: var(--sp-3);
	padding: 0 var(--sp-5) var(--sp-5);
	align-items: center;
	justify-content: space-between;
}
.c-eventCard__status {
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
}

.c-eventCard.is-closed {
	opacity: .85;
}
.c-eventCard.is-closed .c-eventCard__thumb::after {
	content: "受付終了";
	position: absolute;
	inset: auto auto 12px 12px;
	background: rgba(42, 42, 42, .85);
	color: #fff;
	padding: 4px 10px;
	border-radius: var(--r-sm);
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
	letter-spacing: .04em;
}

/* 横並び（過去イベント簡易版） */
.c-eventCard--row {
	flex-direction: row;
	align-items: stretch;
}
.c-eventCard--row .c-eventCard__thumb {
	flex: 0 0 200px;
	aspect-ratio: auto;
}
.c-eventCard--row .c-eventCard__body {
	flex: 1;
	padding: var(--sp-4) var(--sp-5);
}
@media (max-width: 600px) {
	.c-eventCard--row { flex-direction: column; }
	.c-eventCard--row .c-eventCard__thumb {
		flex: none;
		aspect-ratio: 16 / 9;
	}
}
