/**
 * BPAS header and footer.
 * Builds on Bentol's header-style5 and Footer Style One, using Bentol's colour tokens.
 */

/* Bentol adds a 320px spacer when a page has no classic content; Elementor pages keep theirs in Elementor data. */
.elementor-page .bentol-single-blank-page {
	display: none;
}

/*==== Header =====================*/
/* White, no tint (Parvathi, 26 Oct 2026). */
.bpas-header {
	background-color: var(--white-color);
}

.bpas-header .main-wrapper,
.bpas-header .main-wrapper .menu-area {
	background-color: transparent;
}

.bpas-header--transparent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	background-color: transparent;
}

/* A solid header stays in the page flow, so Bentol's admin-bar offset (top: 33px) must not push it over the content. */
.admin-bar .nav-header.bpas-header:not(.bpas-header--transparent):not(.bpas-header--overlay) {
	top: 0;
}

/* The transparent header sits over the hero, which leaves room for it at the top. */
.admin-bar .bpas-header--transparent {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .bpas-header--transparent,
	.admin-bar .bpas-header--overlay {
		top: 46px;
	}
}

.bpas-header-inner {
	padding: 4px 26px 0 54px;
}

.bpas-header.header-style5 .main-wrapper .logo {
	min-width: 242px;
}

.bpas-header .header-logo img {
	width: 182px;
	max-width: none;
	height: auto;
}

/* Bentol expects a desktop and a mobile logo; BPAS uses one logo everywhere. */
.bpas-header .menu-area .header-logo a img:only-child,
.bpas-sticky-header .menu-area .header-logo a img:only-child {
	display: inline-block;
}

.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li {
	margin-right: 25px;
}

.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li > a {
	padding: 28px 0;
	font-size: 16px;
	font-weight: 500;
	color: var(--dark-color);
}

.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.current-menu-item > a,
.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.active > a {
	color: var(--theme-color);
}

.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.menu-item-has-children > a {
	padding-right: 18px;
}

/* Long sub-menu labels (main and sticky header) must not run into the arrow of a nested sub-menu: the label keeps 44px on the right,
   the arrow sits 20px from the edge (Bentol). */
:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu li.menu-item-has-children > a,
.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu ul.sub-menu li.menu-item-has-children > a {
	padding-right: 44px;
}

/* Fly-outs open 5px from the menu they belong to (Bentol: 15px). */
:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu li ul.sub-menu {
	margin-left: 5px;
}

/* Dropdown arrow for top-level items whose sub-items are still to be added. */
.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.bpas-has-dropdown > a {
	padding-right: 18px;
}

.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.bpas-has-dropdown > a::before {
	position: absolute;
	content: "";
	font-family: inherit;
	width: 10px;
	height: 10px;
	background-color: currentColor;
	-webkit-mask: var(--bpas-icon-chevron-down) center / contain no-repeat;
	mask: var(--bpas-icon-chevron-down) center / contain no-repeat;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.4;
}

.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.bpas-has-dropdown > a:hover::before {
	opacity: 1;
}

.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right-wrapper .header-right {
	gap: 20px;
}

.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-phone {
	display: inline-flex;
	align-items: center;
	margin-right: 12px;
	font-size: 16px;
	font-weight: 600;
	color: var(--dark-color);
}

.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-phone .bpas-i {
	font-size: 16px;
	color: var(--theme-color);
	margin-right: 6px;
}

.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-phone:hover {
	color: var(--theme-color);
}

.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .search-btn {
	width: 36px;
	height: 36px;
	background-color: var(--white-color);
	border: 1px solid var(--bs-border-color12);
	color: var(--dark-color);
}

.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .search-btn:hover {
	color: var(--theme-color);
}

.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-btn {
	padding: 12px 22px 12px 20px;
	border-radius: 30px;
	background-color: var(--theme-color);
	color: var(--white-color);
	font-size: 16px;
	font-weight: 500;
	align-items: center;
	transition: all 0.4s ease 0s;
}

/* Contact Us is Bentol orange on every header style (Parvathi, 26 Oct 2026); it turns dark teal on hover. */
.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-btn:hover,
.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-btn:focus-visible {
	background-color: var(--dark-color);
	color: var(--white-color);
}

/* Inner pages: the header sits over Bentol's dark page banner, which leaves room for it at the top. */
.bpas-header--overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	background-color: transparent;
}

.admin-bar .bpas-header--overlay {
	top: 32px;
}

.bpas-header--overlay .bpas-header-inner {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.bpas-header--overlay.header-style5 .main-wrapper .nav-menu .main-menu > ul > li > a,
.bpas-header--overlay.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-phone {
	color: var(--white-color);
}

.bpas-header--overlay.header-style5 .main-wrapper .nav-menu .main-menu > ul > li > a:hover,
.bpas-header--overlay.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.current-menu-item > a,
.bpas-header--overlay.header-style5 .main-wrapper .nav-menu .main-menu > ul > li.current-menu-ancestor > a,
.bpas-header--overlay.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-phone:hover {
	color: var(--theme-color);
}

.bpas-header--overlay.header-style5 .main-wrapper .header-right-wrapper .header-right .search-btn {
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.2);
	color: var(--white-color);
}

.bpas-header--overlay.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-btn {
	background-color: var(--theme-color);
	color: var(--white-color);
}

.bpas-header--overlay.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-btn:hover {
	background-color: var(--white-color);
	color: var(--dark-color);
}

@media (max-width: 1499px) {
	.bpas-header.header-style5 .main-wrapper .header-right-wrapper .header-right .bpas-header-phone {
		display: none;
	}
}

@media (max-width: 1399px) {
	.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li {
		margin-right: 20px;
	}
}

/* Narrow desktops (1200-1299px): tighter menu and a smaller logo so everything stays on one row. */
@media (max-width: 1299px) {
	.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu > ul > li {
		margin-right: 12px;
	}

	.bpas-header .header-logo img {
		width: 150px;
	}
}

/* Keep the phone number and the button on one line; the menu collapses to the burger below 1200px. */
.bpas-header .header-right-wrapper {
	flex-shrink: 0;
}

.bpas-header .header-right .bpas-header-phone,
.bpas-header .header-right .theme-btn {
	white-space: nowrap;
}

@media (max-width: 991px) {
	.bpas-header,
	.bpas-header--transparent {
		position: relative;
		top: 0;
		background-color: var(--white-color);
	}

	.bpas-header-inner {
		padding: 10px 12px;
	}

	.bpas-header.bpas-header--overlay {
		background-color: transparent;
	}

	.bpas-header--overlay .header-logo img {
		width: 140px;
	}

	.bpas-header .header-logo img {
		width: 140px;
	}
}

/* Leave room for the overlay header above the banner title on phones. */
@media (max-width: 575px) {
	.breadcrumb-section {
		padding-top: 140px;
	}
}

/* Sticky header: light bar with dark links. */
.bpas-sticky-header {
	background-color: var(--white-color);
	box-shadow: 0 4px 20px rgba(6, 50, 50, 0.08);
}

.bpas-sticky-header .header-logo img {
	width: 150px;
	height: auto;
}

.bpas-sticky-header .main-menu > ul > li {
	margin-right: 27px;
}

.bpas-sticky-header .main-menu a {
	color: var(--dark-color);
}

.bpas-sticky-header .main-menu > ul > li > a:hover,
.bpas-sticky-header .main-menu > ul > li.active > a {
	color: var(--theme-color);
}

/* Orange Contact Us in the sticky header too (Parvathi, 27 Oct 2026): after the menu on desktop,
   between the logo and the menu button on tablets and phones. */
.bpas-sticky-header .nav-menu {
	margin-left: auto;
}

