/* WordPress additions to the FindMySeason design (site.css stays untouched). */

/* Skip link: visible when focused (the design's .sr class keeps it hidden otherwise). */
.sr:focus,
.sr:focus-visible {
	position: fixed;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	overflow: visible;
	clip: auto;
	white-space: normal;
	z-index: 1000;
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--ink);
	color: var(--cream);
	font-weight: 700;
	text-decoration: none;
}

/* Logged-in admin bar. */
@media screen and (min-width: 783px) {
	.admin-bar .nav { top: 32px; }
	.admin-bar .mpanel { top: calc(74px + 32px); }
	.admin-bar .toc { top: calc(100px + 32px); }
}
@media screen and (max-width: 782px) {
	.admin-bar .mpanel { top: calc(74px + 46px); }
}

/* Article layout without a table of contents. */
.article.article--full { grid-template-columns: minmax(0, 760px); justify-content: center; }

/* Block editor content inside .prose. */
.prose img,
.prose video,
.prose iframe { max-width: 100%; height: auto; }
.prose figure,
.prose .wp-block-image { margin: 10px 0 26px; }
.prose figure img,
.fms-featured img { border: 2px solid var(--ink); border-radius: 18px; display: block; }
.fms-featured { margin: 0 0 30px; }
.prose figcaption,
.prose .wp-element-caption { font-size: 14px; color: var(--muted); margin-top: 8px; }
.prose .alignleft { float: left; margin: 6px 24px 16px 0; max-width: 50%; }
.prose .alignright { float: right; margin: 6px 0 16px 24px; max-width: 50%; }
.prose .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.prose blockquote,
.prose .wp-block-quote {
	margin: 24px 0;
	padding: 18px 22px;
	border: 2px solid var(--ink);
	border-radius: 18px;
	background: var(--paper);
	font-size: 20px;
}
.prose blockquote p:last-child { margin-bottom: 0; }
.prose .wp-block-button__link { border-radius: 999px; }
.prose pre,
.prose code { font-size: 15px; }
.prose h2[id],
.prose h3[id] { scroll-margin-top: 100px; }
.prose .updated { font-size: 14px; color: var(--muted); margin-top: 30px; }
.prose::after { content: ""; display: table; clear: both; }

/* Pagination. WordPress wraps links in .nav-links, which the design uses for the header menu. */
.fms-pages { margin-top: 40px; }
.fms-pages .nav-links { display: flex; flex-wrap: wrap; gap: 8px; font-size: 16px; }
.fms-pages .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 16px;
	border: 2px solid var(--ink);
	border-radius: 999px;
	background: var(--paper);
	font-weight: 700;
	text-decoration: none;
	opacity: 1;
}
.fms-pages .page-numbers.current { background: var(--ink); color: var(--cream); }
.fms-pages .page-numbers:hover { text-decoration: none; }

/* Search form. */
.fms-search { display: flex; gap: 8px; }
.fms-search input[type="search"] { flex: 1; min-width: 0; }

/* Screen-reader text used by WordPress core output. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Busy state on form buttons while submitting. */
.form [aria-busy="true"] { opacity: 0.6; pointer-events: none; }

/* Block theme wrappers must not change the design's layout (sticky header, full-width sections). */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }
.wp-block-template-part { display: contents; }
