/*
 * ConnectEd 2026 visual system.
 * This layer intentionally sits after components.css so every public and
 * account surface shares one coherent, image-led clinical identity.
 */

:root {
	--cd-ink: #0b1220;
	--cd-ink-2: #182334;
	--cd-copy: #506074;
	--cd-base: #f4f7f8;
	--cd-surface: #ffffff;
	--cd-line: #d8e1e6;
	--cd-line-strong: #c3cfd6;
	--cd-blue: #2455f5;
	--cd-blue-dark: #173cc2;
	--cd-blue-soft: #e8eeff;
	--cd-teal: #087f78;
	--cd-mint: #c9f2e8;
	--cd-coral: #ff6b5f;
	--cd-sun: #f5d26a;
	--cd-radius: 8px;
	--cd-shadow-sm: 0 1px 2px rgba(11, 18, 32, 0.05), 0 8px 22px rgba(11, 18, 32, 0.06);
	--cd-shadow-lg: 0 24px 70px rgba(11, 18, 32, 0.16);
	--cd-page-gutter: clamp(0.75rem, 1.5vw, 2rem);
	--cd-full-width: calc(100% - clamp(1.5rem, 3vw, 4rem));
	--cd-container: 100%;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--cd-base);
	color: var(--cd-ink);
	font-family: var(--wp--preset--font-family--body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	letter-spacing: 0;
}

body * {
	box-sizing: border-box;
}

::selection {
	background: var(--cd-sun);
	color: var(--cd-ink);
}

a {
	text-underline-offset: 0.18em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
	color: var(--cd-ink);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 560;
	letter-spacing: 0 !important;
}

h1 em,
h2 em,
h3 em {
	font-weight: 480;
}

img {
	display: block;
	max-width: 100%;
}

.wp-site-blocks,
main {
	overflow: clip;
}

.cd-muted {
	color: var(--cd-copy) !important;
}

.cd-section-kicker,
.cd-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1rem;
	color: var(--cd-blue);
	font-size: 0.76rem;
	font-weight: 760;
	letter-spacing: 0 !important;
	line-height: 1.2;
	text-transform: uppercase;
}

.cd-section-kicker::before,
.cd-eyebrow::before {
	width: 2.3rem;
	height: 2px;
	background: currentColor;
	content: "";
}

.cd-section-kicker--light {
	color: #dfe7ff;
}

.cd-section {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	padding: 6rem var(--cd-page-gutter);
}

.cd-section > :where(:not(.alignfull)) {
	width: 100%;
	max-width: none !important;
}

.home .cd-section {
	max-width: none !important;
}

.home .cd-hero + .cd-featured-section {
	padding-top: 3rem;
}

.cd-section-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
	gap: 4rem;
	align-items: end;
	margin-bottom: 3rem;
}

.cd-section-intro h2 {
	max-width: 760px;
	margin: 0;
	font-size: 3.55rem;
	line-height: 0.98;
}

.cd-section-intro__aside {
	padding-bottom: 0.35rem;
}

.cd-section-intro__aside p {
	max-width: 490px;
	margin: 0 0 1.35rem;
	color: var(--cd-copy);
	font-size: 1.05rem;
	line-height: 1.7;
}

.cd-section-intro--light h2,
.cd-section-intro--light .cd-section-intro__aside p {
	color: #fff;
}

.cd-course-coming-soon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2.5rem;
	align-items: center;
	min-height: 164px;
	padding: 2rem 2.25rem;
	background: #eef8f6;
	border: 1px solid rgba(8, 127, 120, 0.24);
	border-left: 5px solid var(--cd-teal);
	border-radius: var(--cd-radius);
}

.cd-course-coming-soon__copy {
	max-width: 760px;
}

.cd-course-coming-soon__eyebrow {
	display: block;
	margin-bottom: 0.65rem;
	color: var(--cd-teal);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.cd-course-coming-soon h3 {
	margin: 0;
	font-size: 2rem;
	line-height: 1.08;
}

.cd-course-coming-soon p {
	margin: 0.7rem 0 0;
	color: #335f5b;
	font-size: 1rem;
	line-height: 1.65;
}

.cd-course-coming-soon__action {
	flex-shrink: 0;
	white-space: nowrap;
}

.cd-upcoming-section {
	scroll-margin-top: 96px;
}

.cd-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	position: relative;
	z-index: 3;
	color: var(--cd-ink);
	font-size: 0.94rem;
	font-weight: 760;
	text-decoration: none;
}

.cd-text-link span {
	display: grid;
	place-items: center;
	width: 1.8rem;
	height: 1.8rem;
	border: 1px solid var(--cd-line-strong);
	border-radius: 50%;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cd-text-link:hover span {
	background: var(--cd-ink);
	color: #fff;
	transform: translate(2px, -2px);
}

/* Header and navigation */

.cd-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	max-width: none !important;
	background: rgba(255, 255, 255, 0.94);
	border-bottom: 1px solid rgba(195, 207, 214, 0.76);
	box-shadow: none;
	backdrop-filter: blur(18px);
	transition: box-shadow 180ms ease, background-color 180ms ease;
}

.admin-bar .cd-header {
	top: 32px;
}

.cd-header.is-scrolled {
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 10px 34px rgba(11, 18, 32, 0.08);
}

.cd-header > .wp-block-group.cd-header-row {
	width: var(--cd-full-width);
	max-width: none;
	min-height: 74px;
	margin: 0 auto;
	padding: 0 !important;
	gap: 1rem;
}

.cd-header-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	min-width: 288px;
	color: var(--cd-ink) !important;
	text-decoration: none !important;
}

.cd-header-wordmark {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.7rem;
	font-weight: 680;
	line-height: 1;
}

.cd-header-wordmark > span {
	color: var(--cd-coral);
}

.cd-header-brand-divider {
	height: 27px;
	border-left: 1px solid var(--cd-line);
}

.cd-header-greenwall-logo {
	width: 96px;
	height: 34px;
	object-fit: contain;
}

.cd-browse-menu {
	position: relative;
	flex: 0 0 auto;
}

.cd-browse-menu > summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 42px;
	padding: 0 1rem;
	background: var(--cd-blue-soft);
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--cd-blue);
	cursor: pointer;
	font-weight: 760;
	list-style: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.cd-browse-menu > summary::-webkit-details-marker {
	display: none;
}

.cd-browse-menu > summary svg {
	width: 17px;
	height: 17px;
	transition: transform 180ms ease;
}

.cd-browse-menu[open] > summary,
.cd-browse-menu > summary:hover {
	background: var(--cd-ink);
	color: #fff;
}

.cd-browse-menu[open] > summary svg {
	transform: rotate(180deg);
}

.cd-browse-menu__panel {
	display: block !important;
	position: absolute;
	top: calc(100% + 13px);
	left: 50%;
	width: min(740px, calc(100vw - 2rem));
	padding: 1rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow-lg);
	opacity: 0;
	pointer-events: none;
	transform: translate(-34%, -7px);
	transform-origin: 40% 0;
	transition: opacity 150ms ease, transform 180ms ease;
}

.cd-browse-menu[open] .cd-browse-menu__panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-34%, 0);
}

@media (hover: hover) {
	.cd-browse-menu:hover > summary {
		background: var(--cd-ink);
		color: #fff;
	}

	.cd-browse-menu:hover > summary svg {
		transform: rotate(180deg);
	}

	.cd-browse-menu:hover .cd-browse-menu__panel {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-34%, 0);
	}
}

.cd-browse-menu__head {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0.35rem 0.35rem 0.75rem;
}

.cd-browse-menu__head > span {
	color: var(--cd-copy);
	font-size: 0.78rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-browse-menu__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
}

.cd-browse-menu__item {
	display: grid !important;
	grid-template-columns: 44px minmax(0, 1fr) 24px;
	gap: 0.75rem;
	align-items: center;
	min-height: 88px;
	padding: 0.85rem;
	background: var(--cd-base) !important;
	border: 1px solid transparent !important;
	border-radius: var(--cd-radius) !important;
	color: var(--cd-ink) !important;
	text-decoration: none !important;
	transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.cd-browse-menu__item:hover {
	border-color: var(--cd-line-strong) !important;
	box-shadow: var(--cd-shadow-sm);
	transform: translateY(-2px);
}

.cd-browse-menu__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	background: var(--cd-menu-icon-bg, var(--cd-blue-soft));
	border-radius: var(--cd-radius);
	color: var(--cd-menu-icon-color, var(--cd-blue));
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cd-browse-menu__icon svg {
	width: 23px;
	height: 23px;
}

.cd-browse-menu__item--courses {
	--cd-menu-icon-bg: var(--cd-blue-soft);
	--cd-menu-icon-color: var(--cd-blue);
}

.cd-browse-menu__item--live {
	--cd-menu-icon-bg: #d9f4ee;
	--cd-menu-icon-color: #087f78;
}

.cd-browse-menu__item--events {
	--cd-menu-icon-bg: #ffe5e1;
	--cd-menu-icon-color: #b93831;
}

.cd-browse-menu__item--resources {
	--cd-menu-icon-bg: #fff1c2;
	--cd-menu-icon-color: #765700;
}

.cd-browse-menu__item.cd-browse-menu__item--courses .cd-browse-menu__icon,
.cd-browse-menu__item.cd-browse-menu__item--live .cd-browse-menu__icon,
.cd-browse-menu__item.cd-browse-menu__item--events .cd-browse-menu__icon,
.cd-browse-menu__item.cd-browse-menu__item--resources .cd-browse-menu__icon {
	background: var(--cd-menu-icon-bg);
	color: var(--cd-menu-icon-color);
}

.cd-browse-menu__item:hover .cd-browse-menu__icon,
.cd-browse-menu__item:focus-visible .cd-browse-menu__icon {
	background: var(--cd-menu-icon-color);
	color: #fff;
	transform: translateY(-1px);
}

.cd-browse-menu__item strong,
.cd-browse-menu__item em {
	display: block;
}

.cd-browse-menu__item strong {
	margin-bottom: 0.18rem;
	font-size: 0.96rem;
}

.cd-browse-menu__item em {
	color: var(--cd-copy);
	font-size: 0.77rem;
	font-style: normal;
	line-height: 1.35;
}

.cd-browse-menu__arrow {
	color: var(--cd-copy);
	font-size: 1rem;
}

.cd-header-search {
	flex: 1 1 260px;
	max-width: 430px;
	height: 44px;
	background: var(--cd-base);
	border: 1px solid var(--cd-line);
	border-radius: 999px;
	box-shadow: none;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.cd-header-search:focus-within {
	background: #fff;
	border-color: var(--cd-blue);
	box-shadow: 0 0 0 3px var(--cd-blue-soft);
}

.cd-header-search input {
	font-size: 0.9rem;
}

.cd-account-nav {
	gap: 0.55rem;
}

.cd-nav-link,
.cd-account-nav .cd-btn {
	font-size: 0.88rem;
}

.cd-nav-icon-link,
.cd-user-menu > summary {
	width: 42px;
	height: 42px;
	border: 1px solid var(--cd-line);
	border-radius: 50%;
	background: #fff;
}

.cd-user-menu__panel {
	top: calc(100% + 12px);
	min-width: 220px;
	padding: 0.55rem;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow-lg);
}

.cd-user-menu__panel a {
	padding: 0.72rem 0.8rem;
	border-radius: 6px;
}

/* Buttons and controls */

.cd-btn,
.wp-element-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 46px;
	padding: 0.78rem 1.2rem;
	border: 1px solid transparent;
	border-radius: var(--cd-radius) !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.92rem;
	font-weight: 760;
	line-height: 1;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cd-btn:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	transform: translateY(-2px);
}

.cd-btn--solid,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--cd-ink) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(11, 18, 32, 0.16);
}

.cd-btn--solid:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--cd-blue) !important;
}

.cd-btn--ghost,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: #fff !important;
	border-color: var(--cd-line-strong) !important;
	color: var(--cd-ink) !important;
	box-shadow: none;
}

.cd-btn--ghost:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--cd-ink) !important;
}

.cd-btn--danger {
	background: #b42318 !important;
	border-color: #b42318 !important;
	color: #fff !important;
	box-shadow: none;
}

.cd-btn--danger:hover {
	background: #8f1c13 !important;
	border-color: #8f1c13 !important;
}

.cd-btn--light {
	background: #fff;
	color: var(--cd-ink) !important;
}

.cd-btn--light:hover {
	background: var(--cd-sun);
}

.cd-btn--glass {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.52);
	color: #fff !important;
	backdrop-filter: blur(8px);
}

.cd-btn--glass:hover {
	background: rgba(255, 255, 255, 0.22);
}

.cd-btn--ink {
	background: var(--cd-ink);
	color: #fff !important;
}

/* Homepage hero */

.cd-hero {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	padding: 1rem var(--cd-page-gutter) 0;
}

.cd-hero > :where(:not(.alignfull)) {
	width: 100%;
	max-width: none !important;
}

.cd-hero__scene {
	position: relative;
	min-height: 520px;
	overflow: hidden;
	background: var(--cd-ink);
	border-radius: var(--cd-radius);
	isolation: isolate;
}

.cd-hero__image,
.cd-hero__wash {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cd-hero__image {
	z-index: -2;
	object-fit: cover;
	object-position: 53% 42%;
}

.cd-hero__wash {
	z-index: -1;
	background: linear-gradient(90deg, rgba(5, 12, 25, 0.93) 0%, rgba(5, 12, 25, 0.73) 48%, rgba(5, 12, 25, 0.12) 82%);
}

.cd-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: min(720px, 68%);
	min-height: 430px;
	padding: 4.2rem 4.5rem 5rem;
	color: #fff;
}

.cd-hero__content h1 {
	margin: 0;
	color: #fff;
	font-size: 4.75rem;
	line-height: 0.91;
	text-wrap: balance;
}

.cd-hero__content h1 em {
	color: var(--cd-mint);
}

.cd-hero__content h1.cd-hero__title--long {
	font-size: 3.75rem;
	line-height: 0.98;
}

.cd-hero__lead {
	max-width: 610px;
	margin: 1.5rem 0 0;
	color: #e4eaf1;
	font-size: 1.1rem;
	line-height: 1.65;
}

.cd-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 1.8rem 0 0.65rem;
}

.cd-hero__metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(11, 18, 32, 0.78);
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(12px);
}

.cd-hero__metrics > span {
	min-width: 0;
	padding: 1rem 1.35rem;
	border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.cd-hero__metrics > span:last-child {
	border-right: 0;
}

.cd-hero__metrics strong,
.cd-hero__metrics em {
	display: block;
}

.cd-hero__metrics strong {
	color: #fff;
	font-size: 0.86rem;
}

.cd-hero__metrics em {
	margin-top: 0.14rem;
	color: #b9c5d3;
	font-size: 0.73rem;
	font-style: normal;
}

/* Cards and course discovery */

.cd-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 1.25rem;
}

.cd-card,
.cd-course-card,
.cd-resource-card,
.cd-featured-teacher-card,
.cd-quote {
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius) !important;
	box-shadow: none;
}

.cd-course-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-width: 0;
	height: 100%;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.cd-course-card:hover {
	border-color: var(--cd-line-strong);
	box-shadow: var(--cd-shadow-lg);
	transform: translateY(-5px);
}

.cd-course-card__media-wrap {
	position: relative;
	height: auto;
	min-height: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--cd-ink);
}

.cd-course-card__media-wrap img,
.cd-course-card__media-wrap .cd-card__media {
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: auto;
	opacity: 1;
	mix-blend-mode: normal;
	object-fit: cover;
	transition: transform 500ms ease, filter 300ms ease;
}

.cd-course-card:hover .cd-course-card__media-wrap img {
	transform: scale(1.045);
}

.cd-course-card__media-wrap::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 18, 32, 0.04), rgba(11, 18, 32, 0.38));
	content: "";
	pointer-events: none;
}

.cd-course-card__top-pills {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 3;
}

.cd-card__media-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0.35rem 0.65rem;
	background: rgba(255, 255, 255, 0.94);
	border-radius: 999px;
	color: var(--cd-ink);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	backdrop-filter: blur(6px);
}

.cd-favourite-course-form--card {
	top: 0.75rem;
	right: 0.75rem;
	z-index: 5;
}

.cd-favourite-card-button {
	width: 38px;
	height: 38px;
	min-height: 38px;
	padding: 0;
	background: rgba(255, 255, 255, 0.94) !important;
	border: 0 !important;
	border-radius: 50% !important;
	color: var(--cd-ink) !important;
	box-shadow: 0 6px 16px rgba(11, 18, 32, 0.12);
}

.cd-favourite-card-button.is-active {
	color: var(--cd-coral) !important;
}

.cd-favourite-card-button svg {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
}

.cd-card__body {
	padding: 1.2rem 1.25rem 1.25rem;
}

.cd-course-card .cd-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.cd-course-card .cd-card__body h2,
.cd-course-card .cd-card__body h3 {
	min-height: 2.5em;
	margin: 0 0 0.9rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.08rem;
	font-weight: 760;
	line-height: 1.25;
}

.cd-card__teacher,
.cd-course-card__teacher {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	position: relative;
	z-index: 4;
	color: var(--cd-copy) !important;
	font-size: 0.8rem;
	font-weight: 650;
	text-decoration: none;
}

.cd-teacher-byline {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	width: fit-content;
	max-width: 100%;
	min-width: 0;
	color: var(--cd-copy) !important;
	font-size: 0.8rem;
	font-weight: 650;
	line-height: 1.25;
	text-decoration: none !important;
}

.cd-teacher-byline:hover {
	color: var(--cd-blue) !important;
}

.cd-teacher-chip-photo {
	width: 30px;
	height: 30px;
	border: 2px solid #fff;
	border-radius: 50%;
	object-fit: cover;
}

.cd-course-card__divider {
	margin: 1rem 0 0.85rem;
	border-top: 1px solid var(--cd-line);
}

.cd-course-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.cd-course-card__meta strong {
	color: var(--cd-blue);
	font-size: 1rem;
}

.cd-course-card__meta span {
	color: var(--cd-copy);
	font-size: 0.76rem;
}

.cd-course-overview-hero__media {
	background: var(--cd-base);
	border-radius: var(--cd-radius);
}

.cd-course-overview-hero__media img {
	opacity: 1;
	mix-blend-mode: normal;
}

.cd-course-catalog,
.cd-resource-library,
.cd-teacher-profile,
.cd-event-detail,
.cd-studio-shell {
	width: 100%;
	max-width: none !important;
	margin-inline: auto;
}

.cd-course-archive-page main.cd-section,
.cd-resource-archive-page main.cd-section,
.cd-teacher-profile-page main.cd-section,
.cd-event-detail-page main.cd-section,
.cd-live-class-detail-page main.cd-section,
.cd-custom-course-overview-page main.cd-section,
.cd-custom-dashboard-page main.cd-section,
.cd-favourites-page main.cd-section {
	padding-top: clamp(1rem, 1.5vw, 1.5rem);
}

body:not(.home):not(.cd-login-page) .wp-site-blocks > main.cd-page-shell,
.search .wp-site-blocks > main,
.single-post .wp-site-blocks > main,
.error404 .wp-site-blocks > main {
	margin-block-start: 0 !important;
	padding-top: clamp(1rem, 1.5vw, 1.5rem) !important;
}

.search .wp-site-blocks > main > h1:first-child,
.error404 .wp-site-blocks > main > h1:first-child {
	margin-top: 0;
}

.cd-course-catalog__intro,
.cd-resource-library__head {
	position: relative;
	overflow: hidden;
	max-width: none;
	min-height: 300px;
	margin-bottom: 1.5rem;
	padding: 3.2rem;
	background: var(--cd-ink);
	border-radius: var(--cd-radius);
	color: #fff;
	isolation: isolate;
}

