/* ============================================================
   Захід.Бізнес — Main Stylesheet
   ============================================================ */

/* ── CSS Custom Properties ───────────────────────────────── */
:root {
	/* Colors */
	--color-navy-dark:  #0E1626;
	--color-navy:       #15233F;
	--color-navy-mid:   #1B2C4D;
	--color-navy-light: #22375C;
	--color-primary:    #15233F;

	--color-orange:     #E08A2E;
	--color-orange-dk:  #C9761C;
	--color-orange-lt:  #E9A95B;
	--color-orange-bg:  #FCF1E3;
	--color-orange-txt: #B0741F;

	--color-bg:         #F6F7F9;
	--color-bg-alt:     #F4F6F8;
	--color-white:      #ffffff;

	--color-border:     #ECEEF2;
	--color-border-md:  #E7E9EE;
	--color-border-lt:  #E2E5EB;

	--color-text:       #15233F;
	--color-text-md:    #3C4459;
	--color-text-muted: #5A6376;
	--color-text-light: #7A8294;
	--color-text-pale:  #98A0AE;
	--color-text-faint: #B9C0CC;

	--color-green:      #1F9D61;
	--color-green-bg:   #E8F6EE;
	--color-red:        #C25B3A;
	--color-red-bg:     #FBEEE8;
	--color-blue:       #2A6FB0;
	--color-blue-bg:    #E8F1FB;

	/* Typography */
	--font-heading: 'Manrope', system-ui, sans-serif;
	--font-body:    'Inter', system-ui, sans-serif;

	/* Spacing */
	--container:    1180px;
	--gap:          34px;

	/* Radius */
	--radius-sm:    8px;
	--radius-md:    12px;
	--radius-lg:    16px;
	--radius-xl:    20px;

	/* Shadow */
	--shadow-card:  0 4px 18px -10px rgba(21, 35, 63, .16);
	--shadow-hover: 0 16px 36px -18px rgba(21, 35, 63, .26);
	--shadow-drop:  0 30px 80px -30px rgba(0, 0, 0, .55);
}

/* ── Reset & Base ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--color-bg);
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	cursor: default;
}
/* Prevent I-beam cursor on non-editable UI */
body * { cursor: default; }
a, button, [role="button"], label, [tabindex]:not([tabindex="-1"]) { cursor: pointer; }
a *, button *, [role="button"] * { cursor: pointer; }
input, textarea, select, [contenteditable="true"] { cursor: text; }

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; }

/* ── Scrollbar ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 10px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #CFD4DD; border-radius: 8px; border: 2px solid transparent; background-clip: padding-box; }

/* ── Container ───────────────────────────────────────────── */
.container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gap);
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: none;
	border-radius: 11px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14px;
	padding: 11px 19px;
	transition: background .15s, border-color .15s, box-shadow .15s;
	white-space: nowrap;
	text-decoration: none;
}

.btn svg, .btn i { width: 16px; height: 16px; flex-shrink: 0; }

.btn--primary {
	background: var(--color-navy);
	color: var(--color-white);
}
.btn--primary:hover { background: #1E3050; color: var(--color-white); }

.btn--orange {
	background: var(--color-orange);
	color: var(--color-white);
}
.btn--orange:hover { background: var(--color-orange-dk); color: var(--color-white); }

.btn--outline {
	background: var(--color-white);
	border: 1.5px solid var(--color-border-lt);
	color: var(--color-navy);
}
.btn--outline:hover { border-color: var(--color-navy); }

.btn--ghost {
	background: transparent;
	border: 1.5px solid transparent;
	color: var(--color-text-muted);
	font-weight: 500;
}
.btn--ghost:hover { color: var(--color-navy); text-decoration: underline; }
.btn--sm { font-size: 14px; padding: 10px 17px; }
.btn--lg { font-size: 15.5px; padding: 15px 26px; }
.btn--block { width: 100%; justify-content: center; }

/* ── Lucide icon sizing ──────────────────────────────────── */
[data-lucide] { display: inline-block; }

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--color-white);
	border-bottom: 1px solid var(--color-border);
}

.header-inner {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gap);
	height: 72px;
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Logo */
.site-logo {
	display: flex;
	align-items: center;
	gap: 11px;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 21px;
	color: var(--color-navy);
	letter-spacing: -.02em;
	text-decoration: none;
	flex-shrink: 0;
}

.logo-icon {
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: var(--color-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-orange);
	flex-shrink: 0;
}

.logo-icon [data-lucide] { width: 19px; height: 19px; }
.logo-dot { color: var(--color-orange); }

/* Region switcher */
.region-switcher { position: relative; flex-shrink: 0; }

.region-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border-md);
	padding: 9px 14px;
	border-radius: 10px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-navy);
	transition: border-color .15s;
}
.region-btn:hover { border-color: #C0C6D0; }
.region-btn [data-lucide]:first-child { width: 16px; height: 16px; color: var(--color-orange); }
.region-btn .chevron { width: 15px; height: 15px; color: var(--color-text-pale); transition: transform .2s; flex-shrink: 0; }
.region-btn[aria-expanded="true"] .chevron { transform: rotate(180deg); }
#regionLabel { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.region-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: 280px;
	background: var(--color-white);
	border: 1px solid var(--color-border-md);
	border-radius: 14px;
	box-shadow: 0 20px 50px -16px rgba(21, 35, 63, .28);
	padding: 8px;
	z-index: 200;
}

.region-dropdown__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color-text-pale);
	padding: 8px 10px 6px;
}

.region-option {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
	border: none;
	padding: 9px 10px;
	border-radius: 9px;
	transition: background .12s;
}
.region-option:hover { background: var(--color-bg-alt); }
.region-option.is-active { background: var(--color-bg-alt); }

.region-option__name {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-navy);
}
.region-option__name [data-lucide] { width: 15px; height: 15px; color: var(--color-text-faint); }
.region-option__count { font-size: 12.5px; color: var(--color-text-pale); font-variant-numeric: tabular-nums; }

.region-option--all .region-option__name { font-weight: 600; }
.region-option--all .region-option__name [data-lucide] { color: var(--color-orange); }
.region-option--all.is-active { background: oklch(0.97 0.01 45); }
.region-dropdown__divider { height: 1px; background: var(--color-border); margin: 4px 8px; }
.region-dropdown__group-label {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 6px 14px 2px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color-text-pale);
}
.region-dropdown__group-label [data-lucide] { width: 11px; height: 11px; }
.region-dropdown__group {
	margin: 0 8px;
	border-left: 2px solid var(--color-border);
	padding-left: 4px;
}
.region-dropdown__group .region-option { padding-left: 14px; }

/* Primary nav */
.primary-nav { display: flex; align-items: center; gap: 2px; }
.primary-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.primary-nav__list > li { position: relative; }
.primary-nav__list a {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 8px 10px;
	border-radius: 9px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--color-text-md);
	transition: background .12s;
	white-space: nowrap;
}
.primary-nav__list a:hover { background: var(--color-bg-alt); }
.primary-nav__list .current-menu-item > a { color: var(--color-navy); background: var(--color-bg-alt); }

/* Dropdown chevron for items with children */
.primary-nav__list .menu-item-has-children > a::after,
.primary-nav__list .has-submenu > a::after {
	content: '';
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/contain no-repeat;
	transition: transform .15s;
}
.primary-nav__list .menu-item-has-children:hover > a::after,
.primary-nav__list .has-submenu:hover > a::after { transform: rotate(180deg); }

/* Submenu dropdown panel */
.primary-nav__list .sub-menu,
.primary-nav__list .nav-submenu {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	min-width: 180px;
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0,0,0,.10);
	padding: 6px;
	list-style: none;
	margin: 0;
	z-index: 200;
}
.primary-nav__list .menu-item-has-children:hover > .sub-menu,
.primary-nav__list .has-submenu:hover > .nav-submenu { display: block; }
.primary-nav__list .sub-menu a,
.primary-nav__list .nav-submenu a { border-radius: 7px; padding: 7px 12px; font-size: 13px; font-weight: 500; }

/* Header actions */
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }

/* Mobile toggle */
.mobile-menu-toggle {
	display: none;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	border: 1px solid var(--color-border-md);
	background: var(--color-white);
	align-items: center;
	justify-content: center;
	margin-left: auto;
}
.mobile-menu-toggle [data-lucide] { width: 20px; height: 20px; color: var(--color-navy); }

/* Mobile nav */
.mobile-nav {
	background: var(--color-white);
	border-top: 1px solid var(--color-border);
	padding: 16px var(--gap);
}
.mobile-nav__list { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mobile-nav__list a { display: block; padding: 12px 14px; border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--color-navy); }
.mobile-nav__list a:hover { background: var(--color-bg-alt); }
.mobile-nav__actions { display: flex; flex-direction: column; gap: 10px; }

/* ============================================================
   HERO SECTION (Variant A — gradient)
   ============================================================ */
.hero {
	background: linear-gradient(170deg, #15233F 0%, #1B2C4D 60%, #203458 100%);
	padding: 64px var(--gap) 78px;
	position: relative;
	overflow: hidden;
}

.hero__dots {
	position: absolute;
	inset: 0;
	opacity: .5;
	background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0);
	background-size: 26px 26px;
	pointer-events: none;
}

.hero__glow {
	position: absolute;
	right: -60px;
	top: -60px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(224,138,46,.30), transparent 70%);
	pointer-events: none;
}

.hero__inner {
	position: relative;
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
}

.hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.16);
	padding: 7px 14px;
	border-radius: 30px;
	color: #E9CBA0;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 22px;
}
.hero__badge [data-lucide] { width: 15px; height: 15px; }

.hero__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 46px;
	line-height: 1.08;
	letter-spacing: -.025em;
	color: var(--color-white);
	margin: 0 0 16px;
	text-wrap: balance;
}

.hero__desc {
	font-size: 17px;
	line-height: 1.55;
	color: #B9C4D6;
	margin: 0 auto 34px;
	max-width: 520px;
}

/* Search bar */
.search-bar {
	background: var(--color-white);
	border-radius: 16px;
	padding: 8px;
	display: flex;
	align-items: center;
	gap: 6px;
	box-shadow: 0 24px 50px -20px rgba(0,0,0,.5);
	max-width: 680px;
	margin-inline: auto;
}

.search-bar__field {
	flex: 1.4;
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 0 14px;
}
.search-bar__field [data-lucide] { width: 20px; height: 20px; color: var(--color-text-pale); flex-shrink: 0; }

.search-bar__input {
	border: none;
	outline: none;
	width: 100%;
	font-family: var(--font-body);
	font-size: 15.5px;
	color: var(--color-navy);
	padding: 14px 0;
	background: transparent;
}
.search-bar__input::placeholder { color: var(--color-text-pale); }

.search-bar__divider { width: 1px; height: 30px; background: var(--color-border-md); flex-shrink: 0; }

.search-bar__location {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 14px;
	position: relative;
}
.search-bar__location [data-lucide] { width: 19px; height: 19px; color: var(--color-orange); flex-shrink: 0; }
.search-bar__location::after {
	content: '';
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 0; height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid var(--color-navy);
	pointer-events: none;
}

.search-bar__city-select {
	border: none;
	outline: none;
	background: transparent;
	font-family: var(--font-body);
	font-size: 15.5px;
	color: var(--color-navy);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	flex: 1;
	padding: 14px 20px 14px 0;
	min-width: 0;
}
.search-bar__city-select:focus { outline: none; }

.search-bar__btn {
	background: var(--color-orange);
	border: none;
	color: var(--color-white);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 15.5px;
	padding: 15px 26px;
	border-radius: 11px;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: background .15s;
	flex-shrink: 0;
}
.search-bar__btn:hover { background: var(--color-orange-dk); }
.search-bar__btn [data-lucide] { width: 18px; height: 18px; }

/* Popular tags */
.hero__tags {
	display: flex;
	gap: 9px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 22px;
	list-style: none;
	padding: 0;
}

.hero__tags__label { flex-basis: 100%; text-align: center; font-size: 13px; color: #8E9AB0; }

.hero__tag {
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.14);
	color: #D5DEEC;
	font-size: 13px;
	font-weight: 500;
	padding: 7px 13px;
	border-radius: 30px;
	text-decoration: none;
	transition: background .12s;
}
.hero__tag:hover { background: rgba(255,255,255,.16); color: #D5DEEC; }

/* ============================================================
   SECTION SHARED
   ============================================================ */
.section { padding: 48px 0 8px; }
.section--lg { padding-top: 60px; }

.section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 22px;
}

.section__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 26px;
	letter-spacing: -.02em;
	color: var(--color-navy);
	margin: 0 0 4px;
}

.section__subtitle {
	font-size: 14.5px;
	color: var(--color-text-light);
	margin: 0;
}

.section__link {
	font-size: 14px;
	font-weight: 700;
	color: var(--color-orange);
	display: flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
}
.section__link:hover { color: var(--color-orange-dk); }
.section__link [data-lucide] { width: 15px; height: 15px; }

/* ============================================================
   CATEGORIES GRID
   ============================================================ */
.categories-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}

.cat-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 14px;
	padding: 18px 16px;
	display: flex;
	align-items: center;
	gap: 13px;
	text-decoration: none;
	transition: border-color .16s, box-shadow .16s, transform .16s;
	min-width: 0;
}
.cat-card:hover {
	border-color: #D8DCE4;
	box-shadow: 0 10px 24px -12px rgba(21,35,63,.18);
	transform: translateY(-2px);
}

.cat-card__icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cat-card__icon [data-lucide] { width: 21px; height: 21px; }

.cat-card__name {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14.5px;
	color: var(--color-navy);
	line-height: 1.2;
}

.cat-card__count {
	display: block;
	font-size: 12.5px;
	color: var(--color-text-pale);
	margin-top: 3px;
}

