/* ==============================================================
 * Folio — wp.css
 * WordPress core classes, accessibility helpers, and small glue that
 * the design system (site.css) does not cover. Loaded after site.css.
 * ============================================================== */

/* ——— Accessibility: skip link + screen-reader text ——— */
.screen-reader-text{
	border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
	height:1px;width:1px;margin:-1px;padding:0;overflow:hidden;
	position:absolute!important;word-wrap:normal!important;
}
.screen-reader-text:focus{
	background:var(--paper);color:var(--ink);
	border-radius:3px;box-shadow:0 0 2px 2px rgba(26,23,18,.4);
	clip:auto!important;clip-path:none;
	display:block;font-family:var(--mono);font-size:.85rem;font-weight:600;
	height:auto;left:6px;line-height:normal;padding:14px 22px;top:6px;width:auto;
	z-index:100000;text-decoration:none;
}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100001}
.skip-link:focus{left:6px}

/* ——— Keyboard focus visibility ——— */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
	outline:2px solid var(--accent);
	outline-offset:3px;
	border-radius:2px;
}

/* ——— Admin bar offset for the fixed header ——— */
body.admin-bar header{top:32px}
@media(max-width:782px){
	body.admin-bar header{top:46px}
}

/* ——— Custom logo (used instead of the text wordmark) ——— */
.brand--logo{display:flex;align-items:center}
.brand--logo .custom-logo-link{display:block;line-height:0}
.brand--logo img{max-height:44px;width:auto;height:auto;display:block}

/* ——— WordPress required alignment / media classes ——— */
.alignleft{float:left;margin:.4em 1.6em 1.2em 0}
.alignright{float:right;margin:.4em 0 1.2em 1.6em}
.aligncenter{clear:both;margin-left:auto;margin-right:auto;display:block}
.alignwide{max-width:min(100%,calc(var(--maxw) + 200px))}
.alignfull{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

img,figure,embed,iframe,object,video{max-width:100%}
img{height:auto}

.wp-caption{max-width:100%}
.wp-caption-text,
.wp-element-caption,
.gallery-caption{
	font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;
	color:var(--ink-soft);margin-top:8px;text-align:center;
}

.sticky{display:block}
.bypostauthor{display:block}

/* ——— Pagination (used by index/archive) ——— */
.pagination,.nav-links.pagination{
	display:flex;gap:10px;flex-wrap:wrap;margin-top:48px;
	font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;
}
.pagination .page-numbers{
	text-decoration:none;color:var(--ink);
	border:1px solid var(--line);border-radius:999px;
	padding:8px 15px;transition:.25s;
}
.pagination .page-numbers:hover{border-color:var(--ink)}
.pagination .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ——— Reduced motion ——— */
@media(prefers-reduced-motion:reduce){
	*,*::before,*::after{
		animation-duration:.001ms!important;
		animation-iteration-count:1!important;
		transition-duration:.001ms!important;
		scroll-behavior:auto!important;
	}
	.reveal{opacity:1!important;transform:none!important}
}
