/*
Theme Name: EBAYONET
Theme URI: https://ebayonet.com/
Author: United Software Technologies Corporation
Description: A full-site editing theme for Dennis D. Ottobre's EBAYONET catalogue.
Version: 4.3.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: ebayonet
*/

/* ============================================================
   EBAYONET — "The Ordnance Catalogue" design system
   Manila card stock under paper grain, gunmetal ink, olive drab
   actions, cartridge brass data labels, stamp red reserved for
   warnings and error notices.
   Square corners, hard rules, hard offset shadows. Barlow
   Condensed display, IBM Plex Mono as the data voice for every
   number, Public Sans for running text.
   Signature: the specimen plate — the featured piece mounted on a
   framed card-stock plate with photo corners and a mono plate label —
   supported by the punched accession tag and ink-chip ledger tabs.
   See docs/design/DESIGN-JOURNAL.md.
   ============================================================ */

/* Self-hosted faces — no external font service, so the design renders
   identically on locked-down networks. */

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/barlow-condensed-500.woff2") format("woff2");
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/barlow-condensed-600.woff2") format("woff2");
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/barlow-condensed-700.woff2") format("woff2");
}

@font-face {
	font-family: "Public Sans";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("assets/fonts/public-sans-var.woff2") format("woff2");
}

@font-face {
	font-family: "Public Sans";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url("assets/fonts/public-sans-italic-var.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/ibm-plex-mono-400.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/ibm-plex-mono-500.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/ibm-plex-mono-600.woff2") format("woff2");
}

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

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	background: var(--wp--preset--color--bg);
	color: var(--wp--preset--color--fg);
}

/* Paper grain over the whole sheet. Fixed so it never scrolls against the
   content; multiply keeps it reading as stock rather than dirt. */
body::after {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");
	content: "";
	inset: 0;
	mix-blend-mode: multiply;
	opacity: 0.05;
	pointer-events: none;
	position: fixed;
	z-index: 2147483000;
}

::selection {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

img {
	height: auto;
	max-width: 100%;
}

a {
	text-underline-offset: 3px;
}

:focus-visible {
	border-radius: var(--wp--custom--radius--small);
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.ebayonet-skip {
	background: var(--wp--preset--color--fg);
	border-radius: var(--wp--custom--radius--medium);
	color: var(--wp--preset--color--white);
	left: -9999px;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	position: absolute;
	top: var(--wp--preset--spacing--40);
	z-index: 200;
}

.ebayonet-skip:focus {
	left: var(--wp--preset--spacing--40);
}

.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;
	white-space: nowrap;
	width: 1px;
}

.screen-reader-text:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	margin: 0;
	width: auto;
}

/* ---------- Buttons ---------- */

.wp-element-button,
.wp-block-button__link {
	border: 1px solid var(--wp--preset--color--accent-dark);
	border-radius: var(--wp--custom--radius--medium);
	font-weight: 600;
	min-height: 46px;
	padding: 12px 24px;
	transition:
		background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background: var(--wp--preset--color--accent-dark);
	box-shadow: 3px 3px 0 rgba(32, 34, 28, 0.85);
	transform: translate(-1px, -1px);
}

.wp-element-button:active,
.wp-block-button__link:active {
	box-shadow: 0 0 0 rgba(32, 34, 28, 0);
	transform: translate(0, 0);
}

.is-style-secondary > .wp-block-button__link:hover {
	background: var(--wp--preset--color--raise);
	border-color: var(--wp--preset--color--muted);
}

.is-style-ghost > .wp-block-button__link:hover {
	background: var(--wp--preset--color--raise);
}

/* ---------- Header: utility bar ---------- */

.ebayonet-topbar {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.01em;
}

.ebayonet-topbar > .wp-block-group {
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
}

.ebayonet-topbar p {
	margin: 0;
}

.ebayonet-topbar a {
	color: var(--wp--preset--color--on-dark);
	text-decoration: none;
}

.ebayonet-topbar a:hover {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
}

.ebayonet-topbar strong,
.ebayonet-topbar b {
	color: var(--wp--preset--color--white);
}

/* ---------- Header: masthead ---------- */

.ebayonet-masthead {
	background: var(--wp--preset--color--bg);
	border-bottom: 2px solid var(--wp--preset--color--fg);
	margin-bottom: 0;
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0);
	z-index: 40;
}

/* Full-width rows sit flush with the viewport edges; give the header row
   its own gutter so the wordmark and burger never kiss the screen edge. */
.ebayonet-masthead > .wp-block-group {
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
}

.ebayonet-wordmark {
	color: var(--wp--preset--color--fg);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.25rem, 5.5vw, 1.625rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.ebayonet-wordmark span {
	color: inherit;
}

.ebayonet-wordmark:hover {
	color: var(--wp--preset--color--fg);
}

.ebayonet-masthead .wp-block-navigation-item__content {
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--fg-2);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	min-height: var(--wp--custom--minimum-target);
	padding: 9px 12px;
	text-transform: uppercase;
}

.ebayonet-masthead .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--raise);
	color: var(--wp--preset--color--fg);
}

.ebayonet-masthead .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--accent);
}

.ebayonet-masthead .wp-block-search__inside-wrapper {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--medium);
	padding: 3px;
}

.ebayonet-masthead .wp-block-search__input {
	background: transparent;
	border: 0;
	font-size: var(--wp--preset--font-size--sm);
	min-height: 40px;
	padding: 6px 10px;
}

.ebayonet-masthead .wp-block-search__input:focus {
	outline: none;
}

.ebayonet-masthead .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 2px var(--wp--preset--color--accent-soft);
}

.ebayonet-masthead .wp-block-search__button {
	background: var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--white);
	min-height: 40px;
	padding: 6px 12px;
}

.ebayonet-masthead .wp-block-search__button:hover {
	background: var(--wp--preset--color--accent-dark);
}

/* ---------- Header: mobile menu ---------- */

.ebayonet-masthead .wp-block-navigation__responsive-container-open,
.ebayonet-masthead .wp-block-navigation__responsive-close {
	color: var(--wp--preset--color--fg);
	min-height: var(--wp--custom--minimum-target);
	min-width: var(--wp--custom--minimum-target);
}

/* The burger gets a visible chip — core's bare two-line SVG reads as a
   smudge on small screens. */
.ebayonet-masthead .wp-block-navigation__responsive-container-open {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--small);
	padding: 8px;
}

/* Subtle, quiet hover — underline only, no big highlighted pill. */
.ebayonet-masthead .wp-block-navigation-item__content:hover {
	background: transparent;
	color: var(--wp--preset--color--fg);
	text-decoration: underline;
	text-underline-offset: 5px;
}

.ebayonet-masthead .current-menu-item > .wp-block-navigation-item__content {
	background: transparent;
	color: var(--wp--preset--color--accent);
}

.ebayonet-masthead .wp-block-navigation__responsive-container-open:hover,
.ebayonet-masthead .wp-block-navigation__responsive-close:hover {
	background: transparent;
	color: var(--wp--preset--color--accent);
}

