/* WordPress-specific glue: core markup classes the design system doesn't cover,
   plus a few helpers introduced by the theme templates. Loaded after styles.css. */

/* ---- Core alignment & media (inside .prose and the editor) ---- */
.alignleft   { float: left; margin: .3em 1.4em 1.2em 0; }
.alignright  { float: right; margin: .3em 0 1.2em 1.4em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide   { max-width: 1100px; margin-left: auto; margin-right: auto; }
.alignfull   { max-width: none; }
figure.alignleft, figure.alignright { max-width: 50%; }

.wp-caption { max-width: 100%; }
.wp-caption img { display: block; }
.wp-caption-text,
.wp-element-caption { font-size: .85rem; color: var(--muted); text-align: center; margin-top: .5rem; }

.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 1.5rem 0; }
.gallery .gallery-item { margin: 0; }
.gallery img { width: 100%; height: auto; border-radius: var(--radius); }

/* ---- Accessibility helper (matches WP's screen-reader-text contract) ---- */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip: auto; clip-path: none; height: auto; width: auto; padding: 12px 20px;
	z-index: 100000; background: #fff; color: var(--ink); display: block;
	left: 8px; top: 8px; border-radius: var(--radius);
}

/* ---- Sticky / by-author flags (theme-check expects them to exist) ---- */
.sticky { display: block; }
.bypostauthor > article { display: block; }

/* ---- Featured-image thumbnail fills the gradient placeholder box ---- */
.post-thumb.post-thumb-img { padding: 0; overflow: hidden; }
.post-thumb.post-thumb-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Custom logo: inherit the brand-logo sizing on the core <img> ---- */
.custom-logo-link { display: inline-flex; }
.site-header .custom-logo { height: 33px; width: auto; }
.site-footer .custom-logo { height: 33px; width: auto; }

/* ---- Footer bottom legal menu (optional secondary menu) ---- */
.footer-legal-list { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.footer-legal-list a { color: inherit; opacity: .8; }
.footer-legal-list a:hover { opacity: 1; }

/* ---- Comments (minimal, in the prose scope) ---- */
.comments-area { max-width: 760px; margin: 2.5rem auto 0; }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .children { list-style: none; margin: 0 0 0 1.5rem; padding: 0; }
.comment-body { padding: 1rem 0; border-top: 1px solid var(--line); }
.comment-author { font-weight: 600; }
.comment-meta { font-size: .85rem; color: var(--muted); }
