/**
 * InfoZambia 2.0 design system
 *
 * This layer supplies reusable presentation primitives without changing
 * GeoDirectory structure or business logic.
 */

:root {
	--iz-ink: #1c1833;
	--iz-text: #44404e;
	--iz-muted: #5f5b6b;
	--iz-accent: #e57b25;
	--iz-accent-dark: #b9530e;
	--iz-community: #4f8f3a;
	--iz-surface: #fff;
	--iz-surface-soft: #f7f5f2;
	--iz-surface-warm: #fff4e8;
	--iz-border: #e4e0e8;
	--iz-radius-sm: 0.75rem;
	--iz-radius-md: 1.25rem;
	--iz-radius-lg: 1.75rem;
	--iz-shadow-sm: 0 1px 2px rgb(28 24 51 / 6%), 0 8px 24px rgb(28 24 51 / 6%);
	--iz-shadow-md: 0 2px 4px rgb(28 24 51 / 7%), 0 20px 50px rgb(28 24 51 / 10%);
	--iz-content: 780px;
	--iz-wide: 1240px;
	--iz-transition: 180ms ease;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/*
 * Blockstrap's top-level custom-background wrapper inherits the Site Editor
 * background colour. InfoZambia pages use white as the neutral page canvas;
 * warmer surfaces are applied deliberately at section level instead.
 */
.wp-site-blocks > .wp-block-blockstrap-blockstrap-widget-container.bg-custom-background {
	background-color: var(--iz-surface) !important;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--iz-accent) 72%, transparent);
	outline-offset: 3px;
}

.iz-container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--iz-wide);
	padding-inline: clamp(1rem, 3vw, 2rem);
	width: 100%;
}

.iz-prose {
	max-width: var(--iz-content);
}

.iz-section {
	padding-block: clamp(3.5rem, 7vw, 7rem);
}

.iz-section--soft {
	background: var(--iz-surface-soft);
}

.iz-section--warm {
	background: var(--iz-surface-warm);
}

.iz-section--ink {
	background: var(--iz-ink);
	color: var(--iz-surface);
}

.iz-eyebrow {
	color: var(--iz-accent-dark);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.iz-lead {
	color: var(--iz-muted);
	font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
	line-height: 1.65;
}

.iz-section--ink .iz-eyebrow,
.iz-section--ink .iz-lead {
	color: color-mix(in srgb, var(--iz-surface) 78%, transparent);
}

.iz-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
}

.iz-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iz-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iz-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.iz-card {
	background: var(--iz-surface);
	border: 1px solid var(--iz-border);
	border-radius: var(--iz-radius-md);
	box-shadow: var(--iz-shadow-sm);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.iz-card--interactive {
	transition: border-color var(--iz-transition), box-shadow var(--iz-transition), transform var(--iz-transition);
}

.iz-card--interactive:hover {
	border-color: color-mix(in srgb, var(--iz-accent) 45%, var(--iz-border));
	box-shadow: var(--iz-shadow-md);
	transform: translateY(-3px);
}

.iz-card--featured {
	border-color: color-mix(in srgb, var(--iz-accent) 62%, var(--iz-border));
	box-shadow: var(--iz-shadow-md);
}

.iz-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.iz-button,
.wp-block-button__link {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 3rem;
	padding: 0.75rem 1.25rem;
	text-decoration: none;
	transition: background-color var(--iz-transition), border-color var(--iz-transition), color var(--iz-transition), transform var(--iz-transition);
}

.iz-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-1px);
}

.iz-button--primary,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--iz-ink);
	color: var(--iz-surface);
}

.iz-button--primary:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--iz-ink) 88%, var(--iz-accent));
	color: var(--iz-surface);
}

.iz-button--accent {
	background: var(--iz-accent);
	color: var(--iz-ink);
}

.iz-button--accent:hover {
	background: color-mix(in srgb, var(--iz-accent) 88%, var(--iz-surface));
	color: var(--iz-ink);
}

.iz-button--secondary,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: var(--iz-border);
	color: var(--iz-ink);
}

.iz-button--secondary:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--iz-surface-soft);
	border-color: var(--iz-ink);
	color: var(--iz-ink);
}

.iz-badge {
	align-items: center;
	background: var(--iz-surface-warm);
	border-radius: 999px;
	color: var(--iz-accent-dark);
	display: inline-flex;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.5rem 0.75rem;
}

.iz-divider {
	border: 0;
	border-top: 1px solid var(--iz-border);
	margin-block: clamp(2rem, 5vw, 4rem);
}

.iz-site-header {
	background: color-mix(in srgb, var(--iz-surface) 94%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--iz-border) 78%, transparent);
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0);
	z-index: 100;
}

.iz-header-inner {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	gap: clamp(1rem, 2vw, 2rem);
	grid-template-columns: auto minmax(0, 1fr) auto;
	margin-inline: auto;
	max-width: var(--iz-wide);
	min-height: 5rem;
	padding: 0.75rem clamp(1rem, 3vw, 2rem);
	width: 100%;
}

.iz-site-brand {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	width: auto;
}

.iz-site-brand .wp-block-site-logo img {
	height: auto;
	max-height: 3rem;
	object-fit: contain;
	width: auto;
}

.iz-site-title {
	display: none;
}

.iz-primary-nav {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	margin-left: auto;
	min-width: 0;
	width: auto;
}

.iz-primary-nav .wp-block-navigation__container {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(0.65rem, 1.15vw, 1.15rem);
	justify-content: flex-end;
	width: auto;
}

.iz-primary-nav a {
	color: var(--iz-ink);
}

.iz-primary-nav a:hover {
	color: var(--iz-accent-dark);
}

.iz-header-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.75rem;
	justify-content: flex-end;
	white-space: nowrap;
	width: auto;
}

.iz-header-login a {
	color: var(--iz-ink);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}

.iz-site-header .iz-header-join .wp-block-button__link {
	background: var(--iz-ink);
	color: var(--iz-surface);
	min-height: 2.625rem;
	padding: 0.625rem 1rem;
}

.iz-site-header .iz-header-join .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--iz-ink) 88%, var(--iz-accent));
	color: var(--iz-surface);
}

.iz-home {
	overflow: clip;
}

.iz-hero {
	background:
		radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--iz-accent) 20%, transparent), transparent 32%),
		linear-gradient(145deg, var(--iz-surface) 0%, var(--iz-surface-warm) 100%);
	padding-block: clamp(3.5rem, 6vw, 5.75rem);
}

.iz-hero-grid {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(25rem, 0.95fr);
}

.iz-hero-copy .iz-hero-title {
	font-size: clamp(3.35rem, 5.35vw, 4.75rem);
	font-weight: 650;
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin-bottom: 1.5rem;
	max-width: 10.5ch;
}

.iz-hero-copy .iz-lead {
	max-width: 56ch;
}

.iz-hero-note {
	color: var(--iz-muted);
	font-size: 0.875rem;
	margin-top: 1rem;
}

.iz-community-preview {
	position: relative;
}

.iz-community-preview::before {
	background: var(--iz-community);
	border-radius: 999px;
	content: "";
	filter: blur(1px);
	height: 8rem;
	position: absolute;
	right: -1.5rem;
	top: -1.5rem;
	width: 8rem;
}

.iz-preview-window {
	background: color-mix(in srgb, var(--iz-surface) 96%, transparent);
	border: 1px solid color-mix(in srgb, var(--iz-border) 80%, transparent);
	border-radius: var(--iz-radius-lg);
	box-shadow: var(--iz-shadow-md);
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.iz-preview-header {
	align-items: center;
	background: var(--iz-ink);
	color: var(--iz-surface);
	display: flex;
	justify-content: space-between;
	padding: 1.15rem 1.25rem;
}

.iz-preview-header > .wp-block-group {
	align-items: center;
	display: flex;
	gap: 0.75rem;
}

.iz-preview-mark {
	align-items: center;
	background: var(--iz-accent);
	border-radius: 0.7rem;
	color: var(--iz-ink);
	display: flex;
	font-size: 0.75rem;
	font-weight: 800;
	height: 2.4rem;
	justify-content: center;
	margin: 0;
	width: 2.4rem;
}

.iz-preview-heading {
	font-size: 0.9rem;
	line-height: 1.2;
	margin: 0;
}

.iz-preview-heading span {
	color: color-mix(in srgb, var(--iz-surface) 68%, transparent);
	font-size: 0.75rem;
}

.iz-preview-live {
	color: color-mix(in srgb, var(--iz-surface) 78%, transparent);
	font-size: 0.72rem;
	margin: 0;
}

.iz-preview-live::before {
	background: #63c174;
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 0.45rem;
	margin-right: 0.4rem;
	width: 0.45rem;
}

.iz-preview-feed {
	padding: 0.5rem 1.25rem;
}

.iz-preview-item {
	border-bottom: 1px solid var(--iz-border);
	padding-block: 1.1rem;
}

.iz-preview-label {
	color: var(--iz-accent-dark);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 0.625rem;
	text-transform: uppercase;
}

.iz-preview-item h3,
.iz-preview-item p:last-child {
	margin-bottom: 0;
}

.iz-preview-item h3 {
	font-size: 1rem !important;
	line-height: 1.3;
	margin-top: 0;
}

.iz-preview-item > p:not(.iz-preview-label) {
	color: var(--iz-muted);
	font-size: 0.82rem;
	line-height: 1.45;
	margin-top: 0.5rem;
}

.iz-preview-people {
	align-items: center;
	display: flex;
	gap: 0;
	margin-top: 0.8rem;
}

.iz-preview-people p {
	align-items: center;
	background: var(--iz-surface-warm);
	border: 2px solid var(--iz-surface);
	border-radius: 50%;
	color: var(--iz-accent-dark);
	display: flex;
	font-size: 0.62rem;
	font-weight: 700;
	height: 1.8rem;
	justify-content: center;
	margin: 0 0 0 -0.35rem;
	width: 1.8rem;
}

.iz-preview-people p:first-child {
	margin-left: 0;
}

.iz-preview-people p:last-child {
	background: none;
	border: 0;
	border-radius: 0;
	color: var(--iz-muted);
	font-size: 0.72rem;
	height: auto;
	margin-left: 0.55rem;
	width: auto;
}

.iz-preview-item--event {
	align-items: center;
	border-bottom: 0;
	display: flex;
	gap: 0.9rem;
}

.iz-preview-date {
	align-items: center;
	background: var(--iz-surface-warm);
	border-radius: 0.75rem;
	color: var(--iz-accent-dark) !important;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	height: 3.4rem;
	justify-content: center;
	margin: 0 !important;
	width: 3.4rem;
}

.iz-preview-date strong {
	font-size: 1.1rem;
	line-height: 1;
}

.iz-preview-date span {
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.iz-trust-strip {
	background: var(--iz-ink);
	color: var(--iz-surface);
	padding-block: clamp(3rem, 6vw, 5.5rem);
}

.iz-trust-inner {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 6vw, 6rem);
	grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr);
}

.iz-trust-copy h2 {
	font-size: clamp(2.35rem, 3.8vw, 3.8rem);
	letter-spacing: -0.045em;
	line-height: 1.02;
	margin: 0 0 1rem;
}

.iz-trust-copy > p:last-child {
	color: color-mix(in srgb, var(--iz-surface) 70%, transparent);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
}