/* Full-screen overlay, themed instead of core's blank white sheet.
   !important is required: core's
   .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay)
   weighs in at four classes (0,4,0) and otherwise beats these rules,
   leaving a white sheet under the light menu text. */
.ebayonet-masthead .wp-block-navigation__responsive-container.has-modal-open,
.ebayonet-masthead .wp-block-navigation__responsive-container.is-menu-open {
	background: #23261c !important;
	color: #ece8d9 !important;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.ebayonet-masthead .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-close,
.ebayonet-masthead .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
	color: #ece8d9 !important;
}

.ebayonet-masthead .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item__content,
.ebayonet-masthead .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	background: transparent !important;
	color: #ece8d9 !important;
	font-size: 1.375rem;
	padding: 12px 4px;
}

.ebayonet-masthead .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item__content:hover,
.ebayonet-masthead .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: #ffffff !important;
}

/* Core draws the close "X" as stroked lines; left unfilled it reads as a
   blank square on the dark sheet. */
.ebayonet-masthead .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-close svg,
.ebayonet-masthead .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
}

/* ---------- Shared bits ---------- */

.ebayonet-eyebrow {
	align-items: center;
	color: var(--wp--preset--color--brass);
	display: flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	gap: var(--wp--preset--spacing--30);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ebayonet-eyebrow::before {
	background: currentColor;
	content: "";
	flex: 0 0 22px;
	height: 1px;
}

/* The signature stock-number tag: a punched accession label. */
.ebayonet-stock {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--fg-2);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	padding: 3px 9px 3px 7px;
}

.ebayonet-stock::before {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 50%;
	content: "";
	flex: 0 0 auto;
	height: 7px;
	margin-right: 7px;
	width: 7px;
}

.ebayonet-item-card__body .ebayonet-stock {
	align-self: flex-start;
}

button.ebayonet-stock {
	cursor: pointer;
}

button.ebayonet-stock:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

button.ebayonet-stock:hover::before {
	border-color: var(--wp--preset--color--accent);
}

.ebayonet-photocount {
	background: rgba(32, 34, 28, 0.78);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	padding: 4px 8px;
	position: absolute;
	right: 10px;
	top: 10px;
	z-index: 2;
}

/* Placeholder for pieces without a photograph: a quiet, empty stage in the
   data voice — no invitation to request one. */
.ebayonet-nophoto {
	align-items: center;
	background: var(--wp--preset--color--raise);
	color: var(--wp--preset--color--muted);
	display: flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	width: 100%;
}

.ebayonet-nophoto.is-large {
	aspect-ratio: 4 / 3;
	border: 1px solid var(--wp--preset--color--line-2);
	font-size: 0.8rem;
	height: auto;
}

/* ---------- Item grid + cards ---------- */

.ebayonet-item-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ebayonet-catalogue-shell {
	margin-inline: auto;
	max-width: 1560px;
	width: 100%;
}

.ebayonet-item-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--small);
	box-shadow: var(--wp--preset--shadow--e1);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition:
		border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--base) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-item-card:hover {
	border-color: var(--wp--preset--color--fg);
	box-shadow: var(--wp--preset--shadow--e2);
	transform: translate(-1px, -1px);
}

.ebayonet-item-card__image {
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--raise);
	display: block;
	overflow: hidden;
	position: relative;
}

.ebayonet-item-card__image img {
	height: 100%;
	/* Whole bayonet, tip to pommel — never a centre crop. */
	object-fit: contain;
	transition: opacity var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
	width: 100%;
}

.ebayonet-item-card:hover .ebayonet-item-card__image img {
	opacity: 0.92;
}

.ebayonet-item-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding: 16px 18px 18px;
}

.ebayonet-item-card h2 {
	color: var(--wp--preset--color--fg);
	display: -webkit-box;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 1.2;
	margin: 0;
	min-height: 2.4em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ebayonet-item-card h2 a {
	color: inherit;
	text-decoration: none;
}

.ebayonet-item-card h2 a:hover {
	color: var(--wp--preset--color--accent);
}

.ebayonet-item-card__excerpt {
	color: var(--wp--preset--color--muted);
	display: -webkit-box;
	font-size: var(--wp--preset--font-size--xs);
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ebayonet-item-card__footer {
	align-items: baseline;
	border-top: 1px solid var(--wp--preset--color--line);
	display: flex;
	gap: var(--wp--preset--spacing--20);
	justify-content: space-between;
	margin-top: auto;
	padding-top: 10px;
}

.ebayonet-item-card__footer .ebayonet-price {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0;
}

.ebayonet-item-card__footer .ebayonet-region {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-align: right;
	text-transform: uppercase;
}

/* ---------- Homepage: Otto's notes ----------
   His own home-page paragraphs, unchanged, but seated as index cards in a
   two-up grid instead of one long column. Titles are ledger tabs. */

.ebayonet-troops {
	color: var(--wp--preset--color--fg-2);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.125rem;
	letter-spacing: 0.01em;
	margin: 0 auto var(--wp--preset--spacing--50);
	max-width: 62ch;
	text-align: center;
}

.ebayonet-home-notes .wp-block-columns.ebayonet-notes {
	gap: 24px;
	margin-bottom: 24px;
}

.ebayonet-note {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--wp--preset--shadow--e1);
	height: 100%;
	padding: 22px 24px 20px;
}

.ebayonet-note--wide {
	margin-bottom: 24px;
}

.ebayonet-note__title {
	border-bottom: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--fg);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin: 0 0 14px;
	padding-bottom: 10px;
	text-transform: uppercase;
}

.ebayonet-note p {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.55;
	margin: 0 0 12px;
}

.ebayonet-note p:last-child {
	margin-bottom: 0;
}

/* The long offers paragraph reads better as two newspaper columns. */
@media (min-width: 900px) {
	.ebayonet-note__long {
		column-count: 2;
		column-gap: 32px;
	}
}

