/*
 * Ogle Blog: the parts of the design theme.json can't express.
 * Colours, fonts and sizes come from theme.json presets (var(--wp--preset--…)).
 */

:root {
	--ogle-line: var(--wp--preset--color--line);
	--ogle-mono: var(--wp--preset--font-family--mono);
	--ogle-serif: var(--wp--preset--font-family--serif);
	--ogle-thumb: 120px;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.ogle-main {
	padding-bottom: 8px;
}

/* ───────── "‹ Ogle Home" bar ───────── */

.ogle-topbar {
	border-bottom: 1px solid var(--wp--preset--color--line-strong);
}

.ogle-topbar__link {
	margin: 0;
	padding: 12px 0;
	font-size: 15px;
	line-height: 1.4;
}

.ogle-topbar__link a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--wp--preset--color--soft);
	text-decoration: none;
}

/* Thin chevron drawn with two borders of a rotated square. */
.ogle-topbar__link a::before {
	content: "";
	width: 8px;
	height: 8px;
	border-left: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	margin-left: 3px;
}

.ogle-topbar__link a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

/* ───────── Header ───────── */

.ogle-site-header {
	padding-top: 22px;
	padding-bottom: 22px;
}

.ogle-site-header__inner {
	gap: 16px 32px;
	align-items: center;
}

.ogle-logo {
	margin: 0;
	line-height: 0;
}

.ogle-logo img {
	display: block;
	width: 104px;
	height: auto;
}

.ogle-nav .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 600px) {
	.ogle-site-header__inner {
		flex-direction: column;
		align-items: flex-start !important;
		gap: 20px;
	}

	.ogle-nav {
		--wp--style--block-gap: 22px;
	}
}

/* Menu + search icon, side by side; on phones they share the row under the logo. */
.ogle-header-actions {
	gap: 16px 24px;
	align-items: center;
}

.ogle-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 38px;
	height: 38px;
	margin: -8px -9px -8px 0;
	border-radius: 50%;
	color: var(--wp--preset--color--contrast);
}

.ogle-search-toggle:hover,
.ogle-search-toggle:focus-visible {
	background: var(--wp--preset--color--surface);
	text-decoration: none;
}

.ogle-search-toggle svg {
	display: block;
}

@media (max-width: 600px) {
	.ogle-header-actions {
		width: 100%;
		justify-content: space-between;
	}
}

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

/* ───────── Search popup ───────── */

html:has(.ogle-search-popup[open]) {
	overflow: hidden;
}

.ogle-search-popup {
	width: min(720px, calc(100% - 32px));
	max-width: none;
	max-height: min(80vh, 760px);
	margin: 10vh auto auto;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--body);
	box-shadow: 0 24px 60px rgba(28, 27, 24, 0.25);
}

.ogle-search-popup[open] {
	display: flex;
	flex-direction: column;
	animation: ogle-search-popup-in 0.18s ease-out;
}

.ogle-search-popup::backdrop {
	background: rgba(28, 27, 24, 0.45);
}

@keyframes ogle-search-popup-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
}

.ogle-search-popup__panel {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.ogle-search-popup__form {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--ogle-line);
}

.ogle-search-popup__icon {
	flex: none;
	color: var(--wp--preset--color--muted);
}

.ogle-search-popup__input {
	flex: 1;
	min-width: 0;
	padding: 4px 0;
	border: 0;
	background: transparent;
	font-family: var(--ogle-serif);
	font-size: clamp(22px, 1rem + 1vw, 26px);
	color: var(--wp--preset--color--contrast);
	outline: none;
}

.ogle-search-popup__input::-webkit-search-cancel-button {
	appearance: none;
}

