/* IMSIS page content: text, people, documents, logos, galleries. */

.imsis-content,
.elementor-widget-theme-post-content,
.single .entry-content,
.page .page-content {
	--imsis-gap: 24px;
}

.elementor-widget-theme-post-content > .elementor-widget-container > * + *,
.page-content > * + * { margin-top: 0; }

/* Rhythm */
.elementor-widget-theme-post-content p,
.page-content p { margin: 0 0 1em; }
.elementor-widget-theme-post-content h2,
.page-content h2 { margin: 56px 0 16px; font-size: 32px; }
.elementor-widget-theme-post-content h3,
.page-content h3 { margin: 36px 0 12px; font-size: 22px; }
.elementor-widget-theme-post-content h4,
.page-content h4 { margin: 28px 0 8px; font-size: 19px; }
.elementor-widget-theme-post-content > .elementor-widget-container > h2:first-child,
.elementor-widget-theme-post-content > .elementor-widget-container > .wp-block-group:first-child h2:first-child { margin-top: 0; }
@media (max-width: 767px) {
	.elementor-widget-theme-post-content h2, .page-content h2 { font-size: 26px; margin-top: 44px; }
}

.elementor-widget-theme-post-content ul.wp-block-list,
.elementor-widget-theme-post-content ol.wp-block-list,
.page-content ul.wp-block-list,
.page-content ol.wp-block-list { margin: 0 0 1.2em; padding-left: 1.4em; }
.wp-block-list li { margin: 0 0 6px; }
.wp-block-list li::marker { color: var(--imsis-steel); }

.imsis-lead {
	font-size: 21px;
	line-height: 1.55;
	color: var(--imsis-navy);
	margin-bottom: 28px !important;
}

.imsis-note {
	margin: 24px 0;
	padding: 18px 22px;
	border-left: 0;
	border-radius: var(--imsis-radius);
	background: var(--imsis-tint);
	color: var(--imsis-navy);
}
.imsis-note p:last-child { margin-bottom: 0; }

/* Images */
.wp-block-image { margin: 24px 0; }
.wp-block-image img { max-width: 100%; height: auto; border-radius: var(--imsis-radius); }
.wp-block-image figcaption { margin-top: 8px; font-size: 15px; color: var(--imsis-body); }

/* Buttons (block editor) in brand style */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 28px; }
.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 24px;
	border: 2px solid var(--imsis-steel);
	border-radius: var(--imsis-radius);
	background: var(--imsis-steel);
	color: #ffffff;
	font-family: var(--imsis-font-body);
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus { background: var(--imsis-steel-hover); border-color: var(--imsis-steel-hover); color: #ffffff; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--imsis-steel); }
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus { background: var(--imsis-tint); color: var(--imsis-steel-hover); }

/* Tables */
.wp-block-table { margin: 24px 0; overflow-x: auto; }
.wp-block-table table { width: 100%; border-collapse: collapse; font-size: 16px; }
.wp-block-table th,
.wp-block-table td { padding: 10px 14px; border: 0; border-bottom: 1px solid var(--imsis-border); text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--imsis-tint); color: var(--imsis-navy); font-family: var(--imsis-font-heading); font-weight: 700; border-bottom: 2px solid var(--imsis-border); }
.wp-block-table tbody tr:nth-child(even) td { background: #fbfdfd; }

/* People */
.imsis-people { margin: 24px 0 32px; }
.imsis-people--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 28px 24px;
}
.imsis-people--list { display: flex; flex-direction: column; gap: 0; }
.imsis-person { margin: 0; }
.imsis-people--list .imsis-person {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 28px;
	padding: 28px 0;
	border-top: 1px solid var(--imsis-border);
}
.imsis-people--list .imsis-person:first-child { border-top: 0; padding-top: 4px; }
.imsis-person .imsis-person__photo { margin: 0; }
.imsis-person__photo img,
.imsis-person__photo--empty {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center 25%;
	border-radius: var(--imsis-radius-lg);
	background: var(--imsis-tint);
}
.imsis-people--grid .imsis-person__text { padding-top: 12px; }
.imsis-person__text > *:last-child { margin-bottom: 0; }
.imsis-person .imsis-person__role {
	margin: 0 0 2px !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--imsis-teal-text);
}
.imsis-person h3.imsis-person__name { margin: 0 0 4px !important; font-size: 21px; line-height: 1.3; }
.imsis-people--grid h3.imsis-person__name { font-size: 18px; }
.imsis-person .imsis-person__place { margin: 0 0 12px !important; font-size: 16px; color: var(--imsis-body); }
.imsis-people--grid .imsis-person__place { font-size: 15px; }
.imsis-person__text p { font-size: 17px; }
.imsis-person .imsis-person__credit { font-size: 13px !important; color: #5b6b7d; }
.imsis-person__link {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--imsis-tag);
	color: var(--imsis-navy);
	font-family: var(--imsis-font-body);
	font-size: 12px;
	font-weight: 700;
	vertical-align: 3px;
	text-decoration: none;
}
.imsis-person__link:hover, .imsis-person__link:focus { background: var(--imsis-turquoise); color: var(--imsis-navy); }
@media (max-width: 600px) {
	.imsis-people--list .imsis-person { grid-template-columns: 96px minmax(0, 1fr); gap: 18px; }
	.imsis-people--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
}

