/**
 * SciConnect CSS Overrides
 *
 * Only rules that cannot be Tailwind utilities:
 * - CSS targeting BuddyBoss/WordPress HTML we don't control
 * - Pseudo-elements (::before, ::after)
 * - !important declarations fighting BuddyBoss specificity
 * - @keyframes animations, CSS custom properties
 *
 * Budget: ~10-20 lines per template. Target total: 300-500 lines.
 */

/* ===== template-parts/wayfinder/menu.php ===== */
/* Logged-out users: add top margin when wayfinder menu is hidden */
body:not(.logged-in) #main .section-container {
	margin-top: 16px !important;
}

/* ===== template-parts/header-aside.php ===== */
/* Highlight help icon on the help page */
body.page-help .header-help-link i {
	background-color: #FFDC00;
	border-radius: 20px;
}

/* ===== template-parts/menu/mobile-dropdown.php ===== */
/* theme.min.css sets .header-aside > * { display: flex } which makes script tags visible — hide them */
.bb-mobile-header script {
	display: none !important;
}
/* BuddyBoss mobile header menu overrides */
#mobile-dropdown-menu {
	display: flex;
	align-items: center;
}

#mobile-dropdown-menu .sub-menu {
	left: auto;
	min-width: 180px !important;
}

#mobile-dropdown-menu ul {
	list-style: none;
}

.site-header #mobile-dropdown-menu.user-wrap .sub-menu-inner > li:first-child {
	display: block !important;
}

#mobile-header {
	margin-left: 0;
	margin-bottom: 0;
}

#mobile-dropdown-menu a {
	position: relative !important;
}

#mobile-dropdown-menu a i {
	font-size: 16px;
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-55%);
	margin: 0;
	min-width: 16px;
	text-align: center;
}

/* ===== template-parts/communities/menu.php ===== */
/* Communities tab menu overrides */
#menu-my-communities li a {
	text-decoration: none;
}

@media (max-width: 992px) {
	#buddypress {
		margin-top: -20px;
	}

	#menu-my-communities {
		border-bottom: none;
		display: revert;
	}

	#menu-my-communities.open {
		box-shadow: 0px 3px 10px 0px rgba(34, 34, 34, 0.25);
	}

	#menu-my-communities::before {
		content: '';
		position: absolute;
		margin-top: 14px;
		right: 6px;
		width: 15px;
		height: 15px;
		background: url(/wp-content/themes/buddyboss-theme-child/dist/images/icons/chevron-down-sm.png) no-repeat center/contain;
		transform-origin: center;
		transition: transform .2s linear;
	}

	#menu-my-communities.open::before {
		transform: rotateZ(-180deg);
	}

	#menu-my-communities li a {
		text-align: left;
		width: 100%;
		display: inline-block;
		padding-left: 12px;
	}

	#menu-my-communities li.hidden:not(.active) {
		display: none;
	}

	#menu-my-communities li.active {
		background-color: #FFDC00;
	}
}

/* ===== template-parts/wayfinder/nucleus-student-hub.php ===== */
/* Responsive layout overrides for nucleus student hub */
@media (min-width: 991px) {
	#nucleus-student-hub {
		margin-top: 55px;
		justify-content: flex-start;
	}
}

@media (max-width: 992px) {
	#nucleus-student-hub {
		margin-top: 118px;
	}

	.nucleus-student-hub-content h2::after {
		content: url(/wp-content/themes/buddyboss-theme-child/dist/images/lines/nucleus-student-hub-mobile-line.svg);
		position: absolute;
		right: 0;
	}
}

/* ===== template-parts/wayfinder/what-science-major.php ===== */
/* Wayfinder decision section overrides */
#what-science-major-do-you-want-study {
	margin-bottom: auto !important;
	padding-top: 62px !important;
}

area {
	display: block !important;
	cursor: pointer;
}

#what-science-major-do-you-want-study .back-btn {
	position: absolute;
	left: 16px;
	bottom: 200px;
}

@media (max-width: 799px) {
	#what-science-major-do-you-want-study {
		margin-bottom: 200px;
	}

	#what-science-major-do-you-want-study .back-btn {
		bottom: unset;
		top: 44%;
		left: -8px;
	}
}