/* ============================================================
   REGIONS GRID
   ============================================================ */
.regions-section { padding: 42px 0 8px; }

.regions-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

.region-card {
	position: relative;
	overflow: hidden;
	border-radius: 14px;
	padding: 20px;
	text-decoration: none;
	background: linear-gradient(150deg, #1B2C4D, #15233F);
	min-height: 104px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: box-shadow .16s;
}
.region-card:hover { box-shadow: 0 14px 30px -14px rgba(21,35,63,.5); }

.region-card__glow {
	position: absolute;
	right: -18px;
	bottom: -18px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(224,138,46,.16);
	pointer-events: none;
}

.region-card__icon { color: #E9A95B; position: relative; }
.region-card__icon [data-lucide] { width: 18px; height: 18px; }

.region-card__body { position: relative; }

.region-card__name {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 17px;
	color: var(--color-white);
}

.region-card__count {
	display: block;
	font-size: 13px;
	color: #9FB0CA;
	margin-top: 2px;
}

/* ============================================================
   FEATURED COMPANIES (horizontal scroll)
   ============================================================ */
.featured-section { padding: 44px 0 8px; }

.featured-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 20px;
}

.featured-nav { display: flex; gap: 8px; }

.featured-nav__btn {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	border: 1px solid var(--color-border-lt);
	background: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color .12s;
}
.featured-nav__btn:hover { border-color: var(--color-navy); }
.featured-nav__btn [data-lucide] { width: 18px; height: 18px; color: var(--color-text-muted); }

.featured-scroll {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	padding: 4px 0 20px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: #CFD4DD transparent;
}
.featured-scroll::-webkit-scrollbar { height: 6px; }
.featured-scroll::-webkit-scrollbar-thumb { background: #CFD4DD; border-radius: 4px; }

.company-card {
	flex: 0 0 256px;
	scroll-snap-align: start;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	overflow: hidden;
	cursor: pointer;
	transition: box-shadow .16s, transform .16s;
	text-decoration: none;
	color: inherit;
	display: block;
}
.company-card:hover {
	box-shadow: 0 18px 38px -18px rgba(21,35,63,.28);
	transform: translateY(-3px);
}

.company-card__cover {
	height: 128px;
	position: relative;
}
.company-card__cover::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 80% 20%, rgba(255,255,255,.22), transparent 55%);
}

.company-card__badge {
	position: absolute;
	top: 11px;
	left: 11px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 5px;
	background: rgba(255,255,255,.95);
	padding: 5px 9px;
	border-radius: 20px;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--color-navy);
}
.company-card__badge [data-lucide] { width: 13px; height: 13px; color: var(--color-orange); }

.company-card__body { padding: 15px 16px 17px; }

.company-card__rating {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 8px;
}
.company-card__rating [data-lucide] { width: 15px; height: 15px; color: var(--color-orange); fill: var(--color-orange); }
.company-card__rating-val { font-family: var(--font-heading); font-weight: 700; font-size: 13.5px; color: var(--color-navy); }
.company-card__rating-cnt { font-size: 12.5px; color: var(--color-text-pale); }

.company-card__name {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 16px;
	color: var(--color-navy);
	margin: 0 0 4px;
	line-height: 1.25;
}

.company-card__cat { font-size: 13px; color: var(--color-text-light); margin: 0 0 10px; }

.company-card__location {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	color: var(--color-text-muted);
}
.company-card__location [data-lucide] { width: 14px; height: 14px; color: var(--color-text-faint); }

/* ============================================================
   RECENTLY ADDED COMPANIES
   ============================================================ */
.recent-section { padding-top: 0; }

.recent-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.company-card__badge--new {
	background: rgba(16, 185, 129, .92);
	color: #fff;
}
.company-card__badge--new [data-lucide] { color: #fff; }

.company-card__meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.company-card__ago {
	font-size: 12px;
	color: var(--color-text-pale);
}

.company-card__verified [data-lucide] {
	width: 15px;
	height: 15px;
	color: #2271b1;
	display: block;
}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-section { padding: 30px 0 50px; }

.cta-banner {
	background: linear-gradient(120deg, #15233F, #22375C);
	border-radius: 20px;
	padding: 46px 48px;
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 40px;
	align-items: center;
}

.cta-banner__glow {
	position: absolute;
	right: 30px;
	top: -40px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(224,138,46,.22), transparent 70%);
	pointer-events: none;
}

.cta-banner__content { position: relative; }

.cta-banner__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 28px;
	letter-spacing: -.02em;
	color: var(--color-white);
	margin: 0 0 10px;
}

.cta-banner__desc {
	font-size: 15.5px;
	color: #B9C4D6;
	margin: 0 0 22px;
	max-width: 440px;
}

.cta-banner__features {
	display: flex;
	gap: 26px;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
}

.cta-banner__feature {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #D5DEEC;
	font-size: 14px;
	font-weight: 500;
}

.cta-banner__feature-icon {
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: rgba(224,138,46,.2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.cta-banner__feature-icon [data-lucide] { width: 15px; height: 15px; color: #E9A95B; }

.cta-banner__btn {
	position: relative;
	background: var(--color-orange);
	border: none;
	color: var(--color-white);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 16px;
	padding: 17px 30px;
	border-radius: 13px;
	white-space: nowrap;
	text-decoration: none;
	transition: background .15s;
	display: inline-block;
}
.cta-banner__btn:hover { background: var(--color-orange-dk); color: var(--color-white); }
.cta-banner__actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.cta-banner__btn--ghost {
	background: transparent;
	border: 2px solid rgba(255,255,255,.55);
	color: #fff;
}
.cta-banner__btn--ghost:hover { background: rgba(255,255,255,.12); color: #fff; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
	background: #0F1A2F;
	padding: 46px 0 0;
}

.footer-inner {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gap);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 32px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.footer-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 18px;
	color: var(--color-white);
	text-decoration: none;
	margin-bottom: 12px;
}

.footer-logo__icon {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: var(--color-orange);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-navy);
	flex-shrink: 0;
}
.footer-logo__icon [data-lucide] { width: 17px; height: 17px; }

.footer-desc {
	font-size: 13.5px;
	color: #8494AC;
	line-height: 1.6;
	margin: 0;
	max-width: 240px;
}

.footer-col__title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14px;
	color: var(--color-white);
	margin: 0 0 14px;
}

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.footer-links a {
	font-size: 13.5px;
	color: #8494AC;
	text-decoration: none;
	transition: color .12s;
}
.footer-links a:hover { color: var(--color-white); }

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 0 30px;
}

.footer-copy { font-size: 12.5px; color: #6A788F; }

.footer-lang {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	color: #8494AC;
}
.footer-lang [data-lucide] { width: 14px; height: 14px; }

/* ============================================================
   UTILITY
   ============================================================ */
.sr-only {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* ============================================================
   POSTS GRID (blog index)
   ============================================================ */
.posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.post-card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: 16px; overflow: hidden; }
.post-card__thumb img { width: 100%; height: 200px; object-fit: cover; }
.post-card__body { padding: 20px; }
.post-card__title { font-family: var(--font-heading); font-weight: 700; font-size: 18px; color: var(--color-navy); margin: 0 0 10px; }
.post-card__title a { color: inherit; }
.post-card__title a:hover { color: var(--color-orange); }
.post-card__excerpt { font-size: 14px; color: var(--color-text-light); margin: 0 0 16px; }

/* ============================================================
   PAGE HEADER (catalog, company)
   ============================================================ */
.page-header {
	background: var(--color-white);
	border-bottom: 1px solid var(--color-border);
	padding: 22px 0 0;
}

.breadcrumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--color-text-pale);
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.breadcrumbs a { color: var(--color-text-pale); transition: color .12s; }
.breadcrumbs a:hover { color: var(--color-navy); }
.breadcrumbs [data-lucide] { width: 14px; height: 14px; color: var(--color-text-faint); }
.breadcrumbs__current { color: var(--color-navy); font-weight: 600; }

/* ============================================================
   CATALOG PAGE (Screen 2)
   ============================================================ */
.catalog-layout {
	padding: 28px 0 60px;
}

.catalog-toolbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.catalog-title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 30px;
	letter-spacing: -.02em;
	color: var(--color-navy);
	margin: 0 0 6px;
}

.catalog-intro {
	font-size: 15px;
	color: var(--color-text-muted);
	margin: 4px 0 8px;
	line-height: 1.5;
}

/* ── Featured / promoted company slot ──────────────────────────────────────── */
.featured-slot-wrap { margin-bottom: 0; }

/* ── Listing sections (colored wrapper + header) ─────────────────────────── */
.listing-section {
	display: flex;
	flex-direction: column;
	border-radius: 14px;
	overflow: hidden;
	padding-bottom: 10px;
}
.listing-section .listing-card        { margin: 0 10px; border-radius: 10px; }
.listing-section .listing-card + .listing-card { margin-top: 8px; }
.listing-section .featured-slot-wrap  { margin: 0 10px; }
.listing-section .featured-slot-wrap + .featured-slot-wrap { margin-top: 8px; }

.listing-section--ad      { background: oklch(0.97 0.022 52); }
.listing-section--top     { background: oklch(0.96 0.014 230); }
.listing-section--regular {
	background: transparent;
	padding-bottom: 0;
	border-radius: 0;
}
.listing-section--regular .listing-card { margin: 0; border-radius: inherit; }
.listing-section--regular .listing-card + .listing-card { margin-top: 14px; }

/* Section header label */
.listing-section-head {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color-text-pale);
}
.listing-section-head [data-lucide] { width: 12px; height: 12px; flex-shrink: 0; }

.listing-section-head--ad .listing-section-head__label { color: var(--color-navy); }
.listing-section-head--ad .listing-section-head__tag {
	font-size: 10px;
	font-weight: 600;
	color: var(--color-text-pale);
	background: rgba(0,0,0,.07);
	padding: 1px 7px;
	border-radius: 999px;
	letter-spacing: .04em;
}
.listing-section-head--top { color: var(--color-navy); }
.listing-section-head--top [data-lucide] {
	color: var(--color-orange);
	fill: var(--color-orange);
}

/* ── Price level badge on listing card ──────────────────────────────────────── */
.price-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	color: #2a7a2a;
}

/* ── Price level filter in sidebar ─────────────────────────────────────────── */
.price-filter-list {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.price-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: 6px 10px;
	border-radius: 10px;
	border: 1.5px solid var(--color-border);
	background: var(--color-bg);
	text-decoration: none;
	color: var(--color-text);
	transition: border-color .15s, background .15s, color .15s;
	cursor: pointer;
	min-width: 54px;
}
.price-btn:hover { border-color: var(--color-orange); color: var(--color-orange); }
.price-btn.is-on {
	border-color: var(--color-orange);
	background: #fff7ed;
	color: var(--color-orange);
}
.price-btn__sym { font-size: 13px; font-weight: 700; }
.price-btn__lbl { font-size: 10px; color: inherit; }
.catalog-count {
	font-size: 14.5px;
	color: var(--color-text-light);
	margin: 0;
}
.catalog-count strong { color: var(--color-navy); }

.catalog-controls { display: flex; align-items: center; gap: 14px; }

/* Sort buttons */
.sort-group { display: flex; align-items: center; gap: 6px; }
.sort-group__label { font-size: 13px; color: var(--color-text-light); white-space: nowrap; }
.sort-btn {
	border: none;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13px;
	padding: 8px 13px;
	border-radius: 8px;
	background: #F0F2F5;
	color: var(--color-text-muted);
	transition: background .12s, color .12s;
}
.sort-btn.is-active, .sort-btn:hover { background: var(--color-navy); color: var(--color-white); }

/* View toggle */
.view-toggle {
	display: flex;
	background: var(--color-white);
	border: 1px solid var(--color-border-md);
	border-radius: 11px;
	padding: 3px;
}
.view-btn {
	display: flex;
	align-items: center;
	gap: 7px;
	border: none;
	background: transparent;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 13.5px;
	padding: 9px 15px;
	border-radius: 9px;
	color: var(--color-text-muted);
	transition: background .12s, color .12s;
}
.view-btn.is-active { background: var(--color-navy); color: var(--color-white); }
.view-btn [data-lucide] { width: 16px; height: 16px; }

/* Two-column layout */
.catalog-columns {
	display: grid;
	grid-template-columns: 268px 1fr;
	gap: 24px;
	align-items: start;
}

/* ── Filters toggle button (mobile only) ── */
.filters-toggle {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 700;
	color: var(--color-navy);
	cursor: pointer;
	margin-bottom: 12px;
	width: 100%;
	justify-content: space-between;
}
.filters-toggle [data-lucide] { width: 16px; height: 16px; }
#filtersChevron { transition: transform .2s ease; }
.filters-toggle__count {
	background: var(--color-orange);
	color: #fff;
	border-radius: 20px;
	font-size: 11px;
	padding: 1px 7px;
	font-weight: 700;
}

/* ── Filters sidebar ── */
.filters-aside {
	position: sticky;
	top: 90px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 20px;
}

.filters-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.filters-head__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 16px;
	color: var(--color-navy);
}
.filters-head__reset {
	font-size: 12.5px;
	color: var(--color-orange);
	font-weight: 600;
	background: none;
	border: none;
	padding: 0;
}

.filter-group { margin-bottom: 18px; }
.filter-group + .filter-group { padding-top: 16px; border-top: 1px solid #F0F2F5; }

.filter-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--color-text-pale);
	margin-bottom: 8px;
	display: block;
}

/* Subcat pills (vertical list) */
.subcat-list { display: flex; flex-direction: column; gap: 2px; }
.subcat-btn {
	display: block;
	width: 100%;
	text-align: left;
	border: none;
	background: transparent;
	font-family: var(--font-body);
	font-size: 13.5px;
	padding: 9px 11px;
	border-radius: 9px;
	color: var(--color-text-muted);
	transition: background .12s, color .12s;
}
.subcat-btn.is-active { background: var(--color-navy); color: var(--color-white); font-weight: 600; }
.subcat-btn:hover:not(.is-active) { background: var(--color-bg-alt); }

