/*
Theme Name:        In Peace
Description:       A quiet, minimal theme for memorial pages — a portrait, a life story, and the words of those who remember. Designed to pair with the Memorial Testimonials plugin.
Version:           1.7.0
Requires at least: 6.0
Requires PHP:      7.4
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       in-peace
*/

/* ---------- Tokens ---------- */

:root {
	--ip-bg: #f6f4ef;
	--ip-paper: #fbfaf7;
	--ip-ink: #1e1d1b;
	--ip-soft: #45433f;
	--ip-muted: #7b776f;
	--ip-line: #dcd7cc;
	--ip-tint: #ece8df;

	--ip-display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
	--ip-serif: "EB Garamond", "Iowan Old Style", Georgia, serif;
	--ip-sans: "Inter", -apple-system, "Segoe UI", system-ui, sans-serif;

	--ip-measure: 40rem;
	--ip-wide: 76rem;
	--ip-gutter: clamp(1rem, 5vw, 3rem);
	--ip-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */

*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	/* Anchor jumps stop below the fixed header (its height is measured by header.js). */
	scroll-padding-top: calc(var(--ip-header-h, 5rem) + var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
}

body {
	margin: 0;
	background: var(--ip-bg);
	color: var(--ip-ink);
	font-family: var(--ip-serif);
	font-size: clamp(1.0625rem, 1rem + .3vw, 1.1875rem);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-kerning: normal;
}

img, video { max-width: 100%; height: auto; display: block; }
audio { width: 100%; }

a {
	color: inherit;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
	text-decoration-color: var(--ip-line);
	transition: text-decoration-color .2s;
}
a:hover { text-decoration-color: currentColor; }

:focus-visible { outline: 1px solid var(--ip-ink); outline-offset: 4px; }
::selection { background: var(--ip-tint); }

h1, h2, h3, h4 {
	font-family: var(--ip-display);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -.005em;
	text-wrap: balance;
}
p { text-wrap: pretty; }

.ip-eyebrow,
.site-footer,
.memorial-hero__dates,
.mt-entry__meta,
.mt-entry__type,
.mt-form label,
.mt-form legend,
.mt-label {
	font-family: var(--ip-sans);
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 10; padding: .6rem 1rem; background: var(--ip-paper); }

/* ---------- Header & footer ---------- */

.site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	padding: 1.25rem var(--ip-gutter);
	background: var(--ip-bg);
	border-bottom: 1px solid transparent;
	transition: border-color .3s;
}
@supports (backdrop-filter: blur(1px)) {
	.site-header { background: color-mix(in srgb, var(--ip-bg) 88%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
}
.site-header.is-scrolled { border-bottom-color: var(--ip-line); }
/* On phones the WordPress admin bar scrolls away, so the header sticks to the very top. */
@media (max-width: 600px) {
	.admin-bar .site-header { top: 0; }
}
.site-header__inner {
	max-width: var(--ip-wide);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	gap: .9rem;
	text-align: center;
}
.site-title,
.site-footer__title {
	font-family: var(--ip-sans);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ip-ink);
}

/* Section links (Memorial pages) */
.section-nav { width: 100%; }
.section-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: .25rem 1.75rem;
	flex-wrap: wrap;
}
.section-nav a {
	display: inline-block;
	padding: .25rem 0;
	border-bottom: 1px solid transparent;
	font-family: var(--ip-sans);
	font-size: .68rem;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--ip-muted);
	transition: color .2s, border-color .2s;
}
.section-nav a:hover { color: var(--ip-ink); }
.section-nav a[aria-current] { color: var(--ip-ink); border-bottom-color: var(--ip-ink); }

