/**
 * GKB Business Register: front-end styles.
 *
 * Brand tokens mirror gkbimpact.com.au. Re-skin by overriding the custom
 * properties on .gkb-br from the theme; no need to edit this file.
 *
 * Every rule is scoped as ".gkb-br .x" (two classes) so it outranks the
 * theme and Elementor kit rules (e.g. ".elementor-kit-N h1", 0-1-1), which
 * would otherwise restyle headings, links, inputs and hide checkboxes.
 */

.gkb-br {
	--gkb-br-ink: #0d0d0c;
	--gkb-br-text: #5c5e5e;
	--gkb-br-muted: #857d74;
	--gkb-br-brown: #3b3129;
	--gkb-br-brown-deep: #2b231d;
	--gkb-br-orange: #ed592a;
	--gkb-br-orange-dark: #c7431a;
	--gkb-br-gold: #eed26e;
	--gkb-br-sage: #dde8dd;
	--gkb-br-sage-soft: #eef4ee;
	--gkb-br-sage-ink: #2f4a36;
	--gkb-br-sand: #e4dfd8;
	--gkb-br-cream: #f8f5f0;
	--gkb-br-line: #e8e2d9;
	--gkb-br-on-dark: #e9e2d8;
	--gkb-br-on-dark-muted: #c9bfb2;
	--gkb-br-radius-lg: 28px;
	--gkb-br-radius: 20px;
	--gkb-br-radius-sm: 12px;
	--gkb-br-shadow: 0 1px 2px rgba(59, 49, 41, 0.06), 0 8px 24px -12px rgba(59, 49, 41, 0.18);
	--gkb-br-shadow-hover: 0 2px 4px rgba(59, 49, 41, 0.08), 0 20px 40px -16px rgba(59, 49, 41, 0.32);
	--gkb-br-font-head: "Outfit", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	--gkb-br-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	box-sizing: border-box;
	max-width: 1240px;
	margin: 0 auto;
	padding: 2rem 1.25rem 4rem;
	font-family: var(--gkb-br-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--gkb-br-text);
}

.gkb-br *,
.gkb-br *::before,
.gkb-br *::after {
	box-sizing: inherit;
}

/* Components set display, which would otherwise beat the [hidden] attribute. */
.gkb-br [hidden] {
	display: none !important;
}

.gkb-br .gkb-br-icon {
	width: 1.25em;
	height: 1.25em;
	flex: none;
}

.gkb-br .gkb-br-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.gkb-br a:focus-visible,
.gkb-br button:focus-visible,
.gkb-br input:focus-visible,
.gkb-br summary:focus-visible {
	outline: 3px solid var(--gkb-br-gold);
	outline-offset: 2px;
}

/* ---------- Buttons ---------- */

.gkb-br .gkb-br-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	height: auto;
	margin: 0;
	padding: 0.8rem 1.4rem;
	border: 1.5px solid transparent;
	border-radius: 999px;
	font: 600 0.95rem/1.2 var(--gkb-br-font-body);
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.gkb-br .gkb-br-btn .gkb-br-icon {
	width: 1.1rem;
	height: 1.1rem;
}

.gkb-br .gkb-br-btn--primary {
	background: var(--gkb-br-brown);
	color: #fff;
}

.gkb-br .gkb-br-btn--primary:hover {
	background: var(--gkb-br-orange-dark);
	color: #fff;
}

.gkb-br .gkb-br-btn--accent {
	background: var(--gkb-br-orange-dark);
	color: #fff;
}

.gkb-br .gkb-br-btn--accent:hover {
	background: var(--gkb-br-brown);
	color: #fff;
}

.gkb-br .gkb-br-btn--ghost {
	background: #fff;
	border-color: var(--gkb-br-line);
	color: var(--gkb-br-brown);
}

.gkb-br .gkb-br-btn--ghost:hover {
	border-color: var(--gkb-br-brown);
	color: var(--gkb-br-brown);
}

.gkb-br .gkb-br-btn--block {
	width: 100%;
}

/* ---------- Shared bits ---------- */

.gkb-br .gkb-br-eyebrow {
	margin: 0 0 0.5rem;
	font: 600 0.78rem/1.3 var(--gkb-br-font-body);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.gkb-br .gkb-br-eyebrow a:hover {
	text-decoration: underline;
}

.gkb-br .gkb-br-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.8rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font: 600 0.78rem/1.2 var(--gkb-br-font-body);
	background: var(--gkb-br-sage);
	color: var(--gkb-br-sage-ink);
}

.gkb-br .gkb-br-pill .gkb-br-icon {
	width: 1rem;
	height: 1rem;
}

.gkb-br .gkb-br-pill--certified {
	background: var(--gkb-br-brown);
	color: #fff;
}

.gkb-br .gkb-br-pill--certified .gkb-br-icon {
	color: var(--gkb-br-gold);
}

.gkb-br .gkb-br-pill--registered {
	background: #fbe6dc;
	color: #8a2f12;
}

.gkb-br .gkb-br-pill--accred {
	background: var(--gkb-br-sage-soft);
	border-color: var(--gkb-br-sage);
	color: var(--gkb-br-sage-ink);
}

.gkb-br .gkb-br-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gkb-br .gkb-br-chips li {
	margin: 0;
}

.gkb-br .gkb-br-chip {
	display: inline-block;
	padding: 0.4rem 0.85rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: 999px;
	background: var(--gkb-br-cream);
	font-size: 0.85rem;
	line-height: 1.3;
	color: var(--gkb-br-brown);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.gkb-br a.gkb-br-chip:hover {
	background: var(--gkb-br-brown);
	border-color: var(--gkb-br-brown);
	color: #fff;
}

.gkb-br .gkb-br-monogram {
	display: grid;
	place-items: center;
	width: 5.5rem;
	height: 5.5rem;
	border-radius: 50%;
	background: var(--gkb-br-brown);
	box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.7);
	font: 600 1.9rem/1 var(--gkb-br-font-head);
	letter-spacing: 0.02em;
	color: var(--gkb-br-gold);
}

/* Custom checkbox. The theme hides native checkboxes, so every property
   that could hide it is set explicitly. */
