/* Product enquiry refinements. Reuse the approved commerce palette and assets. */
.kz-editorial-hero--trade { min-height: 0; padding-bottom: 28px; }
.kz-editorial-hero--trade .kz-editorial-hero__content { position: relative; inset: auto; transform: none; height: auto; min-height: 0; padding: 160px 0 36px; }
.kz-editorial-hero--trade .kz-editorial-eyebrow { margin-bottom: 24px; }
.kz-editorial-hero--trade .kz-editorial-hero__intro { max-width: 44ch; margin: 24px 0; font-size: 18px; line-height: 1.6; color: #173d30; }
.kz-editorial-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; }
.kz-editorial-hero__actions > a { min-height: 48px; display: inline-flex; align-items: center; }
.kz-editorial-hero__actions .kz-editorial-cta { white-space: normal; }
.kz-editorial-hero__actions .kz-editorial-text-link { color: #173d30; text-decoration: underline; text-underline-offset: 3px; }
.kz-editorial-hero--trade .kz-editorial-benefits { margin: 28px 0 0; }
.kz-editorial-hero--trade .kz-editorial-proof { position: relative; inset: auto; transform: none; }
.kz-contact-advisor-card h2 { overflow-wrap: anywhere; }
@media (max-width: 820px) {
	.kz-editorial-hero--trade .kz-editorial-hero__content { padding-top: 120px; }
	.kz-editorial-hero--trade .kz-editorial-hero__intro { font-size: 16px; max-width: 38ch; }
	.kz-editorial-hero__actions { align-items: flex-start; flex-direction: column; gap: 8px; }
}
.kezhun-intake-form:not(.kezhun-quote-form) {
	width: min(900px, calc(100% - 40px)); margin: 32px auto 56px;
	padding: clamp(20px, 3vw, 32px); border: 1px solid #d5ddd2;
	border-radius: 20px; background: #fffdfa;
}
.kezhun-intake-form:not(.kezhun-quote-form) .kz-grid { gap: 24px; }
.kezhun-intake-form:not(.kezhun-quote-form) label:not(.kezhun-honeypot):not(.kz-quote-consent) { display: block; min-width: 0; font-size: 15px; line-height: 1.5; margin-bottom: 4px; }
.kezhun-intake-form:not(.kezhun-quote-form) label > :is(input:not([type=checkbox]), select, textarea) { display: block; margin-top: 8px; }
.kezhun-intake-form:not(.kezhun-quote-form) > label:not(.kezhun-honeypot):not(.kz-quote-consent) { margin-top: 24px; }
.kezhun-intake-form:not(.kezhun-quote-form) :where(input:not([type=checkbox]):not([type=hidden]), select, textarea) { width: 100%; min-width: 0; min-height: 48px; font: inherit; font-size: 16px; border: 1px solid #d5ddd2; border-radius: 12px; padding: 12px; background: #fff; color: #18392e; }
.kezhun-intake-form:not(.kezhun-quote-form) .kz-button { min-height: 48px; white-space: normal; text-align: center; }
.kezhun-intake-form:not(.kezhun-quote-form) .kz-button[type="submit"] { background: #173d30; border-color: #173d30; color: #fffdfa; font-size: 16px; }
.kezhun-intake-form:not(.kezhun-quote-form) .kz-button[type="submit"]:is(:hover, :focus-visible) { background: #102c22; border-color: #102c22; color: #fffdfa; }
.kz-form-details { margin-block: 8px 24px; padding: 16px; border: 1px solid #d5ddd2; border-radius: 12px; }
.kz-form-details summary { cursor: pointer; padding-block: 8px; min-height: 44px; font-weight: 600; }
.kz-form-details .kz-grid { margin-top: 20px; }
.kz-form-privacy { font-size: 14px; line-height: 1.6; margin-block: 16px; }
.kz-form-privacy a { color: #173d30; text-decoration: underline; text-underline-offset: 3px; }
.kz-privacy-notice { width: min(900px, calc(100% - 40px)); margin: 40px auto 64px; line-height: 1.75; overflow-wrap: anywhere; }
.kz-public-page-hero--privacy { padding-block: 40px; }
.kz-public-page-hero--privacy h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1.2; max-width: none; }
.kz-public-page-hero--privacy h1 span { display: inline-block; }
.kz-privacy-section { padding-block: 0; }
.kz-privacy-notice nav { display: flex; flex-wrap: wrap; gap: 12px; }
.kz-privacy-notice article[id] { scroll-margin-top: 140px; }
.kz-privacy-notice nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid #d5ddd2; border-radius: 12px; }
.kz-privacy-notice h2 { font-size: 23px; line-height: 1.4; margin-top: 32px; }
.kz-privacy-notice a { color: #173d30; text-decoration: underline; }
.kezhun-download-center--public { width: min(1200px, calc(100% - 40px)); margin: 40px auto 64px; }
.kezhun-download-center--public .kezhun-download-empty { grid-column: 1 / -1; padding: clamp(24px, 4vw, 40px); border-radius: 20px; }
.kezhun-download-empty p { max-width: 65ch; margin: 0 0 20px; line-height: 1.65; }
.kezhun-download-empty .kz-button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.kezhun-download-empty .kz-button { min-height: 48px; white-space: normal; }
body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__card {
	min-height: 380px;
}
body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__copy {
	max-width: 64%;
	width: 720px;
	padding-block: 36px;
}
body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__copy h1 {
	font-size: clamp(38px, 4vw, 58px);
	line-height: 1.04;
	letter-spacing: -.045em;
	max-width: 13em;
	margin-block: 10px 16px;
}
body main.kz-products-page .kz-commerce-showcase__copy > p:not(.kz-editorial-eyebrow) {
	font-size: 17px;
	line-height: 1.5;
}
body main.kz-products-page .kz-commerce-showcase__actions {
	gap: 16px 24px;
	flex-wrap: wrap;
	margin-top: 22px;
}
body main.kz-products-page .kz-commerce-showcase__actions .kz-editorial-cta {
	max-width: none;
	width: auto;
	gap: 18px;
}
body main.kz-products-page .kz-commerce-showcase__actions .kz-editorial-cta img {
	flex: 0 0 20px;
	position: static;
}
body main.kz-products-page .kz-commerce-content { padding-top: 20px; }
body main.kz-products-page .kz-product-discovery__heading h2 { font-size: 28px; line-height: 1.15; }
body main.kz-products-page .kz-product-search input[type="search"] {
	appearance: none;
	background: var(--kz-commerce-white, #fffdfa);
	border: 1px solid var(--kz-commerce-line, #d5ddd2);
	border-radius: var(--kz-commerce-radius-small, 12px);
	color: var(--kz-commerce-ink, #11150f);
	font: inherit;
	font-size: 16px;
	padding: 12px 14px;
}
body main.kz-products-page .kz-product-results__header {
	margin-block: 20px 14px;
	align-items: center;
}
body main.kz-products-page .kz-product-results__header p { font-size: 14px; color: var(--kz-commerce-muted, #5f625c); }
body main.kz-products-page .kz-public-product-grid { margin-top: 0; }
body main.kz-products-page .kz-public-product-card__body { gap: 16px; }
body main.kz-products-page .kz-public-product-card h3 { font-size: 23px; line-height: 1.2; }
body main.kz-products-page .kz-product-card-fact dd { display: block; overflow: visible; }
body main.kz-products-page .kz-public-product-card__actions { margin-top: auto; }
body main.kz-products-page .kz-public-product-card__actions a { min-height: 48px; white-space: normal; text-align: center; }
:where(.kz-products-page, .kz-public-product-detail, .kz-quote-experience) .kz-editorial-text-link {
	color: var(--kz-commerce-forest, #173d30);
	text-decoration-color: currentColor;
	text-underline-offset: 4px;
}
:where(.kz-products-page, .kz-public-product-detail, .kz-quote-experience) :where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid #173d30;
	outline-offset: 3px;
}
.kz-catalog-enquiry {
	border: 1px solid var(--kz-commerce-line, #d5ddd2);
	border-radius: var(--kz-commerce-radius, 20px);
	background: var(--kz-commerce-white, #fffdfa);
	padding: clamp(24px, 4vw, 48px);
}
.kz-catalog-enquiry h2 { font: 700 clamp(24px, 3vw, 34px)/1.2 Inter, "Helvetica Neue", Arial, sans-serif; margin: 0 0 12px; }
.kz-catalog-enquiry p { max-width: 55ch; margin: 0 0 24px; line-height: 1.6; }
.kz-catalog-enquiry .kz-button { min-height: 48px; white-space: normal; text-align: center; }
.kz-public-product-detail :where(h1, h2, h3),
.kz-quote-experience .kz-quote-intro h1,
.kz-quote-experience .kz-quote-form-heading h2 {
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	letter-spacing: -.035em;
}
.kz-public-product-detail .kz-public-product-detail__grid { align-items: start; }
body .kz-public-product-detail .kz-public-product-detail__content h1 { font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: clamp(30px, 3.1vw, 46px); line-height: 1.1; }
body .kz-public-product-detail .kz-public-product-detail__block h2 { font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-weight: 700; }
.kz-public-product-detail .kezhun-product-key-facts [data-product-application] { grid-column: 1 / -1; }
.kz-public-product-detail .kz-public-product-detail__media { min-height: 0; }
.kz-public-product-detail .kz-public-product-detail__media img { height: 460px; max-height: 58vh; object-fit: contain; }
.kz-public-product-detail .kz-public-product-detail__sku { font-size: 12px; color: var(--kz-commerce-muted, #5f625c); }
.kz-public-product-detail .kz-public-product-detail__category { color: var(--kz-commerce-forest, #173d30); }
.kz-public-product-detail .kz-public-product-actions--primary { display: flex; flex-direction: row; gap: 12px; flex-wrap: wrap; }
.kz-public-product-detail .kz-public-product-actions--primary .kz-button { white-space: normal; min-height: 48px; text-align: center; }
.kz-public-product-detail .kz-public-product-actions--primary .kz-button--ghost { background: var(--kz-commerce-white, #fffdfa); color: var(--kz-commerce-forest, #173d30); border: 1px solid var(--kz-commerce-line, #d5ddd2); }
.kz-public-product-detail .kz-product-anchor-nav { display: flex; flex-wrap: nowrap; gap: 8px; margin-block: 24px; padding: 4px 0 8px; overflow-x: auto; scrollbar-width: thin; position: static; }
.kz-public-product-detail .kz-product-anchor-nav a { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 44px; padding: 10px 14px; border: 1px solid var(--kz-commerce-line, #d5ddd2); border-radius: 999px; font-size: 14px; line-height: 1.4; color: var(--kz-commerce-forest, #173d30); text-decoration: none; background: var(--kz-commerce-white, #fffdfa); }
.kz-public-product-detail .kz-public-product-detail__sections [id], #kz-public-product-next-step { scroll-margin-top: 110px; }
.kz-quote-selection {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 24px;
	padding: 16px;
	background: #f4f7ef;
	border: 1px solid #d5ddd2;
	border-radius: 14px;
}
.kz-quote-selection__image { width: 64px; height: 80px; flex: 0 0 64px; object-fit: contain; }
.kz-quote-selection__copy { min-width: 0; overflow-wrap: anywhere; }
.kz-quote-selection__copy strong, .kz-quote-selection__copy small { display: block; line-height: 1.45; }
.kz-quote-selection__copy small { margin-top: 4px; color: #5f625c; }
.kz-quote-selection > label { flex: 0 0 110px; min-width: 0; font-size: 12px; line-height: 1.4; }
.kz-quote-selection > label input { width: 100%; margin-top: 6px; min-height: 44px; }
.kz-quote-selection__copy :where(p, h3) { margin: 0 0 5px; font-size: 14px; line-height: 1.45; }
.kz-quote-selection__copy h3 { font-weight: 700; }
.kz-quote-selection__intent { font-size: 13px; color: #173d30; }
.kz-quote-panel :where(input, select, textarea) { font-size: 16px; }
.kz-quote-panel .kz-quote-form-heading h2 { font-size: 28px; line-height: 1.15; }
.kz-quote-experience--compact #quote-form > :where(.kz-quote-form-heading, .kz-quote-selection, .kz-quote-grid) { margin-bottom: 0; }
@media (max-width: 1024px) {
	body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__copy { max-width: 74%; padding-inline: 32px; }
}
@media (max-width: 860px) {
	.kz-public-product-detail .kz-public-product-detail__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.kz-public-product-detail .kz-public-product-detail__content { display: contents; }
	.kz-public-product-detail__category { order: 0; margin: 0; }
	.kz-public-product-detail__content h1 { order: 1; margin: 0; }
	.kz-public-product-detail__summary { order: 2; margin: 0; }
	.kz-public-product-detail .kz-public-product-detail__media { order: 3; margin: 0; padding: 14px; width: 100%; min-height: 0; }
	.kz-public-product-detail .kz-public-product-detail__media img { height: 230px; max-height: none; width: 100%; }
	.kz-public-product-detail .kezhun-product-key-facts { order: 4; margin: 0; }
	.kz-public-product-detail .kz-public-product-actions--primary { order: 5; margin: 0; }
	.kz-public-product-detail .kz-public-product-detail__sku { order: 6; margin: 0; }
	.kz-public-product-detail .kz-public-product-actions--primary .kz-button { flex: 1 1 130px; width: auto; }
	.kz-quote-experience--compact .kz-quote-intro { padding: 26px 24px; gap: 16px; }
	.kz-quote-experience--compact .kz-quote-intro h1 { font-size: 32px; line-height: 1.1; }
	.kz-quote-experience--compact .kz-quote-intro__copy { font-size: 15px; line-height: 1.5; margin-top: 12px; }
	.kz-quote-experience--compact .kz-quote-intro .kz-editorial-eyebrow { display: none; }
	.kz-quote-experience--compact .kz-quote-benefits { display: none; }
	.kz-quote-experience--compact .kz-quote-panel { padding: 24px; }
	.kz-quote-selection { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 12px; padding: 12px; }
	.kz-quote-selection .kz-quote-selection__image { width: 54px; height: 72px; }
	.kz-quote-selection__copy strong { font-size: 14px; }
	.kz-quote-panel .kz-quote-form-heading h2 { font-size: 24px; }
	.kz-quote-selection > label { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) 100px; align-items: center; gap: 12px; }
	.kz-quote-selection > label input { margin: 0; }
}
@media (max-width: 700px) {
	body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__card::after { background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.96) 70%, rgba(255,255,255,.72) 100%); }
	body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__card { min-height: 0; }
	body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__copy { width: 100%; max-width: none; min-height: 0; padding: 26px 18px; }
	body main.kz-products-page .kz-commerce-showcase--products .kz-commerce-showcase__copy h1 { font-size: clamp(28px, 7.5vw, 34px); line-height: 1.08; max-width: 14em; margin: 0 0 12px; }
	body main.kz-products-page .kz-commerce-showcase__copy > p:not(.kz-editorial-eyebrow) { display: block; overflow: visible; font-size: 14px; line-height: 1.5; margin: 0; }
	body main.kz-products-page .kz-commerce-content { padding-top: 12px; }
	body main.kz-products-page .kz-public-product-card__media { height: 270px; }
	body main.kz-products-page .kz-product-results__header { margin-block: 16px 12px; }
	body .kz-public-product-detail .kz-public-product-detail__content h1 { font-size: 29px; }
}
@media (max-width: 359px) {
	.kz-quote-experience--compact .kz-quote-panel { padding: 20px 16px; }
	.kz-quote-selection { padding: 12px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* Hostinger's signed-in assistant must leave the site's mobile enquiry bar usable. */
@media (max-width: 700px) {
	body:has(.kz-editorial-mobile-actions) .kodee-fab {
		bottom: calc(128px + env(safe-area-inset-bottom)) !important;
	}
}
@media (max-width: 768px) and (min-height: 481px) {
	body:has(.kz-product-mobile-actions) .kodee-fab {
		bottom: calc(128px + env(safe-area-inset-bottom)) !important;
	}
}