/* Tag filter chips (horizontal wrap) */
.tag-filter-list { display: flex; flex-wrap: wrap; gap: 6px; }
.tag-filter-chip {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 30px;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--color-text-muted);
	background: var(--color-bg-alt);
	border: 1px solid transparent;
	text-decoration: none;
	transition: background .12s, color .12s, border-color .12s;
}
.tag-filter-chip:hover:not(.is-active) { background: #EBF0F8; color: var(--color-navy); }
.tag-filter-chip.is-active { background: var(--color-navy); color: var(--color-white); border-color: var(--color-navy); font-weight: 600; }

/* District checkboxes */
.district-list { display: flex; flex-direction: column; gap: 9px; }
.district-label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
	color: var(--color-text-md);
	cursor: pointer;
}
.district-check {
	width: 18px; height: 18px;
	border-radius: 5px;
	border: 1.5px solid #D2D7DF;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .12s, border-color .12s;
}
.district-check.is-checked { background: var(--color-orange); border-color: var(--color-orange); color: #fff; }
.district-check [data-lucide] { width: 12px; height: 12px; }

/* Feature toggles */
.feature-list { display: flex; flex-direction: column; gap: 11px; }
.feature-toggle {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 14px;
	color: var(--color-navy);
	font-weight: 500;
	cursor: pointer;
	background: none;
	border: none;
	padding: 0;
	text-align: left;
}
.feature-toggle [data-lucide]:last-of-type { width: 17px; height: 17px; color: var(--color-text-light); }
.feature-chk {
	width: 20px; height: 20px;
	border-radius: 6px;
	border: 1.5px solid #D2D7DF;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: background .12s, border-color .12s;
}
.feature-chk.is-on { background: var(--color-orange); border-color: var(--color-orange); }
.feature-chk [data-lucide] { width: 13px; height: 13px; }

/* ── Listing cards ── */
.listing-list { display: flex; flex-direction: column; gap: 14px; }
.empty-state { text-align: center; padding: 48px 24px; color: var(--color-text-muted); user-select: none; cursor: default; }
.empty-state [data-lucide] { width: 40px; height: 40px; color: var(--color-text-faint); margin-bottom: 12px; }
.empty-state p { margin: 0 0 20px; font-size: 15px; }

.listing-card {
	display: flex;
	gap: 18px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 16px;
	cursor: pointer;
	transition: box-shadow .16s, border-color .16s;
	position: relative;
	user-select: none;
}
.listing-card * { cursor: pointer; }
.listing-card:has(.listing-card__link:hover),
.listing-card:hover {
	box-shadow: var(--shadow-hover);
	border-color: #D8DCE4;
}
/* Stretched link — covers thumb+body, actions float above via z-index */
.listing-card__link {
	position: absolute;
	inset: 0;
	border-radius: 15px;
	z-index: 1;
	text-decoration: none;
}
.listing-card__actions { position: relative; z-index: 2; }
.listing-card--premium {
	border: 1.5px solid #bbf7d0;
	box-shadow: 0 4px 20px rgba(22, 163, 74, 0.10);
}

.listing-card__thumb {
	width: 150px;
	flex-shrink: 0;
	border-radius: 13px;
	overflow: hidden;
	position: relative;
	min-height: 130px;
	align-self: stretch;
}
.listing-card__cover { position: absolute; inset: 0; }
.listing-card__photo { position: absolute; inset: 0; }
.listing-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.listing-card__avatar {
	width: 100%; height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 34px;
}

.listing-card__placeholder {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}

.listing-card__cat-link {
	color: var(--color-primary);
	text-decoration: none;
	font-size: inherit;
	position: relative;
	z-index: 2;
}
.listing-card__cat-link:hover { text-decoration: underline; }

.listing-card__body { flex: 1; min-width: 0; }

.listing-card__top {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 6px;
}
.listing-card__name {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 18px;
	color: var(--color-navy);
	margin: 0;
	line-height: 1.2;
}

.premium-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: linear-gradient(135deg, #2d4a7a, #1a2f52);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .3px;
	padding: 4px 10px;
	border-radius: 20px;
	white-space: nowrap;
	flex-shrink: 0;
	box-shadow: 0 2px 6px rgba(26, 47, 82, .30);
	text-shadow: 0 1px 2px rgba(0,0,0,.12);
}
.premium-badge [data-lucide] { width: 13px; height: 13px; }

.listing-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}
.listing-card__rating {
	display: flex;
	align-items: center;
	gap: 4px;
}
.listing-card__rating [data-lucide] { width: 15px; height: 15px; color: var(--color-orange); fill: var(--color-orange); }
.listing-card__rating-val { font-family: var(--font-heading); font-weight: 700; font-size: 13.5px; color: var(--color-navy); }
.listing-card__reviews { font-size: 13px; color: var(--color-text-pale); }
.listing-card__gmaps-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--color-text-pale);
}
.listing-card__gmaps-chip .gmaps-pin-icon { flex-shrink: 0; }
.listing-card__dot { width: 3px; height: 3px; border-radius: 50%; background: #CBD1DB; flex-shrink: 0; }
.listing-card__sub { font-size: 13px; color: var(--color-text-light); }

.listing-card__address {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	color: var(--color-text-muted);
	margin-bottom: 9px;
}
.listing-card__address [data-lucide] { width: 15px; height: 15px; color: var(--color-text-faint); }
.listing-card__addr-more {
	display: inline-flex;
	align-items: center;
	padding: 1px 6px;
	border-radius: 20px;
	background: var(--color-bg-alt, #f0f2f5);
	font-size: 11px;
	font-weight: 600;
	color: var(--color-text-light);
	flex-shrink: 0;
}

.status-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 10px;
	border-radius: 8px;
}
.status-badge [data-lucide] { width: 13px; height: 13px; }
.status-badge--open { color: var(--color-green); background: var(--color-green-bg); }
.status-badge--closed { color: var(--color-red); background: var(--color-red-bg); }

.listing-card__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-self: center;
	flex-shrink: 0;
}
.listing-card__actions .btn { font-size: 13.5px; padding: 10px 16px; }

/* Pagination */
.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin-top: 28px;
}
.page-btn {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	border: 1px solid var(--color-border-lt);
	background: var(--color-white);
	color: var(--color-text-muted);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .12s, border-color .12s, color .12s;
}
.page-btn:hover { border-color: var(--color-navy); }
.page-btn.is-active { background: var(--color-navy); color: var(--color-white); border-color: var(--color-navy); }
.page-btn [data-lucide] { width: 17px; height: 17px; }
.page-dots { color: var(--color-text-pale); padding: 0 4px; }

/* SEO text block */
.seo-block {
	margin-top: 30px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 14px;
	padding: 22px 24px;
}
.seo-block__title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14.5px;
	color: var(--color-navy);
	margin: 0 0 8px;
}
.seo-block__text {
	font-size: 13px;
	line-height: 1.6;
	color: var(--color-text-pale);
	margin: 0;
}
/* Rich HTML content from wp_editor */
.seo-block__content {
	font-size: 14px;
	line-height: 1.7;
	color: var(--color-text);
}
.seo-block__content > * + * { margin-top: 12px; }
.seo-block__content h2 {
	font-family: var(--font-heading);
	font-size: 17px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 20px 0 8px;
}
.seo-block__content h3 {
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	color: var(--color-navy);
	margin: 16px 0 6px;
}
.seo-block__content h4 {
	font-size: 14px;
	font-weight: 600;
	color: var(--color-navy);
	margin: 12px 0 4px;
}
.seo-block__content p {
	margin: 0;
	color: var(--color-text-pale);
}
.seo-block__content ul,
.seo-block__content ol {
	padding-left: 20px;
	color: var(--color-text-pale);
}
.seo-block__content li + li { margin-top: 4px; }
.seo-block__content a {
	color: var(--color-orange);
	text-decoration: underline;
	text-decoration-color: transparent;
	transition: text-decoration-color .15s;
}
.seo-block__content a:hover { text-decoration-color: var(--color-orange); }
.seo-block__content strong { color: var(--color-navy); }
.seo-block__content h2:first-child,
.seo-block__content h3:first-child { margin-top: 0; }

/* ============================================================
   COMPANY PROFILE PAGE (Screen 3)
   ============================================================ */
.company-hero-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 18px;
	padding: 24px;
	display: flex;
	gap: 24px;
	margin-bottom: 16px;
}

.company-hero-cover {
	width: 188px;
	flex-shrink: 0;
	height: 188px;
	border-radius: 15px;
	overflow: hidden;
	position: relative;
}
.company-hero-cover::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 72% 26%, rgba(255,255,255,.24), transparent 55%);
}

.company-hero-info { flex: 1; min-width: 0; }

.company-hero-title-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}
.company-hero-title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 30px;
	letter-spacing: -.02em;
	color: var(--color-navy);
	margin: 0;
}

.verified-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #dcfce7;
	color: #15803d;
	font-size: 12.5px;
	font-weight: 700;
	padding: 5px 11px;
	border-radius: 20px;
	white-space: nowrap;
	flex-shrink: 0;
}
.verified-badge [data-lucide] { width: 14px; height: 14px; color: #16a34a; }

.company-hero-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}
.company-hero-meta__cat { font-size: 14px; color: var(--color-orange); font-weight: 600; }
.company-hero-meta__sep { width: 3px; height: 3px; border-radius: 50%; background: #CBD1DB; }
.company-hero-meta__rating { display: flex; align-items: center; gap: 5px; }
.company-hero-meta__rating [data-lucide] { width: 16px; height: 16px; color: var(--color-orange); fill: var(--color-orange); }
.company-hero-meta__rating-val { font-family: var(--font-heading); font-weight: 700; font-size: 15px; color: var(--color-navy); }
.company-hero-meta__reviews { font-size: 13.5px; color: var(--color-text-light); }
.company-hero-meta__gmaps { display: flex; align-items: center; gap: 5px; }
.company-hero-meta__gmaps .gmaps-pin-icon { flex-shrink: 0; }
.company-hero-meta__gmaps-val { font-family: var(--font-heading); font-weight: 700; font-size: 15px; color: var(--color-navy); }
.company-hero-meta__gmaps-cnt { font-size: 13.5px; color: var(--color-text-light); }

.company-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Gallery */
.company-gallery {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin-bottom: 22px;
}
.gallery-item {
	height: 120px;
	border-radius: 13px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
	transition: transform .15s;
}
.gallery-item:hover { transform: scale(1.02); }
.gallery-item::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 70% 30%, rgba(255,255,255,.2), transparent 55%);
}

/* Two-column company layout */
.company-columns {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 24px;
	align-items: start;
}

.company-sections { display: flex; flex-direction: column; gap: 16px; }

.info-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 24px;
}
.info-card__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 19px;
	color: var(--color-navy);
	margin: 0 0 12px;
}
.info-card__title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

/* ── Cat extras section ───────────────────────────────────────────────────── */
.extras-group { margin-bottom: 20px; }
.extras-group:last-child { margin-bottom: 0; }
.extras-group__title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--color-muted);
	margin-bottom: 10px;
}
.extras-list { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.extras-row { display: flex; align-items: baseline; gap: 8px; }
.extras-row__label {
	font-size: 14px;
	color: var(--color-muted);
	min-width: 160px;
	flex-shrink: 0;
}
.extras-row__label::after { content: ':'; }
.extras-row__value { font-size: 14px; font-weight: 600; color: var(--color-navy); }
.extras-row__value a { color: var(--color-accent); }
.extras-row__value--badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 20px;
	padding: 3px 12px;
	font-size: 13px;
	font-weight: 500;
	min-width: unset;
}

.company-desc { font-size: 14.5px; line-height: 1.65; color: #4A5468; margin: 0; }

/* Feature chips */
.feature-chips {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 16px;
	list-style: none;
	padding: 0;
}
.feature-chip {
	display: flex;
	align-items: center;
	gap: 7px;
	background: var(--color-bg-alt);
	padding: 8px 13px;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text-md);
}
.feature-chip [data-lucide] { width: 15px; height: 15px; color: var(--color-text-light); }

/* Services table */
.services-list { display: flex; flex-direction: column; }
.service-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 13px 0;
	border-bottom: 1px solid #F0F2F5;
}
.service-row:last-child { border-bottom: none; }
.service-name { font-size: 14.5px; color: var(--color-text-md); }
.service-price { font-family: var(--font-heading); font-weight: 700; font-size: 14.5px; color: var(--color-navy); white-space: nowrap; }

/* Reviews */
.reviews-summary {
	display: flex;
	align-items: center;
	gap: 18px;
	background: #FBF8F3;
	border: 1px solid #F0E4D2;
	border-radius: 13px;
	padding: 18px 22px;
	margin-bottom: 20px;
}
.reviews-summary__score {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 40px;
	color: var(--color-navy);
	line-height: 1;
}
.reviews-summary__stars { display: flex; gap: 2px; margin-top: 6px; }
.reviews-summary__stars [data-lucide] { width: 14px; height: 14px; color: var(--color-orange); fill: var(--color-orange); }
.reviews-summary__text { font-size: 13.5px; color: var(--color-text-light); }

.review-list { display: flex; flex-direction: column; gap: 18px; }

.review-item { display: flex; gap: 14px; }
.review-avatar {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 16px;
}

