:root {
	--gkd-ink: #151922;
	--gkd-copy: #556070;
	--gkd-muted: #768191;
	--gkd-line: #dde3e9;
	--gkd-surface: #ffffff;
	--gkd-soft: #f5f7f9;
	--gkd-red: #d62828;
	--gkd-red-dark: #b91f24;
	--gkd-radius-sm: 8px;
	--gkd-radius: 12px;
	--gkd-radius-lg: 18px;
	--gkd-shadow: 0 12px 34px rgba(21, 25, 34, .07);
}

.gkd-design-system {
	color: var(--gkd-copy);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.gkd-design-system h1,
.gkd-design-system h2,
.gkd-design-system h3,
.gkd-design-system h4,
.gkd-design-system h5,
.gkd-design-system h6 {
	color: var(--gkd-ink);
	font-weight: 750;
	letter-spacing: -.025em;
}
.gkd-design-system h1 { font-size: clamp(32px, 4vw, 52px); line-height: 1.08; }
.gkd-design-system h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.15; }
.gkd-design-system h3 { font-size: clamp(21px, 2vw, 28px); line-height: 1.22; }

.gkd-design-system a:focus-visible,
.gkd-design-system button:focus-visible,
.gkd-design-system input:focus-visible,
.gkd-design-system select:focus-visible,
.gkd-design-system textarea:focus-visible {
	outline: 3px solid var(--gkd-ink);
	outline-offset: 3px;
}

.gkd-design-system button,
.gkd-design-system .button,
.gkd-design-system input[type="submit"],
.gkd-design-system .woocommerce a.button,
.gkd-design-system .woocommerce button.button {
	min-height: 46px;
	border-radius: var(--gkd-radius-sm);
	font-weight: 750;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.gkd-design-system .woocommerce a.button.alt,
.gkd-design-system .woocommerce button.button.alt,
.gkd-design-system .woocommerce input.button.alt,
.gkd-design-system .checkout-button {
	border-color: var(--gkd-red) !important;
	background: var(--gkd-red) !important;
	color: #fff !important;
}
.gkd-design-system .woocommerce a.button.alt:hover,
.gkd-design-system .woocommerce button.button.alt:hover,
.gkd-design-system .woocommerce input.button.alt:hover,
.gkd-design-system .checkout-button:hover {
	border-color: var(--gkd-red-dark) !important;
	background: var(--gkd-red-dark) !important;
}

.gkd-design-system input[type="text"],
.gkd-design-system input[type="email"],
.gkd-design-system input[type="tel"],
.gkd-design-system input[type="password"],
.gkd-design-system input[type="search"],
.gkd-design-system input[type="number"],
.gkd-design-system select,
.gkd-design-system textarea {
	min-height: 48px;
	border: 1px solid var(--gkd-line);
	border-radius: var(--gkd-radius-sm);
	background: #fff;
	color: var(--gkd-ink);
}
.gkd-design-system input::placeholder,
.gkd-design-system textarea::placeholder { color: #7b8491; opacity: 1; }

/* Compact the existing Merto header without changing its template or behaviour. */
.gkd-design-system .header-template .header-top,
.gkd-design-system .header-template .header-middle,
.gkd-design-system .header-template .header-bottom { box-sizing: border-box; }
.gkd-design-system .header-template .logo img,
.gkd-design-system .header-template .site-logo img { max-height: 88px; width: auto; object-fit: contain; }
.gkd-design-system .header-template .search-table,
.gkd-design-system .header-template form.search-form { border-radius: 12px; overflow: hidden; }
.gkd-design-system .header-template .menu-label,
.gkd-design-system .header-template nav a { font-weight: 700; }

/* Consistent catalogue cards; native Merto actions and Woo hooks are retained. */
.gkd-design-system .products .product-wrapper,
.gkd-design-system .woocommerce .products .product {
	min-width: 0;
}
.gkd-design-system .products .product-wrapper {
	height: 100%;
	border: 1px solid var(--gkd-line);
	border-radius: var(--gkd-radius);
	background: var(--gkd-surface);
	box-shadow: none;
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.gkd-design-system .products .product-wrapper:hover {
	border-color: #cbd3dc;
	box-shadow: var(--gkd-shadow);
	transform: translateY(-2px);
}
.gkd-design-system .products .product-wrapper .thumbnail-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 230px;
	background: #fff;
}
.gkd-design-system .products .product-wrapper .thumbnail-wrapper img {
	width: 100%;
	height: 230px;
	object-fit: contain;
}
.gkd-design-system .products .product-wrapper .product-name {
	display: -webkit-box;
	min-height: 2.9em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--gkd-ink);
	font-weight: 700;
	line-height: 1.45;
}
.gkd-design-system .products .product-wrapper .price { color: var(--gkd-red); font-weight: 800; }

.gkd-design-system .woocommerce-breadcrumb,
.gkd-design-system .breadcrumbs { color: var(--gkd-muted); font-size: 14px; }
.gkd-design-system .woocommerce-result-count,
.gkd-design-system .woocommerce-ordering { margin-bottom: 24px; }
.gkd-design-system .woocommerce-notices-wrapper .woocommerce-message,
.gkd-design-system .woocommerce-notices-wrapper .woocommerce-info,
.gkd-design-system .woocommerce-notices-wrapper .woocommerce-error {
	border-radius: var(--gkd-radius-sm);
	background: #fff;
	box-shadow: 0 8px 24px rgba(21, 25, 34, .06);
}

.gkd-design-system .woocommerce-cart-form,
.gkd-design-system .cart_totals,
.gkd-design-system .woocommerce-checkout-review-order,
.gkd-design-system .woocommerce-MyAccount-navigation,
.gkd-design-system .woocommerce-MyAccount-content {
	border-color: var(--gkd-line);
	border-radius: var(--gkd-radius);
}

@media (max-width: 767px) {
	.gkd-design-system { font-size: 15px; }
	.gkd-design-system .header-template .logo img,
	.gkd-design-system .header-template .site-logo img { max-height: 58px; }
	.gkd-design-system .products .product-wrapper .thumbnail-wrapper,
	.gkd-design-system .products .product-wrapper .thumbnail-wrapper img { min-height: 170px; height: 170px; }
	.gkd-design-system .woocommerce-result-count,
	.gkd-design-system .woocommerce-ordering { float: none; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.gkd-design-system *,
	.gkd-design-system *::before,
	.gkd-design-system *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
