/*
 * راجع 02-Architecture-Sitemap.md §3 والبرومبت الأصلي §49 للهوية البصرية.
 * Mobile-first: القيم الافتراضية للموبايل، والتوسعة عبر min-width.
 * قاعدة padding الجانبي على الموبايل صغيرة (16px) — راجع مذكرة التغذية الراجعة
 * الخاصة بالمستخدم حول التصميم على الهاتف.
 */

:root {
	--bg-color-primary: #FF6600;
	--bg-color-primary-dark: #E85D00;
	--bg-color-navy: #0B1F3A;
	--bg-color-white: #FFFFFF;
	--bg-color-bg-light: #F6F7F9;
	--bg-color-text: #1A1A1A;
	--bg-color-border: #E6E8EC;

	--bg-font-arabic: 'Tajawal', sans-serif;
	--bg-font-latin: 'Inter', sans-serif;

	--bg-radius-md: 16px;
	--bg-radius-lg: 20px;

	--bg-container-padding: 16px;
	--bg-container-max: 1200px;

	--bg-shadow-sm: 0 1px 3px rgba(11, 31, 58, 0.08);
	--bg-shadow-md: 0 8px 24px rgba(11, 31, 58, 0.10);
}

@media (min-width: 768px) {
	:root { --bg-container-padding: 24px; }
}

@media (min-width: 1280px) {
	:root { --bg-container-padding: 32px; }
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--bg-font-arabic), var(--bg-font-latin), sans-serif;
	color: var(--bg-color-text);
	background: var(--bg-color-white);
	line-height: 1.6;
}

[lang="en"] body,
[dir="ltr"] body { font-family: var(--bg-font-latin), var(--bg-font-arabic), sans-serif; }

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.bg-container {
	width: 100%;
	max-width: var(--bg-container-max);
	margin-inline: auto;
	padding-inline: var(--bg-container-padding);
}

/* ===== Buttons ===== */

.bg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 0.75em 1.5em;
	border-radius: var(--bg-radius-md);
	font-weight: 700;
	font-size: 0.95rem;
	border: 2px solid transparent;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
	min-height: 44px; /* حد أدنى للمس على الهاتف */
}

.bg-btn--primary {
	background: var(--bg-color-primary);
	color: var(--bg-color-white);
}
.bg-btn--primary:hover { background: var(--bg-color-primary-dark); }

.bg-btn--outline {
	background: transparent;
	border-color: var(--bg-color-navy);
	color: var(--bg-color-navy);
}
.bg-btn--outline:hover { background: var(--bg-color-navy); color: var(--bg-color-white); }

.bg-btn--ghost {
	background: transparent;
	color: var(--bg-color-navy);
}
.bg-btn--ghost:hover { background: var(--bg-color-bg-light); }

.bg-btn--lg { padding: 0.9em 1.8em; font-size: 1.05rem; }
.bg-btn--sm { padding: 0.4em 0.9em; font-size: 0.85rem; }

/* ===== Header ===== */

.bg-site-header {
	border-bottom: 1px solid var(--bg-color-border);
	position: sticky;
	top: 0;
	background: var(--bg-color-white);
	z-index: 50;
}

.bg-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 14px;
	flex-wrap: wrap;
}

.bg-logo { display: inline-flex; align-items: center; }

.bg-logo__image {
	height: 40px;
	width: auto;
	max-width: 100%;
}

@media (max-width: 480px) {
	.bg-logo__image { height: 32px; }
}

/* لا يزال مستخدَمًا في فوتر الموقع (footer.php) — علامة نصّية بلا صورة تناسب الخلفية الداكنة، لا نستخدم شعار الهيدر نفسه هنا لأن نصه الرمادي يختفي على خلفية Navy. */
.bg-logo__text {
	font-weight: 900;
	font-size: 1.35rem;
	color: var(--bg-color-navy);
}

.bg-site-nav__list {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bg-site-nav__list a {
	font-weight: 600;
	color: var(--bg-color-navy);
}

.bg-site-nav__list a:hover { color: var(--bg-color-primary); }

.bg-site-header__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.bg-mobile-menu {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.bg-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--bg-color-border);
	border-radius: 10px;
	background: var(--bg-color-white);
	cursor: pointer;
	flex-shrink: 0;
}

.bg-nav-toggle__bar {
	display: block;
	width: 20px;
	height: 2px;
	margin-inline: auto;
	background: var(--bg-color-navy);
	border-radius: 1px;
	transition: transform 0.18s ease, opacity 0.18s ease;
}

/*
 * الزر بقى مباشرة جنب اللوجو في نفس الصف (بدل ما يظهر في صف منفصل تحت
 * الأزرار على الموبايل — طلب صريح). القائمة بقت لوحة منسدلة واحدة موحّدة
 * (روابط + أزرار الحساب معًا) بانيميشن انزلاق/تلاشي بدل ظهور/اختفاء مفاجئ.
 */