.iz-trust-eyebrow {
	color: var(--iz-accent);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.iz-trust-pillars {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iz-trust-pillar {
	border-left: 1px solid color-mix(in srgb, var(--iz-surface) 16%, transparent);
	min-height: 7.5rem;
	padding: 0.35rem clamp(1.25rem, 3vw, 2.25rem) 1.5rem;
}

.iz-trust-pillar:nth-child(n + 3) {
	border-top: 1px solid color-mix(in srgb, var(--iz-surface) 16%, transparent);
	padding-top: 1.5rem;
}

.iz-trust-number {
	color: var(--iz-accent);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0 0 0.55rem;
}

.iz-trust-pillar h3 {
	font-size: 1.15rem;
	margin: 0 0 0.35rem;
}

.iz-trust-pillar > p:last-child {
	color: color-mix(in srgb, var(--iz-surface) 66%, transparent);
	font-size: 0.8rem;
	line-height: 1.45;
	margin: 0;
}

.iz-section-heading {
	margin: 0 auto clamp(2rem, 5vw, 4rem);
	max-width: 760px;
	text-align: center;
}

.iz-benefits {
	background: var(--iz-surface-soft);
}

.iz-benefits-layout {
	align-items: start;
	display: grid;
	gap: clamp(2.5rem, 6vw, 6rem);
	grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
}

.iz-benefits-intro {
	padding-top: 0.75rem;
}

.iz-benefits-intro h2 {
	font-size: clamp(2.35rem, 3.6vw, 3.65rem);
	letter-spacing: -0.045em;
	line-height: 1.04;
	margin-bottom: 1.25rem;
}

.iz-benefits-intro .wp-block-buttons {
	margin-top: 1.75rem;
}

.iz-benefit-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iz-benefit-card {
	background: var(--iz-surface);
	border: 1px solid var(--iz-border);
	border-radius: var(--iz-radius-md);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 18rem;
	padding: clamp(1.4rem, 2.5vw, 2rem);
	transition: box-shadow var(--iz-transition), transform var(--iz-transition);
}

.iz-benefit-card:hover {
	box-shadow: var(--iz-shadow-md);
	transform: translateY(-3px);
}

.iz-benefit-card--connections {
	background: var(--iz-ink);
	color: var(--iz-surface);
}

.iz-benefit-card--opportunities {
	background: var(--iz-surface-warm);
}

.iz-benefit-card--learning {
	background: color-mix(in srgb, var(--iz-community) 10%, var(--iz-surface));
}

.iz-benefit-icon {
	align-items: center;
	background: color-mix(in srgb, var(--iz-accent) 16%, transparent);
	border-radius: 0.75rem;
	color: var(--iz-accent-dark);
	display: flex;
	font-size: 0.72rem;
	font-weight: 800;
	height: 2.5rem;
	justify-content: center;
	letter-spacing: 0.08em;
	margin: 0 0 auto;
	width: 2.5rem;
}

.iz-benefit-card--connections .iz-benefit-icon {
	background: var(--iz-accent);
	color: var(--iz-ink);
}

.iz-benefit-card h3 {
	font-size: 1.35rem;
	letter-spacing: -0.02em;
	margin: 2rem 0 0.65rem;
}

.iz-benefit-card > p:not(.iz-benefit-icon):not(.iz-benefit-link) {
	color: var(--iz-muted);
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0;
}

.iz-benefit-card--connections > p:not(.iz-benefit-icon):not(.iz-benefit-link) {
	color: color-mix(in srgb, var(--iz-surface) 74%, transparent);
}

.iz-benefit-link {
	color: var(--iz-accent-dark);
	font-size: 0.78rem;
	font-weight: 700;
	margin: 1.25rem 0 0;
}

.iz-benefit-card--connections .iz-benefit-link {
	color: var(--iz-accent);
}

.iz-membership {
	background: var(--iz-surface);
}

.iz-membership-note {
	background: var(--iz-surface-warm);
	border-radius: 999px;
	color: var(--iz-muted);
	display: inline-block;
	font-size: 0.82rem;
	margin-top: 1rem;
	padding: 0.65rem 1rem;
}

.iz-membership-note strong {
	color: var(--iz-ink);
}

.iz-pricing-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iz-price-card {
	background: var(--iz-surface);
	border: 1px solid var(--iz-border);
	border-radius: var(--iz-radius-lg);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 2.75vw, 2.25rem);
}

.iz-price-card--member {
	background: var(--iz-ink);
	border-color: var(--iz-ink);
	color: var(--iz-surface);
	box-shadow: var(--iz-shadow-md);
	transform: translateY(-0.75rem);
}

.iz-price-card--professional {
	background: var(--iz-surface-warm);
}

.iz-plan-kicker {
	color: var(--iz-accent-dark);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0 0 1.5rem;
	text-transform: uppercase;
}

.iz-price-card--member .iz-plan-kicker {
	color: var(--iz-accent);
}

.iz-price-card h3 {
	font-size: 1.55rem;
	margin: 0 0 0.65rem;
}

.iz-plan-summary {
	color: var(--iz-muted);
	font-size: 0.9rem;
	line-height: 1.5;
	margin: 0;
}

.iz-price-card--member .iz-plan-summary {
	color: color-mix(in srgb, var(--iz-surface) 72%, transparent);
}

.iz-price-card .wp-block-buttons {
	margin-top: auto;
}

.iz-price-card .wp-block-button,
.iz-price-card .wp-block-button__link {
	width: 100%;
}

.iz-price {
	color: var(--iz-muted);
	margin-block: 2rem;
}

.iz-price strong {
	color: var(--iz-ink);
	font-size: clamp(2rem, 1.6rem + 1.6vw, 3rem);
	letter-spacing: -0.035em;
}

.iz-price span {
	font-size: 0.78rem;
}

.iz-price-card--member .iz-price,
.iz-price-card--member .iz-price strong {
	color: var(--iz-surface);
}

.iz-plan-features {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.iz-plan-features li {
	color: var(--iz-muted);
	font-size: 0.88rem;
	line-height: 1.45;
	padding-left: 1.55rem;
	position: relative;
}

.iz-plan-features li::before {
	color: var(--iz-community);
	content: "✓";
	font-weight: 800;
	left: 0;
	position: absolute;
}

.iz-plan-features li + li {
	margin-top: 0.8rem;
}

.iz-price-card--member .iz-plan-features li {
	color: color-mix(in srgb, var(--iz-surface) 80%, transparent);
}

.iz-price-card--member .iz-plan-features li::before {
	color: var(--iz-accent);
}

.iz-price-card--member .wp-block-button .wp-block-button__link {
	background: var(--iz-accent);
	color: var(--iz-ink);
}

.iz-price-card--member .wp-block-button .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--iz-accent) 88%, var(--iz-surface));
	color: var(--iz-ink);
}

.iz-business-membership {
	align-items: center;
	background: color-mix(in srgb, var(--iz-community) 12%, var(--iz-surface));
	border: 1px solid color-mix(in srgb, var(--iz-community) 24%, var(--iz-border));
	border-radius: var(--iz-radius-lg);
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin-top: 3rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.iz-business-membership-copy {
	max-width: 39rem;
}

.iz-business-membership h3,
.iz-business-membership p {
	margin-bottom: 0;
}

.iz-business-membership h3 {
	font-size: clamp(1.45rem, 2vw, 2rem);
	margin-top: 0;
}

.iz-business-search {
	background: var(--iz-ink);
	color: var(--iz-surface);
}

.iz-directory-panel {
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
}

.iz-directory-copy h2 {
	font-size: clamp(2.4rem, 3.75vw, 3.8rem);
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.iz-directory-copy .iz-lead {
	color: color-mix(in srgb, var(--iz-surface) 72%, transparent);
}

.iz-directory-tags {
	display: flex;
	gap: 0.5rem;
	margin-block: 1.5rem;
}

.iz-directory-tags p {
	border: 1px solid color-mix(in srgb, var(--iz-surface) 18%, transparent);
	border-radius: 999px;
	color: color-mix(in srgb, var(--iz-surface) 74%, transparent);
	font-size: 0.75rem;
	margin: 0;
	padding: 0.45rem 0.7rem;
}

.iz-directory-copy .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: color-mix(in srgb, var(--iz-surface) 38%, transparent);
	color: var(--iz-surface);
}

.iz-directory-search-card {
	background: var(--iz-surface);
	border-radius: var(--iz-radius-lg);
	box-shadow: var(--iz-shadow-md);
	color: var(--iz-ink);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.iz-directory-search-card h3 {
	font-size: 1.65rem;
	margin: 0 0 1.5rem;
}

.iz-directory-form {
	display: grid;
	gap: 0.65rem;
}

.iz-directory-form label {
	color: var(--iz-muted);
	font-size: 0.76rem;
	font-weight: 700;
	margin-top: 0.35rem;
}

.iz-directory-form input {
	background: var(--iz-surface-soft);
	border: 1px solid var(--iz-border);
	border-radius: 0.85rem;
	box-sizing: border-box;
	color: var(--iz-ink);
	font: inherit;
	min-height: 3.25rem;
	padding: 0.8rem 1rem;
	width: 100%;
}

.iz-directory-form input:focus {
	border-color: var(--iz-accent);
	outline: 3px solid color-mix(in srgb, var(--iz-accent) 20%, transparent);
}

.iz-directory-form button {
	background: var(--iz-accent);
	border: 0;
	border-radius: 999px;
	color: var(--iz-ink);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	margin-top: 0.75rem;
	min-height: 3.25rem;
	padding: 0.8rem 1.2rem;
}

.iz-directory-helper {
	color: var(--iz-muted);
	font-size: 0.76rem;
	margin: 0.9rem 0 0;
	text-align: center;
}

.iz-directory-owner-cta {
	align-items: center;
	border-top: 1px solid color-mix(in srgb, var(--iz-surface) 18%, transparent);
	display: flex;
	gap: 1.5rem;
	grid-column: 1 / -1;
	justify-content: space-between;
	padding-top: 2rem;
}

.iz-directory-owner-cta > .wp-block-group {
	max-width: 42rem;
}

.iz-directory-owner-cta h3 {
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	margin: 0;
}

.iz-directory-owner-cta .iz-plan-kicker {
	color: var(--iz-accent);
	margin-bottom: 0.5rem;
}

.iz-directory-owner-cta .wp-block-button__link {
	background: var(--iz-accent);
	color: var(--iz-ink);
}

.iz-final-cta-inner {
	background:
		radial-gradient(circle at 92% 14%, color-mix(in srgb, var(--iz-community) 28%, transparent), transparent 30%),
		linear-gradient(135deg, var(--iz-surface-warm), var(--iz-surface));
	border: 1px solid color-mix(in srgb, var(--iz-accent) 22%, var(--iz-border));
	border-radius: clamp(1.5rem, 3vw, 2.5rem);
	box-shadow: var(--iz-shadow-md);
	box-sizing: border-box;
	max-width: var(--iz-wide);
	padding: clamp(2.5rem, 7vw, 6rem);
	text-align: center;
}

.iz-final-cta-inner h2 {
	font-size: clamp(2.75rem, 5.5vw, 5.25rem);
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin: 0 auto 1.5rem;
	max-width: 13ch;
}

.iz-final-cta-inner .iz-lead {
	margin-inline: auto;
	max-width: 43rem;
}

.iz-final-cta-inner .iz-actions {
	justify-content: center;
	margin-top: 2rem;
}

.iz-final-note {
	color: var(--iz-muted);
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.025em;
	margin: 1.25rem 0 0;
}

.iz-section--ink .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: color-mix(in srgb, var(--iz-surface) 45%, transparent);
	color: var(--iz-surface);
}

.iz-section--ink .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--iz-surface) 12%, transparent);
	border-color: var(--iz-surface);
	color: var(--iz-surface);
}