/* Narrow screens: one line that scrolls sideways, fading at the edges. */
@media (max-width: 760px) {
	.section-nav ul {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		scrollbar-width: none;
		padding-inline: 1rem;
		-webkit-mask-image: linear-gradient(to right, transparent, #000 1rem, #000 calc(100% - 1rem), transparent);
		mask-image: linear-gradient(to right, transparent, #000 1rem, #000 calc(100% - 1rem), transparent);
	}
	.section-nav ul::-webkit-scrollbar { display: none; }
	.section-nav { margin-inline: calc(-1 * var(--ip-gutter)); width: calc(100% + 2 * var(--ip-gutter)); }
}

.site-main { padding: 0 var(--ip-gutter) clamp(4rem, 10vw, 8rem); }

.site-footer {
	padding: 2.5rem var(--ip-gutter);
	border-top: 1px solid var(--ip-line);
	text-align: center;
	color: var(--ip-muted);
}
.site-footer p { margin: 0; }
.footer-nav { margin-top: 1.25rem; }
.footer-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.75rem; }
.footer-nav a { color: var(--ip-muted); text-decoration: none; }
.footer-nav a:hover,
.footer-nav .current-menu-item > a { color: var(--ip-ink); }

/* ---------- Memorial hero ---------- */

.memorial-hero {
	max-width: var(--ip-wide);
	margin: clamp(1.5rem, 5vw, 4rem) auto clamp(2rem, 4vw, 3.5rem);
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.memorial-hero.has-portrait { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }

.memorial-hero__portrait { margin: 0; }
/* The whole picture, never cropped: it fits within the column and the screen height. */
.memorial-hero__portrait img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: min(85vh, 56rem);
	margin-inline: auto;
	border-radius: 2px;
}
.memorial-hero.is-monochrome .memorial-hero__portrait img { filter: grayscale(1) contrast(1.03); }

.memorial-hero__name {
	margin: 0;
	font-weight: 300;
	font-size: clamp(2.75rem, 2rem + 4vw, 5rem);
	line-height: 1.02;
}
.memorial-hero__dates { margin: 1.5rem 0 0; color: var(--ip-muted); letter-spacing: .26em; }
.memorial-hero__rule { display: block; width: 3rem; height: 1px; margin: 2.25rem 0; background: var(--ip-ink); opacity: .35; }
.memorial-hero__intro { color: var(--ip-soft); max-width: 34rem; }
.memorial-hero__intro p {
	margin: 0 0 .9em;
	font-family: var(--ip-display);
	font-size: 1.45em;
	line-height: 1.45;
	color: var(--ip-ink);
}

.memorial-hero:not(.has-portrait) { text-align: center; max-width: var(--ip-measure); }
.memorial-hero:not(.has-portrait) .memorial-hero__rule { margin-inline: auto; }
.memorial-hero:not(.has-portrait) .memorial-hero__intro { margin-inline: auto; }

/* Link to the donations section ([donations_link] shortcode) */
.memorial-hero__link {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	margin-top: 1rem;
	padding-bottom: .4rem;
	border-bottom: 1px solid var(--ip-line);
	font-family: var(--ip-sans);
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color .2s;
}
.memorial-hero__link::after {
	content: "";
	width: .4rem;
	height: .4rem;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-25%) rotate(45deg);
}
.memorial-hero__link:hover { border-bottom-color: currentColor; }
.memorial-hero__portrait { text-align: center; }
.ip-donations-link { text-align: center; }


@media (max-width: 760px) {
	.memorial-hero.has-portrait { grid-template-columns: 1fr; text-align: center; }
	.memorial-hero__portrait { order: -1; }
	.memorial-hero__portrait img { max-height: 70vh; }
	.memorial-hero__rule,
	.memorial-hero__intro { margin-inline: auto; }
}

/* ---------- Page & content ---------- */

.page-header { max-width: var(--ip-measure); margin: clamp(2rem, 6vw, 4.5rem) auto 3rem; text-align: center; }
.page-title { margin: 0; font-weight: 300; font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem); }

.entry-content { max-width: var(--ip-measure); margin: 0 auto; }
.entry-content > * { margin-block: 0 1.25em; }
.entry-content > .alignwide { max-width: var(--ip-wide); width: calc(100vw - 2 * var(--ip-gutter)); margin-inline: 50%; transform: translateX(-50%); }
.entry-content > .alignfull { width: 100vw; margin-inline: 50%; transform: translateX(-50%); }

/* Memorial pages: the content is as wide as the header (name, intro and picture). */
.memorial .entry-content { max-width: var(--ip-wide); }
.memorial .entry-content > .alignwide { width: auto; max-width: none; margin-inline: 0; transform: none; }

