/**
 * Thin WPBakery → existing site content skin mapping.
 * Reuses elementor-chrome / default-page / faq-accordion — no redesign.
 */

.rbd-wpb-article {
	background: #fff;
}

.rbd-wpb-article .rbd-blog-body,
.rbd-wpb-article .rbd-default-page__content {
	width: 100%;
}

/* Blog WPBakery body width matches existing .rbd-blog-body */
.rbd-wpb-article--post .rbd-blog-body {
	max-width: 1140px;
	margin: 0 auto;
	padding: 32px 50px 64px;
	box-sizing: border-box;
}

/* Pillar: banner must be full-bleed (no side/top gaps). Padding only on content. */
.rbd-wpb-article--pillar {
	padding: 0;
	margin: 0;
	max-width: none;
	width: 100%;
	/* Keep banner bleed clipped without killing table horizontal scroll. */
	overflow-x: clip;
}

.rbd-wpb-article--pillar > .rbd-dp-banner {
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
	/* Match post banner (rbd-blog-hero) top/vertical space under header */
	min-height: 655px;
	padding: 80px 50px 100px;
	align-items: center;
}

@media (max-width: 1024px) {
	.rbd-wpb-article--pillar > .rbd-dp-banner {
		min-height: 520px;
		padding: 70px 24px 80px;
	}
}

@media (max-width: 767px) {
	.rbd-wpb-article--pillar > .rbd-dp-banner {
		min-height: 75vh;
		padding: 40px 20px 70px;
	}
}

.rbd-wpb-article--pillar > .rbd-default-page {
	padding: 36px 20px 64px;
	box-sizing: border-box;
}

/* Do NOT shrink pillar content — keep site default inner width (1220px). */
.rbd-wpb-article--pillar .rbd-default-page__inner {
	max-width: 1220px;
	width: 80%;
	margin: 0 auto;
}

.rbd-wpb-article--pillar .rbd-default-page__content {
	font-family: Roboto, sans-serif;
	font-size: 17px;
	font-weight: 300;
	letter-spacing: 0.32px;
	line-height: 1.6;
	color: #666666;
}

.rbd-wpb-article--pillar .rbd-default-page__content h2 {
	font-family: Quicksand, sans-serif;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.1;
	text-transform: capitalize;
	color: #08434c;
	margin: 1.4em 0 0.55em;
}

.rbd-wpb-article--pillar .rbd-default-page__content h3 {
	font-family: Quicksand, sans-serif;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.1;
	text-transform: capitalize;
	color: #08434c;
	margin: 1.4em 0 0.55em;
}

.rbd-wpb-article--pillar .rbd-default-page__content h4 {
	font-family: Quicksand, sans-serif;
	font-size: 22px;
	font-weight: 500;
	color: #08434c;
	margin: 1.4em 0 0.55em;
}

.rbd-wpb-article--pillar .rbd-default-page__content a {
	color: #00859c;
	text-decoration: none;
}

.rbd-wpb-article--pillar .rbd-default-page__content a:hover {
	color: #00a7c3;
	text-decoration: none;
}

/* Posts + pillars: no underline on links (hover = color only). */
.rbd-wpb-article a,
.rbd-wpb-article .rbd-blog-body a,
.rbd-wpb-article .vc_column_text a,
.rbd-wpb-article .wpb_text_column a {
	text-decoration: none !important;
}

.rbd-wpb-article a:hover,
.rbd-wpb-article a:focus,
.rbd-wpb-article .rbd-blog-body a:hover,
.rbd-wpb-article .vc_column_text a:hover,
.rbd-wpb-article .wpb_text_column a:hover {
	color: #00a7c3;
	text-decoration: none !important;
}

/* Tables / buttons inherit brand when editors drag native VC elements */
/* Desktop: fit container, wrap text — no horizontal scrollbar. */
.rbd-wpb-article .rbd-wpb-table-scroll {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 1.25em 0;
	overflow-x: visible;
}

.rbd-wpb-article table {
	width: 100% !important;
	max-width: 100% !important;
	border-collapse: collapse;
	margin: 1.25em 0;
	table-layout: auto;
}

.rbd-wpb-article .rbd-wpb-table-scroll > table {
	margin: 0;
	width: 100% !important;
	max-width: 100% !important;
}

.rbd-wpb-article table th,
.rbd-wpb-article table td {
	border: 1px solid rgba(8, 67, 76, 0.15);
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
	white-space: normal;
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}

.rbd-wpb-article table th {
	background: #eaf4f6;
	color: #08434c;
	font-family: Quicksand, sans-serif;
	font-weight: 600;
}

/* Desktop fallback wrappers: no sideways slide. */
.rbd-wpb-article .vc_column_text:has(> table),
.rbd-wpb-article .vc_column_text:has(table),
.rbd-wpb-article .wpb_text_column:has(table),
.rbd-wpb-article .wpb_wrapper:has(> table) {
	max-width: 100%;
	overflow-x: visible;
}