@media (max-width: 900px) {
	.iz-header-inner {
		gap: 0.75rem;
		grid-template-columns: auto minmax(0, 1fr) auto;
		min-height: 4.5rem;
	}

	.iz-primary-nav {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		margin: 0;
	}

	.iz-site-brand {
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
	}

	.iz-header-actions {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container-open {
		align-items: center;
		background: transparent;
		border: 1px solid transparent;
		border-radius: 999px;
		color: var(--iz-ink);
		display: flex;
		height: 2.75rem;
		justify-content: center;
		padding: 0 !important;
		width: 2.75rem !important;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container-open svg {
		flex: 0 0 1.5rem;
		height: 1.5rem;
		width: 1.5rem;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container-open:hover,
	.iz-primary-nav .wp-block-navigation__responsive-container-open:focus-visible {
		background: var(--iz-surface-soft);
		border-color: var(--iz-border);
	}

	.iz-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--iz-surface);
		color: var(--iz-ink);
		height: 100dvh;
		padding: 0;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container-close {
		align-items: center;
		background: var(--iz-surface-soft);
		border: 1px solid var(--iz-border);
		border-radius: 999px;
		color: var(--iz-ink);
		display: flex;
		height: 2.75rem;
		justify-content: center;
		left: 1rem;
		padding: 0;
		right: auto;
		top: 1rem;
		width: 2.75rem;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		box-sizing: border-box;
		justify-content: flex-start;
		margin: 0 auto;
		max-width: 32rem;
		min-height: 100%;
		padding: calc(var(--wp-admin--admin-bar--height, 0px) + 6.25rem) 1.25rem 2.5rem;
		width: 100%;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container-content::before {
		align-self: stretch;
		color: var(--iz-accent-dark);
		content: "Explore InfoZambia";
		display: block;
		font-size: 0.78rem;
		font-weight: 750;
		letter-spacing: 0.14em;
		margin-bottom: 1rem;
		text-align: left;
		text-transform: uppercase;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		gap: 0;
		justify-content: flex-start;
		width: 100%;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		border-bottom: 1px solid var(--iz-border);
		width: 100%;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		color: var(--iz-ink);
		display: block;
		font-size: clamp(1.45rem, 7vw, 1.9rem);
		font-weight: 620;
		letter-spacing: -0.025em;
		line-height: 1.15;
		padding: 0.9rem 0;
		text-align: left;
		width: 100%;
	}

	.iz-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:first-child .wp-block-navigation-item__content {
		color: var(--iz-accent-dark);
	}

	.iz-header-login {
		display: none;
	}

	.iz-hero-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-community-preview {
		margin-inline: auto;
		max-width: 34rem;
		width: 100%;
	}

	.iz-benefits-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-trust-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-benefits-intro {
		max-width: 42rem;
	}

	.iz-pricing-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-price-card--member {
		transform: none;
	}

	.iz-business-membership {
		align-items: flex-start;
		flex-direction: column;
	}

	.iz-directory-panel {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-directory-owner-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.iz-final-cta-inner h2 {
		font-size: clamp(2.5rem, 12vw, 3.75rem);
	}

	.iz-grid--4,
	.iz-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.iz-header-inner {
		padding-inline: 1rem;
	}

	.iz-site-brand .wp-block-site-logo img {
		max-width: 9.5rem;
	}

	.iz-site-title {
		display: none;
	}

	.iz-site-header .iz-header-join .wp-block-button__link {
		font-size: 0.8125rem;
		min-height: 2.5rem;
		padding-inline: 0.875rem;
	}

	.iz-community-preview {
		width: 100%;
	}

	.iz-hero-copy .iz-hero-title {
		font-size: clamp(2.75rem, 13vw, 3.65rem);
		max-width: 11ch;
	}

	.iz-benefit-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-trust-pillar {
		padding-inline: 1rem;
	}

	.iz-benefit-card {
		min-height: 16rem;
	}

	.iz-grid--2,
	.iz-grid--3,
	.iz-grid--4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-actions > * {
		width: 100%;
	}
}

@media (max-width: 360px) {
	.iz-header-inner {
		gap: 0.5rem;
	}

	.iz-site-brand .wp-block-site-logo img {
		max-width: 7rem;
	}

	.iz-site-header .iz-header-join .wp-block-button__link {
		font-size: 0.75rem;
		min-height: 2.375rem;
		padding-inline: 0.625rem;
	}
}

/* Membership page */
.iz-membership-page {
	overflow: clip;
}

.iz-membership-hero {
	background:
		radial-gradient(circle at 86% 20%, color-mix(in srgb, var(--iz-community) 22%, transparent), transparent 30%),
		linear-gradient(145deg, var(--iz-surface), var(--iz-surface-warm));
	padding-block: clamp(4rem, 8vw, 8rem);
}

.iz-membership-hero-inner {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
}

.iz-membership-hero-copy h1 {
	font-size: clamp(3.5rem, 6.2vw, 5.8rem);
	font-weight: 650;
	letter-spacing: -0.06em;
	line-height: 0.96;
	margin-bottom: 1.5rem;
	max-width: 11ch;
}

.iz-membership-hero-copy .iz-actions {
	margin-top: 2rem;
}

.iz-membership-principle {
	background: var(--iz-ink);
	border-radius: var(--iz-radius-lg);
	box-shadow: var(--iz-shadow-md);
	color: var(--iz-surface);
	padding: clamp(1.75rem, 4vw, 3rem);
}

.iz-membership-principle .iz-plan-kicker {
	color: var(--iz-accent);
}

.iz-membership-principle h2 {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
}

.iz-membership-principle p:not(.iz-plan-kicker) {
	color: color-mix(in srgb, var(--iz-surface) 72%, transparent);
	font-size: 0.92rem;
	line-height: 1.55;
	margin-top: 0;
}

.iz-membership-principle hr {
	border-color: color-mix(in srgb, var(--iz-surface) 16%, transparent);
	margin-block: 1.5rem;
}

.iz-membership-plans {
	background: var(--iz-surface);
}

.iz-membership-included {
	background: var(--iz-surface-soft);
}

.iz-membership-included-layout {
	align-items: start;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
}

.iz-membership-included-copy h2 {
	font-size: clamp(2.4rem, 4vw, 4rem);
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.iz-membership-value-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iz-membership-value {
	background: var(--iz-surface);
	border: 1px solid var(--iz-border);
	border-radius: var(--iz-radius-md);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.iz-membership-value .iz-benefit-icon {
	margin-bottom: 2rem;
}

.iz-membership-value h3 {
	font-size: 1.2rem;
	margin-bottom: 0.5rem;
}

.iz-membership-value > p:last-child {
	color: var(--iz-muted);
	font-size: 0.88rem;
	line-height: 1.55;
	margin-bottom: 0;
}

.iz-membership-business {
	background: var(--iz-ink);
	color: var(--iz-surface);
}

.iz-membership-business-inner {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
}

.iz-membership-business h2 {
	font-size: clamp(2.5rem, 4.3vw, 4.25rem);
	letter-spacing: -0.05em;
	line-height: 1.02;
}

.iz-membership-business .iz-lead,
.iz-membership-business .iz-plan-features li {
	color: color-mix(in srgb, var(--iz-surface) 74%, transparent);
}

.iz-membership-business-actions {
	background: color-mix(in srgb, var(--iz-surface) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--iz-surface) 14%, transparent);
	border-radius: var(--iz-radius-lg);
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
}

.iz-membership-business-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--iz-accent);
	color: var(--iz-ink);
}

.iz-membership-business-actions .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: color-mix(in srgb, var(--iz-surface) 36%, transparent);
	color: var(--iz-surface);
}

.iz-membership-faq {
	background: var(--iz-surface);
}

.iz-membership-faq-layout {
	align-items: start;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1.35fr);
}

.iz-membership-faq-layout h2 {
	font-size: clamp(2.35rem, 3.7vw, 3.7rem);
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.iz-faq-list {
	border-top: 1px solid var(--iz-border);
}

.iz-faq-list details {
	border-bottom: 1px solid var(--iz-border);
	padding-block: 1.25rem;
}

.iz-faq-list summary {
	color: var(--iz-ink);
	cursor: pointer;
	font-size: 1.05rem;
	font-weight: 750;
	padding-right: 2rem;
}

.iz-faq-list details p {
	color: var(--iz-muted);
	line-height: 1.65;
	margin-bottom: 0;
	max-width: 56ch;
}

.iz-membership-final {
	background: var(--iz-surface-soft);
}

/* GeoDirectory: public discovery and measurable customer action layer. */
body.geodir-page {
	background: #f8f7f4;
}

body.geodir-page .wp-site-blocks > :not(header):not(footer) {
	color: var(--iz-ink);
}

body.geodir-page-single .wp-site-blocks > div:not(#wpadminbar) {
	background-color: #f8f7f4 !important;
	background-image: none !important;
}

body.geodir-page #main,
body.geodir-page #title > .container {
	max-width: 1240px;
}

body.geodir-page nav[aria-label="breadcrumb"] {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}

body.geodir-page nav[aria-label="breadcrumb"] a {
	color: var(--iz-muted);
	text-decoration: none;
}

body.geodir-page nav[aria-label="breadcrumb"] a:hover {
	color: var(--iz-accent);
}

/* Business profile */
body.geodir-page-single #title {
	background:
		radial-gradient(circle at 88% 10%, rgba(239, 125, 0, 0.13), transparent 30rem),
		linear-gradient(180deg, #fffdf9 0%, #f8f7f4 100%);
	margin: 0 !important;
	padding-bottom: 2.25rem !important;
	padding-top: clamp(2.25rem, 5vw, 4.75rem) !important;
}

body.geodir-page-single .wp-site-blocks > div > #title {
	background:
		radial-gradient(circle at 88% 10%, rgba(229, 123, 37, 0.13), transparent 30rem),
		linear-gradient(180deg, #fffdf9 0%, #f8f7f4 100%) !important;
}

body.geodir-page-single #title > .container:first-child {
	margin-bottom: 1.1rem !important;
}

body.geodir-page-single #title > .container,
body.geodir-page-single #title + .container {
	max-width: calc(var(--iz-wide) - 4rem) !important;
	width: calc(100% - 2rem) !important;
}

body.geodir-page-single #title .card {
	background: rgba(255, 255, 255, 0.94) !important;
	border: 1px solid rgba(31, 27, 45, 0.1) !important;
	border-radius: 24px !important;
	box-shadow: 0 24px 70px rgba(31, 27, 45, 0.1) !important;
	overflow: hidden;
}

body.geodir-page-single #title h1 {
	font-size: clamp(2.35rem, 5vw, 4.65rem) !important;
	font-weight: 650 !important;
	letter-spacing: -0.055em;
	line-height: 0.98;
	max-width: 16ch;
}

body.geodir-page-single .iz-business-tagline {
	max-width: 48rem;
	margin: .75rem 0 0;
	color: rgba(255, 255, 255, .82);
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.55;
}

body.geodir-page-single .iz-verified-business-badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	width: fit-content;
	margin-top: .7rem;
	padding: .42rem .72rem;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .04em;
}

body.geodir-page-single .iz-verified-business-badge::before {
	content: "\2713";
	display: inline-grid;
	place-items: center;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: #4a9d52;
	color: #fff;
}

body.geodir-page-single .iz-enhanced-primary-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	margin: .75rem;
	padding: .7rem 1.25rem;
	border-radius: 999px;
	background: #ef7d00;
	color: #1d1836;
	font-weight: 700;
	text-decoration: none;
}

body.geodir-page-single .iz-enhanced-primary-action:hover,
body.geodir-page-single .iz-enhanced-primary-action:focus-visible {
	background: #ff9b2e;
	transform: translateY(-1px);
}

body.geodir-page-single #title .geodir-single-taxonomies-container a {
	color: var(--iz-accent-dark);
	font-weight: 600;
	text-decoration: none;
}

body.geodir-page-single #title .geodir-single-taxonomies-container .badge {
	background: var(--iz-surface-warm) !important;
	border: 1px solid rgba(229, 123, 37, 0.28) !important;
	border-radius: 999px !important;
	color: var(--iz-accent-dark) !important;
	font-size: 0.78rem;
	line-height: 1.2;
	padding: 0.45rem 0.75rem !important;
	white-space: normal;
}

