/* =========================================================================
   Stijl "Printplaat": the site as a circuit board. Green solder mask with copper running
   underneath, gold (ENIG) pads for buttons, white silkscreen for type and outlines.
   The hero runs the terminal on an I2C OLED module; services are chips; the call-to-action
   ends in an edge connector; Pi Plaza pages are the purple maker board.
   Loaded after main.css; everything is scoped to .style-printplaat.
   ========================================================================= */

@font-face {
	font-family: "Oxanium";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../../fonts/oxanium-latin-wght-normal.woff2") format("woff2-variations");
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../../fonts/atkinson-hyperlegible-next-latin-wght-normal.woff2") format("woff2-variations");
}

/* ---------- tokens ---------- */
.style-printplaat {
	--bg: #0d3527;
	--bg-elev: #0a2b20;
	--surface: #124434;
	--surface-2: #175340;
	--line: #2b6650;
	--line-strong: #6fa58f;
	--text: #e8f1ea;
	--muted: #a9c7b8;
	--dim: #82a898;
	--accent: #e0b04f;
	--accent-ink: #1d1503;
	--accent-soft: rgba(224, 176, 79, 0.14);
	--accent-2: #7fe3ff;
	--sun: #ffd166;
	--coral: #ff6b5e;
	--pi: #ff9c3d;
	--pi-2: #c39bff;
	--pi-soft: rgba(255, 156, 61, 0.14);
	--silk: #f2efe4;
	--copper: #b9853b;
	--epoxy: #121816;
	--led: #45ff9a;
	--led-red: #ff4b4b;
	--font-body: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, sans-serif;
	--font-display: "Oxanium", "Segoe UI", system-ui, sans-serif;
	--radius: 6px;
	--radius-sm: 4px;
	--shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
	--glow: 0 0 0 1px var(--accent), 0 10px 28px rgba(224, 176, 79, 0.18);
	--traces: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cg fill='none' stroke='%23103f2f' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 46h70l26 26h124'/%3E%3Cpath d='M46 220v-64l26-26V0'/%3E%3Cpath d='M150 220v-40l34-34h36'/%3E%3Cpath d='M0 186h40l20-20h40'/%3E%3C/g%3E%3Cg fill='%23103f2f'%3E%3Ccircle cx='70' cy='46' r='7'/%3E%3Ccircle cx='184' cy='146' r='7'/%3E%3Ccircle cx='100' cy='166' r='7'/%3E%3C/g%3E%3C/svg%3E");
	--wp--preset--color--accent: #e0b04f;
	--wp--preset--color--accent-2: #7fe3ff;
	--wp--preset--color--sun: #ffd166;
	--wp--preset--color--coral: #ff6b5e;
	--wp--preset--color--pi: #ff9c3d;
	--wp--preset--color--pi-2: #c39bff;
	--wp--preset--color--surface: #124434;
	--wp--preset--color--background: #0d3527;
	--wp--preset--color--text: #e8f1ea;
	--wp--preset--color--muted: #a9c7b8;
	--wp--preset--color--white: #f2efe4;
}
/* Pi Plaza: the purple maker board */
body.style-printplaat.pi-plaza,
.style-printplaat.pi-plaza {
	--bg: #2b1646;
	--bg-elev: #22103a;
	--surface: #3a1f5c;
	--surface-2: #45276d;
	--line: #5d3a86;
	--line-strong: #a284cb;
	--muted: #cdbbe6;
	--dim: #a690c6;
	--accent: #e0b04f;
	--accent-ink: #1d1503;
	--accent-soft: rgba(224, 176, 79, 0.16);
	--accent-2: #ff9c3d;
	--glow: 0 0 0 1px var(--accent), 0 10px 28px rgba(224, 176, 79, 0.2);
	--traces: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cg fill='none' stroke='%23331a52' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 46h70l26 26h124'/%3E%3Cpath d='M46 220v-64l26-26V0'/%3E%3Cpath d='M150 220v-40l34-34h36'/%3E%3Cpath d='M0 186h40l20-20h40'/%3E%3C/g%3E%3Cg fill='%23331a52'%3E%3Ccircle cx='70' cy='46' r='7'/%3E%3Ccircle cx='184' cy='146' r='7'/%3E%3Ccircle cx='100' cy='166' r='7'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- base ---------- */
body.style-printplaat,
body.style-printplaat.pi-plaza {
	background-color: var(--bg);
	background-image: var(--traces);
	background-size: 220px 220px;
	color: var(--text);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.62;
}
.style-printplaat h1,
.style-printplaat h2,
.style-printplaat h3,
.style-printplaat h4 {
	color: var(--silk);
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: 0;
}
.style-printplaat h1 {
	font-size: clamp(2.2rem, 4.8vw, 3.55rem);
	line-height: 1.06;
}
.style-printplaat h2 {
	font-size: clamp(1.7rem, 3.2vw, 2.4rem);
	line-height: 1.12;
}
.style-printplaat h3 {
	font-size: 1.2rem;
	font-weight: 650;
}
.style-printplaat a {
	color: var(--accent);
}
.style-printplaat :focus-visible {
	outline-color: var(--accent-2);
}
.style-printplaat .kicker {
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--accent);
}
.style-printplaat .prompt {
	display: none;
}
.style-printplaat .section-heading .kicker {
	display: none;
}
.style-printplaat .section-intro,
.style-printplaat .hero-text {
	color: var(--muted);
}