.entry-content h2 {
	margin: clamp(4rem, 9vw, 6.5rem) 0 1.25rem;
	font-size: clamp(2rem, 1.6rem + 1.8vw, 2.75rem);
	font-weight: 300;
	text-align: center;
}
.entry-content h2::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 1px;
	margin: 1.5rem auto 0;
	background: var(--ip-ink);
	opacity: .35;
}
.entry-content h3 { margin: 2.5rem 0 .75rem; font-size: 1.6rem; }
.entry-content blockquote {
	margin: 2rem 0;
	padding: 0 0 0 1.5rem;
	border-left: 1px solid var(--ip-line);
	font-family: var(--ip-display);
	font-size: 1.35em;
	font-style: italic;
	color: var(--ip-soft);
}
.entry-content hr,
.wp-block-separator { border: 0; height: 1px; background: var(--ip-line); margin: 3rem auto; max-width: 6rem; }
.has-text-align-center { text-align: center; }

/* Details block = accordion (biography, etc.) */
.wp-block-details {
	border-block: 1px solid var(--ip-line);
	padding: 0;
	margin-block: 2rem;
}
.wp-block-details + .wp-block-details { margin-top: -2rem; border-top: 0; }
.wp-block-details summary {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 0;
	cursor: pointer;
	font-family: var(--ip-display);
	font-size: 1.4rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "";
	flex: none;
	width: .7rem;
	height: .7rem;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-25%) rotate(45deg);
	transition: transform .3s var(--ip-ease);
}
.wp-block-details[open] summary::after { transform: translateY(25%) rotate(-135deg); }
.wp-block-details > :not(summary) { margin-block: 0 1.25em; }
.wp-block-details[open] > :last-child { margin-bottom: 2rem; }

/* Columns with the "Accordions" style: Biography | Share your testimony */
.wp-block-columns.is-style-ip-accordions { gap: clamp(1.5rem, 4vw, 4rem); margin-bottom: 0; }
.wp-block-columns.is-style-ip-accordions .wp-block-details { margin: 0; }
.wp-block-details .mt-form { margin: .5rem 0 2rem; padding: clamp(1.25rem, 3vw, 2rem); gap: 1.75rem; }
.wp-block-details .mt-thanks { margin: .5rem 0 2rem; }

/* Columns with the "Cards" style (donations, etc.) */
.wp-block-columns.is-style-ip-cards { gap: 1rem; align-items: stretch !important; }
.wp-block-columns.is-style-ip-cards > .wp-block-column {
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--ip-paper);
	border: 1px solid var(--ip-line);
	border-radius: 2px;
	font-size: .95em;
}
.wp-block-columns.is-style-ip-cards > .wp-block-column > * { margin-block: 0 1em; }
.wp-block-columns.is-style-ip-cards h3 { margin: 0; font-size: 1.75rem; }
.wp-block-columns.is-style-ip-cards h3 + p { color: var(--ip-muted); font-family: var(--ip-sans); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.wp-block-columns.is-style-ip-cards .wp-block-buttons { margin-top: auto; margin-bottom: 0; padding-top: .5rem; }

/* Donations section (Donations box on Memorial pages) */
.memorial-donations__intro { text-align: center; }
.memorial-donations__intro p { margin: 0 0 1em; }
.ip-cards {
	--ip-gap: 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--ip-gap);
	margin-top: 2.5rem;
}
.ip-card {
	/* --ip-cols cards per row; a last, incomplete row stays centered. */
	flex: 0 1 max(15rem, calc((100% - (var(--ip-cols, 3) - 1) * var(--ip-gap)) / var(--ip-cols, 3)));
	max-width: 100%;
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--ip-paper);
	border: 1px solid var(--ip-line);
	border-radius: 2px;
	font-size: .95em;
}
.entry-content .ip-card__title { margin: 0 0 .5rem; font-size: 1.75rem; }
.ip-card__subtitle { margin: 0 0 1.25rem; color: var(--ip-muted); font-family: var(--ip-sans); font-size: .7rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.ip-card__text p { margin: 0 0 1em; }
.ip-card__action { margin: auto 0 0; padding-top: .75rem; }

/* Buttons */
.wp-block-button__link,
.mt-submit {
	display: inline-block;
	padding: .95rem 2rem;
	border: 1px solid var(--ip-ink);
	border-radius: 0;
	background: var(--ip-ink);
	color: var(--ip-paper);
	font-family: var(--ip-sans);
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .25s, color .25s;
}
.wp-block-button__link:hover,
.mt-submit:hover:not(:disabled) { background: transparent; color: var(--ip-ink); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--ip-ink); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--ip-ink); color: var(--ip-paper); }

