/**
 * Billing Care Assistant - Theme Additions & Active Interactive Enhancements
 * Matches https://billingbenefit.com/ 1:1
 */

/* ==========================================================================
   ACTIVE ENHANCEMENTS FOR AUTHENTIC ELEMENTOR LAYOUT
   ========================================================================== */

/* Desktop Header Nav Menu Dropdown authentic styling & hover behavior */
.elementor-element-e25da50 .elementor-nav-menu--main li.menu-item-has-children {
	position: relative !important;
}

.elementor-element-e25da50 .elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	min-width: 280px !important;
	background-color: #FFFFFF !important;
	box-shadow: 0 10px 30px rgba(11, 44, 85, 0.15) !important;
	border-radius: 8px !important;
	padding: 10px 0 !important;
	margin: 0 !important;
	list-style: none !important;
	display: none !important;
	z-index: 999999 !important;
	border: 1px solid #E6EDF5 !important;
}

.elementor-element-e25da50 .elementor-nav-menu--main li.menu-item-has-children:hover > ul.sub-menu.elementor-nav-menu--dropdown,
.elementor-element-e25da50 .elementor-nav-menu--main li.menu-item-has-children:focus-within > ul.sub-menu.elementor-nav-menu--dropdown,
.elementor-element-e25da50 .elementor-nav-menu--main li.menu-item-has-children.bb-touch-opened > ul.sub-menu.elementor-nav-menu--dropdown {
	display: block !important;
}

.elementor-element-e25da50 .elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown li {
	display: block !important;
	width: 100% !important;
	border-bottom: 1px solid #F0F4F8 !important;
}

.elementor-element-e25da50 .elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown li:last-child {
	border-bottom: none !important;
}

.elementor-element-e25da50 .elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
	display: block !important;
	padding: 12px 20px !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #0B2C55 !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

.elementor-element-e25da50 .elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-element-e25da50 .elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active {
	background-color: #1B75BA !important;
	color: #FFFFFF !important;
}

/* Header Logo strict size constraints (prevent natural 4500px blowout) */
.elementor-1957 .elementor-element-99ebe85 img,
.elementor-1957 .elementor-element-e5861d3 img,
.elementor-1957 .elementor-element-aee2cf8 img {
	max-width: 240px !important;
	width: auto !important;
	height: 58px !important;
	object-fit: contain !important;
	display: inline-block !important;
}

/* ==========================================================================
   GLOBAL ELEMENTOR SYSTEM & PALETTE VARIABLES
   ========================================================================== */
:root {
	--e-global-color-primary: #6EC1E4;
	--e-global-color-secondary: #54595F;
	--e-global-color-text: #7A7A7A;
	--e-global-color-accent: #61CE70;
	--e-global-color-a1b9edb: #1B75BA;
	--e-global-color-1cdb902: #395373;
	--e-global-color-3c2d11a: #0B2C55;
	--e-global-color-79627c9: #6EC1E4;
	--e-global-color-8711f1d: #1B75BA;
	--e-global-color-6f5835f: #FF710B;
	--e-global-color-f593a4f: #000000;
	--e-global-color-f3a7918: #FFFFFF;
	--e-global-typography-primary-font-family: "Montserrat", sans-serif;
	--e-global-typography-primary-font-weight: 600;
	--e-global-typography-secondary-font-family: "Roboto Condensed", sans-serif;
	--e-global-typography-secondary-font-weight: 400;
	--e-global-typography-text-font-family: "Montserrat", sans-serif;
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-accent-font-family: "Montserrat", sans-serif;
	--e-global-typography-accent-font-weight: 500;
	--container-max-width: 1400px;
}

/* Elementor container flex sizing fallback (only for parent sections) */
.e-con.e-parent {
	width: 100% !important;
	max-width: 100% !important;
}