body.geodir-page-single #title .gd-badge {
	align-items: center;
	background: #fff !important;
	border: 1px solid var(--iz-border) !important;
	border-radius: 999px !important;
	color: var(--iz-ink) !important;
	display: inline-flex !important;
	font-weight: 600;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0.65rem 1rem !important;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.geodir-page-single #title .gd-badge:hover {
	border-color: rgba(239, 125, 0, 0.45) !important;
	box-shadow: 0 9px 25px rgba(31, 27, 45, 0.09);
	transform: translateY(-1px);
}

body.geodir-page-single #title .geodir-image-container {
	height: clamp(300px, 31vw, 400px) !important;
}

body.geodir-page-single #title .geodir-image-container img {
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

body.geodir-page-single #title + .container .gd-badge {
	align-items: center;
	background: var(--iz-surface-soft) !important;
	border: 1px solid var(--iz-border) !important;
	border-radius: 14px !important;
	color: var(--iz-ink) !important;
	display: flex !important;
	font-size: 0.95rem;
	font-weight: 600;
	gap: 0.5rem;
	justify-content: center;
	min-height: 52px;
	padding: 0.75rem 1rem !important;
	text-decoration: none;
}

body.geodir-page-single #title + .container .gd-badge:hover {
	background: var(--iz-surface-warm) !important;
	border-color: rgba(229, 123, 37, 0.42) !important;
}

body.geodir-page-single #title + .container > .card > .container {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.geodir-page-single #title + .container > .card > .container > .col {
	margin: 0 !important;
	min-width: 0;
}

body.geodir-page-single #title + .container > .card > .container > .col:empty {
	display: none;
}

body.geodir-page-single #title + .container > .card > .container > .col:last-child {
	grid-column: 1 / -1;
	padding-top: 0.35rem;
}

body.geodir-page-single #title + .container .btn {
	align-items: center;
	border-radius: 14px !important;
	display: flex;
	font-size: 0.95rem !important;
	font-weight: 600;
	justify-content: center;
	min-height: 52px;
	width: 100%;
}

body.geodir-page-single #title + .container .gd-badge[data-badge="facebook"],
body.geodir-page-single #title + .container .gd-badge[data-badge="twitter"],
body.geodir-page-single #title + .container .gd-badge[data-badge="linkedin"],
body.geodir-page-single #title + .container .gd-badge[data-badge="instagram"],
body.geodir-page-single #title + .container .gd-badge[data-badge="youtube"] {
	align-items: center !important;
	border-radius: 999px !important;
	color: #fff !important;
	display: inline-flex !important;
	float: none !important;
	gap: 0 !important;
	height: 42px;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: 42px;
	padding: 0 !important;
	width: 42px;
}

body.geodir-page-single #title + .container .gd-badge[data-badge="facebook"] {
	background: #1877f2 !important;
	border-color: #1877f2 !important;
}

body.geodir-page-single #title + .container .gd-badge[data-badge="linkedin"] {
	background: #0a66c2 !important;
	border-color: #0a66c2 !important;
}

body.geodir-page-single #title + .container .gd-badge[data-badge="twitter"] {
	background: #111 !important;
	border-color: #111 !important;
}

body.geodir-page-single #title + .container .gd-badge[data-badge="instagram"] {
	background: linear-gradient(135deg, #833ab4, #e1306c 55%, #f77737) !important;
	border-color: #e1306c !important;
}

body.geodir-page-single #title + .container .gd-badge[data-badge="youtube"] {
	background: #ff0000 !important;
	border-color: #ff0000 !important;
}

body.geodir-page-single #title + .container .gd-badge[data-badge="whatsapp"],
body.geodir-page-single #title + .container .gd-badge[data-badge="whatsapp_number"] {
	background: #25d366 !important;
	border-color: #25d366 !important;
	color: #fff !important;
}

body.geodir-page-single .iz-social-actions .gd-badge i {
	display: block !important;
	font-size: 1.05rem;
	line-height: 1 !important;
	margin: 0 !important;
	width: auto !important;
}

body.geodir-page-single .iz-social-actions .gd-badge[data-badge="facebook"] i {
	transform: translateX(0.5px);
}

body.geodir-page-single #main {
	background: transparent !important;
	max-width: calc(var(--iz-wide) - 4rem);
	padding-top: clamp(2rem, 5vw, 4.5rem) !important;
}

body.geodir-page-single #main > .row {
	gap: clamp(1.5rem, 4vw, 3.25rem);
}

body.geodir-page-single #main > .row > .col-lg-7 {
	flex: 1 1 600px;
	max-width: none;
}

body.geodir-page-single #main > .row > .col-lg-4 {
	flex: 0 1 360px;
	max-width: 390px;
}

/* Enhanced Business Profile: owner tools and paid SEO content rail. */
body.geodir-page-single #main > .row > .col-lg-4 > .wp-block-geodirectory-geodir-widget-author-actions {
	background: transparent;
	border: 0;
	box-shadow: none;
	display: flex;
	justify-content: flex-end;
	margin-bottom: 0.85rem;
}

body.geodir-page-single #main > .row > .col-lg-4 > .wp-block-geodirectory-geodir-widget-author-actions:empty,
body.geodir-page-single #main > .row > .col-lg-4 > .wp-block-geodirectory-geodir-google-analytics-widget-post-analytics:empty,
body.geodir-page-single #main > .row > .col-lg-4 .list-group-item:not(:has(.geodir-post-meta-container)),
body.geodir-page-single #main > .row > .col-lg-4 .list-group-item:has(.geodir-post-meta-container:empty) {
	display: none !important;
}

body.geodir-page-single #main > .row > .col-lg-4 > .list-group {
	background: transparent;
	border: 0;
	box-shadow: none !important;
	display: grid;
	gap: 1rem;
}

body.geodir-page-single #main > .row > .col-lg-4 > .list-group:not(:has(.geodir-field-services_offered, .geodir-field-additional_information)) {
	display: none;
}

body.geodir-page-single #main > .row > .col-lg-4 > .list-group > .list-group-item:has(.geodir-field-services_offered),
body.geodir-page-single #main > .row > .col-lg-4 > .list-group > .list-group-item:has(.geodir-field-additional_information) {
	background: #fff;
	border: 1px solid var(--iz-border) !important;
	border-radius: 20px !important;
	box-shadow: 0 12px 38px rgba(31, 27, 45, 0.06);
	color: var(--iz-muted);
	font-size: 0.98rem;
	line-height: 1.65;
	padding: clamp(1.25rem, 3vw, 1.65rem);
}

body.geodir-page-single #main .geodir-field-services_offered > :first-child,
body.geodir-page-single #main .geodir-field-additional_information > :first-child {
	margin-top: 0;
}

body.geodir-page-single #main .geodir-field-services_offered > :last-child,
body.geodir-page-single #main .geodir-field-additional_information > :last-child {
	margin-bottom: 0;
}

body.geodir-page-single #main .geodir-field-services_offered h3,
body.geodir-page-single #main .geodir-field-additional_information h3 {
	border-bottom: 1px solid var(--iz-border);
	color: var(--iz-ink);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 550;
	letter-spacing: -0.025em;
	margin-bottom: 1.15rem;
	padding-bottom: 0.8rem;
}

body.geodir-page-single #main .geodir-field-services_offered h4 {
	color: var(--iz-ink);
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.035em;
	margin: 1.35rem 0 0.5rem;
	text-transform: uppercase;
}

body.geodir-page-single #main .geodir-field-services_offered ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.geodir-page-single #main .geodir-field-services_offered li {
	border-bottom: 1px solid rgba(31, 27, 45, 0.08);
	padding: 0.45rem 0;
}

body.geodir-page-single #main .geodir-field-services_offered li:last-child {
	border-bottom: 0;
}

body.geodir-page-single #main .geodir-field-additional_information strong {
	color: var(--iz-ink);
	font-weight: 650;
}

/* Paid profile content becomes a purposeful business-page section. */
body.geodir-page-single #main.iz-business-profile--enhanced > .row > .col-lg-7 {
	flex-basis: 100%;
	max-width: 100%;
}

body.geodir-page-single #main.iz-business-profile--enhanced > .row > .col-lg-4 {
	max-width: 100%;
	width: 100%;
}

body.geodir-page-single #main.iz-business-profile--structured .geodir-tabs-content {
	display: flex;
	flex-direction: column;
	gap: clamp(2.75rem, 6vw, 5.25rem);
}

body.geodir-page-single #main.iz-business-profile--structured .geodir-single-tabs-container,
body.geodir-page-single #main.iz-business-profile--structured .geodir-tabs-content {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body.geodir-page-single #main.iz-business-profile--structured > .row > .col-lg-7 {
	flex-basis: 100%;
	max-width: 100%;
}

body.geodir-page-single #main.iz-business-profile--structured > .row > .col-lg-4 {
	max-width: 100%;
	width: 100%;
}

body.geodir-page-single #main.iz-business-profile--structured > .row > .col-lg-7 > .card {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
}

body.geodir-page-single #main.iz-business-profile--structured > .row > .col-lg-7,
body.geodir-page-single #main.iz-business-profile--structured > .row > .col-lg-7 > .card,
body.geodir-page-single #main.iz-business-profile--structured > .row > .col-lg-7 > .card > .container {
	flex: 0 0 100% !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.geodir-page-single #main.iz-business-profile--structured > .row > .col-lg-7 > .card > .container {
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.geodir-page-single #title + .container > .card > .container {
	display: block;
}

body.geodir-page-single .iz-primary-actions {
	display: grid;
	gap: 0.8rem;
	grid-template-columns: repeat(var(--iz-action-count, 1), minmax(0, 1fr));
}

body.geodir-page-single .iz-primary-actions > .col,
body.geodir-page-single .iz-social-actions > .col {
	margin: 0 !important;
	width: auto !important;
}

body.geodir-page-single .iz-social-actions {
	align-items: center;
	border-top: 1px solid var(--iz-border);
	display: flex;
	gap: 0.6rem;
	margin-top: 0.9rem;
	padding: 0.85rem 0.15rem 0.05rem;
}

body.geodir-page-single .iz-action-row-label {
	color: var(--iz-muted);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-right: 0.25rem;
	text-transform: uppercase;
}

body.geodir-page-single #main.iz-business-profile--structured .geodir-tabs-content > [role="tabpanel"],
body.geodir-page-single #main.iz-business-profile--structured .iz-business-offer {
	margin: 0 !important;
}

body.geodir-page-single #main.iz-business-profile--structured .geodir-tabs-content > [role="tabpanel"] {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

body.geodir-page-single .iz-section-heading {
	display: grid;
	gap: 0.55rem;
	grid-template-columns: minmax(0, 0.85fr) minmax(280px, 1fr);
	margin: 0 0 clamp(1.5rem, 4vw, 2.75rem) !important;
	text-align: left;
	max-width: none;
	width: 100%;
}

body.geodir-page-single .iz-section-heading__eyebrow {
	color: var(--iz-accent-dark) !important;
	font-size: 0.74rem !important;
	font-weight: 750 !important;
	grid-column: 1 / -1;
	letter-spacing: 0.11em !important;
	margin: 0 !important;
	text-transform: uppercase;
}

body.geodir-page-single .iz-section-heading h2 {
	color: var(--iz-ink);
	font-size: clamp(2.2rem, 4vw, 3.65rem);
	font-weight: 550;
	letter-spacing: -0.05em;
	line-height: 1;
	margin: 0;
	text-align: left;
}

body.geodir-page-single .iz-section-heading__intro {
	align-self: end;
	color: var(--iz-muted);
	font-size: clamp(1rem, 1.5vw, 1.12rem) !important;
	line-height: 1.65 !important;
	margin: 0 !important;
	max-width: 44ch;
}

body.geodir-page-single #post_content .geodir-field-post_content {
	color: var(--iz-muted);
	font-size: clamp(1.05rem, 1.6vw, 1.2rem);
	line-height: 1.8;
	max-width: 74ch;
}