.review-body { flex: 1; min-width: 0; }
.review-header { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.review-author { font-family: var(--font-heading); font-weight: 700; font-size: 14.5px; color: var(--color-navy); }
.review-date { font-size: 12.5px; color: var(--color-text-pale); }
.review-stars { display: flex; gap: 2px; margin-bottom: 8px; }
.review-stars [data-lucide] { width: 14px; height: 14px; }
.review-text { font-size: 14px; line-height: 1.6; color: #4A5468; margin: 0; }

.review-reply {
	margin-top: 12px;
	background: var(--color-bg-alt);
	border-radius: 11px;
	padding: 13px 15px;
}
.review-reply__header {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 5px;
}
.review-reply__header [data-lucide] { width: 14px; height: 14px; color: var(--color-text-pale); }
.review-reply__label { font-family: var(--font-heading); font-weight: 700; font-size: 13px; color: var(--color-navy); }
.review-reply__text { font-size: 13.5px; line-height: 1.55; color: var(--color-text-muted); margin: 0; }

/* AI Reviews Summary */
.ai-reviews-summary {
	background: linear-gradient(135deg, oklch(0.97 0.02 260), oklch(0.97 0.015 300));
	border: 1px solid oklch(0.88 0.04 270);
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 20px;
}
.ai-reviews-summary__header {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 10px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14px;
	color: oklch(0.4 0.12 270);
}
.ai-reviews-summary__header [data-lucide] {
	width: 16px;
	height: 16px;
	color: oklch(0.6 0.18 290);
	flex-shrink: 0;
}
.ai-reviews-summary__rating {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-left: auto;
	font-size: 13px;
	font-weight: 700;
	color: oklch(0.55 0.15 60);
}
.ai-reviews-summary__rating [data-lucide] {
	width: 13px;
	height: 13px;
	color: oklch(0.7 0.18 70);
	fill: oklch(0.7 0.18 70);
}
.ai-reviews-summary__text {
	font-size: 14px;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0 0 10px;
}
.ai-reviews-summary__source {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11.5px;
	color: oklch(0.55 0.08 270);
	margin: 0;
}
.ai-reviews-summary__source [data-lucide] {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}

/* Reviews section count badge in title */
.info-card__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 11px;
	background: var(--color-border-lt);
	color: var(--color-text-pale);
	font-size: 13px;
	font-weight: 600;
	margin-left: 6px;
	vertical-align: middle;
}

/* Google Maps reviews chip — appears below reviews title */
.gmaps-reviews-chip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	padding: 8px 12px;
	margin-bottom: 16px;
	background: #f0f4ff;
	border: 1px solid #d0daf5;
	border-radius: 8px;
	font-size: 13px;
	color: var(--color-text-pale);
}
.gmaps-reviews-chip .gmaps-pin-icon { flex-shrink: 0; }
.gmaps-reviews-chip__label {
	font-weight: 600;
	color: var(--color-text);
}
.gmaps-reviews-chip__rating {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-weight: 600;
	color: oklch(0.5 0.15 60);
}
.gmaps-reviews-chip__rating [data-lucide] {
	width: 12px;
	height: 12px;
	color: oklch(0.7 0.18 70);
	fill: oklch(0.7 0.18 70);
}
.gmaps-reviews-chip__sep {
	color: var(--color-border);
}
.gmaps-reviews-chip__count {
	color: var(--color-text-pale);
}
.gmaps-reviews-chip__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
	color: #4285F4;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}
.gmaps-reviews-chip__link:hover { text-decoration: underline; }
.gmaps-reviews-chip__link [data-lucide] {
	width: 11px;
	height: 11px;
}

/* Star rating picker in review form */
.comment-form-rating {
	margin-bottom: 16px;
}
.comment-form-rating > label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 14px;
}
.star-picker {
	display: inline-flex;
	gap: 4px;
}
.star-btn {
	background: none;
	border: none;
	padding: 0;
	font-size: 32px;
	line-height: 1;
	color: var(--color-border-lt);
	cursor: pointer;
	transition: color .1s, transform .1s;
}
.star-btn:hover,
.star-btn.hover,
.star-btn.active {
	color: var(--color-orange);
}
.star-btn:hover { transform: scale(1.15); }
.star-picker--error .star-btn {
	animation: starShake .3s ease;
	color: #e74c3c;
}
@keyframes starShake {
	0%,100% { transform: translateX(0); }
	25%      { transform: translateX(-4px); }
	75%      { transform: translateX(4px); }
}

/* Gallery Lightbox */
.zb-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9990;
	background: rgba(0, 0, 0, .92);
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.zb-lightbox.is-open { display: flex; }
.zb-lightbox__wrap {
	max-width: 88vw;
	max-height: 88vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.zb-lightbox__img {
	max-width: 100%;
	max-height: 88vh;
	object-fit: contain;
	border-radius: 8px;
	display: block;
}
.zb-lightbox__close {
	position: absolute;
	top: 16px;
	right: 20px;
	background: rgba(255,255,255,.15);
	border: none;
	color: #fff;
	font-size: 28px;
	line-height: 1;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.zb-lightbox__close:hover { background: rgba(255,255,255,.3); }
.zb-lightbox__prev,
.zb-lightbox__next {
	background: rgba(255,255,255,.15);
	border: none;
	color: #fff;
	font-size: 40px;
	line-height: 1;
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
	flex-shrink: 0;
}
.zb-lightbox__prev:hover,
.zb-lightbox__next:hover { background: rgba(255,255,255,.28); }
@media (max-width: 600px) {
	.zb-lightbox__prev, .zb-lightbox__next { padding: 8px 10px; font-size: 28px; }
}

/* Sidebar cards */
.company-sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 16px; }

.sidebar-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 20px;
}
.sidebar-card__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 16px;
	color: var(--color-navy);
	margin: 0 0 14px;
}
.sidebar-card__title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

/* Contact rows */
.contact-list { display: flex; flex-direction: column; gap: 13px; }
.contact-list--extra { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--color-border-lt, #eee); }
.contact-row { display: flex; gap: 11px; align-items: flex-start; }
.contact-row [data-lucide] { width: 17px; height: 17px; color: var(--color-orange); flex-shrink: 0; margin-top: 1px; }
.contact-row span { font-size: 13.5px; color: var(--color-text-md); line-height: 1.45; }
.contact-row strong { font-weight: 600; }
.contact-divider { border: 0; border-top: 1px solid var(--color-border-lt, #eee); margin: 4px 0; }
.contact-location-label { font-size: 12px; color: var(--color-text-pale); margin: 0; }

.social-links { display: flex; gap: 8px; margin-top: 16px; }
.social-link {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: var(--color-bg-alt);
	border-radius: 10px;
	padding: 10px;
	text-decoration: none;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--color-text-md);
	transition: background .12s;
}
.social-link:hover { background: var(--color-border); color: var(--color-navy); }
.social-link [data-lucide] { width: 15px; height: 15px; color: var(--color-text-muted); }

/* Hours table */
.hours-list { display: flex; flex-direction: column; }
.hours-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border-radius: 9px;
}
.hours-row--today { background: var(--color-orange-bg); }
.hours-day { font-size: 13.5px; color: var(--color-text-md); }
.hours-row--today .hours-day { font-weight: 700; color: var(--color-orange-txt); }
.hours-time { font-size: 13.5px; color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.hours-row--today .hours-time { font-weight: 700; color: var(--color-orange-txt); }
.hours-time--closed { color: var(--color-red); }

.open-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 700;
	color: var(--color-green);
	background: var(--color-green-bg);
	padding: 4px 9px;
	border-radius: 7px;
}
.open-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--color-green); }

/* Map placeholder */
.map-card { padding: 6px; }
.map-placeholder {
	height: 200px;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	background: linear-gradient(135deg, #ECF0F3, #E3E9EE);
}
.map-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(180,190,200,.4) 1px, transparent 1px),
		linear-gradient(90deg, rgba(180,190,200,.4) 1px, transparent 1px);
	background-size: 38px 38px;
}
.map-road-h {
	position: absolute;
	left: -10%;
	width: 120%;
	height: 8px;
	background: #D4DCE2;
}
.map-road-v {
	position: absolute;
	top: -10%;
	height: 120%;
	width: 9px;
	background: #D4DCE2;
}
.map-pin {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -100%);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.map-pin__dot {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--color-orange);
	border: 3px solid #fff;
	box-shadow: 0 6px 16px -4px rgba(224,138,46,.6);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.map-pin__dot [data-lucide] { width: 15px; height: 15px; }
.map-pin__arrow {
	width: 0; height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 8px solid var(--color-orange);
	margin-top: -1px;
}

/* Similar companies grid */
.similar-section { margin-top: 30px; }
.similar-title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -.02em;
	color: var(--color-navy);
	margin: 0 0 18px;
}
.similar-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.similar-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	overflow: hidden;
	cursor: pointer;
	transition: box-shadow .16s, transform .16s;
	text-decoration: none;
	color: inherit;
	display: block;
}
.similar-card:hover { box-shadow: 0 16px 34px -18px rgba(21,35,63,.26); transform: translateY(-3px); }
.similar-card__cover {
	height: 118px;
	position: relative;
}
.similar-card__cover::after { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 75% 25%, rgba(255,255,255,.2), transparent 55%); }
.similar-card__body { padding: 14px 15px 16px; }
.similar-card__rating { display: flex; align-items: center; gap: 5px; margin-bottom: 7px; }
.similar-card__rating [data-lucide] { width: 14px; height: 14px; color: var(--color-orange); fill: var(--color-orange); }
.similar-card__rating-val { font-family: var(--font-heading); font-weight: 700; font-size: 13px; color: var(--color-navy); }
.similar-card__rating-cnt { font-size: 12px; color: var(--color-text-pale); }
.similar-card__name { font-family: var(--font-heading); font-weight: 700; font-size: 15px; color: var(--color-navy); margin: 0 0 3px; line-height: 1.25; }
.similar-card__sub { font-size: 12.5px; color: var(--color-text-light); margin: 0; }

/* ============================================================
   RESPONSIVE — Tablet (≤900px)
   ============================================================ */
@media (max-width: 900px) {
	:root { --gap: 22px; }

	.primary-nav { display: none; }
	.header-actions { display: none; }
	.mobile-menu-toggle { display: flex; }

	.hero__title { font-size: 34px; }
	.hero { padding: 44px var(--gap) 56px; }

	.search-bar { flex-direction: column; gap: 0; padding: 6px; }
	.search-bar__field,
	.search-bar__location { width: 100%; padding: 0 14px; }
	.search-bar__divider { width: calc(100% - 28px); height: 1px; margin-inline: 14px; }
	.search-bar__location { background: oklch(0.97 0.01 250); border-radius: 10px; margin-top: 2px; }
	.search-bar__btn { width: 100%; justify-content: center; margin-top: 6px; }

	.categories-grid { grid-template-columns: repeat(3, 1fr); }
	.regions-grid { grid-template-columns: repeat(2, 1fr); }

	.footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }

	.cta-banner { grid-template-columns: 1fr; gap: 24px; }
	.cta-banner__btn { width: 100%; text-align: center; }

	/* Catalog */
	.catalog-columns { grid-template-columns: 1fr; }
	.filters-aside { position: static; }
	.catalog-controls { flex-wrap: wrap; gap: 10px; }
	.sort-group { flex-wrap: wrap; }

	/* Company */
	.company-hero-card { flex-direction: column; }
	.company-hero-cover { width: 100%; height: 220px; border-radius: 12px 12px 0 0; }
	.company-hero-info { padding: 20px; }
	.company-hero-title-row { flex-wrap: wrap; gap: 8px; }
	.company-hero-actions .btn { flex: 1 1 calc(50% - 4px); justify-content: center; }
	.company-columns { grid-template-columns: 1fr; }
	.company-sidebar { position: static; order: -1; }
	.similar-grid { grid-template-columns: repeat(2, 1fr); }
	.company-gallery { grid-template-columns: repeat(3, 1fr); }
	.posts-grid { grid-template-columns: repeat(2, 1fr); }
	.blog-grid { grid-template-columns: repeat(2, 1fr); }

	/* Filters toggle */
	.filters-toggle { display: flex; margin-bottom: 0; border-radius: 10px; }
	.filters-toggle.is-active { border-radius: 10px 10px 0 0; border-bottom-color: transparent; }
	.filters-aside { display: none; }
	.filters-aside.is-open {
		display: block;
		border-radius: 0 0 10px 10px;
		border-top: none;
		margin-top: 0;
	}
	.filters-aside .filters-head { display: none; }

	/* Add company */
	.add-company-layout { grid-template-columns: 1fr; }
	.add-company-sidebar { order: -1; }
	/* Plan picker on mobile */
	.plan-option__name { flex-wrap: wrap; gap: 4px; }
	.plan-option__price { white-space: nowrap; }
}

/* ============================================================
   RESPONSIVE — Mobile (≤600px)
   ============================================================ */
@media (max-width: 600px) {
	:root { --gap: 16px; }

	.site-logo { font-size: 17px; }
	.logo-icon { width: 28px; height: 28px; border-radius: 8px; }
	.logo-icon [data-lucide] { width: 16px; height: 16px; }
	.header-inner { height: 60px; gap: 14px; }

	.hero__title { font-size: 26px; }
	.hero__desc { font-size: 15px; }

	.categories-grid { grid-template-columns: repeat(2, 1fr); }
	.regions-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.recent-grid .company-card { flex: 0 0 100%; max-width: 100%; }

	.section__title { font-size: 22px; }

	.cta-banner { padding: 28px 22px; border-radius: 16px; }
	.cta-banner__title { font-size: 22px; }
	.cta-banner__features { gap: 14px; flex-direction: column; }

	.footer-grid { grid-template-columns: 1fr; gap: 28px; text-align: center; }
	.footer-logo { justify-content: center; }
	.footer-desc { max-width: 100%; }
	.footer-links { align-items: center; }
	.footer-bottom { flex-direction: column; align-items: center; gap: 10px; }

	/* Catalog */
	.catalog-title { font-size: 22px; }
	.listing-card { flex-direction: column; gap: 12px; }
	.listing-card__thumb { width: 100%; min-height: 120px; max-height: 140px; }
	.listing-card__actions { flex-direction: row; flex-wrap: wrap; }
	.listing-card__actions .btn { flex: 1 1 auto; justify-content: center; }
	.view-toggle { display: none; }

	/* Company */
	.company-hero-cover { height: 180px; }
	.company-hero-title { font-size: 20px; }
	.company-hero-actions .btn { flex: 1 1 100%; }
	.company-gallery { grid-template-columns: repeat(2, 1fr); }
	.similar-grid { grid-template-columns: repeat(2, 1fr); }
	.posts-grid { grid-template-columns: 1fr; }
	.blog-grid { grid-template-columns: 1fr; }

	/* Add company */
	.add-company-form-wrap { padding: 20px 16px; }
	.form-grid { grid-template-columns: 1fr; }
	.form-actions .btn--lg { width: 100%; justify-content: center; }
}

