/**
 * PGL tenant overrides — scoped fixes that must not alter global Bexon theme.
 *
 * Brand colors (2026-07-20 swatch follow-up):
 *   primary from user swatch sample #517058 (button/CTA + seal rings/M)
 *   darker accents #334a37 / #25352a for hover/chrome
 *   logo-color.svg still multi-color (#3f4f41 green + #6f59fd purple) — do NOT mask header wordmark
 */
:root {
	--tj-color-theme-primary: #517058;
	--tj-color-theme-bg: #e9ede9;
	--tj-color-theme-bg-2: #dfe6df;
	--tj-color-theme-bg-3: #334a37;
	--tj-color-theme-dark: #334a37;
	--tj-color-theme-dark-2: #25352a;
	--tj-color-theme-dark-3: #6a8a6c;
	--tj-color-theme-dark-4: #7d9780;
	--tj-color-theme-dark-5: #758a76;
	--tj-color-heading-primary: #334a37;
	--tj-color-border-5: rgba(81, 112, 88, 0.15);
	--pgl-brand-purple: #6f59fd;
}

/* Focus rings / selection follow brand green */
:focus-visible {
	outline-color: var(--tj-color-theme-primary, #517058);
}

::selection {
	background-color: rgba(81, 112, 88, 0.22);
}

/* Homepage project filter row — uniform button boxes (RTL-safe) */
.h10-project .h10-project-filter {
	width: 100%;
}

.h10-project .h10-project-button-group {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	max-width: 1140px;
	margin-inline: auto;
	align-items: stretch;
}

.h10-project .h10-project-button-group .active-bg {
	display: none;
}

.h10-project .h10-project-button-group button {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 56px;
	height: 56px;
	padding: 8px 12px;
	line-height: 1.25;
	font-size: 14px;
	font-weight: var(--tj-fw-medium, 500);
	white-space: normal;
	text-transform: none;
	text-align: center;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	-webkit-box-pack: center;
}

.h10-project .h10-project-button-group button.active {
	min-height: 56px;
	height: 56px;
	padding: 8px 12px;
}

@media only screen and (max-width: 991px) {
	.h10-project .h10-project-button-group {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 575px) {
	.h10-project .h10-project-button-group {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.h10-project .h10-project-button-group button,
	.h10-project .h10-project-button-group button.active {
		min-height: 48px;
		height: 48px;
		font-size: 13px;
		padding: 8px 10px;
	}
}

/* Footer — logo above email in col-1; copyright bar left/right split */
.h10-footer .footer-col-1 .pgl-footer-logo {
	margin-bottom: 20px;
}

.h10-footer .copyright-content-area {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	direction: ltr;
}

.h10-footer .copyright-powered,
.h10-footer .copyright-text {
	margin: 0;
}

.h10-footer .copyright-powered p,
.h10-footer .copyright-text p {
	margin: 0;
}

.h10-footer .copyright-powered {
	text-align: left;
	display: flex;
	align-items: center;
	color: #ffffff;
}

.h10-footer .copyright-text {
	text-align: right;
}

/* DigitalST credit — force white on dark green footer (text and/or logo) */
.h10-footer .copyright-powered,
.h10-footer .copyright-powered p,
.h10-footer .copyright-powered a,
.h10-footer .copyright-powered a.pgl-digitalst-credit {
	color: #ffffff !important;
}

.h10-footer .copyright-powered a.pgl-digitalst-credit {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	line-height: 0;
	opacity: 1;
	transition: opacity 0.2s ease;
}

.h10-footer .copyright-powered a.pgl-digitalst-credit:hover,
.h10-footer .copyright-powered a.pgl-digitalst-credit:focus-visible {
	color: #ffffff !important;
	opacity: 0.85;
	text-decoration: none;
}

.h10-footer .copyright-powered a.pgl-digitalst-credit img {
	display: block;
	height: 28px;
	width: auto;
	max-width: 120px;
	object-fit: contain;
	/* Keep wordmark readable white on forest-green bar */
	filter: brightness(0) invert(1);
	opacity: 1;
}

/* Header — colored logo + sticky duplicate bar */
.pgl-brand-logo,
.pgl-brand-logo.pgl-logo-color {
	background: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.h10-header.header-duplicate.header-sticky {
	position: fixed;
	top: 0;
	inset-inline-start: 15px;
	inset-inline-end: 15px;
	width: auto;
	left: 15px;
	right: 15px;
	margin-inline: 0;
	z-index: 1002;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	visibility: hidden;
	transition: transform 0.3s ease, visibility 0.3s ease;
}

.h10-header.header-duplicate.header-sticky.sticky {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}

.h10-header.header-duplicate.header-sticky .header-bottom {
	border-bottom: 0;
}

.h10-header.header-duplicate .header-wrapper {
	align-items: center;
	min-height: 72px;
}

.h10-header.header-duplicate .site_logo {
	flex: 0 0 auto;
	display: block;
	width: auto;
	min-width: 160px;
	z-index: 2;
}

.h10-header.header-duplicate .site_logo .logo {
	display: block;
	width: auto;
	max-width: 220px;
	line-height: 0;
}

.h10-header.header-duplicate .site_logo .pgl-brand-logo,
.h10-header.header-duplicate .site_logo .pgl-logo-color {
	display: block;
	width: 220px !important;
	max-width: 220px;
	max-height: 56px;
	height: auto;
	object-fit: contain;
}

.h10-header.header-absolute .site_logo .pgl-logo-color {
	width: 260px !important;
	max-width: 260px;
	max-height: 66px;
}

html[dir="rtl"] .h10-header.header-duplicate.header-sticky,
html[dir="ltr"] .h10-header.header-duplicate.header-sticky {
	left: 15px;
	right: 15px;
}

@media only screen and (max-width: 575px) {
	.h10-header.header-duplicate.header-sticky,
	.h10-header.header-duplicate.header-sticky.section-gap-x {
		left: 0;
		right: 0;
		inset-inline-start: 0;
		inset-inline-end: 0;
		width: 100%;
	}
}

/* ScrollSmoother breaks Bexon SplitText + ScrollTrigger text-anim (titles stay at autoAlpha:0) */
.text-anim,
.title-anim,
.sec-title.text-anim,
.banner-title.text-anim,
.h10-footer-title.text-anim,
.h10-service .sec-title,
.h10-project .sec-title,
.h10-testimonial .sec-title,
.h10-blog .sec-title {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

.text-anim *,
.title-anim *,
.text-anim .split-line,
.text-anim .split-char,
.text-anim .split-word,
.split-line,
.split-char,
.split-word {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* Team/testimonial section — dark bg; ensure revealed titles stay light */
.h10-testimonial .sec-heading.style-3 .sec-title {
	color: var(--tj-color-common-white, #fff);
}


/* Company seal — rings + M use theme primary (inline SVG also set to #517058) */
#pgl-company-badge .pgl-badge-ring circle[stroke],
#pgl-company-badge .pgl-company-mark g[fill] {
	stroke: var(--tj-color-theme-primary, #517058);
}
#pgl-company-badge .pgl-company-mark g {
	fill: var(--tj-color-theme-primary, #517058);
}

/* Decorative accent lines / underlines that used hardcoded old greens */
.h10-hero .tji-curve-arrow,
.sec-heading .subtitle::before,
.sec-heading .subtitle::after {
	color: var(--tj-color-theme-primary, #517058);
}

/* Two-branch office address (contact + footer) */
.pgl-office-address,
.footer-contact-info .pgl-office-address span {
	line-height: 1.7;
	white-space: normal;
}
.footer-contact-info .pgl-office-address {
	margin-bottom: 0.75rem;
}
