/*
Theme Name: Well-Appointed
Theme URI: https://wellappointed.ai/
Author: Well-Appointed AI
Description: House theme for Well-Appointed AI, a weekly newsletter on equipping tech teams for AI. Linen and cream grounds, ink-navy text, deep-sage accents, EB Garamond headings, Inter body. Self-hosted fonts, WCAG AA palette.
Version: 0.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: well-appointed
*/

/* ---- Focus: visible, consistent, 3:1+ against every ground ---- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation-item__content:focus-visible {
	outline: 3px solid var(--wp--preset--color--focus);
	outline-offset: 3px;
	border-radius: 2px;
	box-shadow: 0 0 0 3px var(--wp--preset--color--cream);
}

/* ---- Skip link (core injects .skip-link for block themes) ---- */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--cream);
	font-weight: 600;
	padding: 0.75rem 1.25rem;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100000;
	text-decoration: underline;
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
}

/* ---- Small touches ---- */
::selection { background: var(--wp--preset--color--oat); color: var(--wp--preset--color--ink); }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
.wa-eyebrow {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--wp--preset--color--brass);
	margin-bottom: 0.25rem;
}
.wa-rule { border: 0; border-top: 1px solid var(--wp--preset--color--line); }
.wa-card {
	background: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 3px;
}
.wa-subscribe { text-align: center; }
.wa-subscribe .wa-subscribe__note { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.wp-block-post-content > * + h2 { margin-top: 2.5em; }
.wa-issue-list .wp-block-post { padding-block: 1.75rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.wa-issue-list .wp-block-post:first-child { padding-top: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Header logo (Floor Plan lockup, 946x150 viewBox). Clear space >= 0.34 x height on every side. */
.wa-site-logo { margin: 0; line-height: 0; }
.wa-site-logo__link { display: inline-block; outline-offset: 4px; }
.wa-site-logo__img { display: block; height: 44px; width: auto; max-width: 100%; }
.wa-brand .wp-block-site-tagline { margin: 0; }
@media (max-width: 600px) {
	.wa-site-logo__img { height: 32px; }
	/* Menu button on the logo's row; the tagline gets the full width beneath. */
	.wa-site-header > .wp-block-group { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 1rem; row-gap: 1rem; }
	.wa-site-header .wa-brand { display: contents; }
	.wa-site-header .wa-site-logo { grid-column: 1; grid-row: 1; }
	.wa-site-header .wp-block-navigation { grid-column: 2; grid-row: 1; }
	.wa-brand .wp-block-site-tagline { grid-column: 1 / -1; grid-row: 2; }
}
/* Desktop (where the full menu fits beside the logo): the menu centres on the logo row and the
   tagline sits under the logo alone. 601-781px keeps the earlier layout; <=600px is untouched. */
@media (min-width: 782px) {
	.wa-site-header > .wp-block-group { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: var(--wp--preset--spacing--40); row-gap: 1rem; }
	.wa-site-header .wa-brand { display: contents; }
	.wa-site-header .wa-site-logo { grid-column: 1; grid-row: 1; }
	.wa-site-header .wp-block-navigation { grid-column: 2; grid-row: 1; justify-self: end; }
	.wa-brand .wp-block-site-tagline { grid-column: 1; grid-row: 2; }
}