/* ── Geo banner ──────────────────────────────────────────────────────────────── */
.geo-banner {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: oklch(0.96 0.03 250);
	border: 1px solid oklch(0.88 0.06 250);
	border-radius: 10px;
	font-size: 14px;
	color: var(--color-navy);
	margin-bottom: 16px;
}
.geo-banner i { width: 16px; height: 16px; color: var(--color-primary); flex-shrink: 0; }
.geo-banner > span { white-space: nowrap; }
.geo-banner strong { color: var(--color-primary); }
.geo-banner__note { color: var(--color-text-pale); font-size: 12px; white-space: nowrap; }
.geo-banner__clear {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	color: var(--color-text-muted);
	text-decoration: none;
	border: 1px solid var(--color-border);
	border-radius: 6px;
	padding: 4px 10px;
	background: var(--color-white);
	white-space: nowrap;
}
.geo-banner__clear:hover { border-color: var(--color-navy); color: var(--color-navy); }
.geo-banner__clear i { width: 14px; height: 14px; }

/* ============================================================
   ADD COMPANY PAGE
   ============================================================ */
.add-company-page { padding: 40px 0 80px; }

.add-company-layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 32px;
	align-items: start;
	margin-top: 32px;
}

/* Header */
.add-company-header { margin-bottom: 32px; }
.add-company-title {
	font-family: var(--font-display);
	font-size: 28px;
	font-weight: 800;
	color: var(--color-navy);
	margin: 0 0 10px;
}
.add-company-desc { color: var(--color-text-muted); font-size: 15px; margin: 0; }

/* Form */
.add-company-form-wrap {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 36px;
}

.form-section {
	border: none;
	padding: 0;
	margin: 0 0 32px;
}
.form-section:last-of-type { margin-bottom: 0; }

.form-section__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 700;
	color: var(--color-navy);
	padding: 0 0 16px;
	margin: 0 0 20px;
	border-bottom: 1px solid var(--color-border-lt);
}
.form-section__title i { width: 18px; height: 18px; color: var(--color-orange); }

.form-section__note {
	font-size: 13px;
	color: var(--color-text-pale);
	margin: -10px 0 18px;
	padding: 10px 14px;
	background: var(--color-bg);
	border-radius: 8px;
}

.form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field--full { grid-column: 1 / -1; }

.form-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-navy);
}
.form-required { color: var(--color-orange); margin-left: 2px; }
.form-hint { font-weight: 400; color: var(--color-text-pale); font-size: 12px; margin-left: 6px; }
.slug-field { display: flex; align-items: center; border: 1.5px solid #D5DAE4; border-radius: 10px; overflow: hidden; background: #fff; }
.slug-field:focus-within { border-color: var(--color-primary); }
.slug-field__prefix { padding: 0 10px; font-size: 13px; color: var(--color-text-pale); background: #F6F7FB; border-right: 1.5px solid #D5DAE4; white-space: nowrap; line-height: 44px; }
.slug-field__input { border: none !important; border-radius: 0 !important; flex: 1; }

.form-input,
.form-select,
.form-textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: 8px;
	font-size: 14px;
	font-family: var(--font-body);
	color: var(--color-navy);
	background: var(--color-white);
	transition: border-color .15s, box-shadow .15s;
	box-sizing: border-box;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px oklch(0.42 0.12 250 / .12);
}
.form-input.is-invalid,
.form-select.is-invalid,
.form-textarea.is-invalid {
	border-color: var(--color-red);
	box-shadow: 0 0 0 3px oklch(0.55 0.14 25 / .1);
}
.form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23646E80' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }
.form-textarea { resize: vertical; min-height: 100px; }
.form-checkboxes { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 4px 0; }
.form-checkbox-label { display: flex; align-items: center; gap: 7px; font-size: 14px; cursor: pointer; }
.form-checkbox-label input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--color-primary); cursor: pointer; }

/* Error */
.form-error {
	padding: 12px 16px;
	background: oklch(0.97 0.02 25);
	border: 1px solid oklch(0.88 0.06 25);
	border-radius: 8px;
	color: var(--color-red);
	font-size: 14px;
	margin-bottom: 20px;
}