/* ---------- buttons: gold pads in a mask opening ---------- */
.style-printplaat .btn,
.style-printplaat .wp-block-button__link,
.style-printplaat .button,
.style-printplaat button.wp-element-button {
	border-radius: 6px;
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: 0.01em;
}
.style-printplaat .btn-primary,
.style-printplaat .wp-block-button__link,
.style-printplaat .button,
.style-printplaat button.wp-element-button {
	background: var(--accent);
	color: var(--accent-ink) !important;
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.18), 0 0 0 3px var(--bg-elev), 0 0 0 4px rgba(224, 176, 79, 0.4);
}
.style-printplaat .btn-primary:hover,
.style-printplaat .wp-block-button__link:hover,
.style-printplaat .button:hover {
	transform: translateY(-1px);
	box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.18), 0 0 0 3px var(--bg-elev), 0 0 0 4px var(--accent), 0 8px 22px rgba(224, 176, 79, 0.25);
}
.style-printplaat .btn-ghost,
.style-printplaat .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--silk) !important;
	border: 1.5px solid rgba(242, 239, 228, 0.7);
	box-shadow: none;
}
.style-printplaat .btn-ghost:hover {
	border-color: var(--accent);
	color: var(--accent) !important;
}
.style-printplaat .btn-pi {
	background: var(--pi);
	color: #2d1500 !important;
	box-shadow: 0 0 0 3px var(--bg-elev), 0 0 0 4px rgba(255, 156, 61, 0.45);
}