.bpas-sticky-header .bpas-sticky-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px 12px 20px;
	border-radius: 30px;
	background-color: var(--theme-color);
	color: var(--white-color);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.bpas-sticky-header .bpas-sticky-btn:hover,
.bpas-sticky-header .bpas-sticky-btn:focus-visible {
	background-color: var(--dark-color);
	color: var(--white-color);
}

.bpas-sticky-header .bpas-sticky-btn:focus-visible {
	outline: 3px solid var(--theme-color);
	outline-offset: 3px;
}

/* Desktop: the menu follows the logo with the main header's 60px gap; phone and Contact Us stay at the right
   (Parvathi, 2026-11-04). */
@media (min-width: 1200px) {
	.bpas-sticky-header .menu-area > .row {
		justify-content: flex-start;
	}

	.bpas-sticky-header .nav-menu {
		margin-left: 36px; /* + the columns' 24px padding = 60px */
	}

	.bpas-sticky-header .bpas-sticky-cta {
		margin-left: auto;
	}
}

/* Phone number before Contact Us, as in the main header: only where the main header shows it (1500px and wider). */
.bpas-sticky-header .bpas-sticky-cta {
	display: flex;
	align-items: center;
	gap: 32px;
}

.bpas-sticky-header .bpas-sticky-phone {
	display: inline-flex;
	margin-left: 16px;
	align-items: center;
	color: var(--dark-color);
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
	transition: color 0.3s ease;
}

.bpas-sticky-header .bpas-sticky-phone .bpas-i {
	margin-right: 6px;
	color: var(--theme-color);
	font-size: 16px;
}

.bpas-sticky-header .bpas-sticky-phone:hover,
.bpas-sticky-header .bpas-sticky-phone:focus-visible {
	color: var(--theme-color);
}

@media (max-width: 1499px) {
	.bpas-sticky-header .bpas-sticky-phone {
		display: none;
	}
}

@media (max-width: 1199px) {
	.bpas-sticky-header .bpas-sticky-cta {
		order: 2;
		margin-left: auto;
	}

	.bpas-sticky-header .nav-menu {
		order: 3;
		margin-left: 0;
	}
}

@media (max-width: 575px) {
	.bpas-sticky-header .bpas-sticky-cta {
		padding-left: 0;
		padding-right: 10px;
	}

	.bpas-sticky-header .bpas-sticky-btn {
		gap: 6px;
		padding: 10px 14px;
		font-size: 14px;
	}
}

/* Narrow phones: smaller logo and no arrow so the button stays on the logo's row; below 340px there is no room, the menu has Contact Us. */
@media (max-width: 389px) {
	.bpas-sticky-header .header-logo img {
		width: 130px;
	}

	.bpas-sticky-header .bpas-sticky-cta {
		padding-left: 0;
		padding-right: 5px;
	}

	.bpas-sticky-header .bpas-sticky-btn {
		padding: 10px 12px;
	}

	.bpas-sticky-header .bpas-sticky-btn .bpas-i {
		display: none;
	}
}

@media (max-width: 339px) {
	.bpas-sticky-header .bpas-sticky-cta {
		display: none;
	}
}

.bpas-mobile-contact a {
	color: var(--dark-color);
	font-weight: 600;
}

.bpas-mobile-contact a span {
	color: var(--theme-color);
}

/*==== Footer: heading and call-to-action band =====================*/
.bpas-cta-section {
	padding-top: 40px;
	background-image: linear-gradient(var(--bpas-cta-top, var(--white-color)) var(--bpas-cta-split, 50%), var(--dark-color) var(--bpas-cta-split, 50%));
}

/* assets/js/bpas-footer-band.js sets --bpas-cta-top to the colour that ends the page above; on a dark one the heading turns white. */
.bpas-cta-section.is-on-dark .bpas-cta-heading {
	color: var(--white-color);
}

.bpas-cta-heading {
	margin: 0 0 19px;
	text-align: center;
	font-size: 24px;
	line-height: 1.3;
	font-weight: 600;
	color: var(--title-color);
}

.bpas-cta-heading span {
	color: var(--theme-color);
}

.bpas-footer .bpas-cta {
	background-color: #c8441a;
}

.bpas-footer .bpas-cta .text,
.bpas-footer .bpas-cta .contact-info {
	position: relative;
	z-index: 2;
}

.newsletter.bpas-cta .text h3 {
	font-size: 30px;
}

.bpas-cta-ring {
	position: absolute;
	z-index: 1;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background-image: linear-gradient(180deg, #f2896a 0%, #e3572b 100%);
	-webkit-mask: radial-gradient(circle, transparent 49px, #000 50px);
	mask: radial-gradient(circle, transparent 49px, #000 50px);
	pointer-events: none;
}

.bpas-cta-ring--left {
	left: -78px;
	top: -72px;
}

.bpas-cta-ring--right {
	right: -72px;
	top: -74px;
}

.bpas-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--theme-color);
	pointer-events: none;
}

.bpas-dot--cta {
	position: absolute;
	z-index: 1;
	left: 212px;
	top: 17px;
}

/*==== Footer: main area =====================*/
.bpas-footer .footer-top {
	position: relative;
	padding-bottom: 133px;
}

@media (max-width: 991px) {
	.bpas-footer .footer-top {
		padding-bottom: var(--section-space-mobile);
	}
}

.bpas-footer-grid {
	display: grid;
	grid-template-columns: 284px 226px 244px 262px 1fr;
}

.bpas-footer .footer-widget {
	margin: 0;
	padding-right: 18px;
}

.bpas-footer .footer-widget.nletter {
	padding-right: 0;
}

.bpas-footer .footer-widget .title {
	white-space: nowrap;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 32px;
}

.bpas-footer .footer-widget ul li a {
	font-size: 15px;
}

.bpas-footer .footer-widget .text {
	font-size: 15px;
}

.bpas-footer .footer-brand::before {
	right: 18px;
}

.bpas-footer .footer-logo {
	margin-bottom: 32px;
}

.bpas-footer .footer-logo img {
	width: 192px;
	height: auto;
}

.bpas-footer .footer-brand .text {
	margin: 0;
	color: var(--gray-color2);
	font-size: 15px;
	line-height: 1.66;
}

.bpas-footer .footer-brand .text strong {
	color: var(--white-color);
	font-weight: 700;
}

.bpas-footer .footer-social {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 40px;
}

.bpas-footer .footer-social .social-link {
	margin: 0;
	font-size: 18px;
	color: var(--white-color);
}

.bpas-footer .footer-social .social-link:hover {
	color: var(--theme-color2);
}

.bpas-footer .nletter .text {
	margin-bottom: 22px;
}

.bpas-footer .newsletter-form .form-group input[type=email] {
	border: 0;
}

.bpas-footer .footer-widget .notify .icon {
	color: var(--theme-color2);
	font-size: 18px;
}

/* Scroll to top: dark circle with a double chevron. */
.bpas-scroll-top svg {
	background: var(--dark-color4);
	border-color: rgba(255, 255, 255, 0.1);
}

.bpas-scroll-top:after {
	content: "";
	font-family: inherit;
	background-color: var(--white-color);
	-webkit-mask: var(--bpas-icon-angles-up) center / 18px 18px no-repeat;
	mask: var(--bpas-icon-angles-up) center / 18px 18px no-repeat;
}

@media (max-width: 1399px) {
	.bpas-footer-grid {
		grid-template-columns: 1.3fr 1fr 1fr 1fr 1.4fr;
		column-gap: 24px;
	}

	.bpas-footer .footer-widget .title {
		white-space: normal;
	}
}

@media (max-width: 1199px) {
	.bpas-footer-grid {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 46px;
	}

	.bpas-footer .footer-brand {
		grid-column: 1 / -1;
	}

	.bpas-footer .footer-brand::before {
		display: none;
	}

	.bpas-footer .nletter {
		grid-column: 1 / -1;
		max-width: 420px;
	}

	.bpas-cta-ring,
	.bpas-dot--cta {
		display: none;
	}
}

@media (max-width: 767px) {
	.bpas-footer-grid {
		grid-template-columns: 1fr 1fr;
	}

	.bpas-cta-heading {
		font-size: 20px;
	}

}

@media (max-width: 575px) {
	.bpas-footer-grid {
		grid-template-columns: 1fr;
	}
}

/* Four menu columns (Web Architecture Blueprint footer, 2026-10-23): same look, one more column. */
.bpas-footer-grid--cols-4 {
	grid-template-columns: 240px repeat(4, minmax(0, 1fr)) 270px;
}

.bpas-footer .bpas-footer-grid--cols-4 .footer-widget .title {
	white-space: normal;
}

@media (max-width: 1399px) {
	.bpas-footer-grid--cols-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 24px;
		row-gap: 46px;
	}

	.bpas-footer .bpas-footer-grid--cols-4 .footer-brand,
	.bpas-footer .bpas-footer-grid--cols-4 .nletter {
		grid-column: 1 / -1;
	}

	.bpas-footer .bpas-footer-grid--cols-4 .footer-brand::before {
		display: none;
	}

	.bpas-footer .bpas-footer-grid--cols-4 .nletter {
		max-width: 420px;
	}
}

