@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* BetterDocs KB - Luxeon Star LEDs Brand Stylesheet
   Targets BetterDocs Pro DOM classes on top of Montserrat via Google Fonts. */

/* --- Custom Properties --- */
:root {
	--bd-deep-navy: #01236d;
	--bd-royal-blue: #092dc9;
	--bd-electric-blue: #005fe4;
	--bd-sky-blue: #109cf6;
	--bd-white: #ffffff;
	--bd-light-gray: #F5F7FA;
	--bd-medium-gray: #6B7280;
	--bd-border: #e5e7eb;
	--bd-shadow: 0 1px 3px rgba(1, 35, 109, 0.1);
	--bd-shadow-hover: 0 4px 12px rgba(1, 35, 109, 0.15);
	--bd-radius-card: 8px;
	--bd-radius-sm: 4px;
	--bd-ice-blue: #f5fbff;
	--bd-font: 'Montserrat', 'Segoe UI', 'Arial', sans-serif;
	--bd-ease: 0.2s ease;
}

/* --- Hide shipping banners on KB pages --- */
body.single-docs .non-us-customers-only,
body.page-id-252698 .non-us-customers-only,
body.single-docs .gb-container-8d4af1d0,
body.page-id-252698 .gb-container-8d4af1d0,
body.tax-doc_category .gb-container-8d4af1d0 {
	display: none !important;
}

/* --- Hide header search icon on mobile KB pages (search bar is fixed below header) --- */
@media (max-width: 767px) {
	body.single-docs .quadica-header-mobile .wp-block-search,
	body.page-id-252698 .quadica-header-mobile .wp-block-search {
		display: none !important;
	}
}

/* --- Hide BetterDocs native breadcrumb on article pages --- */
body.single-docs .betterdocs-breadcrumb {
	display: none !important;
}

/* --- Global Wrapper (font-family inherited by all children) --- */
.betterdocs-wrapper,
.betterdocs-single-wrapper,
.betterdocs-content-wrapper {
	font-family: var(--bd-font);
	color: var(--bd-deep-navy);
	line-height: 1.6;
}

/* --- Search --- */
.betterdocs-search-form-wrapper .betterdocs-live-search,
.betterdocs-live-search {
	margin-bottom: 3rem;
	padding: 0.75rem 0;
	max-width: 100% !important;
	width: 100% !important;
}
.betterdocs-searchform {
	max-width: 100% !important;
	width: 100%;
	margin: 0 auto;
	border: none !important;
	padding: 0 !important;
	background: transparent !important;
}

/* Input wrap — acts as the visible search box */
.betterdocs-searchform-input-wrap {
	border: 2px solid var(--bd-border) !important;
	border-radius: var(--bd-radius-sm);
	height: auto !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
	position: relative;
	background-color: var(--bd-ice-blue) !important;
	transition: border-color var(--bd-ease), box-shadow var(--bd-ease);
}
.betterdocs-searchform-input-wrap:focus-within {
	border-color: var(--bd-electric-blue) !important;
	box-shadow: none;
}

/* Magnifying glass icon — inside the box */
.betterdocs-searchform svg.docs-search-icon {
	margin-left: 14px !important;
	flex-shrink: 0;
	opacity: 0.45;
	height: 22px;
	width: 22px;
}

/* Search input field — no border of its own */
.betterdocs-searchform-input-wrap input[type="search"],
.betterdocs-searchform-input-wrap input[type="text"],
.betterdocs-searchform .betterdocs-search-field {
	font-size: 1rem;
	color: var(--bd-deep-navy);
	border: none !important;
	box-shadow: none !important;
	padding: 14px 16px;
	background: none;
	outline: none;
}
.betterdocs-searchform-input-wrap input:focus {
	border: none !important;
	outline: none;
	box-shadow: none !important;
}

/* Search results dropdown — more pronounced border */
.betterdocs-live-search .docs-search-result {
	border: 2px solid var(--bd-border) !important;
	border-radius: var(--bd-radius-sm);
	box-shadow: var(--bd-shadow-hover);
	margin-top: 8px;
	max-width: 100%;
	box-sizing: border-box;
}
.betterdocs-live-search .docs-search-result li a {
	white-space: normal !important;
	word-break: break-word;
}
.betterdocs-search-result-wrap {
	bottom: auto !important;
}
.betterdocs-search-result-wrap:before {
	display: none !important;
}

/* --- Breadcrumbs --- */
.betterdocs-breadcrumb {
	font-size: 0.875rem;
	padding: 0.75rem 0;
	margin-bottom: 1rem;
}
.betterdocs-breadcrumb-item a {
	color: var(--bd-electric-blue);
	text-decoration: none;
	transition: color var(--bd-ease);
}
.betterdocs-breadcrumb-item a:hover {
	color: var(--bd-sky-blue);
	text-decoration: underline;
}
.betterdocs-breadcrumb-item,
.breadcrumb-delimiter { color: var(--bd-medium-gray); }

/* --- Category Grid / Box Cards --- */
.betterdocs-single-category-wrapper {
	background: var(--bd-white);
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-card);
	box-shadow: var(--bd-shadow);
	overflow: hidden;
	transition: box-shadow var(--bd-ease), transform var(--bd-ease);
}
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-single-category-wrapper:hover {
	box-shadow: var(--bd-shadow-hover);
	transform: translateY(-2px);
}
/* Sidebar: suppress hover shadow and movement (CAT-01) */
.betterdocs-sidebar .betterdocs-single-category-wrapper:hover {
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	transform: none !important;
}
.betterdocs-category-header { padding: 1rem 1.5rem; }
.betterdocs-category-icon img,
.betterdocs-category-icon svg { width: 40px; height: 40px; }
.betterdocs-category-title {
	color: var(--bd-royal-blue);
	font-weight: 600;
	font-size: 1.1875rem !important;
	line-height: 1.4;
}
.betterdocs-category-items-counts {
	font-size: 0.75rem;
	color: var(--bd-medium-gray);
}