/* ===== student-home.php ===== */
/* Page-scoped element overrides */
.page-student-home h1 {
	font-size: 32px;
}

.page-student-home h2 {
	margin-top: 24px;
}

.page-student-home button {
	border-radius: 0 !important;
}

@media only screen and (max-width: 992px) {
	.page-student-home .my-points-plo-wrapper .my-points-box {
		max-width: revert !important;
		border-right: none !important;
		border-bottom: 1px solid #D9D9D9;
		padding-right: 0 !important;
	}
}

/* ===== template-parts/student-home/events-slider.php ===== */
/* Home page event slider — fights BuddyBoss utility class names */
.right {
	text-align: right !important;
	float: right !important;
}

.left {
	text-align: left !important;
	float: left !important;
	margin-left: 20px;
}

.center {
	text-align: center !important;
}

.slide-text {
	font-weight: 400 !important;
	font-size: 96px !important;
	line-height: 115px !important;
	width: 100%;
}

.slide-text-secondary {
	color: white;
	padding: 22px 16px;
	font-weight: 400 !important;
}

.slide-cta {
	position: absolute;
	width: max-content !important;
	bottom: 22px !important;
	border-radius: 0;
}

.slide-cta.left { left: 0 !important; }
.slide-cta.right { right: 24px !important; }
.slide-cta.center {
	left: 0 !important;
	right: 0 !important;
	margin: auto !important;
}

@media (max-width: 992px) {
	.slider-responsive-font-size-secondary {
		font-size: 18px !important;
		line-height: 20px !important;
	}

	.slider-responsive-font-size {
		font-size: 36px !important;
		line-height: 40px !important;
	}
}

@media (max-width: 800px) {
	.slider-responsive-font-size {
		font-size: 36px !important;
		line-height: 40px !important;
	}
}

@media (max-width: 544px) {
	.slider-responsive-font-size-secondary {
		font-size: 12px !important;
		line-height: 14px !important;
	}

	.slider-responsive-font-size {
		font-size: 36px !important;
		line-height: 40px !important;
	}
}

/* ===== single-alumni_profiles.php ===== */
/* Alumni profile card and show-all toggle */
.profile-card {
	width: 438px;
	height: 555px;
	padding: 4px 0px 8px 0px;
	gap: 8px;
}

.alumni-profile-title {
	height: 38px;
	margin: 8px;
	border-bottom: 5px solid #3F61C4;
	font-family: Clancy;
	font-size: 32px;
	font-weight: 700;
	line-height: 38.4px;
	text-align: left;
	color: #181716;
}

.alumni-profile-image {
	width: 438px;
	height: 438px;
}

.alumni-card-job {
	width: 289px;
	height: 28px;
	border-bottom: 3px solid #FFDC00;
	font-family: Roboto;
	font-size: 24px;
	font-weight: 700;
	line-height: 28.13px;
	text-align: left;
	color: #181716;
}

.alumni-place-of-job {
	font-family: Roboto;
	font-size: 16px;
	font-weight: 400;
	line-height: 18.75px;
	text-align: left;
}

.profile-link {
	float: right;
	position: relative;
	bottom: 30px;
}

button#show-all-button::after {
	content: url(/wp-content/themes/buddyboss-theme-child/src/svg/Icon-menu-down.svg);
	position: absolute;
	right: 0;
}

button#show-all-button.expand::after {
	transform: rotate(180deg);
}

/* ===== template-parts/wayfinder/carousel.php ===== */
/* Carousel active state and button overrides */
.carousel-slide.active {
	display: block;
}

.carousel-slide button {
	background-color: rgba(0, 0, 0, 0) !important;
	border: none !important;
}

button.prev, button.next {
	min-width: auto !important;
}

/* ===== archive-activity.php ===== */
/* Activity archive page overrides */
body.post-type-archive-activity {
	background-color: white !important;
}

#gamipress-achievements-container [type="checkbox"] {
	width: 24px !important;
	height: 24px !important;
}

#archive-activities-filters select,
#archive-activities-filters select:focus {
	height: 30px;
	background-color: #FFDC00;
	border: 0;
}

