/*
Theme Name: Ziqual
Template: twentytwentyfive
Description: Simple black-and-white theme for Ziqual, a precision CNC machine shop.
Version: 1.1.1
Text Domain: ziqual
*/

/* Small label above headings, set in a monospace face */
.z-eyebrow {
	font-family: var(--wp--preset--font-family--fira-code);
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4);
	margin-bottom: 0.75rem;
}
.has-contrast-background-color .z-eyebrow { color: #a3a3a3; }

/* Header */
.z-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--contrast);
}
.admin-bar .z-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .z-header { top: 46px; } }
.z-brand {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 1rem;
}
.z-brand svg { width: 30px; height: 30px; fill: currentColor; }

/* Cards: thin black outline, no rounding */
.z-card {
	border: 1px solid var(--wp--preset--color--contrast);
	height: 100%;
}
.z-card h3 { margin-top: 2.25rem; }
.z-card > :first-child { margin-top: 0; }
.z-card .z-num + h3 { margin-top: 0.5rem; }
.z-num {
	font-family: var(--wp--preset--font-family--fira-code);
	font-size: 0.85rem;
	color: var(--wp--preset--color--accent-4);
}

/* Square photos everywhere, cropped consistently */
.z-photo img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.z-photo-tall img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.wp-block-gallery.z-gallery .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; }

/* Spec list: rows with hairline dividers */
.z-spec { list-style: none; padding-left: 0; }
.z-spec li {
	border-top: 1px solid var(--wp--preset--color--accent-6);
	padding: 0.7rem 0;
}
.z-spec li:last-child { border-bottom: 1px solid var(--wp--preset--color--accent-6); }

/* Quote cards */
.z-quote { border-left: 2px solid var(--wp--preset--color--contrast); padding-left: 1.25rem; }

/* Outline button variant */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid currentColor;
	background: transparent;
}
.has-contrast-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

/* Footer links */
.z-footer a { color: inherit; text-decoration: none; }
.z-footer a:hover { text-decoration: underline; }

/* Links stay readable on black sections */
.has-contrast-background-color a:not(.wp-element-button) { color: inherit; }

/* Full-width bands sit flush against each other and the footer */
.entry-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.wp-site-blocks > footer, main + footer { margin-block-start: 0; }

/* Footer link list without bullets */
.z-footer-list { list-style: none; }
.z-footer-list li { margin-bottom: 0.4rem; }

/* Intro paragraph under page titles */
.z-lede { max-width: 640px; font-size: 1.15rem; color: var(--wp--preset--color--accent-3); }

/* Hero illustration: show it whole, vertically centered */
.z-hero-art { margin: 0; }
.z-hero-art img { width: 100%; height: auto; }
.z-hero { align-items: center; }

/* Legal pages: readable column, modest headings */
.z-legal { max-width: 720px; }
.z-legal h2 { font-size: 1.35rem; letter-spacing: -0.01em; margin-top: 2.75rem; margin-bottom: 0.6rem; }
.z-legal p, .z-legal li { color: var(--wp--preset--color--accent-3); }
.z-legal-list { padding-left: 1.2rem; }
.z-legal-list li { margin-bottom: 0.35rem; }

/* Footer legal links */
.z-legal-links a { margin-right: 1.25rem; }
.z-legal strong { font-weight: 800; color: var(--wp--preset--color--contrast); }