@media (max-width: 767px) {
	.bpas-footer-grid--cols-4 {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 575px) {
	.bpas-footer-grid--cols-4 {
		grid-template-columns: 1fr;
	}
}

/*==== Pages built from BPAS Page Blocks: white page, as in the source designs ====*/
.bpas-page-area {
	background-color: var(--white-color, #fff);
	padding-bottom: var(--section-space);
}

@media (max-width: 991px) {
	.bpas-page-area {
		padding-bottom: var(--section-space-mobile);
	}
}

/*==== Header below 1400px: aligned with the page container; burger menu below 1200px ====*/
@media (max-width: 1399px) {
	.bpas-header-inner {
		padding-left: max(12px, calc((100% - var(--main-container) - var(--container-gutters)) / 2 + 12px));
		padding-right: max(12px, calc((100% - var(--main-container) - var(--container-gutters)) / 2 + 12px));
	}

	.bpas-header.header-style5 .main-wrapper {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 1199px) {
	.bpas-header .menu-area .nav-menu {
		order: 3;
	}

	.bpas-header .sidebar-btn {
		background: var(--light-color);
	}
}

/*==== Mobile menu panel ====*/
/* Leave room on the right of the logo for the close button. */
body .mobile-menu-wrapper .mobile-logo {
	padding: 20px 70px 20px 20px;
}

body .mobile-menu-wrapper .mobile-logo img {
	display: block;
	width: 100%;
	max-width: 185px;
	height: auto;
}

body .mobile-menu-wrapper .menu-toggle {
	top: 20px;
	right: 10px;
}

/* Long menu labels wrap inside the panel instead of running past its edge. The panel scrolls on its own and
   never hands the scroll on to the page (the page is locked by bpas-header-menu.js while the menu is open). */
body .mobile-menu-wrapper .mobile-menu-area {
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

html.bpas-menu-locked,
html.bpas-menu-locked body {
	overflow: hidden !important;
}

body .mobile-menu-wrapper {
	overscroll-behavior: contain;
}

body .mobile-menu ul,
body .mobile-menu ul li ul {
	width: auto;
	min-width: 0;
	max-width: 100%;
}

body .mobile-menu ul li a {
	white-space: normal;
	overflow-wrap: anywhere;
	padding-right: 50px;
}

body .mobile-menu ul li ul li a {
	padding-right: 20px;
}

/*==== Accessibility (WCAG 2.1 AA) ====*/
/* Links inside footer text are underlined, not told apart by colour alone. */
.bpas-footer .copyright-wrap p a,
.bpas-footer p a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* Newsletter field: readable typed text and placeholder on the white field. */
.bpas-footer .newsletter-form .form-group input[type=email] {
	color: var(--title-color);
}
.bpas-footer .newsletter-form .form-group input[type=email]::placeholder {
	color: #5a7779;
	opacity: 1;
}
/* Contact box in the footer: white text on the orange box. */
.bpas-footer .newsletter .contact-info .email-details p {
	color: var(--white-color);
	opacity: 1;
}

/* Tablets and phones: Bentol fixes the menu bar at 70px, which is shorter than the BPAS logo,
   so the header background stopped above the logo. Let the bar grow with the logo. */
@media (max-width: 991px) {
	.bpas-header .menu-area,
	.bpas-sticky-header .menu-area {
		height: auto;
		min-height: 70px;
	}

	.bpas-header .header-logo,
	.bpas-sticky-header .header-logo {
		padding: 0;
	}
}

/* Breathing room above and below the logo on every screen size (Parvathi, 2026-10-20). */
.bpas-header .bpas-header-inner {
	padding-top: 20px;
	padding-bottom: 15px;
}

.bpas-sticky-header .menu-area {
	padding-top: 20px;
	padding-bottom: 15px;
}

/* Footer links that wrap onto two lines: shift the whole link on hover and keep the dot beside the first line. */
.bpas-footer .footer-widget ul li a {
	display: inline-block;
	transition: padding 0.3s ease, color 0.3s ease;
}

.bpas-footer .footer-widget ul li a::before {
	top: 0.75em;
}

/* Logos carry width/height attributes for layout; CSS sets the width, so keep the height proportional. */
.bpas-footer .footer-logo img,
body .mobile-menu-wrapper .mobile-logo img {
	height: auto;
}

/*==== Footer newsletter sign-up (BPAS Site Core) ====*/
.bpas-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.bpas-footer .newsletter-form .form-group input[type=email]:focus-visible,
.bpas-footer .newsletter-form .form-group button:focus-visible {
	outline: 2px solid var(--theme-color2);
	outline-offset: 2px;
}
.bpas-footer #bpas-newsletter .form-group input[type=email] {
	margin-bottom: 15px;
}
.bpas-footer .bpas-nl-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 20px;
}
.bpas-footer .bpas-nl-consent input[type=checkbox] {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin: 3px 0 0;
	padding: 0;
	accent-color: var(--theme-color2);
	-webkit-appearance: auto;
	appearance: auto;
}
.bpas-footer .bpas-nl-consent input[type=checkbox]:focus-visible {
	outline: 2px solid var(--theme-color2);
	outline-offset: 2px;
}
.bpas-footer .bpas-nl-consent label {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--gray-color2);
}
.bpas-footer .bpas-nl-consent label a {
	color: var(--white-color);
}
.bpas-footer .bpas-nl-status {
	margin: 0 0 20px;
	font-size: 14px;
	color: var(--white-color);
}
.bpas-footer .bpas-nl-status--success {
	color: var(--theme-color2);
}
/* Interaction (bpas-newsletter.js adds .bpas-nl-js): consent stays hidden until the visitor types;
   without JavaScript everything stays visible and the server checks the same rules. */
.bpas-nl-js .bpas-footer .bpas-nl-consent:not(.is-open) {
	display: none;
}
.bpas-footer .bpas-nl-field-error {
	margin: -5px 0 15px;
	font-size: 14px;
	line-height: 1.5;
	color: #ffb59a;
}
.bpas-footer .bpas-nl-field-error[hidden] {
	display: none;
}
.bpas-footer #bpas-newsletter .form-group input[aria-invalid=true] {
	box-shadow: inset 0 0 0 2px #c44516;
}
.bpas-footer .newsletter-form .form-group button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Header menu, 4 levels (Web Architecture Blueprint, 23 Oct 2026). Bentol opens sub-menus on hover only:
   keyboard focus opens them too, Escape closes them (assets/js/bpas-header-menu.js). */