/* Category body - article lists */
.betterdocs-body { padding: 0 1.5rem; }
.betterdocs-body li a,
.betterdocs-articles-list li a {
	color: var(--bd-deep-navy);
	text-decoration: none;
	font-size: 1rem !important;
	line-height: 1.5;
	transition: color var(--bd-ease);
}
.betterdocs-body li a:hover,
.betterdocs-articles-list li a:hover { color: var(--bd-electric-blue); }

/* Category card footer */
.betterdocs-footer {
	padding: 0.75rem 1.5rem;
	border-top: 1px solid var(--bd-border);
}
.betterdocs-footer a {
	color: var(--bd-electric-blue);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: color var(--bd-ease);
}
.betterdocs-footer a:hover { color: var(--bd-sky-blue); }

/* --- Sidebar --- */
.betterdocs-sidebar .betterdocs-category-title,
.betterdocs-sidebar .category-title {
	color: var(--bd-deep-navy);
	font-weight: 600;
	font-size: 0.875rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.betterdocs-sidebar a {
	color: var(--bd-deep-navy);
	text-decoration: none;
	font-size: 0.875rem;
	transition: color var(--bd-ease);
}
.betterdocs-sidebar a:hover,
.betterdocs-sidebar a.active { color: var(--bd-electric-blue); }

/* --- Single Article Title & Meta --- */
.docs-single-title,
.betterdocs-entry-title {
	color: var(--bd-deep-navy);
	font-weight: 600;
	font-size: 1.75rem !important;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin-bottom: 0.75rem;
}
.update-date {
	font-size: 0.75rem;
	color: var(--bd-medium-gray);
	letter-spacing: 0.01em;
	margin-bottom: 1.5rem;
}

/* --- Article Content --- */
.betterdocs-entry-content,
.betterdocs-content,
.betterdocs-single-wrapper .betterdocs-content {
	font-size: 1.05em !important;
	line-height: 1.5;
	overflow-wrap: break-word;
	word-break: break-word;
}
.betterdocs-entry-content h2,
.betterdocs-content h2 {
	color: var(--bd-royal-blue);
	font-weight: 600;
	font-size: 1.375rem;
	line-height: 1.3;
	margin: 2rem 0 1rem;
}
.betterdocs-entry-content h3,
.betterdocs-content h3 {
	color: var(--bd-royal-blue);
	font-weight: 600;
	font-size: 1.125rem;
	line-height: 1.4;
	margin: 1.75rem 0 0.75rem;
}
.betterdocs-entry-content h4,
.betterdocs-content h4 {
	color: var(--bd-deep-navy);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 1.5rem 0 0.5rem;
}
.betterdocs-entry-content a,
.betterdocs-content a {
	color: var(--bd-electric-blue);
	text-decoration: none;
	transition: color var(--bd-ease);
}
.betterdocs-entry-content a:hover,
.betterdocs-content a:hover {
	color: var(--bd-sky-blue);
	text-decoration: underline;
}

.betterdocs-print-pdf {
	margin-right: -50px;
    margin-top: -2px;
}

/* --- Table of Contents --- */
.betterdocs-toc,
.sticky-toc-container {
	background: var(--bd-light-gray);
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-card);
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
}
.toc-title {
	color: var(--bd-deep-navy);
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: 0.75rem;
}
.toc-list a {
	color: var(--bd-electric-blue);
	text-decoration: none;
	font-size: 0.875rem;
	line-height: 1.8;
	transition: color var(--bd-ease);
}
.toc-list a:hover,
.toc-list a.active { color: var(--bd-sky-blue); }

/* --- Article Reactions --- */
.betterdocs-article-reactions {
	border-top: 1px solid var(--bd-border);
	padding-top: 1.5rem;
	margin-top: 2.5rem;
	text-align: center;
}
.betterdocs-article-reactions-heading {
	font-weight: 600;
	color: var(--bd-deep-navy);
	font-size: 1.125rem;
	margin-bottom: 1rem;
}
.betterdocs-article-reaction-links a {
	display: inline-block;
	margin: 0 0.5rem;
	transition: transform var(--bd-ease);
}
.betterdocs-article-reaction-links a:hover { transform: scale(1.15); }

/* --- Social Share --- */
.betterdocs-social-share { padding: 1rem 0; }
.betterdocs-social-share-heading {
	font-weight: 600;
	color: var(--bd-deep-navy);
	font-size: 0.875rem;
	margin-bottom: 0.5rem;
}
.betterdocs-social-share a {
	color: var(--bd-medium-gray);
	margin-right: 0.75rem;
	transition: color var(--bd-ease);
}
.betterdocs-social-share a:hover { color: var(--bd-electric-blue); }

/* --- Doc Navigation (prev/next) --- */
.docs-navigation {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem 0;
	margin-top: 2rem;
	border-top: 1px solid var(--bd-border);
}
.docs-navigation a {
	color: var(--bd-deep-navy);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	padding: 10px 20px;
	border: 2px solid var(--bd-border);
	border-radius: var(--bd-radius-sm);
	transition: border-color var(--bd-ease), color var(--bd-ease);
}
.docs-navigation a:hover {
	border-color: var(--bd-electric-blue);
	color: var(--bd-electric-blue);
}

