/*
Theme Name: ZHIHONG Industrial
Theme URI: https://www.zhihonghk.com
Author: ZHIHONG
Description: Full Site Editing theme for an industrial fastening-materials website.
Version: 1.0.3
Text Domain: zhihong-industrial
Requires at least: 6.7
Requires PHP: 8.0
*/

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
.wp-site-blocks { min-height: 100vh; overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }

a { text-underline-offset: .2em; }
a:hover { color: var(--wp--preset--color--accent-orange); }
:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-orange);
	outline-offset: 3px;
}

.zhihong-skip-link {
	background: var(--wp--preset--color--accent-orange);
	color: var(--wp--preset--color--primary-navy);
	font-weight: 800;
	left: 1rem;
	padding: .75rem 1rem;
	position: fixed;
	top: -10rem;
	z-index: 100000;
}
.zhihong-skip-link:focus { top: 1rem; }

.zhihong-site-header {
	background: color-mix(in srgb, var(--wp--preset--color--white) 96%, transparent);
	border-bottom: 1px solid var(--wp--preset--color--border);
	position: relative;
	z-index: 100;
}
.zhihong-site-header-inner {
	gap: 1rem;
	min-height: 4.75rem;
	padding-block: .75rem;
}
.zhihong-brand-lockup { flex: 0 1 auto; gap: .65rem; min-width: 0; }
.zhihong-site-brand { margin: 0; }
.zhihong-site-brand a {
	color: var(--wp--preset--color--primary-navy);
	font-size: clamp(1rem, 3vw, 1.25rem);
	font-weight: 850;
	letter-spacing: .08em;
	text-decoration: none;
}
.zhihong-primary-navigation { flex: 0 0 auto; }
.zhihong-menu-toggle {
	background: var(--wp--preset--color--primary-navy);
	border: 0;
	border-radius: 2px;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	padding: .6rem;
}
.zhihong-menu-list,
.zhihong-language-switcher ul { list-style: none; margin: 0; padding: 0; }
.zhihong-menu-list a,
.zhihong-language-switcher a { text-decoration: none; }
.zhihong-language-switcher--mobile { display: none; }
.zhihong-language-switcher--desktop { position: relative; }
.zhihong-language-switcher--desktop summary { cursor: pointer; font-size: .76rem; font-weight: 850; list-style: none; padding: .65rem .45rem; }
.zhihong-language-switcher--desktop summary::-webkit-details-marker { display: none; }
.zhihong-language-switcher--desktop summary::after { content: "▾"; margin-inline-start: .35rem; }
.zhihong-language-switcher--desktop ul { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--border); box-shadow: 0 12px 28px rgba(7,24,39,.14); inset-inline-end: 0; min-width: 10rem; padding: .4rem; position: absolute; top: 100%; z-index: 20; }
.zhihong-language-switcher--desktop a { color: var(--wp--preset--color--primary-navy); display: block; font-size: .82rem; padding: .55rem .65rem; }
.zhihong-language-switcher a[aria-current="page"] { color: var(--wp--preset--color--accent-orange); font-weight: 800; }

.zhihong-section,
.zhihong-page-main,
.zhihong-listing-main,
.zhihong-product-main { padding-block: clamp(3.25rem, 7vw, 6.5rem); }
.zhihong-section { padding-inline: max(1.25rem, calc((100vw - var(--wp--style--global--wide-size)) / 2)); }
.zhihong-home > .wp-block-group + .wp-block-group { margin-block-start: 0; }

.zhihong-pattern-hero,
.zhihong-pattern-dark {
	background-color: var(--wp--preset--color--primary-navy);
	color: var(--wp--preset--color--white);
	padding: clamp(3.5rem, 8vw, 7.5rem) max(1.25rem, calc((100vw - var(--wp--style--global--wide-size)) / 2));
}
.zhihong-pattern-hero { background-image: linear-gradient(125deg, #071827 0%, #0d2c43 65%, #123a5a 100%); }
.zhihong-pattern-hero .wp-block-heading,
.zhihong-pattern-dark .wp-block-heading { color: var(--wp--preset--color--white); }
.zhihong-pattern-hero h1 { max-width: 18ch; }
.zhihong-pattern-hero .has-large-font-size { color: #cad5de; font-size: clamp(1rem, 1.8vw, 1.25rem) !important; max-width: 58ch; }
.zhihong-pattern-hero .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.65); color: var(--wp--preset--color--white); }
.zhihong-pattern-hero .is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--white); color: var(--wp--preset--color--primary-navy); }

