/*
 Theme Name: GAIA Child
 Theme URI: https://tcd-theme.com/tcd102/
 Description: Child theme for GAIA (tcd102).
 Author: 大嵩 ユウタ
 Author URI: https://tcd-theme.com/
 Template: gaia_tcd102
 Version: 1.0
 Text Domain: gaia_tcd102_child
*/

/* ここから子テーマCSSを書く */

/* 投稿ページの価格表示 */
:root {
	--color-primary: #001040;
	--color-primary-dark: #000A2B;
	--color-primary-soft: #18306A;
	--color-link: #2A4EA1;
	--color-link-hover: #3B63C4;
	--color-button: #18306A;
	--color-button-hover: #2A4EA1;
	--color-button-text: #FFFFFF;
	--color-point: #5B4FCF;
	--color-point-soft: #E8EBFF;
	--color-bg: #F7F9FF;
	--color-card: #FFFFFF;
	--color-text: #1B2230;
	--color-border: #D9E1F2;
}

.p-single__header-image {
	position: relative;
}

.p-single__header-price {
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: rgba(91, 79, 207, 0.88);
	color: var(--color-button-text);
	padding: 15px 20px;
	border-radius: 4px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
	text-align: center;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.p-single__header-price__unit {
	font-size: 0.75em;
	opacity: 0.9;
	font-weight: 500;
}

.p-single__header-price__amount {
	font-size: 1.8em;
	font-weight: 700;
	line-height: 1;
}

@media (max-width: 767px) {
	.p-single__header-image .p-single__header-category {
		position: absolute;
		top: 0;
		left: 0;
		margin: 0;
		padding: 10px 15px;
	}

	.p-single__header-price {
		bottom: 0;
		right: 0;
		padding: 12px 16px;
	}

	.p-single__header-price__unit {
		font-size: 0.7em;
	}

	.p-single__header-price__amount {
		font-size: 1.5em;
	}
}

/* front page section button: 下余白を上余白と同じ値にする */
.p-fp-section__button { margin-top:0; margin-bottom:50px; }
@media (max-width: 767px) {
	.p-fp-section__button { margin-top:0; margin-bottom:40px; }
}

/* フロント（一覧）投稿のカテゴリを画像の左上に表示（背景は変更しない） */
.p-fp-posts .p-archive--post-item__image .p-archive--post-item__category {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	height: 30px;
	line-height: normal;
	padding: 4px 12px;
	z-index: 2;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: inline-block;
}

/* アーカイブ（/blog/ など）でもカテゴリを左上に表示（背景色は元のまま） */
.p-archive--post-item__image .p-archive--post-item__category {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	height: 30px;
	line-height: normal;
	padding: 4px 12px;
	z-index: 2;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: inline-block;
}

@media (max-width: 767px) {
	.p-fp-posts .p-archive--post-item__image .p-archive--post-item__category {
		padding: 6px 10px;
	}
}

/* 画像右下の価格バッジ */
.p-archive--post-item__image {
	position: relative;
}
.p-archive--post-item__image-price-badge {
	position: absolute;
	right: 8px;
	bottom: 8px;
	background: rgba(91,79,207,0.9);
	color: var(--color-button-text);
	padding: 6px 10px;
	border-radius: 4px;
	font-weight: 700;
	z-index: 3;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

@media (max-width: 767px) {
	.p-archive--post-item__image-price-badge {
		right: 6px;
		bottom: 6px;
		padding: 5px 8px;
		font-size: 0.95em;
	}
}

/* front page post cards */
.p-fp-posts--cards {
	overflow: visible;
}

.p-fp-section__headline-en {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.18em;
	line-height: 1.4;
	text-transform: uppercase;
}

.p-fp-posts--cards .p-fp-posts__list--cards {
	margin: 30px 0 0 -24px !important;
}

.p-fp-posts--cards .p-archive--post-item {
	width: calc(33.333% - 24px);
	margin: 24px 0 0 24px;
}

.p-fp-posts--cards .p-archive--post-item__link {
	display: block;
	height: 100%;
}

.p-fp-posts--cards .p-archive--post-item__content {
	min-height: 180px;
}

@media (max-width: 992px) {
	.p-fp-posts--cards .p-archive--post-item {
		width: calc(50% - 24px);
	}
}

@media (max-width: 767px) {
	.p-fp-section__headline-en {
		margin-bottom: 10px;
		font-size: 12px;
		letter-spacing: 0.14em;
	}

	.p-fp-posts--cards .p-fp-posts__list--cards {
		margin: 20px 0 0 -16px !important;
	}

	.p-fp-posts--cards .p-archive--post-item {
		width: calc(50% - 16px);
		margin: 16px 0 0 16px;
	}

	.p-fp-posts--cards .p-archive--post-item__content {
		min-height: 0;
	}
}

@media (max-width: 599px) {
	.p-fp-posts--cards .p-archive--post-item {
		width: calc(100% - 16px);
	}
}

.p-fp-news-list__items {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

@media (min-width: 768px) {
	.p-fp-news-list__items {
		width: min(800px, 70%);
		margin: 0 auto;
	}
}

.p-fp-news-list__item {
	width: 100%;
	border-bottom: 1px solid var(--color-border);
}

.p-fp-news-list__item:last-child {
	border-bottom: none;
}

.p-fp-news-list__link {
	display: block;
	padding: 24px 0;
	border: none;
	border-radius: 0;
	background: var(--color-card);
	box-shadow: none;
}

.p-fp-news-list__item .p-fp-news-list__title,
.p-fp-news-list__link .p-fp-news-list__title,
.p-fp-news-list__title.c-hover-color {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-primary);
}

.p-fp-news-list__excerpt {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.8;
	color: rgba(27, 34, 48, 0.72);
}

@media (max-width: 767px) {
	.p-fp-news-list__items {
		gap: 12px;
	}

	.p-fp-news-list__link {
		padding: 18px 0;
	}

	.p-fp-news-list__title {
		font-size: 1rem;
	}

	.p-fp-news-list__excerpt {
		margin-top: 10px;
		font-size: 13px;
		line-height: 1.7;
	}
}