.ogle-search-popup__close {
	flex: none;
	padding: 4px 8px;
	border: 1px solid var(--wp--preset--color--line-strong);
	background: transparent;
	font-family: var(--ogle-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
	cursor: pointer;
}

.ogle-search-popup__close:hover {
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}

.ogle-search-popup__status {
	margin: 0;
	padding: 12px 20px 0;
	font-family: var(--ogle-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.ogle-search-popup__status:empty,
.ogle-search-popup__results:empty {
	display: none;
}

.ogle-search-popup__results {
	margin: 0;
	padding: 4px 0;
	list-style: none;
	overflow-y: auto;
}

.ogle-search-popup__result {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 20px;
	border-bottom: 1px solid var(--ogle-line);
	color: inherit;
	text-decoration: none;
}

.ogle-search-popup__results li:last-child .ogle-search-popup__result {
	border-bottom: 0;
}

.ogle-search-popup__result:hover,
.ogle-search-popup__result:focus-visible {
	background: var(--wp--preset--color--surface);
	outline: none;
	text-decoration: none;
}

.ogle-search-popup__meta {
	font-family: var(--ogle-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.ogle-search-popup__title {
	font-family: var(--ogle-serif);
	font-size: 20px;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}

.ogle-search-popup__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--soft);
}

.ogle-search-popup__all {
	display: block;
	padding: 14px 20px;
	border-top: 1px solid var(--ogle-line);
	font-size: 14px;
	color: var(--wp--preset--color--contrast);
}

.ogle-search-popup__all[hidden] {
	display: none;
}

@media (max-width: 600px) {
	.ogle-search-popup {
		width: 100%;
		height: 100dvh;
		max-height: none;
		margin: 0;
	}
}

/* ───────── Small type: labels and meta lines ───────── */

/* "CRAFT · SEP 10" */
.ogle-label,
.ogle-label a,
.ogle-label p {
	font-family: var(--ogle-mono);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 400;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.ogle-label a {
	text-decoration: none;
}

.ogle-label--accent,
.ogle-label--accent a,
.ogle-label--accent p {
	color: var(--wp--preset--color--accent);
}

.ogle-label p {
	margin: 0;
}

/* "September 24, 2026 · 12 min read" */
.ogle-meta {
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--muted);
}

/* Dots between the items of a flex label/meta row. */
.ogle-label.is-layout-flex,
.ogle-meta.is-layout-flex {
	gap: 0;
}

.ogle-label.is-layout-flex > * + *::before,
.ogle-meta.is-layout-flex > * + *::before {
	content: "·";
	margin: 0 0.55em;
}

.wp-block-post-terms__separator {
	margin-right: 0.3em;
}

/* ───────── Home: latest post ───────── */

.ogle-hero {
	margin-top: clamp(8px, 2vw, 24px);
}

.ogle-hero .wp-block-post-template {
	margin: 0;
}

.ogle-hero__cols {
	gap: clamp(28px, 5vw, 60px);
	margin: 0;
}

.ogle-hero__image,
.ogle-hero__image a {
	margin: 0;
	display: block;
}

.ogle-hero__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.ogle-hero__title {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.02;
	letter-spacing: -0.02em;
	margin-top: 14px;
}

.ogle-hero__title a,
.ogle-card__title a,
.ogle-keep__title a {
	color: inherit;
	text-decoration: none;
}

.ogle-hero__title a:hover,
.ogle-card__title a:hover,
.ogle-keep__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.ogle-hero__excerpt {
	font-family: var(--ogle-serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.45;
	color: var(--wp--preset--color--soft);
	margin-top: 20px;
}

.ogle-hero__excerpt p,
.ogle-card__excerpt p,
.ogle-keep__excerpt p {
	margin: 0;
}

.ogle-hero .ogle-meta {
	margin-top: 20px;
}

/* ───────── Home: list + sidebar ───────── */

.ogle-home__cols {
	margin-top: clamp(40px, 6vw, 56px);
	padding-top: clamp(28px, 4vw, 40px);
	border-top: 1px solid var(--ogle-line);
	gap: clamp(40px, 6vw, 64px);
}

/* Category pills */
.ogle-pills {
	gap: 8px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--ogle-line);
}

.ogle-pills p {
	margin: 0;
}

/* Let each category pill sit in the same row as "All" and wrap naturally. */
.ogle-pills .wp-block-terms-query,
.ogle-pills .wp-block-term-template {
	display: contents;
}

.ogle-pills .wp-block-term-template > li,
.ogle-pills .wp-block-term-template > li > * {
	margin: 0;
}

.ogle-pill a {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 14px;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 999px;
	font-size: 14px;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	white-space: nowrap;
}

.ogle-pill a:hover {
	border-color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.ogle-pill.is-active a {
	background: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* Post cards: thumbnail left, text right. Stacks on phones. */
.ogle-list .wp-block-post-template {
	margin-top: 0;
}

.ogle-list .wp-block-post-template > li {
	margin: 0;
	padding: 24px 0;
	border-bottom: 1px solid var(--ogle-line);
}

.ogle-card {
	gap: 24px;
	align-items: flex-start;
}

.ogle-card__image {
	flex: 0 0 var(--ogle-thumb);
	width: var(--ogle-thumb);
	margin: 0;
}

.ogle-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.ogle-card__body {
	flex: 1;
	min-width: 0;
}

.ogle-card__body > * {
	margin-block-start: 0;
}

.ogle-card__title {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.18;
	letter-spacing: -0.01em;
	margin-top: 8px !important;
}

.ogle-card__excerpt {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--soft);
	margin-top: 10px !important;
}

.ogle-more {
	margin-top: 24px;
	font-size: 14px;
}

@media (max-width: 600px) {
	.ogle-card {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.ogle-card__image {
		width: 100%;
		flex-basis: auto;
	}

	.ogle-card__image img {
		aspect-ratio: 16 / 10;
	}
}

/* Sidebar */
.ogle-sidebar > * + * {
	margin-top: 48px;
}

.ogle-about__icon {
	margin: 0;
}

.ogle-about__icon img {
	display: block;
	width: 56px;
	height: 56px;
}

.ogle-about__text {
	font-family: var(--ogle-serif);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.55;
	color: var(--wp--preset--color--body);
	margin-top: 16px;
}

.ogle-about__link {
	font-size: 14px;
	margin-top: 12px;
}

/* Editor's picks: numbered list. Hidden until at least one post is marked sticky. */
.ogle-picks:not(:has(.wp-block-post)) {
	display: none;
}

.ogle-picks .wp-block-query {
	margin-top: 12px;
}

.ogle-picks .wp-block-post-template {
	counter-reset: pick;
	margin: 0;
}

.ogle-picks .wp-block-post {
	counter-increment: pick;
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid var(--ogle-line);
}

.ogle-picks .wp-block-post:last-child {
	border-bottom: 1px solid var(--ogle-line);
}

.ogle-picks .wp-block-post::before {
	content: counter(pick, decimal-leading-zero);
	font-family: var(--ogle-mono);
	font-size: var(--wp--preset--font-size--label);
	color: var(--wp--preset--color--muted);
}

.ogle-picks .wp-block-post-title {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.35;
	margin: 0;
}

/* ───────── Article ───────── */

.ogle-article__head {
	padding-top: clamp(8px, 2vw, 24px);
}

.ogle-article__head > * {
	margin-block-start: 0;
}

.ogle-back {
	font-size: 14px;
	margin-bottom: 36px !important;
}

.ogle-back a {
	color: var(--wp--preset--color--muted);
}

.ogle-article__title {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.02;
	letter-spacing: -0.02em;
	margin-top: 14px !important;
}

.ogle-article__dek {
	font-family: var(--ogle-serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.45;
	color: var(--wp--preset--color--soft);
	margin-top: 20px !important;
}

.ogle-article__dek p {
	margin: 0;
}

.ogle-byline {
	margin-top: 28px !important;
	padding: 14px 0;
	border-top: 1px solid var(--ogle-line);
	border-bottom: 1px solid var(--ogle-line);
	gap: 12px;
	align-items: center;
	font-size: var(--wp--preset--font-size--meta);
}

.ogle-byline .wp-block-avatar img {
	display: block;
	border-radius: 50%;
}

.ogle-byline .wp-block-post-author-name {
	color: var(--wp--preset--color--contrast);
}

.ogle-article__media {
	margin-top: clamp(28px, 4vw, 40px);
}

.ogle-article__image {
	margin: 0;
}

.ogle-article__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.ogle-article__head + .ogle-article__media:not(:has(img)) {
	display: none;
}

/* Article body */
.ogle-prose {
	margin-top: clamp(32px, 5vw, 48px);
	font-family: var(--ogle-serif);
	font-size: clamp(18px, 1rem + 0.4vw, 20px);
	line-height: 1.7;
	color: var(--wp--preset--color--body);
}

.ogle-prose > * + * {
	margin-block-start: 1.1em;
}

.ogle-prose h2,
.ogle-prose h3 {
	margin-block-start: 1.8em;
}

.ogle-prose h2 {
	font-size: clamp(26px, 1.2rem + 1vw, 32px);
}

.ogle-prose h3 {
	font-size: clamp(21px, 1rem + 0.6vw, 24px);
}

.ogle-prose a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.ogle-prose ul,
.ogle-prose ol {
	padding-left: 1.2em;
}

.ogle-prose li + li {
	margin-top: 0.4em;
}

.ogle-prose figcaption {
	font-family: var(--wp--preset--font-family--sans);
}

/* Pull quote: large rust italic, no rules, left aligned. */
.ogle-prose .wp-block-pullquote {
	border: 0;
	padding: 0;
	margin-block: 1.8em;
	text-align: left;
}

.ogle-prose .wp-block-pullquote blockquote {
	margin: 0;
}

.ogle-prose .wp-block-pullquote p {
	font-family: var(--ogle-serif);
	font-size: clamp(24px, 1.1rem + 1vw, 30px);
	font-style: italic;
	line-height: 1.3;
	color: var(--wp--preset--color--accent-deep);
}

.ogle-prose .wp-block-pullquote cite,
.ogle-prose .wp-block-quote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--ogle-mono);
	font-size: var(--wp--preset--font-size--label);
	font-style: normal;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

/* Regular quote: rust rule on the left. */
.ogle-prose .wp-block-quote {
	border-left: 2px solid var(--wp--preset--color--accent);
	padding-left: 1.2em;
	font-style: italic;
}

/* Keep reading */
.ogle-keep {
	margin-top: clamp(56px, 8vw, 80px);
}

.ogle-keep .wp-block-query {
	margin-top: 12px;
}

.ogle-keep .wp-block-post-template {
	gap: 40px;
}

.ogle-keep .wp-block-post {
	padding-top: 20px;
	border-top: 1px solid var(--ogle-line);
}

.ogle-keep .wp-block-post > * {
	margin-block-start: 0;
}

.ogle-keep__title {
	font-size: clamp(22px, 1rem + 0.6vw, 26px);
	line-height: 1.2;
	margin-top: 8px !important;
}

.ogle-keep__excerpt {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--soft);
	margin-top: 10px !important;
}

@media (max-width: 600px) {
	.ogle-keep .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* ───────── Page heads (Categories, a category, Archive, Search) ───────── */

.ogle-page-head {
	padding-top: clamp(8px, 2vw, 24px);
	padding-bottom: clamp(24px, 3vw, 32px);
	border-bottom: 1px solid var(--wp--preset--color--rule);
}

.ogle-page-head > * {
	margin-block-start: 0;
}

.ogle-page-title {
	font-size: var(--wp--preset--font-size--display);
	line-height: 1;
	letter-spacing: -0.025em;
	margin-top: 12px !important;
}

.ogle-page-title--small {
	font-size: var(--wp--preset--font-size--xx-large);
}

.ogle-page-intro {
	font-family: var(--ogle-serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	color: var(--wp--preset--color--soft);
	max-width: 36em;
	margin-top: 20px !important;
}

.ogle-page-intro p {
	margin: 0;
}

.ogle-list--archive .wp-block-post-template {
	max-width: 780px;
}

.ogle-list--archive .ogle-card__title {
	font-size: var(--wp--preset--font-size--x-large);
}

/* Categories page rows */
.ogle-cat-index .wp-block-term-template > li {
	padding: 32px 0;
	border-bottom: 1px solid var(--ogle-line);
}

.ogle-cat-row {
	margin: 0;
	gap: clamp(20px, 6vw, 64px);
}

.ogle-cat-row .wp-block-column > * {
	margin-block-start: 0;
}

.ogle-cat-row__head {
	gap: 12px;
	align-items: baseline;
}

.ogle-cat-row__head h2 {
	font-size: clamp(32px, 1.4rem + 1.4vw, 40px);
	line-height: 1.05;
	margin: 0;
}

.ogle-cat-row__head h2 a {
	color: inherit;
	text-decoration: none;
}

.ogle-count {
	font-family: var(--ogle-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--muted);
}

.ogle-label--accent .ogle-count {
	color: inherit;
	letter-spacing: inherit;
}

.ogle-cat-row .wp-block-term-description {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--soft);
	max-width: 34ch;
	margin-top: 14px;
}

.ogle-cat-row .wp-block-term-description p {
	margin: 0;
}

.ogle-all-link {
	font-size: 14px;
	margin-top: 16px !important;
}

.ogle-all-link a::before {
	content: "All ";
}

.ogle-all-link a::after {
	content: " posts →";
}

/* Title + date rows (Categories page, Archive page) */
.ogle-rows .wp-block-post-template {
	margin: 0;
}

.ogle-rows .wp-block-post {
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--ogle-line);
}

.ogle-cat-row .ogle-rows .wp-block-post:first-child {
	border-top: 1px solid var(--ogle-line);
}

.ogle-row {
	gap: 24px;
	align-items: baseline;
}

.ogle-row .wp-block-post-title {
	font-size: clamp(18px, 1rem + 0.3vw, 20px);
	line-height: 1.35;
	margin: 0;
}

.ogle-row .wp-block-post-title a {
	color: inherit;
}

.ogle-row > .wp-block-post-date,
.ogle-row > .ogle-label {
	flex-shrink: 0;
	font-family: var(--ogle-mono);
	font-size: var(--wp--preset--font-size--label);
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}

.ogle-rows--archive .ogle-row .wp-block-post-title {
	font-size: clamp(20px, 1rem + 0.5vw, 23px);
}

@media (max-width: 600px) {
	.ogle-rows--archive .ogle-row {
		flex-direction: column;
		gap: 6px;
	}
}

/* Pagination */
.ogle-pagination {
	margin-top: 32px;
	font-size: 14px;
}

/* Search box */
.ogle-search {
	margin-top: 24px !important;
	max-width: 480px;
}

.ogle-search .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--line-strong);
	background: var(--wp--preset--color--white);
	padding: 10px 12px;
	font: inherit;
}

/* ───────── Newsletter signup (the Newsletter plugin's minimal form) ───────── */

.ogle-subscribe {
	padding: 24px;
	background: var(--wp--preset--color--surface);
}

.ogle-subscribe > *,
.ogle-subscribe__text > * {
	margin-block-start: 0;
}

.ogle-subscribe__title {
	font-size: clamp(21px, 1rem + 0.4vw, 23px);
	line-height: 1.2;
	letter-spacing: -0.005em;
	margin: 0;
}

.ogle-subscribe__note {
	font-size: var(--wp--preset--font-size--meta);
	line-height: 1.5;
	color: var(--wp--preset--color--soft);
	margin: 8px 0 0 !important;
}

.ogle-subscribe .tnp-subscription-minimal {
	margin: 18px 0 0;
}

.ogle-subscribe .tnp-subscription-minimal form {
	display: flex;
	flex-direction: column;
	gap: 8px;
	white-space: normal;
}

.ogle-subscribe .tnp-subscription-minimal input.tnp-email {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 11px 12px;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 0;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px;
	line-height: 20px;
}

.ogle-subscribe .tnp-subscription-minimal input.tnp-email:focus {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: -1px;
}

.ogle-subscribe .tnp-subscription-minimal input.tnp-submit {
	width: 100%;
	margin: 0;
	padding: 11px 16px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	cursor: pointer;
}

.ogle-subscribe .tnp-subscription-minimal input.tnp-submit:hover {
	background: var(--wp--preset--color--body);
}

/* Privacy checkbox (when switched on in Newsletter → Settings): its own line under the field. */
.ogle-subscribe .tnp-subscription-minimal .tnp-privacy-field {
	flex-basis: 100%;
	margin: 2px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--wp--preset--color--soft);
	white-space: normal;
}

.ogle-subscribe .tnp-privacy-field label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.ogle-subscribe .tnp-privacy-field input.tnp-privacy {
	flex: none;
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--wp--preset--color--contrast);
}

