:root {
	/*
	 * Heybemde v1.0.0 palette — emerald / coral warm marketplace look.
	 * --hb-primary carries trust (buttons, links, prices); --hb-accent carries
	 * urgency (hero eyebrow, CTA, campaign badges) and is always paired with
	 * --hb-ink text, never white — see the contrast note on --hb-accent below.
	 */
	--hb-primary: #0e7c66;
	--hb-primary-hover: #0a6353;
	--hb-primary-dark: #06332b;
	--hb-primary-soft: #e4f4ef;
	/* #06332b on #ff7a45 = 5.35:1, so accent surfaces must use --hb-ink for text. */
	--hb-accent: #ff7a45;
	--hb-accent-hover: #e85f28;
	--hb-ink: #06332b;
	--hb-ink-light: #0e5c4c;
	--hb-text: #172c26;
	--hb-muted: #62786f;
	--hb-background: #f4f8f6;
	--hb-bg: var(--hb-background);
	--hb-bg-soft: #eaf3ef;
	--hb-surface: #ffffff;
	--hb-surface-glass: rgba(255, 255, 255, 0.92);
	--hb-border: #d6e5df;
	--hb-border-light: rgba(255, 255, 255, 0.9);
	/* Success is a true green, deliberately off-hue from the emerald primary
	   so "saved / approved" states never read as just another primary chip. */
	--hb-success: #2f9e44;
	--hb-danger: #c81e1e;
	--hb-warning: #8a5a08;
	/* Secondary (USD) price note — warm terracotta, reads as "other currency". */
	--hb-price-secondary: #a34a20;
	--hb-color-price-secondary: var(--hb-price-secondary);
	--hb-shadow-sm: 0 3px 12px rgba(6, 51, 43, 0.05);
	--hb-shadow-md: 0 12px 34px rgba(6, 51, 43, 0.08);
	--hb-shadow-lg: 0 26px 64px rgba(6, 51, 43, 0.11);
	--hb-radius-sm: 12px;
	--hb-radius-md: 16px;
	--hb-radius-lg: 22px;
	--hb-radius-xl: 30px;
	--hb-radius-pill: 999px;
	/* Pill CTAs are the signature shape of the identity; form fields stay at --hb-radius-sm. */
	--hb-radius-button: var(--hb-radius-pill);
	--hb-container-width: 1560px;
	--hb-font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--hb-font-body: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	/* .hb-header-sticky ≈ main row (76px) + nav row (44px); used to offset sticky elements below it (shop sidebar, etc). */
	--hb-header-height: 128px;

	/*
	 * Legacy variable names used throughout components.css / woocommerce.css
	 * (~6000 lines). Aliasing them to the palette above lets the whole theme
	 * pick up the emerald/coral identity without a risky file-wide rename.
	 */
	--hb-color-primary: var(--hb-primary);
	--hb-color-primary-hover: var(--hb-primary-hover);
	--hb-color-primary-dark: var(--hb-primary-dark);
	--hb-color-primary-soft: var(--hb-primary-soft);
	--hb-color-secondary: var(--hb-ink-light);
	--hb-color-text: var(--hb-text);
	--hb-color-heading: var(--hb-ink);
	--hb-color-muted: var(--hb-muted);
	--hb-color-background: var(--hb-bg);
	--hb-color-background-soft: var(--hb-bg-soft);
	--hb-color-surface: var(--hb-surface);
	--hb-color-border: var(--hb-border);
	--hb-color-success: var(--hb-success);
	--hb-color-danger: var(--hb-danger);
	--hb-color-warning: var(--hb-warning);
	--hb-color-accent: var(--hb-accent);
	--hb-color-ink: var(--hb-ink);
	--hb-color-ink-soft: var(--hb-ink-light);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 15px;
	-webkit-text-size-adjust: 100%;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	overflow-x: hidden;
	background: var(--hb-bg);
	color: var(--hb-text);
	font-family: var(--hb-font-body);
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0;
}

body.hb-menu-open,
body.hb-filters-open {
	overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--hb-font-display);
	font-weight: 800;
	line-height: 1.2;
	/*
	 * Plus Jakarta Sans is wide by default. Pulling headings in slightly is what
	 * gives the rounder grotesque its compact marketplace voice. Component rules
	 * are class-scoped and still win over this baseline.
	 */
	letter-spacing: -0.015em;
	color: var(--hb-color-heading);
}

a {
	color: var(--hb-primary-dark);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--hb-primary-hover);
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	font: inherit;
}

button {
	cursor: pointer;
}

/*
 * Baseline sizing for any input WooCommerce, the theme, or a third-party
 * plugin (e.g. the Bayi Başvurusu form) renders without a more specific
 * theme selector. Excludes checkbox/radio/file/hidden, which must keep
 * their native intrinsic size.
 */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
select,
textarea {
	min-height: 46px;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--hb-border);
	border-radius: var(--hb-radius-sm);
	background: rgba(255, 255, 255, 0.94);
	color: var(--hb-text);
}

textarea {
	min-height: 100px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 1rem;
	left: 1rem;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto;
	background: var(--hb-surface);
	border: 1px solid var(--hb-border);
	border-radius: var(--hb-radius-sm);
	box-shadow: var(--hb-shadow-sm);
	color: var(--hb-text);
}

@media (max-width: 767px) {
	input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
	select,
	textarea {
		min-height: 48px;
		font-size: 16px;
	}
}
