/* Wellcaza theme components. Colours and type come from theme.json presets. */

:root {
	--wz-navy: var(--wp--preset--color--navy, #1E1A55);
	--wz-navy-deep: var(--wp--preset--color--navy-deep, #15123F);
	--wz-teal: var(--wp--preset--color--teal, #16958F);
	--wz-teal-dark: var(--wp--preset--color--teal-dark, #0F6F6B);
	--wz-teal-light: var(--wp--preset--color--teal-light, #DDF3F2);
	--wz-lavender: var(--wp--preset--color--lavender, #F5F4FA);
	--wz-lavender-strong: var(--wp--preset--color--lavender-strong, #E4E2F3);
	--wz-ink-soft: var(--wp--preset--color--ink-soft, #4A4775);
	--wz-muted: var(--wp--preset--color--muted, #6E6B94);
	--wz-border: var(--wp--preset--color--border, #E7E6F0);
	--wz-gold: var(--wp--preset--color--gold, #C98A12);
	--wz-on-dark: #CFCDEB;
	--wz-on-dark-accent: #7FDCD7;
	--wz-radius: 24px;
	--wz-serif: var(--wp--preset--font-family--display);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

body { -webkit-font-smoothing: antialiased; }
.wz-main { margin-block-start: 0; }
.wz-main > * { margin-block-start: 0; }

/* ---------- Buttons ---------- */
.wp-block-button .wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button.is-style-wz-navy .wp-block-button__link { background: var(--wz-navy); color: #fff; }
.wp-block-button.is-style-wz-navy .wp-block-button__link:hover { background: var(--wz-navy-deep); }
.wp-block-button.is-style-wz-light .wp-block-button__link { background: #fff; color: var(--wz-navy); }
.wp-block-button.is-style-wz-light .wp-block-button__link:hover { background: var(--wz-teal-light); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wz-navy);
	border: 1.5px solid #CFCDE3;
	padding: calc(.95rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--wz-navy); background: #fff; }

/* ---------- Small type helpers ---------- */
.wz-eyebrow,
.wz-eyebrow a {
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wz-teal);
	text-decoration: none;
	margin: 0;
}
.wz-eyebrow + h1, .wz-eyebrow + h2, .wz-eyebrow + h3 { margin-top: .6rem; }
.wz-lead { font-size: 1.1875rem; line-height: 1.6; color: var(--wz-ink-soft); }
.wz-muted { color: var(--wz-muted); font-size: .875rem; }
.wz-pill {
	display: inline-block;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--wz-teal-dark);
	background: var(--wz-teal-light);
	padding: .5rem .9rem;
	border-radius: 999px;
}
.wz-rounded img, .wz-rounded { border-radius: var(--wz-radius); }
.wz-arrow-link a { font-weight: 600; text-decoration: none; color: var(--wz-teal-dark); }
.wz-arrow-link a::after { content: " →"; }
.wz-center { text-align: center; }
.wz-placeholder { font-size: .875rem; line-height: 1.5; text-align: center; max-width: 22rem; margin: 0 auto; opacity: .9; }

/* ---------- Top bar and header ---------- */
.wz-topbar { background: var(--wz-navy); color: #D9F2F1; font-size: .8125rem; }
.wz-topbar__inner { padding-block: .55rem; gap: .5rem 1.5rem; }
.wz-topbar p { margin: 0; }
.wz-topbar strong { color: #fff; font-weight: 600; }
.wz-topbar a { color: #D9F2F1; text-decoration: none; }
.wz-topbar a:hover { color: #fff; }
.wz-topbar__links { gap: .5rem 1.25rem; }

.wz-header { background: #fff; border-bottom: 1px solid var(--wz-border); position: relative; z-index: 20; }
.wz-header__inner { padding-block: .85rem; gap: 1.5rem; }
.wz-brand { gap: .75rem; align-items: center; }
.wz-brand .wp-block-site-logo { flex-shrink: 0; }
.wz-brand .wp-block-site-logo img { display: block; }
.wz-brand__text { gap: 0; }
.wz-brand .wp-block-site-title { margin: 0; line-height: 1; letter-spacing: .02em; }
.wz-brand .wp-block-site-title a { text-decoration: none; }
.wz-brand__name { margin: 0; font-family: var(--wz-serif); font-size: 1.5rem; font-weight: 600; line-height: 1; letter-spacing: .02em; }
.wz-brand__name a { color: var(--wz-navy); text-decoration: none; }
.wz-brand__tagline { margin: .2rem 0 0; font-size: .6875rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--wz-teal); }
.wz-nav { gap: 1.5rem; }
.wz-nav a { text-decoration: none; color: var(--wz-navy); }
.wz-nav a:hover { color: var(--wz-teal); }
.wz-nav .wp-block-navigation__responsive-container.is-menu-open { background: #fff; padding: 2rem 1.5rem; }
.wz-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; font-size: 1.25rem; }
.wz-header__cta { flex-shrink: 0; margin: 0; }
.wz-header__cta .wp-block-button__link { padding: .8rem 1.4rem; }

/* ---------- Sections ---------- */
.wz-section { padding-block: var(--wp--preset--spacing--70); }
.wz-section--flush-top { padding-top: 0; }
.wz-tint { background: var(--wz-lavender); }
.wz-dark { background: var(--wz-navy); color: #fff; position: relative; overflow: hidden; }
.wz-dark :where(h1, h2, h3, h4) { color: #fff; }
.wz-dark .wz-lead { color: var(--wz-on-dark); }
.wz-dark .wz-eyebrow { color: var(--wz-on-dark-accent); }
.wz-dark::before {
	content: "";
	position: absolute;
	width: 600px;
	height: 600px;
	left: -220px;
	bottom: -280px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .08);
	box-shadow: 0 0 0 50px transparent, 0 0 0 52px rgba(255, 255, 255, .06);
	pointer-events: none;
}
.wz-dark > * { position: relative; }

.wz-section-head { gap: 1rem 2rem; margin-bottom: 2.5rem; }
.wz-section-head h2 { margin-bottom: 0; }
.wz-section-head__text { max-width: 26rem; margin: 0; color: var(--wz-ink-soft); }
.wz-center + .wz-grid, .wz-center + .wz-steps { margin-top: 3rem; }
.wz-grid { gap: 1.25rem; }

/* ---------- Hero ---------- */
.wz-hero { background: var(--wz-lavender); position: relative; overflow: hidden; padding-block: 4.5rem 4rem; }
.wz-hero::before,
.wz-hero::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	border: 2px solid #DCDAEC;
	pointer-events: none;
}
.wz-hero::before { width: 600px; height: 600px; right: -120px; top: -60px; }
.wz-hero::after { width: 720px; height: 720px; right: -180px; top: -120px; border-color: #E6E4F2; }
.wz-hero > * { position: relative; z-index: 1; }
.wz-hero__cols { gap: 3.5rem; align-items: center; }
.wz-hero__title { margin: 1.25rem 0 1.25rem; letter-spacing: -.02em; }
.wz-hero__title em { color: var(--wz-teal); font-style: italic; }
.wz-hero__copy .wz-lead { max-width: 35rem; margin-bottom: 2rem; }
.wz-hero__buttons { margin-bottom: 2.25rem; }
.wz-hero__proof { gap: 1rem 1.75rem; align-items: center; }
.wz-hero__proof p { margin: 0; }
.wz-rating { font-size: .8125rem; color: var(--wz-ink-soft); display: flex; align-items: center; gap: .6rem; }
.wz-rating strong { font-family: var(--wz-serif); font-size: 2.1rem; font-weight: 500; color: var(--wz-navy); }
.wz-stars { color: var(--wz-gold); letter-spacing: .15em; }
.wz-hero__note { font-size: .8125rem; line-height: 1.5; color: var(--wz-ink-soft); padding-left: 1.75rem; border-left: 1px solid #D6D4E6; max-width: 12rem; }
.wz-hero__note strong { color: var(--wz-navy); font-weight: 600; }

.wz-hero__visual { position: relative; min-height: 520px; }
.wz-hero__photo {
	position: absolute;
	inset: 0 0 0 40px;
	border-radius: 280px 280px 32px 32px;
	background-color: var(--wz-navy);
	background-size: cover;
	background-position: center;
	color: #BFEAE8;
	padding: 3rem;
	overflow: hidden;
}
.wz-badge { position: absolute; border-radius: 18px; padding: 1rem 1.25rem; z-index: 2; }
.wz-badge p { margin: 0; font-size: .8125rem; line-height: 1.45; }
.wz-badge--teal { right: -8px; top: 70px; background: var(--wz-teal); color: #fff; }
.wz-badge__num { font-family: var(--wz-serif); font-size: 1.9rem !important; line-height: 1.1 !important; }
.wz-badge--card { left: 0; bottom: 64px; background: #fff; border: 1px solid #ECEBF4; max-width: 18rem; color: var(--wz-ink-soft); padding-left: 4.25rem; }
.wz-badge--card::before {
	content: "";
	position: absolute;
	left: 1.1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 12px;
	background: var(--wz-teal-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F6F6B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5 9-5z'/%3E%3Cpath d='M7 10.5V15c0 1.5 2.5 3 5 3s5-1.5 5-3v-4.5'/%3E%3C/svg%3E") center / 22px no-repeat;
}
.wz-badge__title { color: var(--wz-navy); font-weight: 700; font-size: .9375rem !important; }

.wz-finder {
	margin-top: 3rem;
	background: #fff;
	border: 1px solid var(--wz-border);
	border-radius: var(--wz-radius);
	padding: 1.1rem 1.4rem;
	gap: .75rem 1.25rem;
	align-items: center;
}
.wz-finder__label { margin: 0; font-weight: 700; font-size: .9375rem; }
.wz-finder__chips { gap: .5rem; }
.wz-finder__chips .wp-block-button__link { padding: .6rem 1.1rem; font-size: .9375rem; }
.wz-finder__chips .is-style-outline .wp-block-button__link { padding: calc(.6rem - 1.5px) calc(1.1rem - 1.5px); }

/* ---------- School cards ---------- */
.wz-school {
	background: var(--wz-lavender);
	border-radius: 28px;
	padding: 2.1rem;
	display: flex;
	flex-direction: column;
	gap: .9rem;
	min-height: 22rem;
}
.wz-school > * { margin: 0 !important; }
.wz-school h3 { font-size: 1.6rem; }
.wz-school p { color: var(--wz-ink-soft); }
.wz-school .wz-eyebrow { color: var(--wz-teal-dark); font-size: .75rem; }
.wz-school .wz-arrow-link { margin-top: auto !important; }
.wz-school::before {
	content: "";
	width: 56px;
	height: 56px;
	border-radius: 18px;
	background-color: var(--wz-navy);
	background-position: center;
	background-size: 28px;
	background-repeat: no-repeat;
	margin-bottom: .35rem;
}
.wz-school--navy { background: var(--wz-navy); }
.wz-school--navy::before { background-color: var(--wz-teal); }
.wz-school--navy h3 { color: #fff; }
.wz-school--navy p { color: var(--wz-on-dark); }
.wz-school--navy .wz-eyebrow, .wz-school--navy .wz-arrow-link a { color: var(--wz-on-dark-accent); }
.wz-school--teal { background: var(--wz-teal); }
.wz-school--teal h3 { color: #fff; }
.wz-school--teal p { color: #E2F7F6; }
.wz-school--teal .wz-eyebrow { color: #DFF6F5; }
.wz-school--teal .wz-arrow-link a { color: #fff; }
.wz-icon-lab::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6'/%3E%3Cpath d='M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3'/%3E%3Cpath d='M7.5 15h9'/%3E%3C/svg%3E"); }
.wz-icon-language::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h8'/%3E%3Cpath d='M8 3v2'/%3E%3Cpath d='M6 5c0 4 3 7 6 8'/%3E%3Cpath d='M10 5c-1 4-4 7-6 8'/%3E%3Cpath d='M12 21l4-10 4 10'/%3E%3Cpath d='M13.5 17h5'/%3E%3C/svg%3E"); }
.wz-icon-digital::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8'/%3E%3Cpath d='M12 16v4'/%3E%3Cpath d='M7 11l2-2 2 3 2-4 2 3h2'/%3E%3C/svg%3E"); }
.wz-icon-briefcase::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M3 13h18'/%3E%3C/svg%3E"); }

/* ---------- School chips (Categories block with the School taxonomy) ---------- */
.wz-school-chips { list-style: none; padding: 0; margin: 0 0 1.75rem; display: flex; flex-wrap: wrap; gap: .6rem; }
.wz-school-chips li { margin: 0; }
.wz-school-chips a {
	display: inline-block;
	padding: .55rem 1.1rem;
	border: 1px solid #D6D4E6;
	border-radius: 999px;
	background: #fff;
	font-size: .9375rem;
	font-weight: 600;
	color: var(--wz-navy);
	text-decoration: none;
}
.wz-school-chips a:hover, .wz-school-chips .current-cat a { background: var(--wz-navy); border-color: var(--wz-navy); color: #fff; }

/* ---------- Course cards ---------- */
.wz-courses .wp-block-post-template { gap: 1.25rem; }
.wz-course-card {
	border: 1px solid var(--wz-border);
	border-top: 4px solid var(--wz-teal);
	border-radius: var(--wz-radius);
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform .15s ease, border-color .15s ease;
}
.wz-course-card:has(.wp-block-post-featured-image) { border-top-width: 1px; border-top-color: var(--wz-border); }
.wz-course-card:hover { transform: translateY(-2px); border-color: #CFCDE3; }
.wz-course-card > * { margin: 0 !important; }
.wz-course-card__media img { border-radius: 0; }
.wz-course-card__body { padding: 1.4rem 1.5rem 1.25rem; display: flex; flex-direction: column; gap: .6rem; flex-grow: 1; }
.wz-course-card__body > * { margin: 0 !important; }
.wz-course-card__body .wz-eyebrow, .wz-course-card__body .wz-eyebrow a { font-size: .6875rem; }
.wz-course-card__title { font-family: var(--wp--preset--font-family--body); font-size: 1.2rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.wz-course-card__title a { text-decoration: none; }
.wz-course-card__excerpt { font-size: .875rem; color: var(--wz-muted); }
.wz-course-card__excerpt p { margin: 0; }
.wz-course-meta { display: flex; flex-direction: column; gap: .35rem; flex-grow: 1; }
.wz-course-meta__award { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wz-teal); }
.wz-course-meta__line { font-size: .875rem; color: var(--wz-muted); }
.wz-course-meta__foot {
	margin-top: auto;
	padding-top: .9rem;
	border-top: 1px solid #EFEEF6;
	display: flex;
	justify-content: space-between;
	gap: .5rem;
	font-size: .875rem;
	color: var(--wz-ink-soft);
}
.wz-course-meta__award + .wz-course-meta__foot, .wz-course-meta__line + .wz-course-meta__foot { margin-top: auto; }
.wz-course-meta__more { font-weight: 600; color: var(--wz-teal-dark); text-decoration: none; white-space: nowrap; }
.wz-soon {
	display: inline-block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #7A4B00;
	background: #FCEFD2;
	border-radius: 999px;
	padding: .25rem .7rem;
}
.wz-course-card:has(.is-coming-soon) { border-top-color: #E7B54A; background: #FCFBFE; }
.wz-course-card:has(.is-coming-soon) .wz-course-card__title a { color: var(--wz-ink-soft); }
.wz-soon-panel p { margin: 0 0 .75rem; color: var(--wz-ink-soft); }
.wz-soon-panel p.wz-soon { color: #7A4B00; }

/* ---------- Advantage band ---------- */
.wz-split { gap: 3.5rem; align-items: center; }
.wz-checks { list-style: none; padding: 0; margin: 1.5rem 0 2.25rem; display: grid; gap: .9rem; }
.wz-checks li { position: relative; padding-left: 1.9rem; }
.wz-checks li::before { content: "✓"; position: absolute; left: 0; color: #2EC4BE; font-weight: 700; }
.wz-mosaic { gap: 1rem; }
.wz-photo {
	min-height: 220px;
	border-radius: var(--wz-radius);
	background-color: var(--wz-lavender-strong);
	background-size: cover;
	background-position: center;
	color: #3B3678;
	padding: 1rem;
	margin: 0 !important;
}
.wz-photo--teal { background-color: var(--wz-teal-light); color: var(--wz-teal-dark); }
.wz-photo--dark { background-color: #2B2670; color: #BFEAE8; }
.wz-photo--tall { min-height: 456px; height: 100%; }
.wz-stat { border-radius: var(--wz-radius); padding: 1.6rem; background: #fff; color: var(--wz-ink-soft); margin: 0 !important; }
.wz-stat p { margin: 0; font-size: .875rem; }
.wz-stat__num { font-family: var(--wz-serif); font-size: 2.75rem !important; line-height: 1.1; color: var(--wz-navy); }
.wz-stat--teal { background: var(--wz-teal); color: #E2F7F6; }
.wz-stat--teal .wz-stat__num { color: #fff; }

/* Photos placed with Image blocks that fill their frame */
figure.wz-cover-img { margin: 0 !important; overflow: hidden; border-radius: var(--wz-radius); }
figure.wz-cover-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
figure.wz-photo { height: 220px; min-height: 0; padding: 0; }
figure.wz-photo.wz-photo--tall { height: 456px; }
.wz-hero__photo:has(figure.wz-cover-img) { padding: 0; }
.wz-hero__photo figure.wz-cover-img { position: absolute; inset: 0; border-radius: 0; }
.wz-content figure.wz-rounded img { border-radius: var(--wz-radius); }

/* ---------- Abroad pathways ---------- */
.wz-path { border: 1px solid var(--wz-border); border-radius: var(--wz-radius); padding: 1.9rem; display: flex; flex-direction: column; gap: .8rem; }
.wz-path > * { margin: 0 !important; }
.wz-path h3 { font-size: 1.5rem; }
.wz-path p { color: var(--wz-ink-soft); font-size: .9375rem; }
.wz-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto !important; }
.wz-tags span { font-size: .8125rem; padding: .35rem .75rem; border-radius: 999px; background: var(--wz-teal-light); color: var(--wz-teal-dark); }
.wz-tags span + span { background: var(--wz-lavender-strong); color: #3B3678; }

/* ---------- Steps ---------- */
.wz-step { border-top: 3px solid var(--wz-navy); padding-top: 1.25rem; }
.wz-step.is-first { border-top-color: var(--wz-teal); }
.wz-step > * { margin: 0 0 .5rem; }
.wz-step__num { font-family: var(--wz-serif); font-size: 2.5rem; line-height: 1; color: var(--wz-navy); }
.wz-step.is-first .wz-step__num { color: var(--wz-teal); }
.wz-step h3 { font-family: var(--wp--preset--font-family--body); font-size: 1.15rem; font-weight: 700; letter-spacing: 0; }
.wz-step p:last-child { color: var(--wz-ink-soft); font-size: .9375rem; }

/* ---------- Reviews and logos ---------- */
.wz-review { background: #fff; border-radius: var(--wz-radius); padding: 2rem; display: flex; flex-direction: column; gap: 1.25rem; }
.wz-review > * { margin: 0 !important; }
.wz-review__quote { font-family: var(--wz-serif); font-size: 1.3rem; line-height: 1.45; }
.wz-review__who { margin-top: auto !important; font-size: .875rem; color: var(--wz-ink-soft); }
.wz-review__who strong { color: var(--wz-navy); }
.wz-review--navy { background: var(--wz-navy); color: #fff; }
.wz-review--navy .wz-review__who { color: var(--wz-on-dark); }
.wz-review--navy .wz-review__who strong { color: #fff; }
.wz-review--navy .wz-stars { color: #F2C14E; }
.wz-logos { margin-top: 2.5rem; gap: .75rem; align-items: center; }
.wz-logos p { margin: 0; }
.wz-logos__label { font-weight: 600; font-size: .875rem; margin-right: .5rem !important; }
.wz-logo-slot { padding: .6rem 1.1rem; background: #fff; border-radius: 10px; font-size: .8125rem; color: var(--wz-muted); }

/* ---------- Gallery and news ---------- */
.wz-gallery { gap: 1rem; }
.wz-news .wp-block-post-template { gap: 1.25rem; }
.wz-news-item { border-top: 1px solid #E1DFEF; padding-top: 1.25rem; }
.wz-news-item > * { margin: 0 0 .5rem; }
.wz-news-item h3 { font-family: var(--wp--preset--font-family--body); font-size: 1.2rem; font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.wz-news-item h3 a { text-decoration: none; }
.wz-post-card > * { margin: 0 0 .6rem; }

/* ---------- Counselling panel and form ---------- */
.wz-cta {
	background: var(--wz-teal);
	border-radius: 36px;
	padding: clamp(1.75rem, 5vw, 3.5rem);
	gap: 2.5rem;
	align-items: center;
	position: relative;
	overflow: hidden;
}
.wz-cta::before {
	content: "";
	position: absolute;
	width: 500px;
	height: 500px;
	right: -160px;
	top: -200px;
	border-radius: 50%;
	border: 2px solid rgba(127, 220, 215, .45);
	box-shadow: 0 0 0 48px transparent, 0 0 0 50px rgba(127, 220, 215, .35);
	pointer-events: none;
}
.wz-cta > * { position: relative; }
.wz-cta__copy, .wz-cta__copy h2 { color: #fff; }
.wz-cta__copy .wz-lead { color: #E2F7F6; }
.wz-cta__copy .wz-contact { font-size: .875rem; color: #E2F7F6; }

.wz-enquiry {
	background: #fff;
	border-radius: var(--wz-radius);
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	gap: .4rem;
	color: var(--wz-navy);
}
.wz-enquiry__title { font-family: var(--wz-serif); font-size: 1.4rem; margin: 0 0 .5rem; }
.wz-enquiry label { font-size: .8125rem; font-weight: 600; color: var(--wz-ink-soft); margin-top: .5rem; }
.wz-enquiry input,
.wz-enquiry select,
.wz-enquiry textarea {
	font: inherit;
	font-size: 1rem;
	width: 100%;
	box-sizing: border-box;
	padding: .85rem;
	border-radius: 12px;
	border: 1px solid #D6D4E6;
	background: #fff;
	color: var(--wz-navy);
}
.wz-enquiry input:focus, .wz-enquiry select:focus { outline: 2px solid var(--wz-teal); outline-offset: 1px; border-color: var(--wz-teal); }
.wz-enquiry button {
	margin-top: 1rem;
	background: var(--wz-navy);
	color: #fff;
	border: 0;
	border-radius: 12px;
	padding: 1rem;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	min-height: 52px;
}
.wz-enquiry button:hover { background: var(--wz-navy-deep); }
.wz-enquiry__small { font-size: .75rem; color: var(--wz-muted); text-align: center; margin: .5rem 0 0; }
.wz-enquiry__notice { margin: 0 0 .5rem; padding: .75rem 1rem; border-radius: 12px; font-size: .9375rem; }
.wz-enquiry__notice.is-success { background: var(--wz-teal-light); color: var(--wz-teal-dark); }
.wz-enquiry__notice.is-error { background: #FDECEC; color: #9B1C1C; }
.wz-enquiry__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Single course and page heads ---------- */
.wz-page-head { padding-block: 3.5rem 2rem; }
.wz-page-head--tint { background: var(--wz-lavender); margin-bottom: 3rem; }
.wz-content { margin-bottom: 3rem; }
.wz-course-hero { background: var(--wz-navy); color: #fff; padding-block: 4rem; margin-bottom: 3rem; position: relative; overflow: hidden; }
.wz-course-hero :where(h1, h2) { color: #fff; }
.wz-course-hero .wp-block-post-title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); }
.wz-course-hero .wz-lead, .wz-course-hero .wp-block-post-excerpt { color: var(--wz-on-dark); font-size: 1.15rem; }
.wz-course-hero__cols { gap: 3rem; align-items: center; }
.wz-eyebrow--light, .wz-eyebrow--light a { color: var(--wz-on-dark-accent); }
.wz-facts-card { background: #fff; color: var(--wz-navy); border-radius: var(--wz-radius); padding: 1.75rem; }
.wz-facts-card__title { font-size: 1.4rem; color: var(--wz-navy) !important; margin-top: 0; }
.wz-facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1rem 1.5rem; }
.wz-facts__item { border-top: 1px solid var(--wz-border); padding-top: .75rem; }
.wz-facts dt { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wz-teal); }
.wz-facts dd { margin: .25rem 0 0; font-weight: 600; }

.wz-content h2 { font-size: 1.75rem; margin-top: 2.5rem; }
.wz-content ul { padding-left: 1.25rem; }
.wz-content li { margin-bottom: .35rem; }
.wz-table { margin: 1.25rem 0; overflow-x: auto; }
.wz-table table { width: 100%; min-width: 32rem; border-collapse: collapse; font-size: .9375rem; table-layout: auto; }
.wz-table th { background: var(--wz-navy); color: #fff; text-align: left; font-weight: 600; padding: .7rem .9rem; border: 0; }
.wz-table td { padding: .65rem .9rem; border: 0; border-bottom: 1px solid var(--wz-border); vertical-align: top; }
.wz-table tbody tr:nth-child(even) td { background: var(--wz-lavender); }

/* ---------- Footer ---------- */
.wz-footer { background: var(--wz-navy-deep); color: var(--wz-on-dark); padding-block: 4.5rem 2rem; margin-top: 0; }
.wz-footer a { color: var(--wz-on-dark); text-decoration: none; }
.wz-footer a:hover { color: #fff; }
.wz-footer p { font-size: .9375rem; margin: 0 0 .5rem; }
.wz-footer__cols { gap: 2.5rem; }
.wz-footer__logo img { background: #fff; border-radius: 50%; padding: 8px; box-sizing: content-box; }
.wz-footer__name { color: #fff; font-size: 1.35rem; margin: 1rem 0 .75rem; }
.wz-footer__label { font-family: var(--wp--preset--font-family--body); color: #fff; font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1rem; }
.wz-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; font-size: .9375rem; }
.wz-contact--social { display: flex; gap: 1rem; flex-wrap: wrap; }
.wz-footer .wz-contact--social a { color: var(--wz-on-dark-accent); }
.wz-footer__bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #2B2766; gap: .75rem; }
.wz-footer__bottom p { font-size: .8125rem; color: #9C99C4; margin: 0; }

/* ---------- Elementor ---------- */
.wz-elementor-main,
.wz-elementor-main > .wp-block-post-content { margin: 0; padding: 0; max-width: none; }
.wz-elementor-main .elementor { font-family: var(--wp--preset--font-family--body); }
.wz-elementor-main .elementor :where(h1, h2, h3, h4, h5, h6) { font-family: var(--wz-serif); color: var(--wz-navy); }
.wz-elementor-main .elementor-button { border-radius: 999px; }
.wz-elementor-canvas .wz-mobile-bar, .wz-elementor-canvas .wz-wa-float { display: none !important; }
body.wz-elementor-canvas { padding-bottom: 0; }
:root {
	--e-global-color-primary: #1E1A55;
	--e-global-color-secondary: #16958F;
	--e-global-color-text: #4A4775;
	--e-global-color-accent: #16958F;
}

/* ---------- Floating contact ---------- */
.wz-wa-float {
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--wz-teal);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 3px solid #fff;
	z-index: 50;
	box-shadow: 0 6px 18px rgba(21, 18, 63, .2);
}
.wz-wa-float:hover { background: var(--wz-teal-dark); color: #fff; }
.wz-mobile-bar { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.wz-header__cta { display: none !important; }
}

@media (max-width: 781px) {
	.wz-topbar__links { display: none !important; }
	.wz-header__cta { display: none !important; }
	.wz-brand .wp-block-site-logo img { width: 46px !important; height: auto; }
	.wz-brand__tagline { font-size: .5625rem; letter-spacing: .16em; white-space: nowrap; }
	.wz-hero { padding-block: 2.5rem 2.5rem; }
	.wz-hero__cols { gap: 2rem; }
	.wz-hero__visual { min-height: 380px; }
	.wz-hero__photo { inset: 0 0 0 0; border-radius: 200px 200px 24px 24px; }
	.wz-badge--teal { right: 8px; top: 40px; }
	.wz-badge--card { left: 8px; right: 8px; bottom: 16px; max-width: none; }
	.wz-hero__note { border-left: 0; padding-left: 0; }
	.wz-school { min-height: 0; }
	.wz-photo--tall { min-height: 280px; }
	.wz-news .wp-block-post-template { grid-template-columns: 1fr !important; }

	.wz-wa-float { display: none; }
	.wz-mobile-bar {
		display: grid;
		grid-template-columns: 1fr 1fr 1.2fr;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 50;
		background: #fff;
		border-top: 1px solid var(--wz-border);
	}
	.wz-mobile-bar a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: .4rem;
		min-height: 56px;
		font-size: .875rem;
		font-weight: 600;
		color: var(--wz-navy);
		text-decoration: none;
	}
	.wz-mobile-bar a.is-primary { background: var(--wz-teal); color: #fff; }
	body { padding-bottom: 56px; }
}

@media (prefers-reduced-motion: reduce) {
	.wz-course-card, .wp-block-button .wp-block-button__link { transition: none; }
	.wz-course-card:hover { transform: none; }
}
