/* Taste inner pages: readable institutional layouts, matching the approved home.
 * Preserve configured page imagery, content, URLs and backend behavior.
 * Geometry: 1200px shell, 4px corners, 24px gutters. No decorative motion.
 */
body:not(.home) {
	background-color: #f5f7fb;
	background-image: var(--inner-page-background-image, url("../images/home-main-bg.jpg"));
}
.inner-page-banner {
	height: auto;
	aspect-ratio: 1200 / 220;
	background-color: #e8edf5;
	background-position: center;
}
.site-main.inner-section-layout,
.site-main.article-page-layout,
.site-main.content-list {
	padding-top: 28px;
	padding-bottom: 48px;
}
.inner-section-layout { grid-template-columns: 240px minmax(0,1fr); gap: 24px; }
.inner-section-layout--full-width { display: block; }
.article-page-layout { grid-template-columns: minmax(0,1fr) 292px; gap: 24px; }
.section-sidebar,
.inner-section-content,
.article-page-main,
.school-honors {
	min-width: 0;
	border: 1px solid #e6ebf2;
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
}
.section-sidebar { min-height: 0; padding: 24px 16px 18px; }
.section-sidebar h2 { margin: 0 8px 14px; color: var(--brand); font-size: 24px; line-height: 1.4; }
.section-sidebar__rule,
.school-honors__rule {
	width: 36px;
	height: 2px;
	margin: 0 8px 20px;
	border: 0;
	background: var(--gold);
	box-shadow: none;
}
.section-sidebar__nav { display: grid; gap: 4px; border: 0; }
.section-sidebar__nav a {
	min-height: 48px;
	grid-template-columns: minmax(0,1fr) 18px;
	gap: 12px;
	padding: 12px 14px;
	border: 0;
	border-left: 3px solid transparent;
	border-radius: 2px;
	background: transparent;
	color: #465572;
	font-size: 15px;
}
.section-sidebar__nav a > .dashicons { grid-column: 2; grid-row: 1; color: #70809b; }
.section-sidebar__nav a > span:last-child { grid-column: 1; grid-row: 1; }
.section-sidebar__nav a:hover,
.section-sidebar__nav a:focus-visible { background: #f3f6fb; color: var(--brand); }
.section-sidebar__nav a.is-active { border-left-color: var(--brand); background: #edf2fc; color: var(--brand-dark); font-weight: 700; }
.inner-section-content { padding: 24px 28px 30px; }
.inner-section-content--full-width { padding: 24px 28px 30px; }
.breadcrumbs--inner {
	align-items: center;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0 0 16px;
	border-bottom: 1px solid #e7ecf3;
	color: #61718a;
	font-size: 13px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}
.breadcrumbs--inner a:hover { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs--inner [aria-current="page"] { color: #3e4d67; }
.inner-list-title,
.content-list .page-heading {
	position: relative;
	min-height: 0;
	margin: 0 0 14px;
	padding: 0 0 18px;
	border: 0;
	background: none;
	color: var(--brand);
}
.inner-list-title::after,
.content-list .page-heading::after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 36px;
	height: 2px;
	background: var(--gold);
	content: "";
}
.inner-list-title h1,
.content-list .page-heading h1 { margin: 0; padding: 0; border: 0; font-size: 27px; line-height: 1.4; overflow-wrap: anywhere; }

/* Lists retain bounded excerpts; dates remain quiet, scannable metadata. */
.site-main .article-list { gap: 0; border: 0; }
.site-main .article-list .article-card {
	align-items: center;
	gap: 22px;
	padding: 24px 0;
	border: 0;
	border-bottom: 1px solid #e7ecf3;
	border-radius: 0;
	background: transparent;
}
.site-main .article-list .article-card:last-child { border-bottom: 0; }
.article-card__image { flex-basis: 150px; }
.article-card__image img { width: 150px; height: 100px; object-fit: cover; border-radius: 4px; }
.article-card__body { min-width: 0; gap: 22px; align-items: flex-start; }
.article-card__copy { min-width: 0; flex: 1; }
.article-card__date { min-width: 58px; padding-top: 3px; color: var(--brand); font-variant-numeric: tabular-nums; }
.article-card__date strong { font-size: 28px; font-weight: 600; line-height: 1.1; }
.article-card__date span { margin-top: 6px; color: #63728b; font-size: 11px; }
.article-card h2 { font-size: 18px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.article-card h2 a:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 4px; }
.site-main .article-list .article-card p {
	display: -webkit-box;
	margin: 7px 0 0;
	overflow: hidden;
	color: #63718a;
	font-size: 14px;
	line-height: 1.8;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow-wrap: anywhere;
}
.site-main .pagination { margin-top: 28px; }
.site-main .nav-links { flex-wrap: wrap; gap: 8px; }
.site-main .page-numbers { display: inline-flex; min-width: 38px; min-height: 38px; align-items: center; justify-content: center; border: 1px solid #dce3ee; border-radius: 4px; color: #44536e; font-size: 14px; }
.site-main .page-numbers.current { border-color: var(--brand); background: var(--brand); color: #fff; }
.site-main a.page-numbers:hover { border-color: var(--brand); background: #edf2fc; color: var(--brand); }
.site-main .page-numbers.dots { border-color: transparent; }

/* Structured program directory, using real featured images when supplied. */
.profession-groups { gap: 28px; margin-top: 24px; }
.profession-group { overflow: hidden; border: 1px solid #e1e7f0; border-radius: 4px; }
.profession-group__header { gap: 16px; padding: 16px 20px; background: #f0f4fb; color: var(--brand); }
.profession-group__header h2 { font-size: 20px; line-height: 1.4; }
.profession-group__header a { flex: none; color: #506588; font-size: 13px; font-weight: 500; }
.profession-group__header a:hover { color: var(--brand-dark); text-decoration: underline; }
.profession-group__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; margin: 0; padding: 4px 20px 12px; list-style: none; }
.profession-group__list li { min-width: 0; padding: 0; border-bottom: 1px solid #edf0f5; }
.profession-group__list li > a { display: flow-root; padding: 18px 0; min-height: 68px; }
.profession-group__thumbnail { float: left; width: 76px; height: 60px; margin: 0 14px 0 0; object-fit: cover; border-radius: 3px; }
.profession-group__list strong { color: #32435f; font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.profession-group__list span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; color: #63718a; line-height: 1.7; }
.profession-group .empty-state { margin: 16px 20px; }

/* Static pages keep the editor's headings; do not restore the removed title bar. */
.page-detail__content { min-height: 240px; padding: 8px 16px 24px; border: 0; color: #344157; font-size: 17px; line-height: 1.95; overflow-wrap: anywhere; }
.page-detail__content h2,
.article-detail__content h2 { margin-top: 1.6em; margin-bottom: .7em; color: var(--brand); font-size: 24px; line-height: 1.5; }
.page-detail__content h3,
.article-detail__content h3 { color: #344563; font-size: 20px; line-height: 1.5; }
.entry-content blockquote { margin: 24px 0; padding: 16px 22px; border-left: 3px solid var(--brand); background: #f2f5fb; color: #465672; }
.page-detail__content table,
.article-detail__content table { width: 100%; border-collapse: collapse; }
.entry-content .wp-block-table { overflow-x: auto; }
.page-detail__content th,
.page-detail__content td,
.article-detail__content th,
.article-detail__content td { padding: 10px 12px; border: 1px solid #dce3ee; text-align: left; }
.page-detail__content th,
.article-detail__content th { background: #f0f4fa; color: var(--brand); }
.entry-content .wp-block-file { padding: 16px; border: 1px solid #e0e7f1; border-radius: 4px; background: #f7f9fc; }
.entry-content .wp-block-file__button { border-radius: 4px; background: var(--brand); color: #fff; }

.article-page-main { padding: 24px 30px 30px; }
.article-page-main .article-detail__header { margin: 0 0 28px; padding: 8px 0 24px; border-color: #e7ecf3; text-align: left; }
.article-page-main .article-detail__header h1 { margin: 0 0 16px; color: #273956; font-size: clamp(24px,2.4vw,30px); font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.article-page-main .article-meta { justify-content: flex-start; gap: 6px 18px; color: #63728b; font-size: 12px; }
.article-page-main .article-detail__cover,
.article-page-main .article-detail__content,
.article-page-main .post-navigation { margin-right: 0; margin-left: 0; }
.article-page-main .article-detail__cover img { width: auto; max-width: 100%; max-height: 520px; margin: 0 auto; object-fit: contain; border-radius: 4px; }
.article-page-main .article-detail__content { color: #344157; font-size: 17px; line-height: 1.95; overflow-wrap: anywhere; }
.article-page-main .post-navigation { gap: 24px; margin-top: 36px; padding-top: 20px; border-color: #e4eaf2; color: #687790; font-size: 13px; }
.post-navigation > div { min-width: 0; }
.post-navigation a { display: inline-block; margin-top: 6px; color: #35496e; font-size: 14px; overflow-wrap: anywhere; }
.post-navigation a:hover { text-decoration: underline; text-underline-offset: 3px; }

.school-honors { padding: 24px 20px; }
.school-honors h2 { margin: 0 0 14px; font-size: 23px; line-height: 1.4; }
.school-honors__rule { margin-left: 0; margin-bottom: 22px; }
.school-honors__intro { margin: 0 0 20px; color: #53617a; font-size: 14px; line-height: 1.9; text-align: left; }
.school-honors__list { gap: 12px; }
.school-honors__item { padding: 12px 14px; border-radius: 3px; border-left: 3px solid var(--honor-accent,var(--brand)); background: #f3f6fb; color: #394d70; font-size: 13px; font-weight: 500; line-height: 1.8; }
.school-honors__item--red { --honor-accent: #b44c59; }
.school-honors__item--blue { --honor-accent: #47799c; }
.school-honors__item--green { --honor-accent: #4f7b62; }
.school-honors__item--orange { --honor-accent: #b88636; }

/* Query styling does not change field names, POST handling or disclosure rules. */
.query-page-heading { display: flex; align-items: flex-start; gap: 18px; width: min(680px,100%); margin: 28px auto 0; }
.query-page-heading > .dashicons { flex: 0 0 48px; width: 48px; height: 48px; padding: 10px; border-radius: 4px; background: #edf2fc; color: var(--brand); font-size: 28px; }
.query-page-heading h1 { margin: 0 0 8px; color: var(--brand); font-size: 28px; line-height: 1.4; }
.query-page-heading p { margin: 0; color: #5c6d87; font-size: 14px; line-height: 1.8; }
.page-detail--query .page-detail__content { padding: 26px 0 16px; }
.yhj-admission-query { width: min(680px,100%); margin: 0 auto; }
.yhj-admission-query p { text-indent: 0; }
.yhj-admission-query .admission-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 24px; max-width: none; padding: 28px; border: 1px solid #e0e7f1; border-radius: 4px; background: #f8fafd; }
.yhj-admission-query .admission-form__field { min-width: 0; margin: 0; }
.yhj-admission-query .admission-form label { margin-bottom: 8px; color: #35445f; font-size: 14px; font-weight: 600; }
.yhj-admission-query .admission-form input,
.yhj-admission-query .admission-form select { min-height: 46px; border: 1px solid #becbdd; border-radius: 4px; background: #fff; color: #263754; font-size: 16px; }
.yhj-admission-query .admission-form input:focus-visible,
.yhj-admission-query .admission-form select:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-color: var(--brand); }
.yhj-admission-query .admission-form > .button { grid-column: 1 / -1; justify-self: start; margin-top: 2px; padding: 12px 28px; min-height: 46px; border-radius: 4px; background: var(--brand); color: #fff; font-size: 15px; font-weight: 600; line-height: 1.5; }
.yhj-admission-query .admission-form > .button:hover { background: var(--brand-dark); }
.yhj-admission-query .form-message { padding: 14px 18px; border-radius: 4px; border: 1px solid #d7e0ed; background: #edf2fa; color: #3b5278; font-size: 14px; }
.yhj-admission-query .form-message--error { border-color: #edc5cb; background: #fff4f5; color: #943b49; }
.yhj-admission-query .result-card { padding: 24px 28px; border-radius: 4px; border-left-width: 3px; background: #eef3fb; }
.yhj-admission-query .result-card h2 { margin: 0 0 20px; font-size: 22px; color: var(--brand); }
.yhj-admission-query .result-card dl { grid-template-columns: 100px minmax(0,1fr); gap: 12px 24px; margin: 0; font-size: 15px; line-height: 1.7; }
.yhj-admission-query .result-card dt { color: #5b6c86; }
.yhj-admission-query .result-card dd { color: #304366; overflow-wrap: anywhere; }

.site-main.content-list { margin-top: 28px; margin-bottom: 40px; padding: 28px 32px; border: 1px solid #e6ebf2; border-radius: 4px; background: #fff; }
.content-list__search { padding: 14px 0; }
.content-list__search .site-search { width: min(480px,100%); }
.content-list__search .site-search input,
.error-page .site-search input { padding: 11px 14px; height: auto; font-size: 16px; }
.content-list__search .site-search button,
.error-page .site-search button { width: 46px; height: auto; }
.site-main .empty-state { padding: 24px; border: 1px solid #e4eaf2; border-radius: 4px; background: #f6f8fc; color: #5b6b83; font-size: 15px; }
.site-main.error-page { margin-top: 28px; margin-bottom: 48px; padding: 48px 24px; border: 1px solid #e6ebf2; border-radius: 4px; background: #fff; }
.error-page .eyebrow { color: var(--brand); letter-spacing: 0; font-size: 64px; }
.error-page h1 { color: #293b59; font-size: 28px; }
.error-page > p:not(.eyebrow) { color: #61718a; }
.error-page > .button { border-radius: 4px; }
.site-main a:focus-visible,
.site-main button:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }

@media (max-width: 1000px) {
	.inner-section-layout { grid-template-columns: 210px minmax(0,1fr); gap: 20px; }
	.article-page-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 20px; }
	.inner-section-content,
	.inner-section-content--full-width,
	.article-page-main { padding: 22px; }
	.article-card__image { flex-basis: 110px; }
	.article-card__image img { width: 110px; height: 84px; }
	.article-card__body { gap: 14px; }
	.profession-group__list { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
	.inner-section-layout,
	.article-page-layout { grid-template-columns: 1fr; }
	.section-sidebar { padding: 18px; }
	.section-sidebar h2 { margin: 0 0 16px; font-size: 22px; }
	.section-sidebar__rule { display: none; }
	.section-sidebar__nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
	.section-sidebar__nav a { background: #f5f7fb; }
	.school-honors { margin-top: 0; }
	.profession-group__list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
	.inner-page-banner { width: calc(100% - 28px); height: auto; aspect-ratio: 1200 / 280; }
	.site-main.inner-section-layout,
	.site-main.article-page-layout { gap: 16px; padding-top: 18px; padding-bottom: 28px; }
	.inner-section-content,
	.inner-section-content--full-width,
	.article-page-main { padding: 20px 16px; }
	.breadcrumbs--inner { margin-bottom: 20px; font-size: 12px; }
	.inner-list-title h1,
	.content-list .page-heading h1 { font-size: 23px; }
	.site-main .article-list .article-card { display: flex; flex-direction: column; align-items: stretch; padding: 20px 0; gap: 14px; }
	.article-card__image { flex: none; margin: 0; }
	.article-card__image img { width: 100%; height: 160px; }
	.article-card__date { min-width: 44px; }
	.article-card__date strong { font-size: 24px; }
	.article-card__date span { font-size: 10px; }
	.article-card h2 { font-size: 16px; }
	.site-main .article-list .article-card p { font-size: 13px; }
	.profession-group__list { grid-template-columns: 1fr; padding-inline: 16px; }
	.profession-group__header { padding: 14px 16px; }
	.profession-group__header h2 { font-size: 18px; }
	.page-detail__content { padding: 0 0 16px; font-size: 16px; }
	.article-page-main .article-detail__header h1 { font-size: 23px; }
	.article-page-main .article-detail__content { font-size: 16px; }
	.article-page-main .post-navigation { grid-template-columns: 1fr; gap: 20px; }
	.article-page-main .post-navigation > div:last-child { text-align: left; }
	.query-page-heading { gap: 12px; margin-top: 20px; }
	.query-page-heading h1 { font-size: 24px; }
	.yhj-admission-query .admission-form { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
	.yhj-admission-query .admission-form > .button { width: 100%; justify-content: center; }
	.yhj-admission-query .result-card { padding: 20px 16px; }
	.yhj-admission-query .result-card dl { grid-template-columns: 80px minmax(0,1fr); gap: 12px; font-size: 14px; }
	.yhj-admission-query .result-card dd { margin-bottom: 0; }
	.site-main.content-list { padding: 20px 16px; margin-top: 18px; }
	.site-main.error-page { margin-top: 18px; padding: 32px 18px; }
}