/* Documents */
ul.imsis-docs { list-style: none; margin: 20px 0 28px !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
ul.imsis-docs li { margin: 0; padding: 14px 16px; border: 1px solid var(--imsis-border); border-radius: var(--imsis-radius); background: #ffffff; }
ul.imsis-docs li::marker { content: none; }
.imsis-doc { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; text-decoration: none; }
.imsis-doc__type {
	flex: none;
	min-width: 42px;
	padding: 3px 6px;
	border-radius: 6px;
	background: var(--imsis-navy);
	color: #ffffff;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-align: center;
}
.imsis-doc:hover .imsis-doc__label, .imsis-doc:focus .imsis-doc__label { text-decoration: underline; }
.imsis-doc__note { display: block; margin: 6px 0 0 54px; font-size: 15px; color: var(--imsis-body); }

/* Sponsor logos */
.imsis-logos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 16px;
	margin: 12px 0 28px;
}
.imsis-logos .wp-block-image {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 104px;
	padding: 14px;
	border: 1px solid var(--imsis-border);
	border-radius: var(--imsis-radius);
	background: #ffffff;
}
.imsis-logos .wp-block-image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.imsis-logos .wp-block-image img { max-height: 72px; width: auto; max-width: 100%; object-fit: contain; border-radius: 0; }

/* Galleries */
.wp-block-gallery { margin: 24px 0 32px; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: var(--imsis-radius); }
@media (max-width: 480px) {
	.imsis-people--list .imsis-person { grid-template-columns: 1fr; gap: 14px; }
	.imsis-people--list .imsis-person__photo { width: 120px; }
}
.wp-block-list li > p { margin: 0 !important; }

/* ---------- Banner + News (theme templates) ---------- */
.imsis-banner { background: var(--imsis-navy); color: #fff; }
.imsis-banner__inner { max-width: 1200px; margin: 0 auto; padding: 64px 24px 88px; }
.imsis-banner h1 { margin: 0; color: #fff; font-size: 48px; line-height: 1.15; }
.imsis-banner__eyebrow { margin: 0 0 10px; color: var(--imsis-turquoise); font-weight: 700; font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase; }
@media (max-width: 767px) {
	.imsis-banner__inner { padding: 48px 20px 64px; }
	.imsis-banner h1 { font-size: 34px; }
}
main.imsis-news, main.imsis-article { max-width: none; margin: 0; padding: 0; }
.imsis-news__body { max-width: 1200px; margin: 0 auto; padding: 64px 24px 96px; }
.imsis-news__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.imsis-news-card { display: flex; flex-direction: column; gap: 10px; padding: 28px; }
.imsis-news-card__date { font-family: var(--imsis-font-heading); font-weight: 700; font-size: 15px; color: var(--imsis-steel); }
.imsis-news-card__title { margin: 0; font-size: 22px; line-height: 1.3; }
.imsis-news-card__title a { color: var(--imsis-navy); text-decoration: none; }
.imsis-news-card__title a:hover, .imsis-news-card__title a:focus { color: var(--imsis-steel); }
.imsis-news-card__excerpt { margin: 0; font-size: 17px; }
.imsis-news-card__more { margin-top: auto; font-weight: 700; font-size: 16px; text-decoration: none; }
.imsis-news .nav-links { display: flex; gap: 12px; margin-top: 40px; font-weight: 700; }
.imsis-news .nav-links .page-numbers { padding: 6px 12px; border: 1px solid var(--imsis-border); border-radius: 8px; text-decoration: none; }
.imsis-news .nav-links .current { background: var(--imsis-navy); color: #fff; border-color: var(--imsis-navy); }
.imsis-article__body { max-width: 860px; margin: 0 auto; padding: 64px 24px 96px; }
.imsis-article__back { margin-top: 40px !important; font-weight: 700; }
@media (max-width: 767px) { .imsis-news__body, .imsis-article__body { padding: 48px 20px 64px; } .imsis-news__grid { grid-template-columns: 1fr; } }