@media (max-width: 767px) {
	.bg-nav-toggle { display: flex; }

	.bg-nav-toggle[aria-expanded="true"] .bg-nav-toggle__bar:nth-child(2) { transform: translateY(7px) rotate(45deg); }
	.bg-nav-toggle[aria-expanded="true"] .bg-nav-toggle__bar:nth-child(3) { opacity: 0; }
	.bg-nav-toggle[aria-expanded="true"] .bg-nav-toggle__bar:nth-child(4) { transform: translateY(-7px) rotate(-45deg); }

	.bg-mobile-menu {
		position: absolute;
		inset-inline: 0;
		top: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
		background: var(--bg-color-white);
		border-top: 1px solid var(--bg-color-border);
		border-radius: 0 0 16px 16px;
		box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
		padding: 1.25rem 1.25rem 1.5rem;
		max-height: calc(100vh - 70px);
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
	}

	.bg-mobile-menu.is-open {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.bg-site-nav__list {
		flex-direction: column;
		gap: 0.25rem;
	}

	.bg-site-nav__list a {
		display: block;
		padding: 0.6em 0.25em;
	}

	.bg-mobile-menu .bg-site-header__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.6rem;
		padding-top: 1rem;
		border-top: 1px solid var(--bg-color-border);
	}

	.bg-mobile-menu .bg-btn { width: 100%; }
}

/* ===== Hero ===== */

.bg-hero {
	background: linear-gradient(180deg, var(--bg-color-bg-light) 0%, var(--bg-color-white) 100%);
	padding-block: 48px;
}

@media (min-width: 768px) {
	.bg-hero { padding-block: 72px; }
}

.bg-hero__inner { text-align: center; }

.bg-hero__title {
	font-size: 1.75rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	line-height: 1.35;
	margin: 0 0 1rem;
}

@media (min-width: 768px) {
	.bg-hero__title { font-size: 2.5rem; }
}

@media (min-width: 1280px) {
	.bg-hero__title { font-size: 3rem; }
}

.bg-hero__subtitle {
	font-size: 1rem;
	color: #4B5563;
	max-width: 640px;
	margin: 0 auto 2rem;
}

@media (min-width: 768px) {
	.bg-hero__subtitle { font-size: 1.15rem; }
}

.bg-hero__actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	align-items: stretch;
	margin-bottom: 2.5rem;
}

.bg-hero__actions .bg-btn { width: 100%; }

@media (min-width: 640px) {
	.bg-hero__actions {
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}
	.bg-hero__actions .bg-btn { width: auto; }
}

/* ===== Hero Search ===== */

.bg-hero-search {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--bg-color-white);
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	padding: 14px;
	box-shadow: var(--bg-shadow-md);
	max-width: 900px;
	margin-inline: auto;
	text-align: start;
}

.bg-hero-search__field {
	display: flex;
	flex-direction: column;
}

.bg-hero-search__field input,
.bg-hero-search__field select {
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--bg-color-border);
	border-radius: 12px;
	font-size: 0.95rem;
	background: var(--bg-color-white);
	color: var(--bg-color-text);
	font-family: inherit;
}

.bg-hero-search__field input:focus,
.bg-hero-search__field select:focus {
	outline: 2px solid var(--bg-color-primary);
	outline-offset: 1px;
}

.bg-hero-search__submit { min-height: 44px; }

@media (min-width: 768px) {
	.bg-hero-search {
		flex-direction: row;
		align-items: stretch;
		padding: 10px;
	}
	.bg-hero-search__field { flex: 1; }
	.bg-hero-search__field--query { flex: 1.6; }
}

/* ===== Generic Section ===== */

.bg-section { padding-block: 40px; }
.bg-section--tinted { background: var(--bg-color-bg-light); }

.bg-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.bg-section__title {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--bg-color-navy);
	margin: 0;
}

@media (min-width: 768px) {
	.bg-section__title { font-size: 1.75rem; }
}

.bg-section__more {
	font-weight: 700;
	color: var(--bg-color-primary);
	white-space: nowrap;
	font-size: 0.9rem;
}

/* ===== Quick Filter Chips ===== */

.bg-quick-filters__list {
	display: flex;
	gap: 0.6rem;
	overflow-x: auto;
	padding-block: 4px;
	scrollbar-width: none;
}
.bg-quick-filters__list::-webkit-scrollbar { display: none; }

.bg-chip {
	flex-shrink: 0;
	padding: 0.6em 1.1em;
	border-radius: 999px;
	border: 1px solid var(--bg-color-border);
	background: var(--bg-color-white);
	color: var(--bg-color-navy);
	font-weight: 600;
	font-size: 0.9rem;
	white-space: nowrap;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
}
.bg-chip:hover { border-color: var(--bg-color-primary); color: var(--bg-color-primary); }

/* ===== Cards Grid ===== */

.bg-cards-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 640px) {
	.bg-cards-grid--companies { grid-template-columns: repeat(2, 1fr); }
	.bg-cards-grid--billboards { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
	.bg-cards-grid--companies { grid-template-columns: repeat(3, 1fr); }
	.bg-cards-grid--billboards { grid-template-columns: repeat(3, 1fr); }
}

.bg-card {
	display: block;
	background: var(--bg-color-white);
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-md);
	overflow: hidden;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.bg-card:hover { box-shadow: var(--bg-shadow-md); transform: translateY(-2px); }

.bg-badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	padding: 0.25em 0.65em;
	border-radius: 999px;
}
.bg-badge--verified { background: #E7F6EC; color: #1E7E42; }
.bg-badge--featured {
	position: absolute;
	inset-block-start: 10px;
	inset-inline-start: 10px;
	background: var(--bg-color-primary);
	color: var(--bg-color-white);
}

/* --- Company Card --- */

.bg-company-card { display: flex; align-items: center; gap: 1rem; padding: 1rem; }

.bg-company-card__logo {
	flex-shrink: 0;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: var(--bg-color-navy);
	color: var(--bg-color-white);
	display: flex; align-items: center; justify-content: center;
	font-weight: 800; font-size: 1.2rem;
	overflow: hidden;
}

.bg-company-card__logo--image {
	background: var(--bg-color-white);
	border: 1px solid var(--bg-color-border);
}

.bg-company-card__logo--image img {
	width: 100%; height: 100%;
	object-fit: contain;
	padding: 4px;
}

.bg-company-card__name { font-size: 1rem; font-weight: 700; margin: 0 0 4px; color: var(--bg-color-text); }
.bg-company-card__meta { font-size: 0.85rem; color: #6B7280; margin: 0; }

/* --- Billboard Card --- */

.bg-billboard-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--bg-color-bg-light);
}