.cd-course-catalog__intro::after,
.cd-resource-library__head::after {
	position: absolute;
	inset: 0 0 0 auto;
	z-index: -2;
	width: 48%;
	background: url("../images/dental-model-teaching.jpg") center / cover no-repeat;
	content: "";
}

.cd-course-catalog__intro::before,
.cd-resource-library__head::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, var(--cd-ink) 0%, var(--cd-ink) 55%, rgba(11, 18, 32, 0.24) 100%);
	content: "";
}

.cd-course-catalog__intro > *,
.cd-resource-library__head > div:first-child {
	position: relative;
	z-index: 1;
	max-width: 640px;
}

.cd-course-catalog__intro .cd-eyebrow,
.cd-resource-library__head .cd-section-kicker {
	color: var(--cd-mint);
}

.cd-course-catalog__intro h1,
.cd-resource-library__head h1 {
	margin: 0;
	color: #fff;
	font-size: 3.65rem;
	line-height: 0.98;
}

.cd-course-catalog__intro p,
.cd-resource-library__head p {
	max-width: 560px;
	margin: 1.2rem 0 0;
	color: #dbe4ec !important;
	font-size: 1.02rem;
}

.cd-course-filters,
.cd-resource-filters {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(130px, 0.72fr)) auto;
	gap: 0.75rem;
	align-items: end;
	margin: 0 0 2rem;
	padding: 1.15rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow-sm);
}

.cd-resource-filters {
	grid-template-columns: minmax(260px, 1.5fr) minmax(170px, 0.7fr) minmax(170px, 0.7fr) auto;
}

.cd-course-filters::before {
	display: none;
}

.cd-course-filters label,
.cd-resource-filters label {
	margin: 0;
}

.cd-course-filters label > span,
.cd-resource-filters label > span,
.cd-form label {
	display: block;
	margin-bottom: 0.42rem;
	color: var(--cd-copy);
	font-size: 0.72rem;
	font-weight: 760;
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="password"],
select,
textarea {
	min-height: 48px;
	padding: 0.72rem 0.85rem;
	background: #fff;
	border: 1px solid var(--cd-line-strong);
	border-radius: var(--cd-radius);
	color: var(--cd-ink);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	box-shadow: none;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

textarea {
	min-height: 140px;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--cd-blue) !important;
	box-shadow: 0 0 0 3px var(--cd-blue-soft) !important;
	outline: none;
}

.cd-course-filters__actions {
	display: flex;
	gap: 0.5rem;
}

.cd-course-catalog > .cd-grid {
	width: 100%;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	justify-content: stretch;
	margin-top: 0;
}

.cd-course-catalog > .cd-grid > .cd-course-card {
	width: 100%;
	max-width: 24rem;
	justify-self: center;
}

.cd-course-pagination .page-numbers {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin: 2.5rem 0 0;
	padding: 0;
	list-style: none;
}

.cd-course-pagination a,
.cd-course-pagination span {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 0.7rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: 6px;
	color: var(--cd-ink);
	text-decoration: none;
}

.cd-course-pagination .current {
	background: var(--cd-blue);
	border-color: var(--cd-blue);
	color: #fff;
}

/* Pathways */

.cd-pathways-section {
	background: var(--cd-mint);
}

.cd-pathways-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
	gap: 5rem;
	align-items: center;
}

.cd-pathways-copy h2 {
	margin: 0;
	font-size: 3.65rem;
	line-height: 0.98;
}

.cd-pathways-copy > p:not(.cd-section-kicker) {
	max-width: 540px;
	margin: 1.4rem 0 2rem;
	color: #335f5b;
	font-size: 1.03rem;
	line-height: 1.7;
}

.cd-pathways-visual {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius: var(--cd-radius);
}

.cd-pathways-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cd-pathways-visual span {
	position: absolute;
	bottom: 0.8rem;
	left: 0.8rem;
	padding: 0.55rem 0.7rem;
	background: var(--cd-ink);
	border-radius: 5px;
	color: #fff;
	font-size: 0.73rem;
	font-weight: 700;
}

.cd-chip-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
	margin-bottom: 1.5rem;
}

.cd-chip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 60px;
	padding: 0.8rem 0.9rem;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(8, 127, 120, 0.2);
	border-radius: var(--cd-radius);
	color: var(--cd-ink) !important;
	font-size: 0.88rem;
	font-weight: 720;
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.cd-chip:hover {
	background: #fff;
	border-color: var(--cd-teal);
	transform: translateX(3px);
}

.cd-chip__count {
	color: var(--cd-teal);
	font-size: 0.68rem;
	font-weight: 700;
	white-space: nowrap;
}

/* Upcoming classes and events */

.cd-upcoming-section {
	background: var(--cd-ink);
}

.cd-upcoming-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.cd-upcoming-column {
	min-width: 0;
	padding: 1.2rem;
	background: #fff;
	border-radius: var(--cd-radius);
}

.cd-upcoming-column--person {
	background: #fff7f5;
}

.cd-upcoming-column__head {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 42px;
	gap: 0.8rem;
	align-items: center;
	margin-bottom: 0.8rem;
	padding: 0.3rem 0.2rem 1rem;
	border-bottom: 1px solid var(--cd-line);
}

.cd-upcoming-column__head > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	background: var(--cd-blue-soft);
	border-radius: 50%;
	color: var(--cd-blue);
	font-size: 0.72rem;
	font-weight: 800;
}

.cd-upcoming-column--person .cd-upcoming-column__head > span {
	background: #ffe2df;
	color: #c9473d;
}

.cd-upcoming-column__head p,
.cd-upcoming-column__head h3 {
	margin: 0;
}

.cd-upcoming-column__head p {
	color: var(--cd-copy);
	font-size: 0.68rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-upcoming-column__head h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 760;
}

.cd-upcoming-column__head > a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--cd-line);
	border-radius: 50%;
	color: var(--cd-ink);
	text-decoration: none;
}

.cd-event-list {
	display: grid;
	gap: 0.65rem;
}

.cd-event-card {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	min-width: 0;
	padding: 0.85rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cd-event-card:hover {
	border-color: var(--cd-line-strong);
	box-shadow: var(--cd-shadow-sm);
	transform: translateY(-2px);
}

.cd-event-card__date {
	display: grid;
	place-items: center;
	align-self: stretch;
	min-height: 68px;
	padding: 0.45rem;
	background: var(--cd-blue-soft);
	border-radius: 6px;
	color: var(--cd-blue);
	text-align: center;
}

.cd-event-card__date strong,
.cd-event-card__date span {
	display: block;
}

.cd-event-card__date strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.55rem;
	line-height: 1;
}

.cd-event-card__date span {
	font-size: 0.64rem;
	font-weight: 800;
	text-transform: uppercase;
}

.cd-event-card__body {
	min-width: 0;
}

.cd-event-card__title {
	display: block;
	color: var(--cd-ink) !important;
	font-size: 0.92rem;
	font-weight: 760;
	line-height: 1.3;
	text-decoration: none !important;
}

.cd-event-card__time,
.cd-event-card__excerpt {
	margin: 0.28rem 0 0;
	color: var(--cd-copy);
	font-size: 0.72rem;
	line-height: 1.45;
}

.cd-event-card__teacher {
	position: relative;
	z-index: 3;
	margin-top: 0.4rem;
	font-size: 0.74rem;
}

.cd-event-card__teacher .cd-teacher-chip-photo {
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	border-width: 1px;
}

.cd-dashboard-course-teacher,
.cd-dashboard-booking-teacher {
	margin-top: 0.45rem;
}

.cd-event-card__excerpt {
	display: none;
}

.cd-event-card__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.4rem;
}

.cd-event-card__link {
	position: relative;
	z-index: 3;
	color: var(--cd-blue) !important;
	font-size: 0.72rem;
	font-weight: 760;
	white-space: nowrap;
	text-decoration: none !important;
}

.cd-badge {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0.3rem 0.55rem;
	background: var(--cd-blue-soft);
	border: 0;
	border-radius: 999px;
	color: var(--cd-blue);
	font-size: 0.65rem;
	font-weight: 780;
	line-height: 1;
}

.cd-badge--neutral {
	background: #edf2f4;
	color: #475667;
}

/* How it works */

.cd-how-section {
	background: #fff;
}

.cd-how-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
	gap: 5rem;
	align-items: center;
}

.cd-how-visual {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: var(--cd-radius);
}

.cd-how-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cd-how-visual > div {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	padding: 1.05rem 1.1rem;
	background: rgba(11, 18, 32, 0.88);
	border-radius: 6px;
	color: #fff;
	backdrop-filter: blur(8px);
}

.cd-how-visual strong,
.cd-how-visual span {
	display: block;
}

.cd-how-visual strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.55rem;
}

.cd-how-visual span {
	margin-top: 0.1rem;
	color: #c7d2dc;
	font-size: 0.78rem;
}

.cd-how-copy h2 {
	margin: 0 0 clamp(1.6rem, 2.4vw, 2.2rem);
	font-size: 3.5rem;
	line-height: 0.98;
}

.cd-steps {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.75rem;
	margin: 0 0 1.25rem;
}

.cd-step {
	position: relative;
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 1rem;
	min-width: 0;
	padding: 1.15rem 1.25rem;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-step:last-child {
	border-bottom: 1px solid var(--cd-line);
}

.cd-step::before {
	top: -0.8rem;
	right: 0.65rem;
	font-size: 5.25rem;
	color: #edf2ff;
}

.cd-step > span {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	background: var(--cd-blue-soft);
	border-radius: 50%;
	color: var(--cd-blue);
	font-size: 0.68rem;
	font-weight: 800;
}

.cd-step > div {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.cd-step h3,
.cd-step p {
	margin: 0;
}

.cd-step h3 {
	font-family: var(--wp--preset--font-family--body);
	max-width: none;
	font-size: 1.05rem;
	font-weight: 780;
	line-height: 1.25;
}

.cd-step p {
	margin-top: 0.45rem;
	color: var(--cd-copy);
	font-size: 0.9rem;
	line-height: 1.6;
}

/* Teachers */

.cd-tutors-section {
	background: #eef2ff;
}

.cd-featured-teachers {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cd-tutor-carousel {
	min-width: 0;
}

.cd-tutor-carousel__controls {
	justify-content: flex-end;
	margin-bottom: 1rem;
}

.cd-tutor-carousel .cd-featured-teacher-card {
	flex: 0 0 calc((100% - 2rem) / 3);
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.cd-featured-teacher-card {
	position: relative;
	overflow: hidden;
	min-height: 450px;
	background: var(--cd-ink);
	border: 0;
}

.cd-featured-teacher-card .cd-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	height: 100%;
	padding: 0;
}

.cd-tutor-card__photo {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	border: 0;
	border-radius: 0 !important;
	aspect-ratio: auto !important;
	object-fit: cover;
	filter: saturate(0.86) contrast(1.02);
	transition: transform 500ms ease, filter 300ms ease;
}

.cd-featured-teacher-card:hover .cd-tutor-card__photo {
	filter: saturate(1) contrast(1.02);
	transform: scale(1.035);
}

.cd-featured-teacher-card .cd-card__body::after {
	position: absolute;
	inset: 28% 0 0;
	background: linear-gradient(180deg, transparent, rgba(5, 11, 22, 0.94));
	content: "";
}

.cd-featured-teacher-card h3,
.cd-featured-teacher-card .cd-badge,
.cd-featured-teacher-card p,
.cd-featured-teacher-card .cd-card__link {
	position: relative;
	z-index: 2;
	margin-inline: 1.25rem;
}

.cd-featured-teacher-card h3 {
	margin-top: auto;
	margin-bottom: 0.45rem;
	color: #fff;
	font-size: 1.7rem !important;
}

.cd-featured-teacher-card .cd-badge {
	order: -1;
	margin-top: 1rem;
	background: rgba(255, 255, 255, 0.9);
	color: var(--cd-ink);
}

.cd-featured-teacher-card p {
	margin-top: 0.75rem;
	margin-bottom: 1rem;
	color: #d4dde6 !important;
	font-size: 0.84rem;
	line-height: 1.55;
}

.cd-featured-teacher-card .cd-card__link {
	margin-bottom: 1.25rem;
	color: var(--cd-mint) !important;
	font-size: 0.82rem;
	font-weight: 760;
}

.cd-teacher-profile {
	display: grid;
	gap: 1.5rem;
}

.cd-teacher-hero {
	display: grid;
	grid-template-areas: "media content stats";
	grid-template-columns: 220px minmax(300px, 1fr) minmax(330px, 360px);
	gap: clamp(2rem, 3vw, 3.25rem);
	align-items: center;
	position: relative;
	overflow: hidden;
	min-height: 400px;
	padding: clamp(2.5rem, 4vw, 3.75rem);
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-teacher-hero::after {
	position: absolute;
	top: 50%;
	right: -155px;
	width: 560px;
	height: 560px;
	background: var(--cd-blue-soft);
	border-radius: 50%;
	content: "";
	pointer-events: none;
	transform: translateY(-50%);
}

.cd-teacher-hero__media {
	display: grid;
	grid-area: media;
	width: 220px;
	height: 220px;
	padding: 0.45rem;
	position: relative;
	z-index: 1;
	place-items: center;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: 50%;
	box-shadow: 0 18px 45px rgba(11, 18, 32, 0.14);
}

.cd-teacher-avatar {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	object-fit: cover;
	object-position: 50% 32%;
}

.cd-teacher-hero__content {
	grid-area: content;
	min-width: 0;
	position: relative;
	z-index: 1;
}

.cd-teacher-hero__content h1 {
	margin: 0 0 0.8rem;
	max-width: 8em;
	font-size: clamp(3.25rem, 4vw, 4.2rem);
	line-height: 0.95;
	overflow-wrap: normal;
	word-break: normal;
}

.cd-teacher-bio {
	max-width: 670px;
	color: var(--cd-copy);
	font-size: 1rem;
	line-height: 1.65;
}

.cd-teacher-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.25rem;
}

.cd-teacher-stats {
	display: grid;
	grid-area: stats;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.7rem;
	position: relative;
	z-index: 1;
	width: 100%;
}

.cd-teacher-stats > span {
	display: grid;
	place-items: center;
	min-height: 124px;
	padding: 0.75rem;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: 0 10px 28px rgba(11, 18, 32, 0.07);
	text-align: center;
}

.cd-teacher-stats strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.3rem;
	line-height: 1;
}

.cd-teacher-stats em {
	color: var(--cd-copy);
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 720;
}

.cd-teacher-section {
	padding: 2.5rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-teacher-section__head {
	margin-bottom: 2rem;
}

.cd-teacher-offering-group + .cd-teacher-offering-group {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--cd-line);
}

/* Resource library */

.cd-resources-preview-section {
	background: #f4f7f8;
}

.cd-resource-carousel {
	position: relative;
	min-width: 0;
}

.cd-resource-carousel__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 1.1rem;
}

.cd-resource-carousel__head strong,
.cd-resource-carousel__head span {
	display: block;
}

.cd-resource-carousel__head strong {
	font-size: 1.05rem;
	font-weight: 780;
}

.cd-resource-carousel__head span {
	margin-top: 0.15rem;
	color: var(--cd-copy);
	font-size: 0.8rem;
}

.cd-resource-carousel__controls {
	display: flex;
	gap: 0.5rem;
}

.cd-resource-carousel__controls button {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid var(--cd-line-strong);
	border-radius: 50%;
	color: var(--cd-ink);
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cd-resource-carousel__controls button:hover:not(:disabled) {
	background: var(--cd-ink);
	border-color: var(--cd-ink);
	color: #fff;
	transform: translateY(-2px);
}

.cd-resource-carousel__controls button:focus-visible {
	outline: 3px solid rgba(36, 85, 245, 0.22);
	outline-offset: 2px;
}

.cd-resource-carousel__controls button:disabled {
	opacity: 0.35;
	cursor: default;
}

.cd-resource-carousel__controls svg {
	width: 20px;
	height: 20px;
}

.cd-resource-carousel__track {
	display: flex;
	gap: 1rem;
	align-items: stretch;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 0.2rem 0.15rem 1.4rem;
	scroll-behavior: smooth;
	scroll-padding-inline: 0.15rem;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.cd-resource-carousel__track::-webkit-scrollbar {
	display: none;
}

.cd-resource-carousel__track:focus-visible {
	outline: 3px solid rgba(36, 85, 245, 0.18);
	outline-offset: 4px;
}

.cd-resource-carousel .cd-resource-card {
	flex: 0 0 clamp(300px, 29vw, 370px);
	height: auto;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.cd-resource-carousel .cd-resource-card__body {
	min-height: 14.5rem;
}

.cd-resource-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
}

.cd-resource-row {
	position: relative;
	padding: 1rem;
	background: var(--cd-base);
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.cd-resource-row:hover {
	background: #fff;
	border-color: var(--cd-blue);
	transform: translateY(-2px);
}

.cd-resource-row__icon {
	background: var(--cd-blue);
	color: #fff;
}

.cd-resource-library__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
}

.cd-resource-library__head::after {
	background-image: url("../images/dental-team-hero.jpg");
	background-position: center;
}

.cd-resource-library__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(82px, 1fr));
	gap: 0.5rem;
	position: relative;
	z-index: 2;
}

.cd-resource-library__stats > div {
	display: grid;
	place-items: center;
	min-height: 96px;
	padding: 0.65rem;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: var(--cd-radius);
	text-align: center;
	backdrop-filter: blur(8px);
}

.cd-resource-library__stats strong {
	color: var(--cd-ink);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2rem;
	line-height: 1;
}

.cd-resource-library__stats span {
	color: var(--cd-copy);
	font-size: 0.62rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.15rem;
}

.cd-resource-card {
	position: relative;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.cd-resource-card:hover {
	border-color: var(--cd-line-strong);
	box-shadow: var(--cd-shadow-lg);
	transform: translateY(-4px);
}

.cd-resource-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--cd-blue-soft);
}

.cd-resource-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.cd-resource-card:hover .cd-resource-card__media img {
	transform: scale(1.045);
}

.cd-resource-card__media > span {
	position: absolute;
	bottom: 0.7rem;
	left: 0.7rem;
	padding: 0.36rem 0.55rem;
	background: rgba(11, 18, 32, 0.86);
	border-radius: 4px;
	color: #fff;
	font-size: 0.64rem;
	font-weight: 760;
	text-transform: uppercase;
	backdrop-filter: blur(7px);
}

.cd-resource-card__body {
	padding: 1.1rem;
}

.cd-resource-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.cd-resource-card h3 {
	margin: 0.9rem 0 0.55rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.02rem;
	font-weight: 760;
	line-height: 1.3;
}

.cd-resource-card__body > p {
	margin: 0;
	color: var(--cd-copy);
	font-size: 0.82rem;
	line-height: 1.55;
}

.cd-resource-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1rem;
	padding-top: 0.8rem;
	border-top: 1px solid var(--cd-line);
}

