/*
Theme Name: Edunoetic
Theme URI: https://edunoetic.co.uk
Description: EduNoetic Solutions' small layer on the Gradespace Tutor theme (Academy design), so the WordPress site looks like edunoetic.co.uk: the navy contact bar and the header (logo, the pill menu Home · About · Services · Tutors · Blog · Contact, Log in, Book a Session), the footer (logo, Company and Subjects links, the newsletter line), the subject photo cards, the booking card beside the prices band, the blog page and posts, and the live site's spacing, buttons and colours. Everything else comes from the parent theme, so its updates apply here.
Author: Gradespace
Author URI: https://thegradespace.com
Template: gradespace-tutor-theme
Version: 0.3.6
Update URI: false
Requires at least: 6.8
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: edunoetic-child
*/

/* Only what differs from the parent theme (Academy). Bump Version on every change. */

/* ==========================================================================
   The live site's measurements: a 1200px frame with 24px sides, 80px sections,
   Inter, grey text #6B7280, pill buttons with the blue gradient.
   ========================================================================== */
body {
	--gstut-max: 1152px;
	--gstut-gutter: 24px;
	--gstut-sec: 80px;
	--muted: #6B7280;
	--edun-blue: #072AC8;
	--edun-sky: #1E96FC;
	--edun-red: #D1495B;
	--edun-navy: #0B1026;
	--edun-blue-bg: #EAF1FF;
	--edun-bg-light: #F6F9FF;
	--edun-line: #E5E7EB;
	--gsc-sticky-bg: rgb(255 255 255 / 0.97);
	--gsc-sticky-shadow: 0 2px 20px rgb(0 0 0 / 0.09);
	line-height: 1.7;
}
.gstut-sec--tint { background: var(--edun-bg-light); }
/* Headings: Inter 800 without Academy's tighter letter spacing. */
h1, h2, h3, h4, .gstut-display, .gstut-h2, .gstut-h3 { letter-spacing: normal; }
.gstut-h2 { font-size: clamp(1.6rem, 3.5vw, 2.6rem); line-height: 1.2; }
.gstut-ahead { gap: 0; }
.gstut-ahead .gstut-pill { margin-bottom: 16px; }
.gstut-ahead .gstut-h2 { margin: 0 0 12px; }
.gstut-ahead .gstut-lead { max-width: 36rem; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.gstut-ahead + * { margin-top: 48px !important; }
.gstut-pill, .gstut-eyebrow { padding: 6px 12px; background: var(--edun-blue-bg); color: var(--edun-blue); font-size: 0.75rem; letter-spacing: 0.1em; }
.gstut-lead { color: var(--muted); }

/* Buttons: as the live site's .btn (pill, 600, the gradient; outlines in sky blue). */
.wp-element-button, .wp-block-button__link, .gstu-btn, .gstut-btn { min-height: 0; padding: 0.75rem 1.75rem; font: 600 0.95rem/1 var(--body); }
.wp-block-button.is-style-outline .wp-block-button__link, .gstu-btn--secondary { border-color: var(--edun-sky); color: var(--edun-sky); }
.wp-block-button.is-style-outline .wp-block-button__link:hover, .gstu-btn--secondary:hover { background: var(--edun-sky); border-color: var(--edun-sky); color: #fff; }
.gstut-btn-pop .wp-block-button__link { background: var(--edun-red); border-color: var(--edun-red); color: #fff; }
.gstut-btn-pop .wp-block-button__link:hover { background: #B63D4D; border-color: #B63D4D; color: #fff; }
.edun-btn-sm .wp-block-button__link, .wp-block-button.edun-btn-sm .wp-block-button__link { padding: 0.45rem 1.1rem; font-size: 0.82rem; }
.gstut-btn-ghost .wp-block-button__link { border-color: rgb(255 255 255 / 0.5); }
.gstut-btn-ghost .wp-block-button__link:hover { background: rgb(255 255 255 / 0.12); border-color: #fff; color: #fff; }
.gstut-btn-white .wp-block-button__link:hover { background: var(--edun-blue-bg); border-color: var(--edun-blue-bg); color: var(--edun-blue); }

/* ==========================================================================
   Header: the navy contact bar, then the logo, the pill menu, Log in and
   Book a Session. Both stay at the top as you scroll (Site Settings → Design
   & colours → Keep the menu at the top when scrolling).
   ========================================================================== */
.edun-topbar { background: var(--edun-navy); }
.edun-topbar__inner { display: flex; align-items: center; justify-content: flex-end; gap: 24px; min-height: 38px; }
.edun-topbar__item { margin: 0; color: rgb(255 255 255 / 0.8); font-size: 0.8rem; line-height: 1; white-space: nowrap; }
.edun-topbar__item a { color: rgb(255 255 255 / 0.8); text-decoration: none; }
.edun-topbar__item a:hover { color: #fff; }
@media (max-width: 640px) {
	.edun-topbar__inner { flex-direction: column; justify-content: center; gap: 2px; min-height: 52px; }
	.edun-topbar__item { font-size: 0.74rem; }
}

.edun-header { background: transparent; border-bottom: 0; }
.edun-header .gstut-header__inner { gap: 32px; min-height: 0; padding-block: 0.66rem; }
.edun-header .gstut-brand { flex: 1 1 0; }
.edun-logo, .edun-logo a { display: inline-flex; line-height: 0; }
.edun-logo img { width: auto !important; height: 32px !important; max-height: none; }
.edun-header .gstut-nav { flex: none; }
.edun-header__actions { flex: 1 1 0; justify-content: flex-end; gap: 12px; }
.edun-login { margin: 0; }
.edun-login a { display: block; padding: 0.375rem 0.75rem; border-radius: 999px; color: var(--muted); font-size: 0.92rem; font-weight: 500; text-decoration: none; white-space: nowrap; }
.edun-login a:hover { color: var(--ink); }
.edun-header .gstut-header__buttons .wp-block-button__link { min-height: 0; padding: 0.45rem 1.1rem; font-size: 0.82rem; }
.edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: 0; padding: 4px 6px; border-color: var(--edun-line); }
.edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content { padding: 0.4rem 0.85rem; color: var(--muted); font-size: 0.92rem; font-weight: 500; line-height: 1.7; }
.edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content:hover { background: var(--edun-bg-light); color: var(--ink); }
.edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content[aria-current="page"] { background: var(--edun-blue-bg); color: var(--edun-blue); }
.edun-nav-login { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .edun-nav-login { display: flex !important; }

/* The menu stays in the bar down to 768px while it fits (the parent's script
   switches to the menu button, html.gstut-tight, only when it doesn't). */
@media (min-width: 768px) and (max-width: 1239px) {
	html:not(.gstut-tight) .edun-header .gstut-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; }
	html:not(.gstut-tight) .edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: block; }
	html:not(.gstut-tight) .edun-header .gstut-header__inner > .gstut-brand { margin-right: 0; }
	html:not(.gstut-tight) .edun-header .gstut-header__inner > .gstut-nav { order: 0; margin-inline: auto; flex: 0 1 auto; }
	html.gstut-fit-2 .edun-header .gstut-header__inner { gap: 16px; }
	html.gstut-fit-2 .edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content { padding-inline: 0.6rem; font-size: 0.88rem; }
	html.gstut-fit-3 .edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content { padding-inline: 0.45rem; font-size: 0.85rem; }
	html.gstut-fit-3 .edun-login a { padding-inline: 0.4rem; }
}
html.gstut-tight .edun-header .gstut-brand { flex: 0 1 auto; }
@media (max-width: 767px) {
	.edun-header .gstut-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.edun-header .gstut-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.edun-header__actions { display: flex; flex: none; margin-left: auto; }
	.edun-login { display: none; }
	.edun-header .gstut-header__buttons .wp-block-button__link { padding: 0.6rem 1.1rem; font-size: 0.85rem; }
	.edun-header .gstut-nav .wp-block-navigation__responsive-container-open { border: 0; background: transparent; box-shadow: none; }
	.edun-header .gstut-header__inner { gap: 12px; }
	.edun-header .gstut-header__inner > .gstut-nav { order: 6; margin: 0; flex: none; }
	.edun-header .gstut-header__inner { min-height: 56px; }
}

/* ==========================================================================
   Footer: navy, the logo with the company line and contact details, Company
   and Subjects, the newsletter line, then the copyright and legal links.
   ========================================================================== */
.edun-footer { background: var(--edun-navy); color: #fff; }
.edun-footer__inner { padding-block: 64px; }
.edun-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin: 0 0 48px !important; }
.edun-footer__grid > *, .edun-footer__brand > *, .edun-footer__col > *, .edun-footer__inner > * { margin-block: 0; }
.edun-footer .edun-logo { margin-bottom: 12px !important; }
.edun-footer__col .edun-footer__title { margin-bottom: 16px !important; }
.edun-footer__about { margin-bottom: 20px !important; color: rgb(255 255 255 / 0.6); font-size: 0.88rem; line-height: 1.625; }
.edun-footer__contact { display: flex; gap: 8px; margin-bottom: 10px !important; color: rgb(255 255 255 / 0.65); font-size: 0.88rem; line-height: 1.6; }
.edun-footer__contact > span:first-child { font-size: 0.8rem; }
.edun-footer__contact a { color: rgb(255 255 255 / 0.65); text-decoration: none; }
.edun-footer__contact a:hover { color: #fff; }
.edun-footer__address { color: rgb(255 255 255 / 0.5); }
.edun-footer__title { margin: 0 0 16px; color: rgb(255 255 255 / 0.5); font: 700 0.8rem/1.5 var(--body); letter-spacing: 0.1em; text-transform: uppercase; }
.edun-footer__links { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.edun-footer__links li { margin: 0; line-height: 1.5; }
.edun-footer__links a, .edun-footer__legal a { color: rgb(255 255 255 / 0.65); font-size: 0.88rem; text-decoration: none; }
.edun-footer__links a:hover, .edun-footer__legal a:hover { color: #fff; }
.edun-footer__inner > .edun-footer__news { margin-bottom: 32px; }
.edun-footer__news { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 32px; padding-top: 32px; border-top: 1px solid rgb(255 255 255 / 0.1); }
.edun-footer__news-text > * { margin: 0; }
.edun-footer__news-title { margin-bottom: 2px !important; color: rgb(255 255 255 / 0.8); font-size: 0.88rem; font-weight: 600; }
.edun-footer__news-note { color: rgb(255 255 255 / 0.45); font-size: 0.8rem; }
.edun-footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid rgb(255 255 255 / 0.1); color: rgb(255 255 255 / 0.45); font-size: 0.82rem; }
.edun-footer__bar p { margin: 0; }
.edun-footer__copy a { color: rgb(255 255 255 / 0.65); text-decoration: none; }
.edun-footer__copy a:hover { color: #fff; }
.edun-footer__legal { display: flex; gap: 16px; }
.edun-footer__legal a { color: rgb(255 255 255 / 0.45); font-size: 0.82rem; }
@media (max-width: 1023px) { .edun-footer__grid { grid-template-columns: 1fr 1fr; } .edun-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 767px) { .edun-footer__grid { grid-template-columns: 1fr; } .edun-footer__bar { flex-direction: column; text-align: center; } }

/* ==========================================================================
   Home page
   ========================================================================== */
/* Hero: the live site's sizes (95% of the screen's height, large buttons). */
.gstut-hero--academy { display: flex; align-items: center; min-height: 95vh; padding-block: 4.75rem; }
.gstut-hero--academy > .gstut-wrap { flex: none; }
.gstut-hero--academy .gstut-hero__grid { gap: 80px; }
.gstut-hero--academy .gstut-hero__text { gap: 0; }
.gstut-hero--academy .gstut-badge { margin-bottom: 24px; }
.gstut-hero--academy .gstut-display { margin: 0 0 20px; }
.gstut-hero--academy .gstut-lead { max-width: 560px; margin: 0 0 32px; font-size: 1.08rem; line-height: 1.78; }
.gstut-hero--academy .gstut-hero__text > .wp-block-buttons { gap: 12px; margin: 0 0 36px; }
.gstut-hero--academy .gstut-hero__text > .wp-block-buttons .wp-block-button__link { padding: 0.95rem 2.25rem; font-size: 1.05rem; }
.gstut-hero--academy .gstut-kpi span { font-size: 0.76rem; }
@media (max-width: 1100px) { .gstut-hero--academy .gstut-hero__grid { gap: 56px; } }
@media (max-width: 767px) { .gstut-hero--academy { min-height: 0; } }

/* Numbers: navy into indigo, lavender figures, three across the middle. */
.gstut-s-stats { padding-block: 56px; background: linear-gradient(135deg, var(--edun-navy) 0%, #1E1B4B 100%); }
.gstut-s-stats .gstut-stats, .gstut-s-stats .gstut-stats:not(:has(> :nth-child(4))) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; max-width: 42rem; margin-inline: auto; }
.gstut-s-stats .gstut-stat { gap: 8px; }
.gstut-stat strong { font-size: 2.4rem; color: #818CF8; }
.gstut-stat span { color: rgb(255 255 255 / 0.6); }

/* Why us: the photo with "Trusted by 100+ students" pinned below it. */
.gstut-s-why { padding-block: 96px; }
.gstut-why__photo { height: 420px; border-radius: 24px; box-shadow: 0 24px 60px rgb(7 42 200 / 0.18); }
.gstut-why__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(11 16 38 / 0.38), transparent 62%); pointer-events: none; }
.gstut-why__photo { position: relative; }
.gstut-why__badge { right: 16px; bottom: -24px; background: rgb(255 255 255 / 0.95); border: 1px solid var(--edun-line); box-shadow: 0 12px 28px rgb(7 42 200 / 0.16); }
.gstut-why__badge strong { color: #051F90; font-size: 0.88rem; }
.gstut-s-why .gstut-h2 { font-size: clamp(1.85rem, 3.9vw, 3rem); line-height: 1.2; }
.gstut-s-why .gstut-featcard { background: var(--edun-bg-light); border-color: var(--edun-line); }
.gstut-s-why .gstut-featcard__t { color: #051F90; }

/* Subjects: four photo cards with a white label. */
.edun-subjects { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.edun-subject { position: relative; display: flex; min-height: 180px; overflow: hidden; border-radius: 14px; background: var(--edun-blue); text-decoration: none !important; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.edun-subject:hover { transform: translateY(-4px); box-shadow: 0 20px 60px rgb(0 0 0 / 0.18); }
.edun-subject__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.edun-subject:hover .edun-subject__img { transform: scale(1.04); }
.edun-subject__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / 0.42) 0%, rgb(0 0 0 / 0.06) 55%, transparent 100%); }
.edun-subject__label { position: absolute; left: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); padding: 0.45rem 0.9rem 0.4rem; border-radius: 4px; background: #fff; color: #111827; font-size: 0.85rem; font-weight: 900; line-height: 1.15; letter-spacing: -0.01em; text-transform: uppercase; }
@media (max-width: 639px) { .edun-subjects { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Services: the photo cards, a little taller. */
.gstut-promo { min-height: 280px; border-radius: 14px; }
.gstut-promo__label strong { font-size: 0.85rem; font-weight: 900; }
.gstut-promo__label em { font-size: 0.73rem; color: #374151; }

/* Prices band: mint, with the tutor's booking card. */
.gstut-s-proof { background: #ECFDF5; }
.gstut-s-proof .gstut-pill { background: #D1FAE5; color: #047857; }
.gstut-s-proof .gstut-h2 { margin: 0; }
.gstut-proof__grid:has(.edun-bookcard) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; max-width: none; }
.gstut-s-proof .gstut-lead { font-size: 1.05rem; }
.edun-bookcard { justify-self: center; width: 100%; max-width: 340px; padding: 28px; border-radius: 22px; background: #fff; box-shadow: 0 20px 60px rgb(0 0 0 / 0.12); }
.edun-bookcard__title { margin: 0 0 16px; font-size: 0.95rem; font-weight: 700; }
.edun-cal { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; margin-bottom: 16px; text-align: center; }
.edun-cal > span { padding: 6px 0; border-radius: 4px; font-size: 0.78rem; line-height: 1.5; }
.edun-cal .edun-cal__day { padding: 4px 0; color: var(--muted); font-size: 0.68rem; font-weight: 600; }
.edun-cal .edun-cal__past { color: var(--edun-line); }
.edun-cal .edun-cal__date { color: var(--ink); }
.edun-cal .is-today { background: var(--edun-blue); color: #fff; font-weight: 700; }
.edun-bookcard__tutor { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 8px; background: var(--edun-bg-light); }
.edun-bookcard__tutor strong { display: block; font-size: 0.88rem; font-weight: 600; line-height: 1.4; }
.edun-bookcard__tutor strong + span { display: block; color: var(--muted); font-size: 0.76rem; line-height: 1.4; }
.edun-bookcard__avatar { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #818CF8, #4F46E5); font-size: 1.1rem; }
@media (max-width: 1100px) { .gstut-proof__grid:has(.edun-bookcard) { grid-template-columns: minmax(0, 1fr); gap: 40px; } }

/* Stories: amber stars, the live site's card. */
.gstut-s-reviews { background: var(--edun-navy); }
.gstut-s-reviews .gstut-pill { background: rgb(79 70 229 / 0.3); box-shadow: none; color: #A5B4FC; }
.gstut-s-reviews .gstut-lead { color: rgb(255 255 255 / 0.55); }
.gstut-stories { gap: 24px; }
.gstut-story { padding: 32px; border-color: rgb(255 255 255 / 0.1); border-radius: 16px; background: rgb(255 255 255 / 0.07); }
.gstut-story__stars { color: #FBBF24; font-size: 0.95rem; letter-spacing: 0.05em; }
.gstut-story__q { color: rgb(255 255 255 / 0.85); font-size: 0.95rem; }
.gstut-story__who, .gstut-story__who strong { color: rgb(255 255 255 / 0.45); font-size: 0.83rem; font-weight: 400; }

/* Prices: the live site's plan cards (the plan's name small above the price, a full-width button). */
.edun-plans .gstu-lesson-types__list { gap: 24px; }
.edun-plans .gstu-lesson-type { display: flex; flex-direction: column; gap: 0; padding: 32px; border: 1.5px solid var(--edun-line); border-radius: 16px; background: #fff; box-shadow: 0 4px 20px rgb(0 0 0 / 0.04); }
.edun-plans .gstu-lesson-type > * { margin: 0; }
.edun-plans .gstut-lt__kicker { display: none; }
.edun-plans .gstu-lesson-type__name { margin-bottom: 8px; color: var(--muted); font: 700 0.73rem/1.5 var(--body); letter-spacing: 0.1em; text-transform: uppercase; }
/* One line, left: the price and its period share a baseline (the parent stacks them in a column). */
.edun-plans .gstut-lt__price { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-bottom: 20px; }
.edun-plans .gstut-lt__price strong { color: var(--ink); font-size: 2.6rem; font-weight: 800; line-height: 1; }
.edun-plans .gstut-lt__price span { color: var(--muted); font-size: 0.88rem; }
.edun-plans .gstut-lt__points { margin-bottom: 20px; padding-bottom: 0; border: 0; }
.edun-plans .gstut-lt__points li { color: var(--muted); font-size: 0.9rem; }
.edun-plans .gstu-lesson-type__book { margin-top: auto; padding-top: 0; border: 0; }
.edun-plans .gstu-lesson-type__book .gstu-btn { display: flex; justify-content: center; width: 100%; }

/* Blog cards on the home page: the meta on one line, the excerpt longer. */
.edun-news__meta, .edun-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; color: var(--muted); font-size: 0.75rem; }
.edun-news__meta > *, .edun-meta > * { margin: 0 !important; }
.edun-news .gstut-news__cat a { padding: 2px 8px; border-radius: 999px; background: #1D4ED8; color: #fff; font-size: 0.68rem; font-weight: 600; text-decoration: none; }
/* The live site's colour for each category. */
.edun-news .gstut-news__cat a[href*="/study-tips/"] { background: #047857; }
.edun-news .gstut-news__cat a[href*="/stem/"] { background: #0369A1; }
.edun-news .gstut-news__cat a[href*="/university/"] { background: #1D4ED8; }
.edun-news .gstut-news__date { font-size: 0.75rem; }
.edun-news .gstut-news__title { font-size: 0.95rem; line-height: 1.3; }
.edun-news .gstut-news__excerpt p { font-size: 0.82rem; line-height: 1.6; }
.edun-news .wp-block-post-featured-image img { height: 190px; }
.edun-news .wp-block-post { border-radius: 14px; }
.edun-news__more { margin-top: 32px !important; }

/* Call to action: the live site's gradient and glows. */
.gstut-s-cta.gstut-sec--grad { padding-block: 96px; background: linear-gradient(140deg, var(--edun-blue) 0%, var(--edun-sky) 100%); }
.gstut-s-cta.gstut-sec--grad::before { background: radial-gradient(circle at 12% 26%, rgb(255 255 255 / 0.2) 0%, transparent 36%), radial-gradient(circle at 84% 18%, rgb(209 73 91 / 0.28) 0%, transparent 36%); }
.gstut-s-cta .gstut-h2 { font-size: clamp(1.85rem, 4vw, 3rem); line-height: 1.15; }
.gstut-s-cta .gstut-lead { color: rgb(255 255 255 / 0.88); font-size: 1.03rem; }
.gstut-s-cta .wp-block-button__link { padding: 0.95rem 2.25rem; font-size: 1.05rem; }
.gstut-ctapanel { border-radius: 24px; background: rgb(255 255 255 / 0.14); border: 1px solid rgb(255 255 255 / 0.25); }
.gstut-ctakpis { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gstut-ctakpi { padding: 16px; border-radius: 16px; background: rgb(255 255 255 / 0.2); }
@media (max-width: 639px) { .gstut-ctakpis { grid-template-columns: minmax(0, 1fr); } }

/* ==========================================================================
   Inner pages: the navy heading band with the tag, the title and a line.
   ========================================================================== */
.gstut-pagehead { padding-block: 80px; background: linear-gradient(135deg, var(--edun-navy) 0%, #151D44 100%); }
.gstut-pagehead::before { background: radial-gradient(circle at 14% 18%, rgb(30 150 252 / 0.28) 0%, transparent 32%), radial-gradient(circle at 84% 22%, rgb(209 73 91 / 0.2) 0%, transparent 28%); }
.gstut-pagehead .gstut-eyebrow { padding: 6px 12px; background: rgb(30 150 252 / 0.2); box-shadow: none; color: var(--edun-sky); font-size: 0.78rem; }
.gstut-pagehead__title, .gstut-pagehead h1 { font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.15; }
.gstut-pagehead .gstut-lead { max-width: 560px; color: rgb(255 255 255 / 0.74); font-size: 1.1rem; line-height: 1.75; }
.gstut-pagehead__main { gap: 16px; }

/* Questions: white cards with a plus. */
.gstut-s-faq .gstut-faq { display: flex; flex-direction: column; gap: 12px; max-width: 42rem; margin-inline: auto; }
.gstut-s-faq .wp-block-details { margin: 0; padding: 0; border: 1px solid var(--edun-line); border-radius: 12px; background: #fff; }
.gstut-s-faq .wp-block-details summary { position: relative; padding: 20px 48px 20px 20px; color: var(--ink); font-size: 0.95rem; font-weight: 600; list-style: none; cursor: pointer; }
.gstut-s-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.gstut-s-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--edun-blue); font-size: 1.2rem; font-weight: 700; }
.gstut-s-faq .wp-block-details[open] summary::after { content: "−"; }
.gstut-s-faq .wp-block-details > :not(summary) { margin: 0; padding: 0 20px 18px; color: var(--muted); font-size: 0.9rem; }
.gstut-s-faq-cta.gstut-sec--tint { background: #fff; padding-top: 0; }
.gstut-s-faq-cta .gstut-lead { margin-bottom: 12px; font-size: 0.95rem; }

/* ==========================================================================
   Blog: categories, the featured article, the latest posts, a sign-up box.
   ========================================================================== */
.edun-cats { padding-block: 24px; background: var(--edun-bg-light); border-bottom: 1px solid var(--edun-line); }
.edun-cats__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.edun-cats__inner > * { margin: 0; }
.edun-cats__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.edun-cats__list li { margin: 0; }
.edun-cats a { display: inline-block; padding: 0.35rem 0.9rem; border: 1px solid var(--edun-line); border-radius: 999px; background: #fff; color: var(--muted); font-size: 0.8rem; font-weight: 500; text-decoration: none; }
.edun-cats a:hover { border-color: var(--edun-blue); color: var(--edun-blue); }
.edun-cats a[aria-current="page"] { border-color: var(--edun-blue); background: var(--edun-blue); color: #fff; font-weight: 600; }
.edun-featured { padding-block: 80px; border-top: 0; }
.edun-featured__list { margin: 0; padding: 0; list-style: none; }
.edun-featured__list > li { display: grid; grid-template-columns: 1.1fr 1fr; overflow: hidden; border: 1px solid var(--edun-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 30px rgb(0 0 0 / 0.06); }
.edun-featured__img { height: 100%; min-height: 470px; margin: 0; }
.edun-featured__img a, .edun-featured__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.edun-featured__body { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 40px 32px; }
.edun-featured__body > * { margin: 0 !important; }
.edun-featured__title { font-size: clamp(1.4rem, 2.6vw, 2.1rem); line-height: 1.2; }
.edun-featured__title a, .edun-latest__title a { color: var(--ink); text-decoration: none; }
.edun-featured__title a:hover, .edun-latest__title a:hover { color: var(--edun-blue); }
.edun-featured__excerpt p, .edun-latest__excerpt p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.7; }
.edun-featured__go { align-self: flex-start; padding: 0.75rem 1.75rem; border-radius: 999px; background: linear-gradient(135deg, var(--edun-blue), var(--edun-sky)); color: #fff !important; font-size: 0.95rem; font-weight: 600; line-height: 1; text-decoration: none; }
.edun-meta__cat a { background: transparent; padding: 0; color: var(--edun-blue); font-size: 0.75rem; }
.edun-meta > * + *::before { content: "·"; margin-right: 8px; color: var(--muted); }
.edun-meta { gap: 4px 6px; }
.edun-latest .edun-latest__list { gap: 24px; margin: 0; padding: 0; }
.edun-latest .edun-latest__list > li { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--edun-line); border-radius: 14px; background: #fff; }
.edun-latest .wp-block-post-featured-image { margin: 0; }
.edun-latest .wp-block-post-featured-image img { width: 100%; height: 190px; object-fit: cover; }
.edun-latest__body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 20px; }
.edun-latest__body > * { margin: 0 !important; }
.edun-latest__title { font-size: 0.98rem; line-height: 1.3; }
.edun-latest__go { margin-top: auto !important; padding-top: 8px; color: var(--edun-blue); font-size: 0.8rem; font-weight: 600; text-decoration: none; }
.edun-subscribe { margin-top: 48px; padding: 48px 32px; border-radius: 16px; background: linear-gradient(135deg, var(--edun-blue), var(--edun-sky)); color: #fff; text-align: center; }
.edun-subscribe > * { margin: 0 auto; }
.edun-subscribe__title { margin-bottom: 12px !important; color: #fff; font-size: clamp(1.4rem, 2.6vw, 2rem); }
.edun-subscribe__text { max-width: 36rem; margin-bottom: 24px !important; color: rgb(255 255 255 / 0.88); font-size: 0.95rem; }
@media (max-width: 900px) {
	.edun-featured__list > li { grid-template-columns: minmax(0, 1fr); }
	.edun-featured__img { min-height: 240px; }
	.edun-latest .edun-latest__list { grid-template-columns: minmax(0, 1fr) !important; }
}

/* A post: the category tag, title and date in the band, the photo and the text below. */
.edun-posthead .gstut-wrap { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.edun-posthead .gstut-wrap > * { margin: 0; }
.edun-posthead__cat a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: rgb(30 150 252 / 0.2); color: var(--edun-sky); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }
.edun-posthead .gstut-pagehead__title { max-width: 1100px; }
.edun-posthead__date { color: rgb(255 255 255 / 0.74); font-size: 0.95rem; }
.edun-post { max-width: 852px; padding-block: 40px 80px; }
.edun-post__image { margin: 0 0 32px; overflow: hidden; border-radius: 20px; }
.edun-post__image img { width: 100%; max-height: 430px; object-fit: cover; }
.edun-post .gstut-content > * { width: auto !important; margin-inline: 0 !important; }
.edun-prose { color: var(--muted); font-size: 1rem; line-height: 1.85; }
.edun-prose p, .edun-prose ul, .edun-prose ol { margin: 0.95rem 0 !important; }
.edun-prose li { margin: 0.35rem 0; }
.edun-prose h2, .edun-prose h3, .edun-prose h4 { margin: 1.2rem 0 0.7rem !important; color: var(--ink); font-size: 1rem; line-height: 1.5; letter-spacing: 0; }
.edun-prose strong { color: var(--ink); }
.edun-prose blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 3px solid var(--edun-line); }

/* Phones: buttons keep their own width, as on the live site. */
@media (max-width: 767px) {
	.gstut-hero--academy .gstut-hero__text > .wp-block-buttons { flex-direction: column; align-items: flex-start; }
	.gstut-hero--academy .gstut-hero__text > .wp-block-buttons .wp-block-button { width: auto; }
	.gstut-s-stats .gstut-stats, .gstut-s-stats .gstut-stats:not(:has(> :nth-child(4))) { gap: 12px; }
	.gstut-stat strong { font-size: clamp(1.6rem, 7.5vw, 2.4rem); }
	.gstut-why__photo { height: 420px; }
	.gstut-s-proof .wp-block-buttons { flex-direction: column; align-items: flex-start; }
	.gstut-s-proof .wp-block-button { width: auto; }
}

/* The band's title runs across the frame (the parent keeps it narrower). */
.gstut-pagehead__main, .gstut-pagehead .gstut-wrap > .gstut-pagehead__title { max-width: none; }
.gstut-pagehead__title { max-width: 1100px; margin-inline: auto; }
.edun-footer { padding: 0 !important; }
.edun-footer__inner { margin-block: 0 !important; }
.edun-meta a { text-decoration: none; }
/* A post's opening line (its excerpt), as the live site shows it above the text. */
.edun-post__lede p { margin: 0 0 0.95rem; color: var(--muted); font-size: 1rem; line-height: 1.85; }
.edun-post > .edun-post__image { margin: 0 0 40px !important; }
.edun-post > .edun-post__lede { margin-top: 0 !important; }

/* ==========================================================================
   About, Services, a service, Contact, Enquire (tools/match-live-pages.php)
   ========================================================================== */
.edun-split { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 48px; align-items: center; }
.edun-split__text > * { margin: 0; }
.edun-split__text .gstut-pill { margin-bottom: 16px; }
.edun-h2-lg { margin: 0 0 16px !important; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.2; }
.edun-text { margin: 0 0 24px !important; color: var(--muted); font-size: 1.02rem; line-height: 1.8; }
.edun-statcards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 28px !important; }
.edun-statcard { padding: 16px; border: 1px solid var(--edun-line); border-radius: 12px; background: #fff; }
.edun-statcard > * { margin: 0; }
.edun-statcard__v { color: var(--edun-blue); font-weight: 700; }
.edun-statcard__l { color: var(--muted); font-size: 0.85rem; }
.edun-photo { position: relative; }
.edun-photo .wp-block-image { margin: 0; }
.edun-photo img { display: block; width: 100%; height: 420px; object-fit: cover; border-radius: 24px; }
.edun-photo--short img { height: 390px; }
.edun-photo--dot::before { content: ""; position: absolute; z-index: 0; top: -16px; left: -16px; width: 96px; height: 96px; border-radius: 50%; background: rgb(30 150 252 / 0.2); }
.edun-photo .wp-block-image { position: relative; z-index: 1; }
.edun-photo__badge { position: absolute; z-index: 2; right: 16px; bottom: 16px; padding: 12px 16px; border-radius: 12px; background: rgb(255 255 255 / 0.94); box-shadow: 0 10px 30px rgb(7 42 200 / 0.18); }
.edun-photo__badge p { margin: 0; color: var(--muted); font-size: 0.8rem; }
.edun-photo__badge strong { color: var(--edun-blue); font-size: 0.9rem; }
.edun-cards { display: grid; gap: 20px; }
.edun-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.edun-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.edun-cards--narrow { max-width: 980px; margin-inline: auto !important; }
.edun-card { height: 100%; padding: 24px; border: 1px solid var(--edun-line); border-radius: 16px; background: #fff; }
.edun-card > * { margin: 0; }
.edun-card--step { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.edun-num { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 16px !important; border-radius: 50%; background: linear-gradient(135deg, var(--edun-blue), var(--edun-sky)); color: #fff; font-weight: 700; line-height: 1; }
.edun-num--sm { flex: none; width: 28px; height: 28px; margin: 0 !important; font-size: 0.78rem; }
.edun-card__title { margin-bottom: 8px !important; font-size: 1.02rem; font-weight: 700; line-height: 1.4; }
.edun-card__title--blue, .edun-card__h { color: #051F90; }
.edun-card__h { margin-bottom: 12px !important; font-size: 1.15rem; font-weight: 800; }
.edun-card__text { color: var(--muted); font-size: 0.9rem; line-height: 1.65; }
.edun-s-values .edun-card__text { font-size: 0.92rem; line-height: 1.7; }
.edun-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 40px; }
.edun-team__card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--edun-line); border-radius: 16px; background: #fff; }
.edun-team__card > * { margin: 0; }
.edun-team__img { margin: 0 !important; aspect-ratio: 4 / 3; overflow: hidden; border-bottom: 1px solid var(--edun-line); background: var(--edun-bg-light); }
.edun-team__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; }
.edun-team__img--x28 img { object-position: 28% 0; }
.edun-team__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 20px; }
.edun-team__body > * { margin: 0 !important; }
.edun-team__name { font-size: 1.1rem; font-weight: 800; }
.edun-team__role { align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: var(--edun-blue-bg); color: var(--edun-blue); font-size: 0.75rem; font-weight: 600; }
.edun-team__quali { color: var(--muted); font-size: 0.82rem; }
.edun-team__bio { flex: 1; color: var(--muted); font-size: 0.87rem; line-height: 1.6; }
.edun-team__body .wp-block-buttons { margin-top: 8px !important; }
.edun-ctabox { padding: 40px 32px; border-radius: 24px; background: linear-gradient(140deg, var(--edun-blue), var(--edun-sky)); text-align: center; }
.edun-ctabox > * { margin: 0 auto; }
.edun-ctabox__title { margin-bottom: 12px !important; color: #fff; font-size: clamp(1.4rem, 3vw, 2.2rem); }
.edun-ctabox__text { max-width: 720px; margin-bottom: 24px !important; color: rgb(255 255 255 / 0.85); }
.edun-path { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--edun-line); border-radius: 16px; background: #fff; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.edun-path:hover, .edun-card--step:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgb(0 0 0 / 0.1); }
.edun-path__media { position: relative; }
.edun-path__media > * { margin: 0; }
.edun-path__img img { display: block; width: 100%; height: 176px; object-fit: cover; }
.edun-path__chip { position: absolute; top: 12px; left: 12px; padding: 4px 10px; border-radius: 999px; background: var(--edun-accent, #4F46E5); color: #fff; font-size: 0.7rem; font-weight: 700; }
.edun-path__body { padding: 20px; }
.edun-path__body > * { margin: 0; }
.edun-path__title { margin-bottom: 8px !important; font-size: 1rem; font-weight: 800; }
.edun-path__text { margin-bottom: 16px !important; color: var(--muted); font-size: 0.88rem; line-height: 1.65; }
.edun-path .wp-block-buttons { gap: 8px; }
.edun-accent--indigo { --edun-accent: #4F46E5; }
.edun-accent--green { --edun-accent: #047857; }
.edun-accent--sky { --edun-accent: #0369A1; }
.edun-band { padding-block: 80px; background: linear-gradient(145deg, var(--edun-blue), var(--edun-sky)); text-align: center; border-top: 0; }
.edun-band__title { margin: 0 0 16px; color: #fff; font-size: clamp(1.8rem, 4vw, 2.75rem); line-height: 1.2; }
.edun-band__text { margin: 0 0 32px; color: rgb(255 255 255 / 0.85); font-size: 1.1rem; }
.edun-btn-lg .wp-block-button__link { padding: 0.95rem 2.25rem; font-size: 1.05rem; }
.edun-detail { display: grid; grid-template-columns: 1.02fr 0.98fr; gap: 40px; align-items: start; }
.edun-detail__img { margin: 0; }
.edun-detail__img img { display: block; width: 100%; height: 420px; object-fit: cover; border-radius: 24px; }
.edun-detail__card { padding: 28px; border: 1px solid var(--edun-line); border-radius: 24px; background: #fff; }
.edun-detail__card > * { margin: 0; }
.edun-detail__kicker { margin-bottom: 12px !important; color: var(--edun-accent, #4F46E5); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.edun-detail__list { margin: 0 !important; padding-left: 20px; }
.edun-detail__list li { margin: 0 0 8px; color: var(--muted); font-size: 0.92rem; line-height: 1.7; }
.edun-detail__card .wp-block-buttons { margin-top: 24px !important; gap: 10px; }
.edun-s-cta { border-top: 0; }
.edun-contact { display: grid; grid-template-columns: 1fr 1.6fr; gap: 64px; align-items: start; }
.edun-contact__info > * { margin: 0; }
.edun-contact__info .gstut-pill { margin-bottom: 16px; }
.edun-contact__title { margin-bottom: 12px !important; font-size: 1.7rem; font-weight: 800; }
.edun-contact__info .edun-text { font-size: 1rem; line-height: 1.75; }
.edun-contact__list { display: flex; flex-direction: column; gap: 12px; font-size: 0.95rem; }
.edun-contact__list p { margin: 0; }
.edun-contact__form { padding: 32px; border-radius: 14px; background: var(--edun-bg-light); }
.edun-contact__form .gsc-form-wrap { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.edun-contact__form .gsc-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.edun-contact__form .gsc-form__field { margin: 0 0 16px; }
.edun-contact__form label, .edun-bk label, .edun-bk legend { display: block; margin-bottom: 6px; color: var(--ink); font-size: 0.85rem; font-weight: 600; }
.edun-contact__form input:not([type="checkbox"]):not([type="hidden"]), .edun-contact__form textarea, .edun-bk input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .edun-bk select, .edun-bk textarea { width: 100%; padding: 12px 16px; border: 1px solid var(--edun-line); border-radius: 6px; background: #fff; color: var(--ink); font: 400 0.95rem/1.5 var(--body); }
.edun-contact__form textarea, .edun-bk textarea { min-height: 130px; resize: vertical; }
.edun-contact__form input:focus, .edun-contact__form textarea:focus, .edun-bk input:focus, .edun-bk select:focus, .edun-bk textarea:focus { border-color: var(--edun-blue); outline: 2px solid #E0E7FF; outline-offset: 0; }
.edun-contact__form .gsc-form__submit, .edun-bk__submit .wp-element-button { width: 100%; padding: 0.75rem 1.75rem; border: 0; border-radius: 999px; background: linear-gradient(135deg, var(--edun-blue), var(--edun-sky)); color: #fff; font: 600 0.95rem/1 var(--body); cursor: pointer; }
.edun-contact__form .gsc-form__small { color: var(--muted); font-size: 0.8rem; }
.edun-booking { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 32px; align-items: start; }
.edun-next, .edun-booking__form { padding: 28px; border: 1px solid var(--edun-line); border-radius: 24px; background: #fff; }
.edun-next { position: sticky; top: 128px; }
.edun-next > *, .edun-booking__form > * { margin: 0; }
.edun-next .gstut-pill { margin-bottom: 16px; font-size: 0.74rem; }
.edun-next__title { margin-bottom: 16px !important; font-size: 1.7rem; font-weight: 800; line-height: 1.2; }
.edun-next__steps { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px !important; }
.edun-next__step { display: flex; gap: 12px; }
.edun-next__text > * { margin: 0; }
.edun-next__t { margin-bottom: 4px !important; font-size: 0.93rem; }
.edun-next__d { color: var(--muted); font-size: 0.84rem; line-height: 1.6; }
.edun-next__incl { padding: 20px; border-radius: 16px; background: #EEF4FF; }
.edun-next__incl > * { margin: 0; }
.edun-next__incl-title { margin-bottom: 8px !important; color: #051F90; font-weight: 700; }
.edun-next__list { margin: 0 !important; padding: 0; list-style: none; }
.edun-next__list li { margin: 0 0 8px; color: var(--muted); font-size: 0.84rem; line-height: 1.55; }
.edun-next__list li::before { content: "• "; }
.edun-booking__title { margin-bottom: 20px !important; font-size: 1.35rem; font-weight: 800; }
.edun-bk { display: flex; flex-direction: column; gap: 16px; }
.edun-bk > *, .edun-bk p, .edun-bk fieldset { margin: 0; }
.edun-bk fieldset { min-width: 0; padding: 0; border: 0; }
.edun-bk__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.edun-bk__hint { color: var(--muted); font-weight: 400; }
.edun-bk__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.edun-bk label.edun-bk__chip { position: relative; display: inline-flex; margin: 0; cursor: pointer; }
.edun-bk__chip input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.edun-bk__chip span { display: inline-block; padding: 6px 12px; border: 1px solid var(--edun-line); border-radius: 999px; background: #fff; color: var(--muted); font-size: 0.84rem; font-weight: 600; }
.edun-bk__chip:hover span { border-color: var(--edun-blue); }
.edun-bk__chip input:checked + span { border-color: var(--edun-blue); background: var(--edun-blue-bg); color: var(--edun-blue); }
.edun-bk__chip input:checked + span::before { content: "✓ "; }
.edun-bk__chip input:focus-visible + span { outline: 2px solid var(--edun-blue); outline-offset: 2px; }
.edun-bk__chip input:disabled + span { opacity: 0.45; cursor: not-allowed; }
.edun-bk__guardian { display: flex; flex-direction: column; gap: 16px; padding: 16px; border: 1px solid var(--edun-line); border-radius: 12px; background: var(--edun-bg-light); }
.edun-bk__guardian > * { margin: 0; }
.edun-bk__gtitle { font-weight: 700; }
.edun-bk__note { color: var(--muted); font-size: 0.82rem; line-height: 1.55; }
.edun-bk.has-js:not(.is-child) .edun-bk__guardian { display: none; }
.edun-bk label.edun-bk__check { display: flex; gap: 8px; align-items: flex-start; font-weight: 500; }
.edun-bk__check input { margin-top: 4px; }
.edun-bk__consent { color: var(--muted); font-size: 0.82rem; }
.edun-bk__consent a { font-size: 0.82rem; }
.edun-bk__error { display: block; margin-top: 6px; color: #B91C1C; font-size: 0.78rem; }
.edun-bk .is-invalid input, .edun-bk .is-invalid select { border-color: #B91C1C; }
.edun-bk__alert { padding: 12px 16px; border-radius: 8px; background: #FEF2F2; color: #B91C1C; font-size: 0.9rem; font-weight: 500; }
.edun-bk__wa a { display: flex; justify-content: center; padding: 12px 16px; border-radius: 8px; background: #25D366; color: #fff; font-size: 0.9rem; font-weight: 600; text-decoration: none; }
.edun-bk__wa a { background: #0E7A35; }
.edun-bk-done { max-width: 760px; margin: 0 auto; padding: 40px; border: 1px solid var(--edun-line); border-radius: 24px; background: #fff; text-align: center; }
.edun-bk-done__icon { margin-bottom: 16px; font-size: 3.8rem; line-height: 1; }
.edun-bk-done h2 { margin: 0 0 12px; font-size: 2rem; }
.edun-bk-done p { color: var(--muted); }
.edun-bk-done__class { display: inline-block; padding: 8px 16px; border-radius: 999px; background: #EFF6FF; color: #1D4ED8 !important; font-size: 0.88rem; font-weight: 600; }
.edun-bk-done__go { justify-content: center; gap: 12px; margin-top: 24px; }
.edun-booking:has(.edun-bk-done) { grid-template-columns: minmax(0, 1fr); }
.edun-booking:has(.edun-bk-done) .edun-next, .edun-booking:has(.edun-bk-done) .edun-booking__title { display: none; }
.edun-booking:has(.edun-bk-done) .edun-booking__form { padding: 0; border: 0; background: none; }

/* The footer's newsletter box. */
.edun-newsletter-slot { margin: 0; }
.edun-news-form { display: flex; flex-direction: column; gap: 6px; max-width: 360px; }
.edun-news-form__row { display: flex; gap: 8px; }
.edun-news-form input[type="email"] { flex: 1; min-width: 0; width: 240px; padding: 8px 16px; border: 1px solid rgb(255 255 255 / 0.15); border-radius: 999px; background: rgb(255 255 255 / 0.07); color: #fff; font: 400 0.85rem/1.4 var(--body); }
.edun-news-form input[type="email"]::placeholder { color: rgb(255 255 255 / 0.55); }
.edun-news-form .wp-element-button { padding: 0.45rem 1.1rem; border: 0; border-radius: 999px; background: linear-gradient(135deg, var(--edun-blue), var(--edun-sky)); color: #fff; font: 600 0.82rem/1 var(--body); white-space: nowrap; cursor: pointer; }
.edun-news-form__consent { display: flex; gap: 6px; align-items: flex-start; color: rgb(255 255 255 / 0.6); font-size: 0.72rem; line-height: 1.45; }
.edun-news-form__consent input { margin-top: 2px; }
.edun-news-form__done { margin: 0; color: #6EE7B7; font-size: 0.88rem; font-weight: 600; }
.edun-news-form__error { margin: 0; color: #FCA5A5; font-size: 0.8rem; }

@media (max-width: 1023px) {
	.edun-split, .edun-detail, .edun-contact, .edun-booking { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.edun-cards--3, .edun-team { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.edun-next { position: static; }
}
@media (max-width: 767px) {
	.edun-cards--3, .edun-cards--2, .edun-team, .edun-statcards, .edun-bk__row, .edun-contact__form .gsc-form__grid { grid-template-columns: minmax(0, 1fr); }
	.edun-photo img, .edun-detail__img img { height: 320px; }
	.edun-contact__form, .edun-next, .edun-booking__form { padding: 20px; }
	.edun-news-form { max-width: none; width: 100%; }
}

/* Social links in the footer (Core fills them from Site Settings; none set, none shown). */
.edun-footer__social { margin-top: 4px !important; }
.edun-social.wp-block-social-links { gap: 12px; margin: 0; }
.edun-social .wp-social-link { border: 1px solid rgb(255 255 255 / 0.2); border-radius: 50%; color: rgb(255 255 255 / 0.7); }
.edun-social .wp-social-link a { padding: 9px; }
.edun-social .wp-social-link:hover { border-color: #fff; color: #fff; }

/* Footer logo: larger on the navy footer, so the name reads clearly. */
.edun-logo.edun-logo--footer img { height: 46px !important; width: auto !important; }

/* Sign in (/sign-in/): the header's Log in goes here, to choose the student portal, the staff portal or the website editor. */
.edun-signin .gstut-wrap { max-width: 1040px; }
.edun-signin__title { margin: 0 0 8px; text-align: center; }
.edun-signin__lead { margin: 0 0 32px; color: var(--muted); text-align: center; }
.edun-signin__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 24px; }
.edun-signin__card { display: flex; flex-direction: column; gap: 10px; margin: 0 !important; padding: 28px; border: 1.5px solid var(--edun-line); border-radius: 16px; background: #fff; box-shadow: 0 4px 20px rgb(0 0 0 / 0.04); }
.edun-signin__card h2 { margin: 0; font-size: 1.35rem; }
.edun-signin__card p { margin: 0; color: var(--muted); }
.edun-signin__card .wp-block-buttons { margin-top: auto; padding-top: 12px; }
.edun-signin__btn, .edun-signin__btn .wp-block-button__link { width: 100%; text-align: center; }
.edun-signin__help { margin: 28px 0 0; color: var(--muted); font-size: 0.9rem; text-align: center; }
