/* Shared archive hubs — lessons (Accent2), worksheets (Accent5), canva (Accent1) */

body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-widget-jet-listing-grid,
body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-widget-jet-smart-filters-pagination,
body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-widget-jet-smart-filters-active-filters,
body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .jet-filters-pagination {
	display: none !important;
}

body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-widget-jet-smart-filters-select,
body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-widget-jet-smart-filters-checkboxes {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.prep-archive-hub--arming .elementor-widget-jet-smart-filters-select,
body.prep-archive-hub--arming .elementor-widget-jet-smart-filters-checkboxes {
	pointer-events: auto !important;
}

body.prep-archive-hub--external-filters .prep-archive-hub,
body.prep-archive-hub--external-filters #prep-archive-hub-template {
	display: none !important;
}

/*
 * Tighten space under the title/nav block without collapsing it:
 * - drop bottom padding + flex gap on the heading section
 * - hide the BuddyBoss profile-completion spacer section
 * - keep a small offset above the hub
 */
body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-location-archive > .e-con.e-parent:has(.elementor-widget-heading):not(:has([data-prep-archive-hub])) {
	--padding-bottom: 0px !important;
	--gap: 0px !important;
	--row-gap: 0px !important;
	--column-gap: 0px !important;
	padding-bottom: 0 !important;
}

body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-widget-bbp-profile-completion {
	display: none !important;
}

body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-location-archive > .e-con.e-parent:not(:has([data-prep-archive-hub])):not(:has(.elementor-widget-heading)):not(:has(.elementor-nav-menu)):not(:has(.elementor-widget-nav-menu)) {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	min-height: 0 !important;
}

body.prep-archive-hub-page.prep-archive-hub--browse:has([data-prep-archive-hub]) .elementor-location-archive > .e-con.e-parent:has([data-prep-archive-hub]) {
	--padding-top: 16px !important;
	padding-top: 16px !important;
}

/*
 * Hide empty Elementor containers left behind on archive templates
 * (whitespace-only .e-con-inner is not CSS :empty).
 * Only boxed parents — e-con-full has no .e-con-inner wrapper.
 */
body.prep-archive-hub-page .e-con.e-con-boxed:has(> .e-con-inner:not(:has(*))),
body.prep-archive-hub--external-filters .e-con.e-con-boxed:has(> .e-con-inner:not(:has(*))),
body.post-type-archive-uroci .e-con.e-con-boxed:has(> .e-con-inner:not(:has(*))),
body.post-type-archive-worksheets .e-con.e-con-boxed:has(> .e-con-inner:not(:has(*))),
body.post-type-archive-canva-templates .e-con.e-con-boxed:has(> .e-con-inner:not(:has(*))) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	--gap: 0px !important;
}

body.prep-archive-hub-page .e-con.e-con-boxed > .e-con-inner:not(:has(*)),
body.prep-archive-hub--external-filters .e-con.e-con-boxed > .e-con-inner:not(:has(*)),
body.post-type-archive-uroci .e-con.e-con-boxed > .e-con-inner:not(:has(*)),
body.post-type-archive-worksheets .e-con.e-con-boxed > .e-con-inner:not(:has(*)),
body.post-type-archive-canva-templates .e-con.e-con-boxed > .e-con-inner:not(:has(*)) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

.prep-archive-hub {
	width: 100%;
	max-width: var(--container-max-width, 1440px);
	margin: 0 auto 32px;
	padding: 0;
	box-sizing: border-box;
}

.prep-archive-hub__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	width: 100%;
	box-sizing: border-box;
}