.cd-resource-card__foot small {
	overflow: hidden;
	color: var(--cd-copy);
	font-size: 0.68rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cd-card__link {
	position: relative;
	z-index: 3;
	color: var(--cd-blue) !important;
	font-size: 0.78rem;
	font-weight: 760;
	text-decoration: none !important;
}

.cd-resource-gate {
	max-width: 720px;
	margin: 2rem auto 0;
	padding: 2.4rem;
	text-align: center;
}

/* Testimonials and community */

.cd-testimonials-section {
	background: #fff6ed;
}

.cd-testimonials-section .cd-grid {
	align-items: stretch;
}

.cd-quote {
	position: relative;
	padding: 1.6rem;
	background: rgba(255, 255, 255, 0.8);
	border-color: #ead9cb;
}

.cd-quote::before {
	display: block;
	margin-bottom: 1rem;
	color: var(--cd-coral);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 3.2rem;
	line-height: 0.5;
	content: "\201C";
}

.cd-quote p {
	font-size: 0.98rem;
	line-height: 1.65;
}

.cd-community-section {
	background: var(--cd-sun);
}

.cd-community-banner {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
	margin-bottom: 2rem;
}

.cd-community-banner__mark {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	width: 100px;
	height: 100px;
	padding: 1.4rem;
	background: var(--cd-ink);
	border-radius: 50%;
}

.cd-community-banner__mark span {
	width: 10px;
	background: var(--cd-mint);
	border-radius: 8px;
}

.cd-community-banner__mark span:nth-child(1) { height: 30px; }
.cd-community-banner__mark span:nth-child(2) { height: 50px; }
.cd-community-banner__mark span:nth-child(3) { height: 40px; }

.cd-community-banner h2,
.cd-community-banner p {
	margin: 0;
}

.cd-community-banner h2 {
	font-size: 3.35rem;
	line-height: 0.98;
}

.cd-community-banner > div:nth-child(2) > p:last-child {
	max-width: 670px;
	margin-top: 1rem;
	color: #5c4b15;
}

.cd-community-section .cd-whatsapp-card {
	background: rgba(255, 255, 255, 0.76);
	border-color: rgba(92, 75, 21, 0.18);
}

/* Final image CTA */

.cd-final-cta {
	background: #fff;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.cd-final-cta__scene {
	position: relative;
	overflow: hidden;
	min-height: 500px;
	border-radius: var(--cd-radius);
	isolation: isolate;
}

.cd-final-cta__scene > img,
.cd-final-cta__scene > div {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cd-final-cta__scene > img {
	z-index: -2;
	object-fit: cover;
	object-position: center;
}

.cd-final-cta__scene > div {
	z-index: -1;
	background: linear-gradient(90deg, rgba(5, 12, 25, 0.94), rgba(5, 12, 25, 0.64) 58%, rgba(5, 12, 25, 0.1));
}

.cd-final-cta__scene section {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: min(720px, 67%);
	min-height: 500px;
	padding: 3.5rem 4rem;
	color: #fff;
}

.cd-final-cta__scene h2 {
	margin: 0;
	color: #fff;
	font-size: 4rem;
	line-height: 0.94;
}

.cd-final-cta__scene h2 em {
	color: var(--cd-mint);
}

.cd-final-cta__scene section > p:not(.cd-section-kicker) {
	max-width: 560px;
	margin: 1.3rem 0 1.6rem;
	color: #dce4ed;
	font-size: 1rem;
	line-height: 1.65;
}

.cd-final-cta__scene section > div {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}

/* Event and live-class details */

.cd-event-detail__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: 3rem;
	align-items: end;
	position: relative;
	overflow: hidden;
	min-height: 500px;
	padding: 3.2rem;
	background: var(--cd-ink) url("../images/dental-clinic-training.jpg") center / cover no-repeat;
	border-radius: var(--cd-radius);
	isolation: isolate;
}

.cd-live-class-detail .cd-event-detail__hero {
	background-image: url("../images/dental-model-teaching.jpg");
}

.cd-event-detail__hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(5, 12, 25, 0.94), rgba(5, 12, 25, 0.66) 60%, rgba(5, 12, 25, 0.32));
	content: "";
}

.cd-event-detail__copy {
	max-width: 780px;
	padding-bottom: 0.8rem;
	color: #fff;
}

.cd-event-detail__copy h1 {
	max-width: 850px;
	margin: 0;
	color: #fff;
	font-size: 4rem;
	line-height: 0.95;
	text-wrap: balance;
}

.cd-event-detail__copy > p:last-child {
	max-width: 660px;
	margin: 1.2rem 0 0;
	color: #dce5ed;
	font-size: 1rem;
	line-height: 1.65;
}

.cd-event-booking-card {
	padding: 1.25rem;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow-lg);
	backdrop-filter: blur(12px);
}

.cd-event-booking-card__top {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid var(--cd-line);
}

.cd-event-booking-card__top span {
	color: var(--cd-copy);
	font-size: 0.68rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-event-booking-card__top strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.45rem;
}

.cd-event-booking-card .cd-btn {
	width: 100%;
}

.cd-event-booking-card > p {
	color: var(--cd-copy);
	font-size: 0.78rem;
	line-height: 1.5;
}

.cd-event-booking-card > .cd-event-booking-card__audience {
	padding: 0.75rem;
	background: var(--cd-blue-soft);
	border-radius: 5px;
	color: var(--cd-ink);
}

.cd-event-booking-card__audience strong,
.cd-event-booking-card__policy strong {
	font-family: inherit;
	font-size: inherit;
}

.cd-event-booking-card__policy,
.cd-event-booking-card__notice {
	padding: 0.75rem;
	background: rgba(255, 255, 255, 0.74);
	border: 1px solid var(--cd-line);
	border-radius: 5px;
	color: var(--cd-ink);
}

.cd-event-eligibility {
	display: grid;
	gap: 0.75rem;
}

.cd-event-eligibility label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.55rem;
	align-items: start;
	color: var(--cd-copy);
	font-size: 0.78rem;
	line-height: 1.45;
}

.cd-event-eligibility input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	margin-top: 0.1rem;
}

.cd-event-eligibility label span {
	color: inherit;
	font-size: inherit;
	font-weight: 650;
	letter-spacing: 0;
	text-transform: none;
}

.cd-event-booking-card__secondary {
	display: block;
	color: var(--cd-blue) !important;
	font-size: 0.78rem;
	font-weight: 760;
	text-align: center;
	text-decoration: none !important;
}

.cd-live-signup-form {
	display: grid;
	gap: 0.7rem;
}

.cd-live-payment-options,
.cd-live-payment-confirmed {
	display: grid;
	gap: 0.7rem;
}

.cd-live-payment-options .cd-btn,
.cd-live-payment-confirmed .cd-btn {
	min-height: 46px;
	padding-inline: 0.9rem;
	line-height: 1.35;
	white-space: normal;
}

.cd-live-payment-options__note {
	margin: 0;
	color: var(--cd-copy);
	font-size: 0.75rem;
	line-height: 1.5;
}

.cd-live-payment-confirmed .cd-notice {
	margin: 0;
}

.cd-event-detail__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 2rem;
	align-items: start;
	padding: 3rem 0;
}

.cd-event-detail__main {
	padding: 2rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-event-detail__main > h2 {
	margin-top: 0;
	font-size: 2.35rem;
}

.cd-prose {
	color: #344256;
	line-height: 1.75;
}

.cd-prose h2,
.cd-prose h3 {
	margin-top: 1.8em;
}

.cd-prose img,
.cd-prose iframe,
.cd-prose video {
	max-width: 100%;
	border-radius: var(--cd-radius);
}

.cd-event-detail__meta {
	display: grid;
	gap: 0;
	padding: 1.2rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-event-detail__meta > div {
	padding: 1rem 0.2rem;
	border-bottom: 1px solid var(--cd-line);
}

.cd-event-detail__meta > div span,
.cd-event-detail__meta > div strong {
	display: block;
}

.cd-event-detail__meta > div span {
	margin-bottom: 0.3rem;
	color: var(--cd-copy);
	font-size: 0.68rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-event-detail__meta > div strong {
	font-size: 0.98rem;
}

.cd-course-overview-teacher-card {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 0.8rem;
	align-items: center;
	margin-top: 1rem;
	padding: 0.8rem;
	background: var(--cd-blue-soft);
	border: 0;
	border-radius: var(--cd-radius);
	color: var(--cd-ink) !important;
	text-decoration: none !important;
}

.cd-course-overview-teacher-card img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
}

.cd-teacher-card-copy,
.cd-teacher-card-copy em,
.cd-teacher-card-copy strong {
	display: block;
	min-width: 0;
}

.cd-teacher-card-copy em {
	color: var(--cd-blue);
	font-size: 0.64rem;
	font-style: normal;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-teacher-card-copy strong {
	margin-top: 0.15rem;
	font-size: 0.9rem;
	line-height: 1.25;
}

/* Course overview and Tutor LMS */

.single-courses .tutor-course-details-page,
.single-courses .tutor-wrap {
	color: var(--cd-ink);
	font-family: var(--wp--preset--font-family--body);
}

.single-courses .tutor-course-details-page {
	padding-top: 2rem;
	padding-bottom: 4rem;
}

.single-courses .tutor-course-details-title,
.single-courses h1.tutor-course-details-title {
	max-width: 920px;
	font-family: var(--wp--preset--font-family--heading) !important;
	font-size: 3.8rem !important;
	font-weight: 560 !important;
	line-height: 0.98 !important;
}

.single-courses .tutor-course-thumbnail,
.single-courses .tutor-course-thumbnail img,
.single-courses .tutor-card,
.single-courses .tutor-course-details-widget,
.single-courses .tutor-course-details-tab,
.single-courses .tutor-accordion-item {
	border-radius: var(--cd-radius) !important;
}

.single-courses .tutor-card,
.single-courses .tutor-course-details-widget,
.single-courses .tutor-accordion-item {
	border-color: var(--cd-line) !important;
	box-shadow: none !important;
}

.single-courses .tutor-btn,
.tutor-dashboard .tutor-btn {
	border-radius: var(--cd-radius) !important;
	font-weight: 760 !important;
}

.single-courses .tutor-btn-primary,
.tutor-dashboard .tutor-btn-primary {
	background: var(--cd-blue) !important;
	border-color: var(--cd-blue) !important;
}

.cd-course-overview-category-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.2rem;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-course-overview-share-actions {
	display: flex;
	gap: 0.5rem;
}

.cd-course-share-button,
.cd-favourite-course-button {
	min-height: 40px;
	padding: 0.6rem 0.75rem;
	background: var(--cd-base) !important;
	border: 1px solid var(--cd-line) !important;
	border-radius: 6px !important;
	color: var(--cd-ink) !important;
	box-shadow: none !important;
}

.cd-course-overview-teacher {
	display: grid;
	grid-template-columns: 44px auto;
	grid-template-rows: auto auto;
	gap: 0 0.7rem;
	align-items: center;
	color: var(--cd-ink) !important;
	text-decoration: none !important;
}

.cd-course-overview-teacher img,
.cd-course-overview-teacher > span:first-child {
	grid-row: 1 / 3;
}

.cd-course-overview-teacher em {
	color: var(--cd-copy);
	font-size: 0.65rem;
	font-style: normal;
	font-weight: 760;
	text-transform: uppercase;
}

/* Login, forms and generic pages */

.cd-login-page main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
	align-items: stretch;
	width: var(--cd-full-width);
	max-width: none !important;
	min-height: 650px;
	margin: 1rem auto 4rem;
	overflow: hidden;
	background: var(--cd-ink);
	border-radius: var(--cd-radius);
}

.cd-login-page main::before {
	grid-column: 1;
	grid-row: 1;
	background: linear-gradient(180deg, rgba(11, 18, 32, 0.06), rgba(11, 18, 32, 0.58)), url("../images/dental-model-teaching.jpg") center / cover no-repeat;
	content: "";
}

.cd-login-page main > .wp-block-post-title {
	display: none;
}

.cd-login-page main > .wp-block-post-content {
	display: flex;
	align-items: center;
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	padding: 3rem;
	background: #fff;
}

.cd-login-page .cd-otp-card {
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.cd-otp-card::before {
	display: inline-flex;
	margin-bottom: 1.2rem;
	padding: 0.35rem 0.55rem;
	background: var(--cd-blue-soft);
	border-radius: 999px;
	color: var(--cd-blue);
	font-size: 0.68rem;
	font-weight: 780;
	text-transform: uppercase;
	content: "Welcome to ConnectEd";
}

.cd-otp-title {
	margin: 0 0 0.7rem;
	font-size: 2.5rem;
	line-height: 1;
}

.cd-otp-card form {
	display: grid;
	gap: 0.75rem;
	margin-top: 1.4rem;
}

.cd-otp-submit {
	width: 100%;
	margin-top: 0.25rem;
	background: var(--cd-blue) !important;
}

.cd-otp-teacher-apply {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--cd-line);
}

.cd-form,
.cd-studio-form,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register {
	border-radius: var(--cd-radius) !important;
}

.cd-studio-apply,
.cd-interest-shell {
	max-width: none;
}

.cd-contact-interest {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	margin-top: 2.5rem;
	padding: 2rem 0 0;
	border-top: 1px solid var(--cd-line);
}

.cd-contact-interest h2,
.cd-contact-interest p {
	margin: 0;
}

.cd-contact-interest h2 {
	font-size: 2rem;
}

.cd-contact-interest p:not(.cd-section-kicker) {
	max-width: 720px;
	margin-top: 0.55rem;
	color: var(--cd-copy);
	line-height: 1.65;
}

.cd-contact-interest .cd-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex: 0 0 auto;
}

.cd-studio-hero,
.cd-interest-hero,
.cd-dashboard-hero,
.cd-studio-topline {
	padding: 2.25rem;
	background: var(--cd-ink);
	border-radius: var(--cd-radius);
	color: #fff;
}

.cd-studio-hero h1,
.cd-studio-hero h2,
.cd-interest-hero h1,
.cd-dashboard-hero h1,
.cd-studio-topline h1,
.cd-studio-topline h2 {
	margin: 0;
	color: #fff;
	font-size: 3rem;
	line-height: 0.98;
}

.cd-studio-hero .cd-muted,
.cd-interest-hero .cd-muted,
.cd-dashboard-hero .cd-muted,
.cd-studio-topline .cd-muted {
	color: #c7d2dc !important;
}

.page main > .wp-block-post-title,
.search main > h1,
.error404 main h1 {
	width: var(--cd-full-width);
	max-width: none !important;
	margin: 3rem auto 1.5rem;
	font-size: 3.7rem;
	line-height: 1;
}

.page main > .wp-block-post-content,
.single-post main > .wp-block-post-content {
	width: var(--cd-full-width);
	max-width: none !important;
	margin-inline: auto;
	padding-bottom: 5rem;
}

.page main > .wp-block-post-content > :where(p, ul, ol) {
	color: #344256;
	line-height: 1.75;
}

.page main > .wp-block-post-content h2 {
	margin-top: 2em;
	font-size: 2.25rem;
}

/* Page system */

.page .cd-page-shell {
	--cd-page-hero-image: url("../images/dental-team-hero.jpg");
	max-width: none;
	padding: 2rem var(--cd-page-gutter) 5rem !important;
}

.cd-page-title {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	max-width: none !important;
	min-height: 310px;
	margin: 0 auto 3rem;
	overflow: hidden;
	padding: 3.2rem;
	background: var(--cd-ink);
	border-radius: var(--cd-radius);
	color: #fff;
	isolation: isolate;
}

.cd-page-title::before,
.cd-page-title::after {
	position: absolute;
	inset: 0;
	content: "";
}

.cd-page-title::before {
	z-index: -2;
	background: var(--cd-page-hero-image) center 42% / cover no-repeat;
	transform: scale(1.01);
}

.cd-page-title::after {
	z-index: -1;
	background: linear-gradient(90deg, rgba(5, 11, 22, 0.96) 0%, rgba(5, 11, 22, 0.76) 48%, rgba(5, 11, 22, 0.14) 100%);
}

.cd-page-title__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1rem !important;
	color: var(--cd-mint) !important;
	font-size: 0.73rem;
	font-weight: 790;
	text-transform: uppercase;
}

.cd-page-title__eyebrow::before {
	width: 36px;
	height: 2px;
	background: var(--cd-mint);
	content: "";
}

.cd-page-title .wp-block-post-title {
	max-width: 780px;
	margin: 0 !important;
	color: #fff;
	font-size: 4.2rem;
	line-height: 0.95;
	text-wrap: balance;
}

.page .cd-page-shell > .wp-block-post-content {
	width: 100%;
	max-width: none !important;
	margin-inline: auto;
	padding-bottom: 0;
}

.page .cd-page-shell > .wp-block-post-content > :first-child {
	margin-top: 0;
}

.page .cd-page-shell > .wp-block-post-content > h2:first-child {
	font-size: 2.7rem;
	line-height: 1.04;
	text-wrap: balance;
}

.cd-page-about .cd-page-shell,
.cd-page-tutors .cd-page-shell,
.cd-page-in-person-courses .cd-page-shell,
.cd-page-live-classes .cd-page-shell,
.cd-page-programmes-overview .cd-page-shell {
	--cd-page-hero-image: url("../images/dental-clinic-training.jpg");
}

.cd-page-tutors .cd-page-shell > .wp-block-post-content,
.cd-page-in-person-courses .cd-page-shell > .wp-block-post-content,
.cd-page-live-classes .cd-page-shell > .wp-block-post-content,
.cd-page-testimonials .cd-page-shell > .wp-block-post-content,
.cd-page-whatsapp-communities .cd-page-shell > .wp-block-post-content,
.cd-page-register .cd-page-shell > .wp-block-post-content {
	width: 100%;
	max-width: none !important;
}

.cd-page-about .cd-page-shell > .wp-block-post-content,
.cd-page-contact .cd-page-shell > .wp-block-post-content,
.cd-page-programmes-overview .cd-page-shell > .wp-block-post-content {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
	gap: 0 3rem;
	align-items: center;
	width: 100%;
	max-width: none !important;
	min-height: 430px;
	overflow: hidden;
	padding: 2.5rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow-sm);
}

.cd-page-about .cd-page-shell > .wp-block-post-content::after,
.cd-page-contact .cd-page-shell > .wp-block-post-content::after,
.cd-page-programmes-overview .cd-page-shell > .wp-block-post-content::after {
	grid-column: 2;
	grid-row: 1 / span 12;
	align-self: stretch;
	min-height: 360px;
	background: linear-gradient(rgba(11, 18, 32, 0.08), rgba(11, 18, 32, 0.12)), url("../images/dental-model-teaching.jpg") center / cover no-repeat;
	border-radius: var(--cd-radius);
	content: "";
}

.cd-page-contact .cd-page-shell > .wp-block-post-content::after {
	background-image: linear-gradient(rgba(11, 18, 32, 0.08), rgba(11, 18, 32, 0.2)), url("../images/dental-team-hero.jpg");
}

.cd-page-about .cd-page-shell > .wp-block-post-content > *,
.cd-page-contact .cd-page-shell > .wp-block-post-content > *,
.cd-page-programmes-overview .cd-page-shell > .wp-block-post-content > * {
	grid-column: 1;
}

.cd-page-faqs .cd-page-shell > .wp-block-post-content,
.cd-page-news .cd-page-shell > .wp-block-post-content {
	padding: 2.5rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-left: 5px solid var(--cd-blue);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow-sm);
}

.cd-page-tutors .cd-featured-teachers {
	max-width: none !important;
	margin-top: 2.2rem;
}

.cd-page-tutors .cd-featured-teacher-card {
	min-height: 520px;
}

.cd-page-in-person-courses .wp-block-post-content > .cd-event-list,
.cd-page-live-classes .wp-block-post-content > .cd-event-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	max-width: none !important;
	margin-top: 2.2rem;
}

.cd-page-testimonials .wp-block-post-content > .cd-grid,
.cd-page-whatsapp-communities .wp-block-post-content > .cd-grid,
.cd-page-register .wp-block-post-content > .wp-block-columns {
	max-width: none !important;
}

.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card,
.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	grid-template-rows: 190px auto auto;
	gap: 0;
	align-items: start;
	overflow: hidden;
	padding: 0;
}

