/*
Theme Name: Hsu Lab
Theme URI: https://hsu.biol.vt.edu/
Author: Hsu Lab
Description: Minimal block theme for the Hsu Lab at Virginia Tech. Warm off-white paper, near-black type, one clay accent. Inter for text, IBM Plex Mono for labels and references.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hsulab
*/

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; font-feature-settings: "ss01", "cv11"; }
::selection { background: #EAD9CF; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
img { height: auto; }

/* Mono label: small uppercase tag above headings, years, etc. */
.hl-label {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.5rem !important;
}
.hl-label .hl-num { color: var(--wp--preset--color--accent); }

.hl-lede { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--wp--preset--color--ink); max-width: 36em; }
.hl-muted { color: var(--wp--preset--color--muted); }
.hl-mono { font-family: var(--wp--preset--font-family--mono); font-size: 0.85em; }

/* Definition box ("bacteriophage") */
.hl-definition {
	border-left: 2px solid var(--wp--preset--color--accent);
	padding: 0.25rem 0 0.25rem 1rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	max-width: 40em;
}
.hl-definition strong { color: var(--wp--preset--color--ink); font-weight: 600; }

/* Hairline-topped section */
.hl-rule { border-top: 1px solid var(--wp--preset--color--hairline); }

/* ---------- Header ---------- */
.hl-header { border-bottom: 1px solid var(--wp--preset--color--hairline); background: var(--wp--preset--color--paper); }
.hl-wordmark { font-weight: 620; letter-spacing: -0.01em; font-size: 1.125rem; margin: 0; }
.hl-wordmark a { text-decoration: none; color: var(--wp--preset--color--ink); }
.hl-affil { margin: 0 !important; }
.hl-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--muted); }
.hl-header .wp-block-navigation a:hover,
.hl-header .wp-block-navigation .current-menu-item > a,
.hl-header .wp-block-navigation a[aria-current="page"] { color: var(--wp--preset--color--ink); }
.hl-header .wp-block-navigation a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent); text-underline-offset: 0.45em; text-decoration-thickness: 2px; }

/* ---------- Research areas ---------- */
.hl-area { border-top: 1px solid var(--wp--preset--color--hairline); }
.hl-area .wp-block-image img { border: 1px solid var(--wp--preset--color--hairline); background: #fff; }
.hl-projects { font-size: var(--wp--preset--font-size--small); padding-left: 1.1rem; }
.hl-projects li { margin-bottom: 0.4rem; }
.hl-projects li::marker { color: var(--wp--preset--color--accent); }
.hl-who { font-family: var(--wp--preset--font-family--mono); font-size: 0.78rem; color: var(--wp--preset--color--muted); white-space: nowrap; }

/* ---------- Publications ---------- */
.hl-pubyear { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 500; color: var(--wp--preset--color--accent); border-bottom: 1px solid var(--wp--preset--color--hairline); padding-bottom: 0.4rem; margin-top: 2.5rem !important; }
.hl-pub { margin-top: 1.1rem !important; font-size: var(--wp--preset--font-size--small); line-height: 1.55; color: var(--wp--preset--color--muted); }
.hl-pub .hl-pubtitle { display: block; font-size: 1rem; font-weight: 560; color: var(--wp--preset--color--ink); margin-bottom: 0.15rem; }
.hl-pub .hl-pubtitle a { text-decoration: none; color: inherit; }
.hl-pub .hl-pubtitle a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
.hl-pub strong { color: var(--wp--preset--color--ink); font-weight: 600; }
.hl-pub em { color: var(--wp--preset--color--ink); }
.hl-pub .hl-doi { font-family: var(--wp--preset--font-family--mono); font-size: 0.78rem; }
.hl-pub .hl-doi a { color: var(--wp--preset--color--muted); }
.hl-pub .hl-doi a:hover { color: var(--wp--preset--color--accent); }

/* ---------- People ---------- */
.hl-people .wp-block-image img,
.hl-pi .wp-block-image img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; filter: saturate(0.92); }
.hl-person-name { font-weight: 600; margin: 0.75rem 0 0 !important; font-size: 1rem; }
.hl-person-role { margin: 0.1rem 0 0 !important; }
.hl-person-cred { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); list-style: none; padding: 0; margin-top: 0.4rem !important; line-height: 1.5; }
.hl-namelist { list-style: none; padding: 0; columns: 3 14rem; column-gap: 2rem; font-size: var(--wp--preset--font-size--small); }
.hl-namelist li { break-inside: avoid; padding: 0.35rem 0; border-bottom: 1px solid var(--wp--preset--color--hairline); }
.hl-namelist .hl-mono { color: var(--wp--preset--color--muted); }

/* ---------- Footer ---------- */
.hl-footer { border-top: 1px solid var(--wp--preset--color--hairline); background: var(--wp--preset--color--surface); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.hl-footer a { color: var(--wp--preset--color--muted); }
.hl-footer a:hover { color: var(--wp--preset--color--ink); }
.hl-footer .hl-vt-links { font-size: var(--wp--preset--font-size--xs); }
.hl-footer .hl-vt-links a { margin-right: 1rem; display: inline-block; }
.hl-vt-logo img { max-width: 180px; }

/* ---------- Password form (Lab Links) ---------- */
.post-password-form { max-width: 28rem; margin-left: 0 !important; font-size: var(--wp--preset--font-size--small); }
.post-password-form label { display: block; margin-bottom: 0.4rem; font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--wp--preset--color--muted); }
.post-password-form input[type="password"] { border: 1px solid var(--wp--preset--color--hairline); padding: 0.55rem 0.7rem; font: inherit; background: #fff; margin-right: 0.5rem; }
.post-password-form input[type="submit"] { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); border: 0; padding: 0.6rem 1.1rem; font: inherit; font-weight: 500; cursor: pointer; }

/* ---------- Tables ---------- */
.wp-block-table table { font-size: var(--wp--preset--font-size--small); border-collapse: collapse; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--hairline); padding: 0.45rem 1rem 0.45rem 0; text-align: left; }
.wp-block-table thead { border-bottom: 1px solid var(--wp--preset--color--ink); }
.wp-block-table th { font-family: var(--wp--preset--font-family--mono); font-weight: 500; font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: 0.06em; }

@media (max-width: 781px) {
	.hl-header .hl-affil { display: none; }
}

/* Footer links: quieter by default */
.hl-footer a { text-decoration: none; }
.hl-footer a:hover { text-decoration: underline; }
.hl-footer .hl-vt-links a { text-decoration: none; }
.hl-footer .hl-vt-links a:hover { text-decoration: underline; }


/* ---------- Home page ---------- */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--hairline);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
	background: transparent;
}
.wp-block-buttons { gap: 0.6rem; }

/* Three research cards */
.hl-cards .wp-block-column { border-top: 1px solid var(--wp--preset--color--ink); padding-top: 1rem; }
.hl-cards h3 { margin-bottom: 0.5rem !important; }
.hl-cards h3 a { text-decoration: none; color: var(--wp--preset--color--ink); }
.hl-cards h3 a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
.hl-cards .hl-muted { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* Recent-work entries carry a plain-language line instead of an author list */
.hl-recent { color: var(--wp--preset--color--ink); }
.hl-recent .hl-pubtitle { margin-bottom: 0.35rem; }

/* Placeholder images: mark them so they are hard to forget */
img[src*="placeholder-"] { outline: 2px dashed var(--wp--preset--color--accent); outline-offset: -2px; }
