/*
 * Kimberly Digital and Tradings — "Porcelain Editorial" design system (v1.0.0)
 * Loaded last: owns colour, typography, header, hero, homepage composition,
 * cards, packages, forms, blog, footer and the WooCommerce skin.
 *
 * Palette : Pine Ink, Emerald, Champagne Gold, Porcelain
 * Type    : Fraunces (editorial serif display) + Inter Tight (UI/body)
 * Geometry: soft 18-26px radii, hairline gold rules, layered soft shadows
 */

:root,
body.zt-site {
	--k-ink: #0E211D;
	--k-ink-2: #14302A;
	--k-ink-3: #1D423A;
	--k-emerald: #12735F;
	--k-emerald-2: #0C5A49;
	--k-emerald-soft: #8FD9C4;
	--k-gold: #C79A33;
	--k-gold-soft: #F0CC74;
	--k-porcelain: #F8F6F1;
	--k-porcelain-2: #EFEBE2;
	--k-white: #FFFFFF;
	--k-text: #1C2A26;
	--k-muted: #5F6E6A;
	--k-line: #E3DED3;
	--k-line-dark: rgba(248, 246, 241, .14);
	--k-max: 1400px;
	--k-r: 14px;
	--k-r-lg: 26px;
	--k-r-pill: 999px;
	--k-shadow: 0 1px 2px rgba(14, 33, 29, .04), 0 18px 40px -28px rgba(14, 33, 29, .35);
	--k-shadow-lg: 0 30px 80px -40px rgba(14, 33, 29, .45);
	--k-display: 'Fraunces', Georgia, 'Times New Roman', serif;
	--k-body: 'Inter Tight', system-ui, -apple-system, 'Segoe UI', sans-serif;

	/* re-point inherited tokens from the structural layers */
	--zt-ink: #0E211D;
	--zt-ink-2: #14302A;
	--zt-brand: #12735F;
	--zt-brand-dark: #0C5A49;
	--zt-brand-soft: #8FD9C4;
	--zt-zt-dark: #0C5A49;
	--zt-zt-soft: #8FD9C4;
	--zt-accent: #C79A33;
	--zt-accent-2: #F0CC74;
	--zt-surface: #F8F6F1;
	--zt-surface-2: #EFEBE2;
	--zt-paper: #FFFFFF;
	--zt-text: #1C2A26;
	--zt-muted: #5F6E6A;
	--zt-line: #E3DED3;
	--zt-line-dark: rgba(248, 246, 241, .14);
	--zt-radius-sm: 10px;
	--zt-radius: 14px;
	--zt-radius-lg: 26px;
	--zt-shadow: 0 18px 40px -28px rgba(14, 33, 29, .35);
	--zt-shadow-lg: 0 30px 80px -40px rgba(14, 33, 29, .45);
	--zt-glow: none;
	--zt-font: 'Inter Tight', system-ui, sans-serif;
	--zt-display: 'Fraunces', Georgia, serif;
	--zt-container: 1400px;
	--zt-header-h: 0px;

	/* legacy aliases still referenced by structural sheets */
	--r-ink: #0E211D; --r-ink-2: #14302A; --r-ink-3: #1D423A;
	--r-bone: #F8F6F1; --r-bone-2: #EFEBE2; --r-white: #FFFFFF;
	--r-flame: #12735F; --r-flame-dark: #0C5A49; --r-moss: #C79A33; --r-sun: #C79A33;
	--r-text: #1C2A26; --r-muted: #5F6E6A; --r-line: #E3DED3;
	--r-line-dark: rgba(248, 246, 241, .14);
	--r-max: 1400px; --r-head-h: 78px; --r-r: 14px; --r-r-lg: 26px;
	--r-display: 'Fraunces', Georgia, serif;
	--r-body: 'Inter Tight', system-ui, sans-serif;
	--a-ink: #0E211D; --a-ink-2: #14302A; --a-azure: #12735F; --a-azure-dark: #0C5A49;
	--a-violet: #C79A33; --a-mint: #C79A33; --a-cloud: #F8F6F1; --a-cloud-2: #EFEBE2;
	--a-white: #FFFFFF; --a-text: #1C2A26; --a-muted: #5F6E6A; --a-line: #E3DED3;
	--a-line-dark: rgba(248, 246, 241, .14);
	--a-grad: linear-gradient(120deg, #0E211D 0%, #12735F 100%);
	--a-max: 1400px; --a-head-h: 78px; --a-r: 14px; --a-r-lg: 26px;

	/* shop layer (sc-layout.css) — re-pointed to Emerald Noir */
	--sc-paper: #F8F6F1;
	--sc-paper-2: #EFEBE2;
	--sc-white: #FFFFFF;
	--sc-wine: #12735F;
	--sc-wine-dark: #0C5A49;
	--sc-gold: #C79A33;
	--sc-ink: #0E211D;
	--sc-muted: #5F6E6A;
	--sc-line: #E3DED3;
	--sc-line-light: rgba(248, 246, 241, .18);
	--sc-max: 1400px;
	--sc-serif: 'Fraunces', Georgia, serif;
	--sc-sans: 'Inter Tight', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ------------------------------------------------------------------ base */
body.zt-site,
body.kdt-body {
	background: var(--k-porcelain);
	color: var(--k-text);
	font-family: var(--k-body);
	font-size: 16.5px;
	line-height: 1.68;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}
body.zt-site h1, body.zt-site h2, body.zt-site h3, body.zt-site h4,
body.zt-site .kdt-h2, body.zt-site .zt-h2 {
	font-family: var(--k-display);
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.12;
	color: var(--k-ink);
}
body.zt-site a { color: inherit; }
body.zt-site a:hover { color: var(--k-emerald); }
body.zt-site ::selection { background: var(--k-gold-soft); color: var(--k-ink); }
body.zt-site :where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--k-emerald); outline-offset: 3px;
}

/* ----------------------------------------------------------------- shell */
.kdt-wrap, .sc-wrap, .zt-wrap {
	width: 100%;
	max-width: var(--k-max);
	margin-inline: auto;
	padding-inline: clamp(18px, 4vw, 60px);
}
.kdt-wrap--narrow { max-width: 900px; }