:is(.bpas-header, .bpas-sticky-header) .main-menu ul li.bpas-sub-open > ul.sub-menu,
:is(.bpas-header, .bpas-sticky-header) .main-menu ul li:focus-within > ul.sub-menu {
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
	z-index: 9;
}

:is(.bpas-header, .bpas-sticky-header) .main-menu ul li.bpas-sub-closed > ul.sub-menu,
:is(.bpas-header, .bpas-sticky-header) .main-menu ul li.bpas-sub-closed:focus-within > ul.sub-menu {
	visibility: hidden;
	opacity: 0;
	transform: scaleY(0);
}

:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu a:focus-visible {
	outline: 2px solid var(--dark-color);
	outline-offset: -4px;
}

/* A fly-out that would run past the right edge of the screen opens to the left. */
:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu li ul.sub-menu.bpas-sub-flip {
	left: auto;
	right: 100%;
	margin-left: 0;
	margin-right: 5px;
}

/* Long lists (16 module pages) scroll inside the screen height; the script sets max-height. */
:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu li ul.sub-menu {
	overflow-y: auto;
	overscroll-behavior: contain;
}

:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu li ul.sub-menu:has(ul.sub-menu) {
	overflow: visible;
}

/* Fourth level: labels wrap at 320px so the fly-out fits beside the third level on desktop widths. */
:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu li ul.sub-menu li ul.sub-menu {
	width: max-content;
	max-width: 320px;
}

:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu li ul.sub-menu li ul.sub-menu a {
	white-space: normal;
	line-height: 1.35;
}

/* Bentol colours every link below a hovered or current item; with four levels that turned whole fly-outs
   white (hover) or orange (current section). Only the item itself changes colour. */
.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu ul.sub-menu li:hover ul.sub-menu li > a,
.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu ul.sub-menu li.active ul.sub-menu li:not(.active) > a {
	color: var(--dark-color);
}

.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu ul.sub-menu li:hover ul.sub-menu li:hover > a {
	color: var(--white-color);
}

/* Current section in a fly-out: the darker orange used for text (WCAG AA, 2026-10-20 decision). */
.bpas-sticky-header .main-menu ul.sub-menu li.active > a,
.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu ul.sub-menu li.active > a {
	color: var(--bpas-accent-text, #c44516);
}

.bpas-sticky-header .main-menu ul.sub-menu li.active:hover > a,
.bpas-header.header-style5 .main-wrapper .nav-menu .main-menu ul.sub-menu li.active:hover > a {
	color: var(--white-color);
}

/* Icons without Font Awesome (theme 1.9.3). Bentol drew these with its icon font; they are SVG masks now,
   painted in the text colour, so hover and current-item colours work as before. font-family: inherit,
   or the browser still downloads the icon font for the empty box. */
:root {
	--bpas-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2l6 6 6-6'/%3E%3C/svg%3E");
	--bpas-icon-chevron-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8l6-6 6 6'/%3E%3C/svg%3E");
	--bpas-icon-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2l6 6-6 6'/%3E%3C/svg%3E");
	--bpas-icon-angles-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8l6-6 6 6M2 14l6-6 6 6'/%3E%3C/svg%3E");
}

.bpas-i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-style: normal;
	line-height: 1;
	vertical-align: -0.125em;
}

/* Icons keep their own shape, 1em high. Bentol forces button SVGs to 20px (.theme-btn svg, !important). */
i.bpas-i > svg {
	display: block;
	width: auto !important;
	max-width: none;
	height: 1em !important;
	overflow: visible;
}

.main-menu > ul > li.menu-item-has-children > a::before {
	content: "";
	font-family: inherit;
	width: 10px;
	height: 10px;
	background-color: currentColor;
	-webkit-mask: var(--bpas-icon-chevron-down) center / contain no-repeat;
	mask: var(--bpas-icon-chevron-down) center / contain no-repeat;
}

.main-menu ul.sub-menu li.menu-item-has-children > a::after {
	content: "";
	font-family: inherit;
	width: 7px;
	height: 11px;
	background-color: currentColor;
	-webkit-mask: var(--bpas-icon-chevron-right) center / contain no-repeat;
	mask: var(--bpas-icon-chevron-right) center / contain no-repeat;
}

.mobile-menu ul .submenu-item-has-children > a .mean-expand-class:before {
	content: "";
	font-family: inherit;
	position: absolute;
	inset: 0;
	margin: auto;
	width: 14px;
	height: 9px;
	background-color: currentColor;
	-webkit-mask: var(--bpas-icon-chevron-down) center / contain no-repeat;
	mask: var(--bpas-icon-chevron-down) center / contain no-repeat;
}

.mobile-menu ul .submenu-item-has-children.active-class > a .mean-expand-class:before {
	content: "";
	-webkit-mask-image: var(--bpas-icon-chevron-up);
	mask-image: var(--bpas-icon-chevron-up);
}

.bpas-mobile-contact .bpas-i {
	color: var(--theme-color);
}

/*==== Footer v2 (BPAS footer master, 25 Oct 2026) ====*/
/* Wednesday Wisdom band: the master's design on Bentol colours, radius (10px boxes, 40px pills) and spacing. */
.bpas-footer .bpas-ww {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px 30px;
	align-items: center;
	padding: 30px 30px 30px 40px;
	border: 1px solid rgba(194, 223, 147, 0.18);
	border-radius: 10px;
	background-color: var(--dark-color4);
	overflow: hidden;
}

.bpas-footer .bpas-ww::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background-image: linear-gradient(180deg, var(--theme-color), var(--theme-color2));
}