#reset-filter-btn {
	padding-top: 3px;
	padding-bottom: 3px;
	height: 30px;
}

.activity-action-icon {
	text-align: center;
}

@media (max-width: 992px) {
	body.post-type-archive-activity .template-header {
		margin-top: 0;
	}

	body.post-type-archive-activity .template-header__title {
		margin-bottom: 0;
	}

	body.post-type-archive-activity .template-header__subtitle p {
		font-size: 16px;
		line-height: normal;
		width: 100%;
	}

	body.post-type-archive-activity .template-header__subtitle a {
		display: none;
	}

	[name='filter_value'] {
		display: none;
	}

	.activity-desktop-filter-menu {
		display: none;
	}
}

/* employability-career-explorer.php */
/* !important overrides and dynamic JS-built HTML that can't use tw: classes */
.more-info {
	display: none !important;
}

#secondary-modal {
	display: block !important;
}

#primary-modal ul.related-minor li.related-minor-links {
	border-bottom: 1px solid rgba(0, 0, 0, 30%);
}

#primary-modal ul.related-major > .info-popup-related-title,
#primary-modal ul.related-minor > .info-popup-related-title {
	border-bottom: 1px solid rgba(0, 0, 0, 30%);
	width: 100%;
	display: block;
}

.related-major,
.related-minor {
	margin: 8px 0 !important;
}

.related-major-links .icon img {
	width: 50px;
	height: 50px;
}

.related-major-links a,
.related-minor-links a {
	font-family: Roboto;
	font-size: 14px;
	font-weight: 400;
	line-height: 16.41px;
	text-align: left;
}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}

.page-template-employability-career-explorer ul {
	list-style-type: none;
}

/* template-parts/wayfinder/section-1.php */
#embed-unsw-video {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}

.sub-section p,
.sub-section ul > li {
	font-size: 16px;
	line-height: 21px;
	font-family: Roboto;
}

.your-degree-tab.active {
	font-weight: bold;
	background-color: #FFDC00;
}

.course-content {
	display: none;
}

.course-content.active {
	display: block;
}

#how-your-degree-works h3 {
	margin-bottom: 4px;
	font-size: 20px;
	line-height: 29px;
	font-weight: 700;
}

#how-your-degree-works p {
	margin-bottom: 16px;
	font-size: 16px;
	line-height: 21px;
	font-family: Roboto;
}

.sub-section blockquote {
	font-size: 24px;
	line-height: 31px;
	font-family: Roboto;
	font-weight: 400;
}

.sub-section blockquote footer {
	font-size: 20px;
	line-height: 26px;
	font-weight: 400;
	font-family: Roboto;
	margin-top: 10px;
}

/* template-parts/student-home/mytasks.php */
.tablinks {
	float: left;
	background-color: #FFDC00 !important;
	border: 0 !important;
	border-radius: 0 !important;
	height: 34px !important;
	position: relative;
}

.tablinks.active {
	color: white !important;
	background-color: #3F61C4 !important;
	height: 45px !important;
}

.tablinks.all-checked::after {
	content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24"><g id="Complete"><g id="tick"><polyline fill="none" points="3.7 14.3 9.6 19 20.3 5" stroke="%23ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/></g></g></svg>');
	position: absolute;
	top: 0;
	right: 0;
	color: white;
	background-color: #1AC987;
	border-radius: 50%;
	padding: 2px;
}

.mytasks-table td {
	border-bottom: 0;
	vertical-align: middle !important;
}

.mytasks-table tr {
	border-bottom: 1px solid rgba(34, 34, 34, 0.3);
}

.mytasks-table input[type="checkbox"] {
	width: 24px;
	height: 24px;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: #fff;
	border: 1px solid #ccc;
	cursor: pointer;
}

.mytasks-table input[type="checkbox"]:checked:before {
	content: "\2713";
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 24px;
	color: #fff;
}

.mytasks-table input[type="checkbox"]:checked {
	background-color: #4CAF50;
	border: 1px solid #4CAF50;
}

.mytasks-table td.activity-title {
	font-weight: 700;
	font-size: 20px;
	line-height: 24px;
}