/* --- Entry Footer --- */
.betterdocs-entry-footer {
	font-size: 0.875rem;
	color: var(--bd-medium-gray);
	padding: 1rem 0;
}

/* --- Article Reactions ("Was this helpful?") --- */
.betterdocs-article-reactions,
.betterdocs-article-reactions.layout-1 {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	padding: 1.5rem 0;
	margin-top: 2rem;
	border-top: 1px solid var(--bd-border);
}
.betterdocs-article-reactions .betterdocs-reactions-title-tag {
	color: var(--bd-deep-navy) !important;
	font-family: var(--bd-font);
	font-size: 1rem !important;
	font-weight: 600;
	margin: 0 0 0.75rem;
}
.betterdocs-article-reaction-links {
	display: flex !important;
	justify-content: center;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.betterdocs-article-reaction-links li {
	margin: 0 !important;
}
.betterdocs-article-reaction-links .betterdocs-feelings {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--bd-deep-navy) !important;
	transition: background var(--bd-ease), transform var(--bd-ease);
}
.betterdocs-article-reaction-links .betterdocs-feelings:hover {
	background: var(--bd-sky-blue) !important;
	transform: scale(1.15);
}
.betterdocs-article-reaction-links .betterdocs-feelings svg {
	width: 28px;
	height: 28px;
}
.betterdocs-article-reaction-links .betterdocs-feelings svg,
.betterdocs-article-reaction-links .betterdocs-feelings svg path,
.betterdocs-article-reaction-links .betterdocs-feelings svg circle {
	fill: #fff !important;
}

/* --- BetterDocs Customizer Overrides ---
   BetterDocs injects inline <style> blocks from its Customizer settings using
   high-specificity selectors (e.g. .betterdocs-single-wrapper.betterdocs-single-layout-1).
   These beat our simpler selectors, so we match their specificity and add !important
   only where strictly necessary to enforce the brand palette. */

/* Single article layouts (layout-1, layout-4, layout-5) */
.betterdocs-single-wrapper.betterdocs-single-layout-1 .betterdocs-entry-title,
.betterdocs-single-wrapper.betterdocs-single-layout-4 .betterdocs-entry-title,
.betterdocs-single-wrapper.betterdocs-single-layout-5 .betterdocs-entry-title {
	color: var(--bd-deep-navy) !important;
	font-size: 2rem !important;
}
.betterdocs-single-wrapper.betterdocs-single-layout-1 .betterdocs-entry-content,
.betterdocs-single-wrapper.betterdocs-single-layout-4 .betterdocs-entry-content {
	color: var(--bd-deep-navy) !important;
}
.betterdocs-single-wrapper.betterdocs-single-layout-1 .betterdocs-breadcrumb .betterdocs-breadcrumb-item a,
.betterdocs-single-wrapper.betterdocs-single-layout-4 .betterdocs-breadcrumb .betterdocs-breadcrumb-item a {
	color: var(--bd-electric-blue) !important;
}
.betterdocs-single-wrapper.betterdocs-single-layout-1 .betterdocs-breadcrumb .betterdocs-breadcrumb-item.current span,
.betterdocs-single-wrapper.betterdocs-single-layout-4 .betterdocs-breadcrumb .betterdocs-breadcrumb-item.current span {
	color: var(--bd-medium-gray) !important;
}
.betterdocs-single-wrapper.betterdocs-single-layout-1 .betterdocs-toc,
.betterdocs-single-wrapper.betterdocs-single-layout-4 .betterdocs-toc {
	background-color: var(--bd-light-gray) !important;
	border: 1px solid var(--bd-border) !important;
}
.betterdocs-single-wrapper.betterdocs-single-layout-1 .betterdocs-toc .toc-list li a,
.betterdocs-single-wrapper.betterdocs-single-layout-4 .betterdocs-toc .toc-list li a {
	color: var(--bd-electric-blue) !important;
}
.betterdocs-single-wrapper.betterdocs-single-layout-1 .betterdocs-toc .toc-list li a:hover,
.betterdocs-single-wrapper.betterdocs-single-layout-4 .betterdocs-toc .toc-list li a:hover {
	color: var(--bd-sky-blue) !important;
}

/* Archive / category grid page */
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-category-title {
	color: var(--bd-royal-blue) !important;
}
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-category-header {
	border-bottom: 2px solid var(--bd-royal-blue) !important;
}
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-body li a {
	color: var(--bd-deep-navy) !important;
}
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-body li a:hover {
	color: var(--bd-electric-blue) !important;
}
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-footer a {
	color: var(--bd-electric-blue) !important;
	border-color: var(--bd-electric-blue) !important;
}
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-footer a:hover {
	background-color: var(--bd-electric-blue) !important;
	color: var(--bd-white) !important;
}
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-category-items-counts {
	background-color: var(--bd-electric-blue) !important;
	color: var(--bd-white) !important;
}

/* Search bar wrapper — reset bright blue (#109cf6) background injected by Customizer.
   Customizer uses: .betterdocs-wrapper .betterdocs-search-form-wrapper:not(.betterdocs-elementor)
   Our snippet loads BEFORE the Customizer <style> block, so equal specificity + !important
   loses to source order. We must exceed their specificity to win. */
.betterdocs-wrapper.betterdocs-single-wrapper .betterdocs-search-form-wrapper:not(.betterdocs-elementor),
.betterdocs-wrapper.betterdocs-docs-archive-wrapper .betterdocs-search-form-wrapper:not(.betterdocs-elementor),
.betterdocs-wrapper .betterdocs-search-form-wrapper.betterdocs-search-form-wrap {
	background-color: var(--bd-white) !important;
}
.betterdocs-search-submit {
	background-color: var(--bd-electric-blue) !important;
	color: var(--bd-white) !important;
}