body.geodir-page-single #post_content .iz-section-heading {
	grid-template-columns: minmax(0, 1fr);
	max-width: none;
}

@media (min-width: 992px) {
	body.geodir-page-single #post_content {
		display: grid;
		gap: 1rem clamp(3rem, 7vw, 6.5rem);
		grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.35fr);
	}

	body.geodir-page-single #post_content .iz-section-heading {
		grid-column: 1;
		grid-row: 1;
	}

	body.geodir-page-single #post_content > .geodir-post-meta-container {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	body.geodir-page-single #post_content > .geodir-tabs-anchor,
	body.geodir-page-single #post_content > .hash-offset {
		display: none;
	}

	body.geodir-page-single #post_content .iz-about-toggle {
		display: block;
		justify-self: start;
	}
}

body.geodir-page-single .iz-owner-actions {
	background: var(--iz-surface-soft);
	border: 1px solid var(--iz-border);
	border-radius: 16px;
	display: flex;
	justify-content: flex-end;
	margin: 0.75rem 0 0 auto;
	max-width: max-content;
	padding: 0.55rem;
	width: 100%;
}

body.geodir-page-single .iz-owner-actions .gd-author-actions {
	display: flex;
	gap: 0.55rem;
}

body.geodir-page-single .iz-owner-actions .gd_user_action {
	background: transparent !important;
	border: 1px solid var(--iz-border) !important;
	color: var(--iz-ink) !important;
	margin: 0 !important;
}

body.geodir-page-single #post_content .geodir-field-post_content p:first-child {
	color: var(--iz-ink);
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.55;
	max-width: 62ch;
}

body.geodir-page-single #post_content .iz-about-content--collapsed {
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
	max-height: 19rem;
	overflow: hidden;
}

body.geodir-page-single .iz-about-toggle {
	background: transparent;
	border: 1px solid var(--iz-border);
	border-radius: 999px;
	color: var(--iz-ink);
	cursor: pointer;
	font-size: 0.92rem;
	font-weight: 600;
	margin-top: 1.25rem;
	min-height: 46px;
	padding: 0.7rem 1.2rem;
}

body.geodir-page-single .iz-about-toggle:hover,
body.geodir-page-single .iz-about-toggle:focus-visible {
	background: var(--iz-surface-warm);
	border-color: rgba(229, 123, 37, 0.4);
}

body.geodir-page-single .iz-business-offer {
	background: var(--iz-surface-warm);
	border: 1px solid rgba(229, 123, 37, 0.18);
	border-radius: 28px;
	margin: clamp(1.5rem, 4vw, 3rem) 0;
	overflow: hidden;
	padding: clamp(1.5rem, 4.5vw, 3.75rem);
}

body.geodir-page-single .iz-business-offer__header {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: minmax(0, 0.85fr) minmax(280px, 1fr);
	margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
}

body.geodir-page-single .iz-business-offer__eyebrow {
	color: var(--iz-accent-dark) !important;
	font-size: 0.74rem !important;
	font-weight: 750 !important;
	grid-column: 1 / -1;
	letter-spacing: 0.11em !important;
	margin: 0 !important;
	text-transform: uppercase;
}

body.geodir-page-single .iz-business-offer__header h2 {
	color: var(--iz-ink);
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	font-weight: 550;
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin: 0;
}

body.geodir-page-single .iz-business-offer__header > p:last-child {
	align-self: end;
	color: var(--iz-muted);
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	line-height: 1.65;
	margin: 0;
	max-width: 44ch;
}

body.geodir-page-single .iz-business-offer__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.geodir-page-single .iz-business-offer__item {
	background: rgba(255, 255, 255, 0.78) !important;
	border: 1px solid rgba(31, 27, 45, 0.09) !important;
	border-radius: 20px !important;
	box-shadow: none !important;
	color: var(--iz-muted);
	font-size: 1rem;
	line-height: 1.7;
	list-style: none;
	padding: clamp(1.35rem, 3vw, 2.25rem) !important;
}

body.geodir-page-single .iz-business-offer__item--services {
	background: var(--iz-ink) !important;
	border-color: var(--iz-ink) !important;
	color: rgba(255, 255, 255, 0.72);
}

body.geodir-page-single .iz-business-offer__item--services h3,
body.geodir-page-single .iz-business-offer__item--services h4,
body.geodir-page-single .iz-business-offer__item--services strong {
	color: #fff !important;
}

body.geodir-page-single .iz-business-offer__item--services li {
	border-bottom-color: rgba(255, 255, 255, 0.14) !important;
}

body.geodir-page-single #post_images .geodir-post-slider {
	background: var(--iz-surface-soft);
	border: 1px solid var(--iz-border);
	border-radius: 28px;
	box-shadow: 0 18px 50px rgba(31, 27, 45, 0.08);
	overflow: hidden;
}

body.geodir-page-single #post_images .geodir-images-n-1,
body.geodir-page-single #post_images .geodir-images-n-1 > .col {
	display: block;
	max-width: none;
	width: 100%;
}

body.geodir-page-single #post_images .geodir-image-container,
body.geodir-page-single #post_images .carousel-item,
body.geodir-page-single #post_images .ratio {
	border-radius: 0 !important;
}

body.geodir-page-single #post_images img {
	height: auto !important;
	max-height: 620px;
	object-fit: contain;
	width: 100% !important;
}

body.geodir-page-single .iz-location-layout {
	align-items: stretch;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.65fr);
}

body.geodir-page-single .iz-location-layout .geodir-wgt-map {
	align-self: stretch;
	border: 0;
	border-radius: 24px;
	box-shadow: none;
	height: 100%;
	min-height: 360px;
	overflow: hidden;
}

body.geodir-page-single .iz-location-layout .geodir-map-wrap {
	height: 100% !important;
	margin-bottom: 0 !important;
	min-height: 360px !important;
}

body.geodir-page-single .iz-location-details {
	background: var(--iz-ink);
	border-radius: 24px;
	color: rgba(255, 255, 255, 0.78);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

body.geodir-page-single .iz-location-details__label {
	color: var(--iz-accent-light, #f3a15a) !important;
	font-size: 0.72rem !important;
	font-weight: 750 !important;
	letter-spacing: 0.11em !important;
	margin: 0 0 0.65rem !important;
	text-transform: uppercase;
}

body.geodir-page-single .iz-location-details__label:not(:first-child) {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	margin-top: 1.5rem !important;
	padding-top: 1.5rem;
}

body.geodir-page-single .iz-location-details .geodir-post-address-container,
body.geodir-page-single .iz-location-details .geodir_post_meta,
body.geodir-page-single .iz-location-details .geodir_post_meta a,
body.geodir-page-single .iz-location-details .list-group-item {
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 1.05rem;
	line-height: 1.65;
	padding: 0 !important;
}

body.geodir-page-single .iz-location-hours {
	color: #fff;
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0;
}

body.geodir-page-single .iz-google-directions {
	align-items: center;
	background: var(--iz-accent);
	box-shadow: 0 10px 24px rgba(229, 123, 37, 0.22);
	border-radius: 999px;
	color: #fff !important;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 650;
	gap: 0.65rem;
	justify-content: center;
	min-height: 50px;
	padding: 0.8rem 1.2rem;
	text-decoration: none;
	transition: transform 160ms ease, background-color 160ms ease;
	width: 100%;
}

body.geodir-page-single .iz-google-directions:hover {
	background: var(--iz-accent-dark);
	transform: translateY(-1px);
}

body.geodir-page-single .iz-hero-identity {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

body.geodir-page-single .iz-hero-identity h1 {
	margin-bottom: 0 !important;
}

body.geodir-page-single .iz-business-logo {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(20, 17, 43, 0.1);
	border-radius: 16px;
	box-shadow: 0 14px 32px rgba(20, 17, 43, 0.22);
	display: flex;
	flex: 0 0 82px;
	height: 82px;
	justify-content: center;
	overflow: hidden;
	padding: 0.6rem;
	width: 82px;
}

body.geodir-page-single .iz-business-logo img {
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

body.geodir-page-single #reviews {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

body.geodir-page-single .iz-review-toggle {
	background: var(--iz-ink);
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-size: 0.95rem;
	font-weight: 600;
	min-height: 48px;
	padding: 0.8rem 1.35rem;
}

body.geodir-page-single .iz-review-toggle:hover,
body.geodir-page-single .iz-review-toggle:focus-visible {
	background: var(--iz-accent-dark);
}

body.geodir-page-single #reviews .geodir-comments-area:not([hidden]) {
	border-top: 1px solid var(--iz-border);
	margin-top: 1.5rem;
	padding-top: 1.5rem !important;
}

body.geodir-page-single #reviews .geodir-comments-area[hidden] {
	display: none !important;
}

body.geodir-page-single #main.iz-business-profile--enhanced > .row > .col-lg-4 > .list-group:not(:has(.geodir-field-services_offered, .geodir-field-additional_information)) {
	display: none;
}

@media (min-width: 992px) {
	body.geodir-page-single .iz-location-layout .stick_trigger_container,
	body.geodir-page-single .iz-location-layout .geodir_map_container {
		height: 100% !important;
		min-height: 0 !important;
	}

	body.geodir-page-single .iz-location-layout .main_map_wrapper {
		bottom: 0 !important;
		height: auto !important;
		left: 0 !important;
		position: absolute !important;
		right: 0 !important;
		top: 0 !important;
	}

	body.geodir-page-single .iz-location-layout .geodir-map-canvas {
		height: 100% !important;
		min-height: 0 !important;
	}

	body.geodir-page-single .iz-location-layout .main_map_wrapper > .iprelative {
		height: 100% !important;
	}

	body.geodir-page-single #main > .row:not(:has(> .col-lg-4 .geodir-field-services_offered, > .col-lg-4 .geodir-field-additional_information)) > .col-lg-7 {
		flex-basis: 100%;
	}

	body.geodir-page-single #main > .row:not(:has(> .col-lg-4 .geodir-field-services_offered, > .col-lg-4 .geodir-field-additional_information)) > .col-lg-4:not(:has(.wp-block-geodirectory-geodir-widget-author-actions > *)) {
		display: none;
	}
}

body.geodir-page-single .geodir-single-tabs-container,
body.geodir-page-single .geodir-comments-area,
body.geodir-page-single #main .geodir-wgt-map,
body.geodir-page-single #main > .row > .col-lg-4 > div,
body.geodir-page-single #main > .row > .col-lg-4 > section {
	background: #fff;
	border: 1px solid var(--iz-border);
	border-radius: 20px;
	box-shadow: 0 12px 38px rgba(31, 27, 45, 0.06);
}

body.geodir-page-single .geodir-single-tabs-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0;
}

body.geodir-page-single .geodir-tabs-content > [role="tabpanel"] {
	background: #fff;
	border: 1px solid var(--iz-border);
	border-radius: 20px;
	box-shadow: 0 12px 38px rgba(31, 27, 45, 0.055);
	margin-bottom: 1.25rem !important;
	padding: clamp(1.25rem, 3vw, 2rem);
}

body.geodir-page-single .gd-tab-list-title {
	border-bottom: 1px solid var(--iz-border);
	font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
	font-weight: 550;
	letter-spacing: -0.025em;
	margin: 0 0 1.25rem;
	padding-bottom: 0.85rem;
}

body.geodir-page-single .gd-tab-list-title a {
	color: var(--iz-ink) !important;
	text-decoration: none;
}

body.geodir-page-single .geodir-tabs-content {
	color: var(--iz-muted);
	font-size: 1.02rem;
	line-height: 1.75;
}

/* Enhanced listings should read as business landing pages, not database records. */
body.geodir-page-single #title > .container {
	max-width: calc(var(--iz-wide) - 4rem);
}

body.geodir-page-single #title {
	padding-top: 1.5rem !important;
}