/* Actions */
.form-actions { margin-top: 28px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.form-privacy { font-size: 12px; color: var(--color-text-pale); margin: 0; }

/* Plan picker */
.plan-picker { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.plan-picker__label { font-size: 13px; font-weight: 600; color: var(--color-navy); margin-bottom: 4px; }
.plan-option {
	display: flex; align-items: flex-start; gap: 14px;
	border: 1.5px solid var(--color-border);
	border-radius: 12px; padding: 14px 16px;
	cursor: pointer; transition: border-color .15s, background .15s;
}
.plan-option:hover { border-color: var(--color-primary); }
.plan-option input[type="radio"] { display: none; }
.plan-option__check {
	width: 20px; height: 20px; border-radius: 50%;
	border: 2px solid var(--color-border-md);
	flex-shrink: 0; margin-top: 1px;
	display: flex; align-items: center; justify-content: center;
	transition: border-color .15s, background .15s;
}
.plan-option__check::after {
	content: ''; width: 8px; height: 8px; border-radius: 50%;
	background: transparent; transition: background .15s;
}
.plan-option--selected {
	border-color: var(--color-primary);
	background: oklch(0.97 0.02 250);
}
.plan-option--selected .plan-option__check {
	border-color: var(--color-primary);
}
.plan-option--selected .plan-option__check::after { background: var(--color-primary); }
.plan-option__body { flex: 1; }
.plan-option__name { font-size: 14px; font-weight: 700; color: var(--color-navy); display: flex; align-items: center; gap: 8px; }
.plan-option__price { font-size: 13px; font-weight: 700; color: var(--color-orange); }
.plan-option__price--free { color: var(--color-green, #22c55e); }
.plan-option__promo {
	display: inline-block; margin: 4px 0 6px;
	background: #fff8ec; border: 1px solid #fbd38d;
	color: #92400e; font-size: 11.5px; font-weight: 600;
	padding: 3px 8px; border-radius: 5px;
}
.plan-option__desc { font-size: 12.5px; color: var(--color-text-muted); margin-top: 3px; }
.plan-option__features { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.plan-option__feat {
	font-size: 11.5px; padding: 2px 8px; border-radius: 20px;
	background: oklch(0.94 0.05 250); color: var(--color-primary); font-weight: 600;
}
.plan-option__feat--no { background: var(--color-bg); color: var(--color-text-pale); }

/* Success */
.form-success {
	text-align: center;
	padding: 60px 40px;
}
.form-success__icon {
	width: 72px;
	height: 72px;
	background: oklch(0.93 0.07 145);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 24px;
}
.form-success__icon i { width: 36px; height: 36px; color: var(--color-green); }
.form-success__title {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 800;
	color: var(--color-navy);
	margin: 0 0 12px;
}
.form-success__text { color: var(--color-text-muted); font-size: 15px; max-width: 400px; margin: 0 auto; }

/* Sidebar */
.add-company-sidebar { display: flex; flex-direction: column; gap: 20px; }

.benefits-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 24px;
}
.benefits-card--faq { background: var(--color-bg); }

.benefits-card__title {
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 18px;
}

.benefits-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
.benefits-item { display: flex; gap: 14px; align-items: flex-start; }
.benefits-item__icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	background: oklch(0.94 0.05 250);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.benefits-item__icon i { width: 18px; height: 18px; color: var(--color-primary); }
.benefits-item strong { display: block; font-size: 14px; color: var(--color-navy); margin-bottom: 3px; }
.benefits-item p { font-size: 13px; color: var(--color-text-muted); margin: 0; }

.faq-steps {
	padding-left: 20px;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.faq-steps li { font-size: 14px; color: var(--color-text-muted); line-height: 1.5; }

/* ── Pricing compare ─────────────────────────────────────────────────────── */
.pricing-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 32px 0 40px;
}
.pricing-compare--3col {
	grid-template-columns: 1fr 1fr 1fr;
}

.plan-card {
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 16px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.plan-card--premium {
	border-color: #ddb95e;
	border-top: 3px solid #f59e0b;
}

.plan-card__ribbon {
	display: inline-block;
	background: #f59e0b;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	margin-bottom: 12px;
	align-self: flex-start;
}

.plan-card__head { margin-bottom: 20px; }
.plan-card__name {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 8px;
}
.plan-card__name [data-lucide] { width: 16px; height: 16px; color: #d97706; }
.plan-card__price {
	font-family: var(--font-display);
	font-size: 32px;
	font-weight: 800;
	color: var(--color-navy);
	line-height: 1;
	margin-bottom: 4px;
}
.plan-price__currency { font-size: 18px; font-weight: 600; }
.plan-price__period { font-size: 13px; color: var(--color-text-pale); }
.plan-card__sub { font-size: 12px; color: var(--color-text-pale); margin: 0; }

.plan-features {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 9px;
	flex: 1;
}
.pf {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 13.5px;
	color: var(--color-text);
	line-height: 1.35;
}
.pf::before {
	content: '';
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	margin-top: 1px;
	background-size: 12px;
	background-repeat: no-repeat;
	background-position: center;
}
.pf--yes::before {
	background-color: oklch(0.92 0.08 145);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23299040' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.pf--no::before {
	background-color: oklch(0.94 0.01 0);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23B0B8C8' stroke-width='3'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}
.pf--no { color: var(--color-text-pale); }
.pf--gold { font-weight: 600; color: #7a4800; }
.pf--gold::before {
	background-color: #fde68a;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

.plan-card__btn { margin-top: auto; }
.btn--block { width: 100%; justify-content: center; }

.plan-card__contact {
	text-align: center;
	font-size: 12.5px;
	color: var(--color-text-pale);
	margin: 10px 0 0;
}
.plan-card__contact a { color: var(--color-primary); }

@media (max-width: 900px) {
	.pricing-compare--3col { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.pricing-compare { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
	.add-company-layout { grid-template-columns: 1fr !important; }
	.add-company-sidebar { order: -1; }
}
@media (max-width: 600px) {
	.add-company-form-wrap { padding: 20px 16px; }
	.form-grid { grid-template-columns: 1fr; }
	.form-actions .btn--lg { width: 100%; justify-content: center; }
}

/* ============================================================
   INFO PAGES (Contacts / About / For Business)
   ============================================================ */

.info-page { padding: 36px 0 80px; }

/* Page hero */
.page-hero {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 48px;
	padding: 32px 0 8px;
}
.page-hero__title {
	font-family: var(--font-display);
	font-size: 34px;
	font-weight: 800;
	color: var(--color-navy);
	margin: 0 0 14px;
	line-height: 1.2;
}
.page-hero__sub {
	font-size: 16px;
	color: var(--color-text-muted);
	margin: 0;
	line-height: 1.6;
}

/* ── CONTACTS ── */

.contact-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 48px;
}
.contact-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 24px 20px;
	text-align: center;
}
.contact-card__icon {
	width: 48px; height: 48px;
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 14px;
}
.contact-card__icon [data-lucide] { width: 22px; height: 22px; }
.contact-card__label { font-size: 12px; color: var(--color-text-pale); margin-bottom: 4px; }
.contact-card__value {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: var(--color-navy);
	text-decoration: none;
	margin-bottom: 4px;
}
.contact-card__value:hover { color: var(--color-primary); }
.contact-card__note { font-size: 12px; color: var(--color-text-pale); }

.contact-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}
.contact-form-wrap {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 32px;
}
.contact-form-wrap__title {
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 24px;
}
.contact-info { display: flex; flex-direction: column; gap: 28px; }
.contact-info-block__title {
	display: flex; align-items: center; gap: 8px;
	font-size: 15px; font-weight: 700; color: var(--color-navy);
	margin: 0 0 14px;
}
.contact-info-block__title [data-lucide] { width: 18px; height: 18px; color: var(--color-primary); }

.contact-hours {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 8px;
}
.contact-hours li {
	display: flex; justify-content: space-between;
	font-size: 14px; color: var(--color-text);
	padding-bottom: 8px;
	border-bottom: 1px solid var(--color-border-lt);
}
.contact-hours li:last-child { border-bottom: none; }
.contact-hours__closed span { color: var(--color-text-pale); }

.contact-faq-list {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 14px;
}
.contact-faq-list li strong { display: block; font-size: 14px; color: var(--color-navy); margin-bottom: 3px; }
.contact-faq-list li p { font-size: 13px; color: var(--color-text-muted); margin: 0; }

/* ── ABOUT ── */

.stat-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 48px;
}
.stat-item {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 28px 20px;
	text-align: center;
}
.stat-item__num {
	font-family: var(--font-display);
	font-size: 36px;
	font-weight: 900;
	color: var(--color-navy);
	margin-bottom: 6px;
}
.stat-item__label { font-size: 13px; color: var(--color-text-muted); }

.about-mission {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 56px;
}
.about-mission__text h2 {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 16px;
}
.about-mission__text p { font-size: 15px; color: var(--color-text-muted); line-height: 1.7; margin: 0 0 12px; }
.about-mission__visual {
	background: oklch(0.96 0.03 250);
	border-radius: 20px;
	padding: 32px;
	text-align: center;
}
.about-mission__map {
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	margin-bottom: 20px;
}
.about-mission__map [data-lucide] { width: 48px; height: 48px; color: var(--color-primary); }
.about-mission__map span { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--color-navy); }
.about-mission__cities { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.about-city-chip {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 20px;
	padding: 4px 12px;
	font-size: 13px;
	color: var(--color-navy);
}

.about-values-section { margin-bottom: 56px; }
.about-values-section__title {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 700;
	color: var(--color-navy);
	text-align: center;
	margin: 0 0 28px;
}
.about-values {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.about-value {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 24px;
}
.about-value__icon {
	width: 44px; height: 44px;
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}
.about-value__icon [data-lucide] { width: 22px; height: 22px; }
.about-value h3 { font-size: 15px; font-weight: 700; color: var(--color-navy); margin: 0 0 8px; }
.about-value p { font-size: 13px; color: var(--color-text-muted); margin: 0; line-height: 1.5; }

.about-cta {
	text-align: center;
	background: var(--color-bg);
	border-radius: 20px;
	padding: 48px 32px;
}
.about-cta h2 { font-family: var(--font-display); font-size: 24px; font-weight: 700; color: var(--color-navy); margin: 0 0 10px; }
.about-cta p { color: var(--color-text-muted); margin: 0 0 24px; }
.about-cta__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── FOR BUSINESS ── */

.biz-page { padding: 28px 0 80px; }

.biz-hero { padding: 48px 0 40px; text-align: center; }
.biz-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 7px;
	background: oklch(0.94 0.05 250); color: var(--color-primary);
	font-size: 13px; font-weight: 600; border-radius: 20px;
	padding: 5px 14px; margin-bottom: 18px;
}
.biz-hero h1 {
	font-family: var(--font-display); font-size: 38px; font-weight: 800;
	color: var(--color-navy); margin: 0 0 14px; line-height: 1.18;
}
.biz-hero__sub { font-size: 17px; color: var(--color-text-muted); max-width: 540px; margin: 0 auto 28px; line-height: 1.6; }
.biz-hero__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.biz-stat-bar {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 0; border: 1px solid var(--color-border);
	border-radius: 16px; overflow: hidden;
	margin-bottom: 64px; background: var(--color-white);
}
.biz-stat {
	padding: 24px 20px; text-align: center;
	border-right: 1px solid var(--color-border);
}
.biz-stat:last-child { border-right: none; }
.biz-stat strong { display: block; font-family: var(--font-display); font-size: 28px; font-weight: 800; color: var(--color-navy); }
.biz-stat span { font-size: 13px; color: var(--color-text-muted); }

.biz-hook {
	background: linear-gradient(135deg, oklch(0.18 0.04 250) 0%, oklch(0.22 0.06 260) 100%);
	border-radius: 20px; padding: 52px 48px;
	display: grid; grid-template-columns: auto 1fr; gap: 32px;
	align-items: center; margin-bottom: 64px;
}
.biz-hook__icon {
	width: 72px; height: 72px; border-radius: 20px;
	background: rgba(255,255,255,.12);
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.biz-hook__icon [data-lucide] { width: 36px; height: 36px; color: var(--color-orange); }
.biz-hook__body h2 { font-family: var(--font-display); font-size: 24px; font-weight: 800; color: #fff; margin: 0 0 10px; }
.biz-hook__body p { font-size: 15px; color: oklch(0.82 0.03 250); margin: 0; line-height: 1.6; }
.biz-hook__pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.biz-hook__pill {
	background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
	color: #fff; font-size: 13px; font-weight: 600;
	padding: 5px 12px; border-radius: 20px;
	display: flex; align-items: center; gap: 5px;
}
.biz-hook__pill [data-lucide] { width: 14px; height: 14px; color: var(--color-orange); }

.biz-pricing-grid {
	display: grid; grid-template-columns: 1fr 1fr;
	gap: 20px; max-width: 780px; margin: 0 auto 64px;
}
.pricing-card {
	border: 1px solid var(--color-border);
	border-radius: 20px; padding: 32px;
	background: var(--color-white);
	display: flex; flex-direction: column;
}
.pricing-card--featured {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px oklch(0.94 0.05 250);
	position: relative;
}
.pricing-card__badge {
	position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
	background: var(--color-primary); color: #fff;
	font-size: 12px; font-weight: 700; padding: 4px 14px; border-radius: 20px;
	white-space: nowrap;
}
.pricing-card__name { font-size: 14px; font-weight: 600; color: var(--color-text-muted); margin: 0 0 12px; text-transform: uppercase; letter-spacing: .04em; }
.pricing-card__price { display: flex; align-items: baseline; gap: 4px; margin-bottom: 6px; }
.pricing-card__amount { font-family: var(--font-display); font-size: 40px; font-weight: 800; color: var(--color-navy); }
.pricing-card__currency { font-size: 18px; font-weight: 700; color: var(--color-navy); }
.pricing-card__period { font-size: 13px; color: var(--color-text-muted); margin: 0 0 12px; }
.pricing-card__period-inline { font-size: 15px; font-weight: 600; color: var(--color-text-muted); margin-left: 2px; }
.pricing-card__promo {
	display: flex; align-items: flex-start; gap: 6px;
	background: #fff8ec; border: 1.5px solid #fbd38d; border-radius: 8px;
	padding: 8px 12px; margin: 0 0 20px;
	font-size: 12.5px; font-weight: 600; color: #92400e; line-height: 1.4;
}
.pricing-card__promo [data-lucide] { width: 14px; height: 14px; flex-shrink: 0; margin-top: 1px; color: #d97706; }
.pricing-card__features { list-style: none; padding: 0; margin: 0 0 28px; flex: 1; }
.pricing-card__features li {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 14px; color: var(--color-text); padding: 8px 0;
	border-bottom: 1px solid var(--color-border-lt);
}
.pricing-card__features li:last-child { border-bottom: none; }
.pricing-card__features li [data-lucide] { width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; }
.pricing-card__features .feat-ok [data-lucide] { color: #22c55e; }
.pricing-card__features .feat-no [data-lucide] { color: var(--color-border-md); }
.pricing-card__features .feat-no span { color: var(--color-text-muted); }
.pricing-card__cta { display: block; text-align: center; }

.biz-benefits {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 56px;
}
.biz-benefit {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 24px;
}
.biz-benefit__icon {
	width: 44px; height: 44px;
	background: oklch(0.94 0.05 250);
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 14px;
}
.biz-benefit__icon [data-lucide] { width: 22px; height: 22px; color: var(--color-primary); }
.biz-benefit h3 { font-size: 15px; font-weight: 700; color: var(--color-navy); margin: 0 0 8px; }
.biz-benefit p { font-size: 13px; color: var(--color-text-muted); margin: 0; line-height: 1.5; }

.biz-section-title {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: 800;
	color: var(--color-navy);
	text-align: center;
	margin: 0 0 8px;
}
.biz-section-sub { text-align: center; color: var(--color-text-muted); margin: 0 0 32px; }

.biz-pricing-section { margin-bottom: 64px; }

.biz-process-section { margin-bottom: 64px; }
.biz-process {
	display: flex;
	align-items: flex-start;
	gap: 0;
	justify-content: center;
	flex-wrap: wrap;
}
.biz-step {
	flex: 1;
	min-width: 180px;
	max-width: 280px;
	text-align: center;
	padding: 24px;
}
.biz-step__num {
	width: 52px; height: 52px;
	background: var(--color-primary);
	color: var(--color-white);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: 800;
	margin: 0 auto 16px;
}
.biz-step__body h3 { font-size: 16px; font-weight: 700; color: var(--color-navy); margin: 0 0 8px; }
.biz-step__body p  { font-size: 13px; color: var(--color-text-muted); margin: 0; line-height: 1.5; }
.biz-step__arrow {
	display: flex; align-items: center; padding-top: 28px;
	color: var(--color-border);
}
.biz-step__arrow [data-lucide] { width: 24px; height: 24px; }

.biz-faq-section { margin-bottom: 56px; max-width: 760px; margin-left: auto; margin-right: auto; }
.biz-faq { border: 1px solid var(--color-border); border-radius: 16px; overflow: hidden; }
.biz-faq-item { border-bottom: 1px solid var(--color-border-lt); }
.biz-faq-item:last-child { border-bottom: none; }
.biz-faq-q {
	width: 100%;
	display: flex; justify-content: space-between; align-items: center;
	gap: 12px;
	background: none;
	border: none;
	padding: 18px 24px;
	font-size: 15px;
	font-weight: 600;
	color: var(--color-navy);
	cursor: pointer;
	text-align: left;
	transition: background .12s;
}
.biz-faq-q:hover { background: var(--color-bg); }
.biz-faq-item.is-open .biz-faq-q { background: var(--color-bg); color: var(--color-primary); }
.faq-chevron { width: 18px; height: 18px; flex-shrink: 0; transition: transform .2s; }
.biz-faq-item.is-open .faq-chevron { transform: rotate(180deg); }
.biz-faq-a { padding: 0 24px 18px; }
.biz-faq-a p { font-size: 14px; color: var(--color-text-muted); margin: 0; line-height: 1.6; }

.biz-cta-banner {
	background: var(--color-navy);
	border-radius: 20px;
	padding: 56px 48px;
	text-align: center;
	margin-top: 64px;
}
.biz-cta-banner__title {
	font-family: var(--font-display);
	font-size: 30px;
	font-weight: 800;
	color: var(--color-white);
	margin: 0 0 10px;
}
.biz-cta-banner__sub { font-size: 16px; color: oklch(0.85 0.03 250); margin: 0 0 28px; }
.biz-cta-banner__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.btn--white {
	background: var(--color-white);
	color: var(--color-navy);
	border-color: var(--color-white);
}
.btn--white:hover { background: oklch(0.94 0.02 250); }
.btn--outline-white {
	background: transparent;
	color: var(--color-white);
	border-color: rgba(255,255,255,.4);
}
.btn--outline-white:hover { border-color: var(--color-white); }

/* ── Responsive info pages ── */
@media (max-width: 900px) {
	.contact-grid    { grid-template-columns: repeat(2, 1fr); }
	.stat-bar        { grid-template-columns: repeat(2, 1fr); }
	.about-mission   { grid-template-columns: 1fr; }
	.about-values    { grid-template-columns: repeat(2, 1fr); }
	.biz-benefits    { grid-template-columns: repeat(2, 1fr); }
	.biz-step__arrow { display: none; }
	.biz-stat-bar    { grid-template-columns: repeat(2, 1fr); }
	.biz-stat        { border-right: none; border-bottom: 1px solid var(--color-border); }
	.biz-stat:nth-child(odd)  { border-right: 1px solid var(--color-border); }
	.biz-stat:nth-last-child(-n+2) { border-bottom: none; }
	.biz-hook        { grid-template-columns: 1fr; gap: 20px; padding: 36px 28px; }
	.biz-pricing-grid { max-width: 100%; }
	.biz-hero h1     { font-size: 30px; }
}
@media (max-width: 600px) {
	.contact-grid    { grid-template-columns: 1fr; }
	.stat-bar        { grid-template-columns: 1fr 1fr; }
	.contact-layout  { grid-template-columns: 1fr; }
	.about-values    { grid-template-columns: 1fr; }
	.biz-benefits    { grid-template-columns: 1fr; }
	.page-hero__title { font-size: 26px; }
	.biz-cta-banner  { padding: 36px 24px; }
	.biz-stat-bar    { grid-template-columns: 1fr 1fr; }
	.biz-pricing-grid { grid-template-columns: 1fr; }
	.biz-hook        { padding: 28px 20px; }
	.biz-hero h1     { font-size: 26px; }
	.biz-hero__sub   { font-size: 15px; }
}

/* ============================================================
   BLOG
   ============================================================ */

/* Layout */
.blog-layout { padding: 32px 0 80px; }

/* Header */
.blog-header { margin-bottom: 24px; }
.blog-header__title {
	font-family: var(--font-heading);
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 800;
	color: var(--color-navy);
	margin: 0 0 8px;
}
.blog-header__sub {
	font-size: 16px;
	color: var(--color-text-pale);
	margin: 0;
}

/* Top category nav */
.blog-cat-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}
.blog-cat-btn {
	display: inline-flex;
	align-items: center;
	padding: 7px 16px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	color: var(--color-navy);
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	text-decoration: none;
	transition: border-color .15s, background .15s, color .15s;
}
.blog-cat-btn:hover { border-color: var(--color-orange); color: var(--color-orange); }
.blog-cat-btn.is-active {
	background: var(--color-orange);
	border-color: var(--color-orange);
	color: #fff;
}

/* Subcat pills (second row) */
.blog-subcat-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 24px;
	padding: 12px 16px;
	background: var(--color-bg);
	border-radius: 12px;
}

/* Post grid */
.blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
	margin-bottom: 40px;
}

/* Homepage blog section */
.home-blog-section { padding-bottom: 8px; }

/* Blog card */
.blog-card {
	display: flex;
	flex-direction: column;
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.blog-card:hover {
	border-color: var(--color-orange);
	box-shadow: 0 6px 24px oklch(0.65 0.18 50 / .12);
	transform: translateY(-2px);
}
.blog-card__img {
	aspect-ratio: 16/9;
	overflow: hidden;
	background: var(--color-bg);
}
.blog-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s;
}
.blog-card:hover .blog-card__img img { transform: scale(1.04); }
.blog-card__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}
.blog-card__img--placeholder [data-lucide] {
	width: 40px;
	height: 40px;
	color: oklch(0.7 0.04 250);
}
.blog-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 16px 18px 18px;
	gap: 8px;
}
.blog-card__cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--color-orange);
	padding: 3px 10px;
	background: oklch(0.97 0.03 50);
	border-radius: 999px;
	text-decoration: none;
	width: fit-content;
}
.blog-card__title {
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 700;
	color: var(--color-navy);
	line-height: 1.35;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.blog-card:hover .blog-card__title { color: var(--color-orange); }
.blog-card__excerpt {
	font-size: 13.5px;
	color: var(--color-text-pale);
	line-height: 1.55;
	margin: 0;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.blog-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--color-text-muted, #9ca3af);
	margin-top: 4px;
}
.blog-card__dot { opacity: .5; }
.blog-card__arrow {
	width: 14px;
	height: 14px;
	margin-left: auto;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .2s, transform .2s;
}
.blog-card:hover .blog-card__arrow { opacity: 1; transform: none; }

/* ── Single post ── */
.single-post-layout { padding: 32px 0 80px; }
.single-post-grid {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 40px;
	align-items: start;
	margin-top: 24px;
}
@media (max-width: 900px) {
	.single-post-grid { grid-template-columns: 1fr; }
	.post-sidebar { order: -1; }
}

/* Article */
.post-article__header { margin-bottom: 24px; }
.post-article__cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.post-article__title {
	font-family: var(--font-heading);
	font-size: clamp(22px, 3.5vw, 32px);
	font-weight: 800;
	color: var(--color-navy);
	line-height: 1.25;
	margin: 0 0 16px;
}
.post-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--color-text-pale);
}
.post-article__meta-item { display: flex; align-items: center; gap: 5px; }
.post-article__meta-item [data-lucide] { width: 14px; height: 14px; }
.post-article__meta-sep { opacity: .4; }
.post-article__cover {
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 28px;
}
.post-article__cover img { width: 100%; height: auto; display: block; }

/* Post content typography */
.post-article__content {
	font-size: 16px;
	line-height: 1.75;
	color: var(--color-text);
}
.post-article__content > * + * { margin-top: 16px; }
.post-article__content h2 {
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--color-navy);
	margin-top: 32px;
}
.post-article__content h3 {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-navy);
	margin-top: 24px;
}
.post-article__content h4 {
	font-size: 16px;
	font-weight: 600;
	color: var(--color-navy);
	margin-top: 20px;
}
.post-article__content p { margin: 0; }
.post-article__content ul,
.post-article__content ol {
	padding-left: 22px;
}
.post-article__content li + li { margin-top: 6px; }
.post-article__content blockquote {
	border-left: 3px solid var(--color-orange);
	padding: 12px 20px;
	margin: 24px 0;
	background: oklch(0.98 0.01 50);
	border-radius: 0 10px 10px 0;
	font-style: italic;
	color: var(--color-navy);
}
.post-article__content img {
	max-width: 100%;
	border-radius: 12px;
}
.post-article__content a { color: var(--color-orange); text-decoration: underline; }

/* Tags */
.post-article__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--color-border);
}
.post-tag {
	font-size: 12px;
	color: var(--color-text-pale);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	padding: 4px 12px;
	text-decoration: none;
	transition: border-color .15s, color .15s;
}
.post-tag:hover { color: var(--color-orange); border-color: var(--color-orange); }