.ogle-subscribe .tnp-privacy-field a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* End-of-article version: text left, form right; stacks on phones. */
.ogle-subscribe--inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: clamp(40px, 6vw, 56px) !important;
	padding: 22px 24px;
}

.ogle-subscribe--inline .ogle-subscribe__text {
	flex: 1 1 200px;
}

.ogle-subscribe--inline .tnp-subscription-minimal {
	flex: 1 1 280px;
	margin: 0;
}

.ogle-subscribe--inline .tnp-subscription-minimal form {
	flex-direction: row;
	flex-wrap: wrap;
}

.ogle-subscribe--inline .tnp-subscription-minimal input.tnp-email {
	flex: 1 1 160px;
	min-width: 0;
}

.ogle-subscribe--inline .tnp-subscription-minimal input.tnp-submit {
	width: auto;
}

@media (max-width: 480px) {
	.ogle-subscribe--inline .tnp-subscription-minimal form {
		flex-direction: column;
	}

	.ogle-subscribe--inline .tnp-subscription-minimal input.tnp-email {
		flex: none;
	}

	.ogle-subscribe--inline .tnp-subscription-minimal input.tnp-submit {
		width: 100%;
	}
}

/* ───────── Ad slots (Ogle Ads plugin) ───────── */

.ogle-ad-slot:empty {
	display: none;
}