body.geodir-page-single #title > .container > .card {
	background: #17142f !important;
	border: 0 !important;
	border-radius: 28px !important;
	box-shadow: 0 30px 80px rgba(31, 27, 45, 0.2) !important;
	isolation: isolate;
	min-height: clamp(520px, 50vw, 580px);
	overflow: hidden;
	position: relative;
}

body.geodir-page-single #title > .container > .card::after {
	background:
		linear-gradient(90deg, rgba(20, 17, 43, 0.94) 0%, rgba(20, 17, 43, 0.72) 48%, rgba(20, 17, 43, 0.14) 78%),
		linear-gradient(0deg, rgba(20, 17, 43, 0.82) 0%, transparent 55%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

body.geodir-page-single #title > .container > .card > .wp-block-geodirectory-geodir-widget-post-images,
body.geodir-page-single #title > .container > .card .geodir-post-slider,
body.geodir-page-single #title > .container > .card .geodir-image-container,
body.geodir-page-single #title > .container > .card .geodir-images,
body.geodir-page-single #title > .container > .card .carousel-item,
body.geodir-page-single #title > .container > .card .ratio {
	height: 100% !important;
	inset: 0;
	position: absolute;
	width: 100%;
}

body.geodir-page-single #title > .container > .card .geodir-image-container {
	border-radius: 0 !important;
}

body.geodir-page-single #title > .container > .card .geodir-image-container img {
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	width: 100% !important;
}

body.geodir-page-single #title > .container > .card > .wp-block-geodirectory-geodir-widget-post-images + .container {
	align-self: flex-end;
	background: transparent !important;
	color: #fff;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-top: auto !important;
	max-width: min(780px, 76%) !important;
	padding: clamp(2rem, 5vw, 4.5rem) !important;
	position: static;
	width: min(780px, 76%) !important;
	z-index: 2;
}

body.geodir-page-single #title > .container > .card > .container > .row {
	position: relative;
	z-index: 2;
}

body.geodir-page-single #title > .container > .card > .container > .row:last-child,
body.geodir-page-single #title > .container > .card > .container > .row:has(.wp-block-geodirectory-geodir-claim-widget-post-claim) {
	position: static;
}

body.geodir-page-single #title > .container > .card > .container > .row:has(.wp-block-geodirectory-geodir-claim-widget-post-claim) > .col-8 {
	flex: 0 0 100%;
	width: 100%;
}

body.geodir-page-single #title > .container > .card > .container > .row:has(.wp-block-geodirectory-geodir-claim-widget-post-claim) > .col-4 {
	display: contents;
}

body.geodir-page-single #title .wp-block-geodirectory-geodir-claim-widget-post-claim {
	left: clamp(1.5rem, 3vw, 2.5rem);
	position: absolute;
	right: auto;
	top: clamp(1.5rem, 3vw, 2.5rem);
	z-index: 4;
}

body.geodir-page-single #title .geodir-claim-post-form-link {
	background: var(--iz-accent) !important;
	border: 1px solid var(--iz-accent) !important;
	border-radius: 999px !important;
	box-shadow: 0 12px 30px rgba(185, 83, 14, 0.32);
	color: #fff !important;
	font-size: 0.88rem;
	font-weight: 600;
	min-height: 44px;
	padding: 0.65rem 1rem !important;
}

body.geodir-page-single #title .geodir-claim-post-form-link:hover,
body.geodir-page-single #title .geodir-claim-post-form-link:focus-visible {
	background: var(--iz-accent-dark) !important;
	border-color: var(--iz-accent-dark) !important;
	color: #fff !important;
}

body.geodir-page-single #title > .container > .card h1 {
	color: #fff !important;
	font-size: clamp(3rem, 5.4vw, 4.75rem) !important;
	font-weight: 550 !important;
	letter-spacing: -0.06em;
	line-height: 0.96;
	max-width: 12ch;
	text-wrap: balance;
}

body.geodir-page-single #title > .container > .card .geodir-category .badge {
	backdrop-filter: blur(8px);
	background: rgba(255, 255, 255, 0.14) !important;
	border-color: rgba(255, 255, 255, 0.28) !important;
	color: #fff !important;
}

body.geodir-page-single #title > .container > .card .geodir_post_meta,
body.geodir-page-single #title > .container > .card .geodir_post_meta a,
body.geodir-page-single #title > .container > .card .geodir_post_meta .text-muted,
body.geodir-page-single #title > .container > .card .geodir-field-address,
body.geodir-page-single #title > .container > .card .geodir-field-address + * {
	color: rgba(255, 255, 255, 0.9) !important;
}

body.geodir-page-single #title > .container > .card .gd-list-rating-stars i,
body.geodir-page-single #title > .container > .card .geodir_post_meta_icon i {
	color: var(--iz-accent) !important;
}

body.geodir-page-single #title > .container > .card a[href="#post_map"] {
	color: #fff !important;
	font-weight: 600;
	text-decoration-color: var(--iz-accent) !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 4px;
}

body.geodir-page-single #title > .container > .card .geodir-addtofav-icon,
body.geodir-page-single #title > .container > .card .bs-share-dropdown > a {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	color: #fff !important;
	padding: 0.65rem 0.9rem !important;
}

body.geodir-page-single #title > .container > .card .geodir-fav-text,
body.geodir-page-single #title > .container > .card .geodir-addtofav-icon i {
	color: #fff !important;
}

body.geodir-page-single #title > .container > .card > .container > .row:last-child {
	align-items: center;
	gap: 0.65rem 0;
}

body.geodir-page-single #title > .container > .card > .container > .row:last-child > .ms-auto {
	flex: 0 0 100%;
	gap: 0.65rem;
	justify-content: flex-start;
	margin-left: 0 !important;
	padding-top: 0.6rem;
	position: static;
	width: 100%;
}

body.geodir-page-single #title > .container > .card > .container > .row:last-child .bs-share-dropdown > a {
	margin-left: 0 !important;
}

body.geodir-page-single #title > .container > .card > .container > .row:last-child:not(:has(.geodir-post-address-container)) > .col:has(a[href="#post_map"]) {
	display: none;
}

body.geodir-page-single .wp-site-blocks > .container-fluid > .container-fluid.mt-5 > .container {
	max-width: calc(var(--iz-wide) - 4rem) !important;
	width: calc(100% - 2rem) !important;
}

body.geodir-page-single #title + .container {
	max-width: calc(var(--iz-wide) - 4rem);
	position: relative;
	z-index: 4;
}

body.geodir-page-single #title + .container > .card {
	backdrop-filter: none;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	margin-top: 0;
}

body.geodir-page-single #title + .container > .card > .container {
	background: #fff;
	border: 1px solid var(--iz-border);
	border-radius: 20px;
	box-shadow: 0 20px 50px rgba(31, 27, 45, 0.11);
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	padding: 0.9rem !important;
	width: 100% !important;
}

body.geodir-page-single #main .geodir-field-post_content p:first-child {
	color: var(--iz-text);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.75;
}

body.geodir-page-single #main .geodir-tabs-content > [role="tabpanel"] {
	padding: clamp(1.5rem, 4vw, 2.75rem);
}

body.geodir-page-single #main .geodir-tabs-content > [role="tabpanel"] .gd-tab-list-title {
	font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
}

/* Reviews sit inside an existing section card; avoid a second card around the form. */
body.geodir-page-single #main .geodir-comments-area {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0 !important;
}

body.geodir-page-single #main .geodir-comments-area .comment-reply-title {
	color: var(--iz-ink);
	font-size: 1.2rem;
	font-weight: 550;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
}

body.geodir-page-single #main .geodir-comments-area .logged-in-as {
	color: var(--iz-muted);
	font-size: 0.85rem;
	line-height: 1.5;
}

body.geodir-page-single #main .geodir-comments-area .gd-rating-input-group {
	background: var(--iz-surface-warm);
	border: 0;
	border-radius: 14px !important;
	padding: 0.9rem 1rem !important;
}

body.geodir-page-single #main .geodir-comments-area textarea.form-control {
	border: 1px solid var(--iz-border);
	border-radius: 14px;
	box-shadow: none;
	min-height: 130px;
	padding: 1rem;
	resize: vertical;
}

body.geodir-page-single #main .geodir-comments-area textarea.form-control:focus {
	border-color: var(--iz-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--iz-accent) 16%, transparent);
}

body.geodir-page-single #main .geodir-comments-area .form-submit {
	margin-bottom: 0 !important;
	text-align: right;
}

body.geodir-page-single #main .geodir-comments-area .form-submit .btn {
	background: var(--iz-ink) !important;
	border: 0 !important;
	border-radius: 999px !important;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 600;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.4rem;
	width: auto;
}

body.geodir-page-single .nav-tabs {
	border-bottom-color: var(--iz-border);
	gap: 0.35rem;
}

body.geodir-page-single .nav-tabs .nav-link {
	border: 0 !important;
	border-radius: 999px !important;
	color: var(--iz-muted);
	font-weight: 600;
	padding: 0.65rem 1rem;
}

body.geodir-page-single .nav-tabs .nav-link.active {
	background: var(--iz-ink) !important;
	color: #fff !important;
}

body.geodir-page-single #main .btn-primary,
body.geodir-page-single #main .wp-element-button {
	background: var(--iz-accent) !important;
	border-color: var(--iz-accent) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-weight: 800;
	min-height: 48px;
	padding: 0.75rem 1.15rem;
}

body.geodir-page-single #main .btn-primary:hover,
body.geodir-page-single #main .wp-element-button:hover {
	background: var(--iz-accent-dark) !important;
	border-color: var(--iz-accent-dark) !important;
}

body.geodir-page-single .geodir-map-wrap,
body.geodir-page-single .geodir-image-container {
	border-radius: 18px !important;
	overflow: hidden;
}

body.geodir-page-single h2 {
	font-size: clamp(1.75rem, 3vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -0.035em;
}

body.geodir-page-single .wp-block-geodirectory-geodir-widget-listings .geodir-post {
	transition: transform 160ms ease;
}

body.geodir-page-single .wp-block-geodirectory-geodir-widget-listings .geodir-post:hover {
	transform: translateY(-3px);
}

/* Category and archive discovery pages */
body.geodir-archive #main {
	padding-bottom: clamp(4rem, 8vw, 7rem);
	padding-top: clamp(2.5rem, 6vw, 5.5rem) !important;
}

body.geodir-archive #main > .wp-block-geodirectory-geodir-widget-category-description {
	margin-bottom: 1rem;
}

body.geodir-archive .geodir-category-description-container p {
	color: var(--iz-accent-dark);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0;
	text-transform: uppercase;
}

body.geodir-archive #main h1 {
	font-size: clamp(2.8rem, 6vw, 5.75rem) !important;
	font-weight: 650 !important;
	letter-spacing: -0.06em;
	line-height: 0.98;
	margin-bottom: clamp(1.75rem, 4vw, 3rem) !important;
	max-width: 15ch;
}

body.geodir-archive .geodir-search-form-wrapper {
	background: #fff;
	border: 1px solid var(--iz-border);
	border-radius: 20px;
	box-shadow: 0 18px 50px rgba(31, 27, 45, 0.08);
	margin: 0 0 clamp(2rem, 5vw, 4rem) !important;
	padding: 0.75rem !important;
}

body.geodir-archive .geodir-search {
	padding: 0 !important;
}

body.geodir-archive .geodir-search input,
body.geodir-archive .geodir-search select {
	border-color: transparent !important;
	border-radius: 12px !important;
	min-height: 52px;
}

body.geodir-archive .geodir_submit_search {
	background: var(--iz-accent) !important;
	border: 0 !important;
	border-radius: 12px !important;
	font-weight: 800;
	min-height: 52px;
}

body.geodir-archive .geodir-search > .gd-search-field-search:has(.geodir_submit_search) {
	flex: 0 0 132px !important;
}