.gkb-br input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	display: inline-grid;
	place-content: center;
	position: static;
	visibility: visible;
	opacity: 1;
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	padding: 0;
	border: 1.5px solid #b9afa3;
	border-radius: 5px;
	background: #fff;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.gkb-br input[type="checkbox"]::before {
	content: "";
	width: 0.62rem;
	height: 0.62rem;
	background: #fff;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	transform: scale(0);
	transition: transform 0.12s ease;
}

.gkb-br input[type="checkbox"]:checked {
	background: var(--gkb-br-brown);
	border-color: var(--gkb-br-brown);
}

.gkb-br input[type="checkbox"]:checked::before {
	transform: scale(1);
}

/* Custom radio, same reasoning as the checkbox. */
.gkb-br input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	display: inline-grid;
	place-content: center;
	position: static;
	visibility: visible;
	opacity: 1;
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	padding: 0;
	border: 1.5px solid #b9afa3;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s ease;
}

.gkb-br input[type="radio"]::before {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--gkb-br-brown);
	transform: scale(0);
	transition: transform 0.12s ease;
}

.gkb-br input[type="radio"]:checked {
	border-color: var(--gkb-br-brown);
}

.gkb-br input[type="radio"]:checked::before {
	transform: scale(1);
}

/* Dotted sunrise arc, echoing the GKB mark. */
.gkb-br .gkb-br-sunrise {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--gkb-br-brown);
	color: var(--gkb-br-on-dark);
}

.gkb-br .gkb-br-sunrise::before,
.gkb-br .gkb-br-sunrise::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
}

.gkb-br .gkb-br-sunrise::before {
	width: 460px;
	height: 460px;
	right: -140px;
	bottom: -270px;
	background: radial-gradient(circle, rgba(237, 89, 42, 0.85), rgba(237, 89, 42, 0.25) 45%, rgba(237, 89, 42, 0) 70%);
}

.gkb-br .gkb-br-sunrise::after {
	width: 620px;
	height: 620px;
	right: -220px;
	bottom: -350px;
	border: 4px dotted rgba(238, 210, 110, 0.45);
}

/* ---------- Directory hero + search ---------- */

.gkb-br .gkb-br-dir-hero {
	margin: 0 0 2rem;
	padding: clamp(2rem, 5vw, 3.75rem) clamp(1.5rem, 5vw, 3.75rem);
	border-radius: var(--gkb-br-radius-lg);
}

.gkb-br .gkb-br-dir-hero .gkb-br-eyebrow {
	color: var(--gkb-br-gold);
}

/* Staff-only shortcut to the wizard. */
.gkb-br .gkb-br-dir-hero__add {
	position: absolute;
	top: clamp(1.25rem, 3vw, 2rem);
	right: clamp(1.25rem, 3vw, 2rem);
	background: transparent;
	border-color: rgba(255, 255, 255, 0.3);
	color: #fff;
}

.gkb-br .gkb-br-dir-hero__add:hover {
	background: #fff;
	border-color: #fff;
	color: var(--gkb-br-brown);
}

@media (max-width: 600px) {
	.gkb-br .gkb-br-dir-hero__add {
		position: static;
		margin-bottom: 1.25rem;
	}
}

.gkb-br .gkb-br-dir-hero h1 {
	max-width: 18ch;
	margin: 0 0 0.75rem;
	font-family: var(--gkb-br-font-head);
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: #fff;
}

.gkb-br .gkb-br-dir-hero__intro {
	max-width: 56ch;
	margin: 0 0 1.75rem;
	font-size: 1.05rem;
	color: var(--gkb-br-on-dark-muted);
}

.gkb-br .gkb-br-searchbar {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	max-width: 720px;
	padding: 0.4rem 0.4rem 0.4rem 1.1rem;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.45);
	transition: box-shadow 0.2s ease;
}

.gkb-br .gkb-br-searchbar:focus-within {
	box-shadow: 0 0 0 3px var(--gkb-br-gold), 0 10px 30px -12px rgba(0, 0, 0, 0.45);
}

.gkb-br .gkb-br-searchbar__icon {
	display: flex;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-search {
	flex: 1;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0.7rem 0.25rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font: 400 1rem/1.4 var(--gkb-br-font-body);
	color: var(--gkb-br-ink);
	outline: none;
}

.gkb-br .gkb-br-search:focus-visible {
	outline: none;
}

.gkb-br .gkb-br-search::placeholder {
	color: var(--gkb-br-muted);
	opacity: 1;
}

.gkb-br .gkb-br-quick {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
	font-size: 0.85rem;
	color: var(--gkb-br-on-dark-muted);
}

.gkb-br .gkb-br-quick a {
	padding: 0.35rem 0.85rem;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 999px;
	color: #fff;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.gkb-br .gkb-br-quick a:hover {
	background: #fff;
	color: var(--gkb-br-brown);
}

/* ---------- Directory layout + refine ---------- */

.gkb-br .gkb-br-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}

.gkb-br .gkb-br-refine {
	position: sticky;
	top: 1.5rem;
	padding: 1.25rem 1.25rem 0.5rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius);
	background: var(--gkb-br-cream);
}

.gkb-br .gkb-br-refine__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 0.5rem;
}

.gkb-br .gkb-br-refine__head h2 {
	margin: 0;
	font: 600 1.15rem/1.2 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-refine__clear {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--gkb-br-orange-dark);
	text-decoration: none;
}

.gkb-br .gkb-br-refine__clear:hover {
	text-decoration: underline;
}

.gkb-br .gkb-br-refine__group {
	margin: 0;
	padding: 0.85rem 0;
	border-top: 1px solid var(--gkb-br-line);
}

.gkb-br .gkb-br-refine__group summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	list-style: none;
	cursor: pointer;
	font: 600 0.95rem/1.3 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-refine__group summary::-webkit-details-marker {
	display: none;
}

.gkb-br .gkb-br-refine__group summary::after {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	margin-right: 0.25rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s ease;
}

.gkb-br .gkb-br-refine__group[open] summary::after {
	transform: rotate(-135deg) translateY(-2px);
}