.kdt-sec, .zt-section { position: relative; padding: clamp(56px, 7vw, 116px) 0; }
.kdt-sec--tight { padding: clamp(36px, 4vw, 64px) 0; }
.kdt-sec--white, .zt-section--paper { background: var(--k-white); }
.kdt-sec--cloud, .zt-section--sand { background: var(--k-porcelain-2); }
.kdt-sec--porcelain { background: var(--k-porcelain); }
.kdt-sec--ink, .zt-section--ink {
	background:
		radial-gradient(900px 420px at 85% -10%, rgba(18, 115, 95, .45), transparent 65%),
		var(--k-ink);
	color: #CBD8D3;
}
.kdt-sec--ink h1, .kdt-sec--ink h2, .kdt-sec--ink h3, .kdt-sec--ink strong,
.zt-section--ink h2, .zt-section--ink h3 { color: #FFF; }
.zt-page-offset { padding-top: 0; }

/* section headings — centred editorial stack with a gold hairline */
.kdt-kicker, .zt-eyebrow, .kdt-rule__n {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--k-body); font-size: .72rem; font-weight: 700;
	letter-spacing: .24em; text-transform: uppercase;
	color: var(--k-emerald); margin: 0 0 14px;
}
.kdt-kicker::before, .zt-eyebrow::before {
	content: ""; width: 8px; height: 8px; border-radius: 50%;
	background: var(--k-gold); flex: 0 0 8px;
}
.kdt-sec--ink .kdt-kicker, .kdt-sec--ink .zt-eyebrow,
.zt-section--ink .zt-eyebrow { color: var(--k-gold-soft); }

.kdt-rule { margin-bottom: 12px; }
.kdt-sec--ink .kdt-rule__n { color: var(--k-gold-soft); }