/* ---------- top bar + header ---------- */
.style-printplaat .topbar {
	background: #071d15;
	border-bottom-color: #164a38;
	color: var(--muted);
}
.style-printplaat.pi-plaza .topbar {
	background: #1b0c2e;
	border-bottom-color: #3d2360;
}
.style-printplaat .topbar a {
	color: var(--muted);
}
.style-printplaat .site-header {
	background: rgba(10, 43, 32, 0.92);
	border-bottom: 1.5px solid rgba(242, 239, 228, 0.25);
}
.style-printplaat.pi-plaza .site-header {
	background: rgba(34, 16, 58, 0.92);
}
.style-printplaat .site-logo,
.style-printplaat .site-logo-mark {
	color: var(--silk);
}
.style-printplaat .site-logo-mark .robot-eye {
	fill: var(--led);
}
.style-printplaat .site-logo-name {
	font-family: var(--font-display);
	font-weight: 700;
}
.style-printplaat .site-logo-tag {
	font-family: var(--font-body);
	color: var(--muted);
}
.style-printplaat .nav-menu a {
	color: var(--silk);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 0.92rem;
	padding: 8px 9px;
	border-radius: 4px;
}
.style-printplaat .nav-actions .btn {
	white-space: nowrap;
}
.style-printplaat .nav-menu a:hover,
.style-printplaat .nav-menu .current-menu-item > a,
.style-printplaat .nav-menu .current-menu-ancestor > a,
.style-printplaat .nav-menu .current_page_parent > a {
	background: transparent;
	color: var(--accent);
	box-shadow: inset 0 0 0 1.5px rgba(224, 176, 79, 0.6);
}
.style-printplaat .nav-menu .menu-item-pi-plaza > a,
.style-printplaat .nav-menu a[href*="pi-plaza"] {
	color: #c9a7ff;
}
.style-printplaat .nav-menu .menu-item-pi-plaza > a:hover,
.style-printplaat .nav-menu a[href*="pi-plaza"]:hover {
	background: transparent;
	box-shadow: inset 0 0 0 1.5px rgba(201, 167, 255, 0.6);
}
.style-printplaat .nav-menu .sub-menu {
	background: var(--bg-elev);
	border: 1.5px solid rgba(242, 239, 228, 0.25);
	border-radius: 6px;
}
.style-printplaat .nav-menu .sub-menu a {
	box-shadow: none;
}
.style-printplaat .nav-menu .sub-menu a:hover {
	background: var(--surface);
	box-shadow: none;
}
.style-printplaat .cart-count {
	background: var(--accent);
	color: var(--accent-ink);
}
.style-printplaat .nav-toggle {
	color: var(--silk);
	border-color: rgba(242, 239, 228, 0.4);
}
@media (max-width: 960px) {
	.style-printplaat .site-nav {
		background: var(--bg-elev);
	}
}