/* Sidebar — remove blue backgrounds, enforce dark text */
.betterdocs-single-category-inner {
	background-color: var(--bd-white) !important;
	color: var(--bd-deep-navy) !important;
}
.betterdocs-single-category-inner .betterdocs-category-header-inner a,
.betterdocs-single-category-inner .betterdocs-category-title {
	color: var(--bd-deep-navy) !important;
}
.betterdocs-sidebar .betterdocs-body li a,
.betterdocs-sidebar .betterdocs-articles-list li a {
	color: var(--bd-deep-navy) !important;
}
.betterdocs-sidebar .betterdocs-body li a:hover,
.betterdocs-sidebar .betterdocs-articles-list li a:hover {
	color: var(--bd-electric-blue) !important;
}
.betterdocs-category-grid-wrapper {
	background-color: var(--bd-white) !important;
	padding-bottom: 1px !important;
}
.betterdocs-body {
	background-color: var(--bd-ice-blue) !important;
}
.betterdocs-sidebar {
	background-color: var(--bd-white) !important;
}

/* --- Category Sidebar: Hover, Alignment & Spacing --- */

/* Category Button states:
   Default (collapsed): white
   Active/Expanded: ice blue (#f5fbff)
   Hover on Button: sky blue (#109cf6) */
.betterdocs-sidebar .betterdocs-single-category-wrapper {
	background-color: transparent !important;
}
.betterdocs-sidebar .betterdocs-category-header {
	transition: background-color var(--bd-ease) !important;
}
/* Active/expanded category — ice blue button only when article list is visible.
   BetterDocs may leave .active class after collapsing, so use :has() to check
   the body is actually displayed. */
.betterdocs-sidebar .betterdocs-single-category-inner:has(.betterdocs-body[style*="display: block"]) .betterdocs-category-header {
	background-color: var(--bd-ice-blue) !important;
}
/* Hover on button — sky blue */
.betterdocs-sidebar .betterdocs-category-header:hover {
	background-color: var(--bd-sky-blue) !important;
}
/* Title always deep navy */
.betterdocs-sidebar .betterdocs-category-header:hover .betterdocs-category-title {
	color: var(--bd-deep-navy) !important;
}
/* Fix BetterDocs margin: -5px 0 5px that makes inner shorter than wrapper */
.betterdocs-sidebar .betterdocs-single-category-inner {
	margin: 0 !important;
}

/* CAT-03 + CAT-04: Left-align text, vertically center inside button. */
.betterdocs-single-category-inner .betterdocs-category-header-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.betterdocs-single-category-inner .betterdocs-category-header-inner a {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: left !important;
	line-height: 1.3 !important;
}

/* Category collapse chevron: right when closed, down when open, navy colour.
   Layout-1 (landing page) hides it with display:none — override that. */
.betterdocs-category-collapse.cat-list-arrow-down {
	display: inline-block !important;
	color: var(--bd-deep-navy) !important;
	fill: var(--bd-deep-navy) !important;
	transform: rotate(-90deg) !important;
	transition: transform 0.25s ease !important;
	flex-shrink: 0 !important;
	margin-left: auto !important;
}
.betterdocs-single-category-wrapper.show .betterdocs-category-collapse.cat-list-arrow-down {
	transform: rotate(0deg) !important;
}

/* CAT-05: Consistent gap between each category button */
.betterdocs-sidebar .betterdocs-single-category-wrapper {
	margin-bottom: 8px !important;
}
.betterdocs-sidebar .betterdocs-single-category-wrapper:last-child {
	margin-bottom: 0 !important;
}

/* CAT-06: More whitespace between article links in expanded category */
.betterdocs-sidebar .betterdocs-articles-list li {
	margin-bottom: 20px !important;
}

/* CAT-07: Breathing room before page footer */
.betterdocs-category-grid-wrapper {
	margin-bottom: 2rem !important;
}

/* Article reactions — override teal green (#00b88a) */
.betterdocs-article-reaction-links li a {
	background-color: var(--bd-light-gray) !important;
	border: 1px solid var(--bd-border) !important;
}
.betterdocs-article-reaction-links li a:hover {
	background-color: var(--bd-electric-blue) !important;
	border-color: var(--bd-electric-blue) !important;
}

/* --- GenerateBlocks section headers — strip background, use normal text --- */
.betterdocs-entry-content .gb-container,
.betterdocs-content .gb-container {
	background-color: transparent !important;
}
.betterdocs-entry-content .gb-headline,
.betterdocs-content .gb-headline {
	color: var(--bd-deep-navy) !important;
}

/* --- Tables within article content --- */
.betterdocs-entry-content table,
.betterdocs-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
	font-family: var(--bd-font);
	font-size: 0.9375rem;
}
.betterdocs-entry-content table thead th,
.betterdocs-content table thead th,
.betterdocs-entry-content table th,
.betterdocs-content table th {
	background-color: transparent !important;
	color: var(--bd-deep-navy) !important;
	font-weight: 600;
	padding: 10px 14px;
	text-align: left;
	border-bottom: 2px solid var(--bd-border);
}
.betterdocs-entry-content table td,
.betterdocs-content table td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--bd-border);
	color: var(--bd-deep-navy);
}