.ebayonet-note__link {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.ebayonet-note__link:hover {
	color: var(--wp--preset--color--fg);
	text-decoration: underline;
}

/* ---------- Homepage: manual cover ---------- */

main.wp-block-group {
	margin-block-start: 0;
}

/* The hero is the cover of the catalogue: framed like a field-manual title
   plate, with the specimen plate seated on the right. */
.ebayonet-cover {
	background: var(--wp--preset--color--surface);
	border-bottom: 2px solid var(--wp--preset--color--fg);
	margin-block-start: 0;
	position: relative;
}

/* Inner hairline frame, inset like a printed cover border. */
.ebayonet-cover::before {
	border: 1px solid var(--wp--preset--color--line-2);
	content: "";
	inset: 14px;
	pointer-events: none;
	position: absolute;
}

.ebayonet-cover__kicker {
	align-items: center;
	color: var(--wp--preset--color--brass);
	display: flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	font-weight: 600;
	gap: 12px;
	letter-spacing: 0.16em;
	margin-bottom: var(--wp--preset--spacing--40);
	text-transform: uppercase;
}

.ebayonet-cover__kicker::before {
	background: currentColor;
	content: "";
	flex: 0 0 30px;
	height: 1px;
}

.ebayonet-cover__title {
	font-size: clamp(2.75rem, 7.5vw, 5.625rem);
	font-weight: 700;
	letter-spacing: 0.005em;
	line-height: 0.94;
	margin: 0 0 var(--wp--preset--spacing--40);
	max-width: 18ch;
	text-transform: uppercase;
}

.ebayonet-cover__standfirst {
	color: var(--wp--preset--color--fg-2);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.6;
	margin: 0 0 var(--wp--preset--spacing--50);
	max-width: 46ch;
}

.ebayonet-cover__link {
	border: 1px solid var(--wp--preset--color--fg);
	color: var(--wp--preset--color--fg);
	display: inline-block;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 12px 24px;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-cover__link:hover {
	background: var(--wp--preset--color--fg);
	box-shadow: 3px 3px 0 var(--wp--preset--color--line-2);
	color: var(--wp--preset--color--surface);
	transform: translate(-1px, -1px);
}

/* ---------- Homepage: country strip ---------- */

/* The country index: one ledger row of drawer labels, each with its count
   set as data. Reads as the index card at the front of the drawer. */
.ebayonet-strip {
	background: var(--wp--preset--color--bg);
	border-bottom: 1px solid var(--wp--preset--color--line-2);
}

/* The nav is a child of a constrained group, so core caps it at contentSize;
   the index row wants the wide measure. */
.ebayonet-strip .ebayonet-countrynav {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 1280px);
	padding: 0;
}

.ebayonet-countrynav__label {
	align-items: center;
	color: var(--wp--preset--color--brass);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	padding: 14px 0;
	text-transform: uppercase;
	white-space: nowrap;
}

.ebayonet-countrynav ul {
	align-items: stretch;
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Each tab draws its own top hairline so wrapped rows still separate; the
   first row's hairline is pulled up under the cover's ink rule. */
.ebayonet-countrynav ul {
	margin-top: -1px;
}

.ebayonet-countrynav li {
	border-left: 1px solid var(--wp--preset--color--line-2);
	border-top: 1px solid var(--wp--preset--color--line-2);
}

.ebayonet-countrynav a {
	align-items: baseline;
	color: var(--wp--preset--color--fg);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1rem;
	font-weight: 600;
	gap: 8px;
	height: 100%;
	letter-spacing: 0.05em;
	padding: 14px 16px;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-countrynav a:hover {
	background: var(--wp--preset--color--fg);
	color: var(--wp--preset--color--bg);
}

.ebayonet-countrynav a .count {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.ebayonet-countrynav a:hover .count {
	color: var(--wp--preset--color--on-dark-muted);
}

.ebayonet-countrynav .is-all {
	border-right: 1px solid var(--wp--preset--color--line-2);
}

.ebayonet-countrynav .is-all a {
	color: var(--wp--preset--color--accent);
}

/* ---------- Homepage: hero featured piece ---------- */

.ebayonet-hero-feature {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--small);
	box-shadow: var(--wp--preset--shadow--e2);
	display: block;
	margin-left: auto;
	max-width: 400px;
	overflow: hidden;
}

.ebayonet-hero-feature__image {
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--raise);
	border-bottom: 1px solid var(--wp--preset--color--line);
	display: block;
	overflow: hidden;
	position: relative;
}

.ebayonet-hero-feature__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ebayonet-hero-feature__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px 20px;
}

.ebayonet-hero-feature__no {
	color: var(--wp--preset--color--brass);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ebayonet-hero-feature__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.1;
	margin: 0;
	text-transform: uppercase;
}

.ebayonet-hero-feature__title a {
	color: inherit;
	text-decoration: none;
}

.ebayonet-hero-feature__title a:hover {
	color: var(--wp--preset--color--accent);
}

.ebayonet-hero-feature__meta {
	align-items: baseline;
	border-bottom: 1px solid var(--wp--preset--color--line);
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--fg-2);
	display: flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	gap: 14px;
	margin: 0;
	padding: 8px 0;
}

.ebayonet-hero-feature__price {
	color: var(--wp--preset--color--fg);
	font-weight: 700;
	margin-left: auto;
}

.ebayonet-hero-feature__link {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	margin-top: 4px;
	text-decoration: none;
	text-transform: uppercase;
}

.ebayonet-hero-feature__link:hover {
	text-decoration: underline;
}

/* ---------- The specimen plate (signature) ----------
   The featured piece presented the way collectors photograph blades:
   mounted on card stock with photo corners, framed in ink, with a mono
   plate label. Rendered by the hero-featured shortcode. */

.ebayonet-plate {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--fg);
	box-shadow: 6px 6px 0 rgba(27, 29, 22, 0.16);
	margin-left: auto;
	max-width: 440px;
	padding: 12px 12px 16px;
	position: relative;
}

.ebayonet-plate__stage {
	background: var(--wp--preset--color--raise);
	border: 1px solid var(--wp--preset--color--line-2);
	display: block;
	margin: 0;
	position: relative;
}

.ebayonet-plate__stage > a {
	aspect-ratio: 3 / 2;
	display: block;
	overflow: hidden;
	position: relative;
}

.ebayonet-plate__stage img {
	display: block;
	height: 100%;
	/* Whole bayonet, tip to pommel — never a centre crop. */
	object-fit: contain;
	width: 100%;
}

/* Photo-corner mounts. */
.ebayonet-plate__stage::before,
.ebayonet-plate__stage::after {
	border: 2px solid var(--wp--preset--color--surface);
	content: "";
	height: 16px;
	opacity: 0.9;
	pointer-events: none;
	position: absolute;
	width: 16px;
	z-index: 2;
}

.ebayonet-plate__stage::before {
	border-bottom: 0;
	border-right: 0;
	left: 8px;
	top: 8px;
}

.ebayonet-plate__stage::after {
	border-left: 0;
	border-top: 0;
	bottom: 8px;
	right: 8px;
}

.ebayonet-plate__stage .ebayonet-photocount {
	border-radius: 0;
}

/* Plate label sits under an ink rule; no ruler — the photographs are not
   to scale and the plate must not imply they are. */
.ebayonet-plate__caption {
	align-items: baseline;
	border-top: 1px solid var(--wp--preset--color--fg);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-top: 12px;
	padding-top: 10px;
}

.ebayonet-plate__no {
	color: var(--wp--preset--color--brass);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ebayonet-plate__price {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.0625rem;
	font-weight: 600;
}

.ebayonet-plate__title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.08;
	margin: 6px 0 0;
	text-transform: uppercase;
}

.ebayonet-plate__title a {
	color: inherit;
	text-decoration: none;
}

.ebayonet-plate__title a:hover {
	color: var(--wp--preset--color--accent);
}

.ebayonet-plate__meta {
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--fg-2);
	display: flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	gap: 14px;
	margin: 10px 0 0;
	padding-top: 8px;
}

.ebayonet-plate__link {
	color: var(--wp--preset--color--accent);
	display: inline-block;
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	margin-top: 8px;
	text-decoration: none;
	text-transform: uppercase;
}