.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card::before,
.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card::before {
	grid-column: 1 / -1;
	grid-row: 1;
	width: 100%;
	height: 190px;
	background: linear-gradient(180deg, rgba(11, 18, 32, 0.06), rgba(11, 18, 32, 0.36)), url("../images/dental-clinic-training.jpg") center / cover no-repeat;
	content: "";
}

.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card::before,
.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card:nth-child(2n)::before {
	background-image: linear-gradient(180deg, rgba(11, 18, 32, 0.05), rgba(11, 18, 32, 0.36)), url("../images/dental-team-hero.jpg");
}

.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__date,
.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__date {
	grid-column: 1;
	grid-row: 2;
	margin: 1.2rem 0 0 1.2rem;
}

.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__body,
.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__body {
	grid-column: 2;
	grid-row: 2;
	padding: 1.25rem 1.2rem 0.8rem;
}

.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__meta,
.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__meta {
	grid-column: 1 / -1;
	grid-row: 3;
	justify-content: flex-end;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	padding: 0 1.2rem 1.2rem;
}

.cd-page-privacy-policy .cd-page-title,
.cd-page-cookie-policy .cd-page-title,
.cd-page-terms-and-conditions .cd-page-title,
.cd-page-course-terms .cd-page-title,
.cd-page-event-cancellation-refund-policy .cd-page-title,
.cd-page-accessibility-statement .cd-page-title {
	min-height: 230px;
}

.cd-page-privacy-policy .cd-page-title .wp-block-post-title,
.cd-page-cookie-policy .cd-page-title .wp-block-post-title,
.cd-page-terms-and-conditions .cd-page-title .wp-block-post-title,
.cd-page-course-terms .cd-page-title .wp-block-post-title,
.cd-page-event-cancellation-refund-policy .cd-page-title .wp-block-post-title,
.cd-page-accessibility-statement .cd-page-title .wp-block-post-title {
	font-size: 3.2rem;
}

.cd-login-page .cd-page-shell {
	padding: 0 !important;
}

.cd-login-page .cd-page-title {
	display: none;
}

.wp-block-query .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.wp-block-query .wp-block-post {
	padding: 1.2rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

/* Learner dashboard and teacher Studio */

.cd-learner-dashboard,
.cd-studio-shell {
	display: grid;
	gap: 1.25rem;
}

.cd-dashboard-hero,
.cd-studio-topline {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
}

.cd-dashboard-stats,
.cd-studio-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.8rem;
}

.cd-dashboard-stat,
.cd-studio-stat {
	min-height: 135px;
	padding: 1.15rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: none;
}

.cd-dashboard-stat h2,
.cd-studio-stat h2 {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 720;
	color: var(--cd-copy);
}

.cd-dashboard-stat strong,
.cd-studio-stat strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.6rem;
	line-height: 1;
}

.cd-dashboard-course-row,
.cd-dashboard-booking-row,
.cd-studio-panel,
.cd-dashboard-tabs-panel {
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
	box-shadow: none;
}

.cd-account-form__layout--student {
	grid-template-columns: minmax(0, 48rem);
}

.cd-account-form--student .cd-account-form__fields {
	width: 100%;
	max-width: 48rem;
}

.cd-account-purchases {
	display: grid;
	gap: 1rem;
	padding-top: 1rem;
}

.cd-account-section-head {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
	gap: 1.25rem;
	align-items: end;
}

.cd-account-section-head .cd-section-kicker,
.cd-account-danger-zone .cd-section-kicker {
	margin-bottom: 0.45rem;
}

.cd-account-section-head h2,
.cd-account-danger-zone h2 {
	margin: 0;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.cd-account-section-head > .cd-muted,
.cd-account-danger-zone > div > .cd-muted {
	max-width: 42rem;
	margin: 0;
	line-height: 1.65;
}

.cd-account-order-list {
	display: grid;
	gap: 0.75rem;
}

.cd-account-order {
	display: grid;
	gap: 1rem;
	padding: 1.15rem 1.25rem;
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-account-order__head,
.cd-account-order__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.cd-account-order__head > div {
	display: grid;
	gap: 0.2rem;
}

.cd-account-order__head strong {
	font-size: 0.95rem;
}

.cd-account-order__head span,
.cd-account-order__total span,
.cd-account-order__items small {
	color: var(--cd-copy);
	font-size: 0.76rem;
}

.cd-account-order__status {
	display: inline-flex;
	align-items: center;
	min-height: 1.8rem;
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
	background: #eef2f4;
	color: var(--cd-copy) !important;
	font-weight: 760;
}

.cd-account-order__status--processing,
.cd-account-order__status--completed {
	background: #e8f7ef;
	color: #176b4c !important;
}

.cd-account-order__status--cancelled,
.cd-account-order__status--failed,
.cd-account-order__status--refunded {
	background: #fff0ef;
	color: #9d261d !important;
}

.cd-account-order__items {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cd-account-order__items li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.cd-account-order__items a,
.cd-account-order__items span {
	color: var(--cd-ink);
	font-weight: 700;
	text-decoration: none;
}

.cd-account-order__items a:hover {
	color: var(--cd-blue);
	text-decoration: underline;
}

.cd-account-order__total {
	padding-top: 0.85rem;
	border-top: 1px solid var(--cd-line);
}

.cd-account-order__total strong {
	font-size: 1rem;
}

.cd-account-purchases__empty {
	background: #fff;
	border: 1px solid var(--cd-line);
	border-radius: var(--cd-radius);
}

.cd-account-danger-zone {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.52fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
	margin-top: 1rem;
	padding-top: 2rem;
	border-top: 1px solid #e9b9b5;
}

.cd-account-delete-form {
	display: grid;
	gap: 1rem;
	padding: 1rem;
	background: #fff8f7;
	border: 1px solid #e9b9b5;
	border-radius: var(--cd-radius);
}

.cd-account-delete-form > .cd-btn {
	width: 100%;
}

.cd-account-delete-dialog {
	width: min(32rem, calc(100vw - 2rem));
	max-width: 32rem;
	padding: 0;
	border: 1px solid #e9b9b5;
	border-radius: var(--cd-radius);
	background: #fff;
	color: var(--cd-ink);
	box-shadow: 0 24px 64px rgba(15, 23, 42, 0.24);
}

.cd-account-delete-dialog::backdrop {
	background: rgba(15, 23, 42, 0.56);
}

.cd-account-delete-dialog__body {
	display: grid;
	gap: 0.85rem;
	padding: clamp(1.25rem, 4vw, 2rem);
}

.cd-account-delete-dialog__body h3,
.cd-account-delete-dialog__body p {
	margin: 0;
}

.cd-account-delete-dialog__body h3 {
	font-size: 1.65rem;
}

.cd-account-delete-dialog__body > p:not(.cd-section-kicker) {
	color: var(--cd-copy);
	line-height: 1.6;
}

.cd-account-delete-dialog__actions {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 0.35rem;
}

.cd-dashboard-course-row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: 0.8rem;
}

.cd-dashboard-bookings,
.cd-dashboard-booking-list {
	display: grid;
	gap: 0.75rem;
}

.cd-dashboard-booking-row {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: 0.9rem 1rem;
}

.cd-dashboard-booking-date time {
	width: 64px;
	min-height: 68px;
	display: grid;
	place-content: center;
	text-align: center;
	border-radius: 6px;
	background: var(--cd-blue-soft);
	color: var(--cd-blue);
}

.cd-dashboard-live-row .cd-dashboard-booking-date time {
	background: #e8f7ef;
	color: #176b4c;
}

.cd-dashboard-booking-date strong,
.cd-dashboard-booking-date span {
	display: block;
}

.cd-dashboard-booking-date strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.8rem;
	line-height: 1;
}

.cd-dashboard-booking-date span {
	margin-top: 0.2rem;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
}

.cd-dashboard-booking-main h3 {
	margin: 0.4rem 0 0.3rem;
	font-size: 1rem;
}

.cd-dashboard-booking-main h3 a {
	color: var(--cd-ink);
	text-decoration: none;
}

.cd-dashboard-booking-main p,
.cd-dashboard-booking-main small {
	margin: 0;
	color: var(--cd-copy);
}

.cd-dashboard-booking-main small {
	display: block;
	margin-top: 0.3rem;
}

.cd-dashboard-course-thumb {
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border-radius: 6px;
}

.cd-dashboard-course-thumb img,
.cd-dashboard-course-thumb__fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cd-dashboard-section-head,
.cd-studio-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.cd-dashboard-tabs {
	display: flex;
	gap: 0.35rem;
	padding: 0.6rem;
	border-bottom: 1px solid var(--cd-line);
}

.cd-dashboard-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 0.8rem;
	border-radius: 6px;
	color: var(--cd-copy);
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
}

.cd-dashboard-tabs a.is-active {
	background: var(--cd-blue-soft);
	color: var(--cd-blue);
}

.cd-studio-panel {
	padding: 1.25rem;
}

.cd-studio-form {
	padding: 2rem;
	background: #fff;
	border: 1px solid var(--cd-line);
}

/* Platform Admin */

.cd-platform-admin-page {
	min-height: 100vh;
	min-height: 100dvh;
	margin: 0 !important;
	padding: 0 !important;
	background: #f3f6f8;
	overflow-x: hidden;
	overflow-y: auto;
}

.cd-platform-admin-page .wp-site-blocks,
.cd-platform-admin-page .cd-page-shell,
.cd-platform-admin-page .wp-block-post-content {
	width: 100%;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden;
	overflow-y: visible;
}

body.cd-platform-admin-page .wp-site-blocks > main.cd-page-shell.cd-page-shell {
	margin: 0 !important;
	padding: 0 !important;
}

.cd-platform-admin-page .wp-site-blocks > header,
.cd-platform-admin-page .wp-site-blocks > footer,
.cd-platform-admin-page .cd-page-title {
	display: none;
}

.cd-platform-admin-app {
	--cd-admin-sidebar: 246px;
	display: grid;
	grid-template-columns: var(--cd-admin-sidebar) minmax(0, 1fr);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 100vh;
	min-height: 100dvh;
	background: #f3f6f8;
	color: var(--cd-ink);
	overflow: visible;
	overflow-x: hidden;
}

.cd-platform-sidebar {
	position: fixed;
	inset: 0 auto 0 0;
	z-index: 30;
	display: flex;
	flex-direction: column;
	width: var(--cd-admin-sidebar);
	height: 100vh;
	height: 100dvh;
	padding: 1rem 0.85rem;
	background: #fbfcfd;
	border-right: 1px solid #dbe3e8;
	overflow-y: auto;
}

.cd-platform-brand {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 52px;
	padding: 0.45rem 0.55rem 1rem;
	border-bottom: 1px solid #e5ebee;
	color: var(--cd-ink);
	text-decoration: none;
}

.cd-platform-brand__mark {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 7px;
	background: var(--cd-blue);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
}

.cd-platform-brand > span:last-child,
.cd-platform-current-user span,
.cd-platform-person span {
	display: grid;
	min-width: 0;
}

.cd-platform-brand strong {
	font-size: 0.9rem;
	line-height: 1.2;
}

.cd-platform-brand small {
	margin-top: 0.15rem;
	color: var(--cd-copy);
	font-size: 0.68rem;
}

.cd-platform-nav {
	display: grid;
	gap: 0.18rem;
	padding: 0.9rem 0;
}

.cd-platform-nav a,
.cd-platform-sidebar__footer a {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 40px;
	padding: 0.55rem 0.7rem;
	border-radius: 6px;
	color: #526174;
	font-size: 0.79rem;
	font-weight: 650;
	text-decoration: none;
}

.cd-platform-nav a:hover,
.cd-platform-sidebar__footer a:hover {
	background: #eef3f6;
	color: var(--cd-ink);
}

.cd-platform-nav a.is-active {
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
}

.cd-platform-nav .dashicons,
.cd-platform-sidebar__footer .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
}

.cd-platform-sidebar__footer {
	display: grid;
	gap: 0.2rem;
	margin-top: auto;
	padding-top: 0.8rem;
	border-top: 1px solid #e5ebee;
}

.cd-platform-workspace {
	grid-column: 2;
	min-height: 100vh;
	min-height: 100dvh;
	min-width: 0;
	overflow-x: hidden;
	overflow-y: visible;
}

.cd-platform-workspace.is-loading .cd-platform-main {
	opacity: 0.25;
	pointer-events: none;
}

.cd-platform-loading {
	position: fixed;
	inset: 72px 0 0 var(--cd-admin-sidebar);
	z-index: 18;
	display: none;
	padding: 1.6rem;
	background: rgba(243, 246, 248, 0.96);
}

.cd-platform-loading[aria-hidden="false"] {
	display: block;
}

.cd-platform-loading__inner {
	display: grid;
	gap: 1rem;
	width: 100%;
	max-width: 1720px;
	margin: 0 auto;
}

.cd-platform-loading__line,
.cd-platform-loading__cards span,
.cd-platform-loading__panel {
	display: block;
	border-radius: 6px;
	background: linear-gradient(90deg, #e2e7ea 20%, #eef1f3 40%, #e2e7ea 60%);
	background-size: 220% 100%;
	animation: cd-platform-loading-pulse 1.2s ease-in-out infinite;
}

.cd-platform-loading__line.is-title {
	width: min(360px, 58%);
	height: 34px;
}

.cd-platform-loading__line.is-copy {
	width: min(540px, 76%);
	height: 15px;
}

.cd-platform-loading__cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 0.7rem;
}

.cd-platform-loading__cards span {
	height: 128px;
}

.cd-platform-loading__panel {
	height: 330px;
}

@keyframes cd-platform-loading-pulse {
	0% {
		background-position: 100% 0;
	}

	100% {
		background-position: -100% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cd-platform-loading__line,
	.cd-platform-loading__cards span,
	.cd-platform-loading__panel {
		animation: none;
	}
}

.cd-platform-topbar {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 72px;
	padding: 0.75rem 1.5rem;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid #dbe3e8;
	backdrop-filter: blur(12px);
}

.cd-platform-crumb {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.76rem;
}

.cd-platform-crumb span {
	color: var(--cd-copy);
}

.cd-platform-crumb span::after {
	margin-left: 0.45rem;
	color: #9ba8b5;
	content: "/";
}

.cd-platform-current-user,
.cd-platform-current-user > a:first-child {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.cd-platform-current-user > a:first-child {
	color: var(--cd-ink);
	text-decoration: none;
}

.cd-platform-current-user__avatar,
.cd-platform-current-user .cd-avatar--initials {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
	object-fit: cover;
	font-size: 0.72rem;
	font-weight: 800;
}

.cd-platform-current-user strong,
.cd-platform-current-user small {
	max-width: 230px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cd-platform-current-user strong {
	font-size: 0.75rem;
}

.cd-platform-current-user small {
	color: var(--cd-copy);
	font-size: 0.66rem;
}

.cd-platform-signout,
.cd-platform-icon-button {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	border: 1px solid var(--cd-line);
	border-radius: 6px;
	background: #fff;
	color: var(--cd-copy);
	text-decoration: none;
}

.cd-platform-signout:hover,
.cd-platform-icon-button:hover {
	border-color: var(--cd-blue);
	color: var(--cd-blue);
}

.cd-platform-signout .dashicons,
.cd-platform-icon-button .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
}

.cd-platform-main {
	display: grid;
	gap: 1rem;
	width: 100%;
	max-width: 1720px;
	margin: 0 auto;
	padding: 1.6rem;
	overflow: visible;
}

.cd-platform-main > * {
	margin-block: 0 !important;
}

.cd-platform-page-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	min-height: 72px;
}

.cd-platform-page-head h1 {
	margin: 0;
	font-size: 1.85rem;
	line-height: 1.15;
}

.cd-platform-page-head p {
	max-width: 720px;
	margin: 0.4rem 0 0;
	color: var(--cd-copy);
	font-size: 0.84rem;
}

.cd-platform-page-action {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
}

.cd-platform-page-action .dashicons {
	width: 17px;
	height: 17px;
	font-size: 17px;
}

.cd-platform-notice {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #abdcc9;
	border-radius: 6px;
	background: #edf9f4;
	color: #176b4c;
	font-size: 0.82rem;
	font-weight: 700;
}

.cd-platform-notice.is-error {
	border-color: #efb7b7;
	background: #fff1f1;
	color: #9d3030;
}

.cd-platform-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
}

.cd-platform-metric {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 128px;
	padding: 1rem;
	border: 1px solid var(--cd-line);
	border-radius: 7px;
	background: #fff;
}

.cd-platform-metric > div {
	display: grid;
	align-content: start;
	gap: 0.35rem;
	min-width: 0;
}

.cd-platform-metric > .dashicons {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border-radius: 6px;
	background: var(--cd-blue-soft);
	color: var(--cd-blue);
	font-size: 18px;
	line-height: 34px;
}

.cd-platform-metric span,
.cd-platform-metric small {
	color: var(--cd-copy);
	font-size: 0.7rem;
}

.cd-platform-metric span {
	font-weight: 750;
	text-transform: uppercase;
}

.cd-platform-metric strong {
	overflow-wrap: anywhere;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.8rem;
	line-height: 1;
}

.cd-platform-panel {
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--cd-line);
	border-radius: 7px;
	background: #fff;
}

.cd-platform-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.9rem;
}

.cd-platform-panel__head h2,
.cd-platform-panel__head h3 {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.95rem;
	font-weight: 780;
}

body.cd-platform-admin-page .cd-platform-panel__head h2,
body.cd-platform-admin-page .cd-platform-panel__head h3 {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.95rem !important;
	font-weight: 780;
}

.cd-platform-panel__head p {
	margin: 0.25rem 0 0;
	color: var(--cd-copy);
	font-size: 0.72rem;
}

.cd-platform-panel__head > a,
.cd-platform-head-actions > a:not(.cd-btn) {
	color: var(--cd-blue);
	font-size: 0.74rem;
	font-weight: 700;
	text-decoration: none;
}

.cd-platform-growth-head {
	align-items: flex-start;
}

.cd-platform-growth-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.cd-platform-range-picker {
	display: inline-flex;
	padding: 0.2rem;
	border: 1px solid #dbe3e8;
	border-radius: 6px;
	background: #f5f7f9;
}

.cd-platform-range-picker button {
	min-height: 30px;
	padding: 0.3rem 0.58rem;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #637184;
	cursor: pointer;
	font-size: 0.66rem;
	font-weight: 730;
}

.cd-platform-range-picker button[aria-pressed="true"] {
	background: #fff;
	box-shadow: 0 1px 4px rgba(17, 31, 50, 0.12);
	color: var(--cd-blue-dark);
}

.cd-platform-growth-summary {
	display: flex;
	gap: 1.5rem;
	padding: 0.15rem 0 0.55rem 3rem;
}

.cd-platform-growth-summary span {
	display: grid;
	gap: 0.1rem;
	color: var(--cd-copy);
	font-size: 0.63rem;
}

.cd-platform-growth-summary strong {
	color: var(--cd-ink);
	font-size: 1rem;
}

.cd-platform-growth-chart {
	width: 100%;
	overflow: hidden;
	border-top: 1px solid #edf1f3;
}

.cd-platform-growth-chart svg {
	display: block;
	width: 100%;
	height: auto;
	min-height: 230px;
}

.cd-platform-growth-grid {
	stroke: #e4e9ed;
	stroke-width: 1;
}

.cd-platform-growth-line {
	fill: none;
	stroke: var(--cd-blue);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 3;
}

.cd-platform-growth-point {
	fill: #fff;
	stroke: var(--cd-blue);
	stroke-width: 2;
}