/* --- Gutenberg block overrides (wp-block-table, wp-block-heading, wp-block-list) --- */
.betterdocs-entry-content .wp-block-table {
	margin: 1.5rem 0;
	overflow-x: visible !important;
	max-width: none;
}
.betterdocs-entry-content .wp-block-table table {
	display: table !important;
	width: 100%;
	table-layout: auto;
	white-space: normal;
	word-break: normal;
}
.betterdocs-entry-content .wp-block-table thead {
	border-bottom: none !important;
}
.betterdocs-entry-content .wp-block-table th {
	background-color: transparent !important;
	color: var(--bd-deep-navy) !important;
	font-family: var(--bd-font);
	font-weight: 600;
	padding: 10px 14px !important;
	text-align: left;
	border: none !important;
	border-bottom: 2px solid var(--bd-border) !important;
}
.betterdocs-entry-content .wp-block-table td {
	padding: 10px 14px !important;
	border: none !important;
	border-bottom: 1px solid var(--bd-border) !important;
	color: var(--bd-deep-navy);
	font-family: var(--bd-font);
}
.betterdocs-entry-content .wp-block-heading {
	font-family: var(--bd-font);
	color: var(--bd-deep-navy);
}
.betterdocs-entry-content .wp-block-list {
	font-family: var(--bd-font);
	color: var(--bd-deep-navy);
	margin-left: 40px;
}
.betterdocs-entry-content .wp-block-list li {
	margin-bottom: 0.4em;
}

/* --- FAQ Accordion --- */
.betterdocs-faq-wrapper .betterdocs-faq-title {
	color: var(--bd-deep-navy);
	font-weight: 600;
	font-size: 1rem;
	padding: 1rem 1.25rem;
	background: var(--bd-light-gray);
	border: 1px solid var(--bd-border);
	border-radius: var(--bd-radius-sm);
	cursor: pointer;
	transition: background-color var(--bd-ease);
}
.betterdocs-faq-wrapper .betterdocs-faq-title:hover { background: var(--bd-border); }
.betterdocs-faq-wrapper .betterdocs-faq-content {
	color: var(--bd-deep-navy);
	font-size: 0.9375rem;
	line-height: 1.6;
	padding: 1rem 1.25rem;
}

/* --- Responsive: Layout Foundation --- */

/* RES-01: KB landing page full-width override (GeneratePress sets content-area to 70%) */
body.page-id-252698 .site-content .content-area {
	width: 100% !important;
	max-width: 100% !important;
}

/* Hide sidebar close buttons on desktop (ours + BetterDocs native) */
.qkb-close-btn,
#betterdocs-sidebar-left > button:not(.qkb-close-btn),
.betterdocs-sidebar > button:not(.qkb-close-btn) {
	display: none !important;
}
@media (max-width: 767px) {
	.qkb-close-btn {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		font-size: 3rem !important;
		line-height: 1 !important;
		background: var(--bd-sky-blue, #109cf6) !important;
		border: none !important;
		border-radius: var(--bd-radius-sm, 4px) !important;
		color: var(--bd-white, #fff) !important;
		cursor: pointer;
		position: fixed !important;
		top: 108px !important;
		right: 1.5rem !important;
		z-index: 10000;
	}
}

/* RES-01: Prevent horizontal overflow on BetterDocs wrapper.
   Use clip instead of hidden so position:sticky still works inside. */
.betterdocs-wrapper {
	overflow-x: clip;
}

/* At exactly 768px: article pages should look like 769px (desktop layout).
   Override the general 768px rules that stack to column. */
@media (width: 768px) {
	body.single-docs .betterdocs-sidebar,
	body.single-docs #betterdocs-sidebar-left {
		display: block !important;
		height: auto !important;
		overflow: visible !important;
		position: relative !important;
		box-shadow: none !important;
		padding: 0 !important;
	}
	body.single-docs .betterdocs-mobile-nav {
		display: none !important;
	}
	/* Force 2-column grid layout like desktop — match BetterDocs specificity */
	body.single-docs .betterdocs-content-wrapper.betterdocs-display-flex.grid-col-2 {
		grid-template-columns: 40% 1fr !important;
	}
	body.single-docs .betterdocs-content-wrapper .betterdocs-content-area {
		width: auto !important;
		max-width: none !important;
		grid-column: 2 !important;
	}
	body.single-docs .betterdocs-content-wrapper #betterdocs-sidebar-left {
		grid-column: 1 !important;
	}
}

/* Sticky search container — JS moves search bar here on mobile */
.qkb-sticky-search {
	display: none;
}
@media (max-width: 767px) {
	.qkb-sticky-search {
		display: block;
		position: fixed;
		top: 50px;
		left: 0;
		right: 0;
		z-index: 9;
		background: var(--bd-white);
		padding: .375rem 0rem 0rem;
	}
	.qkb-sticky-search .betterdocs-live-search {
		margin: 0 !important;
		padding: 0 !important;
	}
	/* Spacer to prevent content from hiding behind fixed search bar */
	.qkb-search-spacer {
		height: 52px;
	}
	/* Hide original search wrapper on article pages (search was moved) */
	body.single-docs .betterdocs-search-form-wrapper {
		display: none !important;
	}
	/* Hide original search inside hero on landing page (search was moved) */
	body.page-id-252698 .qkb-hero .betterdocs-live-search {
		display: none !important;
	}
}

/* RES-02: Ensure grid cards fill width and center at desktop */
@media (min-width: 1025px) {
	.betterdocs-blocks-grid .betterdocs-category-grid-inner-wrapper {
		justify-content: center;
		width: 100%;
	}
}