/* Share */
.post-article__share {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	flex-wrap: wrap;
}
.post-article__share-label { font-size: 13px; color: var(--color-text-pale); font-weight: 500; }
.share-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	padding: 7px 14px;
	border-radius: 8px;
	text-decoration: none;
	transition: opacity .15s;
}
.share-btn:hover { opacity: .82; }
.share-btn [data-lucide] { width: 15px; height: 15px; }
.share-btn--tg { background: #2ca5e0; color: #fff; }
.share-btn--fb { background: #1877f2; color: #fff; }

/* Sidebar */
.post-sidebar { display: flex; flex-direction: column; gap: 20px; }
.post-sidebar__block {
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 14px;
	padding: 18px 20px;
}
.post-sidebar__title {
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 14px;
}
.post-sidebar__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.post-sidebar__item {}
.post-sidebar__link {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	text-decoration: none;
}
.post-sidebar__link:hover .post-sidebar__name { color: var(--color-orange); }
.post-sidebar__thumb {
	width: 56px;
	height: 40px;
	border-radius: 6px;
	overflow: hidden;
	flex-shrink: 0;
}
.post-sidebar__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-sidebar__name {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: var(--color-navy);
	line-height: 1.35;
	transition: color .15s;
}
.post-sidebar__date { display: block; font-size: 11.5px; color: var(--color-text-pale); margin-top: 2px; }
.post-sidebar__more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--color-orange);
	text-decoration: none;
	margin-top: 12px;
}
.post-sidebar__more [data-lucide] { width: 14px; height: 14px; }
.post-sidebar__cats { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.post-sidebar__cat-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 7px 10px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--color-navy);
	text-decoration: none;
	transition: background .15s, color .15s;
}
.post-sidebar__cat-link:hover,
.post-sidebar__cat-link.is-active { background: oklch(0.97 0.02 50); color: var(--color-orange); }
.post-sidebar__cat-count {
	font-size: 12px;
	font-weight: 400;
	color: var(--color-text-pale);
	background: var(--color-bg);
	border-radius: 999px;
	padding: 1px 8px;
}
.post-sidebar__subcats { list-style: none; padding: 0 0 0 12px; margin: 0; }
.post-sidebar__subcat-link {
	display: block;
	padding: 5px 10px;
	font-size: 13px;
	color: var(--color-text-muted);
	text-decoration: none;
	border-radius: 6px;
	transition: color .15s, background .15s;
}
.post-sidebar__subcat-link:hover,
.post-sidebar__subcat-link.is-active { color: var(--color-orange); background: oklch(0.97 0.02 50); }
.post-sidebar__cat-link [data-lucide] { width: 14px; height: 14px; flex-shrink: 0; opacity: .6; }

/* ── Category overview cards (home.php) ── */
.bcat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
	margin-bottom: 36px;
}
.bcat-card {
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 16px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}
.bcat-card:hover { border-color: var(--color-orange); box-shadow: 0 4px 20px oklch(0.65 0.18 50 / .1); }
.bcat-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	text-decoration: none;
}
.bcat-card__icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.bcat-card__icon [data-lucide] { width: 20px; height: 20px; }
.bcat-card__meta { flex: 1; }
.bcat-card__name {
	display: block;
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 700;
	color: var(--color-navy);
	transition: color .15s;
}
.bcat-card:hover .bcat-card__name { color: var(--color-orange); }
.bcat-card__count { font-size: 12px; color: var(--color-text-pale); }
.bcat-card__arrow {
	width: 16px;
	height: 16px;
	color: var(--color-text-pale);
	transition: transform .2s, color .2s;
}
.bcat-card:hover .bcat-card__arrow { transform: translateX(3px); color: var(--color-orange); }
.bcat-card__subs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0 18px 16px;
	border-top: 1px solid var(--color-bg);
	padding-top: 12px;
}
.bcat-card__sub-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--color-text-pale);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	padding: 3px 10px;
	text-decoration: none;
	transition: border-color .15s, color .15s, background .15s;
}
.bcat-card__sub-link:hover { color: var(--color-orange); border-color: var(--color-orange); background: oklch(0.98 0.02 50); }
.bcat-card__sub-count {
	font-size: 10px;
	color: var(--color-text-muted, #9ca3af);
	background: var(--color-white);
	border-radius: 999px;
	padding: 1px 5px;
	border: 1px solid var(--color-border);
}

/* ── Blog section head ── */
.blog-section-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.blog-section-head__title {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
.blog-section-head__icon {
	width: 34px;
	height: 34px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.blog-section-head__icon [data-lucide] { width: 17px; height: 17px; }
.blog-section-head__desc {
	width: 100%;
	font-size: 14px;
	color: var(--color-text-pale);
	margin: 4px 0 0;
}

/* ── Blog category tabs (category.php) ── */
.blog-tabs {
	display: flex;
	gap: 0;
	border-bottom: 2px solid var(--color-border);
	margin-bottom: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.blog-tabs::-webkit-scrollbar { display: none; }
.blog-tabs__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 18px;
	font-size: 14px;
	font-weight: 500;
	color: var(--color-text-pale);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	white-space: nowrap;
	transition: color .15s, border-color .15s;
}
.blog-tabs__item [data-lucide] { width: 15px; height: 15px; }
.blog-tabs__item:hover { color: var(--color-navy); }
.blog-tabs__item.is-active {
	color: var(--color-navy);
	border-bottom-color: var(--color-navy);
	font-weight: 600;
}

/* ── Subcategory section (category.php) ── */
.blog-subcat-section {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	background: oklch(0.98 0.005 50);
	border: 1px solid var(--color-border);
	border-top: none;
	border-radius: 0 0 12px 12px;
	padding: 10px 16px;
	margin-bottom: 28px;
}
.blog-subcat-label {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 600;
	color: var(--color-text-pale);
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
}
.blog-subcat-label [data-lucide] { width: 13px; height: 13px; }
.blog-subcat-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.blog-subcat-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 14px;
	font-size: 13px;
	font-weight: 500;
	color: var(--color-navy);
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 999px;
	text-decoration: none;
	transition: border-color .15s, color .15s, background .15s;
}
.blog-subcat-chip:hover { border-color: var(--color-navy); color: var(--color-navy); }
.blog-subcat-chip.is-active {
	background: var(--color-navy);
	border-color: var(--color-navy);
	color: #fff;
}
.blog-subcat-chip.is-active .blog-subcat-chip__count { background: rgba(255,255,255,.25); color: #fff; border-color: transparent; }
.blog-subcat-chip__count {
	font-size: 11px;
	font-weight: 400;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	padding: 0 6px;
	line-height: 1.6;
}

/* ── Author card ── */
.post-author {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-top: 36px;
	padding: 20px 22px;
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 16px;
}
.post-author__avatar-wrap { flex-shrink: 0; }
.post-author__avatar {
	width: 72px !important;
	height: 72px !important;
	border-radius: 50%;
	display: block;
}
.post-author__info { flex: 1; }
.post-author__label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--color-orange);
	margin-bottom: 4px;
}
.post-author__name {
	display: block;
	font-family: var(--font-heading);
	font-size: 17px;
	font-weight: 700;
	color: var(--color-navy);
	text-decoration: none;
	margin-bottom: 6px;
}
.post-author__name:hover { color: var(--color-orange); }
.post-author__bio {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--color-text-pale);
	margin: 0;
}
.post-author__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--color-orange);
	text-decoration: none;
	margin-top: 8px;
	white-space: nowrap;
	flex-shrink: 0;
}
.post-author__link [data-lucide] { width: 14px; height: 14px; }
.post-author__count {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	font-weight: 500;
	color: var(--color-text-pale);
	white-space: nowrap;
	flex-shrink: 0;
}
.post-author__count [data-lucide] { width: 14px; height: 14px; }
.post-author--archive {
	margin-top: 24px;
	margin-bottom: 8px;
}
@media (max-width: 600px) {
	.post-author { flex-wrap: wrap; }
	.post-author__link { width: 100%; }
}

/* ── Comments ── */
.post-comments { margin-top: 40px; }
.post-comments__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 20px;
}
.post-comments__title [data-lucide] { width: 20px; height: 20px; color: var(--color-orange); }
.post-comments__list { display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }

/* Comment item */
.comment-item {
	display: flex;
	gap: 14px;
	padding: 16px 18px;
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 14px;
}
.comment-item .comment-item {
	margin-top: 12px;
	margin-left: 32px;
	background: var(--color-bg);
}
.comment-item__avatar-img {
	width: 48px !important;
	height: 48px !important;
	border-radius: 50%;
	flex-shrink: 0;
	display: block;
}
.comment-item__body { flex: 1; }
.comment-item__header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}
.comment-item__author { font-size: 14px; font-weight: 600; color: var(--color-navy); }
.comment-item__date { font-size: 12px; color: var(--color-text-pale); }
.comment-item__pending {
	font-size: 11px;
	font-weight: 500;
	background: oklch(0.96 0.03 50);
	color: var(--color-orange);
	border-radius: 999px;
	padding: 2px 8px;
}
.comment-item__text { font-size: 14px; line-height: 1.6; color: var(--color-text); }
.comment-item__text p { margin: 0; }
.comment-item__reply a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 500;
	color: var(--color-text-pale);
	text-decoration: none;
	margin-top: 8px;
	transition: color .15s;
}
.comment-item__reply a:hover { color: var(--color-orange); }

/* Comment form */
.post-comments__form-title {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 20px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.post-comments__form-title [data-lucide] { width: 18px; height: 18px; color: var(--color-orange); }
.comment-form { display: flex; flex-direction: column; gap: 16px; }
.comment-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .comment-form-row { grid-template-columns: 1fr; } }
.comment-form-author,
.comment-form-email,
.comment-form-comment { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.comment-form label {
	font-size: 13px;
	font-weight: 500;
	color: var(--color-navy);
}
.comment-form .required { color: var(--color-orange); }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: 10px;
	font-size: 14px;
	font-family: inherit;
	color: var(--color-text);
	background: var(--color-white);
	transition: border-color .15s, box-shadow .15s;
	box-sizing: border-box;
}
.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--color-orange);
	box-shadow: 0 0 0 3px oklch(0.65 0.18 50 / .12);
}
.comment-form textarea { resize: vertical; min-height: 120px; }
.comment-form .form-submit { margin: 0; }
.comment-form .btn--orange { padding: 11px 28px; font-size: 14px; }

/* Avatar in post meta */
.post-article__meta-author {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: var(--color-text-pale);
	transition: color .15s;
}
.post-article__meta-author:hover { color: var(--color-orange); }
.post-article__meta-avatar {
	width: 20px !important;
	height: 20px !important;
	border-radius: 50%;
	display: block;
}