.ebayonet-plate__link:hover {
	text-decoration: underline;
}

/* ---------- Homepage: load more ---------- */

.ebayonet-loadmore {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 20px;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--50);
}

.ebayonet-loadmore__btn {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--fg);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1rem;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.07em;
	min-height: 46px;
	padding: 11px 26px;
	text-transform: uppercase;
	transition:
		border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-loadmore__btn:hover:not(:disabled) {
	border-color: var(--wp--preset--color--fg);
	box-shadow: 3px 3px 0 rgba(32, 34, 28, 0.85);
	transform: translate(-1px, -1px);
}

.ebayonet-loadmore__btn:disabled {
	cursor: default;
	opacity: 0.6;
}

.ebayonet-loadmore__count {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ---------- Section heads (homepage) ---------- */

/* Ledger tab: the section name is a solid ink chip hung from a heavy rule,
   like the tab on a drawer of accession cards. */
.ebayonet-sec-head {
	align-items: baseline;
	border-top: 2px solid var(--wp--preset--color--fg);
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	margin-bottom: var(--wp--preset--spacing--50);
	padding-top: 0;
}

.ebayonet-sec-head h2 {
	background: var(--wp--preset--color--fg);
	color: var(--wp--preset--color--bg);
	padding: 6px 16px 7px;
}

.ebayonet-sec-head h2,
.ebayonet-catalogue__header h1,
.ebayonet-editorial > h1,
.ebayonet-related > h2,
.ebayonet-empty h2,
.ebayonet-expert h2 {
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.ebayonet-sec-head h2 {
	font-size: 1.4375rem;
	letter-spacing: 0.06em;
	margin: 0;
}

.ebayonet-sec-head .ebayonet-more {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	margin-left: auto;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.ebayonet-sec-head .ebayonet-more:hover {
	text-decoration: underline;
}

/* ---------- Homepage: appraisal band ---------- */

.ebayonet-band {
	background: var(--wp--preset--color--dark);
	border-bottom: 2px solid var(--wp--preset--color--fg);
	border-top: 2px solid var(--wp--preset--color--fg);
	color: var(--wp--preset--color--on-dark);
}

/* Stencil plate: the title carries a doubled frame like a manual cover. */
.ebayonet-band__title {
	border: 1px solid var(--wp--preset--color--on-dark-muted);
	display: inline-block;
	font-size: var(--wp--preset--font-size--3-xl);
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.05;
	margin: 0 0 var(--wp--preset--spacing--40);
	max-width: 24ch;
	outline: 1px solid var(--wp--preset--color--on-dark-muted);
	outline-offset: 4px;
	padding: 10px 18px 12px;
	text-transform: uppercase;
}

.ebayonet-band__copy {
	color: var(--wp--preset--color--on-dark-muted);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.55;
	margin: 0;
	max-width: 52ch;
}

.ebayonet-band__panel {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--fg);
	border-radius: 0;
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.35);
}

.ebayonet-band__panel,
.ebayonet-band__panel h3,
.ebayonet-band__panel label,
.ebayonet-band__panel p {
	color: var(--wp--preset--color--fg);
}

.ebayonet-band__form-title {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	letter-spacing: 0.02em;
	margin: 0 0 var(--wp--preset--spacing--30);
	text-transform: uppercase;
}

/* ---------- Legacy homepage blocks (pre-refresh installs) ---------- */

.ebayonet-trust {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--large);
	box-shadow: var(--wp--preset--shadow--e1);
	overflow: hidden;
}

.ebayonet-trust > .wp-block-column {
	border-right: 1px solid var(--wp--preset--color--line);
}

.ebayonet-trust > .wp-block-column:last-child {
	border-right: 0;
}

.ebayonet-category {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--medium);
	box-shadow: var(--wp--preset--shadow--e1);
	height: 100%;
	transition:
		border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--base) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--base) var(--wp--custom--motion--ease);
}

.ebayonet-category:hover {
	border-color: var(--wp--preset--color--accent);
	box-shadow: var(--wp--preset--shadow--e2);
	transform: translateY(-2px);
}

.ebayonet-category a {
	text-decoration: none;
}

.ebayonet-panel {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--large);
	box-shadow: var(--wp--preset--shadow--e1);
}

/* ---------- Catalogue ---------- */

.ebayonet-catalogue,
.ebayonet-single-item {
	width: 100%;
}

/* Breadcrumb: a routing-slip line in the data voice — mono, small caps,
   separators kept quiet. */
.ebayonet-breadcrumb {
	align-items: baseline;
	color: var(--wp--preset--color--muted);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	gap: 4px 10px;
	letter-spacing: 0.12em;
	margin-bottom: var(--wp--preset--spacing--40);
	text-transform: uppercase;
}

.ebayonet-breadcrumb a {
	color: var(--wp--preset--color--fg-2);
	text-decoration: none;
}

.ebayonet-breadcrumb a:hover {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

/* Slash separators are furniture, not content. */
.ebayonet-breadcrumb span[aria-hidden="true"] {
	color: var(--wp--preset--color--line-2);
}

/* Page header: the drawer label. Same family as the .ebayonet-sec-head
   ledger tab — a heavy ink rule with the title hung from it as a solid
   ink chip, scaled up to h1 size. */
.ebayonet-catalogue__header {
	border-top: 2px solid var(--wp--preset--color--fg);
	margin-bottom: var(--wp--preset--spacing--50);
	max-width: 820px;
}

.ebayonet-catalogue__header h1 {
	background: var(--wp--preset--color--fg);
	color: var(--wp--preset--color--bg);
	display: inline-block;
	font-size: var(--wp--preset--font-size--3-xl);
	letter-spacing: 0.04em;
	line-height: 1;
	margin-block: 0 var(--wp--preset--spacing--30);
	padding: 8px 22px 12px;
}

.ebayonet-catalogue__header p {
	color: var(--wp--preset--color--fg-2);
	margin: 0;
	max-width: 62ch;
}

.ebayonet-catalogue__layout {
	align-items: start;
	display: grid;
	gap: 36px;
	grid-template-columns: 280px minmax(0, 1fr);
}

/* The results column: a grid child must be allowed to shrink or the card
   grid forces the layout wider than the viewport. */
.ebayonet-catalogue__main {
	min-width: 0;
}

/* AJAX load-more wrapper around the grid (plugin markup). */
.ebayonet-item-grid-wrap {
	min-width: 0;
	position: relative;
}

/* Filter rail: the card drawer itself — card stock, ink border, hard
   offset shadow like the specimen plate. Never blurred elevation. */
.ebayonet-rail {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--fg);
	border-radius: 0;
	box-shadow: 4px 4px 0 rgba(27, 29, 22, 0.12);
	max-height: calc(100vh - 90px);
	overflow: auto;
	padding: 20px 20px 24px;
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 74px);
}

/* Group labels: brass mono, like the data labels on the accession cards. */
.ebayonet-rail h2,
.ebayonet-rail h3 {
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--brass);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin: 22px 0 12px;
	padding-top: 18px;
	text-transform: uppercase;
}