.ogle-main > .ogle-ad-slot[data-ogle-ad-slot="home-feature"] {
	margin-top: clamp(40px, 6vw, 56px);
}

/* Keep the sidebar's spacing right whether or not an ad is showing above the About box. */
.ogle-sidebar > .ogle-ad-slot:empty + * {
	margin-top: 0;
}

.ogle-list--archive > .ogle-ad-slot {
	max-width: 780px;
	margin-top: 32px;
}

.ogle-prose .ogle-ad-slot,
.ogle-article > .ogle-ad-slot {
	margin-block: clamp(32px, 5vw, 48px);
}

/* ───────── Footer ───────── */

.ogle-site-footer {
	margin-top: clamp(72px, 10vw, 112px);
	padding-top: clamp(40px, 6vw, 64px);
	padding-bottom: 32px;
	border-top: 1px solid var(--wp--preset--color--line-strong);
	font-size: 15px;
	color: var(--wp--preset--color--soft);
}

.ogle-site-footer p {
	margin: 0;
}

/* Brand on the left, three link columns on the right; wraps and stacks on phones. */
.ogle-footer-cols {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 56px;
}

.ogle-footer-cols > * {
	margin: 0;
}

.ogle-footer-brand {
	flex: 1.8 1 240px;
}

.ogle-footer-col {
	flex: 1 1 170px;
}