body.geodir-archive .geodir_submit_search .visually-hidden {
	clip: auto !important;
	height: auto !important;
	margin-left: 0.5rem !important;
	overflow: visible !important;
	position: static !important;
	white-space: normal !important;
	width: auto !important;
}

body.geodir-archive .geodir-loop-actions-container {
	margin-bottom: 1.25rem;
}

body.geodir-archive .geodir-loop-container .geodir-post > .card,
body.geodir-archive .geodir-loop-container .geodir-post > div {
	background: #fff;
	border: 1px solid var(--iz-border) !important;
	border-radius: 20px !important;
	box-shadow: 0 12px 35px rgba(31, 27, 45, 0.06);
	overflow: hidden;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.geodir-archive .geodir-loop-container .geodir-post:hover > .card,
body.geodir-archive .geodir-loop-container .geodir-post:hover > div {
	border-color: rgba(239, 125, 0, 0.32) !important;
	box-shadow: 0 20px 48px rgba(31, 27, 45, 0.11);
	transform: translateY(-3px);
}

body.geodir-archive .geodir-loop-container .geodir-post h2,
body.geodir-archive .geodir-loop-container .geodir-post h3 {
	font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
	font-weight: 750;
	letter-spacing: -0.025em;
}

body.geodir-archive .geodir-loop-container .geodir-post h2 a,
body.geodir-archive .geodir-loop-container .geodir-post h3 a {
	color: var(--iz-ink);
	text-decoration: none;
}

body.geodir-archive .geodir-loop-container .geodir-image-container img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 300ms ease;
}

body.geodir-archive .geodir-loop-container .geodir-post:hover .geodir-image-container img {
	transform: scale(1.025);
}

body.geodir-archive .geodir-archive-map-wrap,
body.geodir-archive .geodir-map-wrap {
	border: 1px solid var(--iz-border);
	border-radius: 20px !important;
	box-shadow: 0 12px 35px rgba(31, 27, 45, 0.07);
	overflow: hidden;
}

@media (min-width: 992px) {
	body.geodir-archive #main > .row > .col:last-child {
		position: sticky;
		top: 7rem;
	}
}

@media (max-width: 991px) {
	body.geodir-page-single #main > .row > .col-lg-4 {
		max-width: none;
	}

	body.geodir-page-single #main > .row > .col-lg-4 > .list-group {
		position: static !important;
	}

	body.geodir-archive .geodir-map-wrap {
		max-height: 360px;
	}

	body.geodir-page-single .iz-business-offer__header,
	body.geodir-page-single .iz-business-offer__grid,
	body.geodir-page-single .iz-section-heading,
	body.geodir-page-single .iz-location-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	body.geodir-page-single .iz-location-details {
		min-height: 240px;
	}

	body.geodir-page-single .iz-location-layout .geodir-wgt-map,
	body.geodir-page-single .iz-location-layout .geodir-map-wrap {
		height: 320px !important;
		min-height: 320px !important;
	}
}

@media (max-width: 640px) {
	body.geodir-page-single .iz-primary-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.geodir-page-single .iz-primary-actions > :last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	body.geodir-page-single .iz-social-actions {
		flex-wrap: wrap;
	}

	body.geodir-page-single .iz-owner-actions {
		margin-left: 0;
		max-width: 100%;
	}

	body.geodir-page-single #title {
		margin-left: calc(50% - 50vw) !important;
		margin-right: 0 !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 1rem !important;
		width: 100vw !important;
	}

	body.geodir-page-single #title > .container {
		max-width: calc(100% - 2rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: calc(100% - 2rem) !important;
	}

	body.geodir-page-single #title + .container,
	body.geodir-page-single #main {
		margin-left: calc(50% - 50vw + 1rem) !important;
		margin-right: 0 !important;
		max-width: calc(100vw - 2rem) !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: calc(100vw - 2rem) !important;
	}

	body.geodir-page-single #main > .row {
		margin-left: 0;
		margin-right: 0;
	}

	body.geodir-page-single #main > .row > .col-lg-7,
	body.geodir-page-single #main > .row > .col-lg-4 {
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	body.geodir-page-single #main > .row > .col-lg-4:has(.geodir-field-services_offered, .geodir-field-additional_information) {
		order: initial;
	}

	body.geodir-page-single #main > .row > .col-lg-4 .list-group > .list-group-item:has(.geodir-field-services_offered, .geodir-field-additional_information) {
		order: initial;
	}

	body.geodir-page-single .iz-business-offer {
		border-radius: 20px;
		margin-block: 1.25rem 2rem;
		padding: 1.35rem;
	}

	body.geodir-page-single .iz-business-offer__header {
		margin-bottom: 1.25rem;
	}

	body.geodir-page-single .iz-business-offer__header h2 {
		font-size: clamp(2.25rem, 11vw, 3.25rem);
	}

	body.geodir-page-single .iz-business-offer__item {
		border-radius: 16px !important;
		padding: 1.25rem !important;
	}

	body.geodir-page-single #main.iz-business-profile--structured .geodir-tabs-content {
		gap: 3.25rem;
	}

	body.geodir-page-single .iz-section-heading {
		margin-bottom: 1.25rem;
	}

	body.geodir-page-single .iz-section-heading h2 {
		font-size: clamp(2.15rem, 10vw, 3rem);
	}

	body.geodir-page-single #post_images .geodir-post-slider,
	body.geodir-page-single .iz-location-layout .geodir-wgt-map,
	body.geodir-page-single .iz-location-details,
	body.geodir-page-single #reviews {
		border-radius: 20px !important;
	}

	body.geodir-page-single .iz-location-layout .geodir-wgt-map {
		min-height: 320px;
	}

	body.geodir-page-single #reviews {
		padding: 1.35rem !important;
	}

	body.geodir-page-single #title > .container > .card {
		min-height: 590px;
	}

	body.geodir-page-single #title > .container > .card::after {
		background: linear-gradient(0deg, rgba(20, 17, 43, 0.97) 0%, rgba(20, 17, 43, 0.74) 55%, rgba(20, 17, 43, 0.18) 100%);
	}

	body.geodir-page-single #title > .container > .card > .wp-block-geodirectory-geodir-widget-post-images + .container {
		box-sizing: border-box;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		padding: 1.25rem !important;
		width: 100% !important;
	}

	body.geodir-page-single #title > .container > .card > .wp-block-geodirectory-geodir-widget-post-images + .container > .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100%;
	}

	body.geodir-page-single #title > .container > .card > .wp-block-geodirectory-geodir-widget-post-images + .container > .row > [class*="col"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.geodir-page-single #title > .container > .card h1 {
		font-size: clamp(2.25rem, 10.5vw, 3rem) !important;
		line-height: 0.98;
		max-width: none;
	}

	body.geodir-page-single .iz-hero-identity {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.85rem;
	}

	body.geodir-page-single .iz-business-logo {
		border-radius: 14px;
		flex-basis: 66px;
		height: 66px;
		padding: 0.45rem;
		width: 66px;
	}

	body.geodir-page-single #title .breadcrumb-item.active {
		display: none;
	}

	body.geodir-page-single #title .geodir-category .badge {
		font-size: 0.72rem !important;
		padding: 0.42rem 0.65rem !important;
	}

	body.geodir-page-single #title + .container > .card {
		margin-top: 0;
	}

	body.geodir-page-single #title .card,
	body.geodir-page-single .geodir-single-tabs-container,
	body.geodir-archive .geodir-search-form-wrapper,
	body.geodir-archive .geodir-loop-container .geodir-post > .card,
	body.geodir-archive .geodir-loop-container .geodir-post > div {
		border-radius: 16px !important;
	}

	body.geodir-page-single #title h1 {
		font-size: clamp(2.25rem, 10.5vw, 3rem) !important;
	}

	body.geodir-page-single #title .geodir-image-container {
		height: clamp(200px, 56vw, 270px) !important;
	}

	body.geodir-page-single #title + .container > .card > .container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.geodir-page-single #title .card > .container {
		margin-bottom: 0 !important;
		padding-top: 0.8rem !important;
	}

	body.geodir-page-single #title .card > .container > .row:nth-child(3) > .col-8,
	body.geodir-page-single #title .card > .container > .row:nth-child(3) > .col-4 {
		flex: 0 0 100%;
		margin-bottom: 0.4rem !important;
		width: 100%;
	}

	body.geodir-page-single #title .card > .container > .row:last-child {
		display: grid;
		gap: 0.55rem;
		grid-template-columns: minmax(0, 1fr);
	}

	body.geodir-page-single #title .card > .container > .row:last-child > .col:not(.ms-auto) {
		flex: 0 0 100%;
		margin: 0 !important;
		width: 100%;
	}

	body.geodir-page-single #title .card > .container > .row:last-child > .ms-auto {
		flex: 0 0 100%;
		justify-content: flex-start;
		margin: 0 !important;
		padding-top: 0.55rem;
		position: static;
		width: 100%;
	}

	body.geodir-page-single #title .wp-block-geodirectory-geodir-claim-widget-post-claim {
		left: 1rem;
		right: auto;
		top: 1rem;
	}

	body.geodir-page-single #title + .container > .card > .container > .col:last-child {
		grid-column: 1 / -1;
	}

	body.geodir-page-single #title + .container .btn,
	body.geodir-page-single #title + .container .gd-badge {
		min-height: 48px;
	}

	body.geodir-archive #main h1 {
		font-size: clamp(2.65rem, 13vw, 4rem) !important;
	}

	body.geodir-archive .geodir-search > .gd-search-field-search:has(.geodir_submit_search) {
		flex-basis: 100% !important;
	}
}

@media (max-width: 900px) {
	.iz-membership-hero-inner,
	.iz-membership-included-layout,
	.iz-membership-business-inner,
	.iz-membership-faq-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.iz-membership-principle {
		max-width: 38rem;
	}
}