.cd-platform-growth-x-label,
.cd-platform-growth-y-label {
	fill: #748294;
	font-family: var(--wp--preset--font-family--body);
	font-size: 11px;
}

.cd-platform-overview-grid,
.cd-platform-two-column {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.cd-platform-attention-list,
.cd-platform-quick-actions {
	display: grid;
	gap: 0.45rem;
}

.cd-platform-attention-list a,
.cd-platform-quick-actions a,
.cd-platform-tool-grid a {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 54px;
	padding: 0.65rem 0.75rem;
	border: 1px solid #e1e8ec;
	border-radius: 6px;
	background: #fbfcfd;
	color: var(--cd-ink);
	text-decoration: none;
}

.cd-platform-attention-list a:hover,
.cd-platform-quick-actions a:hover,
.cd-platform-tool-grid a:hover {
	border-color: #b9c9f8;
	background: #f5f7ff;
}

.cd-platform-attention-list a > .dashicons:first-child,
.cd-platform-quick-actions a > .dashicons:first-child,
.cd-platform-tool-grid a > .dashicons:first-child {
	color: var(--cd-blue);
}

.cd-platform-attention-list a > span:nth-child(2),
.cd-platform-tool-grid a > span:nth-child(2) {
	display: grid;
	min-width: 0;
}

.cd-platform-attention-list a > span:nth-child(2) {
	grid-template-columns: auto 1fr;
	gap: 0.45rem;
	font-size: 0.76rem;
}

.cd-platform-attention-list a > .dashicons:last-child,
.cd-platform-tool-grid a > .dashicons:last-child {
	margin-left: auto;
	color: #8492a2;
}

.cd-platform-table-wrap {
	width: 100%;
	overflow-x: auto;
}

.cd-platform-table {
	width: 100%;
	min-width: 850px;
	border: 0;
	border-collapse: collapse;
}

.cd-platform-table th,
.cd-platform-table td {
	padding: 0.72rem 0.6rem;
	border: 0;
	border-bottom: 1px solid #e8edef;
	background: transparent;
	text-align: left;
	vertical-align: middle;
}

.cd-platform-table th {
	color: #728091;
	font-size: 0.64rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-platform-table td {
	max-width: 280px;
	font-size: 0.75rem;
}

.cd-platform-table tr:last-child td {
	border-bottom: 0;
}

.cd-platform-table td > small,
.cd-platform-table td > strong,
.cd-platform-table__items {
	display: block;
}

.cd-platform-table td > small,
.cd-platform-person small {
	margin-top: 0.15rem;
	color: var(--cd-copy);
	font-size: 0.66rem;
}

.cd-platform-table__items {
	max-width: 280px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cd-platform-table__primary {
	color: var(--cd-ink);
	font-weight: 740;
	text-decoration: none;
}

.cd-platform-table__primary:hover {
	color: var(--cd-blue);
}

.cd-platform-person {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-width: 190px;
}

.cd-platform-person__avatar,
.cd-platform-person .cd-avatar--initials {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border-radius: 50%;
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
	object-fit: cover;
	font-size: 0.7rem;
	font-weight: 800;
}

.cd-platform-status,
.cd-platform-role {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 0.2rem 0.48rem;
	border-radius: 999px;
	background: #eef2f4;
	color: #526174;
	font-size: 0.64rem;
	font-weight: 740;
	white-space: nowrap;
}

.cd-platform-status--completed,
.cd-platform-status--processing,
.cd-platform-status--publish,
.cd-platform-status--approved {
	background: #e8f7ef;
	color: #176b4c;
}

.cd-platform-status--pending,
.cd-platform-status--on-hold {
	background: #fff4d7;
	color: #8a5b00;
}

.cd-platform-status--protected {
	background: #e8efff;
	color: #24499f;
}

.cd-platform-status--paid {
	background: #f0eafb;
	color: #65409a;
}

.cd-platform-status--failed,
.cd-platform-status--cancelled,
.cd-platform-status--refunded,
.cd-platform-status--rejected {
	background: #ffeded;
	color: #9d3030;
}

.cd-platform-summary-strip,
.cd-platform-detail-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--cd-line);
	border-radius: 7px;
	background: #fff;
}

.cd-platform-summary-strip > div,
.cd-platform-detail-grid > div {
	display: grid;
	gap: 0.25rem;
	min-height: 82px;
	padding: 0.9rem 1rem;
	border-right: 1px solid #e5ebee;
}

.cd-platform-summary-strip > div:last-child,
.cd-platform-detail-grid > div:last-child {
	border-right: 0;
}

.cd-platform-summary-strip small,
.cd-platform-detail-grid small {
	color: var(--cd-copy);
	font-size: 0.66rem;
	font-weight: 720;
	text-transform: uppercase;
}

.cd-platform-summary-strip strong,
.cd-platform-detail-grid strong {
	align-self: end;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.45rem;
}

.cd-platform-detail-panel,
.cd-platform-editor-panel {
	border-color: #b9c9f8;
}

.cd-platform-restriction-note {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0.8rem 0 0;
	padding: 0.65rem 0.75rem;
	border: 1px solid #dce3e8;
	border-radius: 5px;
	background: #f7f9fa;
	color: var(--cd-muted);
	font-size: 0.72rem;
}

.cd-platform-eyebrow {
	margin: 0 0 0.25rem !important;
	color: var(--cd-blue) !important;
	font-size: 0.63rem !important;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-platform-head-actions,
.cd-platform-row-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.cd-platform-detail-grid {
	margin: 1rem 0;
}

.cd-platform-order-detail,
.cd-platform-user-activity {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid #e6ecef;
}

.cd-platform-order-detail h3,
.cd-platform-user-activity h3,
.cd-platform-user-orders h3 {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8rem;
	font-weight: 760;
}

.cd-platform-order-detail p,
.cd-platform-user-activity p,
.cd-platform-user-activity ul {
	margin: 0;
	color: var(--cd-copy);
	font-size: 0.75rem;
	line-height: 1.65;
}

.cd-platform-order-detail ul,
.cd-platform-user-activity ul {
	padding: 0;
	list-style: none;
}

.cd-platform-order-detail li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.35rem 0;
	border-bottom: 1px solid #edf1f3;
	font-size: 0.75rem;
}

.cd-platform-transaction {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 1rem 0 0;
	padding-top: 0.8rem;
	border-top: 1px solid #e6ecef;
}

.cd-platform-transaction code {
	overflow-wrap: anywhere;
	font-size: 0.68rem;
}

.cd-platform-user-hero {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
}

.cd-platform-user-hero__avatar,
.cd-platform-user-hero .cd-avatar--initials {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
	object-fit: cover;
	font-weight: 800;
}

.cd-platform-user-hero h2,
.cd-platform-user-hero p {
	margin: 0;
}

.cd-platform-user-hero h2 {
	font-size: 1.25rem;
}

.cd-platform-user-hero p:last-child {
	margin-top: 0.25rem;
	color: var(--cd-copy);
	font-size: 0.72rem;
}

.cd-platform-user-orders {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e6ecef;
}

.cd-platform-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.9rem;
}

.cd-platform-toolbar > div {
	display: grid;
	gap: 0.2rem;
}

.cd-platform-toolbar > div strong {
	font-size: 0.86rem;
}

.cd-platform-toolbar > div span {
	color: var(--cd-copy);
	font-size: 0.7rem;
}

.cd-platform-search {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.cd-platform-search label {
	position: relative;
	margin: 0;
}

.cd-platform-search label .dashicons {
	position: absolute;
	top: 50%;
	left: 0.65rem;
	width: 17px;
	height: 17px;
	color: #7c8998;
	font-size: 17px;
	transform: translateY(-50%);
}

.cd-platform-search input[type="search"] {
	width: min(280px, 35vw);
	height: 38px;
	padding: 0.45rem 0.65rem 0.45rem 2rem;
	border: 1px solid var(--cd-line);
	border-radius: 6px;
	background: #fff;
	font-size: 0.75rem;
}

.cd-platform-pagination ul {
	display: flex;
	justify-content: flex-end;
	gap: 0.25rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.cd-platform-pagination a,
.cd-platform-pagination span {
	display: grid;
	place-items: center;
	min-width: 32px;
	height: 32px;
	border: 1px solid var(--cd-line);
	border-radius: 5px;
	font-size: 0.7rem;
	text-decoration: none;
}

.cd-platform-pagination .current {
	border-color: var(--cd-blue);
	background: var(--cd-blue);
	color: #fff;
}

.cd-platform-row-actions a {
	color: var(--cd-blue);
	font-size: 0.7rem;
	font-weight: 700;
	text-decoration: none;
}

.cd-platform-row-actions .cd-platform-action--manage,
.cd-platform-row-actions .cd-platform-action--public,
.cd-platform-action--manage,
.cd-platform-action--public {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	min-height: 32px;
	padding: 0.35rem 0.62rem;
	border: 1px solid transparent;
	border-radius: 5px;
	font-size: 0.68rem;
	font-weight: 740;
	line-height: 1;
	text-decoration: none;
}

.cd-platform-action--manage,
.cd-platform-row-actions .cd-platform-action--manage {
	background: var(--cd-blue);
	color: #fff;
}

.cd-platform-action--manage:hover,
.cd-platform-row-actions .cd-platform-action--manage:hover {
	background: var(--cd-blue-dark);
	color: #fff;
}

.cd-platform-action--public,
.cd-platform-row-actions .cd-platform-action--public {
	border-color: #b9c9f8;
	background: #fff;
	color: var(--cd-blue-dark);
}

.cd-platform-action--public:hover,
.cd-platform-row-actions .cd-platform-action--public:hover {
	border-color: var(--cd-blue);
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
}

.cd-platform-action--manage .dashicons,
.cd-platform-action--public .dashicons {
	width: 15px;
	height: 15px;
	font-size: 15px;
}

.cd-platform-row-actions .cd-platform-action-form .cd-btn {
	min-height: 30px;
	padding: 0.35rem 0.6rem;
	font-size: 0.68rem;
}

.cd-platform-booking-links a,
.cd-interest-admin-details summary {
	color: var(--cd-blue);
	font-weight: 700;
}

.cd-interest-admin-details {
	margin-top: 0.55rem;
	font-size: 0.72rem;
}

.cd-interest-admin-details summary {
	cursor: pointer;
}

.cd-interest-admin-details div {
	margin-top: 0.45rem;
	padding: 0.65rem;
	border: 1px solid var(--cd-line);
	border-radius: 5px;
	background: #f8fafb;
}

.cd-interest-admin-details p,
.cd-interest-admin-contacted {
	margin: 0;
}

.cd-interest-admin-contacted {
	grid-column: 1 / -1;
	color: var(--cd-muted);
	font-size: 0.66rem;
}

.cd-platform-teacher-list {
	display: grid;
}

.cd-platform-teacher-row {
	display: grid;
	grid-template-columns: auto minmax(220px, 1fr) auto 80px auto;
	gap: 0.8rem;
	align-items: center;
	padding: 0.75rem 0;
	border-bottom: 1px solid #e8edef;
}

.cd-platform-teacher-row:last-child {
	border-bottom: 0;
}

.cd-platform-teacher-row__avatar,
.cd-platform-teacher-row .cd-avatar--initials {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
	object-fit: cover;
	font-size: 0.74rem;
	font-weight: 800;
}

.cd-platform-teacher-row h3,
.cd-platform-teacher-row p,
.cd-platform-teacher-row small {
	margin: 0;
}

.cd-platform-teacher-row h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.82rem;
	font-weight: 760;
}

.cd-platform-teacher-row p,
.cd-platform-teacher-row small {
	color: var(--cd-copy);
	font-size: 0.68rem;
}

.cd-platform-teacher-row > span:not(.cd-platform-status) {
	display: grid;
	text-align: center;
}

.cd-platform-curation-panel {
	padding: 0;
	border-color: #c7d3f7;
	background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
	overflow: hidden;
}

.cd-platform-curation-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	cursor: pointer;
	list-style: none;
	transition: background-color 160ms ease;
}

.cd-platform-curation-summary::-webkit-details-marker {
	display: none;
}

.cd-platform-curation-summary:hover {
	background: #f7f9ff;
}

.cd-platform-curation-summary:focus-visible {
	outline: 3px solid rgba(35, 83, 255, 0.28);
	outline-offset: -3px;
}

.cd-platform-curation-summary__copy {
	display: grid;
	gap: 0.18rem;
	min-width: 0;
}

.cd-platform-curation-summary__copy .cd-platform-eyebrow {
	margin: 0 !important;
}

.cd-platform-curation-summary__copy > strong {
	color: var(--cd-ink);
	font-size: 0.95rem;
	font-weight: 780;
}

.cd-platform-curation-summary__copy > small {
	color: var(--cd-copy);
	font-size: 0.72rem;
	line-height: 1.45;
}

.cd-platform-curation-summary__status {
	padding: 0.38rem 0.62rem;
	border: 1px solid #dce3f8;
	border-radius: 999px;
	background: var(--cd-blue-soft);
	color: var(--cd-blue);
	font-size: 0.64rem;
	font-weight: 760;
	white-space: nowrap;
}

.cd-platform-curation-summary__chevron {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid #dce3ee;
	border-radius: 50%;
	color: var(--cd-ink);
	transition: transform 180ms ease, background-color 180ms ease;
}

.cd-platform-curation-dropdown[open] > .cd-platform-curation-summary {
	background: #fbfcff;
}

.cd-platform-curation-dropdown[open] .cd-platform-curation-summary__chevron {
	transform: rotate(180deg);
}

.cd-platform-curation-dropdown__body {
	padding: 0 1rem 1rem;
	border-top: 1px solid #e5eaf6;
}

.cd-platform-curation-dropdown__toolbar {
	display: flex;
	justify-content: flex-end;
	padding: 0.75rem 0;
}

.cd-platform-curation-dropdown__toolbar a {
	color: var(--cd-blue);
	font-size: 0.72rem;
	font-weight: 720;
	text-decoration: none;
}

.cd-platform-curation-form {
	display: grid;
	gap: 1rem;
}

.cd-platform-roster-list {
	display: grid;
	border: 1px solid #e1e7ee;
	border-radius: 7px;
	background: #fff;
	overflow: hidden;
}

.cd-platform-roster-row {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr) auto;
	gap: 0.8rem;
	align-items: center;
	padding: 0.75rem;
	border-bottom: 1px solid #e8edef;
}

.cd-platform-roster-row:last-child {
	border-bottom: 0;
}

.cd-platform-roster-toggle,
.cd-platform-roster-order,
.cd-platform-feature-slot {
	display: grid;
	gap: 0.3rem;
	margin: 0;
}

.cd-platform-roster-toggle {
	grid-template-columns: auto auto;
	align-items: center;
	color: var(--cd-copy);
	font-size: 0.68rem;
	font-weight: 720;
}

.cd-platform-roster-toggle input {
	width: 18px;
	height: 18px;
	margin: 0;
}

.cd-platform-roster-row__avatar,
.cd-platform-roster-row .cd-avatar--initials {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--cd-blue-soft);
	object-fit: cover;
}

.cd-platform-roster-row__copy {
	display: grid;
	gap: 0.18rem;
	min-width: 0;
}

.cd-platform-roster-row__copy strong {
	font-size: 0.78rem;
}

.cd-platform-roster-row__copy small,
.cd-platform-curation-form__footer p {
	margin: 0;
	color: var(--cd-copy);
	font-size: 0.66rem;
}

.cd-platform-roster-order {
	grid-template-columns: auto 64px;
	align-items: center;
	color: var(--cd-copy);
	font-size: 0.66rem;
	font-weight: 720;
}

.cd-platform-roster-order input {
	min-width: 0;
	width: 64px;
}

.cd-platform-feature-slots {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.cd-platform-feature-slot {
	padding: 0.8rem;
	border: 1px solid #e1e7ee;
	border-radius: 7px;
	background: #fff;
	color: var(--cd-copy);
	font-size: 0.68rem;
	font-weight: 760;
}

.cd-platform-feature-slot select {
	width: 100%;
	min-width: 0;
}

.cd-platform-curation-form__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.cd-platform-editor-panel .cd-platform-create-form {
	padding: 0;
	border: 0;
	background: transparent;
}

.cd-platform-editor-panel .cd-platform-create-form h3 {
	display: none;
}

.cd-platform-management-form {
	display: grid;
	gap: 0.9rem;
	margin: 0;
	padding: 1rem;
	border: 1px solid #e1e8ec;
	border-radius: 6px;
	background: #fbfcfd;
}

.cd-platform-management-form h3,
.cd-platform-management-form p {
	margin: 0;
}

.cd-platform-management-form > .cd-btn {
	justify-self: start;
}

.cd-platform-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.cd-platform-form-grid label,
.cd-platform-management-form > label {
	display: grid;
	align-content: start;
	gap: 0.35rem;
	margin: 0;
}

.cd-platform-photo-field {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.75rem;
	align-items: center;
	min-width: 0;
}

.cd-platform-photo-field label {
	min-width: 0;
}

.cd-platform-photo-field small,
.cd-platform-form-grid label small,
.cd-platform-resource-form label small {
	color: var(--cd-copy);
	font-size: 0.64rem;
	font-weight: 500;
	line-height: 1.45;
}

.cd-platform-headshot-preview,
.cd-platform-headshot-preview img,
.cd-platform-headshot-preview .cd-avatar--initials {
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	object-fit: cover;
}

.cd-platform-headshot-preview {
	flex: 0 0 76px;
	overflow: hidden;
	border: 1px solid #cfd8df;
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
}

.cd-platform-headshot-preview .dashicons {
	width: 28px;
	height: 28px;
	font-size: 28px;
}

.cd-platform-rich-field {
	display: grid;
	gap: 0.38rem;
	min-width: 0;
}

.cd-platform-rich-field__label {
	font-size: 0.72rem;
	font-weight: 650;
}

.cd-platform-rich-field .wp-editor-wrap {
	border: 1px solid var(--cd-line);
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}

.cd-platform-rich-field .wp-editor-tools,
.cd-platform-rich-field .wp-editor-tabs {
	display: none;
}

.cd-platform-rich-field .mce-toolbar-grp {
	border-bottom: 1px solid #e1e8ec;
	background: #f7f9fa;
}

.cd-platform-rich-field .mce-edit-area,
.cd-platform-rich-field iframe {
	background: #fff;
}

.cd-platform-resource-form {
	gap: 1rem;
}

.cd-platform-resource-thumbnail {
	display: grid;
	grid-template-columns: minmax(190px, 0.72fr) minmax(0, 1.28fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid #dbe4e9;
	border-radius: 8px;
	background: #fff;
}

.cd-platform-resource-thumbnail__preview {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 0.4rem;
	width: 100%;
	min-height: 150px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px dashed #c7d3da;
	border-radius: 7px;
	background: #f3f6f8;
	color: var(--cd-copy);
	text-align: center;
}

.cd-platform-resource-thumbnail__preview.has-image {
	border-style: solid;
	background: #e9eef1;
}

.cd-platform-resource-thumbnail__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cd-platform-resource-thumbnail__preview .dashicons {
	width: 28px;
	height: 28px;
	font-size: 28px;
}

.cd-platform-resource-thumbnail__preview strong {
	padding-inline: 0.75rem;
	font-size: 0.7rem;
}

.cd-platform-resource-thumbnail__content {
	display: grid;
	gap: 0.75rem;
	min-width: 0;
}

.cd-platform-resource-thumbnail__content h3,
.cd-platform-resource-thumbnail__content p {
	margin: 0;
}

.cd-platform-resource-thumbnail__content h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.88rem;
}

.cd-platform-resource-thumbnail__content p {
	margin-top: 0.25rem;
	color: var(--cd-copy);
	font-size: 0.72rem;
	line-height: 1.55;
}

.cd-platform-resource-thumbnail__content small {
	color: var(--cd-copy);
	font-size: 0.65rem;
	line-height: 1.5;
}

.cd-platform-resource-thumbnail__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.cd-platform-resource-thumbnail__actions .cd-btn {
	min-height: 42px;
	padding: 0.65rem 0.8rem;
}

.cd-platform-resource-thumbnail__picker {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 42px;
	padding: 0.65rem 0.85rem;
	overflow: hidden;
	border: 1px solid var(--cd-line-strong);
	border-radius: 6px;
	background: #fff;
	color: var(--cd-ink);
	cursor: pointer;
	font-size: 0.72rem;
	line-height: 1.2;
	transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.cd-platform-resource-thumbnail__picker:hover {
	border-color: var(--cd-blue);
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
}

.cd-platform-resource-thumbnail__picker:has(input:focus-visible) {
	outline: 3px solid rgba(37, 99, 235, 0.2);
	outline-offset: 2px;
}

.cd-platform-resource-thumbnail__picker input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.cd-platform-resource-thumbnail__picker .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
}

.cd-platform-resource-thumbnail__picker strong {
	font-weight: 750;
}

.cd-platform-resource-thumbnail__actions [hidden] {
	display: none;
}

.cd-platform-resource-destinations {
	display: grid;
	gap: 0.8rem;
	padding: 1rem 0;
	border-block: 1px solid #e1e8ec;
}

.cd-platform-resource-destinations h3,
.cd-platform-resource-destinations p {
	margin: 0;
}

.cd-platform-resource-destinations h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.82rem;
}