.bpas-footer .bpas-ww__tag {
	display: inline-block;
	margin-bottom: 4px;
	padding: 4px 12px;
	border-radius: 40px;
	background-color: rgba(194, 223, 147, 0.14);
	color: var(--theme-color2);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bpas-footer .bpas-ww__name {
	margin: 0;
	line-height: 0;
}

.bpas-footer .bpas-ww__logo {
	display: block;
	width: 360px;
	max-width: calc(100% + 12px);
	height: auto;
	margin: -8px 0 -10px -12px;
}

.bpas-footer .bpas-ww__sub {
	margin: 0;
	color: var(--theme-color2);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.bpas-footer .bpas-ww__text {
	max-width: 640px;
	margin: 8px 0 0;
	color: var(--gray-color2);
	font-size: 15px;
	line-height: 1.6;
}

.bpas-footer .bpas-ww__side {
	display: grid;
	justify-items: stretch;
	gap: 12px;
	min-width: 260px;
}

.bpas-footer .bpas-ww__often {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	margin: 0;
	padding: 12px 16px 12px 12px;
	border: 1px solid rgba(194, 223, 147, 0.18);
	border-radius: 10px;
	background-color: rgba(194, 223, 147, 0.08);
}

.bpas-footer .bpas-ww__often .bpas-i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 5px;
	background-color: var(--theme-color2);
	color: var(--dark-color);
	font-size: 24px;
}

.bpas-footer .bpas-ww__often-k {
	display: block;
	color: var(--theme-color2);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bpas-footer .bpas-ww__often b {
	display: block;
	margin-top: 2px;
	color: var(--white-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.bpas-footer .bpas-ww .bpas-ww__btn {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 40px;
	background-color: var(--theme-color2);
	color: var(--dark-color);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bpas-footer .bpas-ww .bpas-ww__btn:hover {
	background-color: var(--white-color);
	color: var(--dark-color);
}

.bpas-footer :focus-visible {
	outline: 3px solid var(--theme-color2);
	outline-offset: 3px;
	border-radius: 5px;
}

/* Five equal link columns in the "Explore BPAS" card; long links wrap (Parvathi, 2026-10-25). Text sizes as
   in the footer file. */
.bpas-footer-cols {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 40px 24px;
}

.bpas-footer .bpas-footer-cols .footer-widget ul li a {
	font-size: 14px;
}

.bpas-footer .bpas-footer-cols .footer-widget {
	margin: 0;
	padding-right: 0;
}

.bpas-footer .bpas-footer-cols .footer-widget .title {
	font-size: 15px;
	line-height: 1.35;
	margin-bottom: 24px;
}

.bpas-footer .bpas-footer-cols .footer-widget .title a {
	color: var(--white-color);
	text-decoration: none;
	transition: color 0.3s ease;
}

.bpas-footer .bpas-footer-cols .footer-widget .title a:hover {
	color: var(--theme-color2);
}

.bpas-footer .bpas-col-arrow,
.bpas-footer .bpas-ext {
	color: var(--theme-color2);
}

.bpas-footer .footer-top:has(.bpas-fcard) {
	padding-top: 80px;
	padding-bottom: 80px;
}

.bpas-footer .bpas-pos {
	margin: 0;
	padding-left: 14px;
	border-left: 3px solid var(--theme-color);
	color: var(--white-color);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.bpas-footer .bpas-pos span {
	display: block;
}

.bpas-footer .bpas-pos span + span {
	color: var(--theme-color2);
	font-weight: 600;
}

.bpas-footer .bpas-award {
	margin: 14px 0 0;
	color: var(--gray-color2);
	font-size: 14px;
	line-height: 1.6;
}

/* Offices: Chennai, then BPAS — Middle East in the same Bentol footer style. */
.bpas-footer .bpas-office {
	display: grid;
	gap: 10px;
	margin: 30px 0 0;
	color: var(--gray-color2);
	font-size: 14px;
	font-style: normal;
	line-height: 1.6;
}

.bpas-footer .bpas-office p {
	margin: 0;
}

.bpas-footer .bpas-office__label {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--theme-color2);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bpas-footer .bpas-office__label::before {
	content: "";
	flex: none;
	width: 7px;
	height: 7px;
	background-color: var(--theme-color);
	transform: rotate(45deg);
}

.bpas-footer .bpas-office .bpas-office__person {
	margin-top: -4px;
	color: var(--white-color);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}

.bpas-footer .bpas-office .bpas-office__role {
	margin-top: -6px;
	color: var(--gray-color2);
}

.bpas-footer .bpas-office__row {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
}

.bpas-footer .bpas-office__row .bpas-i {
	margin-top: 3px;
	color: var(--theme-color2);
	font-size: 18px;
	line-height: 1;
}

.bpas-footer .bpas-office a {
	color: var(--gray-color2);
	text-decoration: none;
	transition: color 0.3s ease;
}

.bpas-footer .bpas-office a:hover {
	color: var(--theme-color2);
}

.bpas-footer .footer-bottom .bpas-trademarks {
	margin: 16px 0 0;
	color: var(--gray-color2);
	font-size: 12px;
	line-height: 1.6;
	text-align: left;
}

/* Below 1200px the five columns no longer fit side by side: three, then two, then one per row, and long
   labels may wrap again. */
@media (max-width: 1199px) {
	.bpas-footer-cols {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.bpas-footer .bpas-ww {
		grid-template-columns: minmax(0, 1fr);
	}

	.bpas-footer .bpas-ww__side {
		grid-auto-flow: column;
		justify-content: start;
		align-items: center;
		gap: 16px;
		min-width: 0;
	}
}

@media (max-width: 767px) {
	.bpas-footer-cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 20px;
	}

	.bpas-footer .bpas-footer-cols .footer-widget {
		margin-bottom: 0;
	}

	.bpas-footer .footer-bottom .bpas-trademarks {
		text-align: center;
	}
}

@media (max-width: 575px) {
	.bpas-footer .bpas-ww {
		padding: 24px 20px 24px 26px;
	}

	.bpas-footer .bpas-ww__logo {
		width: 300px;
		margin: -6px 0 -8px -10px;
	}

	.bpas-footer .bpas-ww__side {
		grid-auto-flow: row;
		justify-content: stretch;
	}

	.bpas-footer .bpas-ww .bpas-ww__btn {
		justify-self: start;
	}
}

@media (max-width: 400px) {
	.bpas-footer-cols {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bpas-footer .bpas-ww .bpas-ww__btn,
	.bpas-footer .footer-widget ul li a {
		transition: none;
	}
}

/*==== Header dropdown panels (BPAS header master style, 25 Oct 2026; markup from inc/header-mega.php) ====*/
/* One panel per top-level item: headings with an arrow, lists under them, an "All …" link at the foot.
   Bentol colours and Inter; Bentol radius (10px box) instead of the master's 22px. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega {
	--bpas-mega-line: #cfe3e3;
	display: grid !important;
	grid-template-columns: repeat(var(--bpas-mega-cols, 2), minmax(0, 1fr));
	gap: 18px 32px;
	align-content: start;
	left: 50%;
	width: min(660px, calc(100vw - 32px));
	min-width: 0;
	margin-top: 10px;
	padding: 26px 28px 0;
	border: 1px solid var(--bpas-mega-line);
	border-radius: 10px;
	background-color: var(--white-color);
	box-shadow: 0 24px 60px rgba(6, 50, 50, 0.16);
	overflow: hidden;
	transform: translate(calc(-50% + var(--bpas-mega-shift, 0px)), 8px);
	transform-origin: top center;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}

/* Bridge over the 10px gap so the pointer can travel from the item into the panel. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -12px;
	height: 12px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background-image: linear-gradient(90deg, var(--theme-color), var(--theme-color2));
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--cols-1 {
	--bpas-mega-cols: 1;
	width: min(360px, calc(100vw - 32px));
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--cols-3 {
	--bpas-mega-cols: 3;
	width: min(860px, calc(100vw - 32px));
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul li:hover > ul.sub-menu.bpas-mega,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul li.bpas-sub-open > ul.sub-menu.bpas-mega,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul li:focus-within > ul.sub-menu.bpas-mega {
	visibility: visible;
	opacity: 1;
	transform: translate(calc(-50% + var(--bpas-mega-shift, 0px)), 0);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul li.bpas-sub-closed > ul.sub-menu.bpas-mega,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul li.bpas-sub-closed:focus-within > ul.sub-menu.bpas-mega {
	visibility: hidden;
	opacity: 0;
	transform: translate(calc(-50% + var(--bpas-mega-shift, 0px)), 8px);
}

/* Headings and lists. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li {
	display: block;
	margin: 0;
	border: 0;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li a {
	white-space: normal;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li a::before,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.menu-item-has-children > a::after {
	content: none;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li > a.bpas-mega__h,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li:hover > a.bpas-mega__h {
	display: inline-block;
	padding: 2px 0;
	color: var(--dark-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	transition: color 0.2s ease;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li > a.bpas-mega__h:hover,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.active > a.bpas-mega__h {
	color: var(--bpas-accent-text, #c44516);
}

.bpas-mega__arrow,
.bpas-mega__all i {
	display: inline-block;
	font-style: normal;
	color: var(--bpas-accent-text, #c44516);
	transition: transform 0.2s ease;
}

:is(.bpas-header, .bpas-sticky-header) .main-menu .bpas-mega__h:hover .bpas-mega__arrow,
:is(.bpas-header, .bpas-sticky-header) .main-menu .bpas-mega__all a:hover i {
	transform: translateX(3px);
}

/* Third level: always shown under its heading (not a fly-out). */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li ul.sub-menu.bpas-mega__list {
	position: static;
	display: grid !important;
	gap: 2px;
	width: auto;
	min-width: 0;
	max-height: none;
	margin: 8px 0 0;
	padding: 10px 0 0;
	border: 0;
	border-top: 1px solid var(--bpas-mega-line);
	border-radius: 0;
	background: none;
	box-shadow: none;
	visibility: inherit;
	opacity: 1;
	transform: none;
	transition: none;
	overflow: visible;
	z-index: auto;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega ul.bpas-mega__list li a,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega ul.bpas-mega__list li:hover a,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li:hover ul.bpas-mega__list li > a {
	position: relative;
	display: block;
	padding: 6px 8px 6px 18px;
	border-radius: 5px;
	color: var(--gray-color);
	font-size: 14.5px;
	line-height: 1.35;
	transition: background-color 0.15s ease, color 0.15s ease;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega ul.bpas-mega__list li a::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 13px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--theme-color2);
	box-shadow: inset 0 0 0 1px rgba(6, 50, 50, 0.35);
	z-index: auto;
	transition: none;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega ul.bpas-mega__list li:hover > a {
	background-color: var(--theme-color3);
	color: var(--dark-color);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega ul.bpas-mega__list li.active > a {
	color: var(--bpas-accent-text, #c44516);
	font-weight: 700;
}

/* Foot of the panel: "All …" across the full width. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega__all {
	grid-column: 1 / -1;
	margin: 6px -28px 0 !important; /* Bentol: li:last-child { margin-right: 0 !important } */
	border-top: 1px solid var(--bpas-mega-line);
	background-color: var(--theme-color3);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega__all > a,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega__all:hover > a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 28px;
	color: var(--dark-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega__all > a:hover {
	color: var(--bpas-accent-text, #c44516);
}

/* Panels without a foot link keep the same space below the last row. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega:not(:has(> li.bpas-mega__all)) {
	padding-bottom: 26px;
}

:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega a:focus-visible {
	outline: 3px solid var(--theme-color);
	outline-offset: 2px;
	border-radius: 5px;
}

/* The phone menu (Bentol's, filled from the same markup) keeps its own look: no arrows, no foot link. */
.mobile-menu .bpas-mega__arrow,
.mobile-menu .bpas-mega__all {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega,
	:is(.bpas-header, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega * {
		transition: none !important;
	}
}

/*==== Footer cards (footer PUBLISH 4, Parvathi 2026-10-25): Wednesday Wisdom, Contact (logo + offices) and
   Explore BPAS (link columns), each a card like the Wednesday Wisdom band. ====*/
.bpas-footer .bpas-fcard {
	position: relative;
	margin: 0;
	padding: 30px 32px 30px 40px;
	border: 1px solid rgba(194, 223, 147, 0.18);
	border-radius: 10px;
	background-color: var(--dark-color4);
	overflow: hidden;
}

.bpas-footer .bpas-fcard + .bpas-fcard {
	margin-top: 24px;
}

.bpas-footer .bpas-fcard::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background-image: linear-gradient(180deg, var(--theme-color), var(--theme-color2));
}

/* Office address: one line per span, the first ("BPAS") in white (PUBLISH 7). */
.bpas-footer .bpas-office__addr span {
	display: block;
}

.bpas-footer .bpas-office__addr span:first-child {
	color: var(--white-color);
	font-weight: 600;
}

.bpas-footer .bpas-ftag {
	display: inline-block;
	margin: 0 0 18px;
	padding: 4px 12px;
	border-radius: 40px;
	background-color: rgba(194, 223, 147, 0.14);
	color: var(--theme-color2);
	font-family: inherit;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bpas-footer .bpas-ww .bpas-ftag {
	margin-bottom: 4px;
}

/* Contact card: logo cell, then one cell per office, divided by thin lines. */
.bpas-footer .bpas-fcontact {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.15fr);
}

.bpas-footer .bpas-fcontact > * {
	margin: 0;
	padding: 4px 32px;
}

.bpas-footer .bpas-fcontact > :first-child {
	padding-left: 0;
}

.bpas-footer .bpas-fcontact > :last-child {
	padding-right: 0;
}

.bpas-footer .bpas-fcontact > * + * {
	border-left: 1px solid rgba(194, 223, 147, 0.12);
}

.bpas-footer .bpas-fcontact .footer-brand {
	display: block;
}

.bpas-footer .bpas-fcontact .footer-brand::before {
	display: none;
}

.bpas-footer .bpas-fcontact .footer-logo {
	margin: 0;
}

.bpas-footer .bpas-fcontact .footer-logo img {
	width: 220px;
	max-width: 100%;
}

.bpas-footer .bpas-fcontact .bpas-pos {
	margin-top: 20px;
}

.bpas-footer .bpas-fcontact .bpas-office {
	display: block;
}

.bpas-footer .bpas-fcontact .bpas-office__label {
	font-size: 12px;
	font-weight: 800;
}

.bpas-footer .bpas-fcontact .bpas-office .bpas-office__person {
	margin-top: 12px;
	font-size: 19px;
	font-weight: 700;
}

.bpas-footer .bpas-fcontact .bpas-office .bpas-office__role {
	margin-top: 2px;
}

.bpas-footer .bpas-fcontact .bpas-office__row {
	margin-top: 10px;
}

.bpas-footer .bpas-fcontact .bpas-office__role + .bpas-office__row {
	margin-top: 16px;
}

/* Explore BPAS card: a thin line under each column title. */
.bpas-footer .bpas-fcard--links .footer-widget .title {
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(194, 223, 147, 0.12);
	font-weight: 700;
}

.bpas-footer .bpas-fcard--links .bpas-footer-cols {
	gap: 32px 28px;
}

@media (max-width: 1199px) {
	.bpas-footer .bpas-fcontact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 24px;
	}

	.bpas-footer .bpas-fcontact > .footer-brand {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: 0 32px;
		align-items: center;
		padding: 0 0 24px;
		border-bottom: 1px solid rgba(194, 223, 147, 0.12);
	}

	.bpas-footer .bpas-fcontact > .footer-brand .bpas-pos {
		margin-top: 0;
	}

	.bpas-footer .bpas-fcontact > :nth-child(2) {
		padding-left: 0;
		border-left: 0;
	}
}

@media (max-width: 860px) {
	.bpas-footer .bpas-fcontact {
		grid-template-columns: minmax(0, 1fr);
	}

	.bpas-footer .bpas-fcontact > * {
		padding: 0;
		border-left: 0 !important;
	}

	.bpas-footer .bpas-fcontact > .footer-brand {
		display: block;
		padding: 0;
		border-bottom: 0;
	}

	.bpas-footer .bpas-fcontact > .footer-brand .bpas-pos {
		margin-top: 20px;
	}

	.bpas-footer .bpas-fcontact > :last-child {
		padding-top: 24px;
		border-top: 1px solid rgba(194, 223, 147, 0.12);
	}

	.bpas-footer .bpas-fcard--links .bpas-footer-cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}
}

@media (max-width: 575px) {
	.bpas-footer .footer-top:has(.bpas-fcard) {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.bpas-footer .bpas-fcard + .bpas-fcard {
		margin-top: 16px;
	}

	.bpas-footer .bpas-fcard {
		padding: 22px 20px 24px 26px;
	}

}

@media (max-width: 359px) {
	.bpas-footer .bpas-fcard--links .bpas-footer-cols {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Link hover in the Explore BPAS card: the link moves 5px right without changing its width (a transform, not
   Bentol's 18px padding), so the columns never move; Bentol's dot shows beside it (Parvathi, 2026-10-25). */
.bpas-footer .bpas-fcard--links .footer-widget ul li a {
	transition: transform 0.3s ease, color 0.3s ease;
}

.bpas-footer .bpas-fcard--links .footer-widget ul li a:hover,
.bpas-footer .bpas-fcard--links .footer-widget ul li a:focus-visible {
	padding-left: 0;
	transform: translateX(5px);
}

.bpas-footer .bpas-fcard--links .footer-widget ul li a::before {
	left: -14px;
}

@media (prefers-reduced-motion: reduce) {
	.bpas-footer .bpas-fcard--links .footer-widget ul li a {
		transition: none;
	}
}

/*==== WhatsApp button (header/footer PUBLISH 7, Parvathi 2026-10-26): round button fixed bottom-right, "Chat with
   BPAS" on hover or focus; markup in template-parts/bpas-whatsapp.php, page name in assets/js/bpas-whatsapp.js.
   Styles as in the file. ====*/
:root {
	--bpas-wa-lane: 84px;
}

html {
	scroll-padding-bottom: 96px;
}

/* 30px under the disclaimer (Parvathi, 26 Oct 2026): Bentol's 23px bottom padding plus 7px. */
.bpas-footer .footer-bottom .bpas-trademarks {
	padding-bottom: 7px;
}

/* With no empty strip below, the bottom bar keeps a lane on the right for the WhatsApp and back-to-top buttons
 * (16px from the edge, 56px wide, plus 16px clear) wherever the page container comes closer to the edge than that. */
.bpas-footer .footer-bottom .container {
	padding-right: max(calc(var(--bs-gutter-x, 1.5rem) * 0.5), calc(88px - max(0px, (100vw - 1274px) / 2)));
}

@media (min-width: 1400px) {
	.bpas-footer .footer-bottom .container {
		padding-right: max(calc(var(--bs-gutter-x, 1.5rem) * 0.5), calc(88px - (100vw - 1344px) / 2));
	}
}

/* Phones: the bar is centred, so it keeps the lane on both sides. */
@media (max-width: 767px) {
	.bpas-footer .footer-bottom .container {
		padding-right: 76px;
		padding-left: 76px;
	}
}

.bpas-wa {
	--wa-bg: #063232;
	--wa-bg-hover: #0b4141;
	--wa-green: #25D366;
	position: fixed;
	right: max(16px, env(safe-area-inset-right, 0px));
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 9970;
	font-family: inherit;
}

.bpas-wa.is-bc {
	--wa-bg: #0d2344;
	--wa-bg-hover: #13305a;
}

.bpas-wa__btn {
	box-sizing: border-box;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 56px;
	padding: 0 11px;
	border-radius: 999px;
	background: var(--wa-bg);
	border: 2px solid var(--wa-green);
	box-shadow: 0 12px 28px rgba(6,50,50,0.30);
	color: #ffffff;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bpas-wa__btn:focus-visible {
	outline: 3px solid #e3572b;
	outline-offset: 3px;
}

.bpas-wa__ico {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
}

.bpas-wa__ico svg {
	display: block;
	width: 30px;
	height: 30px;
	fill: var(--wa-green);
}

.bpas-wa__txt {
	display: block;
	max-width: 0;
	overflow: hidden;
	white-space: nowrap;
	opacity: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	transition: max-width 0.3s ease, margin 0.3s ease, opacity 0.2s ease;
}

.bpas-wa__btn:focus-visible .bpas-wa__txt {
	max-width: 160px;
	margin: 0 10px 0 8px;
	opacity: 1;
}

.bpas-wa__new {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

@media (hover: hover) {
	.bpas-wa__btn:hover {
		background: var(--wa-bg-hover);
		transform: translateY(-2px);
		box-shadow: 0 16px 34px rgba(6,50,50,0.36);
	}
	.bpas-wa__btn:hover .bpas-wa__txt {
		max-width: 160px;
		margin: 0 10px 0 8px;
		opacity: 1;
	}
}

.bpas-wa.is-in .bpas-wa__btn {
	animation: bpas-wa-in 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes bpas-wa-in {
	from { opacity: 0; transform: translateY(16px) scale(0.9); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.bpas-wa__btn, .bpas-wa__txt {
		transition: none;
	}
	.bpas-wa__btn:hover {
		transform: none;
	}
	.bpas-wa.is-in .bpas-wa__btn {
		animation: none;
	}
}

@media print {
	.bpas-wa { display: none !important;
	}
}
/* Bentol's scroll-to-top circle sits just above the WhatsApp button, centred on it. */
.scroll-top.bpas-scroll-top {
	right: calc(max(16px, env(safe-area-inset-right, 0px)) + 3px);
	bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

/*==== Header panels from PUBLISH 7 (2026-10-26): group label, step numbers, Business Central lane ====*/
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega__for {
	grid-column: 1 / -1;
	margin-bottom: -4px;
}

.bpas-mega__for-label {
	margin: 0;
	color: var(--bpas-accent-text, #c44516);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Bentol shows a span inside a menu link as an orange badge; the step number is plain orange text. */
.main-menu ul.sub-menu a span.bpas-mega__num,
.mobile-menu ul li a span.bpas-mega__num {
	display: inline-block;
	min-width: 26px;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--bpas-accent-text, #c44516);
	font-size: 13px;
	font-weight: 800;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--wide {
	width: min(860px, calc(100vw - 32px));
}

/* Business Central lane in navy and amber, as on the Business Central pages. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-lane--bc > a.bpas-mega__h {
	color: #0d2344;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-lane--bc > a.bpas-mega__h:hover,
.bpas-mega-lane--bc .bpas-mega__arrow {
	color: #9a5b0b;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-lane--bc ul.bpas-mega__list li a::before {
	background-color: #f5b342;
}

/* Phone menu: the group label is a plain line, the step numbers stay. */
.mobile-menu .bpas-mega__for {
	display: none;
}

/* Stacked lanes (PUBLISH 7 panels): columns fill top to bottom; rows and the foot row come from header-mega.php. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--stack {
	grid-auto-flow: column;
	grid-auto-rows: auto;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--stack > li.bpas-mega__for {
	grid-row: 1;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--stack {
	row-gap: 6px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--stack > li.bpas-mega__lane {
	align-self: start;
	margin-bottom: 12px;
}

/* Bentol turns hovered links orange; the WhatsApp label stays white on its dark button (as in the file). */
.bpas-wa .bpas-wa__btn:hover,
.bpas-wa .bpas-wa__btn:focus,
.bpas-wa .bpas-wa__btn:focus-visible {
	color: #ffffff;
}

/*
 * Page banner trail: crumbs as written (26 Oct 2026). Bentol capitalises each word, which turns names such as
 * mfgNext, smartStep or gapScan into "MfgNext"; the BPAS files and page titles are already cased.
 * Bentol capitalises the crumb links separately (prodRecord showed as "ProdRecord", 27 Oct 2026).
 */
.breadcrumb-section .page-breadcrumb li,
.breadcrumb-section .page-breadcrumb li a {
	text-transform: none;
}

/*==== Page banner to the first content: 80px (60px at 767px and below) on every inner page, Bentol's section step from
 * bpas-v2.css and the page-type stylesheets (Parvathi, 26 Oct 2026; the 20px trial was dropped). =====================*/
/* Coming-soon pages: "Coming soon" sits in the middle of the white area, between the banner and the "ONE MEETING"
 * line (Parvathi, 26 Oct 2026). The band section above the footer adds 40px of white on top, so the area keeps 40px less. */
body .bpas-coming-soon {
	padding-bottom: 40px;
}

@media (max-width: 767px) {
	body .bpas-coming-soon {
		padding-bottom: 20px;
	}
}

/*==== Header panels from PUBLISH 22 (2026-10-27): lanes as dark cards, Boyum Solutions in two tiers ====*/
/* Placement (grid-column / grid-row on each lane) comes from header-mega.php ("bpas-mega-grid" menu items).
   Card colours as in the file; Bentol's 10px box radius instead of the file's 16px. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid {
	--bpas-card-line: rgba(194, 223, 147, 0.25);
	gap: 0 16px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--xwide {
	width: min(1080px, calc(100vw - 32px));
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--narrow {
	width: min(720px, calc(100vw - 32px));
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li.bpas-mega__for {
	margin: 0 0 14px;
}

/* The Enterprise tier sits 24px from the SME tier (16px between the two SME cards). */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--xwide > li.bpas-mega-col-3 {
	margin-left: 8px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li.bpas-mega__lane {
	align-self: start;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li.bpas-mega__lane--end {
	margin-bottom: 16px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li.bpas-mega__lane--last {
	margin-bottom: 0;
}

/* A lone card fills its column; the cards of one stack touch. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li.bpas-mega__lane--fill,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li.bpas-mega-join,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li:has(+ li.bpas-mega-join) {
	align-self: stretch;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega--grid > li.bpas-mega__all {
	margin-top: 24px !important;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card {
	padding: 18px 20px 16px;
	border-radius: 10px;
	background-color: #0b4141;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card--teal {
	background-color: var(--dark-color);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card--purple {
	background-color: #1f0d34;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card.bpas-mega-lane--bc {
	--bpas-card-line: rgba(245, 179, 66, 0.3);
	background-color: #0d2344;
}

/* Stacked cards: one card, headings split by a thin line. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card:has(+ li.bpas-mega-join) {
	padding-bottom: 0;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card.bpas-mega-join {
	padding-top: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card:is(.bpas-mega-join, :has(+ li.bpas-mega-join)) > a.bpas-mega__h {
	display: block;
	padding: 11px 0;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card:has(+ li.bpas-mega-join):not(.bpas-mega-join) > a.bpas-mega__h {
	padding-top: 2px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card.bpas-mega-join > a.bpas-mega__h {
	margin-top: 18px;
	border-top: 1px solid rgba(194, 223, 147, 0.18);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega > li.bpas-mega-card.bpas-mega-join:not(:has(+ li.bpas-mega-join)) > a.bpas-mega__h {
	padding-bottom: 4px;
}

/* Text on the cards. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card a.bpas-mega__h,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card:hover > a.bpas-mega__h {
	color: var(--white-color);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card a.bpas-mega__h:hover,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card.active > a.bpas-mega__h,
:is(.bpas-header, .bpas-sticky-header) .main-menu .bpas-mega-card .bpas-mega__arrow,
:is(.bpas-header, .bpas-sticky-header) .main-menu .bpas-mega-card span.bpas-mega__num {
	color: var(--theme-color2);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card.bpas-mega-lane--bc > a.bpas-mega__h:hover,
:is(.bpas-header, .bpas-sticky-header) .main-menu .bpas-mega-card.bpas-mega-lane--bc .bpas-mega__arrow {
	color: #f5b342;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card ul.sub-menu.bpas-mega__list {
	border-top-color: var(--bpas-card-line);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card ul.bpas-mega__list li a,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card:hover ul.bpas-mega__list li > a {
	color: #d6e4e4;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card.bpas-mega-lane--bc ul.bpas-mega__list li a,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card.bpas-mega-lane--bc:hover ul.bpas-mega__list li > a {
	color: #dfe5f0;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card ul.bpas-mega__list li a::before {
	box-shadow: none;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card ul.bpas-mega__list li:hover > a {
	background-color: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-card ul.bpas-mega__list li.active > a {
	color: var(--theme-color2);
}

/* The Enterprise card: "Delivered on" ERPs, then labelled links and a note. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent ul.sub-menu.bpas-mega__list {
	display: block !important;
	margin: 0;
	padding: 0;
	border-top: 0;
}

.bpas-mega-ent .bpas-mega__k {
	margin: 16px 0 0;
	padding-top: 12px;
	border-top: 1px solid rgba(194, 223, 147, 0.25);
	color: #c3d6d6;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.bpas-mega-ent li:first-child .bpas-mega__k {
	margin-top: 14px;
}

.bpas-mega-ent .bpas-mega__erp {
	display: block;
	color: #e6f0f0;
	font-size: 14.5px;
	line-height: 1.4;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent li.bpas-mega-erp {
	margin-top: 6px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent li.bpas-mega-k + li.bpas-mega-erp {
	margin-top: 10px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent li.bpas-mega-dep {
	margin-top: 8px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent ul.bpas-mega__list li a.bpas-mega__dep,
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent:hover ul.bpas-mega__list li > a.bpas-mega__dep {
	display: inline-block;
	padding: 2px 0;
	border-radius: 0;
	background: none;
	color: var(--white-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent ul.bpas-mega__list li > a.bpas-mega__dep:hover {
	color: var(--theme-color2);
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li.bpas-mega-ent ul.bpas-mega__list li a.bpas-mega__dep::before {
	content: none;
}

.bpas-mega-ent .bpas-mega__note {
	margin: 2px 0 0;
	color: #c3d6d6;
	font-size: 13px;
	line-height: 1.4;
}

/* Phone menu (Bentol's, dark): the Enterprise lines as plain text under their links. */
.mobile-menu .bpas-mega-ent :is(.bpas-mega__k, .bpas-mega__erp, .bpas-mega__note) {
	display: block;
	margin: 0;
	padding: 8px 0 2px;
	border: 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
	line-height: 1.4;
}

.mobile-menu .bpas-mega-ent .bpas-mega__k {
	padding-top: 14px;
	color: var(--theme-color2);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Numbered ViSA steps: the number replaces the dot, as in the file. */
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega ul.bpas-mega__list li a:has(> span.bpas-mega__num),
:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega li:hover ul.bpas-mega__list li > a:has(> span.bpas-mega__num) {
	padding-left: 8px;
}

:is(.bpas-header.header-style5 .main-wrapper .nav-menu, .bpas-sticky-header) .main-menu ul.sub-menu.bpas-mega ul.bpas-mega__list li a:has(> span.bpas-mega__num)::before {
	content: none;
}

/* Phone menu: names as written (Bentol capitalises each word, which turns gapScan into "GapScan" and
   "Perfion PIM for enterprise ERPs" into "… For Enterprise ERPs"). */
.mobile-menu-wrapper .mobile-menu ul li a,
.mobile-menu-wrapper .mobile-menu ul li ul li a {
	text-transform: none;
}

/*==== Footer PUBLISH 22 (2026-10-27): group labels in the Boyum Solutions column ====*/
.bpas-footer .footer-widget ul li.bpas-footer-grp {
	margin-top: 16px;
}

.bpas-footer .footer-widget ul li.bpas-footer-grp:first-child {
	margin-top: 0;
}

.bpas-footer-grp__label {
	display: block;
	color: var(--theme-color2);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bpas-footer .bpas-nowrap {
	white-space: nowrap;
}

/* Footer bottom links on phones and tablets (design check 4 Nov 2026, theme 1.19.12): where the three links do not fit
   on one line, Bentol's dividers ended up alone at the start of a line and "Terms of Service" broke in two. Each link
   now keeps its words together and the links wrap as a centred row with even gaps (right-aligned beside the copyright
   on tablets), without the dividers. Wide screens keep the dividers. */
.footer-section .footer-bottom .footer-policy a {
	display: inline-block;
	white-space: nowrap;
}
@media (max-width: 1199px) {
	.footer-section .footer-bottom .footer-policy {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 5px 25px;
	}
	.footer-section .footer-bottom .footer-policy a {
		margin-right: 0;
	}
	.footer-section .footer-bottom .footer-policy a + a::before {
		display: none;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
	.footer-section .footer-bottom .footer-policy {
		justify-content: flex-end;
	}
}