.kdt-h2, body.zt-site .zt-head h2 {
	margin: 0; font-size: clamp(1.85rem, 3.6vw, 3.15rem); line-height: 1.08;
}
.kdt-lead, body.zt-site .zt-head p:not(.zt-eyebrow) {
	margin: 18px 0 0; color: var(--k-muted);
	font-size: clamp(1rem, 1.15vw, 1.1rem); line-height: 1.72; max-width: 64ch;
}
.kdt-sec--ink .kdt-lead, .zt-section--ink .zt-head p { color: #A9BAB4; }
.kdt-head { max-width: 820px; margin-bottom: clamp(34px, 4.4vw, 62px); }
.kdt-head--center { margin-inline: auto; text-align: center; }
.kdt-head--center .kdt-lead { margin-inline: auto; }
.kdt-head--center .kdt-kicker { justify-content: center; }

/* --------------------------------------------------------------- buttons */
body.zt-site .kdt-btn,
body.zt-site .zt-btn,
body.zt-site .button,
body.zt-site button.button,
body.zt-site input[type="submit"],
body.zt-site .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--k-body); font-weight: 600; font-size: .96rem; line-height: 1;
	padding: 16px 30px; border-radius: var(--k-r-pill);
	border: 1px solid var(--k-ink); background: var(--k-ink); color: var(--k-porcelain);
	text-decoration: none; cursor: pointer; text-transform: none; letter-spacing: .002em;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
	box-shadow: 0 10px 22px -16px rgba(14, 33, 29, .8);
}
body.zt-site .kdt-btn:hover,
body.zt-site .zt-btn:hover,
body.zt-site .button:hover,
body.zt-site input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 34px -18px rgba(14, 33, 29, .75);
	background: var(--k-ink-2); color: var(--k-porcelain);
}
body.zt-site .kdt-btn--primary,
body.zt-site .zt-btn--primary,
body.zt-site .kdt-btn--mint,
body.zt-site .zt-btn--mint,
body.zt-site .single_add_to_cart_button,
body.zt-site .checkout-button,
body.zt-site #place_order {
	background: var(--k-emerald); border-color: var(--k-emerald); color: #fff;
	box-shadow: 0 12px 26px -16px rgba(18, 115, 95, .95);
}
body.zt-site .kdt-btn--primary:hover,
body.zt-site .zt-btn--primary:hover,
body.zt-site .kdt-btn--mint:hover,
body.zt-site .zt-btn--mint:hover,
body.zt-site .single_add_to_cart_button:hover,
body.zt-site .checkout-button:hover,
body.zt-site #place_order:hover {
	background: var(--k-emerald-2); border-color: var(--k-emerald-2); color: #fff;
}
body.zt-site .kdt-btn--gold { background: var(--k-gold); border-color: var(--k-gold); color: #201703; }
body.zt-site .kdt-btn--gold:hover { background: var(--k-gold-soft); border-color: var(--k-gold-soft); color: #201703; }
body.zt-site .kdt-btn--ghost,
body.zt-site .zt-btn--ghost {
	background: transparent; color: var(--k-ink); border-color: rgba(14, 33, 29, .28); box-shadow: none;
}
body.zt-site .kdt-btn--ghost:hover,
body.zt-site .zt-btn--ghost:hover { background: var(--k-ink); color: var(--k-porcelain); border-color: var(--k-ink); }
body.zt-site .kdt-btn--wire,
body.zt-site .zt-btn--outline-light {
	background: transparent; color: #fff; border-color: rgba(255, 255, 255, .42); box-shadow: none;
}
body.zt-site .kdt-btn--wire:hover,
body.zt-site .zt-btn--outline-light:hover { background: #fff; color: var(--k-ink); border-color: #fff; }
body.zt-site .kdt-btn--light, body.zt-site .zt-btn--light {
	background: var(--k-porcelain); color: var(--k-ink); border-color: var(--k-porcelain);
}
body.zt-site .kdt-btn--sm, body.zt-site .zt-btn--sm { padding: 12px 20px; font-size: .87rem; }
body.zt-site .kdt-btn--block, body.zt-site .zt-btn--block { width: 100%; }
body.zt-site .kdt-btn svg, body.zt-site .zt-btn svg, body.zt-site .button svg {
	width: 16px; height: 16px; flex: 0 0 16px;
}

/* ---------------------------------------------------------------- header */
body.zt-site .kdt-header {
	position: sticky; top: 0; z-index: 95;
	background: transparent; border: 0;
	padding: clamp(10px, 1.4vw, 18px) 0;
	transition: padding .25s ease;
}
body.zt-site .kdt-header.is-stuck { padding: 8px 0; }
body.zt-site .kdt-header::before {
	content: ""; position: absolute; inset: 0; background: var(--k-porcelain);
	opacity: 0; transition: opacity .25s ease; pointer-events: none;
}
body.zt-site .kdt-header.is-stuck::before { opacity: .92; backdrop-filter: blur(8px); }
body.zt-site .kdt-header > .kdt-wrap { position: relative; z-index: 1; }

body.zt-site .kdt-bar {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
	gap: clamp(12px, 2vw, 28px);
	background: var(--k-white);
	border: 1px solid var(--k-line);
	border-radius: var(--k-r-pill);
	padding: 10px 12px 10px 22px;
	box-shadow: var(--k-shadow);
	min-height: 68px;
	transition: box-shadow .25s ease;
}
body.zt-site .kdt-header.is-stuck .kdt-bar { box-shadow: 0 20px 45px -30px rgba(14, 33, 29, .6); }

body.zt-site .kdt-brand { display: flex; align-items: center; min-width: 0; }
body.zt-site .kdt-brand img,
body.zt-site .kdt-brand .custom-logo {
	height: 40px !important; width: auto !important; max-width: 230px !important;
	object-fit: contain; display: block;
}

body.zt-site .kdt-nav {
	display: flex; align-items: center; justify-content: center; gap: 2px; min-width: 0;
}
body.zt-site .kdt-nav > div { position: relative; }
body.zt-site .kdt-nav > div > a {
	display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
	padding: 10px 13px; font-size: .93rem; font-weight: 500; color: var(--k-text);
	text-decoration: none; border-radius: var(--k-r-pill);
	transition: background .18s ease, color .18s ease;
}
body.zt-site .kdt-nav > div > a:hover { background: var(--k-porcelain-2); color: var(--k-ink); }
body.zt-site .kdt-nav > div > a svg { width: 13px; height: 13px; opacity: .55; }

body.zt-site .kdt-tools { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
body.zt-site .kdt-icon-btn {
	display: grid; place-items: center; width: 44px; height: 44px; position: relative;
	border: 1px solid var(--k-line); border-radius: 50%;
	background: var(--k-porcelain); color: var(--k-ink);
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}
body.zt-site .kdt-icon-btn:hover { background: var(--k-ink); border-color: var(--k-ink); color: #fff; }
body.zt-site .kdt-count {
	position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px;
	display: grid; place-items: center; padding: 0 5px;
	background: var(--k-gold); color: #201703; font-size: .68rem; font-weight: 800;
	border-radius: 999px; border: 2px solid var(--k-white);
}
body.zt-site .kdt-count.is-empty { display: none; }

/* dropdown */
body.zt-site .kdt-has-drop > a::after { content: none; }
body.zt-site .kdt-drop {
	position: absolute; top: calc(100% + 14px); left: 50%; transform: translate(-50%, 10px);
	width: min(560px, 78vw); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px; padding: 14px;
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: 20px;
	box-shadow: var(--k-shadow-lg);
	opacity: 0; visibility: hidden; pointer-events: none;
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
	z-index: 60;
}
body.zt-site .kdt-has-drop:hover .kdt-drop,
body.zt-site .kdt-has-drop:focus-within .kdt-drop {
	opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
}
body.zt-site .kdt-drop a {
	display: block; padding: 12px 14px; border-radius: 14px;
	font-size: .92rem; font-weight: 600; color: var(--k-ink); text-decoration: none;
	transition: background .16s ease;
}
body.zt-site .kdt-drop a span {
	display: block; margin-top: 4px; font-size: .78rem; font-weight: 400;
	line-height: 1.5; color: var(--k-muted);
}
body.zt-site .kdt-drop a:hover { background: var(--k-porcelain-2); }
body.zt-site .kdt-drop a:hover span { color: var(--k-emerald); }

/* mobile drawer */
body.zt-site .kdt-burger { display: none; }
body.zt-site .kdt-mobile {
	display: none; margin: 12px clamp(18px, 4vw, 60px) 0;
	background: var(--k-white); border: 1px solid var(--k-line);
	border-radius: 22px; box-shadow: var(--k-shadow-lg);
	max-height: calc(100dvh - 140px); overflow-y: auto;
	position: relative; z-index: 2;
}
body.zt-site .kdt-mobile.is-open { display: block; }
body.zt-site .kdt-mobile .kdt-wrap { padding-inline: 20px; }
body.zt-site .kdt-mobile ul { list-style: none; margin: 0; padding: 8px 0 18px; }
body.zt-site .kdt-mobile__link {
	display: block; padding: 13px 2px; font-weight: 600; color: var(--k-ink);
	border-bottom: 1px solid var(--k-line); text-decoration: none;
}
body.zt-site .kdt-mobile__sub { padding: 0 0 6px 14px; }
body.zt-site .kdt-mobile__sub .kdt-mobile__link {
	font-weight: 500; font-size: .92rem; color: var(--k-muted); border-bottom: 0; padding: 9px 2px;
}
body.zt-site .kdt-mobile__actions { display: grid; gap: 10px; padding: 4px 0 20px; }

@media (max-width: 1120px) {
	body.zt-site .kdt-nav { display: none; }
	body.zt-site .kdt-burger { display: grid; }
	body.zt-site .kdt-bar { grid-template-columns: auto 1fr; }
	body.zt-site .kdt-tools { justify-content: flex-end; }
}
@media (max-width: 560px) {
	body.zt-site .kdt-bar { padding: 8px 10px 8px 16px; min-height: 62px; }
	body.zt-site .kdt-brand img, body.zt-site .kdt-brand .custom-logo { height: 32px !important; max-width: 165px !important; }
	body.zt-site .kdt-icon-btn { width: 40px; height: 40px; }
	body.zt-site .kdt-search { display: none; }
	body.zt-site .kdt-header__cta { display: none; }
}

/* ------------------------------------------------------------------ hero */
.kdt-hero {
	position: relative; overflow: hidden;
	background:
		radial-gradient(760px 420px at 12% 0%, rgba(18, 115, 95, .10), transparent 62%),
		radial-gradient(620px 400px at 92% 18%, rgba(199, 154, 51, .12), transparent 60%),
		var(--k-porcelain);
	padding: clamp(30px, 4.4vw, 62px) 0 clamp(48px, 6vw, 92px);
}
.kdt-hero__grid {
	display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	gap: clamp(30px, 4.4vw, 68px); align-items: center;
}
.kdt-hero__tag {
	display: inline-flex; align-items: center; gap: 9px;
	background: var(--k-white); border: 1px solid var(--k-line);
	border-radius: var(--k-r-pill); padding: 8px 16px;
	font-size: .78rem; font-weight: 600; letter-spacing: .04em; color: var(--k-ink);
	box-shadow: var(--k-shadow);
}
.kdt-hero__tag i { width: 8px; height: 8px; border-radius: 50%; background: var(--k-emerald); }
.kdt-hero h1 {
	margin: 26px 0 0;
	font-size: clamp(2.4rem, 5.4vw, 4.35rem); line-height: 1.03; letter-spacing: -.02em;
}
.kdt-hero h1 em { font-style: italic; color: var(--k-emerald); }
.kdt-hero h1 u {
	text-decoration: none;
	background: linear-gradient(transparent 74%, rgba(240, 204, 116, .75) 0 94%, transparent 0);
	box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
.kdt-hero__lead {
	margin: 24px 0 0; max-width: 56ch; color: var(--k-muted);
	font-size: clamp(1.02rem, 1.25vw, 1.16rem); line-height: 1.72;
}
.kdt-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 0; }
.kdt-hero__proof {
	display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 30px;
	padding-top: 24px; border-top: 1px solid var(--k-line);
}
.kdt-hero__proof span {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: .88rem; font-weight: 500; color: var(--k-muted);
}
.kdt-hero__proof svg { width: 16px; height: 16px; color: var(--k-emerald); flex: 0 0 16px; }

/* hero panel: stacked porcelain cards */
.kdt-hero__panel { position: relative; display: grid; gap: 14px; }
.kdt-hero__shot {
	margin: 0; position: relative; border-radius: var(--k-r-lg); overflow: hidden;
	aspect-ratio: 5 / 4; background: var(--k-ink); box-shadow: var(--k-shadow-lg);
}
.kdt-hero__shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.kdt-hero__badge {
	display: flex; align-items: center; gap: 14px;
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: 20px;
	padding: 16px 20px; box-shadow: var(--k-shadow);
}
.kdt-hero__badge strong {
	font-family: var(--k-display); font-size: 1.6rem; line-height: 1; color: var(--k-ink);
	white-space: nowrap;
}
.kdt-hero__badge span { font-size: .84rem; color: var(--k-muted); line-height: 1.5; }

/* rolling capability strip */
.kdt-ticker {
	margin-top: clamp(34px, 4vw, 54px);
	border-top: 1px solid var(--k-line); border-bottom: 1px solid var(--k-line);
	background: transparent; overflow: hidden;
}
.kdt-ticker__track {
	display: flex; gap: 34px; white-space: nowrap; padding: 14px 0;
	animation: kdt-slide 40s linear infinite; will-change: transform;
}
.kdt-ticker__track span {
	display: inline-flex; align-items: center; gap: 34px;
	font-family: var(--k-body); font-size: .84rem; font-weight: 600;
	letter-spacing: .18em; text-transform: uppercase; color: var(--k-muted);
}
.kdt-ticker__track span::after { content: "✦"; color: var(--k-gold); letter-spacing: 0; }
@keyframes kdt-slide { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .kdt-ticker__track { animation: none; } }

/* -------------------------------------------------------- trust / ledger */
.kdt-ledger {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
	background: transparent; border: 0;
}
.kdt-ledger > div {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: 20px;
	padding: clamp(22px, 2.6vw, 32px); border-right: 1px solid var(--k-line);
	position: relative; overflow: hidden;
}
.kdt-ledger > div::after {
	content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 100%; background: var(--k-gold);
}
body.zt-site .kdt-ledger strong {
	display: flex; align-items: baseline; gap: 2px;
	font-family: var(--k-display); font-weight: 600;
	font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1; color: var(--k-ink);
}
body.zt-site .kdt-ledger strong .zt-count { font-size: inherit; line-height: 1; }
.kdt-ledger span { display: block; margin-top: 10px; font-size: .88rem; color: var(--k-muted); }

/* --------------------------------------------------------- service tiles */
.kdt-svc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 24px); }
.kdt-svc__card {
	display: flex; flex-direction: column; gap: 14px; height: 100%;
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	padding: clamp(24px, 2.6vw, 34px); text-decoration: none; color: inherit;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
	position: relative; overflow: hidden;
}
.kdt-svc__card::before {
	content: ""; position: absolute; inset: auto -40% -60% auto; width: 220px; height: 220px;
	border-radius: 50%; background: radial-gradient(circle, rgba(18,115,95,.10), transparent 70%);
	opacity: 0; transition: opacity .3s ease;
}
.kdt-svc__card:hover { transform: translateY(-5px); box-shadow: var(--k-shadow-lg); border-color: rgba(18,115,95,.35); }
.kdt-svc__card:hover::before { opacity: 1; }
.kdt-svc__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kdt-svc__ico {
	display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px;
	background: linear-gradient(140deg, var(--k-ink), var(--k-emerald)); color: #fff;
}
.kdt-svc__ico svg { width: 22px; height: 22px; }
.kdt-svc__n {
	font-family: var(--k-display); font-size: 1rem; font-weight: 600; color: var(--k-gold);
	letter-spacing: .04em;
}
.kdt-svc__card h3 { margin: 0; font-size: clamp(1.15rem, 1.7vw, 1.42rem); }
.kdt-svc__card p { margin: 0; color: var(--k-muted); font-size: .95rem; line-height: 1.68; }
.kdt-svc__more {
	margin-top: auto; display: inline-flex; align-items: center; gap: 8px;
	font-size: .85rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: var(--k-emerald);
}
.kdt-svc__more svg { width: 15px; height: 15px; transition: transform .22s ease; }
.kdt-svc__card:hover .kdt-svc__more svg { transform: translateX(4px); }

/* legacy index rows (services page) restyled to match */
.kdt-index { display: grid; gap: 12px; border: 0; }
.kdt-index__row {
	display: grid; grid-template-columns: 54px minmax(0, 1fr) minmax(0, 1.2fr) auto;
	gap: clamp(14px, 2vw, 30px); align-items: center;
	padding: clamp(20px, 2.2vw, 28px); border: 1px solid var(--k-line); border-radius: 20px;
	background: var(--k-white); text-decoration: none; color: inherit;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.kdt-index__row:hover { transform: translateY(-3px); box-shadow: var(--k-shadow); border-color: rgba(18,115,95,.35); }
.kdt-index__n { font-family: var(--k-display); font-size: 1.1rem; font-weight: 600; color: var(--k-gold); }
.kdt-index__row h3 { margin: 0; font-size: clamp(1.1rem, 1.7vw, 1.4rem); }
.kdt-index__row h3 small {
	display: block; margin-top: 6px; font-family: var(--k-body); font-size: .76rem;
	font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--k-emerald);
}
.kdt-index__row p { margin: 0; color: var(--k-muted); font-size: .94rem; line-height: 1.62; }
.kdt-index__go {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	background: var(--k-porcelain-2); color: var(--k-ink);
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.kdt-index__row:hover .kdt-index__go { background: var(--k-emerald); color: #fff; transform: translateX(3px); }
.kdt-index__go svg { width: 16px; height: 16px; }

/* --------------------------------------------------------------- generic */
.kdt-grid { display: grid; gap: clamp(16px, 1.8vw, 24px); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kdt-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kdt-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

body.zt-site .kdt-card, body.zt-site .zt-card {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	padding: clamp(22px, 2.4vw, 32px); box-shadow: none; height: 100%;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.zt-site .kdt-card:hover, body.zt-site .zt-card:hover {
	transform: translateY(-4px); box-shadow: var(--k-shadow-lg); border-color: rgba(18,115,95,.3);
}
body.zt-site .zt-card--ink {
	background: rgba(255, 255, 255, .05); border-color: var(--k-line-dark); color: #C4D3CE;
}
body.zt-site .zt-card--ink:hover { border-color: rgba(199, 154, 51, .5); box-shadow: none; }
body.zt-site .zt-ico, body.zt-site .kdt-ico {
	display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px;
	background: var(--k-porcelain-2); color: var(--k-emerald); border: 0;
}
body.zt-site .zt-section--ink .zt-ico, body.zt-site .kdt-sec--ink .zt-ico {
	background: rgba(199, 154, 51, .16); color: var(--k-gold-soft);
}
body.zt-site .zt-ico svg, body.zt-site .kdt-ico svg { width: 21px; height: 21px; }
body.zt-site svg { max-width: 100%; }

.kdt-tag {
	display: inline-flex; align-items: center; padding: 6px 13px; border-radius: 999px;
	background: var(--k-porcelain-2); color: var(--k-emerald);
	font-size: .73rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}

/* --------------------------------------------------- process (timeline) */
.kdt-steps, body.zt-site .zt-steps {
	display: grid; gap: clamp(14px, 1.6vw, 22px); grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: none; margin-inline: 0; position: relative;
}
body.zt-site .zt-step, .kdt-step {
	display: flex; flex-direction: column; align-items: flex-start; gap: 0;
	padding: clamp(20px, 2.2vw, 30px); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	background: var(--k-white); box-shadow: var(--k-shadow);
	position: relative;
	transition: transform .22s ease, box-shadow .22s ease;
}
body.zt-site .zt-step:hover, .kdt-step:hover { transform: translateY(-4px); }
body.zt-site .zt-step:last-child, .kdt-step:last-child { border-bottom: 1px solid var(--k-line); }
body.zt-site .zt-step__n, .kdt-step__n {
	display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
	background: var(--k-noir, #081410); border: 0; color: var(--k-gold, #D4AF37);
	font-family: var(--k-display); font-size: 1.05rem; font-weight: 600;
	box-shadow: none; margin-bottom: 16px;
}
body.zt-site .zt-step h3, .kdt-step h3 {
	margin: 0 0 8px; font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}
body.zt-site .zt-step p, .kdt-step p {
	margin: 0; max-width: none;
	color: var(--k-muted); font-size: .92rem; line-height: 1.65;
}

/* ------------------------------------------------------------ work cards */
.kdt-work { display: grid; gap: clamp(16px, 1.8vw, 26px); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kdt-work article {
	display: flex; flex-direction: column; overflow: hidden;
	border: 1px solid var(--k-line); border-radius: var(--k-r-lg); background: var(--k-white);
	transition: transform .22s ease, box-shadow .22s ease;
}
.kdt-work article:hover { transform: translateY(-5px); box-shadow: var(--k-shadow-lg); }
.kdt-work figure { margin: 0; aspect-ratio: 16 / 11; overflow: hidden; }
.kdt-work img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.kdt-work article:hover img { transform: scale(1.04); }
.kdt-work__body { padding: clamp(20px, 2.2vw, 28px); display: grid; gap: 10px; }
.kdt-work h3 { margin: 4px 0 0; font-size: 1.22rem; }
.kdt-work p { margin: 0; color: var(--k-muted); font-size: .94rem; line-height: 1.65; }

/* -------------------------------------------------------------- packages */
.kdt-packs, .zt-price-grid, .kdt-price-grid {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 1.8vw, 26px); align-items: stretch;
}
body.zt-site .kdt-pack, body.zt-site .zt-price {
	display: flex; flex-direction: column; gap: 14px; height: 100%; position: relative;
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	padding: clamp(26px, 2.8vw, 38px);
	transition: transform .22s ease, box-shadow .22s ease;
}
body.zt-site .kdt-pack:hover, body.zt-site .zt-price:hover { transform: translateY(-4px); box-shadow: var(--k-shadow-lg); }
body.zt-site .kdt-pack.is-featured, body.zt-site .zt-price.is-featured {
	background:
		radial-gradient(700px 300px at 80% 0%, rgba(18, 115, 95, .5), transparent 62%),
		var(--k-ink);
	border-color: var(--k-ink); color: #CBD8D3;
	box-shadow: var(--k-shadow-lg);
}
body.zt-site .kdt-pack.is-featured h3, body.zt-site .zt-price.is-featured h3 { color: #fff; }
body.zt-site .kdt-pack__flag, body.zt-site .zt-price__flag {
	position: absolute; top: 18px; right: 18px;
	background: var(--k-gold); color: #201703; border-radius: 999px; padding: 6px 14px;
	font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
body.zt-site .kdt-pack h3, body.zt-site .zt-price h3 { margin: 0; font-size: 1.45rem; }
body.zt-site .kdt-pack__amount, body.zt-site .zt-price__amount {
	margin: 0; font-family: var(--k-display); font-weight: 600;
	font-size: clamp(2.4rem, 4vw, 3.2rem); line-height: 1; color: var(--k-ink);
}
body.zt-site .kdt-pack__amount small, body.zt-site .zt-price__amount small {
	font-family: var(--k-body); font-size: .9rem; font-weight: 600; color: var(--k-muted);
}
body.zt-site .kdt-pack.is-featured .kdt-pack__amount { color: #fff; }
body.zt-site .kdt-pack.is-featured .kdt-pack__amount small { color: var(--k-emerald-soft); }
body.zt-site .kdt-pack ul, body.zt-site .zt-price ul {
	list-style: none; margin: 6px 0 0; padding: 18px 0 0; display: grid; gap: 11px;
	border-top: 1px solid var(--k-line); flex: 1;
}
body.zt-site .kdt-pack.is-featured ul, body.zt-site .zt-price.is-featured ul { border-color: var(--k-line-dark); }
body.zt-site .kdt-pack li, body.zt-site .zt-price li {
	position: relative; padding-left: 28px; font-size: .93rem; line-height: 1.6;
}
body.zt-site .kdt-pack li::before, body.zt-site .zt-price li::before {
	content: "✓"; position: absolute; left: 0; top: -1px;
	display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%;
	background: rgba(18, 115, 95, .12); color: var(--k-emerald); font-size: .7rem; font-weight: 700;
}
body.zt-site .kdt-pack.is-featured li::before { background: rgba(199, 154, 51, .2); color: var(--k-gold-soft); }
body.zt-site .kdt-pack .kdt-btn, body.zt-site .zt-price .zt-btn { width: 100%; margin-top: 6px; }
body.zt-site .kdt-pack.is-featured .kdt-btn--ghost { color: #fff; border-color: rgba(255,255,255,.4); }
body.zt-site .kdt-pack.is-featured .kdt-btn--ghost:hover { background: #fff; color: var(--k-ink); }

/* --------------------------------------------------------- custom package */
.kdt-custom {
	display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: clamp(24px, 3vw, 54px); align-items: start;
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	padding: clamp(24px, 3vw, 48px); box-shadow: var(--k-shadow);
}
.kdt-custom__aside h2 { margin: 14px 0 0; font-size: clamp(1.6rem, 2.6vw, 2.3rem); }
.kdt-custom__aside p { color: var(--k-muted); margin: 16px 0 0; }
.kdt-custom__list { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.kdt-custom__list li { display: flex; gap: 10px; font-size: .93rem; color: var(--k-text); }
.kdt-custom__list svg { width: 17px; height: 17px; color: var(--k-emerald); flex: 0 0 17px; margin-top: 3px; }

body.zt-site .zt-custom__form { display: grid; gap: 16px; margin: 0; }
body.zt-site .zt-field { display: grid; gap: 7px; }
body.zt-site .zt-field label {
	font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--k-ink);
}
body.zt-site .zt-field input,
body.zt-site .zt-field textarea,
body.zt-site .zt-field select,
body.zt-site input[type="text"], body.zt-site input[type="email"], body.zt-site input[type="tel"],
body.zt-site input[type="number"], body.zt-site input[type="search"], body.zt-site input[type="url"],
body.zt-site input[type="password"], body.zt-site textarea, body.zt-site select {
	width: 100%; padding: 14px 16px; font-family: var(--k-body); font-size: .96rem;
	color: var(--k-text); background: var(--k-porcelain);
	border: 1px solid var(--k-line); border-radius: 14px;
	transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.zt-site .zt-field textarea, body.zt-site textarea { min-height: 130px; resize: vertical; }
body.zt-site .zt-field input:focus, body.zt-site .zt-field textarea:focus,
body.zt-site input:focus, body.zt-site textarea:focus, body.zt-site select:focus {
	outline: none; background: var(--k-white);
	border-color: var(--k-emerald); box-shadow: 0 0 0 4px rgba(18, 115, 95, .12);
}
body.zt-site .zt-chiplist { display: flex; flex-wrap: wrap; gap: 8px; }
body.zt-site .zt-chip {
	padding: 9px 15px; border-radius: 999px; border: 1px solid var(--k-line);
	background: var(--k-porcelain); font-size: .86rem; font-weight: 600; cursor: pointer;
	transition: background .16s ease, color .16s ease, border-color .16s ease;
}
body.zt-site .zt-chip:hover { border-color: var(--k-emerald); color: var(--k-emerald); }
body.zt-site .zt-chip.is-on { background: var(--k-emerald); border-color: var(--k-emerald); color: #fff; }
body.zt-site .zt-field__money { position: relative; display: flex; align-items: center; }
body.zt-site .zt-field__money span {
	position: absolute; left: 16px; font-weight: 700; color: var(--k-muted);
}
body.zt-site .zt-field__money input { padding-left: 34px; }
body.zt-site .zt-field__hint { font-size: .82rem; color: var(--k-muted); margin: 0; }

/* ---------------------------------------------------------------- quotes */
body.zt-site .kdt-quote, body.zt-site .zt-quote {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	padding: clamp(24px, 2.6vw, 34px); position: relative; height: 100%;
	display: flex; flex-direction: column; gap: 18px;
}
body.zt-site .kdt-quote::before {
	content: "”"; font-family: var(--k-display); font-size: 4.5rem; line-height: .7;
	color: var(--k-gold); opacity: .55;
}
body.zt-site .kdt-quote p {
	margin: 0; font-family: var(--k-display); font-size: 1.06rem; line-height: 1.6; color: var(--k-ink);
	flex: 1;
}
body.zt-site .kdt-quote footer {
	display: grid; gap: 2px; font-size: .85rem; color: var(--k-muted);
	border-top: 1px solid var(--k-line); padding-top: 16px;
}
body.zt-site .kdt-quote footer strong { display: block; color: var(--k-ink); font-size: .95rem; }

/* ------------------------------------------------------------------- faq */
body.zt-site .kdt-faq { display: grid; gap: 10px; }
body.zt-site .kdt-faq details {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: 18px;
	padding: 4px 20px; transition: border-color .2s ease, box-shadow .2s ease;
}
body.zt-site .kdt-faq details[open] { border-color: rgba(18,115,95,.35); box-shadow: var(--k-shadow); }
body.zt-site .kdt-faq summary {
	list-style: none; cursor: pointer; padding: 16px 30px 16px 0; position: relative;
	font-weight: 600; font-size: 1rem; color: var(--k-ink);
}
body.zt-site .kdt-faq summary::-webkit-details-marker { display: none; }
body.zt-site .kdt-faq summary::after {
	content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	font-size: 1.35rem; color: var(--k-emerald); line-height: 1;
}
body.zt-site .kdt-faq details[open] summary::after { content: "–"; }
body.zt-site .kdt-faq p { margin: 0 0 18px; color: var(--k-muted); font-size: .95rem; line-height: 1.7; }

/* -------------------------------------------------------------- page banner */
body.zt-site .zt-banner, body.zt-site .kdt-banner {
	position: relative; overflow: hidden;
	background:
		radial-gradient(720px 340px at 15% 0%, rgba(18, 115, 95, .12), transparent 60%),
		var(--k-porcelain-2);
	border-bottom: 1px solid var(--k-line);
	padding: clamp(38px, 5vw, 76px) 0 clamp(34px, 4.4vw, 62px);
	color: var(--k-text);
}
body.zt-site .zt-banner::before, body.zt-site .zt-banner::after { content: none; }
body.zt-site .zt-banner h1, body.zt-site .kdt-banner h1 {
	color: var(--k-ink); margin: 10px 0 0; font-size: clamp(2rem, 4.4vw, 3.4rem);
}
body.zt-site .zt-banner p, body.zt-site .zt-banner .zt-lead { color: var(--k-muted); max-width: 64ch; }
body.zt-site .zt-banner .zt-eyebrow { color: var(--k-emerald); }
body.zt-site .zt-crumbs { font-size: .8rem; color: var(--k-muted); margin-bottom: 14px; }
body.zt-site .zt-crumbs a { color: var(--k-muted); }
body.zt-site .zt-crumbs a:hover { color: var(--k-emerald); }

/* ---------------------------------------------------------------- footer */
body.zt-site .kdt-foot {
	background: var(--k-ink); color: #A9BAB4; padding: clamp(40px, 5vw, 80px) 0 30px;
	position: relative;
}
body.zt-site .kdt-foot h3 {
	color: #fff; font-family: var(--k-body); font-size: .76rem; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; margin: 0 0 18px;
}
body.zt-site .kdt-foot a { color: #A9BAB4; text-decoration: none; }
body.zt-site .kdt-foot a:hover { color: var(--k-gold-soft); }
body.zt-site .kdt-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; font-size: .93rem; }
body.zt-site .kdt-foot__top {
	display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: clamp(26px, 3vw, 52px);
	padding-top: clamp(34px, 4vw, 60px); border-top: 1px solid var(--k-line-dark);
}
body.zt-site .kdt-foot__brand img { height: 46px; width: auto; max-width: 250px; object-fit: contain; }
body.zt-site .kdt-foot__brand p { margin: 20px 0 0; font-size: .94rem; line-height: 1.7; max-width: 42ch; }
body.zt-site .kdt-foot__legal {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	margin-top: clamp(30px, 4vw, 54px); padding-top: 22px;
	border-top: 1px solid var(--k-line-dark); font-size: .85rem;
}
body.zt-site .kdt-foot__legal p { margin: 0; }
body.zt-site .kdt-foot__social { display: flex; gap: 10px; }
body.zt-site .kdt-foot__social a {
	display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
	border: 1px solid var(--k-line-dark); color: #CBD8D3;
}
body.zt-site .kdt-foot__social a:hover { background: var(--k-gold); border-color: var(--k-gold); color: #201703; }

/* closing CTA panel that sits inside the footer */
body.zt-site .kdt-cta {
	display: grid; grid-template-columns: minmax(0, 1.4fr) auto; align-items: center;
	gap: clamp(20px, 3vw, 46px);
	background: linear-gradient(120deg, var(--k-emerald) 0%, var(--k-emerald-2) 58%, #0A473A 100%);
	border-radius: var(--k-r-lg); padding: clamp(28px, 3.4vw, 52px);
	box-shadow: var(--k-shadow-lg);
}
body.zt-site .kdt-cta h2 { color: #fff; margin: 0; font-size: clamp(1.6rem, 3vw, 2.5rem); }
body.zt-site .kdt-cta p { margin: 12px 0 0; color: rgba(255, 255, 255, .84); max-width: 52ch; }
body.zt-site .kdt-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
body.zt-site .kdt-cta .kdt-btn--mint { background: #fff; border-color: #fff; color: var(--k-ink); }
body.zt-site .kdt-cta .kdt-btn--mint:hover { background: var(--k-gold); border-color: var(--k-gold); color: #201703; }
body.zt-site .kdt-cta .kdt-btn--wire { border-color: rgba(255,255,255,.5); color: #fff; }

body.zt-site .zt-to-top {
	background: var(--k-ink); color: #fff; border: 0; border-radius: 50%;
	box-shadow: var(--k-shadow-lg);
}

/* --------------------------------------------------------- WooCommerce skin */
body.zt-site ul.products li.product {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	padding: 18px; text-align: left; overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.zt-site ul.products li.product:hover {
	transform: translateY(-4px); box-shadow: var(--k-shadow-lg); border-color: rgba(18,115,95,.3);
}
body.zt-site ul.products li.product img {
	border-radius: 18px; margin-bottom: 16px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%;
}
body.zt-site ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--k-display); font-size: 1.1rem; font-weight: 600; color: var(--k-ink);
	line-height: 1.3; padding: 0; margin: 0 0 8px;
}
body.zt-site ul.products li.product .price,
body.zt-site .price, body.zt-site .woocommerce-Price-amount {
	color: var(--k-emerald); font-weight: 700; font-family: var(--k-body);
}
body.zt-site ul.products li.product .button { width: 100%; margin-top: 14px; }
body.zt-site .woocommerce-info, body.zt-site .woocommerce-message, body.zt-site .woocommerce-error {
	border-top-color: var(--k-emerald); border-radius: 16px; background: var(--k-white);
	box-shadow: var(--k-shadow);
}
body.zt-site .woocommerce-info::before, body.zt-site .woocommerce-message::before { color: var(--k-emerald); }
body.zt-site table.shop_table {
	border: 1px solid var(--k-line); border-radius: var(--k-r-lg); overflow: hidden;
	background: var(--k-white); border-collapse: separate; border-spacing: 0;
}
body.zt-site table.shop_table th { font-family: var(--k-body); font-weight: 700; color: var(--k-ink); }
body.zt-site .woocommerce-cart .cart_totals,
body.zt-site .woocommerce-checkout #order_review,
body.zt-site .woocommerce-checkout .woocommerce-checkout-review-order {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
}
body.zt-site #payment ul.payment_methods {
	background: var(--k-porcelain); border-bottom: 1px solid var(--k-line);
}
body.zt-site #payment div.form-row { background: var(--k-porcelain); }
body.zt-site .select2-container--default .select2-selection--single {
	border: 1px solid var(--k-line); border-radius: 14px; height: 52px; background: var(--k-porcelain);
}
body.zt-site .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; }
body.zt-site .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }
body.zt-site .woocommerce .quantity .qty {
	border: 1px solid var(--k-line); border-radius: 12px; background: var(--k-white); height: 50px;
}
body.zt-site .sc-prod-head h1 { font-family: var(--k-display); }
body.zt-site .sc-kicker { color: var(--k-emerald); }
body.zt-site .sc-packpick__opt {
	border: 1px solid var(--k-line); border-radius: 16px; background: var(--k-white);
}
body.zt-site .sc-packpick__opt[aria-pressed="true"] {
	border-color: var(--k-emerald); background: rgba(18, 115, 95, .07);
	box-shadow: 0 0 0 3px rgba(18, 115, 95, .12);
}
body.zt-site .sc-buybox {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	box-shadow: var(--k-shadow);
}
body.zt-site .woocommerce-tabs ul.tabs li,
body.zt-site .woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--k-porcelain-2); border-color: var(--k-line); border-radius: 12px 12px 0 0;
}
body.zt-site .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--k-white); border-bottom-color: var(--k-white);
}

/* ------------------------------------------------------------- blog cards */
body.zt-site .zt-post-card, body.zt-site .kdt-post {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	overflow: hidden; height: 100%; display: flex; flex-direction: column;
	transition: transform .22s ease, box-shadow .22s ease;
}
body.zt-site .zt-post-card:hover, body.zt-site .kdt-post:hover {
	transform: translateY(-4px); box-shadow: var(--k-shadow-lg);
}
body.zt-site .zt-post-card img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
body.zt-site .zt-widget {
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: 20px; padding: 22px;
}

/* ---------------------------------------------------------------- reveal */
.zt-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.zt-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .zt-reveal { opacity: 1; transform: none; } }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1180px) {
	.kdt-hero__grid { grid-template-columns: 1fr; }
	.kdt-hero__panel { max-width: 620px; }
	body.zt-site .kdt-foot__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kdt-custom { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
	.kdt-svc, .kdt-grid, .kdt-work, .kdt-packs, .zt-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kdt-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kdt-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kdt-index__row { grid-template-columns: 44px minmax(0, 1fr) auto; }
	.kdt-index__row p { display: none; }
	body.zt-site .kdt-cta { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
	.kdt-packs, .zt-price-grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
}
@media (max-width: 1024px) {
	.kdt-steps, body.zt-site .zt-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.kdt-svc, .kdt-grid, .kdt-grid--2, .kdt-grid--4, .kdt-work { grid-template-columns: 1fr; }
	.kdt-ledger { grid-template-columns: 1fr; }
	.kdt-steps, body.zt-site .zt-steps { grid-template-columns: 1fr; }
	body.zt-site .zt-step__n, .kdt-step__n { width: 52px; height: 52px; font-size: 1rem; }
	.kdt-hero__cta .kdt-btn, .kdt-hero__cta .zt-btn { width: 100%; }
	body.zt-site .kdt-foot__top { grid-template-columns: 1fr; }
	body.zt-site .kdt-cta__actions .kdt-btn { width: 100%; }
	body.zt-site .kdt-quote p { font-size: 1rem; }
}
@media (max-width: 480px) {
	body.zt-site { font-size: 16px; }
	.kdt-hero h1 { font-size: clamp(2rem, 9vw, 2.6rem); }
	body.zt-site .kdt-btn, body.zt-site .zt-btn, body.zt-site .button { padding: 14px 22px; font-size: .92rem; }
}


/* ------------------------------------------------- shop fixes (v1.0.1) */
/* the themed empty-cart panel replaces Woo's default button row */
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart .return-to-shop { display: none !important; }
body.zt-site .zt-empty-state {
	max-width: 720px; margin-inline: auto; text-align: center;
	background: var(--k-white); border: 1px solid var(--k-line); border-radius: var(--k-r-lg);
	padding: clamp(34px, 5vw, 64px);
}
body.zt-site .zt-empty-state svg { color: var(--k-emerald); }
body.zt-site .zt-empty-state h2 { margin: 0 0 10px; }
body.zt-site .zt-empty-state p { color: var(--k-muted); margin: 0 0 22px; }

/* buybox / engagement picker colours */
body.zt-site .sc-packpick__price,
body.zt-site .sc-buybox .price,
body.zt-site .sc-price,
body.zt-site .woocommerce-variation-price .price { color: var(--k-emerald); }
body.zt-site .sc-btn--wine,
body.zt-site .wc-block-components-button,
body.zt-site .woocommerce #respond input#submit {
	background: var(--k-emerald); border-color: var(--k-emerald); color: #fff;
}
body.zt-site .sc-btn--wine:hover,
body.zt-site .wc-block-components-button:hover { background: var(--k-emerald-2); border-color: var(--k-emerald-2); }
body.zt-site .sc-btn--gold { background: var(--k-gold); color: #201703; }
body.zt-site .sc-sec--wine { background: var(--k-ink); color: #CBD8D3; }

/* product / archive banner band */
body.zt-site .sc-prod-hero,
body.zt-site .sc-sec--paper2,
body.zt-site .woocommerce-products-header {
	background:
		radial-gradient(720px 340px at 15% 0%, rgba(18, 115, 95, .12), transparent 60%),
		var(--k-porcelain-2);
	border-bottom: 1px solid var(--k-line);
}