.cd-platform-resource-destinations p {
	margin-top: 0.22rem;
	color: var(--cd-copy);
	font-size: 0.69rem;
	line-height: 1.55;
}

.cd-platform-form-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.cd-platform-form-help {
	color: var(--cd-copy);
	font-size: 0.7rem;
	line-height: 1.6;
}

.cd-platform-inline-editor {
	margin-top: 1rem;
	border-top: 1px solid #e6ecef;
}

.cd-platform-inline-editor summary {
	padding: 1rem 0;
	color: var(--cd-blue-dark);
	cursor: pointer;
	font-size: 0.76rem;
	font-weight: 750;
}

.cd-platform-order-management {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e6ecef;
}

.cd-platform-refund-form {
	border-color: #efc8c8;
	background: #fffafa;
}

.cd-platform-refund-form p {
	color: #714444;
	font-size: 0.72rem;
	line-height: 1.55;
}

.cd-platform-refund-form .cd-btn--danger {
	border: 1px solid #b53a3a;
	background: #b53a3a;
	color: #fff;
}

.cd-platform-order-notes {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e6ecef;
}

.cd-platform-order-notes h3 {
	margin: 0 0 0.7rem;
	font-size: 0.82rem;
}

.cd-platform-order-notes ol {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cd-platform-order-notes li {
	padding: 0.65rem 0.75rem;
	border: 1px solid #e5ebee;
	border-radius: 5px;
	background: #fbfcfd;
}

.cd-platform-order-notes p,
.cd-platform-order-notes small {
	margin: 0;
	font-size: 0.7rem;
	line-height: 1.55;
}

.cd-platform-order-notes small {
	color: var(--cd-copy);
}

.cd-platform-course-editor > .cd-studio-shell {
	width: 100%;
	margin: 0;
	padding: 0;
}

.cd-platform-course-editor .cd-studio-topline {
	margin-top: 0;
}

.cd-platform-admin-page .cd-form label {
	font-size: 0.72rem;
}

.cd-platform-admin-page .cd-form input,
.cd-platform-admin-page .cd-form select,
.cd-platform-admin-page .cd-form textarea {
	border-color: var(--cd-line);
	border-radius: 5px;
	background: #fff;
	font-size: 0.76rem;
}

.cd-platform-admin-page .cd-studio-table {
	gap: 0;
}

.cd-platform-admin-page .cd-studio-row {
	grid-template-columns: minmax(260px, 1fr) repeat(4, auto);
	gap: 0.6rem;
	padding: 0.75rem 0;
	border: 0;
	border-bottom: 1px solid #e8edef;
	border-radius: 0;
	background: transparent;
}

.cd-platform-admin-page .cd-studio-row:last-child {
	border-bottom: 0;
}

.cd-platform-admin-page .cd-studio-row .cd-btn {
	min-height: 32px;
	padding: 0.4rem 0.65rem;
	font-size: 0.68rem;
}

.cd-platform-admin-page .cd-platform-review-row {
	grid-template-columns: minmax(260px, 1fr) auto auto;
}

.cd-platform-admin-page .cd-platform-edit-card {
	border-color: var(--cd-line);
	border-radius: 6px;
}

.cd-platform-tool-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
}

.cd-platform-tool-grid strong,
.cd-platform-tool-grid small {
	display: block;
}

.cd-platform-legal-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.cd-platform-legal-card {
	display: grid;
	gap: 0.85rem;
	min-width: 0;
	padding: 1rem;
	border: 1px solid #dfe7ec;
	border-radius: 8px;
	background: #fbfcfd;
}

.cd-platform-legal-card__head,
.cd-platform-legal-card__actions,
.cd-platform-legal-savebar {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.cd-platform-legal-card__head {
	justify-content: space-between;
}

.cd-platform-legal-icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 7px;
	background: var(--cd-blue-soft);
	color: var(--cd-blue);
}

.cd-platform-legal-icon .dashicons {
	width: 19px;
	height: 19px;
	font-size: 19px;
}

.cd-platform-legal-card__copy {
	display: grid;
	align-content: start;
	gap: 0.35rem;
	min-height: 112px;
}

.cd-platform-legal-card__copy h3 {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	font-weight: 780;
	line-height: 1.35;
}

.cd-platform-legal-card__copy p {
	margin: 0;
	color: var(--cd-copy);
	font-size: 0.7rem;
	line-height: 1.55;
}

.cd-platform-legal-card code,
.cd-platform-legal-meta-card code {
	width: fit-content;
	max-width: 100%;
	padding: 0.22rem 0.35rem;
	border-radius: 4px;
	background: #eef2f5;
	color: #536274;
	font-size: 0.64rem;
	overflow-wrap: anywhere;
}

.cd-platform-legal-card__actions {
	align-self: end;
}

.cd-platform-legal-card__actions .cd-btn,
.cd-platform-legal-savebar .cd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 36px;
	padding: 0.48rem 0.7rem;
	font-size: 0.69rem;
}

.cd-platform-legal-card__actions .dashicons,
.cd-platform-legal-savebar .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
}

.cd-platform-legal-editor-layout {
	display: grid;
	grid-template-columns: minmax(230px, 0.34fr) minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}

.cd-platform-legal-meta-card {
	display: grid;
	gap: 0.9rem;
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--cd-line);
	border-radius: 7px;
	background: #fff;
}

.cd-platform-legal-meta-card > div:not(.cd-platform-legal-guidance) {
	display: grid;
	gap: 0.3rem;
}

.cd-platform-legal-meta-card small,
.cd-platform-legal-meta-card dt {
	color: var(--cd-copy);
	font-size: 0.64rem;
	font-weight: 720;
	text-transform: uppercase;
}

.cd-platform-legal-meta-card h2 {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 780;
}

.cd-platform-legal-meta-card p {
	margin: 0;
	color: var(--cd-copy);
	font-size: 0.7rem;
	line-height: 1.55;
}

.cd-platform-legal-meta-card dl {
	display: grid;
	gap: 0;
	margin: 0;
	border-top: 1px solid #e7ecef;
}

.cd-platform-legal-meta-card dl > div {
	display: grid;
	gap: 0.3rem;
	padding: 0.7rem 0;
	border-bottom: 1px solid #e7ecef;
}

.cd-platform-legal-meta-card dd {
	margin: 0;
	color: var(--cd-ink);
	font-size: 0.72rem;
}

.cd-platform-legal-guidance {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 0.7rem;
	border-radius: 6px;
	background: #fff8e8;
	color: #775512;
}

.cd-platform-legal-guidance .dashicons {
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	font-size: 17px;
}

.cd-platform-legal-guidance p {
	color: inherit;
	font-size: 0.66rem;
}

.cd-platform-legal-editor .cd-platform-management-form {
	padding: 0;
	border: 0;
	background: transparent;
}

.cd-platform-legal-form > label small {
	color: var(--cd-copy);
	font-size: 0.64rem;
	font-weight: 500;
}

.cd-platform-legal-savebar {
	justify-content: space-between;
	padding-top: 0.9rem;
	border-top: 1px solid #e5ebee;
}

.cd-platform-legal-savebar > span {
	max-width: 430px;
	color: var(--cd-copy);
	font-size: 0.64rem;
	line-height: 1.45;
	text-align: right;
}

.cd-platform-content-card__copy small {
	margin-top: 0.25rem;
	color: var(--cd-blue-dark);
	font-size: 0.65rem;
	font-weight: 720;
}

.cd-platform-content-form > label small,
.cd-platform-testimonial-editor label small {
	color: var(--cd-copy);
	font-size: 0.64rem;
	font-weight: 500;
	line-height: 1.45;
}

.cd-platform-content-editor .cd-platform-management-form {
	padding: 0;
	border: 0;
	background: transparent;
}

.cd-platform-content-supplement {
	display: grid;
	gap: 0.75rem;
	padding: 0.9rem;
	border: 1px solid #dbe4e9;
	border-radius: 7px;
	background: #f7f9ff;
}

.cd-platform-content-supplement > div:first-child {
	display: grid;
	gap: 0.2rem;
}

.cd-platform-content-supplement h3,
.cd-platform-content-supplement p {
	margin: 0;
}

.cd-platform-content-supplement h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.82rem;
	font-weight: 780;
}

.cd-platform-content-supplement p {
	color: var(--cd-copy);
	font-size: 0.66rem;
}

.cd-platform-content-supplement > label {
	display: grid;
	gap: 0.35rem;
}

.cd-platform-testimonial-library .cd-platform-panel__head {
	align-items: flex-start;
}

.cd-platform-testimonial-library .cd-platform-panel__head .cd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 36px;
	padding: 0.48rem 0.7rem;
	color: #fff;
	font-size: 0.69rem;
}

.cd-platform-testimonial-library .cd-platform-panel__head .dashicons,
.cd-platform-testimonial-card__foot .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
}

.cd-platform-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.cd-platform-testimonial-card {
	display: grid;
	grid-template-rows: auto 1fr auto auto;
	gap: 0.8rem;
	min-width: 0;
	min-height: 230px;
	padding: 1rem;
	border: 1px solid #dfe7ec;
	border-radius: 8px;
	background: #fbfcfd;
}

.cd-platform-testimonial-card__top,
.cd-platform-testimonial-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
}

.cd-platform-testimonial-card__top > .dashicons {
	width: 26px;
	height: 26px;
	color: var(--cd-blue);
	font-size: 26px;
}

.cd-platform-testimonial-card blockquote {
	margin: 0;
	color: var(--cd-ink);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.02rem;
	line-height: 1.45;
}

.cd-platform-testimonial-card footer {
	display: grid;
	gap: 0.15rem;
}

.cd-platform-testimonial-card footer strong {
	font-size: 0.76rem;
}

.cd-platform-testimonial-card footer span,
.cd-platform-testimonial-card__foot small {
	color: var(--cd-copy);
	font-size: 0.66rem;
}

.cd-platform-testimonial-card__foot {
	padding-top: 0.65rem;
	border-top: 1px solid #e4eaee;
}

.cd-platform-testimonial-card__foot a {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	color: var(--cd-blue);
	font-size: 0.69rem;
	font-weight: 720;
	text-decoration: none;
}

.cd-platform-testimonial-editor {
	width: min(100%, 920px);
}

.cd-platform-testimonial-editor .cd-platform-management-form {
	background: #fff;
}

.cd-platform-tool-grid strong {
	font-size: 0.78rem;
}

.cd-platform-tool-grid small {
	margin-top: 0.15rem;
	color: var(--cd-copy);
	font-size: 0.66rem;
}

.cd-platform-empty {
	display: grid;
	place-items: center;
	min-height: 150px;
	padding: 1rem;
	color: var(--cd-copy);
	text-align: center;
}

.cd-platform-empty > .dashicons {
	width: 28px;
	height: 28px;
	color: #91a0ae;
	font-size: 28px;
}

.cd-platform-empty p {
	margin: 0.4rem 0 0;
	font-size: 0.75rem;
}

@media (max-width: 1200px) {
	.cd-platform-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cd-platform-testimonial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cd-platform-admin-page .cd-studio-row,
	.cd-platform-admin-page .cd-platform-review-row {
		grid-template-columns: minmax(220px, 1fr) repeat(2, auto);
	}

	.cd-platform-teacher-row {
		grid-template-columns: auto minmax(180px, 1fr) auto auto;
	}

	.cd-platform-teacher-row > span:not(.cd-platform-status) {
		display: none;
	}
}

@media (max-width: 900px) {
	.cd-platform-admin-page {
		height: auto;
		min-height: 100vh;
		min-height: 100dvh;
		overflow: auto;
	}

	.cd-platform-admin-app {
		grid-template-columns: minmax(0, 1fr);
		height: auto;
		min-height: 100vh;
		min-height: 100dvh;
		overflow: visible;
	}

	.cd-platform-sidebar {
		position: relative;
		inset: auto;
		z-index: auto;
		width: auto;
		height: auto;
		padding: 0.65rem;
		border-right: 0;
		border-bottom: 1px solid #dbe3e8;
		overflow: visible;
	}

	.cd-platform-brand {
		padding: 0.2rem 0.35rem 0.65rem;
	}

	.cd-platform-nav {
		display: flex;
		gap: 0.25rem;
		padding: 0.6rem 0 0;
		overflow-x: auto;
	}

	.cd-platform-nav a {
		flex: 0 0 auto;
	}

	.cd-platform-sidebar__footer {
		display: none;
	}

	.cd-platform-topbar {
		position: relative;
		min-height: 60px;
		padding: 0.65rem 1rem;
	}

	.cd-platform-workspace {
		grid-column: 1;
		height: auto;
		overflow: visible;
	}

	.cd-platform-loading {
		inset: 0;
		z-index: 29;
		padding: 180px 1rem 1rem;
	}

	.cd-platform-loading__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cd-platform-main {
		padding: 1rem;
	}

	.cd-platform-overview-grid,
	.cd-platform-two-column,
	.cd-platform-legal-editor-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-platform-growth-chart {
		overflow-x: auto;
	}

	.cd-platform-growth-chart svg {
		width: 680px;
		max-width: none;
	}
}