@media (max-width: 640px) {
	.iz-membership-hero {
		padding-block: 3.5rem;
	}

	.iz-membership-hero-copy h1 {
		font-size: clamp(3rem, 14vw, 4rem);
	}

	.iz-membership-value-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Information, support and legal pages. */
body:is(.page-id-163, .page-id-167, .page-id-168, .page-id-169, .page-id-338, .page-id-2684) .wp-block-template-part:has(h1.mb-3.fw-bold.h2) {
	display: none !important;
}

body .entry-content .iz-info-page {
	position: relative !important;
	left: 50% !important;
	width: 100vw !important;
	max-width: none !important;
	margin-right: -50vw !important;
	margin-left: -50vw !important;
	color: var(--iz-ink);
}

.iz-info-hero {
	background:
		radial-gradient(circle at 82% 28%, rgb(229 123 37 / 30%), transparent 31%),
		radial-gradient(circle at 14% 100%, rgb(255 255 255 / 10%), transparent 34%),
		var(--iz-ink);
	color: #fff;
	padding-block: clamp(4rem, 9vw, 7.5rem);
}

.iz-info-inner {
	box-sizing: border-box;
	width: min(100% - 2rem, 72rem);
	margin-inline: auto;
}

.iz-info-narrow {
	max-width: 48rem;
}

.iz-info-eyebrow {
	margin: 0 0 0.8rem;
	color: #f3a15a;
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.iz-info-hero h1 {
	max-width: 60rem;
	margin: 0 0 1.25rem;
	color: #fff;
	font-size: clamp(3rem, 7vw, 6rem);
	font-weight: 500;
	letter-spacing: -0.055em;
	line-height: 0.94;
}

.iz-info-hero .iz-info-lead {
	max-width: 48rem;
	margin: 0;
	color: #d8d4e2;
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.65;
}

.iz-info-section {
	padding-block: clamp(3.75rem, 8vw, 7rem);
	background: #fff;
}

.iz-info-section--soft {
	background: var(--iz-surface-soft);
}

.iz-info-section--ink {
	background: var(--iz-ink);
	color: #fff;
}

.iz-info-section h2 {
	max-width: 52rem;
	margin: 0 0 1.25rem;
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	font-weight: 500;
	letter-spacing: -0.045em;
	line-height: 1;
}

.iz-info-section--ink h2 {
	color: #fff;
}

.iz-info-copy {
	max-width: 48rem;
	color: var(--iz-text);
	font-size: 1.06rem;
	line-height: 1.75;
}

.iz-info-section--ink .iz-info-copy {
	color: #d8d4e2;
}

.iz-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2.25rem;
}

.iz-info-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iz-info-card {
	padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid var(--iz-border);
	border-radius: var(--iz-radius-md);
	background: #fff;
	box-shadow: var(--iz-shadow-sm);
}

.iz-info-card h3 {
	margin: 0 0 0.65rem;
	font-size: 1.25rem;
}

.iz-info-card p {
	margin: 0;
	color: var(--iz-muted);
	line-height: 1.65;
}

.iz-info-card a {
	display: inline-block;
	margin-top: 1rem;
	color: var(--iz-accent-dark);
	font-weight: 700;
	text-decoration: none;
}

.iz-info-card--accent {
	border-top: 4px solid var(--iz-accent);
}

.iz-info-highlight {
	max-width: 58rem;
	margin-top: 2rem;
	padding: clamp(1.4rem, 3vw, 2rem);
	border-left: 4px solid var(--iz-accent);
	border-radius: 0 var(--iz-radius-md) var(--iz-radius-md) 0;
	background: #fff;
	box-shadow: var(--iz-shadow-sm);
}

.iz-info-highlight p {
	margin: 0;
	color: var(--iz-text);
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	font-weight: 650;
	line-height: 1.5;
}

.iz-info-list {
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.iz-info-list li {
	position: relative;
	margin: 0;
	padding: 0.62rem 0 0.62rem 1.5rem;
	border-bottom: 1px solid var(--iz-border);
	color: var(--iz-text);
	line-height: 1.55;
}

.iz-info-list li:last-child {
	border-bottom: 0;
}

.iz-info-list li::before {
	position: absolute;
	top: 1.03rem;
	left: 0;
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 999px;
	background: var(--iz-accent);
	content: "";
}

.iz-info-section--ink .iz-info-list li {
	border-color: rgb(255 255 255 / 16%);
	color: #f4f2f7;
}

.iz-info-section--ink .iz-info-card {
	border-color: rgb(255 255 255 / 16%);
	background: rgb(255 255 255 / 7%);
	box-shadow: none;
}

.iz-info-section--ink .iz-info-card h3,
.iz-info-section--ink .iz-info-card p {
	color: #fff;
}

.iz-info-section--ink .iz-info-card p {
	color: #d8d4e2;
}

.iz-info-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.75rem;
}

.iz-info-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.8rem 1.35rem;
	border-radius: 999px;
	background: var(--iz-accent);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
}

.iz-info-button--secondary {
	border: 1px solid rgb(255 255 255 / 36%);
	background: transparent;
}

.iz-info-button--ink {
	border-color: var(--iz-ink);
	color: var(--iz-ink) !important;
}

/* Careers and partnerships. */
.iz-careers-page .iz-info-grid--roles,
.iz-partnerships-page .iz-info-grid--opportunities {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iz-careers-page .iz-info-card h3,
.iz-partnerships-page .iz-info-card h3 {
	font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.iz-partnerships-page .iz-info-card .iz-info-list {
	margin-top: 0.75rem;
}

/* News archive. The existing query, search, taxonomy and sort controls remain
 * functional; this layer only replaces the inherited BlockStrap presentation. */
body.blog > .wp-site-blocks > .bg-custom-background {
	padding-inline: 0 !important;
	background: var(--iz-surface-soft) !important;
}

body.blog > .wp-site-blocks > .bg-custom-background > .wp-block-template-part:first-child {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	background:
		radial-gradient(circle at 82% 28%, rgb(229 123 37 / 30%), transparent 31%),
		radial-gradient(circle at 14% 100%, rgb(255 255 255 / 10%), transparent 34%),
		var(--iz-ink) !important;
	color: #fff;
}

body.blog > .wp-site-blocks > .bg-custom-background > .wp-block-template-part:first-child > .container {
	box-sizing: border-box;
	width: min(100% - 2rem, 72rem);
	max-width: none;
	margin: 0 auto !important;
	padding-block: clamp(4rem, 9vw, 7.5rem) !important;
}

body.blog > .wp-site-blocks > .bg-custom-background > .wp-block-template-part:first-child nav {
	display: none;
}

body.blog > .wp-site-blocks > .bg-custom-background > .wp-block-template-part:first-child h1 {
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(3rem, 7vw, 6rem) !important;
	font-weight: 500 !important;
	letter-spacing: -0.055em;
	line-height: 0.94;
}

body.blog > .wp-site-blocks > .bg-custom-background > .wp-block-template-part:first-child h1::before {
	display: block;
	margin-bottom: 0.85rem;
	color: #f3a15a;
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	content: "INFOZAMBIA INSIGHTS";
}

body.blog > .wp-site-blocks > .bg-custom-background > .wp-block-template-part:first-child h1::after {
	display: block;
	max-width: 48rem;
	margin-top: 1.25rem;
	color: #d8d4e2;
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.65;
	content: "Practical ideas, local perspectives and useful guidance for building a stronger business in Zambia.";
}

body.blog > .wp-site-blocks > .bg-custom-background > .container:last-child {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: clamp(2rem, 5vw, 3.5rem);
	padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

body.blog > .wp-site-blocks > .bg-custom-background > .container:last-child form,
body.blog > .wp-site-blocks > .bg-custom-background > .container:last-child .form-control,
body.blog > .wp-site-blocks > .bg-custom-background > .container:last-child .form-select {
	min-height: 3.25rem;
}

body.blog > .wp-site-blocks > .bg-custom-background > .container:last-child .form-control,
body.blog > .wp-site-blocks > .bg-custom-background > .container:last-child .form-select {
	border-color: var(--iz-border);
	border-radius: 0.8rem;
	background-color: #fff;
}

body.blog .site-main {
	box-sizing: border-box;
	width: min(100% - 2rem, 72rem);
	margin-inline: auto;
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

body.blog .site-main .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

body.blog .site-main .wp-block-post-template > li {
	margin: 0;
}

body.blog .site-main .card {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--iz-border) !important;
	border-radius: var(--iz-radius-md) !important;
	background: #fff;
	box-shadow: var(--iz-shadow-sm);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

body.blog .site-main .card:hover {
	transform: translateY(-3px);
	box-shadow: var(--iz-shadow-md);
}

body.blog .site-main .card h2,
body.blog .site-main .card h3 {
	color: var(--iz-ink);
	font-size: 1.35rem !important;
	line-height: 1.25;
}

@media (max-width: 900px) {
	.iz-careers-page .iz-info-grid--roles,
	.iz-partnerships-page .iz-info-grid--opportunities,
	body.blog .site-main .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.iz-careers-page .iz-info-grid--roles,
	.iz-partnerships-page .iz-info-grid--opportunities,
	body.blog .site-main .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.page-id-167 .entry-content > .gform_wrapper,
body.page-id-167 .entry-content > .gform-theme {
	width: min(100% - 2rem, 58rem);
	margin: clamp(2rem, 5vw, 4rem) auto clamp(4rem, 8vw, 7rem) !important;
	padding: clamp(1.35rem, 4vw, 2.5rem);
	border: 1px solid var(--iz-border);
	border-radius: var(--iz-radius-md);
	background: #fff;
	box-shadow: var(--iz-shadow-md);
}

.iz-help-center {
	max-width: none;
	margin: 0;
}

.iz-help-center__body {
	padding-block: clamp(3.5rem, 7vw, 6rem);
	background: var(--iz-surface-soft);
}

.iz-help-center__group {
	margin-bottom: 3rem;
}

.iz-help-center__group h2 {
	margin: 0 0 1rem;
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	letter-spacing: -0.035em;
}

.iz-help-center details {
	margin-bottom: 0.8rem;
	border: 1px solid var(--iz-border);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 8px 24px rgb(28 24 51 / 5%);
	overflow: hidden;
}

.iz-help-center summary {
	padding: 1.15rem 1.3rem;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}

.iz-help-center summary::-webkit-details-marker {
	display: none;
}

.iz-help-center summary::after {
	content: "+";
	float: right;
	margin-left: 1rem;
	color: var(--iz-accent-dark);
	font-size: 1.35rem;
	line-height: 1;
}

.iz-help-center details[open] summary::after {
	content: "–";
}

.iz-help-center details p {
	margin: 0;
	padding: 0 1.3rem 1.3rem;
	color: var(--iz-muted);
	line-height: 1.7;
}

body:is(.page-id-3, .page-id-23, .page-id-162, .page-id-165, .page-id-166) .wp-block-blockstrap-blockstrap-widget-container.mt-9.mb-4:has(h1.mb-3.fw-bold.h2) {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: clamp(3.5rem, 7vw, 6rem) max(1rem, calc((100vw - 72rem) / 2));
	border-radius: 0 !important;
	background:
		radial-gradient(circle at 84% 25%, rgb(229 123 37 / 26%), transparent 30%),
		var(--iz-ink);
	color: #fff !important;
}

body:is(.page-id-3, .page-id-23, .page-id-162, .page-id-165, .page-id-166) .wp-block-blockstrap-blockstrap-widget-container.mt-9.mb-4 h1 {
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(3rem, 7vw, 5.5rem) !important;
	font-weight: 500 !important;
	letter-spacing: -0.05em;
	line-height: 0.95;
}

body:is(.page-id-3, .page-id-23, .page-id-162, .page-id-165, .page-id-166) .entry-content {
	box-sizing: border-box;
	width: min(100% - 2rem, 56rem) !important;
	margin-inline: auto !important;
	padding-block: clamp(3rem, 7vw, 6rem) !important;
	color: var(--iz-text);
}

body.page-id-3 .iz-legal-document > h2:first-child,
body.page-id-23 .iz-legal-document > h2:first-of-type,
body.page-id-23 .iz-legal-document h2.wp-block-heading.has-text-align-center {
	display: none;
}

/* Shared long-form policy body. The template supplies the sole page-level h1;
 * policy sections use h2 and numbered subsections use h3. */
.iz-legal-document {
	color: var(--iz-text);
	font-size: 1.02rem;
	line-height: 1.75;
}

.iz-legal-document > :first-child {
	margin-top: 0;
}

.iz-legal-document h2 {
	margin: 3.25rem 0 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--iz-border);
	color: var(--iz-ink);
	font-size: clamp(1.85rem, 4vw, 2.65rem);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.15;
}

.iz-legal-document h3 {
	margin: 2.25rem 0 0.75rem;
	color: var(--iz-ink);
	font-size: clamp(1.35rem, 3vw, 1.8rem);
	font-weight: 650;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.iz-legal-document p,
.iz-legal-document li {
	font-size: 1.02rem;
	line-height: 1.75;
}

.iz-legal-document a {
	color: var(--iz-accent-dark);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.iz-legal-document ul,
.iz-legal-document ol {
	margin: 1rem 0 1.5rem;
	padding: 1.25rem 1.25rem 1.25rem 2.5rem;
	border-left: 4px solid var(--iz-accent);
	border-radius: 0 var(--iz-radius-sm) var(--iz-radius-sm) 0;
	background: var(--iz-surface-soft);
}

.iz-legal-document li + li {
	margin-top: 0.45rem;
}

.iz-legal-document blockquote {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	border-left: 4px solid var(--iz-accent);
	background: var(--iz-surface-warm);
}

@media (max-width: 760px) {
	.iz-info-grid,
	.iz-info-grid--three {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