.ebayonet-rail h2:first-child {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

.ebayonet-catalogue-filters p {
	margin: 0;
}

.ebayonet-catalogue-filters label,
.ebayonet-form label {
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	margin-bottom: var(--wp--preset--spacing--20);
}

.ebayonet-radio label {
	align-items: center;
	display: flex;
	font-weight: 400;
	gap: 10px;
	padding: 7px 0;
}

.ebayonet-radio input[type="radio"],
.ebayonet-check input[type="checkbox"],
.ebayonet-radio input[type="checkbox"] {
	accent-color: var(--wp--preset--color--accent);
	height: 17px;
	width: 17px;
}

.ebayonet-catalogue-filters input[type="search"],
.ebayonet-catalogue-filters input[type="text"],
.ebayonet-catalogue-filters select,
.ebayonet-form input:not([type="checkbox"]):not([type="radio"]),
.ebayonet-form textarea,
.ebayonet-sort select {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 0;
	color: var(--wp--preset--color--fg);
	font: inherit;
	font-size: var(--wp--preset--font-size--sm);
	min-height: 44px;
	padding: 10px 12px;
	width: 100%;
}

.ebayonet-catalogue-filters input:focus,
.ebayonet-catalogue-filters select:focus,
.ebayonet-form input:focus,
.ebayonet-form textarea:focus,
.ebayonet-sort select:focus {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 2px var(--wp--preset--color--accent-soft);
	outline: none;
}

.ebayonet-form textarea {
	resize: vertical;
}

/* Apply / submit: the stencil button voice used site-wide, squared. */
.ebayonet-catalogue-filters button,
.ebayonet-form button,
.ebayonet-sort button {
	background: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent-dark);
	border-radius: 0;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	min-height: 46px;
	padding: 10px 20px;
	text-transform: uppercase;
	transition:
		background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-catalogue-filters button:hover,
.ebayonet-form button:hover,
.ebayonet-sort button:hover {
	background: var(--wp--preset--color--accent-dark);
	box-shadow: 3px 3px 0 rgba(32, 34, 28, 0.85);
	transform: translate(-1px, -1px);
}

.ebayonet-filter-submit {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--line);
	display: flex;
	gap: var(--wp--preset--spacing--30);
	margin-top: 22px;
	padding-top: 18px;
}

.ebayonet-rail .ebayonet-catalogue-filters input[type="search"],
.ebayonet-rail .ebayonet-catalogue-filters select {
	min-height: 40px;
	padding: 8px 10px;
}

.ebayonet-filter-submit button {
	flex: 1;
}

.ebayonet-filter-submit a {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-decoration: none;
}

.ebayonet-filter-submit a:hover {
	text-decoration: underline;
}

.ebayonet-toolbar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	justify-content: space-between;
	margin-bottom: var(--wp--preset--spacing--40);
}

.ebayonet-result-count {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 0;
	text-transform: uppercase;
}

.ebayonet-result-count span {
	color: var(--wp--preset--color--muted);
	font-weight: 400;
}

.ebayonet-sort {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--20);
}

.ebayonet-sort select {
	background: var(--wp--preset--color--surface);
	min-height: 40px;
	width: auto;
}

.ebayonet-sort button {
	min-height: 42px;
	padding: 8px 14px;
}

/* Empty state: the missing card — a dashed outline where a card should be. */
.ebayonet-empty {
	background: var(--wp--preset--color--surface);
	border: 1px dashed var(--wp--preset--color--line-2);
	border-radius: 0;
	color: var(--wp--preset--color--muted);
	grid-column: 1 / -1;
	padding: 60px 20px;
	text-align: center;
}

.ebayonet-empty h2 {
	color: var(--wp--preset--color--fg);
	font-size: var(--wp--preset--font-size--xl);
	margin-block: 0 var(--wp--preset--spacing--20);
}

.ebayonet-empty__clear {
	align-items: center;
	background: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent-dark);
	border-radius: 0;
	color: var(--wp--preset--color--white);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	margin-top: var(--wp--preset--spacing--30);
	min-height: 46px;
	padding: 12px 22px;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-empty__clear:hover {
	background: var(--wp--preset--color--accent-dark);
	box-shadow: 3px 3px 0 rgba(32, 34, 28, 0.85);
	color: var(--wp--preset--color--white);
	transform: translate(-1px, -1px);
}

/* Cross-reference slip: "See also:" leads in brass mono, links follow. */
.ebayonet-see-also {
	align-items: baseline;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40);
}

.ebayonet-see-also strong {
	color: var(--wp--preset--color--brass);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ebayonet-see-also a {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
	text-decoration: none;
}

.ebayonet-see-also a:hover {
	text-decoration: underline;
}

.ebayonet-see-also span[aria-hidden="true"] {
	color: var(--wp--preset--color--line-2);
}

/* Pagination: square 44px chips in the mono data voice. The current page
   is a solid ink chip with manila numerals — ink, not olive; olive stays
   on actions, red stays on warnings. Styles WordPress paginate_links() output
   (ul.page-numbers > a/span.page-numbers, .current, .dots, .prev/.next). */
.ebayonet-pagination {
	margin-top: var(--wp--preset--spacing--60);
}

.ebayonet-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ebayonet-pagination li {
	margin: 0;
}

/* Note: WordPress puts .page-numbers on the ul too — scope to li children. */
.ebayonet-pagination a,
.ebayonet-pagination li > .page-numbers,
.ebayonet-pagination .current {
	align-items: center;
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 0;
	color: var(--wp--preset--color--fg-2);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.04em;
	min-height: 44px;
	min-width: 44px;
	padding: 8px 12px;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-pagination a:hover {
	border-color: var(--wp--preset--color--fg);
	color: var(--wp--preset--color--fg);
}

.ebayonet-pagination .current,
.ebayonet-pagination li > .current {
	background: var(--wp--preset--color--fg);
	border-color: var(--wp--preset--color--fg);
	color: var(--wp--preset--color--bg);
}

/* The ellipsis is a gap in the drawer, not a chip — no box, but it keeps
   the chip height so the row stays on one baseline. */
.ebayonet-pagination .dots,
.ebayonet-pagination li > .dots {
	border-color: transparent;
	color: var(--wp--preset--color--fg-2);
	min-width: 24px;
	padding: 8px 2px;
}

/* ---------- Single item ---------- */

.ebayonet-item-shell {
	margin-inline: auto;
	max-width: 1150px;
}

.ebayonet-single-item__layout {
	align-items: start;
	display: grid;
	gap: 44px;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
}

.ebayonet-item-gallery {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 78px);
}

/* The accession record's photograph is the full-size specimen plate: the
   image mounted on a card-stock mat with photo-corner mounts, framed in
   ink. */
.ebayonet-item-gallery .ebayonet-item-gallery__main {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--fg);
	border-radius: 0;
	box-shadow: 6px 6px 0 rgba(27, 29, 22, 0.16);
	display: block;
	margin: 0;
	padding: 12px;
	position: relative;
}