@media (max-width: 620px) {
	.cd-contact-interest {
		align-items: flex-start;
		flex-direction: column;
		gap: 1.2rem;
	}

	.cd-contact-interest .cd-btn {
		justify-content: center;
		width: 100%;
	}

	.cd-platform-current-user span,
	.cd-platform-crumb span {
		display: none;
	}

	.cd-platform-page-head,
	.cd-platform-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.cd-platform-page-action,
	.cd-platform-toolbar .cd-btn {
		justify-content: center;
		width: 100%;
	}

	.cd-platform-curation-form__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.cd-platform-curation-summary {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.7rem;
		padding: 0.85rem;
	}

	.cd-platform-curation-summary__status {
		grid-column: 1;
		justify-self: start;
	}

	.cd-platform-curation-summary__chevron {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.cd-platform-curation-dropdown__body {
		padding: 0 0.85rem 0.85rem;
	}

	.cd-platform-curation-form__footer .cd-btn {
		justify-content: center;
		width: 100%;
	}

	.cd-platform-roster-row {
		grid-template-columns: auto auto minmax(0, 1fr);
	}

	.cd-platform-roster-order {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1fr) 72px;
	}

	.cd-platform-resource-thumbnail {
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-platform-resource-thumbnail__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-platform-resource-thumbnail__actions .cd-btn {
		justify-content: center;
		width: 100%;
	}

	.cd-platform-resource-thumbnail__picker {
		width: 100%;
	}

	.cd-platform-metrics,
	.cd-platform-summary-strip,
	.cd-platform-detail-grid,
	.cd-platform-order-detail,
	.cd-platform-user-activity,
	.cd-platform-tool-grid,
	.cd-platform-legal-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-platform-legal-card__copy {
		min-height: 0;
	}

	.cd-platform-testimonial-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-platform-testimonial-card {
		min-height: 0;
	}

	.cd-platform-testimonial-library .cd-platform-panel__head {
		align-items: stretch;
		flex-direction: column;
	}

	.cd-platform-testimonial-library .cd-platform-panel__head .cd-btn {
		width: 100%;
	}

	.cd-platform-legal-card__actions,
	.cd-platform-legal-savebar {
		align-items: stretch;
		flex-direction: column;
	}

	.cd-platform-legal-card__actions .cd-btn,
	.cd-platform-legal-savebar .cd-btn {
		width: 100%;
	}

	.cd-platform-legal-savebar > span {
		max-width: none;
		text-align: left;
	}

	.cd-platform-summary-strip > div,
	.cd-platform-detail-grid > div {
		min-height: 68px;
		border-right: 0;
		border-bottom: 1px solid #e5ebee;
	}

	.cd-platform-summary-strip > div:last-child,
	.cd-platform-detail-grid > div:last-child {
		border-bottom: 0;
	}

	.cd-platform-search {
		align-items: stretch;
		flex-direction: column;
	}

	.cd-platform-search input[type="search"] {
		width: 100%;
	}

	.cd-platform-table-wrap.is-responsive {
		overflow: visible;
	}

	.cd-platform-table.is-responsive,
	.cd-platform-table.is-responsive tbody,
	.cd-platform-table.is-responsive tr,
	.cd-platform-table.is-responsive td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.cd-platform-table.is-responsive thead {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.cd-platform-table.is-responsive tr {
		padding: 0.75rem 0;
		border-bottom: 1px solid #e3e9ed;
	}

	.cd-platform-table.is-responsive tr:last-child {
		border-bottom: 0;
	}

	.cd-platform-table.is-responsive td {
		display: grid;
		grid-template-columns: minmax(74px, 0.36fr) minmax(0, 1fr);
		gap: 0.65rem;
		align-items: center;
		max-width: none;
		padding: 0.38rem 0;
		border-bottom: 0;
		text-align: right;
	}

	.cd-platform-table.is-responsive td::before {
		content: attr(data-label);
		color: #728091;
		font-size: 0.61rem;
		font-weight: 760;
		text-align: left;
		text-transform: uppercase;
	}

	.cd-platform-table.is-responsive td > *,
	.cd-platform-table.is-responsive td > .cd-platform-person {
		min-width: 0;
		justify-self: end;
	}

	.cd-platform-table.is-responsive td > .cd-platform-person {
		text-align: left;
	}

	.cd-platform-table.is-responsive .cd-platform-table__items {
		white-space: normal;
	}

	.cd-platform-form-grid,
	.cd-platform-order-management,
	.cd-platform-feature-slots {
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-platform-growth-head,
	.cd-platform-growth-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cd-platform-range-picker {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cd-platform-growth-summary {
		padding-left: 0;
	}

	.cd-platform-loading__cards {
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-platform-user-hero,
	.cd-platform-teacher-row {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.cd-platform-user-hero .cd-platform-head-actions,
	.cd-platform-teacher-row .cd-platform-status,
	.cd-platform-teacher-row .cd-platform-row-actions {
		grid-column: 1 / -1;
	}

	.cd-platform-admin-page .cd-studio-row,
	.cd-platform-admin-page .cd-platform-review-row {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Commerce */

.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce,
.woocommerce-order-received .woocommerce {
	width: var(--cd-full-width);
	max-width: none;
	margin: 2rem auto 5rem;
}

.woocommerce-checkout-review-order,
.woocommerce-checkout #customer_details,
.woocommerce-order-overview,
.woocommerce-order-details,
.woocommerce-customer-details {
	background: #fff;
	border: 1px solid var(--cd-line) !important;
	border-radius: var(--cd-radius) !important;
	box-shadow: none !important;
}

.woocommerce table.shop_table {
	border-color: var(--cd-line) !important;
	border-radius: var(--cd-radius) !important;
}

.woocommerce #payment {
	background: var(--cd-base) !important;
	border-radius: var(--cd-radius) !important;
}

.woocommerce #place_order,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--cd-blue) !important;
	border-radius: var(--cd-radius) !important;
	color: #fff !important;
}

/* Footer */

.cd-footer {
	max-width: none !important;
	margin-top: 0;
	padding: 1rem var(--cd-page-gutter) 1.5rem;
	background: var(--cd-ink);
	color: #b9c5d2;
}

.cd-footer > :where(:not(.alignfull)) {
	width: 100%;
	max-width: none !important;
}

.cd-footer__mast {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	padding: 4.4rem 0 3.5rem;
	border-bottom: 1px solid #2a3545;
}

.cd-footer__eyebrow {
	color: var(--cd-mint);
	font-size: 0.72rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-footer__mast h2,
.cd-footer__mast p {
	margin: 0;
}

.cd-footer__mast h2 {
	margin-top: 0.75rem;
	color: #fff;
	font-size: 3.4rem;
	line-height: 0.98;
}

.cd-footer__mast p {
	margin-top: 0.8rem;
	color: #9ba9b8;
}

.cd-footer__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	min-width: 245px;
	padding: 1rem 1.1rem;
	background: var(--cd-blue);
	border-radius: var(--cd-radius);
	color: #fff !important;
	font-weight: 760;
	text-decoration: none !important;
	transition: background-color 160ms ease, transform 160ms ease;
}

.cd-footer__cta:hover {
	background: var(--cd-coral);
	transform: translateY(-2px);
}

.cd-footer__columns {
	gap: 3rem;
	padding: 3.5rem 0 3rem;
}

.cd-footer__columns h3 {
	margin: 0 0 1rem;
	color: #fff;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8rem;
	font-weight: 760;
	text-transform: uppercase;
}

.cd-footer__columns ul {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cd-footer__columns a {
	color: #aebbc8 !important;
	font-size: 0.82rem;
	text-decoration: none !important;
}

.cd-footer__columns a:hover {
	color: #fff !important;
}

.cd-footer-wordmark {
	display: inline-block;
	margin: 0 0 1rem;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.2rem !important;
	font-weight: 680;
	line-height: 1;
	text-decoration: none !important;
}

.cd-footer-wordmark span {
	color: var(--cd-coral);
}

.cd-footer-wordmark::after {
	content: none;
}

.cd-footer__brand > p {
	max-width: 400px;
	margin: 0;
	color: #9ba9b8;
	font-size: 0.86rem;
	line-height: 1.7;
}

.cd-footer__signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 1.2rem;
}

.cd-footer__signals span {
	padding: 0.35rem 0.55rem;
	border: 1px solid #344154;
	border-radius: 999px;
	color: #c9d3de;
	font-size: 0.66rem;
}

.cd-footer__base {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.4rem;
	border-top: 1px solid #2a3545;
	color: #788797;
	font-size: 0.72rem;
}

/* Motion */

.cd-js .cd-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 520ms ease var(--cd-reveal-delay, 0ms), transform 520ms ease var(--cd-reveal-delay, 0ms);
}

.cd-js .cd-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Full-width application shells */

.cd-course-overview-shell,
.cd-learner-dashboard,
.cd-studio-shell,
.cd-learn-shell {
	width: 100%;
	max-width: none !important;
}

.cd-studio-shell--info,
.cd-studio-shell--builder,
.cd-studio-shell--resources,
.cd-studio-shell--addons {
	width: 100%;
	max-width: none !important;
	margin-inline: auto;
}

.cd-checkout-shell,
.cd-order-complete,
.cd-interest-shell {
	width: var(--cd-full-width);
	max-width: none !important;
	margin-inline: auto;
}

.cd-resource-gate {
	width: 100%;
	max-width: none;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
	.cd-js .cd-reveal { opacity: 1; transform: none; }
}

/* Responsive */

@media (min-width: 1500px) {
	.cd-how-layout {
		grid-template-columns: minmax(360px, 0.72fr) minmax(0, 1.28fr);
		gap: clamp(3rem, 4vw, 5rem);
	}

	.cd-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}

	.cd-step {
		align-content: start;
		min-height: 220px;
		padding: 1.4rem 1.25rem;
	}

	.cd-resource-grid {
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	}

	.wp-block-query .wp-block-post-template {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list {
		grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
	}
}

@media (max-width: 1120px) {
	.cd-header-brand { min-width: 190px; }
	.cd-header-greenwall-logo,
	.cd-header-brand-divider { display: none; }
	.cd-header-search { max-width: 330px; }
	.cd-section-intro h2,
	.cd-pathways-copy h2,
	.cd-how-copy h2 { font-size: 3rem; }
	.cd-hero__content h1 { font-size: 4rem; }
	.cd-hero__content h1.cd-hero__title--long { font-size: 3.25rem; }
	.cd-teacher-hero {
		grid-template-areas: "media content" "stats stats";
		grid-template-columns: 190px minmax(0, 1fr);
	}
	.cd-teacher-hero::after { top: auto; right: -110px; bottom: -285px; width: 520px; height: 520px; transform: none; }
	.cd-teacher-hero__media { width: 190px; height: 190px; }
	.cd-teacher-stats { grid-template-columns: repeat(3, 1fr); }
	.cd-teacher-stats > span { min-height: 86px; }
	.cd-resource-library__head { grid-template-columns: 1fr; }
	.cd-resource-library__stats { max-width: 520px; }
	.cd-course-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cd-course-filters__search { grid-column: span 2; }
	.cd-course-filters__actions { justify-content: flex-end; }
}

@media (max-width: 900px) {
	.cd-section { padding-top: 4.5rem; padding-bottom: 4.5rem; }
	.cd-header-row { width: min(100% - 1.5rem, var(--cd-container)); min-height: 68px; }
	.cd-header-brand { min-width: auto; }
	.cd-header-wordmark { font-size: 1.5rem; }
	.cd-header-search { display: none; }
	.cd-browse-menu__panel { left: 0; transform: translate(0, -7px); }
	.cd-browse-menu[open] .cd-browse-menu__panel,
	.cd-browse-menu:hover .cd-browse-menu__panel { transform: translate(0, 0); }
	.cd-hero__scene { min-height: 560px; }
	.cd-hero__content { width: 82%; min-height: 470px; padding: 3.5rem; }
	.cd-hero__content h1 { font-size: 3.6rem; }
	.cd-hero__content h1.cd-hero__title--long { font-size: 2.9rem; }
	.cd-section-intro { grid-template-columns: 1fr; gap: 1.4rem; }
	.cd-section-intro__aside { max-width: 650px; }
	.cd-grid,
	.cd-featured-teachers,
	.cd-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cd-tutor-carousel .cd-featured-teacher-card { flex-basis: calc((100% - 1rem) / 2); }
	.cd-pathways-layout,
	.cd-how-layout { grid-template-columns: 1fr; gap: 3rem; }
	.cd-pathways-visual { max-width: 680px; }
	.cd-pathways-topics { width: 100%; }
	.cd-how-visual { max-width: 680px; aspect-ratio: 16 / 10; }
	.cd-upcoming-grid { grid-template-columns: 1fr; }
	.cd-community-banner { grid-template-columns: 80px 1fr; }
	.cd-community-banner__mark { width: 80px; height: 80px; padding: 1.1rem; }
	.cd-community-banner .cd-btn { grid-column: 2; justify-self: start; }
	.cd-event-detail__hero { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem; }
	.cd-event-booking-card { max-width: 440px; }
	.cd-event-detail__grid { grid-template-columns: 1fr; }
	.cd-event-detail__meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cd-event-detail__meta > div { border-right: 1px solid var(--cd-line); border-bottom: 0; }
	.cd-event-detail__meta > div:last-of-type { border-right: 0; }
	.cd-course-overview-teacher-card { grid-column: 1 / -1; }
	.cd-login-page main { grid-template-columns: 0.72fr minmax(400px, 1fr); }
	.cd-dashboard-stats,
	.cd-studio-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cd-footer__mast h2 { font-size: 2.8rem; }
	.cd-footer__columns { flex-wrap: wrap !important; }
	.cd-footer__brand { flex-basis: 100% !important; }
	.cd-page-about .cd-page-shell > .wp-block-post-content,
	.cd-page-contact .cd-page-shell > .wp-block-post-content,
	.cd-page-programmes-overview .cd-page-shell > .wp-block-post-content { grid-template-columns: 1fr; gap: 2rem; }
	.cd-page-about .cd-page-shell > .wp-block-post-content::after,
	.cd-page-contact .cd-page-shell > .wp-block-post-content::after,
	.cd-page-programmes-overview .cd-page-shell > .wp-block-post-content::after { grid-column: 1; grid-row: auto; min-height: 320px; }
	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list { grid-template-columns: 1fr; }
}

@media (max-width: 781px) {
	.admin-bar .cd-header { top: 46px; }
	.cd-header-row { gap: 0.55rem; }
	.cd-account-nav .cd-btn--solid { min-height: 40px; padding: 0.68rem 0.8rem; font-size: 0.78rem; }
	.cd-browse-menu > summary { min-height: 40px; padding: 0 0.8rem; font-size: 0.8rem; }
	.cd-browse-menu__panel { position: fixed; top: 76px; right: 0.75rem; left: 0.75rem; width: auto; max-height: calc(100vh - 92px); overflow-y: auto; }
	.admin-bar .cd-browse-menu__panel { top: 122px; }
	.cd-course-catalog__intro,
	.cd-resource-library__head { min-height: 280px; padding: 2rem; }
	.cd-course-catalog__intro::after,
	.cd-resource-library__head::after { width: 58%; opacity: 0.55; }
	.cd-course-catalog__intro h1,
	.cd-resource-library__head h1 { font-size: 3rem; }
	.cd-course-filters,
	.cd-resource-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cd-course-filters__search { grid-column: 1 / -1; }
	.cd-resource-filters > label:first-child { grid-column: 1 / -1; }
	.cd-teacher-hero { grid-template-columns: 160px minmax(0, 1fr); gap: 1.5rem; padding: 1.5rem; }
	.cd-teacher-hero__media { width: 160px; height: 160px; }
	.cd-teacher-hero__content h1 { font-size: 3rem; }
	.cd-final-cta__scene section { width: 82%; padding: 2.5rem; }
	.cd-final-cta__scene h2 { font-size: 3.2rem; }
	.cd-page-title { min-height: 270px; padding: 2.3rem; }
	.cd-page-title .wp-block-post-title { font-size: 3.5rem; }
	.single-courses .tutor-course-details-title,
	.single-courses h1.tutor-course-details-title { font-size: 3rem !important; }
}

@media (max-width: 620px) {
	.cd-section { padding: 3.8rem 1rem; }
	.cd-course-coming-soon { grid-template-columns: 1fr; gap: 1.35rem; min-height: 0; padding: 1.4rem; }
	.cd-course-coming-soon h3 { font-size: 1.65rem; }
	.cd-course-coming-soon__action { width: 100%; white-space: normal; }
	.page .cd-page-shell { padding: 0.6rem 0.6rem 3.5rem !important; }
	.cd-page-title { min-height: 310px; margin-bottom: 2rem; padding: 1.45rem; }
	.cd-page-title::after { background: linear-gradient(180deg, rgba(5, 11, 22, 0.38), rgba(5, 11, 22, 0.94) 68%); }
	.cd-page-title .wp-block-post-title { font-size: 2.75rem; }
	.cd-page-title__eyebrow { font-size: 0.66rem; }
	.page .cd-page-shell > .wp-block-post-content { width: calc(100% - 1rem); }
	.page .cd-page-shell > .wp-block-post-content > h2:first-child { font-size: 2.2rem; }
	.cd-page-about .cd-page-shell > .wp-block-post-content,
	.cd-page-contact .cd-page-shell > .wp-block-post-content,
	.cd-page-programmes-overview .cd-page-shell > .wp-block-post-content,
	.cd-page-faqs .cd-page-shell > .wp-block-post-content,
	.cd-page-news .cd-page-shell > .wp-block-post-content { padding: 1.3rem; }
	.cd-page-about .cd-page-shell > .wp-block-post-content::after,
	.cd-page-contact .cd-page-shell > .wp-block-post-content::after,
	.cd-page-programmes-overview .cd-page-shell > .wp-block-post-content::after { min-height: 250px; }
	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card { grid-template-columns: 70px minmax(0, 1fr); grid-template-rows: 155px auto auto; }
	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card::before,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card::before { height: 155px; }
	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__date,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__date { margin: 1rem 0 0 1rem; }
	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__body,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__body { padding: 1rem 1rem 0.7rem; }
	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__meta,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__meta { justify-content: flex-start; padding: 0 1rem 1rem; }
	.cd-page-privacy-policy .cd-page-title .wp-block-post-title,
	.cd-page-cookie-policy .cd-page-title .wp-block-post-title,
	.cd-page-terms-and-conditions .cd-page-title .wp-block-post-title,
	.cd-page-course-terms .cd-page-title .wp-block-post-title,
	.cd-page-event-cancellation-refund-policy .cd-page-title .wp-block-post-title,
	.cd-page-accessibility-statement .cd-page-title .wp-block-post-title { font-size: 2.35rem; }
	.cd-header-row { width: calc(100% - 1rem); }
	.cd-header-wordmark { font-size: 1.35rem; }
	.cd-browse-menu__grid { grid-template-columns: 1fr; }
	.cd-browse-menu__item { min-height: 76px; }
	.cd-hero { padding: 0.6rem 0.6rem 0; }
	.cd-hero__scene { min-height: 640px; }
	.cd-hero__image { object-position: 68% center; }
	.cd-hero__wash { background: linear-gradient(180deg, rgba(5, 12, 25, 0.42), rgba(5, 12, 25, 0.92) 62%); }
	.cd-hero__content { justify-content: flex-end; width: 100%; min-height: 545px; padding: 2rem 1.35rem 6.4rem; }
	.cd-hero__content h1 { font-size: 2.8rem; }
	.cd-hero__content h1.cd-hero__title--long { font-size: 2.35rem; }
	.cd-hero__lead { font-size: 0.95rem; }
	.cd-hero__metrics > span { padding: 0.75rem 0.65rem; }
	.cd-hero__metrics strong { font-size: 0.72rem; }
	.cd-hero__metrics em { font-size: 0.61rem; }
	.cd-section-intro h2,
	.cd-pathways-copy h2,
	.cd-how-copy h2,
	.cd-community-banner h2 { font-size: 2.5rem; }
	.cd-grid,
	.cd-featured-teachers,
	.cd-resource-grid,
	.cd-resource-list { grid-template-columns: 1fr; }
	.cd-tutor-carousel__track { margin-right: -1rem; padding-right: 1rem; }
	.cd-tutor-carousel .cd-featured-teacher-card { flex-basis: min(84vw, 340px); }
	.cd-course-card .cd-card__body h2,
	.cd-course-card .cd-card__body h3 { min-height: 0; }
	.cd-chip-grid { grid-template-columns: 1fr; }
	.cd-upcoming-column { padding: 0.8rem; }
	.cd-event-card { grid-template-columns: 58px minmax(0, 1fr); }
	.cd-event-card__meta { grid-column: 2; flex-direction: row; align-items: center; flex-wrap: wrap; }
	.cd-how-visual { aspect-ratio: 4 / 5; }
	.cd-community-banner { grid-template-columns: 1fr; }
	.cd-community-banner .cd-btn { grid-column: auto; }
	.cd-community-banner__mark { width: 72px; height: 72px; }
	.cd-final-cta { padding: 0.6rem; }
	.cd-final-cta__scene { min-height: 560px; }
	.cd-final-cta__scene > img { object-position: 63% center; }
	.cd-final-cta__scene > div { background: linear-gradient(180deg, rgba(5, 12, 25, 0.2), rgba(5, 12, 25, 0.94) 65%); }
	.cd-final-cta__scene section { justify-content: flex-end; width: 100%; min-height: 560px; padding: 2rem 1.4rem; }
	.cd-final-cta__scene h2 { font-size: 2.75rem; }
	.cd-event-detail__hero { min-height: 620px; padding: 1.3rem; align-content: end; }
	.cd-event-detail__copy h1 { font-size: 2.7rem; }
	.cd-event-detail__grid { padding: 1rem 0 2.5rem; }
	.cd-event-detail__main { padding: 1.3rem; }
	.cd-event-detail__meta { grid-template-columns: 1fr; }
	.cd-event-detail__meta > div { border-right: 0; border-bottom: 1px solid var(--cd-line); }
	.cd-course-catalog__intro,
	.cd-resource-library__head { min-height: 340px; padding: 1.5rem; }
	.cd-course-catalog__intro::after,
	.cd-resource-library__head::after { inset: auto 0 0; width: 100%; height: 45%; }
	.cd-course-catalog__intro::before,
	.cd-resource-library__head::before { background: linear-gradient(180deg, var(--cd-ink) 0%, var(--cd-ink) 66%, rgba(11, 18, 32, 0.44)); }
	.cd-course-catalog__intro h1,
	.cd-resource-library__head h1 { font-size: 2.6rem; }
	.cd-course-filters,
	.cd-resource-filters { grid-template-columns: 1fr; padding: 0.9rem; }
	.cd-course-filters__search,
	.cd-resource-filters > label:first-child { grid-column: auto; }
	.cd-course-filters__actions { justify-content: stretch; }
	.cd-course-filters__actions > * { flex: 1; }
	.cd-course-catalog > .cd-grid { grid-template-columns: minmax(0, 1fr); }
	.cd-course-catalog > .cd-grid > .cd-course-card { max-width: none; }
	.cd-account-danger-zone { grid-template-columns: 1fr; gap: 1.25rem; }
	.cd-account-order__head { align-items: flex-start; }
	.cd-resource-library__stats { grid-template-columns: repeat(2, 1fr); }
	.cd-resource-library__stats > div { min-height: 78px; }
	.cd-resource-carousel__head { align-items: center; }
	.cd-resource-carousel__head span { display: none; }
	.cd-resource-carousel__controls button { width: 40px; height: 40px; }
	.cd-resource-carousel__track { gap: 0.75rem; margin-right: -1rem; padding-right: 1rem; }
	.cd-resource-carousel .cd-resource-card { flex-basis: min(84vw, 340px); }
	.cd-teacher-hero {
		grid-template-areas: "media" "content" "stats";
		grid-template-columns: 1fr;
	}
	.cd-teacher-hero::after { right: -175px; bottom: -165px; width: 410px; height: 410px; }
	.cd-teacher-hero__media { width: 180px; height: 180px; justify-self: center; }
	.cd-teacher-avatar { width: 100%; height: 100%; max-height: none; }
	.cd-teacher-hero__content h1 { font-size: 2.7rem; }
	.cd-teacher-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; }
	.cd-teacher-stats > span { min-height: 80px; padding: 0.4rem; }
	.cd-teacher-stats strong { font-size: 1.7rem; }
	.cd-teacher-section { padding: 1.2rem; }
	.cd-login-page main { display: block; width: calc(100% - 1rem); min-height: 0; padding: 0 !important; }
	.cd-login-page main::before { display: block; min-height: 210px; }
	.cd-login-page main > .wp-block-post-content { display: block; padding: 2rem 1.25rem; }
	.cd-otp-title { font-size: 2.1rem; }
	.cd-dashboard-hero,
	.cd-studio-topline { align-items: flex-start; flex-direction: column; padding: 1.4rem; }
	.cd-dashboard-hero h1,
	.cd-studio-topline h1,
	.cd-studio-topline h2,
	.cd-studio-hero h1,
	.cd-studio-hero h2 { font-size: 2.4rem; }
	.cd-dashboard-stats,
	.cd-studio-stats { grid-template-columns: 1fr 1fr; }
	.cd-dashboard-stat,
	.cd-studio-stat { min-height: 110px; }
	.cd-dashboard-course-row { grid-template-columns: 95px minmax(0, 1fr); }
	.cd-dashboard-booking-row { grid-template-columns: 72px minmax(0, 1fr); }
	.cd-dashboard-booking-row .cd-btn { grid-column: 2; justify-self: start; }
	.cd-dashboard-resume { grid-column: 2; justify-self: start; }
	.cd-dashboard-tabs { overflow-x: auto; }
	.cd-dashboard-tabs a { flex: 0 0 auto; }
	.cd-footer { padding-inline: 1rem; }
	.cd-footer__mast { align-items: flex-start; flex-direction: column; padding: 3rem 0; }
	.cd-footer__mast h2 { font-size: 2.5rem; }
	.cd-footer__cta { width: 100%; min-width: 0; }
	.cd-footer__columns { gap: 2rem; }
	.cd-footer__columns > .wp-block-column { flex-basis: calc(50% - 1rem) !important; }
	.cd-footer__columns > .cd-footer__brand { flex-basis: 100% !important; }
	.cd-footer__base { align-items: flex-start; flex-direction: column; }
	.page main > .wp-block-post-title,
	.search main > h1,
	.error404 main h1 { width: calc(100% - 2rem); margin-top: 2rem; font-size: 2.7rem; }
	.page main > .wp-block-post-content,
	.single-post main > .wp-block-post-content { width: calc(100% - 2rem); }
	.wp-block-query .wp-block-post-template { grid-template-columns: 1fr; }
	.single-courses .tutor-course-details-title,
	.single-courses h1.tutor-course-details-title { font-size: 2.6rem !important; }
}

@media (max-width: 420px) {
	.cd-header-wordmark { font-size: 1.2rem; }
	.cd-browse-menu > summary span { display: none; }
	.cd-browse-menu > summary { width: 40px; padding: 0; }
	.cd-account-nav .cd-btn--solid { padding-inline: 0.65rem; }
	.cd-hero__content h1 { font-size: 2.45rem; }
	.cd-hero__content h1.cd-hero__title--long { font-size: 2.05rem; }
	.cd-section-intro h2,
	.cd-pathways-copy h2,
	.cd-how-copy h2,
	.cd-community-banner h2 { font-size: 2.25rem; }
	.cd-hero__metrics em { display: none; }
	.cd-footer__columns > .wp-block-column { flex-basis: 100% !important; }
}

/* Mobile UX audit polish */

.cd-step > h3,
.cd-step > p {
	grid-column: 1 / -1;
	min-width: 0;
}

.cd-step > h3 {
	padding-right: 3rem;
}

.cd-resource-results {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0.85rem 0;
}

.cd-resource-results p {
	margin: 0;
	color: var(--cd-copy);
	font-size: 0.82rem;
	font-weight: 700;
}

.cd-resource-pagination {
	margin: 1.5rem 0 0;
}

.cd-resource-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cd-resource-pagination a,
.cd-resource-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.55rem 0.75rem;
	box-sizing: border-box;
	border: 1px solid var(--cd-line);
	border-radius: 8px;
	background: #fff;
	color: var(--cd-ink);
	font-size: 0.8rem;
	font-weight: 760;
	text-decoration: none;
}

.cd-resource-pagination .current {
	border-color: var(--cd-blue);
	background: var(--cd-blue);
	color: #fff;
}

/* Single resource editorial layout */

body.single-cd_resource {
	background: #f4f7f9;
}

body.single-cd_resource main.cd-resource-single {
	width: min(calc(100% - 3rem), 1180px);
	max-width: none !important;
	margin: 0 auto;
	padding: clamp(1.75rem, 4vw, 3.5rem) 0 clamp(4rem, 8vw, 7rem) !important;
}

.cd-resource-single__back {
	margin: 0 0 1rem !important;
}

.cd-resource-single__back a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 42px;
	padding: 0.5rem 0.75rem;
	border-radius: 999px;
	color: var(--cd-copy);
	font-size: 0.76rem;
	font-weight: 760;
	text-decoration: none;
	transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.cd-resource-single__back a:hover {
	background: #fff;
	color: var(--cd-blue-dark);
	transform: translateX(-2px);
}

.cd-resource-single__hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(230px, 320px);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 4.5rem);
	border: 1px solid rgba(37, 99, 235, 0.13);
	border-radius: 24px;
	background:
		radial-gradient(circle at 92% 8%, rgba(162, 222, 210, 0.34), transparent 29%),
		linear-gradient(145deg, #fff 0%, #f8fbff 58%, #eef4ff 100%);
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.09);
}

.cd-resource-single__hero::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 5px;
	background: linear-gradient(180deg, var(--cd-blue), #9ddfd3);
	content: "";
}

.cd-resource-single__hero:not(:has(.cd-resource-single__thumbnail img)) {
	grid-template-columns: minmax(0, 820px);
}

.cd-resource-single__intro {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.cd-resource-single__types {
	margin: 0 0 1.1rem !important;
}

.cd-resource-single__types a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0.35rem 0.65rem;
	border: 1px solid rgba(37, 99, 235, 0.16);
	border-radius: 999px;
	background: var(--cd-blue-soft);
	color: var(--cd-blue-dark);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.cd-resource-single__title {
	max-width: 820px;
	margin: 0 !important;
	color: var(--cd-ink);
	font-size: clamp(2.45rem, 5.25vw, 4.9rem);
	letter-spacing: -0.045em;
	line-height: 0.98;
	overflow-wrap: break-word;
	text-wrap: balance;
}

body.cd-resource-title-long .cd-resource-single__title {
	font-size: clamp(2.25rem, 4.1vw, 4.2rem);
}

body.cd-resource-title-very-long .cd-resource-single__title {
	font-size: clamp(2.1rem, 3.4vw, 3.7rem);
}

.cd-resource-single__excerpt {
	max-width: 690px;
	margin: 1.35rem 0 0 !important;
}

.cd-resource-single__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
	color: var(--cd-copy);
	font-size: clamp(1rem, 1.35vw, 1.15rem);
	line-height: 1.65;
}

.cd-resource-single__meta {
	display: flex;
	align-items: center;
	gap: 0.65rem 1.25rem;
	margin: 1.6rem 0 0 !important;
	color: var(--cd-copy);
	font-size: 0.76rem;
}

.cd-resource-single__updated {
	display: flex;
	align-items: center;
	gap: 0.38rem;
}

.cd-resource-single__updated p,
.cd-resource-single__updated .wp-block-post-date,
.cd-resource-single__topics {
	margin: 0 !important;
}

.cd-resource-single__updated > p:first-child {
	font-weight: 760;
}

.cd-resource-single__topics {
	padding-left: 1.25rem;
	border-left: 1px solid var(--cd-line);
}

.cd-resource-single__topics a {
	color: var(--cd-blue-dark);
	font-weight: 700;
	text-decoration: none;
}

.cd-resource-single__thumbnail {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 320px;
	margin: 0 !important;
	justify-self: end;
	overflow: hidden;
	padding: 7px;
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.88);
	box-shadow: 0 22px 44px rgba(15, 23, 42, 0.16);
	transform: rotate(1.25deg);
}