/* ---------- hero: the board ---------- */
.style-printplaat .hero {
	padding-block: clamp(36px, 6vw, 72px) clamp(36px, 6vw, 64px);
	border-bottom: 1.5px solid rgba(242, 239, 228, 0.18);
}
.style-printplaat .hero-grid {
	grid-template-columns: 1fr 1.05fr;
}
.style-printplaat .usp-list .icon {
	color: var(--accent);
}
.style-printplaat .pcb-scene {
	position: relative;
	aspect-ratio: 560 / 460;
	width: 100%;
	max-width: 620px;
	justify-self: end;
}
.style-printplaat .pcb-traces {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}
.style-printplaat .pcb-copper path {
	fill: none;
	stroke: var(--copper);
	stroke-width: 5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.style-printplaat .pcb-pulse path {
	fill: none;
	stroke: #fff4cf;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: 60 1100;
	stroke-dashoffset: 1160;
	animation: pcb-pulse 2.2s ease-in 0.6s 1 both;
	filter: drop-shadow(0 0 4px #ffe39a);
}
.style-printplaat .pcb-pulse path:nth-child(2) {
	animation-delay: 0.9s;
}
.style-printplaat .pcb-pulse path:nth-child(3) {
	animation-delay: 1.2s;
}
@keyframes pcb-pulse {
	from {
		stroke-dashoffset: 1160;
		opacity: 1;
	}
	90% {
		opacity: 1;
	}
	to {
		stroke-dashoffset: 0;
		opacity: 0;
	}
}
.style-printplaat .pcb-vias circle {
	fill: #06150f;
	stroke: var(--accent);
	stroke-width: 3.5;
}
.style-printplaat .pcb-pad {
	fill: var(--accent);
}
.style-printplaat .pcb-outline {
	fill: none;
	stroke: var(--silk);
	stroke-width: 1.5;
	opacity: 0.8;
}
.style-printplaat .pcb-text {
	fill: var(--silk);
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 600;
}
.style-printplaat .pcb-hole {
	fill: #04110c;
	stroke: var(--accent);
	stroke-width: 5;
}
/* the I2C OLED module (blue carrier board, four header pins, black glass) */
.style-printplaat .oled-module {
	position: absolute;
	left: 28%;
	top: 13.9%;
	width: 64%;
	aspect-ratio: 358 / 247;
	border-radius: 7px;
	background:
		radial-gradient(circle at 4.5% 7%, #0b1730 0 3.5px, var(--accent) 4px 6.5px, transparent 7px),
		radial-gradient(circle at 95.5% 7%, #0b1730 0 3.5px, var(--accent) 4px 6.5px, transparent 7px),
		radial-gradient(circle at 4.5% 93%, #0b1730 0 3.5px, var(--accent) 4px 6.5px, transparent 7px),
		radial-gradient(circle at 95.5% 93%, #0b1730 0 3.5px, var(--accent) 4px 6.5px, transparent 7px),
		#1b4c9c;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
.style-printplaat .oled-pins {
	list-style: none;
	margin: 0;
	padding: 0;
}
.style-printplaat .oled-pins li {
	position: absolute;
	top: 2.4%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	transform: translateX(-50%);
	color: #eaf1ff;
	font-family: var(--font-display);
	font-size: clamp(8px, 0.7vw, 10px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
}
.style-printplaat .oled-pins li::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: radial-gradient(circle, #0b1730 0 2.5px, var(--accent) 3px);
}
.style-printplaat .oled-pins li:nth-child(1) { left: 38%; }
.style-printplaat .oled-pins li:nth-child(2) { left: 46%; }
.style-printplaat .oled-pins li:nth-child(3) { left: 54%; }
.style-printplaat .oled-pins li:nth-child(4) { left: 62%; }
.style-printplaat .oled-glass {
	position: absolute;
	left: 7%;
	right: 7%;
	top: 21%;
	bottom: 9%;
	display: flex;
	align-items: center;
	padding: 3% 4.5%;
	border-radius: 3px;
	background: #040607;
	box-shadow: inset 0 0 0 2px #0f141a, 0 0 0 3px #2b3138;
}
.style-printplaat .oled-screen {
	margin: 0;
	width: 100%;
	font-family: var(--font-mono);
	font-size: clamp(9.5px, 0.83vw, 11.5px);
	line-height: 1.7;
	color: #a9eeff;
	text-shadow: 0 0 6px rgba(127, 227, 255, 0.55);
	white-space: pre-wrap;
}
.style-printplaat .oled-screen .line {
	display: block;
}
/* two-colour OLED: the top rows of these panels are yellow */
.style-printplaat .oled-screen .line:first-child {
	color: #ffdd57;
	text-shadow: 0 0 6px rgba(255, 221, 87, 0.5);
}
.style-printplaat .oled-screen .line-ok {
	color: #a9eeff;
}
.style-printplaat .oled-screen .line-cursor::after {
	background: #a9eeff;
}
.style-printplaat .pcb-robot {
	position: absolute;
	left: 1.5%;
	bottom: 3.5%;
	width: 26%;
	color: var(--silk);
	animation: bob 4s ease-in-out infinite;
}
.style-printplaat .pcb-robot .robot {
	display: block;
	width: 100%;
	height: auto;
}
.style-printplaat .silk-robot .robot-eye {
	fill: var(--led);
	filter: drop-shadow(0 0 4px var(--led));
}
.style-printplaat .silk-robot .robot-antenna-tip {
	fill: var(--led-red);
	stroke: var(--led-red);
	filter: drop-shadow(0 0 4px var(--led-red));
}
.style-printplaat .silk-robot .robot-chest {
	fill: var(--accent);
	stroke: var(--accent);
}
.style-printplaat .pcb-designator {
	position: absolute;
	left: -2px;
	top: 18%;
	color: var(--silk);
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 600;
}
.style-printplaat .pcb-silk {
	position: absolute;
	left: 30%;
	bottom: 0.5%;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 0;
	color: var(--silk);
	font-family: var(--font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	opacity: 0.85;
}
@media (max-width: 1100px) {
	.style-printplaat .hero-grid {
		grid-template-columns: 1fr;
	}
	.style-printplaat .pcb-scene {
		justify-self: center;
	}
	.style-printplaat .oled-screen {
		font-size: clamp(9.5px, 1.75vw, 12px);
	}
}
@media (max-width: 640px) {
	.style-printplaat .pcb-scene {
		aspect-ratio: auto;
		display: grid;
		justify-items: center;
		gap: 18px;
	}
	.style-printplaat .pcb-traces {
		display: none;
	}
	.style-printplaat .oled-module {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		aspect-ratio: auto;
		padding: 34px 5% 6%;
	}
	.style-printplaat .oled-glass {
		position: relative;
		inset: auto;
		padding: 14px 14px;
	}
	.style-printplaat .oled-screen {
		font-size: 11.5px;
	}
	.style-printplaat .pcb-robot {
		position: relative;
		left: auto;
		bottom: auto;
		width: 110px;
		order: -1;
	}
	.style-printplaat .pcb-silk {
		position: static;
		justify-content: center;
	}
}

/* ---------- sections ---------- */
.style-printplaat .section-intro p,
.style-printplaat .section-intro .lead {
	color: var(--text);
	font-size: 1.15rem;
}

/* services: chips with gold legs */
.style-printplaat .grid {
	gap: 26px;
}
.style-printplaat .card {
	position: relative;
	padding: 28px 24px 24px;
	background-color: var(--epoxy);
	background-image: radial-gradient(circle at 18px 18px, #26302c 0 4.5px, transparent 5px);
	border: 1px solid #2a3430;
	border-radius: 4px;
	color: var(--text);
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.3);
}
.style-printplaat .section-services .card::before,
.style-printplaat .section-services .card::after,
.style-printplaat.pi-plaza .card::before,
.style-printplaat.pi-plaza .card::after {
	content: "";
	position: absolute;
	top: 22px;
	bottom: 22px;
	width: 8px;
	background: repeating-linear-gradient(to bottom, #d6a64a 0 9px, transparent 9px 20px);
}
.style-printplaat .section-services .card::before,
.style-printplaat.pi-plaza .card::before {
	left: -8px;
	border-radius: 2px 0 0 2px;
}
.style-printplaat .section-services .card::after,
.style-printplaat.pi-plaza .card::after {
	right: -8px;
	border-radius: 0 2px 2px 0;
}
.style-printplaat .card p {
	color: var(--muted);
}
.style-printplaat .card h3 {
	color: var(--silk);
}
.style-printplaat .card-link:hover {
	transform: translateY(-3px);
	border-color: var(--accent);
	box-shadow: 0 0 0 1px var(--accent), 0 14px 28px rgba(0, 0, 0, 0.35);
}
.style-printplaat .card-icon {
	width: 46px;
	height: 46px;
	border-radius: 3px;
	background: transparent;
	border: 1.5px solid rgba(242, 239, 228, 0.6);
	color: var(--accent);
}
.style-printplaat .card-meta {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--accent);
}

/* steps: test points joined by a trace */
.style-printplaat .steps {
	gap: 28px;
}
.style-printplaat .step {
	position: relative;
	background: rgba(0, 0, 0, 0.12);
	border: 1.5px solid rgba(242, 239, 228, 0.4);
	border-radius: 4px;
}
.style-printplaat .step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 46px;
	right: -30px;
	width: 30px;
	height: 5px;
	background: var(--copper);
	border-radius: 3px;
}
.style-printplaat .step-number {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border-radius: 50%;
	background: radial-gradient(circle, #06150f 0 6px, var(--accent) 6.5px);
	color: transparent;
	font-size: 0;
}
.style-printplaat .step h3::before {
	content: "TP" counter(steps) " ";
	counter-increment: steps;
	color: var(--accent);
	font-weight: 600;
}
.style-printplaat .step p {
	color: var(--muted);
}
@media (max-width: 800px) {
	.style-printplaat .step:not(:last-child)::after {
		top: auto;
		bottom: -30px;
		right: auto;
		left: 44px;
		width: 5px;
		height: 30px;
	}
}

/* Pi Plaza band: the purple maker board */
.style-printplaat .pi-band {
	background-color: #3a1f5c;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cg fill='none' stroke='%23462570' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 46h70l26 26h124'/%3E%3Cpath d='M46 220v-64l26-26V0'/%3E%3Cpath d='M150 220v-40l34-34h36'/%3E%3C/g%3E%3C/svg%3E");
	border: 1.5px solid #6a4799;
	border-radius: 8px;
}
.style-printplaat .pi-band .kicker {
	color: var(--pi);
}
.style-printplaat .pi-band p {
	color: #d6c6ec;
}
.style-printplaat .pi-points .icon,
.style-printplaat .pi-visual {
	color: var(--pi);
}
.style-printplaat .pi-code {
	background: #040607;
	border: 3px solid #2b3138;
	border-radius: 3px;
	color: #a9eeff;
	text-shadow: 0 0 6px rgba(127, 227, 255, 0.45);
}

/* blog: daughterboards with mounting holes */
.style-printplaat .post-card {
	background:
		radial-gradient(circle at 12px 12px, #06150f 0 3.5px, var(--accent) 4px 6px, transparent 6.5px),
		radial-gradient(circle at calc(100% - 12px) 12px, #06150f 0 3.5px, var(--accent) 4px 6px, transparent 6.5px),
		var(--surface);
	border: 1px solid var(--line);
	border-radius: 6px;
}
.style-printplaat .post-card:hover {
	border-color: var(--accent);
}
.style-printplaat .post-card-media {
	aspect-ratio: 16 / 8;
	margin: 24px 24px 0;
	border-radius: 3px;
	background: #040607;
	color: #a9eeff;
}
.style-printplaat .post-card-date {
	font-family: var(--font-display);
	color: var(--dim);
}
.style-printplaat .post-card-title {
	color: var(--silk);
	font-family: var(--font-display);
}
.style-printplaat .post-card-excerpt {
	color: var(--muted);
}

/* FAQ */
.style-printplaat .faq-item {
	background: rgba(0, 0, 0, 0.12);
	border: 1.5px solid rgba(242, 239, 228, 0.3);
	border-radius: 4px;
}
.style-printplaat .faq-item[open] {
	border-color: var(--accent);
}
.style-printplaat .faq-item summary {
	color: var(--silk);
	font-weight: 700;
}
.style-printplaat .faq-item summary::before {
	border-radius: 50%;
	background: #06150f;
	border: 3px solid var(--accent);
	color: var(--accent);
	font-family: var(--font-display);
}
.style-printplaat .faq-answer {
	color: var(--muted);
}
.style-printplaat .faq-group-title {
	font-family: var(--font-display);
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 1rem;
	color: var(--accent);
}

/* products */
.style-printplaat .mr-product {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 6px;
}
.style-printplaat .mr-product.is-featured {
	border-color: var(--accent);
	box-shadow: var(--glow);
}
.style-printplaat .mr-product-badge {
	border-radius: 3px;
	background: var(--accent);
	color: var(--accent-ink);
	font-family: var(--font-display);
}
.style-printplaat .mr-product h3 {
	color: var(--silk);
}
.style-printplaat .mr-product-price {
	font-family: var(--font-display);
	color: var(--accent);
}
.style-printplaat .mr-product-desc,
.style-printplaat .price-period {
	color: var(--muted);
}
.style-printplaat .mr-product-features li::before {
	color: var(--led);
}

/* ---------- pages ---------- */
.style-printplaat .page-hero {
	background: rgba(0, 0, 0, 0.14);
	border-bottom: 1.5px solid rgba(242, 239, 228, 0.25);
}
.style-printplaat .breadcrumb,
.style-printplaat .post-meta {
	font-family: var(--font-display);
	color: var(--dim);
}
.style-printplaat .breadcrumb .current {
	color: var(--accent);
}
.style-printplaat .prose p,
.style-printplaat .prose li {
	color: #d3e3da;
}
.style-printplaat.pi-plaza .prose p,
.style-printplaat.pi-plaza .prose li {
	color: #e3d8f2;
}
.style-printplaat .prose strong {
	color: var(--silk);
}
.style-printplaat .prose code {
	background: var(--bg-elev);
	color: var(--accent);
}
.style-printplaat .prose pre,
.style-printplaat .wp-block-code {
	background: #040607;
	border: 3px solid #2b3138;
	border-radius: 3px;
}
.style-printplaat .prose pre code,
.style-printplaat .wp-block-code code {
	padding: 0;
	background: transparent;
	color: #a9eeff;
}
.style-printplaat .prose blockquote,
.style-printplaat .wp-block-quote {
	background: var(--surface);
	border-left-color: var(--accent);
}
.style-printplaat .wp-block-table th,
.style-printplaat .prose th {
	font-family: var(--font-display);
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 0.9rem;
}
.style-printplaat .wp-block-group.has-background,
.style-printplaat .wp-block-group.is-style-mr-panel,
.style-printplaat .wp-block-group.is-style-mr-panel-accent,
.style-printplaat .mr-panel,
.style-printplaat .mr-panel-accent {
	background: var(--surface);
	border: 1.5px solid rgba(242, 239, 228, 0.25);
	border-radius: 6px;
}
.style-printplaat .wp-block-group.is-style-mr-panel-accent,
.style-printplaat .mr-panel-accent {
	border-color: var(--accent);
}
.style-printplaat .badge {
	font-family: var(--font-display);
	background: var(--accent-soft);
	color: var(--accent);
}

/* ---------- forms ---------- */
.style-printplaat input[type="text"],
.style-printplaat input[type="email"],
.style-printplaat input[type="tel"],
.style-printplaat input[type="url"],
.style-printplaat input[type="number"],
.style-printplaat input[type="search"],
.style-printplaat input[type="password"],
.style-printplaat input[type="date"],
.style-printplaat select,
.style-printplaat textarea {
	background-color: var(--bg-elev);
	border-color: #3f7a64;
	border-radius: 4px;
	color: var(--silk);
}
.style-printplaat select option {
	background: var(--bg-elev);
}
.style-printplaat .wpcf7-form input[type="submit"],
.style-printplaat .comment-form input[type="submit"] {
	background: var(--accent);
	color: var(--accent-ink);
	border-radius: 6px;
	font-family: var(--font-display);
}
.style-printplaat .search-submit {
	border-radius: 4px;
}
.style-printplaat .hours-row {
	border-bottom-color: var(--line);
}
.style-printplaat .hours-row dd {
	font-family: var(--font-display);
}

/* ---------- CTA band ends in an edge connector ---------- */
.style-printplaat .section-cta {
	padding-bottom: calc(var(--section) + 30px);
}
.style-printplaat .cta-band,
.style-printplaat.pi-plaza .cta-band {
	position: relative;
	background: var(--surface);
	border: 1.5px solid rgba(242, 239, 228, 0.3);
	border-radius: 8px;
}
.style-printplaat .cta-band::after {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	bottom: -26px;
	height: 24px;
	background: repeating-linear-gradient(90deg, #d6a64a 0 20px, transparent 20px 30px);
	border-radius: 0 0 3px 3px;
}
.style-printplaat .cta-band p {
	color: var(--muted);
}

/* ---------- 404 + misc ---------- */
.style-printplaat .terminal {
	background: #040607;
	border: 3px solid #2b3138;
	border-radius: 4px;
	box-shadow: var(--shadow);
}
.style-printplaat .terminal-bar {
	background: #1b4c9c;
	border-bottom: 0;
}
.style-printplaat .terminal-title {
	color: #eaf1ff;
	font-family: var(--font-display);
}
.style-printplaat .terminal-body {
	color: #a9eeff;
}
.style-printplaat .post-tags a,
.style-printplaat .nav-links .page-numbers {
	font-family: var(--font-display);
	background: var(--surface);
	border-color: var(--line);
}
.style-printplaat .nav-links .page-numbers.current {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--accent-ink);
}

/* ---------- footer ---------- */
.style-printplaat .site-footer {
	background: var(--bg-elev);
	border-top: 1.5px solid rgba(242, 239, 228, 0.25);
	color: var(--muted);
}
.style-printplaat .footer-brand {
	color: var(--silk);
	font-family: var(--font-display);
}
.style-printplaat .footer-mark {
	color: var(--silk);
}
.style-printplaat .footer-mark .robot-eye {
	fill: var(--led);
}
.style-printplaat .footer-title {
	font-family: var(--font-display);
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 0.95rem;
	color: var(--silk);
}
.style-printplaat .footer-menu a {
	color: var(--muted);
}
.style-printplaat .footer-menu a:hover {
	color: var(--accent);
}
.style-printplaat .footer-status {
	font-family: var(--font-display);
}
.style-printplaat .status-tag {
	color: var(--led);
}

/* ---------- WooCommerce: the shop reads like a datasheet ---------- */
.style-printplaat .shop-panel {
	border-top: 6px solid var(--accent);
	border-radius: 6px;
}
.style-printplaat .shop-panel h1,
.style-printplaat .shop-panel h2,
.style-printplaat .shop-panel h3 {
	font-family: var(--font-display);
	color: #0f172a;
}
.style-printplaat .shop-panel .button,
.style-printplaat .shop-panel .wc-block-components-button,
.style-printplaat .shop-panel button.wp-element-button {
	background: #c99a3b !important;
	color: #1d1503 !important;
	border-radius: 6px;
	font-family: var(--font-display);
	box-shadow: none;
}

/* between the tablet breakpoint and ~1200 px the menu and the header button do not fit next to
   each other in this face; the same button is in the hero, so the header copy steps aside */
@media (min-width: 961px) and (max-width: 1199px) {
	.style-printplaat .nav-actions .btn {
		display: none;
	}
}

/* timeline list: a copper trace with a gold via per item */
.style-printplaat .prose ul.is-style-timeline > li::after,
.style-printplaat .prose ul.mr-timeline > li::after {
	width: 3px;
	left: calc(0.675em - 1.5px);
	background: var(--copper);
}
.style-printplaat .prose ul.is-style-timeline > li::before,
.style-printplaat .prose ul.mr-timeline > li::before {
	background: var(--epoxy);
	border: 3px solid var(--accent);
	box-shadow: none;
}
.style-printplaat .prose ul.is-style-timeline > li > strong:first-child,
.style-printplaat .prose ul.mr-timeline > li > strong:first-child {
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--accent);
}

/* page hero mascot and author box: silkscreen robot with LED eyes */
.style-printplaat .page-hero-art,
.style-printplaat .author-box-art {
	color: var(--silk);
}
.style-printplaat .page-hero-art .robot-eye,
.style-printplaat .author-box-art .robot-eye {
	fill: var(--led);
	filter: drop-shadow(0 0 4px var(--led));
}
.style-printplaat.pi-plaza .page-hero-art,
.style-printplaat.pi-plaza .author-box-art {
	color: var(--pi);
}
.style-printplaat .author-box {
	border-radius: var(--radius);
	background: var(--surface);
	border-color: var(--line);
}
.style-printplaat .author-box-title {
	font-family: var(--font-display);
}