.bg-billboard-card__media img { width: 100%; height: 100%; object-fit: cover; }

.bg-billboard-card__media-placeholder {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	color: #9CA3AF;
	font-weight: 800;
	letter-spacing: 0.05em;
	background: repeating-linear-gradient(45deg, #EDEFF2, #EDEFF2 10px, #F6F7F9 10px, #F6F7F9 20px);
}

.bg-billboard-card__body { padding: 1rem; }
.bg-billboard-card__title { font-size: 1rem; font-weight: 700; margin: 0 0 4px; }
.bg-billboard-card__meta,
.bg-billboard-card__company { font-size: 0.85rem; color: #6B7280; margin: 0 0 4px; }
.bg-billboard-card__price { font-weight: 800; color: var(--bg-color-navy); margin: 8px 0 0; }
.bg-billboard-card__price-unit { font-weight: 500; font-size: 0.8rem; color: #6B7280; }

/* ===== Tile Grid (Explore by City/Type) ===== */

.bg-tile-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
}

@media (min-width: 768px) {
	.bg-tile-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1024px) {
	.bg-tile-grid { grid-template-columns: repeat(6, 1fr); }
}

.bg-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 64px;
	padding: 1rem;
	border-radius: var(--bg-radius-md);
	background: var(--bg-color-white);
	border: 1px solid var(--bg-color-border);
	font-weight: 700;
	color: var(--bg-color-navy);
}
.bg-tile:hover { border-color: var(--bg-color-primary); color: var(--bg-color-primary); }

/* ===== Map Teaser ===== */

.bg-map-teaser__inner {
	text-align: center;
	background: var(--bg-color-navy);
	color: var(--bg-color-white);
	border-radius: var(--bg-radius-lg);
	padding: 48px 24px;
}

.bg-map-teaser .bg-section__title { color: var(--bg-color-white); }
.bg-map-teaser__icon { font-size: 2.5rem; margin-bottom: 0.5rem; }
.bg-map-teaser p { max-width: 480px; margin: 0.5rem auto 1.5rem; color: #C9D3E0; }

/* ===== Footer ===== */

.bg-site-footer {
	background: var(--bg-color-navy);
	color: #C9D3E0;
	margin-top: 4rem;
	padding-block: 40px;
}

.bg-site-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.bg-site-footer .bg-logo__text { color: var(--bg-color-white); }

.bg-site-footer__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bg-site-footer__copy {
	font-size: 0.85rem;
	color: #8291A8;
	margin: 0;
}

@media (min-width: 768px) {
	.bg-site-footer__inner {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}

/* ===== Breadcrumb ===== */

.bg-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding-block: 1rem;
	font-size: 0.85rem;
	color: #6B7280;
	flex-wrap: wrap;
}
.bg-breadcrumb a:hover { color: var(--bg-color-primary); }
.bg-breadcrumb span:last-child { color: var(--bg-color-text); font-weight: 600; }

/* ===== Archive Header (Companies / Billboards) ===== */

.bg-archive-header { padding-block: 8px 24px; }

.bg-archive-header__title {
	font-size: 1.6rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	margin: 0 0 0.4rem;
}

@media (min-width: 768px) {
	.bg-archive-header__title { font-size: 2rem; }
}

.bg-archive-header__subtitle {
	color: #6B7280;
	margin: 0 0 1.25rem;
}

.bg-archive-filter {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.bg-archive-filter input,
.bg-archive-filter select {
	flex: 1;
	min-width: 200px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--bg-color-border);
	border-radius: 12px;
	font-size: 0.95rem;
	font-family: inherit;
}

.bg-hero-search--archive { margin-inline: 0; max-width: none; text-align: start; }

/* ===== Pagination ===== */

.bg-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-top: 2rem;
}

.bg-pagination__item {
	min-width: 40px;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	border: 1px solid var(--bg-color-border);
	font-weight: 700;
	color: var(--bg-color-navy);
}

.bg-pagination__item:hover { border-color: var(--bg-color-primary); }
.bg-pagination__item.is-active {
	background: var(--bg-color-primary);
	border-color: var(--bg-color-primary);
	color: var(--bg-color-white);
}

/* ===== Empty State ===== */

.bg-empty-state {
	text-align: center;
	padding: 48px 16px;
	border: 1px dashed var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	color: #6B7280;
}

.bg-empty-state__actions {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 1rem;
}

/* ===== Company Profile (single-bg_company.php) ===== */

.bg-company-profile__header {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: flex-start;
	padding-block: 8px 24px;
}

@media (min-width: 768px) {
	.bg-company-profile__header {
		flex-direction: row;
		align-items: center;
	}
}

.bg-company-profile__logo {
	flex-shrink: 0;
	width: 84px; height: 84px;
	border-radius: 50%;
	background: var(--bg-color-navy);
	color: var(--bg-color-white);
	display: flex; align-items: center; justify-content: center;
	font-weight: 800; font-size: 2rem;
	overflow: hidden;
	border: 1px solid var(--bg-color-border);
}

.bg-company-profile__logo img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }

