/*
 * Rachelhu Local Page Hotfix v10.18.55
 * Intentionally scoped to mobile/front-end problem areas.
 */

/* ------------------------------
   Mobile header + navigation
   ------------------------------ */
@media (max-width: 980px) {
	/*
	 * WordPress can keep a 46px admin-bar margin on mobile even when the
	 * toolbar itself is hidden by another UI/plugin. That is the empty strip
	 * visible above the theme header in the annotated screenshot.
	 */
	html {
		margin-top: 0 !important;
	}

	body.admin-bar {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body.admin-bar #wpadminbar {
		display: none !important;
	}

	.site-header,
	body.admin-bar .site-header {
		top: 0 !important;
		margin-top: 0 !important;
	}

	.main-nav,
	body.admin-bar .main-nav {
		top: 64px !important;
		pointer-events: auto !important;
	}

	.main-nav,
	.main-nav .menu,
	.main-nav .menu-item,
	.main-nav a,
	.main-nav button {
		pointer-events: auto !important;
		touch-action: manipulation !important;
	}

	.main-nav .menu > li > a {
		position: relative !important;
		z-index: 2 !important;
		cursor: pointer !important;
	}

	.main-nav .menu-item-has-children > a::after {
		transition: transform .18s ease !important;
	}

	.main-nav .menu-item-has-children.is-open > a::after {
		transform: rotate(180deg) !important;
	}

	.main-nav .menu-item-has-children.is-open > .sub-menu {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}
}

@media (max-width: 480px) {
	.main-nav,
	body.admin-bar .main-nav {
		top: 60px !important;
	}
}

/* ------------------------------
   Homepage "What sets us apart"
   mobile layout
   ------------------------------ */
@media (max-width: 767px) {
	.apart-section {
		padding: 48px 0 54px !important;
		overflow: visible !important;
	}

	.apart-section > .container,
	.apart-section > .compact-layout {
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.apart-title {
		margin: 0 0 30px !important;
		font-size: 28px !important;
		line-height: 1.2 !important;
		text-align: center !important;
	}

	.apart-showcase {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 24px !important;
		margin: 0 0 38px !important;
		overflow: visible !important;
	}

	.home-video-card,
	.home-video-card .home-video-player,
	.home-video-card .home-video-player iframe,
	.home-video-card .home-video-player video,
	.home-video-card .home-video-player img,
	.home-video-card .rjl-video-file,
	.home-video-card .rjl-video-poster,
	.home-video-card .rjl-video-fallback-link,
	.home-video-card .rjl-video-fallback-link img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.home-video-card .home-video-player iframe,
	.home-video-card .home-video-player video,
	.home-video-card .rjl-video-file {
		aspect-ratio: 16 / 9 !important;
	}

	.jing-accordion {
		display: block !important;
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 10px 14px !important;
		margin: 0 !important;
		overflow: visible !important;
		background: #fff !important;
		border-radius: 14px !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
	}

	.jing-accordion-item {
		display: block !important;
		position: static !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-bottom: 1px solid #e2ded8 !important;
		background: transparent !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.jing-accordion-item:last-child {
		border-bottom: 0 !important;
	}

	.jing-accordion-trigger {
		display: flex !important;
		position: static !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		max-width: none !important;
		min-height: 54px !important;
		height: auto !important;
		margin: 0 !important;
		padding: 12px 4px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		color: #111827 !important;
		font-size: 17px !important;
		line-height: 1.35 !important;
		font-weight: 700 !important;
		text-align: left !important;
		transform: none !important;
		white-space: normal !important;
		cursor: pointer !important;
		box-sizing: border-box !important;
	}

	.jing-accordion-trigger::before {
		content: none !important;
		display: none !important;
	}

	.jing-accordion-trigger .label {
		display: block !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		padding: 0 12px 0 0 !important;
		white-space: normal !important;
	}

	.jing-accordion-trigger i {
		display: block !important;
		position: static !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
		font-size: 20px !important;
		line-height: 1 !important;
		font-style: normal !important;
		transform: none !important;
	}

	.jing-accordion-item.is-open .jing-accordion-trigger i {
		transform: rotate(90deg) !important;
	}

	.jing-accordion-panel {
		display: block !important;
		position: static !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.jing-accordion-panel p {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 4px 18px !important;
		color: #24324a !important;
		font-size: 16px !important;
		line-height: 1.62 !important;
		font-weight: 400 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		box-sizing: border-box !important;
	}

	.stat-panel {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding-top: 28px !important;
		clear: both !important;
	}

	.stat-panel h3 {
		position: static !important;
		margin: 0 0 20px !important;
		line-height: 1.25 !important;
	}
}

/* ------------------------------
   About Founder: section labels
   User requirement: bold only; exact same font size/line-height as body copy.
   ------------------------------ */
body.rjl-page-about-founder .rjl-founder-inline-heading {
	display: block !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: inherit !important;
	font-family: inherit !important;
	font-size: var(--rjl-founder-body-font-size, inherit) !important;
	line-height: var(--rjl-founder-body-line-height, inherit) !important;
	font-weight: 800 !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
}

body.rjl-page-about-founder .rjl-founder-inline-heading-row {
	margin-top: 24px !important;
	margin-bottom: 10px !important;
}

body.rjl-page-about-founder .v48-founder-main p {
	overflow-wrap: anywhere !important;
}

@media (max-width: 720px) {
	body.rjl-page-about-founder .rjl-founder-inline-heading {
		font-size: var(--rjl-founder-body-font-size, inherit) !important;
		line-height: var(--rjl-founder-body-line-height, inherit) !important;
		font-weight: 800 !important;
	}
}