.mytasks-table td.activity-points {
	font-size: 16px;
	line-height: 18px;
	font-weight: 700;
}

.mytasks-table td.activity-points span {
	display: block;
	margin-bottom: 3px;
	text-align: center;
	width: 110px;
}

.mytasks-table td.activity-points span.course { background-color: #2DAAE2B2; }
.mytasks-table td.activity-points span.experience { background-color: #1AC987; }
.mytasks-table td.activity-points span.skill { background-color: #9747FF4D; }

.mytasks-table td.activity-plo {
	font-size: 14px;
	line-height: 18px;
}

.mytasks-table td.activity-plo span {
	display: block;
}

.mytasks-table td.activity-week {
	font-size: 16px;
	line-height: 19px;
	color: #3F61C4;
}

.mytasks-table td.activity-action-icon {
	vertical-align: middle;
	font-size: 22px;
	min-width: 18px;
}

.mytasks-table .bookmark {
	cursor: pointer;
	width: 18px;
	height: 24px;
}

.mytasks-table .bookmark.loading {
	opacity: 0.2;
	cursor: progress !important;
}

.mytasks-table td.activity-action-button {
	padding-right: 16px;
}

.mytasks-table td.activity-action-button button {
	font-size: 15px;
	line-height: 19px;
	font-weight: 700;
	padding: 7px 10px;
	border: 1px solid #222222 !important;
	border-radius: 0 !important;
	width: 100px;
	text-align: center;
}

@media (max-width: 992px) {
	#welcome-to-science {
		display: flex;
		flex-direction: column;
	}

	#welcome-to-science .fluid-width-video-wrapper {
		order: 1;
	}

	#welcome-to-science p {
		order: 2;
	}

	#welcome-to-science .sub-section-footer {
		order: 3;
	}

	#whats-your-science-persona > div {
		flex-wrap: wrap;
		justify-content: center;
	}

	.course-content-container {
		overflow-x: auto;
	}

	.single-your-degree-content,
	.dual-your-degree-content {
		width: max-content;
		overflow-x: auto;
	}
}

/* front-page.php */
body.home {
	background-color: white !important;
}

body.home a {
	text-decoration: underline;
}

body.home #primary {
	position: relative;
	min-height: 150vh;
	padding: 32px 96px;
	z-index: 1;
}

body.home #main {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

.button.blue {
	background-color: #3F61C4;
	color: white;
}

.button.light-purple {
	background-color: rgba(138, 104, 200, 0.3);
	color: white;
}

.home-content::before {
	right: revert !important;
	left: -14vw;
}

.home-content .whats-your-science-persona a.button,
.home-content .find-your-major a.button {
	position: absolute;
	bottom: 0;
}

@media (max-width: 992px) {
	body.home #primary {
		padding: 0 19px !important;
	}

	.hero .hero__title {
		font-size: 32px;
	}

	.hero::before {
		right: -170px !important;
		top: -8% !important;
		max-height: 350px !important;
	}

	.hero__actions {
		align-items: center !important;
	}

	.hero {
		padding-bottom: 20px !important;
	}

	.home-content a.button.blue {
		align-self: center;
	}
}

/* wayfinder-home.php */
body.page-template-wayfinder-home {
	overflow-x: hidden;
}

.guide-section a.button::after {
	content: "";
	background-image: url(/wp-content/themes/buddyboss-theme-child/dist/images/icons/chevron-right.png);
	margin-left: 8px;
	width: 9px;
	display: inline-block;
	height: 14px;
	background-size: contain;
	background-repeat: no-repeat;
}

.guide-sections-container {
	margin-left: 58px;
}

.guide-section .section-description h3 {
	margin-bottom: 16px;
}

.line-container::after {
	content: "";
	position: absolute;
	z-index: 1;
	margin-top: 8px;
	left: 54px;
	width: 65px;
	height: 65px;
	background-color: white;
	border-radius: 50%;
	border: 10px solid;
	transform: translate(-76px, -20px) rotateZ(135deg);
	border-color: #FFDC00 #FFDC00 #FFDC00 #FFDC00 !important;
}