.bg-company-profile__info { flex: 1; }

.bg-company-profile__name {
	font-size: 1.5rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	margin: 0 0 0.2rem;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.bg-company-profile__name-en {
	color: #6B7280;
	margin: 0 0 0.4rem;
	font-family: var(--bg-font-latin), sans-serif;
}

.bg-company-profile__meta { color: #6B7280; margin: 0; }
.bg-company-profile__rating { color: #B45309; font-weight: 700; }

.bg-company-profile__actions {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.bg-company-profile__about-content {
	max-width: 760px;
	color: #374151;
}
.bg-company-profile__about-content p:first-child { margin-top: 0; }

/* ===== How It Works (Section 8) ===== */

.bg-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.bg-steps { grid-template-columns: repeat(3, 1fr); }
}

.bg-step { text-align: center; padding: 0.5rem 1rem; }

.bg-step__number {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--bg-color-primary);
	color: var(--bg-color-white);
	display: flex; align-items: center; justify-content: center;
	font-weight: 900; font-size: 1.1rem;
	margin: 0 auto 1rem;
}

.bg-step__title { font-weight: 800; color: var(--bg-color-navy); margin: 0 0 0.4rem; font-size: 1.05rem; }
.bg-step__desc { color: #6B7280; margin: 0; font-size: 0.9rem; }

/* ===== Soon Badge ===== */

.bg-badge--soon { background: var(--bg-color-primary); color: var(--bg-color-white); }

/* ===== AI Workspace Teaser (Section 9) ===== */

.bg-ai-teaser {
	background: var(--bg-color-navy);
	color: var(--bg-color-white);
	border-radius: var(--bg-radius-lg);
	padding: 32px 24px;
}

.bg-ai-teaser .bg-section__title { color: var(--bg-color-white); margin-top: 0.75rem; }
.bg-ai-teaser p { color: #C9D3E0; max-width: 640px; margin: 0.5rem 0 0; }

.bg-ai-teaser__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.bg-ai-teaser__chip {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: var(--bg-color-white);
	padding: 0.5em 1em;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
}

/* ===== Extra Services (Section 10) ===== */

.bg-service-card { padding: 1.5rem; }
.bg-service-card__title { font-weight: 800; color: var(--bg-color-navy); margin: 0 0 0.4rem; font-size: 1.05rem; }
.bg-service-card__desc { color: #6B7280; margin: 0; font-size: 0.9rem; }

/* ===== Platform Stats (Section 11) ===== */

.bg-stats-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	text-align: center;
}

@media (min-width: 640px) {
	.bg-stats-grid { grid-template-columns: repeat(3, 1fr); }
}

.bg-stat__value {
	display: block;
	font-size: 2.2rem;
	font-weight: 900;
	color: var(--bg-color-primary);
}

.bg-stat__label { color: #6B7280; font-weight: 600; font-size: 0.9rem; }

/* ===== Company CTA (Section 12) ===== */

.bg-cta-banner {
	background: linear-gradient(135deg, var(--bg-color-navy), #142C52);
	color: var(--bg-color-white);
	text-align: center;
	border-radius: var(--bg-radius-lg);
	padding: 48px 24px;
}

.bg-cta-banner .bg-section__title { color: var(--bg-color-white); }
.bg-cta-banner p { color: #C9D3E0; max-width: 560px; margin: 0.5rem auto 1.5rem; }

/* ===== Articles Teaser (Section 13) ===== */

.bg-article-card { padding: 1.25rem; }
.bg-article-card__title { font-weight: 800; color: var(--bg-color-navy); margin: 0 0 0.4rem; font-size: 1rem; }
.bg-article-card__excerpt { color: #6B7280; font-size: 0.85rem; margin: 0; }

/* ===== Static Pages (about/terms/privacy/join-as-company) ===== */

.bg-page-header { padding-block: 8px 24px; }

.bg-page-header__title {
	font-size: 1.6rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	margin: 0;
}

@media (min-width: 768px) {
	.bg-page-header__title { font-size: 2rem; }
}

.bg-page-header__updated { color: #6B7280; font-size: 0.85rem; margin: 0.5rem 0 0; }

.bg-prose {
	max-width: 760px;
	color: #374151;
	line-height: 1.85;
	padding-block: 8px 48px;
}

.bg-prose h2 {
	color: var(--bg-color-navy);
	font-size: 1.25rem;
	font-weight: 800;
	margin: 2rem 0 0.75rem;
}

.bg-prose h2:first-child { margin-top: 0; }

.bg-prose p { margin: 0 0 1rem; }

.bg-prose ul { margin: 0 0 1rem; padding-inline-start: 1.25rem; }
.bg-prose li { margin-bottom: 0.5rem; }

.bg-prose__notice {
	background: var(--bg-color-bg-light);
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-md);
	padding: 1rem 1.25rem;
	font-size: 0.9rem;
	color: #4B5563;
	margin-bottom: 2rem;
}

/* ===== Join-as-Company Form ===== */

.bg-join-form-wrap { max-width: 620px; padding-block: 8px 64px; }

.bg-join-form__intro { color: #4B5563; margin: 0 0 1.5rem; }

/* ===== Activate Company ===== */

.bg-activate-page { max-width: 520px; padding-block: 48px 64px; }

.bg-activate-page__title { color: var(--bg-color-navy); margin: 0 0 0.75rem; }

.bg-activate-page__intro { color: #4B5563; margin: 0 0 1.5rem; line-height: 1.7; }

.bg-form-steps {
	display: flex;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--bg-color-border);
	padding-bottom: 1rem;
}

.bg-form-steps__step { color: #9CA3AF; font-weight: 700; font-size: 0.9rem; }
.bg-form-steps__step.is-active { color: var(--bg-color-primary); }

.bg-form__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 640px) {
	.bg-form__row { grid-template-columns: 1fr 1fr; }
}

.bg-form__field { margin-bottom: 1rem; }

.bg-form__field label {
	display: block;
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--bg-color-navy);
	margin-bottom: 0.4rem;
}

.bg-form__field input,
.bg-form__field select,
.bg-form__field textarea {
	width: 100%;
	min-height: 44px;
	padding: 0.6em 14px;
	border: 1px solid var(--bg-color-border);
	border-radius: 12px;
	font-size: 0.95rem;
	font-family: inherit;
	background: var(--bg-color-white);
	color: var(--bg-color-text);
}

.bg-form__field textarea { min-height: 96px; resize: vertical; }

.bg-form__field input:focus,
.bg-form__field select:focus,
.bg-form__field textarea:focus {
	outline: 2px solid var(--bg-color-primary);
	outline-offset: 1px;
}

.bg-form__checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: 0.9rem;
	color: #4B5563;
	margin: 1rem 0 1.5rem;
	cursor: pointer;
}

.bg-form__checkbox input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.bg-form__checkbox a { color: var(--bg-color-primary); font-weight: 600; }

.bg-form__actions {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.bg-form__error {
	background: #FEF2F2;
	border: 1px solid #FCA5A5;
	color: #B91C1C;
	border-radius: var(--bg-radius-md);
	padding: 0.85rem 1rem;
	font-size: 0.9rem;
	margin-top: 1.25rem;
}

.bg-form__success { text-align: center; padding-block: 2rem; }
.bg-form__success h2 { color: var(--bg-color-navy); margin: 0 0 0.75rem; }
.bg-form__success p { color: #6B7280; max-width: 480px; margin: 0 auto 1.5rem; }

.bg-form__notice--success {
	background: #F0FDF4;
	border: 1px solid #86EFAC;
	color: #15803D;
	border-radius: var(--bg-radius-md);
	padding: 0.85rem 1rem;
	font-size: 0.9rem;
	margin-top: 1.25rem;
}

/* ===== Billboard Detail (single-bg_billboard.php) ===== */

.bg-billboard-detail {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	padding-block: 8px 64px;
}

@media (min-width: 900px) {
	.bg-billboard-detail { grid-template-columns: 1.1fr 1fr; align-items: start; }
}

.bg-billboard-detail__media-col {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.bg-billboard-detail__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--bg-color-bg-light);
	border-radius: var(--bg-radius-lg);
	overflow: hidden;
}

.bg-billboard-detail__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
	gap: 0.6rem;
}

.bg-billboard-detail__gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--bg-color-border);
	display: block;
}

.bg-billboard-detail__video {
	aspect-ratio: 16 / 9;
	border-radius: var(--bg-radius-lg);
	overflow: hidden;
	background: #000;
}

.bg-billboard-detail__video iframe,
.bg-billboard-detail__video video {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.bg-billboard-detail__media img { width: 100%; height: 100%; object-fit: cover; }

.bg-billboard-detail__media-placeholder {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	color: #9CA3AF;
	font-weight: 800;
	letter-spacing: 0.05em;
	background: repeating-linear-gradient(45deg, #EDEFF2, #EDEFF2 10px, #F6F7F9 10px, #F6F7F9 20px);
}

.bg-billboard-detail__title { font-size: 1.5rem; font-weight: 900; color: var(--bg-color-navy); margin: 0 0 0.3rem; }
.bg-billboard-detail__location { color: #6B7280; margin: 0 0 1rem; }

.bg-billboard-detail__price {
	font-size: 1.6rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	margin: 0 0 1rem;
}

.bg-billboard-detail__price-unit { font-weight: 500; font-size: 0.9rem; color: #6B7280; }

.bg-billboard-detail__company {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	color: var(--bg-color-navy);
	margin-bottom: 1.25rem;
}
.bg-billboard-detail__company:hover { color: var(--bg-color-primary); }

.bg-billboard-detail__actions { margin-bottom: 1.5rem; }

.bg-spec-list { margin: 0; border-top: 1px solid var(--bg-color-border); }

.bg-spec-list__row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--bg-color-border);
}

.bg-spec-list__row dt { color: #6B7280; font-size: 0.9rem; margin: 0; }
.bg-spec-list__row dd { color: var(--bg-color-navy); font-weight: 700; font-size: 0.9rem; margin: 0; text-align: end; }

/* ===== Compare Table (page-compare.php) ===== */

.bg-compare-scroll {
	overflow-x: auto;
	padding-bottom: 48px;
	-webkit-overflow-scrolling: touch;
}

.bg-compare-table {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
}

.bg-compare-table th,
.bg-compare-table td {
	padding: 0.9rem 1rem;
	border-bottom: 1px solid var(--bg-color-border);
	text-align: start;
	font-size: 0.9rem;
	white-space: nowrap;
}

.bg-compare-table thead th {
	color: var(--bg-color-navy);
	font-weight: 800;
	font-size: 1rem;
	border-bottom: 2px solid var(--bg-color-border);
}

.bg-compare-table thead th a { color: var(--bg-color-primary); }

.bg-compare-table tbody th {
	color: #6B7280;
	font-weight: 700;
	white-space: nowrap;
}

.bg-compare-table td { color: var(--bg-color-text); font-weight: 600; }

/* ===== Company Dashboard (page-dashboard-company.php) ===== */

.bg-dashboard { padding-block: 32px 64px; }

.bg-dashboard__header {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--bg-color-border);
}

@media (min-width: 640px) {
	.bg-dashboard__header { flex-direction: row; align-items: center; justify-content: space-between; }
}

.bg-dashboard__title { font-size: 1.5rem; font-weight: 900; color: var(--bg-color-navy); margin: 0 0 0.5rem; }

.bg-dashboard__section { margin-block: 2.5rem; }

.bg-status-badge {
	display: inline-block;
	padding: 0.3em 0.85em;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
}

.bg-status-badge--pending,
.bg-status-badge--bb-pending_review { background: #FEF3C7; color: #92400E; }

.bg-status-badge--approved,
.bg-status-badge--bb-available { background: #D1FAE5; color: #065F46; }

.bg-status-badge--rejected,
.bg-status-badge--bb-unavailable { background: #FEE2E2; color: #991B1B; }

.bg-status-badge--bb-booked,
.bg-status-badge--bb-temp_hold { background: #DBEAFE; color: #1E40AF; }

.bg-status-badge--bb-maintenance,
.bg-status-badge--bb-archived { background: #E5E7EB; color: #374151; }

.bg-status-badge--quote-sent_to_company,
.bg-status-badge--quote-awaiting_company_response,
.bg-status-badge--quote-negotiation { background: #FEF3C7; color: #92400E; }

.bg-status-badge--quote-quotation_sent { background: #DBEAFE; color: #1E40AF; }

.bg-status-badge--quote-accepted,
.bg-status-badge--quote-converted_to_booking { background: #D1FAE5; color: #065F46; }

.bg-status-badge--quote-rejected,
.bg-status-badge--quote-expired,
.bg-status-badge--quote-cancelled { background: #FEE2E2; color: #991B1B; }

.bg-dashboard-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.bg-dashboard-table { width: 100%; min-width: 560px; border-collapse: collapse; }

.bg-dashboard-table th,
.bg-dashboard-table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--bg-color-border);
	text-align: start;
	font-size: 0.9rem;
	white-space: nowrap;
}

.bg-dashboard-table thead th { color: #6B7280; font-weight: 700; font-size: 0.8rem; }
.bg-dashboard-table td { color: var(--bg-color-text); }

.bg-dashboard-thumb {
	width: 64px; height: 48px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--bg-color-border);
}

.bg-upload-photo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 0.85em;
	border-radius: 10px;
	border: 1px dashed var(--bg-color-border);
	color: var(--bg-color-primary);
	font-weight: 700;
	font-size: 0.8rem;
	cursor: pointer;
	white-space: nowrap;
}

.bg-upload-photo-btn:hover { border-color: var(--bg-color-primary); background: var(--bg-color-bg-light); }

.bg-upload-photo-status {
	font-size: 0.75rem;
	color: #6B7280;
	margin-top: 0.3rem;
	white-space: normal;
	max-width: 140px;
}

.bg-media-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.bg-media-gallery-item {
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--bg-color-border);
}

.bg-media-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bg-media-gallery-item__remove {
	position: absolute;
	top: 4px;
	inset-inline-end: 4px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	border: none;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
}

/* ===== Quote Request Form (single-bg_billboard.php) ===== */

.bg-quote-form-panel {
	margin-top: 1.5rem;
	padding: 1.5rem;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	background: var(--bg-color-bg-light);
}

.bg-quote-form-panel__title {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--bg-color-navy);
	margin: 0 0 1rem;
}

/* ===== Incoming Quotes (page-dashboard-company.php) ===== */

.bg-quotes-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.bg-quote-card {
	padding: 1.25rem;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	background: #fff;
}

.bg-quote-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.75rem;
	font-size: 1rem;
}

.bg-quote-card__details {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 0.6rem 1.5rem;
	margin: 0 0 1rem;
}

.bg-quote-card__details dt {
	font-size: 0.75rem;
	color: #6B7280;
	margin: 0;
}

.bg-quote-card__details dd {
	font-size: 0.9rem;
	color: var(--bg-color-text);
	margin: 0.15rem 0 0;
	font-weight: 600;
}

.bg-quote-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0 0 1rem;
}

.bg-quote-respond-form {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--bg-color-border);
}

.bg-quote-respond-form .bg-form__row {
	display: flex;
	gap: 0.75rem;
	flex: 1 1 auto;
}

.bg-quote-respond-form .bg-form__field { flex: 1 1 140px; }

.bg-quote-respond-form .bg-form__error {
	flex: 1 0 100%;
	color: #991B1B;
	font-size: 0.85rem;
	margin: 0;
}

/* ===== Track Quote (page-track-quote.php) ===== */

.bg-track-quote {
	padding-block: 3rem;
	max-width: 640px;
}

.bg-track-quote .bg-quote-card { margin: 0; }

.bg-track-quote__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--bg-color-border);
}

.bg-track-quote__counter-form {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 0.75rem;
}

.bg-track-quote__counter-form[hidden] { display: none; }

.bg-track-quote__actions .bg-btn[hidden] { display: none; }

.bg-track-quote__counter-form .bg-form__row {
	display: flex;
	gap: 0.75rem;
	flex: 1 1 auto;
}

.bg-track-quote__counter-form .bg-form__field { flex: 1 1 140px; }

.bg-form__success-link {
	margin-top: 0.75rem;
	word-break: break-all;
}

.bg-form__success-link a {
	color: var(--bg-color-primary);
	font-weight: 700;
}

/* ===== Company Login (page-login.php) ===== */

.bg-login-wrap {
	display: flex;
	justify-content: center;
	padding-block: 4rem 6rem;
}

.bg-login-card {
	width: 100%;
	max-width: 420px;
	background: #fff;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	padding: 2.5rem 2rem;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.bg-login-card__title {
	font-size: 1.4rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	margin: 0 0 0.5rem;
	text-align: center;
}

.bg-login-card__subtitle {
	color: #6B7280;
	font-size: 0.9rem;
	margin: 0 0 1.5rem;
	text-align: center;
}

.bg-login-form {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.bg-login-form__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.85rem;
}

.bg-login-form__row a {
	color: var(--bg-color-primary);
	font-weight: 600;
}

.bg-login-form__submit {
	width: 100%;
	margin-top: 0.25rem;
}

.bg-login-card__footer {
	text-align: center;
	margin: 1.5rem 0 0;
	font-size: 0.9rem;
	color: #6B7280;
}

.bg-login-card__footer a {
	color: var(--bg-color-primary);
	font-weight: 700;
}

.bg-login-card .bg-form__error {
	margin-bottom: 1rem;
}

/* ===== Exclusive Offers (dashboard cell + billboard card/detail) ===== */

.bg-dashboard-offer-cell { min-width: 160px; }

.bg-badge--offer { background: #FDE68A; color: #92400E; }

.bg-billboard-card__media .bg-badge--offer,
.bg-billboard-detail__media .bg-badge--offer {
	position: absolute;
	inset-block-start: 10px;
	inset-inline-end: 10px;
}

.bg-offer-active__details {
	font-size: 0.8rem;
	color: var(--bg-color-text);
	margin: 0.3rem 0;
}

.bg-toggle-offer-btn,
.bg-cancel-offer-btn {
	background: none;
	border: 1px dashed var(--bg-color-border);
	border-radius: 8px;
	padding: 0.4em 0.75em;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--bg-color-primary);
	cursor: pointer;
	white-space: nowrap;
}

.bg-offer-form {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin-top: 0.4rem;
	min-width: 140px;
}

.bg-offer-form[hidden] { display: none; }

.bg-offer-form input {
	padding: 0.4em 0.6em;
	border: 1px solid var(--bg-color-border);
	border-radius: 8px;
	font-size: 0.8rem;
}

.bg-offer-form button {
	padding: 0.4em;
	font-size: 0.8rem;
}

.bg-price--was {
	text-decoration: line-through;
	color: #9CA3AF;
	font-size: 0.85em;
	margin-inline-end: 0.4em;
}

/* ===== Interactive Map (page-map.php) ===== */

.bg-map-page { padding-block: 2rem 4rem; }

.bg-map-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.bg-map {
	width: 100%;
	height: 500px;
	border-radius: var(--bg-radius-lg);
	border: 1px solid var(--bg-color-border);
	background: var(--bg-color-bg-light);
}

.bg-map__empty {
	margin-top: 1rem;
	color: #6B7280;
	text-align: center;
}

.bg-map__empty[hidden] { display: none; }

.bg-map-popup { font-size: 0.85rem; line-height: 1.5; }

.bg-map-popup a { color: var(--bg-color-primary); font-weight: 700; }

/* ===== Documents (page-document.php + dashboard) ===== */

.bg-document-page { padding-block: 2rem 4rem; max-width: 800px; }

.bg-document-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

.bg-document-toolbar__actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }

.bg-status-badge--document-draft { background: #E5E7EB; color: #374151; }
.bg-status-badge--document-issued,
.bg-status-badge--document-sent { background: #DBEAFE; color: #1E40AF; }
.bg-status-badge--document-paid,
.bg-status-badge--document-signed { background: #D1FAE5; color: #065F46; }

.bg-document-sheet {
	background: #fff;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	padding: 2rem;
}

.bg-document-sheet__header {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 1rem;
	padding-bottom: 1.25rem;
	border-bottom: 2px solid var(--bg-color-navy);
	margin-bottom: 1.25rem;
}

.bg-document-sheet__title {
	font-size: 1.4rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	margin: 0;
}

.bg-document-sheet__number { color: #6B7280; margin: 0.25rem 0 0; font-weight: 700; }

.bg-document-sheet__company { text-align: end; font-size: 0.9rem; }

.bg-document-sheet__meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.75rem;
	margin: 0 0 1.5rem;
}

.bg-document-sheet__meta dt { font-size: 0.75rem; color: #6B7280; margin: 0; }
.bg-document-sheet__meta dd { font-weight: 700; margin: 0.15rem 0 0; }

.bg-document-sheet__items {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
}

.bg-document-sheet__items th,
.bg-document-sheet__items td {
	padding: 0.65rem 0.5rem;
	border-bottom: 1px solid var(--bg-color-border);
	text-align: start;
	font-size: 0.9rem;
}

.bg-document-sheet__items thead th { color: #6B7280; font-weight: 700; font-size: 0.8rem; }

.bg-document-sheet__totals {
	max-width: 320px;
	margin-inline-start: auto;
	margin-bottom: 1.5rem;
}

.bg-document-sheet__totals div {
	display: flex;
	justify-content: space-between;
	padding: 0.4rem 0;
	font-size: 0.9rem;
	color: #4B5563;
}

.bg-document-sheet__totals-final {
	border-top: 2px solid var(--bg-color-navy);
	font-weight: 900;
	font-size: 1.1rem;
	color: var(--bg-color-navy);
}

.bg-document-sheet__notes {
	background: var(--bg-color-bg-light);
	border-radius: var(--bg-radius-md);
	padding: 1rem;
	margin-bottom: 1rem;
}

.bg-document-sheet__notes p { margin: 0.4rem 0 0; color: #4B5563; }

.bg-document-sheet__body {
	line-height: 1.9;
	color: var(--bg-color-text);
	margin-bottom: 1.5rem;
	white-space: pre-line;
}

.bg-document-sheet__sign {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px dashed var(--bg-color-border);
}

.bg-document-sheet__sign-row {
	display: flex;
	gap: 0.75rem;
	margin-top: 0.5rem;
	flex-wrap: wrap;
}

.bg-document-sheet__sign-row input {
	flex: 1 1 220px;
	padding: 0.6em 0.8em;
	border: 1px solid var(--bg-color-border);
	border-radius: 8px;
}

.bg-document-sheet__signed-stamp {
	margin-top: 1.5rem;
	padding: 0.85rem 1rem;
	background: #D1FAE5;
	color: #065F46;
	border-radius: var(--bg-radius-md);
	font-weight: 700;
	text-align: center;
}

@media print {
	.bg-site-header,
	.bg-site-footer,
	.no-print { display: none !important; }

	.bg-document-sheet {
		border: none;
		padding: 0;
	}

	body { background: #fff; }
}

/* ===== Documents archive + reports (dashboard) ===== */

.bg-documents-table-scroll { overflow-x: auto; }

.bg-documents-table {
	width: 100%;
	border-collapse: collapse;
}

.bg-documents-table th,
.bg-documents-table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--bg-color-border);
	text-align: start;
	font-size: 0.9rem;
	white-space: nowrap;
}

.bg-documents-table thead th { color: #6B7280; font-weight: 700; font-size: 0.8rem; }

.bg-reports-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
}

.bg-report-tile {
	background: #fff;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	padding: 1.25rem;
	text-align: center;
}

.bg-report-tile__value {
	font-size: 1.8rem;
	font-weight: 900;
	color: var(--bg-color-navy);
	display: block;
}

.bg-report-tile__label {
	font-size: 0.85rem;
	color: #6B7280;
	margin-top: 0.4rem;
	display: block;
}

.bg-charts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.bg-chart-card {
	background: #fff;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	padding: 1.25rem;
}

.bg-chart-card__title {
	font-size: 0.95rem;
	color: var(--bg-color-navy);
	margin: 0 0 1rem;
}

.bg-empty-state__inline {
	color: #6B7280;
	font-size: 0.85rem;
	text-align: center;
	padding-block: 2rem;
}

/* ===== Company ratings/reviews ===== */

.bg-reviews-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 2rem;
}

.bg-review-card {
	background: #fff;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-lg);
	padding: 1.25rem;
}

.bg-review-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.5rem;
}

.bg-review-card__stars {
	color: #F59E0B;
	letter-spacing: 0.1em;
	font-size: 1.1rem;
}

.bg-review-card__text {
	color: var(--bg-color-text);
	margin: 0 0 0.5rem;
	line-height: 1.7;
}

.bg-review-card__date {
	font-size: 0.8rem;
	color: #9CA3AF;
}

.bg-rate-company {
	max-width: 480px;
	background: var(--bg-color-bg-light);
	border-radius: var(--bg-radius-lg);
	padding: 1.5rem;
}

.bg-rate-company__title {
	margin: 0 0 0.25rem;
	color: var(--bg-color-navy);
}

.bg-rate-company__hint {
	font-size: 0.85rem;
	color: #6B7280;
	margin: 0 0 1rem;
}

.bg-rate-form__stars {
	display: flex;
	gap: 0.35rem;
	margin-bottom: 1rem;
}

.bg-rate-star {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.8rem;
	line-height: 1;
	color: #D1D5DB;
	padding: 0;
	transition: color 0.15s ease;
}

.bg-rate-star.is-active { color: #F59E0B; }

.bg-rate-company textarea {
	width: 100%;
	border: 1px solid var(--bg-color-border);
	border-radius: var(--bg-radius-md);
	padding: 0.7em 1em;
	font-family: inherit;
	font-size: 0.95rem;
	resize: vertical;
	margin-bottom: 1rem;
}