.prep-archive-hub__card {
	display: flex;
	flex-direction: column;
	flex: 0 0 calc((100% - 3 * 16px) / 4);
	width: calc((100% - 3 * 16px) / 4);
	max-width: calc((100% - 3 * 16px) / 4);
	box-sizing: border-box;
	background: var(--e-global-color-0dc1046, #fff);
	border: 1px solid var(--e-global-color-bf98a02, #c5d0e0);
	border-radius: 12px;
	overflow: hidden;
	min-width: 0;
}

@media (max-width: 1024px) {
	.prep-archive-hub__card {
		flex-basis: calc((100% - 16px) / 2);
		width: calc((100% - 16px) / 2);
		max-width: calc((100% - 16px) / 2);
	}
}

@media (max-width: 640px) {
	.prep-archive-hub__card {
		flex-basis: 100%;
		width: 100%;
		max-width: 100%;
	}
}

.prep-archive-hub__card-head {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	padding: 24px 16px 16px 12px;
	box-sizing: border-box;
}

.prep-archive-hub__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	box-sizing: border-box;
}

.prep-archive-hub__icon i {
	font-size: 32px;
	line-height: 1;
	color: var(--e-global-color-94228e8, #0b234b);
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.prep-archive-hub__card-titles {
	flex: 1 1 auto;
	min-width: 0;
	width: calc(100% - 84px);
}

.prep-archive-hub__title {
	margin: 0 0 4px;
	font-family: var(--e-global-typography-dc05ad4-font-family, inherit), Sans-serif;
	font-size: var(--e-global-typography-dc05ad4-font-size, 20px);
	font-weight: var(--e-global-typography-dc05ad4-font-weight, 700);
	line-height: var(--e-global-typography-dc05ad4-line-height, 1.3);
	color: var(--e-global-color-94228e8, #0b234b);
}

.prep-archive-hub__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 0;
	font-family: var(--e-global-typography-ea18684-font-family, inherit), Sans-serif;
	font-size: var(--e-global-typography-ea18684-font-size, 14px);
	font-weight: var(--e-global-typography-ea18684-font-weight, 400);
	line-height: var(--e-global-typography-ea18684-line-height, 1.4);
	color: var(--e-global-color-3a85263, #4a5d78);
}

.prep-archive-hub__sep {
	opacity: 0.7;
}

.prep-archive-hub__choose {
	flex: 1 1 auto;
	border-radius: 8px;
	margin: 0 8px 8px;
	padding: 16px 16px 20px;
	box-sizing: border-box;
}

.prep-archive-hub__choose-label {
	display: block;
	margin: 0 0 12px;
	font-family: var(--e-global-typography-ea18684-font-family, inherit), Sans-serif;
	font-size: var(--e-global-typography-ea18684-font-size, 14px);
	font-weight: var(--e-global-typography-ea18684-font-weight, 400);
	line-height: var(--e-global-typography-ea18684-line-height, 1.4);
}

.prep-archive-hub .pbo-classes-grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 4px;
}

.prep-archive-hub .pbo-classes-grid__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	flex: 0 0 calc((100% - 5 * 4px) / 6);
	max-width: calc((100% - 5 * 4px) / 6);
	font-family: var(--e-global-typography-0bd70ca-font-family, inherit), Sans-serif;
	font-size: var(--e-global-typography-0bd70ca-font-size, 14px);
	font-weight: var(--e-global-typography-0bd70ca-font-weight, 600);
	text-transform: var(--e-global-typography-0bd70ca-text-transform, none);
	font-style: var(--e-global-typography-0bd70ca-font-style, normal);
	text-decoration: var(--e-global-typography-0bd70ca-text-decoration, none);
	line-height: var(--e-global-typography-0bd70ca-line-height, 1);
	box-sizing: border-box;
	border-radius: 8px;
	border: 0 !important;
	padding: 0;
	margin: 0;
}

.prep-archive-hub .pbo-classes-grid__item.is-link,
.prep-archive-hub .prep-archive-hub__class {
	color: var(--e-global-color-94228e8, #0b234b) !important;
	background: var(--e-global-color-0dc1046, #fff) !important;
	cursor: pointer;
	transition: all 0.25s ease;
	font-family: inherit;
	text-decoration: none;
	box-sizing: border-box;
}

.prep-archive-hub .pbo-classes-grid__item.is-link:hover,
.prep-archive-hub .prep-archive-hub__class:hover,
.prep-archive-hub .prep-archive-hub__class:focus {
	outline: none;
}

.prep-archive-hub .pbo-classes-grid__item.is-empty {
	pointer-events: none;
}

body.prep-archive-hub-page.prep-archive-hub--loading .elementor-widget-jet-listing-grid {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

/* —— Lessons: Accent2 soft yellow —— */
.prep-archive-hub--lessons .prep-archive-hub__icon {
	background: var(--e-global-color-3c6a08d, #fef0c5);
}

.prep-archive-hub--lessons .prep-archive-hub__choose {
	background: var(--e-global-color-01346d6, #fff8e3);
}

.prep-archive-hub--lessons .prep-archive-hub__choose-label {
	color: var(--e-global-color-2e496a0, #614300);
}

.prep-archive-hub--lessons .pbo-classes-grid__item {
	color: var(--e-global-color-2e496a0, #614300) !important;
	background: var(--e-global-color-3c6a08d, #fef0c5) !important;
}

.prep-archive-hub--lessons .pbo-classes-grid__item.is-link,
.prep-archive-hub--lessons .prep-archive-hub__class {
	border: 1px solid var(--e-global-color-3c6a08d, #fef0c5) !important;
}

.prep-archive-hub--lessons .pbo-classes-grid__item.is-link:hover,
.prep-archive-hub--lessons .prep-archive-hub__class:hover,
.prep-archive-hub--lessons .prep-archive-hub__class:focus {
	border: 1px solid var(--e-global-color-8ac8528, #b68512) !important;
}

/* —— Worksheets: Accent5 soft green —— */
.prep-archive-hub--worksheets .prep-archive-hub__icon {
	background: var(--e-global-color-8920e41, #d2f3d6);
}

.prep-archive-hub--worksheets .prep-archive-hub__choose {
	background: var(--e-global-color-e38df69, #edf9ee);
}

.prep-archive-hub--worksheets .prep-archive-hub__choose-label {
	color: var(--e-global-color-90a4e98, #134d20);
}

.prep-archive-hub--worksheets .pbo-classes-grid__item {
	color: var(--e-global-color-90a4e98, #134d20) !important;
	background: var(--e-global-color-8920e41, #d2f3d6) !important;
}

.prep-archive-hub--worksheets .pbo-classes-grid__item.is-link,
.prep-archive-hub--worksheets .prep-archive-hub__class {
	border: 1px solid var(--e-global-color-8920e41, #d2f3d6) !important;
}

.prep-archive-hub--worksheets .pbo-classes-grid__item.is-link:hover,
.prep-archive-hub--worksheets .prep-archive-hub__class:hover,
.prep-archive-hub--worksheets .prep-archive-hub__class:focus {
	border: 1px solid var(--e-global-color-ed4b877, #39a555) !important;
}

/* —— Canva: Accent1 soft red —— */
.prep-archive-hub--canva .prep-archive-hub__icon {
	background: var(--e-global-color-ab351a3, #ffd5d9);
}

.prep-archive-hub--canva .prep-archive-hub__choose {
	background: var(--e-global-color-651f5c5, #ffeced);
}

.prep-archive-hub--canva .prep-archive-hub__choose-label {
	color: var(--e-global-color-95c55e3, #7f101b);
}

.prep-archive-hub--canva .pbo-classes-grid__item {
	color: var(--e-global-color-95c55e3, #7f101b) !important;
	background: var(--e-global-color-ab351a3, #ffd5d9) !important;
}

.prep-archive-hub--canva .pbo-classes-grid__item.is-link,
.prep-archive-hub--canva .prep-archive-hub__class {
	border: 1px solid var(--e-global-color-ab351a3, #ffd5d9) !important;
}

.prep-archive-hub--canva .pbo-classes-grid__item.is-link:hover,
.prep-archive-hub--canva .prep-archive-hub__class:hover,
.prep-archive-hub--canva .prep-archive-hub__class:focus {
	border: 1px solid var(--e-global-color-8d73c45, #c7283a) !important;
}