.cd-resource-single__thumbnail img {
	display: block;
	width: 100%;
	min-height: 0 !important;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	object-fit: cover;
}

.cd-resource-single__content-shell {
	width: min(100%, 920px) !important;
	max-width: 920px !important;
	margin: clamp(1.5rem, 4vw, 3rem) auto 0 !important;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	box-sizing: border-box;
	border: 1px solid var(--cd-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 52px rgba(15, 23, 42, 0.07);
}

.cd-resource-single__content-kicker {
	margin: 0 0 1.5rem !important;
	color: var(--cd-blue-dark);
	font-size: 0.7rem;
	font-weight: 820;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.cd-resource-single__content-shell .wp-block-post-content {
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
}

.cd-resource-single__content-shell .wp-block-post-content > :first-child {
	margin-top: 0;
}

.cd-resource-single__content-shell .wp-block-post-content > :last-child {
	margin-bottom: 0;
}

.cd-resource-single__content-shell .wp-block-post-content p,
.cd-resource-single__content-shell .wp-block-post-content li {
	color: var(--cd-copy);
	font-size: 1rem;
	line-height: 1.75;
}

.cd-resource-single__content-shell .wp-block-post-content h2,
.cd-resource-single__content-shell .wp-block-post-content h3 {
	color: var(--cd-ink);
	line-height: 1.08;
}

body.single-cd_resource .cd-resource-access-panel {
	gap: 1rem;
	margin: 2.5rem 0 0;
	padding: clamp(1rem, 2.5vw, 1.5rem);
	border-color: rgba(37, 99, 235, 0.14);
	background: linear-gradient(145deg, #f8fbff, #fff);
	box-shadow: none;
}

body.single-cd_resource .cd-resource-access-panel__button {
	min-height: 48px;
	padding-inline: 1.25rem;
}

@media (max-width: 820px) {
	body.single-cd_resource main.cd-resource-single {
		width: min(calc(100% - 2rem), 1180px);
		padding-top: 1.25rem !important;
	}

	.cd-resource-single__hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.75rem;
		padding: clamp(1.5rem, 6vw, 2.5rem);
	}

	.cd-resource-single__title {
		font-size: clamp(2.25rem, 9vw, 3.7rem);
	}

	.cd-resource-single__thumbnail {
		width: min(66%, 260px);
		justify-self: start;
		transform: none;
	}
}

@media (max-width: 620px) {
	body.single-cd_resource main.cd-resource-single {
		width: 100%;
		padding: 1rem 1rem 3.5rem !important;
	}

	.cd-resource-single__back {
		margin-bottom: 0.65rem !important;
	}

	.cd-resource-single__hero {
		gap: 1.35rem;
		padding: 1.35rem;
		border-radius: 18px;
	}

	.cd-resource-single__title {
		font-size: clamp(2rem, 10.2vw, 2.8rem);
		line-height: 1.01;
	}

	body.cd-resource-title-long .cd-resource-single__title {
		font-size: clamp(1.9rem, 9vw, 2.45rem);
	}

	body.cd-resource-title-very-long .cd-resource-single__title {
		font-size: clamp(1.8rem, 8.2vw, 2.25rem);
	}

	.cd-resource-single__excerpt {
		margin-top: 1rem !important;
	}

	.cd-resource-single__meta {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 1.2rem !important;
	}

	.cd-resource-single__topics {
		padding-left: 0;
		border-left: 0;
	}

	.cd-resource-single__thumbnail {
		width: min(72%, 220px);
		padding: 5px;
		border-radius: 14px;
	}

	.cd-resource-single__content-shell {
		margin-top: 1rem !important;
		padding: 1.35rem;
		border-radius: 17px;
	}

	.cd-resource-single__content-kicker {
		margin-bottom: 1rem !important;
	}

	body.single-cd_resource .cd-resource-access-panel {
		margin-top: 1.75rem;
		padding: 0.85rem;
	}

	body.single-cd_resource .cd-resource-access-panel__button {
		width: 100%;
	}
}

@media (max-width: 620px) {
	.cd-step {
		row-gap: 0.35rem;
	}

	.cd-step > h3 {
		max-width: none;
		padding-right: 2.7rem;
		font-size: 1.02rem;
	}

	.cd-step > p {
		margin-top: 0.2rem;
	}

	.cd-event-detail__copy h1 {
		font-size: clamp(1.65rem, 7.5vw, 2rem);
		line-height: 1;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.cd-event-detail__copy {
		width: 100%;
		min-width: 0;
	}

	.cd-page-account-settings .cd-page-title,
	.cd-page-studio .cd-page-title,
	.cd-page-new .cd-page-title,
	.cd-page-edit .cd-page-title {
		display: none;
	}

	.cd-page-account-settings .cd-page-shell,
	.cd-page-studio .cd-page-shell,
	.cd-page-new .cd-page-shell,
	.cd-page-edit .cd-page-shell {
		padding-top: 0.6rem !important;
	}

	.cd-browse-menu > summary,
	.cd-user-menu > summary,
	.cd-account-nav .cd-avatar-chip,
	.cd-resource-carousel__controls button,
	.cd-tutor-carousel__controls button {
		min-width: 44px;
		min-height: 44px;
	}

	.cd-footer__columns li a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.cd-platform-nav {
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
		scrollbar-color: #b7c1ca transparent;
	}

	.cd-platform-nav::-webkit-scrollbar {
		height: 4px;
	}

	.cd-platform-nav::-webkit-scrollbar-thumb {
		border-radius: 999px;
		background: #b7c1ca;
	}

	.cd-platform-nav a {
		min-height: 44px;
		scroll-snap-align: start;
	}

	.cd-platform-current-user > a:first-child,
	.cd-platform-signout,
	.cd-platform-icon-button,
	.cd-platform-table__primary {
		min-width: 44px;
		min-height: 44px;
	}

	.cd-platform-table__primary {
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
	}

	.cd-resource-pagination .prev,
	.cd-resource-pagination .next {
		flex: 1 1 120px;
	}
}

@media (min-width: 360px) and (max-width: 620px) {
	.cd-platform-metrics,
	.cd-platform-summary-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cd-platform-metric {
		position: relative;
		display: block;
		min-height: 120px;
		padding: 0.85rem;
	}

	.cd-platform-metric > div {
		width: 100%;
	}

	.cd-platform-metric > .dashicons {
		position: absolute;
		top: 0.75rem;
		right: 0.75rem;
		width: 30px;
		height: 30px;
		font-size: 16px;
		line-height: 30px;
	}

	.cd-platform-metric span {
		padding-right: 2.3rem;
	}

	.cd-platform-metric strong {
		font-size: clamp(1.5rem, 7vw, 1.8rem);
		white-space: nowrap;
		overflow-wrap: normal;
	}

	.cd-platform-summary-strip > div {
		border-right: 1px solid #e5ebee;
		border-bottom: 1px solid #e5ebee;
	}

	.cd-platform-summary-strip > div:nth-child(2n) {
		border-right: 0;
	}

	.cd-platform-summary-strip > div:nth-last-child(-n + 2) {
		border-bottom: 0;
	}
}

@media (max-width: 782px) {
	body.admin-bar #wpadminbar #wp-admin-bar-top-secondary {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
	}
}

/* Homepage and event-listing mobile composition */

@media (max-width: 620px) {
	.cd-hero__scene {
		min-height: 0;
	}

	.cd-hero__content {
		min-height: 520px;
		padding: 2.2rem 1.25rem 2rem;
	}

	.cd-hero__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		gap: 0.6rem;
		margin-top: 1.4rem;
	}

	.cd-hero__actions .cd-btn {
		justify-content: center;
		width: 100%;
		min-height: 50px;
		box-sizing: border-box;
		text-align: center;
	}

	.cd-hero__metrics {
		position: static;
		grid-template-columns: minmax(0, 1fr);
	}

	.cd-hero__metrics > span {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		min-height: 52px;
		padding: 0.75rem 1rem;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.cd-hero__metrics > span:last-child {
		border-bottom: 0;
	}

	.cd-hero__metrics strong {
		font-size: 0.78rem;
	}

	.cd-hero__metrics em {
		display: block;
		margin-top: 0;
		font-size: 0.7rem;
		text-align: right;
	}

	.cd-upcoming-column {
		padding: 0.7rem;
	}

	.cd-upcoming-column__head {
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		gap: 0.65rem;
		margin-bottom: 0.65rem;
		padding: 0.2rem 0.1rem 0.8rem;
	}

	.cd-upcoming-column .cd-event-card {
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 0.75rem;
		align-items: start;
		padding: 0.75rem;
	}

	.cd-upcoming-column .cd-event-card__date {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-content: center;
		align-self: start;
		justify-content: center;
		justify-items: center;
		width: 54px;
		min-height: 64px;
		padding: 0.45rem 0.25rem 0.4rem;
		gap: 0.2rem;
	}

	.cd-upcoming-column .cd-event-card__date strong {
		font-family: var(--wp--preset--font-family--body);
		font-size: 1.45rem;
		font-weight: 800;
		line-height: 0.9;
	}

	.cd-upcoming-column .cd-event-card__date span {
		color: var(--cd-blue-dark);
		font-size: 0.6rem;
		font-weight: 800;
		letter-spacing: 0.1em;
		line-height: 1;
	}

	.cd-upcoming-column .cd-event-card__meta {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.4rem;
		width: 100%;
		margin-top: 0.1rem;
	}

	.cd-upcoming-column .cd-event-card__meta .cd-badge {
		justify-content: center;
		width: 100%;
		min-height: 42px;
		box-sizing: border-box;
		padding: 0.45rem 0.55rem;
		line-height: 1.25;
		text-align: center;
		white-space: normal;
	}

	.cd-upcoming-column .cd-event-card__link {
		display: inline-flex;
		grid-column: 1 / -1;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		box-sizing: border-box;
		padding: 0.65rem 0.8rem;
		border: 1px solid #dfe6ff;
		border-radius: 8px;
		background: var(--cd-blue-soft);
		text-align: center;
	}

	.cd-upcoming-column .cd-event-card__link::after {
		margin-left: 0.35rem;
		content: "\2192";
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list {
		gap: 0.8rem;
		margin-top: 1.4rem;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card {
		grid-template-columns: 70px minmax(0, 1fr);
		grid-template-rows: 155px auto auto;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__date,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__date {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-content: center;
		align-self: start;
		justify-content: center;
		justify-items: center;
		width: 54px;
		min-height: 64px;
		margin: 0.85rem 0 0 0.85rem;
		padding: 0.45rem 0.25rem 0.4rem;
		gap: 0.2rem;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__date strong,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__date strong {
		font-family: var(--wp--preset--font-family--body);
		font-size: 1.45rem;
		font-weight: 800;
		line-height: 0.9;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__date span,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__date span {
		color: var(--cd-blue-dark);
		font-size: 0.6rem;
		font-weight: 800;
		letter-spacing: 0.1em;
		line-height: 1;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__body,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__body {
		padding: 0.85rem 0.85rem 0.65rem 0.6rem;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__meta,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__meta {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.4rem;
		width: 100%;
		padding: 0 0.85rem 0.85rem;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__meta .cd-badge,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__meta .cd-badge {
		justify-content: center;
		width: 100%;
		min-height: 42px;
		padding: 0.45rem 0.5rem;
		line-height: 1.25;
		text-align: center;
		white-space: normal;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__link,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__link {
		display: inline-flex;
		grid-column: 1 / -1;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		padding: 0.65rem 0.8rem;
		border: 1px solid #dfe6ff;
		border-radius: 8px;
		background: var(--cd-blue-soft);
		text-align: center;
	}

	.cd-page-in-person-courses .wp-block-post-content > .cd-event-list .cd-event-card__link::after,
	.cd-page-live-classes .wp-block-post-content > .cd-event-list .cd-event-card__link::after {
		margin-left: 0.35rem;
		content: "\2192";
	}
}