/* ---------- Testimonial form ---------- */

.mt-form {
	display: grid;
	gap: 2rem;
	margin: 3rem 0 5rem;
	padding: clamp(1.5rem, 5vw, 3rem);
	background: var(--ip-paper);
	border: 1px solid var(--ip-line);
}
.mt-form label,
.mt-form legend,
.mt-label { color: var(--ip-muted); }

.mt-form input[type="text"],
.mt-form input[type="email"],
.mt-form input[type="url"],
.mt-form textarea {
	width: 100%;
	padding: .55rem 0;
	border: 0;
	border-bottom: 1px solid var(--ip-line);
	border-radius: 0;
	background: transparent;
	color: var(--ip-ink);
	font: inherit;
	transition: border-color .2s;
}
.mt-form textarea { resize: vertical; min-height: 12rem; line-height: 1.7; }
.mt-form input:focus,
.mt-form textarea:focus { outline: none; border-bottom-color: var(--ip-ink); }
.mt-form [aria-invalid="true"] { border-bottom-color: #9b2c2c; }

.mt-form .mt-choice { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.mt-form .mt-choice legend { margin-bottom: .75rem; }
.mt-form .mt-choice label,
.mt-form .mt-consent label {
	font-family: var(--ip-serif);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ip-ink);
	cursor: pointer;
}
.mt-form input[type="radio"],
.mt-form input[type="checkbox"] { accent-color: var(--ip-ink); width: 1rem; height: 1rem; }

.mt-form .mt-hint,
.mt-form .mt-optional { font-family: var(--ip-serif); font-size: .9rem; font-style: italic; letter-spacing: 0; text-transform: none; color: var(--ip-muted); }

.mt-form .mt-drop {
	margin-top: .5rem;
	padding: 2.25rem 1rem;
	border: 1px dashed var(--ip-line);
	background: var(--ip-bg);
	font-family: var(--ip-serif);
	font-size: 1rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ip-ink);
	transition: border-color .2s, background-color .2s;
}
.mt-form .mt-drop:hover,
.mt-form .mt-drop.is-over { border-color: var(--ip-ink); background: var(--ip-paper); }

.mt-form .mt-file { border-bottom-color: var(--ip-line); font-size: .95rem; }
.mt-form .mt-file__meta { font-family: var(--ip-sans); font-size: .7rem; letter-spacing: .06em; }
.mt-form .mt-file__bar { color: var(--ip-ink); }
.mt-form .mt-file__remove { font-family: var(--ip-sans); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--ip-muted); }
.mt-form .mt-file__remove:hover { color: var(--ip-ink); }
.mt-form .mt-file__move { font-family: var(--ip-sans); font-size: .85rem; color: var(--ip-muted); }
.mt-form .mt-file__move:hover { color: var(--ip-ink); }

.mt-form .mt-status { font-style: italic; color: var(--ip-soft); }
.mt-form .mt-status.is-error { color: #9b2c2c; }
.mt-form .mt-links { margin-top: .25rem; }
.mt-form .mt-add-link {
	margin-top: .5rem;
	font-family: var(--ip-sans);
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ip-muted);
}
.mt-form .mt-add-link:hover { color: var(--ip-ink); }
.mt-submit { justify-self: start; }
.mt-submit:disabled { opacity: .45; cursor: progress; }

.mt-thanks {
	margin: 3rem 0 5rem;
	padding: 3rem 2rem;
	text-align: center;
	border-block: 1px solid var(--ip-line);
	font-family: var(--ip-display);
	font-size: 1.5rem;
	font-style: italic;
	line-height: 1.5;
	outline: none;
}

/* ---------- Testimonials ---------- */

.mt-list { margin-top: 2rem; }

