/*
Theme Name: MT 2026
Theme URI: https://martintyminski.com
Author: Martin Tyminski
Author URI: https://martintyminski.com
Description: A quiet, reading-first child theme of Twenty Twenty-Five. Built for long-form writing.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: mt-2026
*/

/* -------------------------------------------------------------
   Everything structural lives in theme.json.
   This file is only for what theme.json genuinely cannot express.
   Keep it short. If it's growing, something is wrong.
   ------------------------------------------------------------- */

/* Link underlines that don't cut through descenders.
   Small detail. It's the kind of thing that separates a designed
   site from a configured one. */
a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

a:hover {
	text-decoration-thickness: 2px;
}

/* Visible focus ring. Non-negotiable — you sell accessibility. */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Better reading rhythm in long posts: a little more air before
   headings than after them. */
.entry-content :is(h2, h3) {
	margin-top: var(--wp--preset--spacing--60);
	margin-bottom: var(--wp--preset--spacing--30);
}

/* Optical alignment for the serif at reading sizes. */
body {
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Kill orphan-prone widows in headings on wide screens. */
:is(h1, h2) {
	text-wrap: balance;
}

/* Long-form paragraphs read better with pretty wrapping. */
.entry-content p {
	text-wrap: pretty;
}

/* Selection color — a small, free piece of brand. */
::selection {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

/* Respect reduced motion. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