.line-container::before {
	content: "";
	position: absolute;
	left: calc(-50vw + 40px);
	right: 0;
	top: 83px;
	height: 20px;
	background-color: #FFDC00;
}

.treemap:not(.no-tree)::before {
	content: "";
	position: absolute;
	top: 123px;
	left: -32px;
	width: 20px;
	height: 100%;
	background-color: #FFDC00;
}

.treemap .thumb-image-wrapper::after,
.treemap h3:first-of-type::after {
	top: 13px;
	border-color: #FFDC00 #FFDC00 #FFDC00 #FFDC00 !important;
}

@media (min-width: 992px) {
	.guide-section .thumb-image-wrapper::after {
		content: "";
		position: absolute;
		z-index: 1;
		margin-top: 8px;
		left: -3px;
		width: 65px;
		height: 65px;
		background-color: white;
		border-radius: 50%;
		border: 10px solid;
		transform: translate(-76px, -20px) rotateZ(135deg);
	}
}

@media (max-width: 991px) {
	.guide-sections-container {
		margin-left: 30px;
	}

	.guide-section {
		flex-direction: column;
		gap: 0;
	}

	.guide-section > h3 {
		position: relative;
		font-size: 24px;
	}

	.guide-section .section-description {
		width: 100%;
	}

	.guide-section > h3::after {
		content: "";
		position: absolute;
		z-index: 1;
		margin-top: -14px;
		top: 37px !important;
		left: 17px;
		width: 26px;
		height: 26px;
		background-color: white;
		border-radius: 50%;
		border: 4px solid;
		transform: translate(-76px, -20px) rotateZ(135deg);
	}

	.treemap:not(.no-tree)::before {
		width: 7px;
		top: 93px;
		left: -26px;
	}
}

/* template-parts/wayfinder/see-major-courses.php (+ careers-guide twin) */
#see-major-courses {
	color: black;
	flex-direction: column;
	margin-top: 200px;
}

.degree-tab.active {
	font-weight: 700;
	background-color: #FFDC00;
}

@media (max-width: 992px) {
	#these-are-your-courses {
		margin-top: 100px;
	}

	#see-major-courses {
		margin-top: 0;
		padding: 0;
		padding-left: 44px;
	}

	#see-major-courses .course-content-image {
		width: 100%;
		overflow-x: auto;
	}

	#see-major-courses .course-content-container img.course-image {
		max-width: 800px;
		width: auto;
	}

	#see-major-courses.has-straight-before::before {
		width: 7px;
		top: 0;
		left: 10px;
	}

	#see-major-courses .sub-section:not(.no-tree)::before {
		content: "";
		position: absolute;
		left: 10px;
		width: 7px;
		height: 100%;
		background-color: var(--current-color);
		margin-top: 18px;
	}

	#see-major-courses .sub-section h2::after {
		content: "";
		position: absolute;
		z-index: 1;
		margin-top: 21px;
		left: 0;
		width: 26px;
		height: 26px;
		background-color: white;
		border-radius: 50%;
		border: 4px solid;
		transform: translate(0, -20px) rotateZ(135deg);
	}

	#see-major-courses .sub-section:first-of-type h2::after {
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color) !important;
	}

	#see-major-courses .sub-section:not(:first-child) h2::after {
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color);
	}
}

@media (min-width: 992px) {
	#see-major-courses {
		padding-left: 80px;
	}

	#see-major-courses .sub-section:not(.no-tree)::before {
		content: "";
		position: absolute;
		left: 26px;
		width: 20px;
		height: 100%;
		background-color: var(--current-color);
	}

	#see-major-courses .sub-section:first-of-type::before {
		top: 51px;
	}

	#see-major-courses .sub-section h2::after {
		content: "";
		position: absolute;
		z-index: 1;
		margin-top: 8px;
		left: 3px;
		width: 65px;
		height: 65px;
		background-color: white;
		border-radius: 50%;
		border: 10px solid;
		transform: translate(0, -20px) rotateZ(135deg);
	}

	#see-major-courses .sub-section:first-of-type h2::after {
		top: 10px;
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color) !important;
	}

	#see-major-courses .sub-section:not(:first-child) h2::after {
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color);
	}
}