.ogle-site-footer .ogle-footer-brand > * + * {
	margin-top: 16px;
}

.ogle-site-footer .ogle-footer-col > * + * {
	margin-top: 18px;
}

.ogle-footer-logo {
	margin: 0;
	line-height: 0;
}

.ogle-footer-logo img {
	display: block;
	width: 104px;
	height: auto;
}

.ogle-footer-brand p {
	max-width: 28ch;
	line-height: 1.55;
}

/* Column headings: "Categories", "Top posts", "Get the app" */
.ogle-site-footer .ogle-footer-heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--wp--preset--color--contrast);
}

/* Underlined link lists (categories, top posts) */
.ogle-footer-links .wp-block-term-template,
.ogle-footer-links .wp-block-post-template {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
}

.ogle-footer-links .wp-block-term-template > li,
.ogle-footer-links .wp-block-post-template > li,
.ogle-footer-links li > * {
	margin: 0;
}

.ogle-footer-links .wp-block-post-title {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0;
}

.ogle-footer-links a {
	font-size: 15px;
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.ogle-footer-links a:hover {
	color: var(--wp--preset--color--accent);
}

/* App store badges, stacked */
.ogle-app-badges > * + * {
	margin-top: 10px !important;
}

.ogle-app-badges .wp-block-image {
	margin: 0;
	line-height: 0;
}

.ogle-app-badges img {
	display: block;
	width: auto;
	height: 40px;
}

/* Bottom bar: copyright and links on the left, social icons on the right */
.ogle-footer-bottom {
	margin-top: clamp(40px, 6vw, 64px) !important;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--line-strong);
	gap: 16px 32px;
	align-items: center;
}

.ogle-site-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	font-size: 14px;
	color: var(--wp--preset--color--body);
}

.ogle-site-footer__links a {
	color: var(--wp--preset--color--body);
}

.ogle-social.wp-block-social-links {
	gap: 20px;
	margin: 0;
	font-size: 20px;
}

.ogle-social.is-style-logos-only .wp-social-link {
	color: var(--wp--preset--color--contrast);
}

.ogle-social.is-style-logos-only .wp-social-link:hover {
	color: var(--wp--preset--color--accent);
}