.ebayonet-item-gallery__main > a {
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--raise);
	border: 1px solid var(--wp--preset--color--line-2);
	display: block;
	overflow: hidden;
	position: relative;
}

/* Photo-corner mounts — the same device as .ebayonet-plate__stage. */
.ebayonet-item-gallery__main > a::before,
.ebayonet-item-gallery__main > a::after {
	border: 2px solid var(--wp--preset--color--surface);
	content: "";
	height: 16px;
	opacity: 0.9;
	pointer-events: none;
	position: absolute;
	width: 16px;
	z-index: 2;
}

.ebayonet-item-gallery__main > a::before {
	border-bottom: 0;
	border-right: 0;
	left: 8px;
	top: 8px;
}

.ebayonet-item-gallery__main > a::after {
	border-left: 0;
	border-top: 0;
	bottom: 8px;
	right: 8px;
}

.ebayonet-item-gallery__main img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/* Seated inside the stage, clear of the 12px mat. */
.ebayonet-item-gallery__main .ebayonet-photocount {
	border-radius: var(--wp--custom--radius--pill);
	right: 22px;
	top: 22px;
}

.ebayonet-item-gallery__thumbs {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
	margin-top: 10px;
}

/* Contact-sheet frames: square, hairline, ink on hover. */
.ebayonet-item-gallery__thumbs .ebayonet-thumb {
	aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--raise);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 0;
	display: block;
	margin: 0;
	overflow: hidden;
	transition: border-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}

.ebayonet-item-gallery__thumbs .ebayonet-thumb:hover,
.ebayonet-item-gallery__thumbs .ebayonet-thumb:focus-within {
	border-color: var(--wp--preset--color--fg);
}

.ebayonet-thumb img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.ebayonet-item-gallery figcaption,
.ebayonet-representative-note {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	padding: var(--wp--preset--spacing--30) 0 0;
}

/* A caption sitting on the plate mat reads as a typed annotation. */
.ebayonet-item-gallery__main figcaption {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	padding: 10px 2px 0;
}

/* Region eyebrow in the brass data-label voice. Brass is deepened one
   step from the token (#8A6D2F → #745B26) so caption-size type clears
   AA on manila. */
.ebayonet-region-eyebrow {
	color: #745B26;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

/* The record's designation line: true condensed display scale. */
.ebayonet-single-item h1 {
	font-size: clamp(2.125rem, 4.5vw, 2.875rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.02;
	margin: 0 0 var(--wp--preset--spacing--40);
	text-transform: uppercase;
}

.ebayonet-skurow {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: var(--wp--preset--spacing--40);
}

.ebayonet-skubig {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--fg);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.9375rem;
	font-weight: 600;
	gap: 10px;
	padding: 8px 8px 8px 10px;
}

.ebayonet-skubig::before {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 50%;
	content: "";
	flex: 0 0 auto;
	height: 9px;
	width: 9px;
}

.ebayonet-copybtn {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--small);
	color: var(--wp--preset--color--accent);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	min-height: 30px;
	padding: 5px 10px;
	text-transform: uppercase;
}

.ebayonet-copybtn:hover {
	background: var(--wp--preset--color--accent-soft);
	border-color: var(--wp--preset--color--accent);
}

/* The price card is a manila accession tag: card stock, ink frame, hard
   offset shadow, and a punched hole in the corner. */
.ebayonet-pricecard {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--fg);
	border-radius: 0;
	box-shadow: 5px 5px 0 rgba(27, 29, 22, 0.16);
	margin-bottom: var(--wp--preset--spacing--40);
	padding: 22px;
	position: relative;
}

/* The punched hole — the same device as .ebayonet-stock / .ebayonet-skubig,
   scaled up to tag size. */
.ebayonet-pricecard::before {
	background: var(--wp--preset--color--bg);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 50%;
	content: "";
	height: 14px;
	position: absolute;
	right: 16px;
	top: 16px;
	width: 14px;
}

/* The quoted figure is data, so it speaks mono — not display. */
.ebayonet-single-price {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 2.25rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1;
	margin: 0 0 var(--wp--preset--spacing--20);
}

.ebayonet-pricecard__note {
	color: var(--wp--preset--color--muted);
	font-size: 0.84375rem;
	margin: 0;
}

.ebayonet-pricecard .ebayonet-cta {
	align-items: center;
	background: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent-dark);
	border-radius: var(--wp--custom--radius--medium);
	color: var(--wp--preset--color--white);
	display: flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.1875rem;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.08em;
	margin-top: 18px;
	min-height: 50px;
	padding: 14px 22px;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		box-shadow var(--wp--custom--motion--fast) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
	width: 100%;
}

.ebayonet-pricecard .ebayonet-cta:hover {
	background: var(--wp--preset--color--accent-dark);
	box-shadow: 3px 3px 0 rgba(32, 34, 28, 0.85);
	transform: translate(-1px, -1px);
}

.ebayonet-pricecard .ebayonet-cta-row {
	display: flex;
	gap: 10px;
	margin-top: 10px;
}

.ebayonet-pricecard .ebayonet-cta-secondary {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: var(--wp--custom--radius--medium);
	color: var(--wp--preset--color--fg);
	cursor: pointer;
	display: flex;
	flex: 1;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	justify-content: center;
	min-height: 44px;
	padding: 11px 12px;
	text-decoration: none;
}

.ebayonet-pricecard .ebayonet-cta-secondary:hover {
	background: var(--wp--preset--color--raise);
	border-color: var(--wp--preset--color--muted);
}

.ebayonet-pricecard__helper {
	color: var(--wp--preset--color--muted);
	font-size: 0.8125rem;
	margin: 12px 0 0;
	text-align: center;
}

.ebayonet-descbox {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 0;
	box-shadow: var(--wp--preset--shadow--e1);
	margin-bottom: var(--wp--preset--spacing--40);
	padding: 22px;
}

/* Ledger heading in the deepened-brass data-label voice. */
.ebayonet-descbox > h2 {
	color: #745B26;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.ebayonet-item-taxonomies {
	margin: 0;
}

.ebayonet-spectable {
	border-collapse: collapse;
	font-size: 0.90625rem;
	width: 100%;
}

.ebayonet-spectable tr {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.ebayonet-spectable tr:last-child {
	border-bottom: 0;
}

/* True ledger: mono row labels in the brass data-label voice (deepened
   for AA at this size), values in the body face, rules only — no box. */
.ebayonet-spectable th {
	color: #745B26;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 10px 4px;
	text-align: left;
	text-transform: uppercase;
	width: 42%;
}

.ebayonet-spectable td {
	padding: 10px 4px;
}

.ebayonet-spectable td.mono {
	font-family: var(--wp--preset--font-family--mono);
}

.ebayonet-spectable a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.ebayonet-spectable a:hover {
	text-decoration: underline;
}

.ebayonet-item-note {
	background: var(--wp--preset--color--accent-soft);
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	font-size: var(--wp--preset--font-size--sm);
	margin-top: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--40);
}