.zhihong-pattern-eyebrow {
	color: var(--wp--preset--color--accent-orange);
	font-family: var(--wp--preset--font-family--technical-mono);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .13em;
	margin: 0;
	text-transform: uppercase;
}
.zhihong-hero-media-slot {
	background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(18,58,90,.38));
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 0;
	box-shadow: 12px 12px 0 rgba(243,106,29,.14);
	min-height: 21rem;
	overflow: hidden;
	position: relative;
}
.zhihong-hero-media-slot::before,
.zhihong-hero-media-slot::after { background: var(--wp--preset--color--accent-orange); content: ""; inset-inline-end: 12%; position: absolute; }
.zhihong-hero-media-slot::before { height: 2px; inset-block-start: 42%; width: 42%; }
.zhihong-hero-media-slot::after { height: 28%; inset-block-start: 28%; width: 2px; }

.zhihong-pattern-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 2px;
	height: 100%;
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 2rem);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.zhihong-pattern-card:hover { border-color: #aebdc8; box-shadow: 0 16px 35px rgba(7,24,39,.08); transform: translateY(-3px); }
.zhihong-pattern-card .wp-block-heading { font-size: 1.15rem; margin-bottom: .65rem; }
.zhihong-pattern-technical-card { border-top: 4px solid var(--wp--preset--color--accent-orange); }
.zhihong-pattern-hero .zhihong-pattern-card,
.zhihong-pattern-dark .zhihong-pattern-card { color: var(--wp--preset--color--primary-text); }
.zhihong-pattern-hero .zhihong-pattern-card .wp-block-heading,
.zhihong-pattern-dark .zhihong-pattern-card .wp-block-heading { color: var(--wp--preset--color--primary-navy); }
.zhihong-product-badge,
.zhihong-post-terms a,
.zhihong-product-tags a {
	background: #eaf0f4;
	color: var(--wp--preset--color--secondary-navy);
	display: inline-block;
	font-family: var(--wp--preset--font-family--technical-mono);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	padding: .35rem .55rem;
	text-decoration: none;
	text-transform: uppercase;
}
.zhihong-product-card .wp-block-post-featured-image,
.zhihong-listing-card .wp-block-post-featured-image { margin: calc(clamp(1.25rem, 3vw, 2rem) * -1); margin-bottom: 1.25rem; }
.zhihong-product-card img,
.zhihong-listing-card img,
.zhihong-product-image img { height: 100%; object-fit: cover; width: 100%; }

.zhihong-pattern-strip { border-inline-start: 1px solid rgba(255,255,255,.28); padding-inline: clamp(1rem, 3vw, 2rem); }
.zhihong-pattern-strip:first-child { border-inline-start: 0; }
.zhihong-pattern-step-number {
	align-items: center;
	background: var(--wp--preset--color--accent-orange);
	border-radius: 0;
	color: var(--wp--preset--color--primary-navy);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--technical-mono);
	font-size: .78rem;
	font-weight: 800;
	height: 2rem;
	justify-content: center;
	margin-bottom: .75rem;
	width: 2rem;
}
.zhihong-process-flow .wp-block-column { border-block-start: 1px solid rgba(255,255,255,.28); padding-block-start: 1.25rem; position: relative; }
.zhihong-process-flow h3 { font-size: .95rem; }