.gkb-br .gkb-br-refine__opts {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	max-height: 240px;
	margin-top: 0.6rem;
	overflow-y: auto;
}

.gkb-br .gkb-br-refine__opt {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	padding: 0.35rem 0.4rem;
	border-radius: 8px;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.35;
	color: var(--gkb-br-ink);
	cursor: pointer;
}

.gkb-br .gkb-br-refine__opt:hover {
	background: rgba(59, 49, 41, 0.05);
}

.gkb-br .gkb-br-refine__count {
	margin-left: auto;
	padding: 0.05rem 0.5rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: 999px;
	background: #fff;
	font-size: 0.72rem;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-refine__apply {
	margin: 0.5rem 0 0.75rem;
}

.gkb-br .gkb-br-filters.is-enhanced .gkb-br-refine__apply {
	display: none;
}

/* ---------- Results ---------- */

.gkb-br .gkb-br-results {
	min-height: 200px;
	transition: opacity 0.15s ease;
}

.gkb-br .gkb-br-results.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

.gkb-br .gkb-br-count {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-count strong {
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
}

.gkb-br .gkb-br-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius);
	background: #fff;
	box-shadow: var(--gkb-br-shadow);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.gkb-br .gkb-br-card:hover,
.gkb-br .gkb-br-card:focus-within {
	transform: translateY(-4px);
	border-color: #d8cfc3;
	box-shadow: var(--gkb-br-shadow-hover);
}

.gkb-br .gkb-br-card > .gkb-br-pill {
	position: absolute;
	top: 0.9rem;
	left: 0.9rem;
	z-index: 2;
	pointer-events: none;
}

.gkb-br .gkb-br-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	padding: 2.5rem 1.5rem 1.5rem;
	background: linear-gradient(160deg, var(--gkb-br-cream), var(--gkb-br-sand));
}

.gkb-br .gkb-br-card__logo {
	width: auto;
	height: auto;
	max-width: 80%;
	max-height: 7rem;
	object-fit: contain;
	border-radius: 8px;
}

.gkb-br .gkb-br-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.25rem 1.35rem 1.35rem;
}

.gkb-br .gkb-br-card__body .gkb-br-eyebrow {
	margin: 0;
}

.gkb-br .gkb-br-card__title {
	margin: 0;
	font: 600 1.2rem/1.25 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-card__title a {
	color: inherit;
	text-decoration: none;
}

/* Stretched link: the whole card is clickable. */
.gkb-br .gkb-br-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.gkb-br .gkb-br-card__title a:focus-visible {
	outline: none;
}

.gkb-br .gkb-br-card__title a:focus-visible::after {
	border-radius: var(--gkb-br-radius);
	outline: 3px solid var(--gkb-br-gold);
	outline-offset: -3px;
}

.gkb-br .gkb-br-card__trading,
.gkb-br .gkb-br-card__place {
	margin: 0;
	font-size: 0.88rem;
}

.gkb-br .gkb-br-card__trading {
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-card__place {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.gkb-br .gkb-br-card__place .gkb-br-icon {
	width: 1rem;
	height: 1rem;
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-card .gkb-br-chips {
	gap: 0.35rem;
	margin-top: 0.5rem;
}

.gkb-br .gkb-br-card .gkb-br-chip {
	padding: 0.25rem 0.6rem;
	font-size: 0.75rem;
}

.gkb-br .gkb-br-card .gkb-br-chip--more {
	background: transparent;
	border-style: dashed;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: 1rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--gkb-br-brown);
	transition: color 0.2s ease;
}

.gkb-br .gkb-br-card__cta .gkb-br-icon {
	width: 1.05rem;
	height: 1.05rem;
	transition: transform 0.2s ease;
}

.gkb-br .gkb-br-card:hover .gkb-br-card__cta {
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-card:hover .gkb-br-card__cta .gkb-br-icon {
	transform: translateX(4px);
}

.gkb-br .gkb-br-empty {
	padding: 3.5rem 1.5rem;
	border: 1.5px dashed var(--gkb-br-line);
	border-radius: var(--gkb-br-radius);
	background: var(--gkb-br-cream);
	text-align: center;
}

.gkb-br .gkb-br-empty .gkb-br-icon {
	width: 2.5rem;
	height: 2.5rem;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-empty h2 {
	margin: 0.75rem 0 0.35rem;
	font: 600 1.35rem/1.25 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-empty p {
	margin: 0 0 1.25rem;
}

.gkb-br .gkb-br-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 2.5rem;
}

.gkb-br .gkb-br-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 2.6rem;
	height: 2.6rem;
	padding: 0 0.85rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: 999px;
	background: #fff;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--gkb-br-brown);
	text-decoration: none;
}

.gkb-br .gkb-br-pagination a.page-numbers:hover {
	border-color: var(--gkb-br-brown);
}

.gkb-br .gkb-br-pagination .current {
	background: var(--gkb-br-brown);
	border-color: var(--gkb-br-brown);
	color: #fff;
}

.gkb-br .gkb-br-pagination .dots {
	border: 0;
	background: none;
}

/* ---------- Profile ---------- */

.gkb-br .gkb-br-staff-note {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 1.25rem;
	padding: 0.85rem 1.1rem;
	border: 1px solid #f0d78a;
	border-radius: var(--gkb-br-radius-sm);
	background: #fff4d6;
	font-size: 0.9rem;
	color: #6b5210;
}

.gkb-br .gkb-br-crumbs {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1.25rem;
	font-size: 0.9rem;
}

.gkb-br .gkb-br-crumbs a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 600;
	color: var(--gkb-br-brown);
	text-decoration: none;
}

.gkb-br .gkb-br-crumbs a:hover {
	color: var(--gkb-br-orange-dark);
}

/* Cover: banner (photo or the GKB sunrise), the logo overlapping its
   curved lower edge, then the business's identity centred beneath. */
.gkb-br .gkb-br-cover {
	--gkb-br-logo: clamp(7.5rem, 14vw, 10.5rem);
	margin: 0 0 2.5rem;
	text-align: center;
}

.gkb-br .gkb-br-cover__banner {
	position: relative;
	height: clamp(180px, 28vw, 340px);
	overflow: hidden;
	border-radius: var(--gkb-br-radius-lg) var(--gkb-br-radius-lg) 50% 50% / var(--gkb-br-radius-lg) var(--gkb-br-radius-lg) 22% 22%;
	background: var(--gkb-br-brown);
}

/* Without a photo, the sunrise rises from behind the logo. */
.gkb-br .gkb-br-cover__banner.gkb-br-sunrise::before {
	right: auto;
	left: 50%;
	bottom: -300px;
	width: 560px;
	height: 560px;
	transform: translateX(-50%);
}

.gkb-br .gkb-br-cover__banner.gkb-br-sunrise::after {
	right: auto;
	left: 50%;
	bottom: -420px;
	width: 780px;
	height: 780px;
	transform: translateX(-50%);
}

.gkb-br .gkb-br-cover__img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
}

.gkb-br .gkb-br-cover__logo {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: var(--gkb-br-logo);
	height: var(--gkb-br-logo);
	margin: calc(var(--gkb-br-logo) * -0.5) auto 0;
	/* A square logo fits inside the circle at ~70% of its width. (A %
	   padding would resolve against the cover's width, not the circle's.) */
	padding: calc(var(--gkb-br-logo) * 0.15);
	overflow: hidden;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 6px #fff, 0 18px 36px -18px rgba(59, 49, 41, 0.6);
}

.gkb-br .gkb-br-cover__logo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: contain;
}

.gkb-br .gkb-br-cover__logo .gkb-br-monogram {
	width: 100%;
	height: 100%;
	box-shadow: none;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.gkb-br .gkb-br-cover__body {
	max-width: 780px;
	margin: 1.25rem auto 0;
}

.gkb-br .gkb-br-cover .gkb-br-eyebrow {
	margin: 0 0 0.45rem;
}

.gkb-br .gkb-br-cover__title {
	margin: 0;
	font-family: var(--gkb-br-font-head);
	font-size: clamp(1.9rem, 4vw, 2.9rem);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.01em;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-cover__trading {
	margin: 0.45rem 0 0;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-cover__trading strong {
	font-weight: 600;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-cover__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1.25rem;
	margin: 0.85rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.9rem;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-cover__meta li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
}

.gkb-br .gkb-br-cover__meta .gkb-br-icon {
	width: 1.05rem;
	height: 1.05rem;
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.1rem;
}

.gkb-br .gkb-br-cover .gkb-br-badges,
.gkb-br .gkb-br-cover__actions {
	justify-content: center;
}

.gkb-br .gkb-br-cover__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1.5rem;
}

/* Two-up rows: a wide panel beside a 380px card; a lone item spans both. */
.gkb-br .gkb-br-profile__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
	gap: 1.5rem;
	margin: 0 0 1.5rem;
}

.gkb-br .gkb-br-profile__row > :only-child {
	grid-column: 1 / -1;
}

.gkb-br .gkb-br-about {
	margin: 0 0 1.5rem;
	padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 6vw, 5rem);
	border-radius: var(--gkb-br-radius-lg);
	background: var(--gkb-br-cream);
}

.gkb-br .gkb-br-about__title {
	margin: 0 0 1.5rem;
	font: 600 clamp(1.5rem, 2.8vw, 2rem)/1.2 var(--gkb-br-font-head);
	text-align: center;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-about__title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin: 0.85rem auto 0;
	border-radius: 999px;
	background: var(--gkb-br-orange);
}

.gkb-br .gkb-br-about .gkb-br-prose {
	max-width: 72ch;
	margin: 0 auto;
}

.gkb-br .gkb-br-panel {
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius);
	background: #fff;
	box-shadow: var(--gkb-br-shadow);
}