/* ===== template-parts/wayfinder/scientific-focus.php ===== */
#scientific-focus.section {
	padding: 0 121px;
}

#scientific-focus .sub-section {
	padding-top: 200px;
}

#scientific-focus h2::after {
	border-color: #1ac987b3 !important;
}

.scientific-focus-wrapper .tab.active {
	font-weight: 700;
}

@media (max-width: 992px) {
	#scientific-focus.section {
		padding: 50px 0 0;
	}

	#scientific-focus .line-container {
		display: none;
	}

	#scientific-focus .sub-section {
		padding-top: 0;
		margin-bottom: 24px;
	}

	#scientific-focus .sub-section h2::after {
		content: url(/wp-content/themes/buddyboss-theme-child/dist/images/lines/scientific-focus-mobile-line.svg);
		position: absolute;
		right: 0;
	}

	#scientific-focus .scientific-focus-wrapper {
		margin-top: 14px;
		flex-direction: column;
	}

	#scientific-focus .vertical-tabs {
		flex-direction: row;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
	}

	#scientific-focus .vertical-tabs .tab {
		font-size: 16px;
		font-weight: 400;
		min-width: 120px;
		text-align: center;
		padding: 4px 8px;
		border: none !important;
	}

	#scientific-focus .vertical-tabs .tab.active {
		background-color: #FFDC00;
		font-weight: 700;
	}

	#scientific-focus .program-container {
		justify-content: center;
	}
}

@media (min-width: 992px) {
	#scientific-focus .sub-section::before {
		left: 18px !important;
	}

	#scientific-focus .sub-section h2::after {
		left: 0 !important;
	}

	#scientific-focus .sub-section:not(.no-tree)::before {
		content: "";
		position: absolute;
		left: 32px;
		width: 20px;
		height: 100%;
		background-color: var(--current-color);
	}

	#scientific-focus .sub-section:first-of-type::before {
		top: 51px;
	}

	#scientific-focus .sub-section h2::after {
		content: "";
		position: absolute;
		z-index: 1;
		margin-top: 8px;
		left: 11px;
		width: 65px;
		height: 65px;
		background-color: white;
		border-radius: 50%;
		border: 10px solid;
		transform: translate(0, -20px) rotateZ(135deg);
	}

	#scientific-focus .sub-section:first-of-type h2::after {
		top: 10px;
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color) !important;
	}

	#scientific-focus .sub-section:not(:first-child) h2::after {
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color);
	}
}

/* ===== template-parts/wayfinder/suggested-courses.php ===== */
.suggested-courses-content h2::after {
	margin-top: -19px;
}

.suggested-courses-text-container * {
	font-size: 20px;
}

.suggested-courses-text-container > *:last-child::after {
	display: none;
}

#youre-good-to-go-suggested-course h2::after {
	margin-top: 0 !important;
}

@media (max-width: 992px) {
	#suggested-courses {
		padding-top: 50px;
		padding-left: 44px;
	}

	#suggested-courses.section.has-straight-before {
		margin-top: 0;
	}

	#suggested-courses.section.has-straight-before::before {
		width: 7px;
		left: 9px;
		top: 0;
	}

	#suggested-courses .sub-section:not(.no-tree)::before {
		content: "";
		position: absolute;
		left: 9px;
		width: 7px;
		height: 100%;
		background-color: var(--current-color);
	}

	#suggested-courses .sub-section:first-of-type::before {
		top: 77px;
	}

	#suggested-courses .sub-section h2::after {
		content: "";
		position: absolute;
		z-index: 1;
		margin-top: -10px;
		left: 0;
		width: 26px;
		height: 26px;
		background-color: white;
		border-radius: 50%;
		border: 4px solid;
		transform: translate(0, -20px) rotateZ(135deg);
	}

	#suggested-courses .sub-section:first-of-type h2::after {
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color) !important;
	}

	#suggested-courses .sub-section:not(:first-child) h2::after {
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color);
	}
}