.zhihong-pattern-rfq { background: #eaf0f4; border-block: 1px solid var(--wp--preset--color--border); border-radius: 0; }
.zhihong-page-title { border-inline-start: 5px solid var(--wp--preset--color--accent-orange); padding-inline-start: 1rem; }
.zhihong-listing-main > .wp-block-query { margin-block-start: 2.5rem; }
.zhihong-empty-state { background: var(--wp--preset--color--light-background); border-inline-start: 5px solid var(--wp--preset--color--accent-orange); padding: clamp(1.5rem, 4vw, 3rem); }

.zhihong-breadcrumbs { display: flex; flex-wrap: wrap; font-size: .875rem; gap: .6rem; margin-bottom: 2rem; }
.zhihong-product-intro { margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.zhihong-product-specifications { background: var(--wp--preset--color--light-background); border-top: 4px solid var(--wp--preset--color--accent-orange); margin-block: 3rem; padding: clamp(1.5rem, 4vw, 3rem); }
.zhihong-specification-list { border-top: 1px solid var(--wp--preset--color--border); margin-top: 2rem; }
.zhihong-specification-list > div { border-bottom: 1px solid var(--wp--preset--color--border); display: grid; gap: 1rem; grid-template-columns: minmax(10rem, 30%) 1fr; padding-block: .85rem; }
.zhihong-specification-list dt { color: var(--wp--preset--color--secondary-text); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.zhihong-specification-list dd { margin: 0; }
.zhihong-related-products { border-top: 1px solid var(--wp--preset--color--border); margin-block-start: 4rem; padding-block-start: 3rem; }

.zhihong-requirement-finder { border-block: 1px solid var(--wp--preset--color--border); margin-block: 3rem; margin-inline: auto; max-width: 1180px; padding: 2rem 1.25rem; }
.zhihong-requirement-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.zhihong-requirement-grid > div { border-inline-start: 3px solid var(--wp--preset--color--accent-orange); padding-inline-start: 1rem; }
.zhihong-requirement-grid h3 { font-size: .95rem; }
.zhihong-requirement-grid ul { list-style: none; margin: 0; padding: 0; }
.zhihong-application-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block-start: 2rem; }
.zhihong-application-grid a { color: var(--wp--preset--color--primary-navy); display: flex; flex-direction: column; font-size: 1.05rem; font-weight: 800; gap: .65rem; text-decoration: none; }
.zhihong-application-grid small { color: var(--wp--preset--color--secondary-text); font-family: var(--wp--preset--font-family--technical-mono); font-size: .72rem; font-weight: 500; }
.zhihong-family-grid,
.zhihong-related-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block-start: 2rem; }
.zhihong-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.zhihong-product-filter { border-block: 1px solid var(--wp--preset--color--border); margin: 3rem auto; max-width: 1180px; padding: 2rem 1.25rem; }
.zhihong-filter-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.zhihong-product-filter label { color: var(--wp--preset--color--primary-navy); font-size: .78rem; font-weight: 800; }
.zhihong-product-filter select { background: #fff; border: 1px solid #9badba; display: block; font: inherit; margin-top: .4rem; min-height: 2.8rem; padding: .6rem; width: 100%; }
.zhihong-filter-actions { align-items: center; display: flex; gap: 1rem; margin-top: 1rem; }
.zhihong-filter-actions button { background: var(--wp--preset--color--accent-orange); border: 0; color: var(--wp--preset--color--primary-navy); cursor: pointer; font: inherit; font-weight: 800; padding: .8rem 1rem; }
.zhihong-product-hero { align-items: center; display: grid; gap: clamp(2rem, 5vw, 4rem); margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.zhihong-product-hero.has-image { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.zhihong-product-hero.has-no-image { max-width: 780px; }
.zhihong-product-hero__image { aspect-ratio: 4 / 3; height: auto; object-fit: cover; width: 100%; }
.zhihong-product-card__image { aspect-ratio: 4 / 3; height: auto !important; object-fit: cover; width: 100%; }
.zhihong-product-hero__content h1 { font-size: clamp(2rem, 5vw, 3.5rem); }

.zhihong-rfq-form-wrap { margin-inline: auto; max-width: 980px; }
.zhihong-rfq-form { margin-top: 2rem; }
.zhihong-form-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zhihong-rfq-form label { color: var(--wp--preset--color--primary-navy); display: block; font-size: .875rem; font-weight: 750; margin-bottom: 1.1rem; }
.zhihong-rfq-form input:not([type="checkbox"]),
.zhihong-rfq-form textarea,
.zhihong-rfq-form select {
	background: var(--wp--preset--color--white);
	border: 1px solid #9badba;
	border-radius: 2px;
	color: var(--wp--preset--color--primary-text);
	display: block;
	font: inherit;
	margin-top: .45rem;
	min-height: 3rem;
	padding: .7rem .8rem;
	width: 100%;
}
.zhihong-rfq-form textarea { resize: vertical; }
.zhihong-rfq-form button { background: var(--wp--preset--color--accent-orange); border: 0; border-radius: 2px; color: var(--wp--preset--color--primary-navy); cursor: pointer; font: inherit; font-weight: 800; min-height: 3rem; padding: .75rem 1.25rem; }
.zhihong-rfq-form button:hover { background: #dd5910; }
.zhihong-form-help { color: var(--wp--preset--color--secondary-text); font-size: .82rem; margin-top: -0.55rem; }
.zhihong-consent { align-items: flex-start; display: flex !important; gap: .65rem; }
.zhihong-consent input { margin-top: .25rem; }
.zhihong-honeypot { left: -10000px; position: absolute; }
.zhihong-form-status { border-inline-start: 4px solid var(--wp--preset--color--secondary-navy); margin-block: 1.5rem; padding: 1rem; }
.zhihong-form-status--success { background: #edf7f1; border-color: #24764a; }
.zhihong-form-status--recorded { background: #fff7e8; border-color: var(--wp--preset--color--accent-orange); }
.zhihong-form-status--invalid,
.zhihong-form-status--upload,
.zhihong-form-status--failed { background: #fff2ee; border-color: #b33d20; }

.zhihong-site-footer { border-radius: 0; padding: clamp(3rem, 7vw, 5rem) max(1.25rem, calc((100vw - var(--wp--style--global--wide-size)) / 2)); }
.zhihong-site-footer .wp-block-heading,
.zhihong-site-footer .wp-block-site-title a { color: var(--wp--preset--color--white); }
.zhihong-site-footer a { color: #e4ebf0; }
.zhihong-site-footer ul { list-style: none; padding: 0; }
.zhihong-site-footer li { margin-block: .5rem; }
.zhihong-site-footer hr { border-color: rgba(255,255,255,.2); }

@media (min-width: 1080px) {
	.zhihong-menu-toggle { display: none; }
	.zhihong-menu-panel { align-items: center; display: flex; gap: .65rem; }
	.zhihong-menu-list { align-items: center; display: flex; gap: clamp(.45rem, .8vw, .85rem); }
	.zhihong-menu-list a { color: var(--wp--preset--color--primary-navy); font-size: .72rem; font-weight: 750; }
	.zhihong-menu-list .zhihong-nav-cta a { background: var(--wp--preset--color--accent-orange); padding: .65rem .75rem; }
}

@media (max-width: 1079px) {
	.zhihong-menu-panel { background: var(--wp--preset--color--primary-navy); color: var(--wp--preset--color--white); display: none; inset-inline: 0; padding: 1rem max(1rem, calc((100vw - var(--wp--style--global--wide-size)) / 2)); position: absolute; top: 100%; width: 100%; }
	.zhihong-primary-navigation.is-open .zhihong-menu-panel { display: block; }
	.zhihong-menu-list li { border-bottom: 1px solid rgba(255,255,255,.16); }
	.zhihong-menu-list a { color: var(--wp--preset--color--white); display: block; font-size: 1.05rem; padding: .9rem 0; }
	.zhihong-menu-list .zhihong-nav-cta { border-bottom: 0; margin-top: .8rem; }
	.zhihong-menu-list .zhihong-nav-cta a { background: var(--wp--preset--color--accent-orange); color: var(--wp--preset--color--primary-navy); padding-inline: 1rem; text-align: center; }
	.zhihong-language-switcher--desktop { display: none; }
	.zhihong-language-switcher--mobile { display: block; margin-top: 1.25rem; }
	.zhihong-language-switcher--mobile p { color: #bdcbd5; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
	.zhihong-language-switcher--mobile ul { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
	.zhihong-language-switcher--mobile a { color: var(--wp--preset--color--white); display: block; padding-block: .35rem; }
}

@media (max-width: 781px) {
	.zhihong-site-header-inner { min-height: 4rem; padding-inline: 1rem; }
	.zhihong-brand-lockup .wp-block-site-logo img { width: 36px; }
	.zhihong-family-grid { display: grid; grid-template-columns: 1fr; }
	.zhihong-pattern-strip { border-block-start: 1px solid rgba(255,255,255,.28); border-inline-start: 0; padding-block: 1rem; }
	.zhihong-pattern-strip:first-child { border-block-start: 0; }
	.zhihong-process-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zhihong-requirement-grid,
	.zhihong-application-grid,
	.zhihong-family-grid,
	.zhihong-related-grid,
	.zhihong-filter-grid,
	.zhihong-form-grid { grid-template-columns: 1fr; }
	.zhihong-product-hero.has-image { grid-template-columns: 1fr; }
	.zhihong-specification-list > div { grid-template-columns: 1fr; gap: .35rem; }
}

@media (max-width: 430px) {
	.zhihong-site-header-inner { gap: .5rem; }
	.zhihong-site-brand a { font-size: .95rem; letter-spacing: .04em; }
	.zhihong-brand-lockup { gap: .4rem; }
	.zhihong-brand-lockup .wp-block-site-logo img { width: 32px; }
	.zhihong-pattern-hero,
	.zhihong-pattern-dark,
	.zhihong-section { padding-inline: 1rem; }
	.zhihong-pattern-hero .wp-block-buttons { align-items: stretch; flex-direction: column; }
	.zhihong-pattern-hero .wp-block-button,
	.zhihong-pattern-hero .wp-block-button__link { width: 100%; }
	.zhihong-process-flow { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