.gkb-br .gkb-br-panel__title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.1rem;
	font: 600 1.35rem/1.25 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-panel__title::before {
	content: "";
	flex: none;
	width: 0.45rem;
	height: 1.5rem;
	border-radius: 999px;
	background: var(--gkb-br-orange);
}

.gkb-br .gkb-br-panel__sub {
	margin: 1.6rem 0 0.75rem;
	font: 600 0.78rem/1.3 var(--gkb-br-font-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-prose {
	font-size: 1.02rem;
	line-height: 1.75;
}

.gkb-br .gkb-br-prose p {
	margin: 0 0 1em;
}

.gkb-br .gkb-br-prose > :first-child {
	margin-top: 0;
}

.gkb-br .gkb-br-prose > :last-child {
	margin-bottom: 0;
}

.gkb-br .gkb-br-checklist {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 0.7rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gkb-br .gkb-br-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-checklist .gkb-br-icon {
	width: 1.4rem;
	height: 1.4rem;
	margin-top: 0.05rem;
	padding: 0.22rem;
	border-radius: 50%;
	background: var(--gkb-br-sage);
	color: var(--gkb-br-sage-ink);
}

.gkb-br .gkb-br-location {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.5rem;
}

.gkb-br .gkb-br-location__item {
	display: flex;
	gap: 0.9rem;
}

.gkb-br .gkb-br-bubble {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: 50%;
	background: var(--gkb-br-cream);
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-location__item h3 {
	margin: 0 0 0.35rem;
	font: 600 1rem/1.3 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-location__item p {
	margin: 0 0 0.4rem;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-link {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--gkb-br-orange-dark);
	text-decoration: none;
}

.gkb-br .gkb-br-link .gkb-br-icon {
	width: 1rem;
	height: 1rem;
}

.gkb-br .gkb-br-link:hover {
	text-decoration: underline;
}

.gkb-br .gkb-br-contact-card {
	padding: 1.75rem;
	border-radius: var(--gkb-br-radius);
	background: linear-gradient(165deg, var(--gkb-br-brown), var(--gkb-br-brown-deep));
	color: var(--gkb-br-on-dark);
	scroll-margin-top: 2rem;
}

.gkb-br .gkb-br-contact-card h2 {
	margin: 0 0 1.25rem;
	font: 600 1.35rem/1.25 var(--gkb-br-font-head);
	color: #fff;
}

.gkb-br .gkb-br-contact-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gkb-br .gkb-br-contact-list li {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
	margin: 0;
}

.gkb-br .gkb-br-contact-list__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: var(--gkb-br-gold);
}

.gkb-br .gkb-br-contact-list__icon .gkb-br-icon {
	width: 1.15rem;
	height: 1.15rem;
}

.gkb-br .gkb-br-contact-list__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.35;
}

.gkb-br .gkb-br-contact-list small {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #b8ab9b;
}

.gkb-br .gkb-br-contact-list a,
.gkb-br .gkb-br-contact-list strong {
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.gkb-br .gkb-br-contact-list a:hover {
	color: var(--gkb-br-gold);
}

.gkb-br .gkb-br-contact-list--socials {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.gkb-br .gkb-br-ids {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.75rem;
	margin: 1.25rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.88rem;
}

.gkb-br .gkb-br-ids div {
	display: flex;
	flex-direction: column;
}

.gkb-br .gkb-br-ids dt {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #b8ab9b;
}

.gkb-br .gkb-br-ids dd {
	margin: 0;
	font-variant-numeric: tabular-nums;
	color: #fff;
}

.gkb-br .gkb-br-doc {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.25rem;
	padding: 1.5rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius);
	background: var(--gkb-br-cream);
}

.gkb-br .gkb-br-doc__icon {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 14px;
	background: #fbe6dc;
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-doc h2 {
	margin: 0;
	font: 600 1.05rem/1.3 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-doc p {
	margin: 0.1rem 0 0;
	font-size: 0.85rem;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-doc__lead {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	align-items: center;
}

.gkb-br .gkb-br-doc__lead .gkb-br-btn {
	grid-column: 1 / -1;
}

.gkb-br .gkb-br-doc__lead + .gkb-br-doc__more {
	padding-top: 1.25rem;
	border-top: 1px solid var(--gkb-br-line);
}

.gkb-br .gkb-br-doc .gkb-br-doc__heading {
	margin: 0 0 0.75rem;
	font: 600 0.78rem/1.3 var(--gkb-br-font-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-files {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gkb-br .gkb-br-files li {
	margin: 0;
}

/* Many documents: full-width panel below the location row, files in a grid. */
.gkb-br .gkb-br-documents {
	margin: 0 0 1.5rem;
}

.gkb-br .gkb-br-documents__count {
	padding: 0.1rem 0.6rem;
	border-radius: 999px;
	background: var(--gkb-br-cream);
	font: 600 0.8rem/1.6 var(--gkb-br-font-body);
	color: var(--gkb-br-muted);
}

/* At most 3 columns (a column is never narrower than a third), dropping to
   2 then 1 as the 240px minimum stops fitting. */
.gkb-br .gkb-br-files--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, max(240px, calc((100% - 1.5rem) / 3))), 1fr));
	gap: 0.75rem;
}

.gkb-br .gkb-br-file {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius-sm);
	background: #fff;
	color: var(--gkb-br-ink);
	text-decoration: none;
	transition: border-color 0.2s ease;
}

.gkb-br .gkb-br-file:hover {
	border-color: var(--gkb-br-brown);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-file > .gkb-br-dl {
	color: var(--gkb-br-brown);
}

.gkb-br .gkb-br-file:hover > .gkb-br-dl {
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-file__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 10px;
	background: #fbe6dc;
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-file__icon .gkb-br-icon {
	width: 1.1rem;
	height: 1.1rem;
}

.gkb-br .gkb-br-file__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	line-height: 1.35;
}

.gkb-br .gkb-br-file__text strong {
	font-size: 0.9rem;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.gkb-br .gkb-br-file__text small {
	font-size: 0.78rem;
	color: var(--gkb-br-muted);
}

/* Download arrow and spinner share one grid cell; .is-loading swaps them
   (set by gkb-business-register.js until the download starts). */
.gkb-br .gkb-br-dl {
	display: inline-grid;
	flex: none;
	place-items: center;
}

.gkb-br .gkb-br-dl > * {
	grid-area: 1 / 1;
}

.gkb-br .gkb-br-spinner {
	width: 1rem;
	height: 1rem;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	visibility: hidden;
}

.gkb-br .is-loading .gkb-br-dl .gkb-br-icon {
	visibility: hidden;
}

.gkb-br .is-loading .gkb-br-spinner {
	visibility: visible;
	animation: gkb-br-dl-spin 0.7s linear infinite;
}

.gkb-br [data-gkb-download].is-loading {
	cursor: progress;
}

@keyframes gkb-br-dl-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gkb-br .is-loading .gkb-br-spinner {
		animation-duration: 2s;
	}
}

/* ---------- Responsive ---------- */

@media (max-width: 960px) {
	.gkb-br .gkb-br-layout,
	.gkb-br .gkb-br-profile__row {
		grid-template-columns: minmax(0, 1fr);
	}

	.gkb-br .gkb-br-refine {
		position: static;
	}
}

@media (max-width: 600px) {
	.gkb-br {
		padding: 1rem 0.9rem 3rem;
	}

	.gkb-br .gkb-br-cover__banner {
		height: 160px;
		border-radius: var(--gkb-br-radius) var(--gkb-br-radius) 50% 50% / var(--gkb-br-radius) var(--gkb-br-radius) 16% 16%;
	}

	.gkb-br .gkb-br-cover__actions .gkb-br-btn {
		flex: 1 1 100%;
	}

	.gkb-br .gkb-br-searchbar {
		padding-left: 0.9rem;
	}

	.gkb-br .gkb-br-searchbar .gkb-br-btn {
		padding: 0.75rem 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gkb-br *,
	.gkb-br *::before,
	.gkb-br *::after {
		transition: none !important;
	}

	.gkb-br .gkb-br-card:hover,
	.gkb-br .gkb-br-card:focus-within {
		transform: none;
	}
}

/* ---------- Staff wizard ([gkb_business_form]) ---------- */

.gkb-br.gkb-br-wizard {
	max-width: 940px;
}

.gkb-br .gkb-br-wizard__head {
	margin: 0 0 1.75rem;
}

.gkb-br .gkb-br-wizard__title {
	margin: 0 0 0.4rem;
	font: 600 clamp(1.8rem, 3.4vw, 2.5rem)/1.15 var(--gkb-br-font-head);
	letter-spacing: -0.01em;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-wizard__intro {
	max-width: 62ch;
	margin: 0;
}

/* Stepper */
.gkb-br .gkb-br-stepper {
	display: grid;
	grid-template-columns: repeat(var(--gkb-br-steps, 6), minmax(0, 1fr));
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.gkb-br .gkb-br-stepper li {
	position: relative;
	margin: 0;
}

.gkb-br .gkb-br-stepper li + li::before {
	content: "";
	position: absolute;
	top: calc(1.125rem - 1px);
	right: calc(50% + 1.5rem);
	left: calc(-50% + 1.5rem);
	height: 2px;
	border-radius: 2px;
	background: var(--gkb-br-line);
	transition: background-color 0.2s ease;
}

.gkb-br .gkb-br-stepper li.is-done::before,
.gkb-br .gkb-br-stepper li.is-current::before {
	background: var(--gkb-br-brown);
}

.gkb-br .gkb-br-stepper button {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	font: 500 0.8rem/1.25 var(--gkb-br-font-body);
	text-align: center;
	text-transform: none;
	color: var(--gkb-br-muted);
	cursor: pointer;
}

.gkb-br .gkb-br-stepper button:disabled {
	cursor: default;
}

.gkb-br .gkb-br-stepper__num {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 2px solid var(--gkb-br-line);
	border-radius: 50%;
	background: #fff;
	font: 600 0.9rem/1 var(--gkb-br-font-head);
	color: var(--gkb-br-muted);
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.gkb-br .gkb-br-stepper__num .gkb-br-icon {
	display: none;
	width: 1rem;
	height: 1rem;
}

.gkb-br .gkb-br-stepper .is-done .gkb-br-stepper__num {
	border-color: var(--gkb-br-brown);
	background: var(--gkb-br-brown);
	color: var(--gkb-br-gold);
}

.gkb-br .gkb-br-stepper .is-done .gkb-br-stepper__digit {
	display: none;
}

.gkb-br .gkb-br-stepper .is-done .gkb-br-icon {
	display: block;
}

.gkb-br .gkb-br-stepper .is-done button {
	color: var(--gkb-br-brown);
}

.gkb-br .gkb-br-stepper .is-done button:hover .gkb-br-stepper__num {
	border-color: var(--gkb-br-orange-dark);
	background: var(--gkb-br-orange-dark);
	color: #fff;
}

.gkb-br .gkb-br-stepper .is-current .gkb-br-stepper__num {
	border-color: var(--gkb-br-orange-dark);
	background: var(--gkb-br-orange-dark);
	box-shadow: 0 0 0 5px rgba(237, 89, 42, 0.18);
	color: #fff;
}

.gkb-br .gkb-br-stepper .is-current button {
	font-weight: 600;
	color: var(--gkb-br-ink);
}

/* Panel + steps */
.gkb-br .gkb-br-wizard__panel {
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius-lg);
	background: #fff;
	box-shadow: var(--gkb-br-shadow);
}

.gkb-br .gkb-br-step {
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.gkb-br .gkb-br-step + .gkb-br-step {
	border-top: 1px solid var(--gkb-br-line);
}

.gkb-br .gkb-br-step__head {
	margin: 0 0 1.75rem;
}

.gkb-br .gkb-br-step__head .gkb-br-eyebrow {
	margin: 0 0 0.35rem;
}

.gkb-br .gkb-br-step__title {
	margin: 0 0 0.4rem;
	font: 600 clamp(1.4rem, 2.6vw, 1.75rem)/1.2 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
	outline: none;
}

.gkb-br .gkb-br-step__hint {
	margin: 0;
	color: var(--gkb-br-muted);
}

/* Fields */
.gkb-br .gkb-br-fields {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1.4rem 1.25rem;
}

.gkb-br .gkb-br-field {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.gkb-br .gkb-br-field--half {
	grid-column: span 3;
}

.gkb-br .gkb-br-field--third {
	grid-column: span 2;
}

.gkb-br .gkb-br-fields__group {
	grid-column: 1 / -1;
	margin: 0.4rem 0 -0.6rem;
	font: 600 0.78rem/1.3 var(--gkb-br-font-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-field > label,
.gkb-br .gkb-br-field__label {
	display: block;
	float: none;
	width: 100%;
	margin: 0 0 0.45rem;
	padding: 0;
	font: 600 0.92rem/1.3 var(--gkb-br-font-body);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-req {
	margin-left: 0.15rem;
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-field__hint {
	margin: 0.45rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-field__hint--top {
	margin: -0.2rem 0 0.75rem;
}

.gkb-br .gkb-br-field input[type="text"],
.gkb-br .gkb-br-field input[type="email"],
.gkb-br .gkb-br-field input[type="url"],
.gkb-br .gkb-br-field input[type="tel"],
.gkb-br .gkb-br-field textarea {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0.75rem 0.95rem;
	border: 1.5px solid #ddd4c8;
	border-radius: var(--gkb-br-radius-sm);
	background: #fff;
	box-shadow: none;
	font: 400 1rem/1.45 var(--gkb-br-font-body);
	color: var(--gkb-br-ink);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gkb-br .gkb-br-field textarea {
	resize: vertical;
}

.gkb-br .gkb-br-field input::placeholder,
.gkb-br .gkb-br-field textarea::placeholder {
	color: #a79d91;
	opacity: 1;
}

.gkb-br .gkb-br-field input:hover,
.gkb-br .gkb-br-field textarea:hover {
	border-color: #c9bdae;
}

.gkb-br .gkb-br-field input[type="text"]:focus,
.gkb-br .gkb-br-field input[type="email"]:focus,
.gkb-br .gkb-br-field input[type="url"]:focus,
.gkb-br .gkb-br-field input[type="tel"]:focus,
.gkb-br .gkb-br-field textarea:focus {
	border-color: var(--gkb-br-brown);
	box-shadow: 0 0 0 4px rgba(238, 210, 110, 0.45);
	outline: none;
}

.gkb-br .gkb-br-field.has-error input,
.gkb-br .gkb-br-field.has-error textarea,
.gkb-br .gkb-br-field.has-error .gkb-br-drop {
	border-color: #b3261e;
}

.gkb-br .gkb-br-field__error {
	margin: 0.45rem 0 0;
	font-size: 0.82rem;
	font-weight: 600;
	color: #b3261e;
}

/* Choice chips (checkbox or radio) */
.gkb-br .gkb-br-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.gkb-br .gkb-br-choice {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0.5rem 0.95rem 0.5rem 0.7rem;
	border: 1.5px solid var(--gkb-br-line);
	border-radius: 999px;
	background: #fff;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.3;
	color: var(--gkb-br-ink);
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.gkb-br .gkb-br-choice:hover {
	border-color: #cbbfb0;
}

.gkb-br .gkb-br-choice:has(input:checked) {
	border-color: var(--gkb-br-brown);
	background: var(--gkb-br-cream);
}

.gkb-br .gkb-br-choice:has(input:focus-visible),
.gkb-br .gkb-br-card-choice:has(input:focus-visible),
.gkb-br .gkb-br-consent:has(input:focus-visible) {
	outline: 3px solid var(--gkb-br-gold);
	outline-offset: 2px;
}

.gkb-br .gkb-br-choice input:focus-visible,
.gkb-br .gkb-br-card-choice input:focus-visible,
.gkb-br .gkb-br-consent input:focus-visible {
	outline: none;
}

.gkb-br .gkb-br-add-term {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.75rem;
	margin-top: 0.85rem;
}

.gkb-br .gkb-br-add-term label {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 400;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-field .gkb-br-add-term input[type="text"] {
	flex: 1 1 220px;
	width: auto;
	padding: 0.5rem 0.85rem;
	border-style: dashed;
	border-radius: 999px;
	font-size: 0.9rem;
}

/* Radio cards */
.gkb-br .gkb-br-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.75rem;
}

.gkb-br .gkb-br-card-choice {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1.5px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius-sm);
	background: #fff;
	font-weight: 400;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.gkb-br .gkb-br-card-choice:hover {
	border-color: #cbbfb0;
}

.gkb-br .gkb-br-card-choice input {
	margin-top: 0.1rem;
}

.gkb-br .gkb-br-card-choice:has(input:checked) {
	border-color: var(--gkb-br-brown);
	background: var(--gkb-br-cream);
	box-shadow: inset 0 0 0 1px var(--gkb-br-brown);
}

.gkb-br .gkb-br-card-choice__title {
	display: block;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-card-choice__desc {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.82rem;
	line-height: 1.4;
	color: var(--gkb-br-muted);
}

/* File drop zone */
.gkb-br .gkb-br-drop {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.25rem;
	border: 1.5px dashed #cbbfb0;
	border-radius: var(--gkb-br-radius-sm);
	background: var(--gkb-br-cream);
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.gkb-br .gkb-br-drop:hover,
.gkb-br .gkb-br-drop.is-drag {
	border-color: var(--gkb-br-brown);
	background: #f3ede4;
}

.gkb-br .gkb-br-drop:focus-within {
	outline: 3px solid var(--gkb-br-gold);
	outline-offset: 2px;
}

.gkb-br .gkb-br-drop.has-file,
.gkb-br .gkb-br-drop.has-current {
	border-style: solid;
}

.gkb-br .gkb-br-drop.has-file {
	border-color: var(--gkb-br-sage-ink);
	background: var(--gkb-br-sage-soft);
}

.gkb-br .gkb-br-drop input[type="file"] {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	visibility: visible;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
	cursor: pointer;
}

.gkb-br .gkb-br-drop__thumb {
	display: grid;
	place-items: center;
	flex: none;
	width: 4rem;
	height: 4rem;
	overflow: hidden;
	border: 1px solid var(--gkb-br-line);
	border-radius: 12px;
	background: #fff;
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-drop__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gkb-br .gkb-br-drop__thumb img:not([hidden]) + .gkb-br-icon {
	display: none;
}

/* Banner: a wide, cropped preview. */
.gkb-br .gkb-br-drop--wide .gkb-br-drop__thumb {
	width: 8rem;
}

.gkb-br .gkb-br-drop--wide .gkb-br-drop__thumb img {
	object-fit: cover;
}

/* Three classes: a direct child label of .gkb-br-field, whose generic
   "> label" rule would otherwise make it a bold block. */
.gkb-br .gkb-br-field > .gkb-br-drop__remove {
	display: inline-flex;
	width: auto;
	margin: 0.65rem 0 0;
	font-size: 0.85rem;
	font-weight: 400;
}

/* Other documents: current files (with remove) and pending uploads. */
.gkb-br .gkb-br-doclist {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
}

.gkb-br .gkb-br-doclist--pending {
	margin: 0.75rem 0 0;
}

.gkb-br .gkb-br-doclist__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.75rem;
	margin: 0;
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius-sm);
	background: #fff;
	font-size: 0.9rem;
}

.gkb-br .gkb-br-doclist__item > .gkb-br-icon {
	color: var(--gkb-br-orange-dark);
}

.gkb-br .gkb-br-doclist__name {
	flex: 1 1 12rem;
	min-width: 0;
	font-weight: 600;
	color: var(--gkb-br-ink);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.gkb-br a.gkb-br-doclist__name:hover {
	text-decoration: underline;
}

.gkb-br .gkb-br-doclist__item small {
	font-size: 0.78rem;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-doclist__remove {
	padding: 0.3rem 0.75rem 0.3rem 0.55rem;
	font-size: 0.8rem;
}

.gkb-br .gkb-br-doclist__remove:has(input:checked) {
	border-color: #b3261e;
	background: #fbe6dc;
}

.gkb-br .gkb-br-doclist__item:has(input:checked) .gkb-br-doclist__name {
	color: var(--gkb-br-muted);
	text-decoration: line-through;
}

.gkb-br .gkb-br-doclist__drop {
	height: auto;
	margin: 0;
	padding: 0.3rem 0.75rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	font: 600 0.78rem/1.2 var(--gkb-br-font-body);
	text-transform: none;
	color: var(--gkb-br-brown);
	cursor: pointer;
}

.gkb-br .gkb-br-doclist__drop:hover {
	border-color: #b3261e;
	color: #b3261e;
}

.gkb-br .gkb-br-drop__text {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.gkb-br .gkb-br-drop__text strong {
	font-weight: 600;
	color: var(--gkb-br-ink);
	overflow-wrap: anywhere;
}

.gkb-br .gkb-br-drop__text span {
	font-size: 0.82rem;
	color: var(--gkb-br-muted);
}

/* Review */
.gkb-br .gkb-br-review {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
	margin: 0 0 2rem;
}

.gkb-br .gkb-br-review__card {
	padding: 1.1rem 1.25rem 1.2rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius-sm);
	background: var(--gkb-br-cream);
}

.gkb-br .gkb-br-review__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
}

.gkb-br .gkb-br-review__title {
	margin: 0;
	font: 600 1rem/1.3 var(--gkb-br-font-head);
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-review__edit {
	height: auto;
	margin: 0;
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--gkb-br-line);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	font: 600 0.78rem/1.2 var(--gkb-br-font-body);
	text-transform: none;
	color: var(--gkb-br-brown);
	cursor: pointer;
}

.gkb-br .gkb-br-review__edit:hover {
	border-color: var(--gkb-br-brown);
}

.gkb-br .gkb-br-review__list {
	display: grid;
	grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr);
	gap: 0.4rem 0.75rem;
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.45;
}

.gkb-br .gkb-br-review__list dt {
	margin: 0;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-review__list dd {
	margin: 0;
	color: var(--gkb-br-ink);
	overflow-wrap: anywhere;
}

.gkb-br .gkb-br-review__list dd.is-empty {
	font-style: italic;
	color: #aea497;
}

/* Consent + warning. Three classes: it is a direct child label of
   .gkb-br-field, whose generic "> label" rule would otherwise win. */
.gkb-br .gkb-br-field > .gkb-br-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	margin: 0;
	padding: 1.1rem 1.25rem;
	border: 1.5px solid var(--gkb-br-line);
	border-radius: var(--gkb-br-radius-sm);
	background: #fff;
	font-weight: 400;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.gkb-br .gkb-br-consent input {
	margin-top: 0.15rem;
}

.gkb-br .gkb-br-consent:has(input:checked) {
	border-color: var(--gkb-br-sage-ink);
	background: var(--gkb-br-sage-soft);
}

.gkb-br .gkb-br-consent strong {
	display: block;
	font-weight: 600;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-consent strong + span {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--gkb-br-muted);
}

.gkb-br .gkb-br-warning {
	grid-column: 1 / -1;
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: -0.5rem 0 0;
	padding: 0.8rem 1rem;
	border: 1px solid #f0d78a;
	border-radius: var(--gkb-br-radius-sm);
	background: #fff4d6;
	font-size: 0.88rem;
	color: #6b5210;
}

.gkb-br .gkb-br-warning .gkb-br-icon {
	margin-top: 0.1rem;
}

/* Footer navigation */
.gkb-br .gkb-br-wizard__nav {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem clamp(1.5rem, 4vw, 2.5rem);
	border-top: 1px solid var(--gkb-br-line);
	border-radius: 0 0 var(--gkb-br-radius-lg) var(--gkb-br-radius-lg);
	background: var(--gkb-br-cream);
}

.gkb-br.is-enhanced .gkb-br-wizard__nav {
	position: sticky;
	bottom: 0;
	z-index: 5;
}

.gkb-br .gkb-br-wizard__count {
	flex: 1;
	font-size: 0.85rem;
	color: var(--gkb-br-muted);
	text-align: center;
}

.gkb-br .gkb-br-wizard__nav [data-wizard-next],
.gkb-br .gkb-br-wizard__nav [data-wizard-submit] {
	margin-left: auto;
}

.gkb-br .gkb-br-btn.is-busy {
	opacity: 0.7;
	cursor: progress;
}

/* Save confirmation */
.gkb-br .gkb-br-saved {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin: 0 0 1.5rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--gkb-br-sage);
	border-radius: var(--gkb-br-radius);
	background: var(--gkb-br-sage-soft);
	color: var(--gkb-br-sage-ink);
}

.gkb-br .gkb-br-saved__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: var(--gkb-br-sage-ink);
	color: #fff;
}

.gkb-br .gkb-br-saved strong {
	font-family: var(--gkb-br-font-head);
	font-size: 1.05rem;
	color: var(--gkb-br-ink);
}

.gkb-br .gkb-br-saved p {
	margin: 0.2rem 0 0;
}

.gkb-br .gkb-br-saved__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.gkb-br .gkb-br-staff-note--ok {
	border-color: var(--gkb-br-sage);
	background: var(--gkb-br-sage-soft);
	color: var(--gkb-br-sage-ink);
}

@media (max-width: 720px) {
	.gkb-br .gkb-br-stepper__label {
		display: none;
	}

	.gkb-br .gkb-br-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.gkb-br .gkb-br-field--half,
	.gkb-br .gkb-br-field--third {
		grid-column: 1 / -1;
	}

	.gkb-br .gkb-br-review__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 0 0;
	}

	.gkb-br .gkb-br-review__list dd {
		margin-bottom: 0.5rem;
	}

	.gkb-br .gkb-br-wizard__count {
		display: none;
	}

	.gkb-br .gkb-br-wizard__nav .gkb-br-btn {
		padding: 0.75rem 1.1rem;
	}
}

.gkb-br-notice {
	margin: 0 auto 1rem;
	padding: 0.85rem 1.1rem;
	border-radius: 12px;
	background: #f8f5f0;
	font-family: "Inter", system-ui, sans-serif;
	color: #3b3129;
}

.gkb-br-notice--ok {
	background: #eef4ee;
	color: #2f4a36;
}

.gkb-br-notice--error {
	background: #fbe6dc;
	color: #8a2f12;
}
