/* FAQ hub body — sidebar nav + category accordions (Elementor 09119f9). v8 */

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general).opx-general, #sec-general.opx-general {
	box-sizing: border-box;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general).opx-general .opx-general__row,
#sec-general.opx-general .opx-general__row {
	width: 100%;
	max-width: 1400px;
	margin-inline: auto;
	align-items: flex-start;
}

@media (min-width: 768px) {
	:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general).opx-general .opx-general__row,
	#sec-general.opx-general .opx-general__row {
		gap: var(--wp--preset--spacing--gap-56px, 56px);
	}

	:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-general__row > .wp-block-group.opx-hide-m,
	:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-general__sidebar {
		position: sticky;
		top: var(--opx-faq-sticky-top, 105px);
		align-self: flex-start;
		max-height: calc(100vh - var(--opx-faq-sticky-top, 105px));
		overflow-y: auto;
		overscroll-behavior: contain;
		padding-top: var(--wp--preset--spacing--pad-y-70px, 70px) !important;
	}

	#sec-general.opx-general .opx-general__row > .wp-block-group.opx-hide-m {
		position: sticky;
		top: var(--opx-faq-sticky-top, 120px);
		align-self: flex-start;
		max-height: calc(100vh - var(--opx-faq-sticky-top, 120px));
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-category.is-style-headline-l {
		font-size: var(--wp--preset--font-size--headline-l);
		line-height: var(--wp--custom--line-height--headline-l);
	}
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general).opx-general .opx-general__row > .wp-block-group.opx-hide-m,
#sec-general.opx-general .opx-general__row > .wp-block-group.opx-hide-m {
	flex: 0 0 25%;
	max-width: 25%;
	min-width: 0;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general).opx-general .opx-general__row > .wp-block-group:not(.opx-hide-m):not(.opx-faq-nav-mobile-wrap),
#sec-general.opx-general .opx-general__row > .wp-block-group:not(.opx-hide-m):not(.opx-faq-nav-mobile-wrap) {
	flex: 0 0 70%;
	max-width: 70%;
	min-width: 0;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 24px;
	font-weight: 500;
	line-height: 35px;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav .wp-block-navigation-item {
	border: none;
	background: transparent;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav--mobile .wp-block-navigation__container {
	flex-wrap: wrap;
	gap: 8px 16px;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav--mobile .wp-block-navigation-item__content {
	font-size: 22px;
	line-height: 1.4;
	padding-block: 6px;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav .wp-block-navigation-item__content {
	padding-block: 11px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	border: none;
	outline: none;
	box-shadow: none;
	background: transparent;
	border-radius: 0;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav .wp-block-navigation-item.is-active .wp-block-navigation-item__content,
:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav a.wp-block-navigation-item__content[aria-current="location"] {
	border: none;
	outline: none;
	box-shadow: none;
	background: transparent;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav .wp-block-navigation-item__content:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav .wp-block-navigation-item__content:hover,
:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--accent);
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-faq-nav .wp-block-navigation-item.is-active > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent);
}

#sec-general .opx-faq-nav .wp-block-navigation-item.is-active > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent);
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-category {
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 500;
}

#sec-general .opx-faq-category {
	scroll-margin-top: var(--opx-faq-sticky-top, 120px);
}

@media (max-width: 767px) {
	/* Block flexSize 70% is inline; stack-m alone does not override it on mobile */
	:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general).opx-general .opx-general__row.opx-stack-m > .wp-block-group,
	#sec-general.opx-general .opx-general__row.opx-stack-m > .wp-block-group {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		position: static;
		max-height: none;
		overflow-y: visible;
	}
}

@media (max-width: 767px) {
	#sec-industry-faqs.opx-general, #sec-general.opx-general {
		padding-top: 0 !important;
		padding-bottom: 44px !important;
	}

	:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-category.is-style-headline-l {
		font-size: 28px;
		line-height: 36.4px;
	}

	#sec-industry-faqs .opx-faq-category-block,
	#sec-general .opx-faq-category-block {
		padding-top: 0 !important;
	}
}

@media (min-width: 768px) {
	#sec-industry-faqs.opx-general, #sec-general.opx-general {
		padding-top: 28px !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec-industry-faqs.opx-general, #sec-general.opx-general {
		padding-bottom: 61px !important;
	}
}

@media (min-width: 1024px) and (max-width: 1439px) {
	#sec-industry-faqs.opx-general, #sec-general.opx-general {
		padding-bottom: 73px !important;
	}
}

