/*
Theme Name: ASTAGE College Child
Theme URI: https://astage-college.jp/
Template: twentytwentyfive
Author: ASTAGE College
Description: ASTAGE College renewal child theme based on Twenty Twenty-Five.
Version: 0.1.0
Text Domain: astage-college-child
*/

/*
 * WordPress block rhythm.
 * Keep generic block spacing here so page-specific assets only handle layout.
 */

.astage-subpage-content {
  font-weight: 400;
}

.astage-subpage-content > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.astage-subpage-content > * + * {
  margin-block-start: 1.2em;
}

.astage-subpage-content h2,
.astage-subpage-content h3 {
  margin-block-start: 2.1em;
  margin-block-end: 0;
}

.astage-subpage-content h2 + p,
.astage-subpage-content h3 + p,
.astage-subpage-content h2 + ul,
.astage-subpage-content h3 + ul {
  margin-block-start: 1.05em;
}

.astage-subpage-content p,
.astage-subpage-content li {
  margin-block-start: 0;
  margin-block-end: 0;
  font-weight: 400;
}

.astage-subpage-content > p:first-of-type {
  font-weight: 500;
}

.astage-subpage-content strong,
.astage-subpage-content b {
  font-weight: 700;
}

.activity .blog-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.astage-site-chrome .menu-item-has-children {
  position: relative;
}

.astage-site-chrome .menu-item-has-children::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
}

.astage-site-chrome .sub-menu {
  top: calc(100% + 8px);
  margin-top: 0;
  z-index: 9999;
  pointer-events: auto;
}

/* プログラム紹介ブログ一覧のアイキャッチを正方形にする */
body.post-type-archive-program-blog .wp-block-post-featured-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

body.post-type-archive-program-blog .wp-block-post-featured-image {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

body.post-type-archive-program-blog .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
}

.feature-message-actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 20px;
}

.feature-message-actions .feature-message-button {
	flex: 0 0 auto;
	width: auto;
	margin: 28px 0 0 !important;
}

/* 代表ブログ：記事下プロフィール */
.astage-representative-profile {
	margin-top: clamp(56px, 8vw, 84px);
	padding: clamp(24px, 4vw, 36px);
	border: 1px solid rgba(255, 92, 0, 0.2);
	border-radius: 8px;
	background: #fffaf6;
}

.astage-profile-label {
	margin: 0 0 20px;
	color: var(--orange-deep);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.astage-profile-inner {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: clamp(22px, 4vw, 34px);
	align-items: start;
}

.astage-profile-image {
	display: block;
	width: 150px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center top;
	border-radius: 8px;
}

.astage-profile-role {
	margin: 0;
	color: var(--orange-deep);
	font-size: 0.84rem;
	font-weight: 900;
}

.astage-profile-name {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 1.55rem !important;
}

.astage-profile-titles {
	margin: 10px 0 0;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.7;
}

.astage-profile-description {
	margin: 16px 0 0;
	font-size: 0.92rem;
	line-height: 1.85;
}

.astage-subpage-content .astage-profile-link {
	display: inline-flex;
	margin-top: 18px;
	color: var(--orange-deep);
	font-size: 0.88rem;
	font-weight: 900;
	text-decoration: none;
}

.astage-profile-link::after {
	content: " →";
	margin-left: 6px;
}

@media (max-width: 600px) {
	.astage-profile-inner {
		grid-template-columns: 100px minmax(0, 1fr);
		gap: 18px;
	}

	.astage-profile-image {
		width: 100px;
	}
}