.e-con.e-parent.e-con-boxed > .e-con-inner {
	max-width: 1400px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Fix service box height and form controls */
.service-box {
	min-height: 280px;
}


/* Modal open body lock */
body.bb-modal-open {
	overflow: hidden;
}

/* Interactive popup wrapper */
.bb-interactive-popup {
	display: none;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background: rgba(11, 44, 85, 0.75) !important;
	backdrop-filter: blur(4px) !important;
	z-index: 9999999 !important;
	overflow-y: auto !important;
	padding: 30px 15px !important;
}

.bb-interactive-popup.bb-popup-visible {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.bb-interactive-popup > .elementor-element-48c645e2,
.bb-interactive-popup .dialog-widget-content,
.bb-interactive-popup .bb-modal-content {
	position: relative !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3) !important;
	max-width: 750px !important;
	width: 100% !important;
	margin: auto !important;
	padding: 35px 40px !important;
	animation: bbPopupScale 0.25s ease-out !important;
}

@keyframes bbPopupScale {
	from {
		opacity: 0;
		transform: scale(0.92);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.bb-popup-close-btn {
	position: absolute !important;
	top: 16px !important;
	right: 20px !important;
	background: transparent !important;
	border: none !important;
	font-size: 32px !important;
	line-height: 1 !important;
	color: #64748b !important;
	cursor: pointer !important;
	z-index: 1000 !important;
	transition: color 0.2s ease !important;
}

.bb-popup-close-btn:hover {
	color: #FF710B !important;
}

/* Back to Top Floating Button */
.bb-back-to-top {
	position: fixed;
	bottom: 28px;
	right: 28px;
	width: 44px;
	height: 44px;
	background: #0B2C55;
	color: #ffffff;
	border: none;
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 15px rgba(11, 44, 85, 0.3);
	z-index: 9999;
	transition: background 0.2s, transform 0.2s;
}

.bb-back-to-top:hover {
	background: #FF710B;
	transform: translateY(-3px);
}

/* Ensure images retain max-width */
img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   HEADER LOGO & RESPONSIVE VISIBILITY GUARANTEE
   ========================================================================== */
.elementor-1957 .elementor-element-99ebe85 img,
.elementor-1957 .elementor-element-e5861d3 img,
.elementor-1957 .elementor-element-aee2cf8 img {
	display: block !important;
	max-width: 100% !important;
	height: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Desktop Header Logo Container (>= 768px) */
@media (min-width: 768px) {
	.elementor-1957 .elementor-element-846082e {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		align-items: center !important;
	}
	.elementor-1957 .elementor-element-36b7ac0 {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.elementor-1957 .elementor-element-99ebe85 {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.elementor-1957 .elementor-element-99ebe85 img {
		width: 230px !important;
		max-width: 230px !important;
		height: auto !important;
	}
}

/* Mobile Header Container (< 768px) */
@media (max-width: 767px) {
	.elementor-1957 .elementor-element-925186b {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		align-items: center !important;
		justify-content: space-between !important;
	}
	.elementor-1957 .elementor-element-fc8af44 {
		display: flex !important;
		visibility: visible !important;
	}
	.elementor-1957 .elementor-element-aee2cf8 {
		display: block !important;
		visibility: visible !important;
	}
	.elementor-1957 .elementor-element-aee2cf8 img {
		width: 180px !important;
		max-width: 180px !important;
		height: auto !important;
	}
	.elementor-1957 .elementor-element-894ef1b {
		display: flex !important;
		visibility: visible !important;
	}
}

/* ==========================================================================
   HEADER Z-INDEX & CONTAINER OVERFLOW UNLOCK
   ========================================================================== */
.elementor-1957,
.elementor-1957.elementor-location-header {
	position: relative !important;
	z-index: 99999 !important;
}

.elementor-1957 .e-con,
.elementor-1957 .e-con-inner,
.elementor-1957 .elementor-widget-nav-menu,
.elementor-1957 .elementor-widget-container,
.elementor-1957 .elementor-nav-menu--main {
	overflow: visible !important;
}

/* ==========================================================================
   ELEMENTOR NAV MENU DROPDOWNS (SERVICES 2-COLUMN & INSIGHTS)
   ========================================================================== */
.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children {
	position: relative !important;
}

/* Authentic SVG Caret indicator on parent items matching live site */
.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > a .sub-arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-left: 6px !important;
	vertical-align: middle !important;
	line-height: 1 !important;
	transition: transform 0.25s ease !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > a .sub-arrow svg,
.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > a .sub-arrow .e-font-icon-svg {
	width: 9px !important;
	height: 9px !important;
	fill: currentColor !important;
	display: inline-block !important;
	pointer-events: none !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children:hover > a .sub-arrow,
.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children.bb-touch-opened > a .sub-arrow {
	transform: rotate(180deg) !important;
}


/* Base dropdown wrapper */
.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu {
	display: none;
	position: absolute !important;
	top: 100% !important;
	background: #ffffff !important;
	box-shadow: 0 18px 45px rgba(11, 44, 85, 0.18), 0 2px 8px rgba(0, 0, 0, 0.05) !important;
	border-radius: 10px !important;
	list-style: none !important;
	margin: 8px 0 0 0 !important;
	z-index: 999999 !important;
	border-top: 3.5px solid #FF710B !important;
	animation: bbDropdownFadeIn 0.2s ease forwards !important;
}

@keyframes bbDropdownFadeIn {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Invisible hover bridge */
.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu::before {
	content: "" !important;
	position: absolute !important;
	top: -12px !important;
	left: 0 !important;
	right: 0 !important;
	height: 12px !important;
	background: transparent !important;
}

/* Services Dropdown (2-Column Premium Grid) */
.elementor-1957 .elementor-nav-menu--main li.menu-item-7731 > ul.sub-menu {
	left: 50% !important;
	transform: translateX(-35%) !important;
	width: 630px !important;
	max-width: 92vw !important;
	display: none;
	grid-template-columns: 1fr 1fr !important;
	gap: 2px 8px !important;
	padding: 14px 16px !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-7731:hover > ul.sub-menu,
.elementor-1957 .elementor-nav-menu--main li.menu-item-7731.bb-touch-opened > ul.sub-menu,
.elementor-1957 .elementor-nav-menu--main li.menu-item-7731:focus-within > ul.sub-menu {
	display: grid !important;
}

/* Insights Dropdown (Single Column) */
.elementor-1957 .elementor-nav-menu--main li.menu-item-7858 > ul.sub-menu {
	left: 0 !important;
	width: 320px !important;
	padding: 10px 12px !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-7858:hover > ul.sub-menu,
.elementor-1957 .elementor-nav-menu--main li.menu-item-7858.bb-touch-opened > ul.sub-menu,
.elementor-1957 .elementor-nav-menu--main li.menu-item-7858:focus-within > ul.sub-menu {
	display: block !important;
}

/* Submenu Links */
.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu li a {
	display: flex !important;
	align-items: center !important;
	padding: 8px 12px !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	color: #0B2C55 !important;
	text-decoration: none !important;
	border-radius: 6px !important;
	transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu li a:before {
	content: "\203A" !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	margin-right: 8px !important;
	color: #FF710B !important;
	transition: transform 0.15s ease !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu li a:hover {
	background-color: #F0F6FC !important;
	color: #1B75BA !important;
	transform: translateX(3px) !important;
}

.elementor-1957 .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu li a:hover:before {
	transform: translateX(2px) !important;
}

/* ==========================================================================
   DYNAMIC ACTIVE UNDERLINE LINE (NAVIGATION POINTER)
   ========================================================================== */
.elementor-1957 .elementor-nav-menu--main .elementor-item {
	position: relative !important;
}

/* Hide underline when not active */
.elementor-1957 .elementor-nav-menu--main li:not(.current-menu-item) > a.elementor-item:not(.elementor-item-active):before,
.elementor-1957 .elementor-nav-menu--main li:not(.current-menu-item) > a.elementor-item:not(.elementor-item-active):after {
	display: none !important;
	opacity: 0 !important;
	width: 0 !important;
}

/* Active item underline */
.elementor-1957 .elementor-nav-menu--main li.current-menu-item > a.elementor-item:before,
.elementor-1957 .elementor-nav-menu--main li.current-menu-item > a.elementor-item:after,
.elementor-1957 .elementor-nav-menu--main a.elementor-item.elementor-item-active:before,
.elementor-1957 .elementor-nav-menu--main a.elementor-item.elementor-item-active:after {
	display: block !important;
	opacity: 1 !important;
}

/* ==========================================================================
   PREMIUM CORPORATE BRAND LOGO: "Billing Care Assistant"
   ========================================================================== */
.bb-brand-text-logo,
.bb-brand-logo-premium {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	text-decoration: none !important;
	line-height: 1 !important;
	transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.bb-brand-logo-premium:hover {
	opacity: 0.95 !important;
	text-decoration: none !important;
}

.bb-brand-logo-premium .bb-logo-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	filter: drop-shadow(0 4px 8px rgba(27, 117, 186, 0.25)) !important;
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.bb-brand-logo-premium:hover .bb-logo-icon {
	transform: scale(1.08) rotate(3deg) !important;
}

.bb-brand-logo-premium .bb-logo-text-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 3px !important;
}

.bb-brand-logo-premium .bb-logo-title {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 21px !important;
	font-weight: 800 !important;
	letter-spacing: -0.4px !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	line-height: 1.15 !important;
}

.bb-brand-logo-premium .bb-logo-tagline {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	color: #6C829B !important;
	line-height: 1 !important;
}

.bb-brand-text-logo .bb-brand-word-blue {
	color: #0B2C55 !important;
}

.bb-brand-text-logo .bb-brand-word-orange {
	color: #FF710B !important;
}

.bb-brand-text-logo .bb-brand-word-white {
	color: #ffffff !important;
}

/* Footer variant */
.bb-brand-text-logo--footer .bb-logo-title {
	font-size: 24px !important;
}

.bb-brand-text-logo--footer .bb-logo-tagline {
	color: #A3BDDC !important;
}

.bb-brand-text-logo--footer .bb-logo-icon {
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35)) !important;
}

/* Modal variant */
.bb-brand-text-logo--popup .bb-logo-title {
	font-size: 20px !important;
}

.bb-brand-text-logo--popup .bb-logo-tagline {
	color: #E0EBF5 !important;
}

/* Mobile responsive */
@media (max-width: 767px) {
	.bb-brand-logo-premium {
		gap: 9px !important;
	}
	.bb-brand-logo-premium .bb-logo-title {
		font-size: 16px !important;
	}
	.bb-brand-logo-premium .bb-logo-tagline {
		font-size: 7.5px !important;
		letter-spacing: 1px !important;
	}
	.bb-brand-logo-premium .bb-logo-icon svg {
		width: 28px !important;
		height: 28px !important;
	}
}

/* ==========================================================================
   ELEMENTOR NESTED ACCORDION (FAQ) - EXACT 1:1 BEHAVIOR & ARROWS
   ========================================================================== */
.e-n-accordion {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.e-n-accordion-item {
	border: 1px solid #E2E8F0 !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	overflow: hidden;
	transition: all 0.25s ease-in-out;
}

.e-n-accordion-item[open] {
	border-color: #0B2C55 !important;
	box-shadow: 0 4px 16px rgba(11, 44, 85, 0.06);
}

.e-n-accordion-item-title {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 20px 24px !important;
	font-family: 'Plus Jakarta Sans', Montserrat, sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #0B2C55 !important;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.e-n-accordion-item-title::-webkit-details-marker {
	display: none;
}

.e-n-accordion-item-title-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	color: #FF710B !important;
}

.e-n-accordion-item-title-icon svg {
	width: 14px;
	height: 14px;
	fill: #FF710B !important;
}

/* Show e-closed when collapsed, e-opened when open */
.e-n-accordion-item:not([open]) .e-opened {
	display: none !important;
}
.e-n-accordion-item:not([open]) .e-closed {
	display: inline-flex !important;
}
.e-n-accordion-item[open] .e-opened {
	display: inline-flex !important;
}
.e-n-accordion-item[open] .e-closed {
	display: none !important;
}

.e-n-accordion-item > .elementor-element {
	padding: 0 24px 22px 24px !important;
	color: #556987 !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	animation: bbFaqFade 0.3s ease;
}

@keyframes bbFaqFade {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   ELEMENTSKIT TESTIMONIAL SLIDER / SWIPER FIX
   ========================================================================== */
.ekit-wid-con .elementskit-testimonial-slider {
	position: relative;
	overflow: hidden;
}

.ekit-main-swiper.swiper {
	overflow: hidden;
	width: 100%;
}

.elementskit-single-testimonial-slider {
	background: #ffffff;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 30px;
	box-shadow: 0 4px 20px rgba(11, 44, 85, 0.04);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.elementskit-single-testimonial-slider:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(11, 44, 85, 0.08);
}

.elementskit-stars {
	display: flex;
	gap: 4px;
	list-style: none;
	padding: 0;
	margin: 0 0 16px 0;
}

.elementskit-stars svg {
	width: 16px;
	height: 16px;
	fill: #FFB800;
}

.elementskit-commentor-content p {
	color: #556987;
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 24px;
}

.elementkit-commentor-details {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ekit-testimonial--avatar img {
	width: 54px !important;
	height: 54px !important;
	border-radius: 50% !important;
	object-fit: cover;
}

.elementskit-author-name {
	font-family: 'Plus Jakarta Sans', Montserrat, sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #0B2C55;
	display: block;
}

.elementskit-author-des {
	font-size: 13px;
	color: #FF710B;
	font-weight: 500;
	display: block;
}

/* ==========================================================================
   SERVICES & CONTACT PAGE CARD & FORM ENHANCEMENTS
   ========================================================================== */

/* Service boxes grid layout */
.elementor-widget-heading .elementor-heading-title {
	font-family: 'Montserrat', 'Roboto Condensed', sans-serif;
}

/* Form controls styling */
.elementor-field-group .elementor-field {
	border: 1px solid #E2E8F0 !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 15px !important;
	color: #0B2C55 !important;
	background: #FFFFFF !important;
}

.elementor-field-group .elementor-field:focus {
	border-color: #1B75BA !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(27, 117, 186, 0.15) !important;
}

.elementor-field-type-submit .elementor-button {
	background-color: #61CE70 !important;
	color: #FFFFFF !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	padding: 14px 28px !important;
	border-radius: 8px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
}

.elementor-field-type-submit .elementor-button:hover {
	background-color: #4CAF50 !important;
}

/* Service Card Containers */
.elementor-element-80af590,
.elementor-element-e9875c9,
.elementor-element-fa6451a,
.elementor-element-9b265b4,
.elementor-element-d31e9c2 {
	background: #FFFFFF;
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(11, 44, 85, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.elementor-element-80af590:hover,
.elementor-element-e9875c9:hover,
.elementor-element-fa6451a:hover,
.elementor-element-9b265b4:hover,
.elementor-element-d31e9c2:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 30px rgba(11, 44, 85, 0.14);
}

/* ==========================================================================
   BLOG PAGE (ELEMENTOR 2689) & LOOP ITEM (ELEMENTOR 2350) - EXACT 1:1 STYLING
   ========================================================================== */

/* 4-Column Blog Grid Layout Matching Live Site elementor-grid-4 */
.elementor-element-899fdf4 .elementor-loop-container,
.elementor-widget-loop-grid .elementor-loop-container {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-gap: 30px 24px !important;
	width: 100% !important;
}

@media (max-width: 1200px) {
	.elementor-element-899fdf4 .elementor-loop-container,
	.elementor-widget-loop-grid .elementor-loop-container {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-gap: 24px 20px !important;
	}
}

@media (max-width: 1024px) {
	.elementor-element-899fdf4 .elementor-loop-container,
	.elementor-widget-loop-grid .elementor-loop-container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-gap: 24px 20px !important;
	}
}

@media (max-width: 767px) {
	.elementor-element-899fdf4 .elementor-loop-container,
	.elementor-widget-loop-grid .elementor-loop-container {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
		grid-gap: 20px !important;
	}
}

/* Loop Item Card Container */
.elementor-2350.e-loop-item {
	display: flex !important;
	flex-direction: column !important;
	background: #F2F6FA !important;
	border-radius: 40px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 20px rgba(11, 44, 85, 0.05) !important;
	transition: background-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease !important;
	text-decoration: none !important;
}

.elementor-2350.e-loop-item:hover {
	background-color: #0B2C55 !important;
	transform: translateY(-6px) !important;
	box-shadow: 0 15px 35px rgba(11, 44, 85, 0.18) !important;
}

/* Card inner flex container */
.elementor-2350 .elementor-element-ce163ef {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	height: 100% !important;
	width: 100% !important;
	padding: 0 !important;
	border-radius: 40px !important;
}

.elementor-2350 .elementor-element-ce163ef > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	height: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Blog Thumbnail / Featured Image */
.elementor-2350 .elementor-element-25af96c img {
	width: 100% !important;
	max-width: 100% !important;
	height: 250px !important;
	object-fit: cover !important;
	object-position: center center !important;
	border-radius: 40px 40px 40px 40px !important;
	display: block !important;
	transition: transform 0.4s ease !important;
}

.elementor-2350.e-loop-item:hover .elementor-element-25af96c img {
	transform: scale(1.02) !important;
}

/* Blog Post Title */
.elementor-2350 .elementor-element-8cc156f {
	margin: 18px 22px 10px 22px !important;
}

.elementor-2350 .elementor-element-8cc156f .elementor-heading-title,
.elementor-2350 .elementor-element-8cc156f .elementor-heading-title a {
	font-family: "Montserrat", sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.45em !important;
	color: #2B2C34 !important;
	text-decoration: none !important;
	transition: color 0.3s ease !important;
	display: block !important;
}

.elementor-2350.e-loop-item:hover .elementor-element-8cc156f .elementor-heading-title,
.elementor-2350.e-loop-item:hover .elementor-element-8cc156f .elementor-heading-title a {
	color: #FFFFFF !important;
}

/* Blog Meta / Author / Date Image Box */
.elementor-2350 .elementor-element-472affd {
	margin: 10px 22px 24px 22px !important;
}

.elementor-2350 .elementor-element-472affd .elementor-image-box-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.elementor-2350 .elementor-element-472affd .elementor-image-box-img img {
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	display: block !important;
}

.elementor-2350 .elementor-element-472affd .elementor-image-box-title {
	margin: 0 !important;
	font-family: "Plus Jakarta Sans", Montserrat, sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #2B2C34 !important;
	transition: color 0.3s ease !important;
}

.elementor-2350 .elementor-element-472affd .elementor-image-box-description {
	margin-top: 2px !important;
	font-family: "Plus Jakarta Sans", Montserrat, sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	color: #64748B !important;
	transition: color 0.3s ease !important;
}

.elementor-2350.e-loop-item:hover .elementor-element-472affd .elementor-image-box-title {
	color: #FFFFFF !important;
}

.elementor-2350.e-loop-item:hover .elementor-element-472affd .elementor-image-box-description {
	color: #CBD5E1 !important;
}

/* ==========================================================================
   CONTACT US SOCIAL ICONS (1:1 PIXEL-PERFECT CIRCULAR NAVY BUTTONS)
   ========================================================================== */
.elementor-element-36a87ea .elementor-social-icons-wrapper,
.elementor-widget-social-icons .elementor-social-icons-wrapper {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 14px !important;
	margin: 18px 0 25px 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.elementor-element-36a87ea .elementor-grid-item,
.elementor-widget-social-icons .elementor-grid-item {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.elementor-element-36a87ea .elementor-icon.elementor-social-icon,
.elementor-widget-social-icons .elementor-icon.elementor-social-icon {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	border-radius: 50% !important;
	background-color: #0B2B53 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	box-shadow: 0 4px 12px rgba(11, 43, 83, 0.18) !important;
	transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
	cursor: pointer !important;
	text-decoration: none !important;
}

.elementor-element-36a87ea .elementor-icon.elementor-social-icon svg,
.elementor-widget-social-icons .elementor-icon.elementor-social-icon svg,
.elementor-element-36a87ea .elementor-icon.elementor-social-icon i,
.elementor-widget-social-icons .elementor-icon.elementor-social-icon i {
	width: 18px !important;
	height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	fill: #FFFFFF !important;
	color: #FFFFFF !important;
	display: block !important;
	transition: transform 0.25s ease !important;
}

.elementor-element-36a87ea .elementor-icon.elementor-social-icon:hover,
.elementor-widget-social-icons .elementor-icon.elementor-social-icon:hover {
	background-color: #1B75BA !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(27, 117, 186, 0.35) !important;
}

.elementor-element-36a87ea .elementor-icon.elementor-social-icon:hover svg,
.elementor-widget-social-icons .elementor-icon.elementor-social-icon:hover svg {
	fill: #FFFFFF !important;
	transform: scale(1.1) !important;
}


