/*
Theme Name: Xeontech Docs
Theme URI: https://xeontech.org
Description: Child theme of Twenty Twenty-Five for Xeontech Docs, a personal IT knowledge base.
Template: twentytwentyfive
Version: 1.0.3
Requires at least: 6.7
Text Domain: xeontech-docs
*/

/* ---- Header / footer -------------------------------------------------- */
.xt-header {
	background: var(--wp--preset--color--accent-4);
	border-bottom: 1px solid var(--wp--preset--color--accent-5);
}
.xt-brand a::before {
	content: "~/";
	font-family: var(--wp--preset--font-family--fira-code);
	color: var(--wp--preset--color--accent-1);
	font-weight: 500;
	margin-right: 0.1em;
}
.xt-header .wp-block-navigation-item__content:hover,
.xt-header .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-1);
}
.xt-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--accent-5) !important;
	border-radius: 6px;
	padding: 0.35rem 0;
	box-shadow: 0 8px 24px rgba(23, 38, 48, 0.08);
}
.xt-footer {
	background: var(--wp--preset--color--contrast);
	color: #C9D5DA;
	font-size: 0.95rem;
}
.xt-footer a { color: #E9F0F2; }
.xt-footer .xt-brand a { color: #FFFFFF; }
.xt-footer .xt-brand a::before { color: var(--wp--preset--color--accent-2); }
.xt-footer .xt-fineprint { color: #8FA3AB; font-size: 0.85rem; }

/* ---- Home: hero -------------------------------------------------------- */
.xt-hero {
	background: var(--wp--preset--color--accent-4);
	border-bottom: 1px solid var(--wp--preset--color--accent-5);
}
.xt-hero-title {
	font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.25rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -0.03em !important;
	font-weight: 700 !important;
	max-width: 12ch;
}
.xt-lede {
	font-size: 1.2rem;
	color: var(--wp--preset--color--accent-3);
	max-width: 38ch;
}

/* The terminal panel: the one loud element on the page. */
.xt-terminal {
	background: var(--wp--preset--color--accent-6);
	color: #DCE6EA;
	font-family: var(--wp--preset--font-family--fira-code);
	font-size: 0.95rem;
	line-height: 1.7;
	border-radius: 8px;
	padding: 2.6rem 1.6rem 1.6rem !important;
	position: relative;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 24px 48px -24px rgba(19, 34, 43, 0.55);
}
.xt-terminal::before {
	content: "karnail@xeontech: ~";
	position: absolute;
	top: 0; left: 0; right: 0;
	padding: 0.45rem 1.6rem;
	font-size: 0.78rem;
	color: #7F959E;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.xt-terminal > * { margin-block: 0 !important; }
.xt-terminal > * + .xt-prompt { margin-top: 0.9rem !important; }
.xt-terminal .xt-prompt { color: #FFFFFF; }
.xt-terminal .xt-prompt::before {
	content: "$ ";
	color: var(--wp--preset--color--accent-2);
}
.xt-terminal a {
	color: #7FD6CB;
	text-decoration: none;
	margin-right: 1.4em;
	white-space: nowrap;
	display: inline-block;
}
.xt-terminal a:hover,
.xt-terminal a:focus-visible { color: #FFFFFF; text-decoration: underline; }
.xt-terminal .xt-cursor::after {
	content: "";
	display: inline-block;
	width: 0.55em;
	height: 1.1em;
	vertical-align: -0.18em;
	background: var(--wp--preset--color--accent-2);
	animation: xt-blink 1.1s steps(1) infinite;
}
@keyframes xt-blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
	.xt-terminal .xt-cursor::after { animation: none; }
}

/* ---- Home: section index (rows, not cards) ------------------------------ */
.xt-index-row {
	border-top: 1px solid var(--wp--preset--color--accent-5);
	padding-block: 1.6rem;
	margin-block: 0 !important;
}
.xt-index-row:last-child { border-bottom: 1px solid var(--wp--preset--color--accent-5); }
.xt-index-row h3 { margin: 0; }
.xt-index-row h3 a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.xt-index-row h3 a:hover { color: var(--wp--preset--color--accent-1); }
.xt-index-row p { margin: 0; color: var(--wp--preset--color--accent-3); }
.xt-index-row ul { margin: 0; padding: 0; list-style: none; }
.xt-index-row li { margin: 0 0 0.3rem; }
.xt-index-row li a { font-family: var(--wp--preset--font-family--fira-code); font-size: 0.92rem; text-decoration: none; }
.xt-index-row li a:hover { text-decoration: underline; }

.xt-about {
	border-left: 3px solid var(--wp--preset--color--accent-2);
	padding-left: 1.25rem;
	color: var(--wp--preset--color--accent-3);
}

/* ---- Inner pages ------------------------------------------------------- */
.xt-page-head {
	background: var(--wp--preset--color--accent-4);
	border-bottom: 1px solid var(--wp--preset--color--accent-5);
}
.xt-page-head .wp-block-post-title { margin: 0; }

/* Collapsible sections, as used for exam objectives. */
.wp-block-details {
	border: 1px solid var(--wp--preset--color--accent-5);
	border-radius: 6px;
	background: var(--wp--preset--color--accent-4);
	padding: 0.2rem 1rem;
}
.wp-block-details .wp-block-details { margin-top: 0.6rem; }
.wp-block-details summary {
	cursor: pointer;
	padding: 0.6rem 0;
	font-weight: 600;
	list-style-position: outside;
	margin-left: 1rem;
}
.wp-block-details summary::marker { color: var(--wp--preset--color--accent-1); }
.wp-block-details[open] > summary { color: var(--wp--preset--color--accent-1); }
.wp-block-details ul { padding-left: 1.4rem; }
.wp-block-details li { margin-bottom: 0.25rem; }

:not(pre) > code {
	font-family: var(--wp--preset--font-family--fira-code);
	font-size: 0.9em;
	background: #E3EAED;
	padding: 0.1em 0.35em;
	border-radius: 3px;
}

/* Contact form (CoBlocks) */
.wp-block-coblocks-form input,
.wp-block-coblocks-form textarea {
	border: 1px solid var(--wp--preset--color--accent-5);
	border-radius: 4px;
	padding: 0.65rem 0.75rem;
	background: var(--wp--preset--color--accent-4);
	font: inherit;
	width: 100%;
}
.wp-block-coblocks-form .coblocks-form__submit button.wp-block-button__link {
	background: var(--wp--preset--color--accent-1) !important;
	color: var(--wp--preset--color--accent-4) !important;
	border-radius: 4px;
	font-weight: 500;
}
.wp-block-coblocks-form .coblocks-form__submit button.wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast) !important;
}

/* ---- Focus ------------------------------------------------------------- */
:where(a, button, input, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-2);
	outline-offset: 2px;
}