.rbd-wpb-article .wpb_button,
.rbd-wpb-article .vc_btn3,
.rbd-wpb-article .vc_general.vc_btn3 {
	font-family: Quicksand, Roboto, sans-serif !important;
}

/* Native Custom Heading → match site article headings.
   WPBakery outputs <h2 class="vc_custom_heading"> (tag itself), not a nested h2. */
.rbd-wpb-article .vc_custom_heading,
.rbd-wpb-article .wpb_custom_heading h1,
.rbd-wpb-article .wpb_custom_heading h2,
.rbd-wpb-article .wpb_custom_heading h3,
.rbd-wpb-article .wpb_custom_heading h4,
.rbd-wpb-article .vc_custom_heading h1,
.rbd-wpb-article .vc_custom_heading h2,
.rbd-wpb-article .vc_custom_heading h3,
.rbd-wpb-article .vc_custom_heading h4,
.rbd-wpb-article h1.vc_custom_heading,
.rbd-wpb-article h2.vc_custom_heading,
.rbd-wpb-article h3.vc_custom_heading,
.rbd-wpb-article h4.vc_custom_heading {
	font-family: Quicksand, sans-serif !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.1 !important;
	text-transform: capitalize;
	color: #08434c !important;
	margin: 1.4em 0 0.55em !important;
}

.rbd-wpb-article .vc_custom_heading h2,
.rbd-wpb-article .wpb_custom_heading h2,
.rbd-wpb-article h2.vc_custom_heading {
	font-size: 36px !important;
}

.rbd-wpb-article .vc_custom_heading h3,
.rbd-wpb-article .wpb_custom_heading h3,
.rbd-wpb-article h3.vc_custom_heading {
	font-size: 30px !important;
}

.rbd-wpb-article .vc_custom_heading h4,
.rbd-wpb-article .wpb_custom_heading h4,
.rbd-wpb-article h4.vc_custom_heading {
	font-size: 22px !important;
}

/* Posts: keep blog heading color from .rbd-blog-body (pre-migration look). */
.rbd-wpb-article--post h2.vc_custom_heading,
.rbd-wpb-article--post h3.vc_custom_heading,
.rbd-wpb-article--post .rbd-blog-body h2,
.rbd-wpb-article--post .rbd-blog-body h3 {
	color: #00859c !important;
	line-height: 1.3 !important;
}

.rbd-wpb-article .wpb_text_column,
.rbd-wpb-article .wpb_text_column p,
.rbd-wpb-article .vc_column_text,
.rbd-wpb-article .vc_column_text p {
	font-family: Roboto, sans-serif;
	font-size: 17px;
	font-weight: 300;
	letter-spacing: 0.32px;
	line-height: 1.6;
	color: #666666;
}

.rbd-wpb-article .wpb_text_column ul,
.rbd-wpb-article .vc_column_text ul {
	margin: 0 0 1.1em;
	padding-left: 1.35em;
}

.rbd-wpb-article .wpb_single_image img,
.rbd-wpb-article .vc_single_image img {
	max-width: 100%;
	height: auto;
	border-radius: 0;
}

.rbd-wpb-article img {
	max-width: 100%;
	height: auto;
}

.rbd-wpb-article .vc_row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.rbd-wpb-article .vc_column_container > .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 767px) {
	.rbd-wpb-article--post .rbd-blog-body {
		padding: 24px 20px 48px;
	}

	.rbd-wpb-article--pillar .rbd-default-page__inner {
		width: 100%;
		max-width: 100%;
	}

	.rbd-wpb-article--pillar .rbd-default-page__content h2 {
		font-size: 28px;
	}

	.rbd-wpb-article--pillar .rbd-default-page__content h3 {
		font-size: 24px;
	}

	/* Pillars only: shrink Custom Headings on small screens.
	   Posts keep the original 36px / 30px blog heading size. */
	.rbd-wpb-article--pillar .vc_custom_heading h2,
	.rbd-wpb-article--pillar .wpb_custom_heading h2,
	.rbd-wpb-article--pillar h2.vc_custom_heading {
		font-size: 28px !important;
	}

	.rbd-wpb-article--pillar .vc_custom_heading h3,
	.rbd-wpb-article--pillar .wpb_custom_heading h3,
	.rbd-wpb-article--pillar h3.vc_custom_heading {
		font-size: 24px !important;
	}

	/* Mobile only: scroll wide tables instead of clipping. */
	.rbd-wpb-article .rbd-wpb-table-scroll,
	.rbd-wpb-article .vc_column_text:has(table),
	.rbd-wpb-article .wpb_text_column:has(table),
	.rbd-wpb-article .wpb_wrapper:has(> table) {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}

	.rbd-wpb-article table,
	.rbd-wpb-article .rbd-wpb-table-scroll > table {
		width: max-content !important;
		min-width: 100%;
		max-width: none !important;
		font-size: 14px;
	}

	.rbd-wpb-article table th,
	.rbd-wpb-article table td {
		padding: 10px 12px;
		font-size: 14px;
		line-height: 1.45;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}