/* Sticky search bar on article pages — desktop + tablet (mobile uses .qkb-sticky-search fixed approach) */
@media (min-width: 768px) {
	body.single-docs .betterdocs-search-form-wrapper {
		position: sticky;
		top: 0;
		z-index: 9;
	}
	/* Push sidebar sticky top below the sticky search bar so top category isn't hidden */
	body.single-docs .betterdocs-sidebar-content.betterdocs-height {
		top: 95px !important;
	}
}

/* RES-03: Constrain article prose width on large screens for comfortable line length */
@media (min-width: 1200px) {
	.betterdocs-entry-content,
	.betterdocs-content {
		max-width: 800px;
	}
	/* Let tables use full content-area width instead of prose cap */
	.betterdocs-entry-content .wp-block-table,
	.betterdocs-entry-content table,
	.betterdocs-content table {
		max-width: none;
	}
}

/* --- Responsive: Tablet --- */
@media (max-width: 768px) {
	.docs-single-title,
	.betterdocs-entry-title { font-size: 1.75rem; }
	.betterdocs-entry-content h2,
	.betterdocs-content h2 { font-size: 1.5rem; }
	.betterdocs-entry-content h3,
	.betterdocs-content h3 { font-size: 1.25rem; }
	.betterdocs-searchform { max-width: 100%; }

	/* Prevent Gutenberg blocks from pushing viewport wider than screen */
	.betterdocs-entry-content,
	.betterdocs-content {
		overflow-x: hidden;
	}

	/* Flex min-width fix: allow content area to shrink below table content width */
	.betterdocs-content-inner-area {
		min-width: 0;
	}
	.betterdocs-entry-content,
	.betterdocs-content {
		max-width: 100%;
	}

	/* Responsive tables: horizontal scroll instead of overflow */
	.betterdocs-entry-content .wp-block-table,
	.betterdocs-content .wp-block-table {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		max-width: 100%;
	}
	.betterdocs-entry-content .wp-block-table table,
	.betterdocs-content .wp-block-table table {
		min-width: 540px;
	}

	/* Responsive code blocks */
	.betterdocs-entry-content .wp-block-code {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.betterdocs-wrapper .betterdocs-search-form-wrapper:not(.betterdocs-elementor) {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	.docs-navigation { flex-direction: column; }
	.betterdocs-toc,
	.sticky-toc-container { padding: 1rem; }

	/* Persistent "Categories" button — fixed bottom-left on mobile */
	.betterdocs-mobile-nav {
		position: fixed !important;
		bottom: 1.25rem;
		left: 0;
		z-index: 9998;
		margin: 0 !important;
		padding: 0 !important;
	}
	.betterdocs-sidebar-icon {
		display: flex !important;
		align-items: center;
		gap: 0;
		background: var(--bd-sky-blue, #109cf6);
		color: var(--bd-white, #fff) !important;
		padding: 0.625rem 1rem;
		border-radius: 0 var(--bd-radius-sm, 6px) var(--bd-radius-sm, 6px) 0;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
		cursor: pointer;
		font-size: 0.875rem;
		font-weight: 600;
		font-family: var(--bd-font);
		line-height: 1;
	}
	.betterdocs-sidebar-icon span {
		color: var(--bd-white, #fff) !important;
	}
	.betterdocs-sidebar-icon .betterdocs-mobile-nav-icon-svg {
		display: none !important;
	}

	/* RES-04: Mobile sidebar slideout — opens below header + search bar.
	   Header (~50px) + search (~52px) = ~102px from top. */
	.betterdocs-mobile-sidebar-wrapper {
		position: fixed !important;
		top: 102px !important;
		left: 0 !important;
		width: 100% !important;
		height: calc(100vh - 102px) !important;
		z-index: 9999 !important;
		background: rgba(0, 0, 0, 0.5) !important;
	}
	#betterdocs-sidebar,
	.betterdocs-sidebar,
	.betterdocs-full-sidebar-left {
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		overflow-y: auto !important;
		padding: 3.5rem 1rem 1rem !important;
		position: relative !important;
		background: var(--bd-white, #fff) !important;
		box-shadow: 0 25px 50px -6px rgba(0, 0, 0, 0.25);
	}
	.betterdocs-content-wrapper.betterdocs-display-flex {
		flex-direction: column;
	}
	.betterdocs-content-area {
		width: 100% !important;
		flex: 1 1 100% !important;
		max-width: 100vw;
		overflow-x: hidden;
		box-sizing: border-box;
	}

	/* RES-02: Center category grid cards */
	.betterdocs-blocks-grid .betterdocs-category-grid-inner-wrapper {
		justify-content: center !important;
	}

	/* RES-04: Title word-break at tablet (long titles can break here too) */
	.betterdocs-entry-title,
	.docs-single-title {
		word-break: break-word;
		overflow-wrap: break-word;
	}

	/* RES-05: 44px minimum touch targets on mobile */
	.betterdocs-sidebar a,
	.betterdocs-articles-list li a,
	.docs-navigation a {
		min-height: 44px;
		display: flex;
		align-items: center;
	}
}

/* --- Responsive: Phone Landscape --- */
/* RES-07: Intermediate breakpoint — heading sizes between tablet (768px) and mobile (480px) */
@media (min-width: 481px) and (max-width: 767px) {
	.docs-single-title,
	.betterdocs-entry-title { font-size: 1.625rem; }
	.betterdocs-entry-content h2,
	.betterdocs-content h2 { font-size: 1.375rem; }
	.betterdocs-entry-content h3,
	.betterdocs-content h3 { font-size: 1.125rem; }
}

/* --- Responsive: Mobile --- */
@media (max-width: 480px) {
	.docs-single-title,
	.betterdocs-entry-title { font-size: 1.5rem; }
	.betterdocs-entry-content h2,
	.betterdocs-content h2 { font-size: 1.25rem; }
	.betterdocs-category-header { padding: 1rem; }
	.betterdocs-body { padding: 0 1rem; }
	.betterdocs-footer { padding: 0.75rem 1rem; }
	/* RES-06: 1rem (16px) prevents iOS Safari auto-zoom on input focus */
	.betterdocs-searchform-input-wrap input[type="search"],
	.betterdocs-searchform-input-wrap input[type="text"] {
		font-size: 1rem;
		padding: 10px 12px;
	}
	/* RES-08: Graceful title scaling — no awkward mid-word breaks on narrow screens */
	.entry-title,
	.betterdocs-entry-title,
	.docs-single-title {
		word-break: break-word;
		overflow-wrap: break-word;
		hyphens: auto;
	}
}

/* --- KB Landing Page: Hero + Popular Articles --- */

/* Hide the default "Private: Knowledgebase" entry title */
body.page-id-252698 .entry-title,
body.page-id-252698 .page-hero,
body.page-id-252698 header.entry-header {
	display: none !important;
}

/* Hero section — clean white with centered text */
.qkb-hero {
	padding: 1.25rem 1rem 1rem;
	text-align: center;
}
/* Override WordPress constrained layout padding on landing page */
body.page-id-252698 .entry-content > .wp-block-group > .wp-block-group__inner-container {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.qkb-hero-title {
	color: var(--bd-deep-navy) !important;
	font-family: var(--bd-font);
	font-weight: 700;
	font-size: 2.5rem;
	margin-bottom: 0.5rem !important;
}
.qkb-hero-subtitle {
	color: var(--bd-medium-gray) !important;
	font-family: var(--bd-font);
	font-size: 1.125rem;
	font-weight: 400;
	margin-bottom: 1.5rem !important;
}

/* Search bar within the hero — full width to match article page search */
.qkb-hero .betterdocs-live-search {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* --- KB Landing Page: Two-Column Layout (sidebar + main) --- */
.qkb-content-layout {
	padding: 1.5rem 1rem 2.5rem;
}
.qkb-columns {
	gap: 2.5rem !important;
}

/* Sidebar — match article page sidebar width (30%, max 400px) */
.qkb-sidebar {
	flex: 0 0 30% !important;
	max-width: 400px !important;
}
/* Hide the "Categories" heading — sidebar is self-explanatory */
.qkb-sidebar .qkb-sidebar-title {
	display: none;
}
/* Reset sidebar block wrapper */
.qkb-sidebar .betterdocs-sidebar {
	width: 100% !important;
}
.qkb-sidebar .betterdocs-category-grid-wrapper {
	padding-bottom: 0 !important;
	background-color: transparent !important;
}
.qkb-sidebar .betterdocs-category-grid-inner-wrapper {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	padding: 0 !important;
}
/* Category card spacing — flex gap handles it, suppress margin */
.qkb-sidebar .betterdocs-single-category-wrapper {
	margin-bottom: 0 !important;
}
.qkb-sidebar .betterdocs-single-category-inner {
	margin: 0 !important;
}
/* Normalize layout-1 category buttons to match article page (layout-4) appearance.
   Suppress layout-1 blue right-border indicator and ensure consistent padding/transition. */
.qkb-sidebar .betterdocs-category-header {
	border-right: none !important;
	padding: 1rem 1.5rem !important;
	transition: background-color var(--bd-ease) !important;
}
/* Layout-1 renders title inside an <a> with different default styles — normalize */
.qkb-sidebar .betterdocs-category-header-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.qkb-sidebar .betterdocs-category-header-inner a {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: center !important;
	line-height: 1.3 !important;
}
/* Normalize title — layout-1 renders <h1> with UA margins; match layout-4 <h2> exactly.
   High specificity needed to beat BetterDocs generated per-block CSS. */
.qkb-sidebar .betterdocs-sidebar .betterdocs-sidebar-content .betterdocs-single-category-wrapper .betterdocs-category-title,
.qkb-sidebar .betterdocs-category-title {
	font-size: 1.1875rem !important;
	margin: 0 !important;
	padding-left: 15px !important;
	flex-grow: 1 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
/* Hide icons and counts — layout-4 doesn't render these; display:none keeps them
   in the DOM so they still occupy :first-child slot, which is fine */
.qkb-sidebar .betterdocs-category-icon {
	display: none !important;
}
.qkb-sidebar .betterdocs-category-items-counts {
	display: none !important;
}
/* Hide footer — article sidebar doesn't have "Explore More" links */
.qkb-sidebar .betterdocs-footer {
	display: none !important;
}
/* Page icon before article links — matches article page sidebar icons */
.qkb-sidebar .betterdocs-articles-list li a {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem;
}
.qkb-sidebar .betterdocs-articles-list li a::before {
	content: '';
	display: inline-block;
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23566e8b' d='M90.6 87c0 3.4-1.3 6.6-3.7 9s-5.6 3.7-9 3.7H22.5c-3.4 0-6.6-1.3-9-3.7s-3.7-5.6-3.7-9V13.1c0-3.4 1.3-6.6 3.7-9s5.6-3.7 9-3.7h39.7c2.1 0 4.2.8 5.7 2.4l20.4 20.4c1.5 1.5 2.4 3.6 2.4 5.7V87zm-6.9 0V28.9c0-.3-.1-.6-.3-.8L62.9 7.7c-.2-.2-.5-.3-.8-.3H22.5c-1.5 0-3 .6-4.1 1.7-1.1 1.1-1.7 2.5-1.7 4.1V87c0 1.5.6 3 1.7 4.1 1.1 1.1 2.5 1.7 4.1 1.7h55.4c1.5 0 3-.6 4.1-1.7 1.1-1.1 1.7-2.6 1.7-4.1z'/%3E%3Cpath fill='%23566e8b' d='M60.6 6.2c0-1.9 1.6-3.5 3.5-3.5s3.5 1.6 3.5 3.5v16.2c0 .6.5 1.2 1.2 1.2h16.2c1.9 0 3.5 1.6 3.5 3.5s-1.6 3.5-3.5 3.5H68.7c-4.5 0-8.1-3.6-8.1-8.1V6.2z'/%3E%3Cpath fill='%23566e8b' d='M31.7 46.6c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5h36.9c1.9 0 3.5 1.6 3.5 3.5s-1.6 3.5-3.5 3.5H31.7zM31.7 62.8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5h36.9c1.9 0 3.5 1.6 3.5 3.5s-1.6 3.5-3.5 3.5H31.7zM31.7 79c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5h20.8c1.9 0 3.5 1.6 3.5 3.5s-1.6 3.5-3.5 3.5H31.7z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}

/* Main content area */
.qkb-main {
	flex: 1 1 0% !important;
	min-width: 0;
}
.qkb-main .qkb-popular-title {
	color: var(--bd-deep-navy) !important;
	font-family: var(--bd-font);
	font-weight: 600;
	font-size: 1.5rem;
	margin-bottom: 1.5rem !important;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--bd-border);
}

/* Popular articles list styling */
.qkb-main .betterdocs-popular-articles-wrapper {
	border: none;
	padding: 0;
	background: transparent;
}
.qkb-main .betterdocs-popular-articles-heading {
	display: none !important;
}
.qkb-main .betterdocs-articles-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.qkb-main .betterdocs-articles-list li {
	border-bottom: 1px solid var(--bd-border);
}
.qkb-main .betterdocs-articles-list li:last-child {
	border-bottom: none;
}
.qkb-main .betterdocs-articles-list li a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.875rem 0.5rem;
	color: var(--bd-deep-navy) !important;
	text-decoration: none;
	font-family: var(--bd-font);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.4;
	transition: color var(--bd-ease), background-color var(--bd-ease);
	border-radius: var(--bd-radius-sm);
}
.qkb-main .betterdocs-articles-list li a:hover {
	color: var(--bd-electric-blue);
	background-color: var(--bd-light-gray);
}
.qkb-main .betterdocs-articles-list li svg {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	opacity: 0.4;
}

/* --- KB Landing Page: Responsive --- */
@media (max-width: 768px) {
	.qkb-hero {
		padding: 1rem 1rem 0.75rem;
	}
	.qkb-hero-title {
		font-size: 2rem;
	}
	.qkb-hero-subtitle {
		font-size: 1rem;
	}
	.qkb-content-layout {
		padding: 1.5rem 1rem 2rem;
	}
	/* Stack to column on mobile */
	.qkb-columns {
		flex-direction: column !important;
		gap: 1.5rem !important;
	}
	/* Show sidebar categories inline on mobile (replaces Popular Articles) */
	.qkb-sidebar {
		display: block !important;
		flex: 1 1 100% !important;
		max-width: 100% !important;
	}
	/* Force landing page sidebar visible — BetterDocs hides it on mobile */
	.qkb-sidebar #betterdocs-sidebar,
	.qkb-sidebar .betterdocs-sidebar {
		display: block !important;
		height: auto !important;
		overflow: visible !important;
		position: static !important;
		box-shadow: none !important;
		padding: 0 !important;
	}
	/* Hide Popular Articles on mobile — categories take over */
	.qkb-main {
		display: none !important;
	}
	/* Hide View Categories flyout — categories are inline */
	body.page-id-252698 .betterdocs-mobile-nav {
		display: none !important;
	}
	/* Allow long category titles to wrap instead of truncating */
	.qkb-sidebar .betterdocs-sidebar .betterdocs-sidebar-content .betterdocs-single-category-wrapper .betterdocs-category-title,
	.qkb-sidebar .betterdocs-category-title,
	.betterdocs-sidebar .betterdocs-category-title {
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}
}
@media (max-width: 480px) {
	.qkb-hero {
		padding: 0.75rem 0.75rem 0.625rem;
	}
	.qkb-hero-title {
		font-size: 1.625rem;
	}
	.qkb-hero-subtitle {
		font-size: 0.875rem;
	}
	.qkb-content-layout {
		padding: 1rem 0.75rem 1.5rem;
	}
	.qkb-main .qkb-popular-title {
		font-size: 1.25rem;
	}
	.qkb-main .betterdocs-articles-list li a {
		font-size: 0.875rem;
		padding: 0.75rem 0.25rem;
		min-height: 44px;
	}
}

/* --- Print --- */
@media print {
	.betterdocs-live-search,
	.betterdocs-sidebar,
	.betterdocs-article-reactions,
	.betterdocs-social-share,
	.docs-navigation,
	.betterdocs-breadcrumb,
	.betterdocs-toc,
	.sticky-toc-container { display: none; }
	.betterdocs-entry-content,
	.betterdocs-content { color: #000; font-size: 12pt; line-height: 1.5; }
	.docs-single-title,
	.betterdocs-entry-title { color: #000; font-size: 18pt; }
	.betterdocs-entry-content a,
	.betterdocs-content a { color: #000; text-decoration: underline; }
}