@media (min-width: 992px) {
	#suggested-courses {
		padding: 0 121px;
	}

	#youre-good-to-go {
		padding-right: 80px;
	}

	#suggested-courses .sub-section:not(.no-tree)::before {
		content: "";
		position: absolute;
		left: 27px;
		width: 20px;
		height: 100%;
		background-color: var(--current-color);
	}

	#suggested-courses .sub-section:first-of-type::before {
		top: 51px;
	}

	#suggested-courses .sub-section h2::after {
		content: "";
		position: absolute;
		z-index: 1;
		margin-top: 8px;
		left: 3px;
		width: 65px;
		height: 65px;
		background-color: white;
		border-radius: 50%;
		border: 10px solid;
		transform: translate(0, -20px) rotateZ(135deg);
	}

	#suggested-courses .sub-section:first-of-type h2::after {
		top: 10px;
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color) !important;
	}

	#suggested-courses .sub-section:not(:first-child) h2::after {
		border-color: var(--current-color) var(--current-color) var(--prev-color) var(--prev-color);
	}
}

/* buddypress/members/single/home.php */
body.bp-user {
	background-color: #F5F5F5;
}

body.bp-user iframe {
	height: 200px !important;
}

.bp-wrap {
	padding: 0 120px;
}

button,
.button,
.custom-button {
	min-width: 1px !important;
	border-radius: 0 !important;
}

.acf-form-fields {
	background-color: transparent !important;
}

/* ACF sidebar: always use horizontal tab layout (no vertical sidebar) */
body .acf-fields.-sidebar {
	padding-left: 0 !important;
}

/* Hide the ACF ::before background panel — needs !important to beat acf-input.css */
body .acf-fields.-sidebar::before {
	display: none !important;
}

.acf-fields.acf-form-fields::before {
	display: none;
}

.acf-field {
	background-color: #FFF;
}

.acf-fields.-border {
	border: none !important;
}

.acf-field.acf-field-file,
.acf-field.acf-field-url {
	min-width: 1px !important;
	width: revert !important;
	border: none !important;
	max-width: 33.33% !important;
}

.acf-icon.-cancel {
	background-color: white;
	text-decoration: none !important;
}

/* Tab group: horizontal layout at all breakpoints */
.acf-tab-wrap.-left {
	background-color: white !important;
}

.acf-tab-wrap.-left ul,
.acf-tab-wrap.-left .acf-tab-group {
	position: static !important;
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100% !important;
	overflow-x: auto;
	list-style: none;
}


.acf-tab-wrap.-left .acf-tab-group li.active a::before,
.acf-tab-wrap.-left .acf-tab-group li a::after {
	content: '' !important;
	display: none !important;
}

.acf-tab-wrap.-left .acf-tab-group li {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.acf-tab-wrap.-left .acf-tab-group li a {
	border: none;
	font-size: 14px !important;
}

.acf-tab-wrap.-left .acf-tab-group li.active a {
	background-color: #fff !important;
}

[data-name="profile_picture"],
[data-name="cover_photo"] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

[data-name="profile_picture"] .show-if-value,
[data-name="cover_photo"] .show-if-value {
	margin-bottom: 24px;
	float: none !important;
}

[data-name="profile_picture"] .acf-input,
[data-name="profile_picture"] .acf-label,
[data-name="cover_photo"] .acf-input,
[data-name="cover_photo"] .acf-label {
	width: 100%;
}

[data-name="profile_picture"] .hide-if-value,
[data-name="cover_photo"] .hide-if-value {
	height: 200px;
	display: block !important;
}

[data-name="profile_picture"] .acf-basic-uploader,
[data-name="cover_photo"] .acf-basic-uploader {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#coverPhotoPreview,
#profilePhotoPreview {
	max-width: 300px;
	margin-bottom: 14px;
}

.acf-icon.-globe.-small {
	margin-top: 7px;
}

@media (max-width: 992px) {
	.bp-wrap {
		padding: 0;
	}

	.acf-fields.acf-form-fields {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	[data-name='data-name="about_me"'],
	[data-name="settings"],
	.h2[data-name="social_links"],
	[data-name="about_me"],
	[data-name="achievements_heading"] {
		display: none !important;
	}

	.acf-field.acf-field-file,
	.acf-field.acf-field-url {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 14px !important;
	}

	.acf-fields.-top.-border {
		flex-wrap: wrap;
	}
}