@media (min-width: 1440px) {
	#sec-industry-faqs.opx-general, #sec-general.opx-general {
		padding-bottom: 91px !important;
	}
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion {
	gap: 0 !important;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item {
	position: relative;
	border: none;
	padding: 0;
	margin: 0;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .wp-block-details.opx-accordion__item {
	padding-inline: 0;
	margin-inline: 0;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item:not([open]) summary {
	color: #1f2124;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item summary {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 24px;
	font-weight: 500;
	line-height: 35px;
	cursor: pointer;
	list-style: none;
	padding: 16px 0;
	border-bottom: 0.8px solid var(--wp--preset--color--divider, #e4e8f2);
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item summary::after {
	content: "";
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	margin-top: 9px;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	transition: transform 0.2s ease, color 0.2s ease;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item[open] summary::after {
	transform: rotate(-135deg);
	margin-top: 12px;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item[open] summary {
	color: var(--wp--preset--color--accent);
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item summary::-webkit-details-marker {
	display: none;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item .is-style-faq-text {
	margin: 0;
	padding: 10px 0 16px;
	color: var(--wp--preset--color--ink);
	max-width: none;
}

:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item:not([open]) .is-style-faq-text,
:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item:not([open]) .wp-block-list,
:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item:not([open]) .wp-block-list-item {
	display: none;
}

@media (max-width: 767px) {
	:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-faq-nav {
		font-size: 22px;
		line-height: 1.4;
	}

	:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item summary {
		font-size: 22px;
		line-height: 30.8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item summary::after {
		transition: none;
	}
}

/* Maintenance FAQ hub. The style engine hyphenates these preset slugs. */
@media (max-width: 1024px) {
	#sec-wordpress-maintenance.opx-general {
		--wp--preset--spacing--pad-y-30-px-t-0-px: 0px;
	}
}

@media (max-width: 767px) {
	#sec-wordpress-maintenance.opx-general {
		--wp--preset--spacing--section-y-0-px-m-18-px-4: 18px;
		--wp--preset--spacing--pad-y-70-px-m-0-px: 0px;
	}

	#sec-wordpress-maintenance .opx-faq-category-block {
		padding-top: 0;
	}
}

/* Row rhythm: production leaves 56px between title texts. 28px padding on each summary supplies that with the gap removed. */
#sec-wordpress-maintenance .opx-accordion__item summary {
	padding-block: 26px;
}

@media (max-width: 767px) {
	#sec-wordpress-maintenance.opx-general {
		padding-top: 18px !important;
		padding-bottom: 44px !important;
	}
}

@media (min-width: 768px) {
	#sec-wordpress-maintenance.opx-general {
		padding-top: 28px !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	#sec-wordpress-maintenance.opx-general {
		padding-bottom: 61px !important;
	}
}

@media (min-width: 1024px) and (max-width: 1439px) {
	#sec-wordpress-maintenance.opx-general {
		padding-bottom: 72px !important;
	}
}

@media (min-width: 1440px) {
	#sec-wordpress-maintenance.opx-general {
		padding-bottom: 91px !important;
	}
}

/* opx-faq-hub — FAQ hub accordions (General / Industries / Maintenance): question rows keep the 24px/500 title but use production's 10px top / 25px bottom padding and 20px between items (Elementor accordion). Measured on orthoplexsolutions.com/faq, /industries-faqs, /maintenance-and-development-faqs at 1440/390. */
html body :is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item{margin-bottom:20px}
html body :is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item summary{padding:10px 0 25px 7px}
html body :is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item summary::after{margin-top:9px}
html body :is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item[open] summary::after{margin-top:12px}
html body :is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item:last-child{margin-bottom:2px}
@media (max-width:767px){
html body :is(#sec-industry-faqs, #sec-wordpress-maintenance, #sec-general) .opx-accordion__item:last-child{margin-bottom:40px}
}

/* The original FAQ hub row has no opx-general__row class. */
@media (min-width: 768px) {
	#sec-general.opx-general > .opx-stack-m {
		align-items: flex-start;
	}

	#sec-general.opx-general .opx-hide-m:has(> .opx-faq-nav) {
		position: sticky;
		top: var(--opx-faq-sticky-top);
		align-self: flex-start;
		max-height: calc(100dvh - var(--opx-faq-sticky-top));
		overflow-y: auto;
	}
}

@media (max-width: 767px) {
	#sec-general.opx-general .opx-faq-nav-mobile-wrap {
		display: none;
	}
}

/* FAQ hub answers use production's responsive body-l typography. */
:is(#sec-general,#sec-industry-faqs,#sec-wordpress-maintenance).opx-general .opx-accordion__item :is(p, ul, ol, li) {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--body-l);
	line-height: var(--wp--custom--line-height--body-l);
	font-weight: 300;
	color: var(--wp--preset--color--ink);
}

:is(#sec-general,#sec-industry-faqs,#sec-wordpress-maintenance).opx-general .opx-accordion__item > :is(p, ul, ol) {
	margin: 0;
	padding: 0 10px;
}

:is(#sec-general,#sec-industry-faqs,#sec-wordpress-maintenance).opx-general .opx-accordion__item > p:not(:last-child) {
	margin-bottom: 14.4px;
}

:is(#sec-general,#sec-industry-faqs,#sec-wordpress-maintenance).opx-general .opx-accordion__item > :is(ul, ol) {
	padding-inline-start: 50px;
}

:is(#sec-general,#sec-industry-faqs,#sec-wordpress-maintenance).opx-general .opx-accordion__item li {
	margin: 0;
	padding: 0;
}

:is(#sec-general,#sec-industry-faqs,#sec-wordpress-maintenance).opx-general .opx-accordion__item > :last-child:not(summary) {
	padding-bottom: 10px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

:is(#sec-general,#sec-industry-faqs,#sec-wordpress-maintenance).opx-general .opx-accordion__item :is(strong, b) {
	font-weight: 400;
}

/* FAQ family uses the same flush columns and menu hit area as production. */
:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-faq-nav,
:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-faq-nav .wp-block-navigation__container,
:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-faq-nav .wp-block-navigation-item,
:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-faq-nav .wp-block-navigation-item__content {
	width: 100%;
}
:is(#sec-industry-faqs, #sec-wordpress-maintenance) .opx-faq-nav .wp-block-navigation-item__content {
	box-sizing: border-box;
	padding-inline: 20px;
}
@media (min-width: 768px) {
	:is(#sec-industry-faqs, #sec-wordpress-maintenance).opx-general .opx-general__row {
		gap: 0;
	}
}

/* Hide the Industries menu scrollbar while retaining menu scrolling. */
#sec-industry-faqs .opx-general__row > .opx-hide-m {
	scrollbar-width: none;
}
#sec-industry-faqs .opx-general__row > .opx-hide-m::-webkit-scrollbar {
	display: none;
}