/* "AUTHENTICITY" / "CONDITION" lead-ins read as stamped labels. */
.ebayonet-item-note strong:first-child {
	color: var(--wp--preset--color--accent);
	display: block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.ebayonet-item-note p {
	margin-bottom: 0;
}

.ebayonet-item-description {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 0;
	box-shadow: var(--wp--preset--shadow--e1);
	margin-top: var(--wp--preset--spacing--60);
	max-width: 880px;
	padding: var(--wp--preset--spacing--60);
}

.ebayonet-item-description > h2:first-child {
	color: #745B26;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-top: 0;
	text-transform: uppercase;
}

/* The inquiry sheet opens under the same doubled edge as the footer:
   a 2px ink rule with a hairline echo below it. */
.ebayonet-inquiry {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-2);
	border-radius: 0;
	border-top: 2px solid var(--wp--preset--color--fg);
	box-shadow: var(--wp--preset--shadow--e1);
	margin-top: var(--wp--preset--spacing--60);
	max-width: 880px;
	padding: var(--wp--preset--spacing--60);
	position: relative;
}

.ebayonet-inquiry::before {
	background: var(--wp--preset--color--line-2);
	content: "";
	height: 1px;
	inset: 4px 0 auto;
	position: absolute;
}

/* The form title stays in the typewriter data voice — it quotes the
   item number. */
.ebayonet-inquiry > h2 {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin: 6px 0 var(--wp--preset--spacing--50);
	text-transform: uppercase;
}

/* Comparable pieces sit under a ledger tab — the same voice as
   .ebayonet-sec-head, built from the classes the markup already has. */
.ebayonet-related {
	border-top: 2px solid var(--wp--preset--color--fg);
	margin-top: var(--wp--preset--spacing--70);
}

.ebayonet-related > h2 {
	background: var(--wp--preset--color--fg);
	color: var(--wp--preset--color--bg);
	display: inline-block;
	font-size: 1.4375rem;
	letter-spacing: 0.06em;
	margin: 0;
	padding: 6px 16px 7px;
}

.ebayonet-related > p {
	color: var(--wp--preset--color--muted);
	margin: 10px 0 18px;
}

/* The item shell is wide enough for the four comparables in one row. */
@media (min-width: 1121px) {
	.ebayonet-related .ebayonet-item-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ---------- Forms ---------- */

.ebayonet-form {
	position: relative;
}

.ebayonet-form p {
	margin-block: 0 var(--wp--preset--spacing--40);
}

.ebayonet-form-row {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ebayonet-form input[readonly] {
	background: var(--wp--preset--color--raise);
}

.ebayonet-form input[type="file"] {
	padding-block: 9px;
}

.ebayonet-form-help {
	color: var(--wp--preset--color--muted);
	display: block;
	font-size: var(--wp--preset--font-size--xs);
	margin-top: var(--wp--preset--spacing--10);
}

.ebayonet-check label {
	align-items: start;
	display: flex;
	font-weight: 400;
	gap: var(--wp--preset--spacing--20);
}

.ebayonet-check input {
	margin-top: 0.2em;
}

.ebayonet-hp {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	top: auto;
	width: 1px;
}

.ebayonet-form-notice {
	border: 1px solid currentColor;
	border-radius: var(--wp--custom--radius--medium);
	font-weight: 600;
	margin-bottom: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40);
}

.ebayonet-form-notice.is-success {
	background: var(--wp--preset--color--available-bg);
	color: var(--wp--preset--color--available);
}

.ebayonet-form-notice.is-error {
	background: var(--wp--preset--color--sold-bg);
	color: var(--wp--preset--color--sold);
}

.ebayonet-card-instructions {
	background: var(--wp--preset--color--accent-soft);
	border: 1px solid var(--wp--preset--color--accent);
	margin: var(--wp--preset--spacing--40) 0;
	padding: var(--wp--preset--spacing--40);
}

.ebayonet-card-instructions label {
	align-items: start;
	display: flex;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	gap: var(--wp--preset--spacing--30);
	line-height: 1.55;
}

.ebayonet-card-instructions input[type="checkbox"] {
	flex: none;
	margin-top: 0.25em;
}

/* ---------- Editorial pages ---------- */

.ebayonet-editorial {
	max-width: 760px;
}

.ebayonet-editorial > h1 {
	border-bottom: 1px solid var(--wp--preset--color--line);
	margin-bottom: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--40);
}

.ebayonet-editorial > h2 {
	margin-top: var(--wp--preset--spacing--70);
}

.ebayonet-callout {
	border: 1px solid var(--wp--preset--color--line-2);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--radius--medium);
	margin-block: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.ebayonet-export-notice {
	border-left-color: var(--wp--preset--color--sold);
	font-size: var(--wp--preset--font-size--sm);
}

.ebayonet-editorial li {
	margin-bottom: var(--wp--preset--spacing--20);
}

.ebayonet-editorial img {
	height: auto;
	max-width: 100%;
}

/* ---------- Footer ---------- */

.ebayonet-footer {
	background: var(--wp--preset--color--surface);
	border-top: 2px solid var(--wp--preset--color--fg);
	margin-block-start: var(--wp--preset--spacing--90);
	position: relative;
}

/* Hairline echo under the heavy rule — the same doubled edge as the cover. */
.ebayonet-footer::before {
	background: var(--wp--preset--color--line-2);
	content: "";
	height: 1px;
	inset: 4px 0 auto;
	position: absolute;
}

.ebayonet-footer h4 {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ebayonet-footer .wp-block-list {
	list-style: none;
	padding-left: 0;
}

.ebayonet-footer a {
	color: var(--wp--preset--color--fg-2);
	text-decoration: none;
}

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

.ebayonet-footer .ebayonet-wordmark {
	font-size: 1.25rem;
}

.ebayonet-footer__legal {
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--muted);
}

.ebayonet-footer__credit {
	color: var(--wp--preset--color--muted);
	gap: var(--wp--preset--spacing--30);
	margin-block-start: var(--wp--preset--spacing--30);
}

/* Otto's way in: a quiet mono chip customers can ignore and he can find. */
.ebayonet-adminlink {
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--muted);
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
	padding: 4px 10px;
	text-decoration: none;
	text-transform: uppercase;
	transition: background var(--wp--custom--motion--base) var(--wp--custom--motion--ease), border-color var(--wp--custom--motion--base) var(--wp--custom--motion--ease), color var(--wp--custom--motion--base) var(--wp--custom--motion--ease);
}

.ebayonet-adminlink:hover,
.ebayonet-adminlink:focus-visible {
	background: var(--wp--preset--color--accent-soft);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

/* ---------- Toast (copy feedback) ---------- */

.ebayonet-toast {
	background: var(--wp--preset--color--fg);
	border-radius: var(--wp--custom--radius--medium);
	bottom: 24px;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	left: 50%;
	opacity: 0;
	padding: 11px 18px;
	pointer-events: none;
	position: fixed;
	transform: translateX(-50%) translateY(16px);
	transition:
		opacity var(--wp--custom--motion--base) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--base) var(--wp--custom--motion--ease);
	z-index: 200;
}