/* ============================================================
   GEO BLOG (zb_post CPT)
   ============================================================ */

/* Articles (standard WP posts) section on blog hub */
.blog-articles-section { margin-top: 48px; }
.blog-articles-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}
.blog-articles-section__head .blog-section-title { margin-bottom: 0; }
.blog-articles-section__more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
	white-space: nowrap;
}
.blog-articles-section__more:hover { text-decoration: underline; }
.blog-articles-section__more [data-lucide] { width: 14px; height: 14px; }

/* Shared section title */
.blog-section-title {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 16px;
}

/* blog-card extras for geo blog */
.blog-card__rubric {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--color-orange);
	margin-bottom: 6px;
}
.blog-card__city {
	font-size: 11px;
	color: var(--color-text-pale);
	margin-left: 6px;
}
.blog-card__foot {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--color-border);
}
.blog-card__date { font-size: 12px; color: var(--color-text-pale); }
.blog-card__read-time { font-size: 12px; color: var(--color-text-pale); }

/* ── City grid on /blog/ ── */
.blog-city-section { margin-bottom: 40px; }
.blog-city-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 12px;
}
.blog-city-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 12px;
	text-decoration: none;
	color: var(--color-navy);
	font-weight: 600;
	font-size: 15px;
	transition: border-color .18s, box-shadow .18s;
}
.blog-city-card:hover {
	border-color: var(--color-orange);
	box-shadow: 0 4px 14px rgba(224,138,46,.14);
}
.blog-city-card__name { flex: 1; }
.blog-city-card__count { font-size: 12px; font-weight: 400; color: var(--color-text-pale); }
.blog-city-card__arrow { width: 16px; height: 16px; opacity: .4; }
.blog-city-card:hover .blog-city-card__arrow { opacity: 1; color: var(--color-orange); }

/* ── Rubric strip on /blog/ ── */
.blog-rubric-overview { margin-bottom: 40px; }
.blog-rubric-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.blog-rubric-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	color: var(--rubric-color, var(--color-navy));
	background: color-mix(in srgb, var(--rubric-color, #15233f) 10%, white);
	border: 1.5px solid color-mix(in srgb, var(--rubric-color, #15233f) 25%, transparent);
}
.blog-rubric-chip [data-lucide] { width: 14px; height: 14px; }

/* ── Rubric grid on /blog/{city}/ ── */
.blog-rubric-section { margin-bottom: 40px; }
.blog-rubric-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 14px;
}
.blog-rubric-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 16px;
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 14px;
	text-decoration: none;
	color: var(--color-navy);
	transition: border-color .18s, box-shadow .18s, transform .18s;
}
.blog-rubric-card:hover {
	border-color: var(--color-orange);
	box-shadow: 0 6px 20px rgba(224,138,46,.12);
	transform: translateY(-2px);
}
.blog-rubric-card--empty { opacity: .65; }
.blog-rubric-card__icon [data-lucide] { width: 24px; height: 24px; }
.blog-rubric-card__name { font-size: 14px; font-weight: 600; line-height: 1.3; }
.blog-rubric-card__count { font-size: 12px; color: var(--color-text-pale); margin-top: auto; }
.blog-rubric-card__count--soon { font-style: italic; }

/* ── Rubric archive: two-column layout ── */
.blog-rubric-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 32px;
	align-items: start;
}
.blog-rubric-head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0 0 0 16px;
	margin-bottom: 24px;
}
.blog-rubric-head__icon [data-lucide] { width: 28px; height: 28px; }
.blog-rubric-head__title {
	font-family: var(--font-heading);
	font-size: clamp(22px, 3.5vw, 30px);
	font-weight: 800;
	color: var(--color-navy);
	margin: 0;
	line-height: 1.2;
}
.blog-rubric-head__city {
	font-size: 18px;
	font-weight: 500;
	color: var(--color-text-pale);
}
.blog-rubric-head__desc { font-size: 15px; color: var(--color-text-pale); margin: 0; }

/* Sidebar widgets */
.blog-rubric-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 80px; }
.blog-sidebar-widget {
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	border-radius: 14px;
	padding: 18px;
}
.blog-sidebar-widget__title {
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 700;
	color: var(--color-navy);
	text-transform: uppercase;
	letter-spacing: .05em;
	margin: 0 0 12px;
}
.blog-sidebar-widget__text { font-size: 13px; color: var(--color-text-pale); margin: 0 0 12px; }
.blog-sidebar-rubric-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.blog-sidebar-rubric-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	border-radius: 8px;
	text-decoration: none;
	font-size: 13.5px;
	color: var(--color-navy);
	transition: background .15s;
}
.blog-sidebar-rubric-item:hover { background: var(--color-bg); color: var(--color-orange); }
.blog-sidebar-rubric-item__icon [data-lucide] { width: 15px; height: 15px; }

/* Empty rubric state */
.blog-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 60px 0;
	text-align: center;
	color: var(--color-text-pale);
}
.blog-empty [data-lucide] { width: 48px; height: 48px; opacity: .4; }

/* City catalog CTA */
.blog-city-catalog-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 40px;
	padding: 20px 24px;
	background: var(--color-bg);
	border-radius: 14px;
	font-size: 15px;
	color: var(--color-text-pale);
}

/* ── Single article ── */
.blog-single-layout { padding: 32px 0 80px; }
.blog-single-wrap { max-width: 780px; margin: 0 auto; }
.blog-article {}
.blog-article__header { margin-bottom: 24px; }
.blog-article__badges {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.blog-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}
.blog-badge--rubric { transition: opacity .15s; }
.blog-badge--rubric:hover { opacity: .8; }
.blog-badge--type {
	background: var(--color-bg);
	color: var(--color-text-pale);
}
.blog-badge [data-lucide] { width: 13px; height: 13px; }

.blog-article__title {
	font-family: var(--font-heading);
	font-size: clamp(24px, 4.5vw, 38px);
	font-weight: 800;
	color: var(--color-navy);
	line-height: 1.2;
	margin: 0 0 16px;
}
.blog-article__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13px;
	color: var(--color-text-pale);
}
.blog-article__meta [data-lucide] { width: 14px; height: 14px; }
.blog-article__city,
.blog-article__date,
.blog-article__updated,
.blog-article__read-time {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.blog-article__thumb {
	margin: 24px 0;
	border-radius: 14px;
	overflow: hidden;
}
.blog-article__thumb img { width: 100%; display: block; }

/* Article body typography */
.blog-article__content {
	font-size: 16px;
	line-height: 1.75;
	color: var(--color-text);
}
.blog-article__content h2 {
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 36px 0 14px;
}
.blog-article__content h3 {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 28px 0 10px;
}
.blog-article__content p { margin: 0 0 16px; }
.blog-article__content ul,
.blog-article__content ol { padding-left: 24px; margin: 0 0 16px; }
.blog-article__content li { margin-bottom: 6px; }
.blog-article__content blockquote {
	border-left: 4px solid var(--color-orange);
	padding: 12px 20px;
	margin: 24px 0;
	background: oklch(0.97 0.03 50);
	border-radius: 0 10px 10px 0;
	font-style: italic;
	color: var(--color-text);
}
.blog-article__content a { color: var(--color-orange); }
.blog-article__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	margin: 0 0 20px;
}
.blog-article__content th,
.blog-article__content td {
	padding: 10px 14px;
	border: 1px solid var(--color-border);
	text-align: left;
}
.blog-article__content th {
	background: var(--color-bg);
	font-weight: 700;
	color: var(--color-navy);
}

/* FAQ */
.blog-faq { margin: 40px 0; }
.blog-faq__title {
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 16px;
}
.blog-faq__list { display: flex; flex-direction: column; gap: 8px; }
.blog-faq__item {
	border: 1.5px solid var(--color-border);
	border-radius: 12px;
	overflow: hidden;
}
.blog-faq__item[open] { border-color: var(--color-orange); }
.blog-faq__question {
	padding: 14px 18px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	list-style: none;
	color: var(--color-navy);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.blog-faq__question::-webkit-details-marker { display: none; }
.blog-faq__question::after { content: '+'; font-size: 18px; color: var(--color-orange); }
.blog-faq__item[open] .blog-faq__question::after { content: '−'; }
.blog-faq__answer {
	padding: 0 18px 16px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--color-text);
}

/* Guide links */
.blog-guide-links {
	margin: 32px 0;
	padding: 20px 22px;
	background: oklch(0.96 0.02 230);
	border-radius: 12px;
	border-left: 4px solid var(--color-orange);
}
.blog-guide-links__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 12px;
}
.blog-guide-links__title [data-lucide] { width: 16px; height: 16px; }
.blog-guide-links__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.blog-guide-links__list a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--color-orange);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.blog-guide-links__list a::before { content: '→'; }
.blog-guide-links__list a:hover { text-decoration: underline; }

/* "Читайте також" */
.blog-read-also { margin: 48px 0 32px; }
.blog-read-also__title {
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 20px;
}
.blog-grid--3 { grid-template-columns: repeat(3, 1fr); }

/* Рекомендована компанія в блозі */
.blog-featured-company {
	margin: 32px 0;
}
.blog-featured-company__label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 13px;
	color: var(--color-text-light);
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 12px;
}
.blog-featured-company__label [data-lucide] { width: 14px; height: 14px; color: var(--color-orange); }
.blog-featured-company .featured-slot-wrap { margin-bottom: 0; }

/* CTA banner */
.blog-cta-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	background: linear-gradient(135deg, var(--color-navy), #2d4a7a);
	border-radius: 14px;
	color: #fff;
	margin-top: 40px;
}
.blog-cta-banner__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.blog-cta-banner__text strong { font-size: 17px; font-weight: 700; }
.blog-cta-banner__text span { font-size: 13px; opacity: .8; }
.blog-cta-banner .btn--primary {
	background: var(--color-orange);
	white-space: nowrap;
	flex-shrink: 0;
}

/* btn utility sizes */
.btn--sm { padding: 8px 16px; font-size: 13px; }
.btn--outline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	border: 1.5px solid var(--color-orange);
	border-radius: 8px;
	color: var(--color-orange);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.btn--outline:hover { background: var(--color-orange); color: #fff; }

/* Responsive */
@media (max-width: 960px) {
	.blog-rubric-layout { grid-template-columns: 1fr; }
	.blog-rubric-sidebar { position: static; }
	.blog-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.blog-city-grid { grid-template-columns: 1fr 1fr; }
	.blog-rubric-grid { grid-template-columns: 1fr 1fr; }
	.blog-grid--3 { grid-template-columns: 1fr; }
	.blog-cta-banner { flex-direction: column; align-items: flex-start; }
	.blog-city-catalog-cta { flex-direction: column; align-items: flex-start; }
}

/* ── Locations block ──────────────────────────────────────────────────────── */
.locations-card { padding: 0; overflow: hidden; }

.location-item {
	padding: 14px 16px;
	border-bottom: 1px solid var(--color-border, #eee);
}
.location-item:last-of-type { border-bottom: 0; }

.location-address,
.location-phone {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 13px;
	line-height: 1.4;
	margin-bottom: 6px;
	color: var(--color-text);
	text-decoration: none;
}
.location-phone { color: var(--color-orange); font-weight: 600; }
.location-phone:hover { text-decoration: underline; }
.location-icon { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; color: var(--color-orange); }

.location-schedule {
	width: 100%;
	border-collapse: collapse;
	font-size: 11px;
	margin-top: 8px;
}
.location-schedule th {
	text-align: left;
	padding: 3px 6px;
	background: #f5f5f5;
	color: #666;
	font-weight: 600;
}
.location-schedule td {
	padding: 3px 6px;
	border-top: 1px solid #eee;
	color: var(--color-text);
}

/* Leaflet map */
.company-map-leaflet {
	height: 260px;
	border-top: 1px solid var(--color-border, #eee);
}

/* ── SEO keyword cloud ────────────────────────────────────────────────────── */
.seo-tags-section {
	padding: 20px 0 24px;
	border-top: 1px solid #eee;
}
.seo-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.seo-tags--collapsed {
	max-height: 56px;
	overflow: hidden;
}
.seo-tag {
	display: inline-block;
	padding: 3px 8px;
	background: #f5f5f5;
	border-radius: 4px;
	font-size: 12px;
	color: #555;
	white-space: nowrap;
}
a.seo-tag--linked {
	background: oklch(0.95 0.02 240);
	color: var(--color-navy);
	text-decoration: none;
	border: 1px solid oklch(0.88 0.04 240);
}
a.seo-tag--linked:hover {
	background: var(--color-navy);
	color: #fff;
	border-color: var(--color-navy);
}

/* ── Category tag cloud (above listing) ─────────────────────────────────── */
.cat-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 24px 0 0;
}

/* ── Company tag landing page ────────────────────────────────────────────── */
.tag-landing { padding: 32px 0 48px; }
.tag-landing__hero {
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--color-border-lt);
}
.tag-landing__title-row {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.tag-landing__title {
	font-size: 28px;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0;
}
.tag-landing__count {
	font-size: 15px;
	color: var(--color-text-pale);
	font-weight: 500;
}
.tag-landing__intro {
	font-size: 15px;
	line-height: 1.7;
	color: var(--color-text);
	max-width: 680px;
}
.tag-landing__intro p { margin: 0 0 10px; }
.tag-landing__empty {
	text-align: center;
	color: var(--color-text-pale);
	padding: 40px 0;
}
.tag-landing .listing-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
}

.seo-tags-toggle {
	margin-top: 8px;
	background: none;
	border: none;
	padding: 0;
	font-size: 12px;
	color: var(--color-orange);
	cursor: pointer;
}
.seo-tags-toggle:hover { text-decoration: underline; }