/* Stacked list (layout="list"), e.g. eulogies */
.mt-list--stack .mt-entry { padding: clamp(2.5rem, 6vw, 3.75rem) 0; border-top: 1px solid var(--ip-line); }
.mt-list--stack .mt-entry:first-child { border-top: 0; padding-top: 0; }

/* Masonry cards (default) */
.mt-list--masonry { --mt-gap: clamp(.75rem, 1.5vw, 1.25rem); }
.mt-list--masonry .mt-entry,
.mt-list--masonry .mt-entry:first-child {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--ip-paper);
	border: 1px solid var(--ip-line);
	border-radius: 2px;
	font-size: .95em;
}
.mt-list--masonry .mt-entry__body { font-size: 1em; }
.mt-list--masonry .mt-entry__meta { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--ip-line); }
.mt-list--masonry .mt-entry__media { margin-top: 1.5rem; }

.mt-entry__type { margin: 0 0 1.25rem; color: var(--ip-muted); }
.mt-entry__body { font-size: 1.06em; }
.mt-entry__body p { margin: 0 0 1em; }
.mt-entry__body > :last-child { margin-bottom: 0; }
.mt-entry--eulogy .mt-entry__body > p:first-child { font-family: var(--ip-display); font-size: 1.3em; line-height: 1.5; }

.mt-entry__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1.25rem; margin-top: 1.75rem; color: var(--ip-muted); }
.mt-entry__name { color: var(--ip-ink); font-weight: 500; }
.mt-entry__name::before { content: "— "; }

.mt-toggle {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	margin-top: 1.25rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ip-ink);
	font-family: var(--ip-sans);
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	cursor: pointer;
}
.mt-toggle::after {
	content: "";
	width: .45rem;
	height: .45rem;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-20%) rotate(45deg);
	transition: transform .3s var(--ip-ease);
}
.mt-toggle[aria-expanded="true"]::after { transform: translateY(20%) rotate(-135deg); }
.mt-toggle:hover { text-decoration: underline; text-underline-offset: .3em; }

.mt-entry__media { display: grid; gap: 1rem; margin-top: 2rem; }
/* Photos: two per row. One photo alone, or the last of an odd number, takes the full width. */
.mt-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.mt-gallery > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.mt-links-list a {
	display: inline-flex;
	gap: .5rem;
	padding-bottom: .3rem;
	border-bottom: 1px solid var(--ip-line);
	font-family: var(--ip-sans);
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color .2s;
}
.mt-links-list a::after { content: "\2197"; letter-spacing: 0; }
.mt-links-list a:hover { border-bottom-color: currentColor; }
.mt-gallery a { display: block; }
.mt-gallery img,
.mt-gallery video { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: opacity .2s; }
.mt-gallery > :last-child:nth-child(odd) img,
.mt-gallery > :last-child:nth-child(odd) video { aspect-ratio: 3 / 2; }
/* A single photo is shown whole, at its own proportions. */
.mt-gallery > :last-child:nth-child(odd):only-child img,
.mt-gallery > :last-child:nth-child(odd):only-child video { aspect-ratio: auto; height: auto; }
.mt-gallery a:hover img { opacity: .85; }

.mt-empty { text-align: center; font-style: italic; color: var(--ip-muted); }

.mt-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.25rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--ip-line); font-family: var(--ip-sans); font-size: .75rem; letter-spacing: .1em; }
.mt-pagination a { text-decoration: none; color: var(--ip-muted); }
.mt-pagination a:hover,
.mt-pagination .current { color: var(--ip-ink); }

/* ---------- Posts fallback ---------- */

.post-list { max-width: var(--ip-measure); margin: 0 auto; }
.post-list article { padding: 2.5rem 0; border-top: 1px solid var(--ip-line); }
.post-list article:first-child { border-top: 0; }
.post-list h2 { margin: 0 0 .75rem; font-size: 2rem; }
.post-list h2 a { text-decoration: none; }
.navigation.pagination { max-width: var(--ip-measure); margin: 3rem auto 0; text-align: center; font-family: var(--ip-sans); font-size: .8rem; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

@media print {
	.site-header, .site-footer, .mt-form, .mt-toggle, .mt-pagination { display: none; }
	.mt-entry.is-collapsed .mt-entry__body { max-height: none; -webkit-mask-image: none; mask-image: none; }
	body { background: #fff; }
}