/* Back-to-top chip: brass-rimmed tag, appears once the page is scrolled. */
.ebayonet-totop {
	align-items: center;
	background: var(--wp--preset--color--fg);
	border: 1px solid var(--wp--preset--color--brass);
	border-radius: var(--wp--custom--radius--small);
	bottom: 20px;
	box-shadow: var(--wp--preset--shadow--e2, 2px 2px 0 rgba(32, 34, 28, 0.2));
	color: var(--wp--preset--color--bg);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.7rem;
	font-weight: 600;
	gap: 6px;
	letter-spacing: 0.14em;
	opacity: 0;
	padding: 9px 13px;
	pointer-events: none;
	position: fixed;
	right: 20px;
	text-transform: uppercase;
	transform: translateY(12px);
	transition:
		opacity var(--wp--custom--motion--base) var(--wp--custom--motion--ease),
		transform var(--wp--custom--motion--base) var(--wp--custom--motion--ease),
		color var(--wp--custom--motion--base) var(--wp--custom--motion--ease);
	z-index: 90;
}

.ebayonet-totop svg {
	flex: 0 0 auto;
}

.ebayonet-totop.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.ebayonet-totop:hover {
	color: var(--wp--preset--color--brass);
}

@media (max-width: 640px) {
	.ebayonet-totop {
		bottom: 14px;
		right: 14px;
	}
}

.ebayonet-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* ---------- Responsive ---------- */

@media (max-width: 1120px) {
	.ebayonet-item-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Tablets: the search field leaves the masthead and the nav collapses to
   the burger, so the header is always one clean line. Search remains in
   the catalogue rail. */
@media (min-width: 641px) and (max-width: 920px) {
	/* Force the navigation block into overlay mode above core's 600px cutoff.
	   Core watches the 600px breakpoint and strips .is-menu-open above it,
	   so the container is driven by its .has-modal-open class here instead. */
	.ebayonet-masthead .wp-block-navigation .wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.ebayonet-masthead .wp-block-navigation .wp-block-navigation__responsive-container:not(.has-modal-open) {
		display: none;
	}

	.ebayonet-masthead .wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open {
		display: flex;
		flex-direction: column;
		overflow-y: auto;
		position: fixed;
		inset: 0;
		z-index: 100000;
	}

	.ebayonet-masthead > .wp-block-group {
		flex-wrap: nowrap;
	}

	.ebayonet-masthead .wp-block-navigation {
		margin-left: auto;
	}
}

@media (max-width: 920px) {
	/* Hide the masthead search wherever the burger is in charge; the row
	   only has room for wordmark + burger, and the catalogue has its own
	   search in the filter rail. */
	.ebayonet-masthead .wp-block-search {
		display: none;
	}

	.ebayonet-catalogue__layout,
	.ebayonet-single-item__layout {
		grid-template-columns: 1fr;
	}

	.ebayonet-rail {
		max-height: none;
		position: static;
	}

	.ebayonet-item-gallery {
		position: static;
	}
}

/* Phones: wordmark left, burger right, one clean line. The first topbar
   line is removed server-side by the plugin, not display:none. */
@media (max-width: 640px) {
	.ebayonet-topbar .wp-block-group {
		justify-content: center;
	}

	/* Keep the contact line to one row on a phone. */
	.ebayonet-topbar__appraisal {
		display: none;
	}

	.ebayonet-masthead > .wp-block-group {
		flex-wrap: nowrap;
		gap: var(--wp--preset--spacing--30);
	}

	.ebayonet-masthead .wp-block-navigation {
		margin-left: auto;
	}

	/* The printed cover frame needs margin to read; drop it on phones. */
	.ebayonet-cover::before {
		display: none;
	}

	/* Override the seeded block padding so the hero breathes on a phone. */
	.ebayonet-cover {
		padding-bottom: var(--wp--preset--spacing--60) !important;
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: var(--wp--preset--spacing--40) !important;
		padding-top: var(--wp--preset--spacing--60) !important;
	}

	.ebayonet-strip {
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: 0 !important;
	}

	/* Country index becomes an edge-swipeable strip of chips. Selectors
	   carry the .ebayonet-strip prefix so they outrank the desktop row rule;
	   otherwise the column keeps flex-wrap: wrap and the list sizes to its
	   content, and the whole page scrolls sideways. */
	.ebayonet-strip .ebayonet-countrynav {
		align-items: stretch;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 8px;
		max-width: none;
		padding: 12px 0;
	}

	.ebayonet-strip {
		overflow-x: clip;
	}

	.ebayonet-countrynav__label {
		padding: 0;
	}

	.ebayonet-strip .ebayonet-countrynav ul {
		align-items: center;
		flex: none;
		flex-wrap: nowrap;
		gap: 8px;
		margin-top: 0;
		max-width: 100%;
		min-width: 0;
		overflow-x: auto;
		padding-bottom: 6px;
		padding-right: var(--wp--preset--spacing--40);
		scrollbar-width: none;
		width: 100%;
		-webkit-overflow-scrolling: touch;
	}

	.ebayonet-countrynav ul::-webkit-scrollbar {
		display: none;
	}

	.ebayonet-countrynav li,
	.ebayonet-countrynav .is-all {
		border: 0;
	}

	.ebayonet-countrynav a {
		background: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--line-2);
		font-size: 0.875rem;
		height: auto;
		padding: 6px 13px;
		white-space: nowrap;
	}

	.ebayonet-home-sec {
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: var(--wp--preset--spacing--40) !important;
	}

	.ebayonet-band {
		padding-bottom: var(--wp--preset--spacing--60) !important;
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: var(--wp--preset--spacing--40) !important;
		padding-top: var(--wp--preset--spacing--60) !important;
	}

	.ebayonet-band__panel {
		padding: var(--wp--preset--spacing--40) !important;
	}

	.ebayonet-footer {
		padding-top: var(--wp--preset--spacing--60) !important;
	}

	.ebayonet-footer__legal {
		gap: 4px;
	}
}

@media (max-width: 781px) {
	.ebayonet-masthead {
		position: static;
	}

	.ebayonet-hero-feature {
		margin: 0 auto;
		max-width: 440px;
	}

	.ebayonet-trust > .wp-block-column {
		border-bottom: 1px solid var(--wp--preset--color--line);
		border-right: 0;
	}

	.ebayonet-trust > .wp-block-column:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 680px) {
	.ebayonet-item-grid {
		grid-template-columns: 1fr;
	}

	.ebayonet-single-price {
		font-size: 1.75rem;
	}

	/* Item page: a tighter specimen-plate mat on a phone. */
	.ebayonet-item-gallery .ebayonet-item-gallery__main {
		box-shadow: 4px 4px 0 rgba(27, 29, 22, 0.16);
		padding: 8px;
	}

	.ebayonet-item-gallery__main .ebayonet-photocount {
		right: 16px;
		top: 16px;
	}
}

@media (max-width: 540px) {
	.ebayonet-form-row {
		grid-template-columns: 1fr;
	}

	.ebayonet-inquiry,
	.ebayonet-item-description {
		padding: var(--wp--preset--spacing--40);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
