/* CK desktop mega menu (site/megamenu.php + ck-megamenu.js). Desktop > 900px only; overlays the page (fixed), never pushes it down. */
/* no script (Yellowtail) font anywhere in the mega menu or mobile menu (Wesley t514u): everything starts from the site body font */
.ck-mm, .ck-mm *, .ck-mmm, .ck-mmm * { font-family: var(--font-body--family, "Red Hat Text", sans-serif); font-style: normal; }
.ck-mm { --ck-mm-red: #c20e35; --ck-mm-top: 120px; --ck-mm-radius: 18px; }
.ck-mm__panel {
	/* compact dropdown: centred, same content width as the site (max 1100px), flush under the header */
	position: fixed; left: 0; right: 0; top: var(--ck-mm-top); z-index: 40;
	width: min(1100px, calc(100% - 48px)); margin: 0 auto; box-sizing: border-box;
	background: #fff; color: var(--color-foreground, #1a1a1a);
	border-radius: 0 0 var(--ck-mm-radius) var(--ck-mm-radius);
	border: 0; outline: 0;
	/* shadow only below and at the sides; clip-path cuts any shadow above the panel so no line shows at the seam under the header */
	box-shadow: 0 22px 34px -14px rgb(0 0 0 / .22), 0 10px 18px -12px rgb(0 0 0 / .12);
	clip-path: inset(0 -40px -60px -40px);
	max-height: calc(100vh - var(--ck-mm-top) - 16px); overflow-y: auto; overscroll-behavior: contain;
	opacity: 0; visibility: hidden; transform: translateY(-8px); pointer-events: none;
	transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.ck-mm__panel:not(.is-on) { display: none; }   /* closed panels stay out of layout so their lazy images do not load until a hover starts */
.ck-mm__panel.is-open { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity .2s ease, transform .2s ease, visibility 0s; }
.ck-mm__inner {
	display: grid; grid-template-columns: minmax(0, 1fr) 170px 312px;
	gap: 28px; padding: 22px 28px 24px; align-items: start;
}
.ck-mm__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ck-mm__h {
	margin: 0 0 9px; font-family: var(--font-heading--family, Archivo, sans-serif); font-weight: 700;
	font-size: .8125rem; line-height: 1.25; letter-spacing: .06em; text-transform: uppercase; color: var(--color-foreground, #1a1a1a);
}
.ck-mm__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.ck-mm__item, .ck-mm__feat, .ck-mm__card, .ck-mm__more { text-decoration: none; color: inherit; }
.ck-mm__item { display: block; border-radius: 6px; }
.ck-mm .ck-mm__t {
	display: block; font-family: var(--font-body--family, "Red Hat Text", sans-serif); font-weight: 500;
	font-size: .875rem; line-height: 1.25; color: var(--color-foreground, #1a1a1a); transition: color .15s;
}
.ck-mm .ck-mm__s { display: block; margin-top: 1px; font-family: var(--font-body--family, "Red Hat Text", sans-serif); font-size: .75rem; line-height: 1.3; color: rgb(0 0 0 / .55); }
.ck-mm__item:hover .ck-mm__t, .ck-mm__item:focus-visible .ck-mm__t, .ck-mm__card:hover .ck-mm__t, .ck-mm__feat:hover .ck-mm__t { color: var(--ck-mm-red); }
.ck-mm__more {
	display: inline-block; margin-top: 10px; font-family: var(--font-body--family, "Red Hat Text", sans-serif);
	font-weight: 600; font-size: .8125rem; color: var(--ck-mm-red);
}
.ck-mm__more:hover { text-decoration: underline; text-underline-offset: 3px; }
.ck-mm__media { display: block; overflow: hidden; border-radius: var(--ck-mm-radius); background: #f1ede6; }
.ck-mm__media img, .ck-mm__media picture { display: block; width: 100%; height: 100%; }
.ck-mm__media img { object-fit: cover; transition: transform .4s ease; }
.ck-mm__feat:hover .ck-mm__media img, .ck-mm__card:hover .ck-mm__media img { transform: scale(1.04); }
.ck-mm__ph { display: block; width: 100%; height: 100%; }
.ck-mm__feat { display: block; }
.ck-mm__feat .ck-mm__media { aspect-ratio: 1 / 1; box-shadow: 0 6px 16px rgb(0 0 0 / .13); margin-bottom: 8px; }
.ck-mm__feat .ck-mm__t { font-family: var(--font-heading--family, Archivo, sans-serif); font-weight: 700; font-size: .9375rem; }
.ck-mm__kick { display: block; margin: 0 0 3px; font-family: var(--font-body--family, "Red Hat Text", sans-serif); font-weight: 700; font-size: .6875rem; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; color: var(--ck-mm-red); }
.ck-mm__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ck-mm__card { display: block; }
.ck-mm__card .ck-mm__media { aspect-ratio: 4 / 3; box-shadow: 0 4px 12px rgb(0 0 0 / .11); margin-bottom: 7px; }
.ck-mm__card .ck-mm__t { font-family: var(--font-heading--family, Archivo, sans-serif); font-weight: 700; font-size: .8125rem; }
.ck-mm__card--contain .ck-mm__media img { object-fit: contain; padding: 6px; }
/* top menu link of the open panel */
.menu-list__link[aria-expanded="true"] .menu-list__link-title { color: #c20e35; }
@media (prefers-reduced-motion: reduce) { .ck-mm__panel, .ck-mm__panel.is-open, .ck-mm__media img { transition: none; } }
@media (max-width: 1100px) { .ck-mm__inner { gap: 22px; grid-template-columns: minmax(0, 1fr) 150px 270px; padding: 20px 22px; } .ck-mm__cols { gap: 18px; } }
/* ---------- menu sheet, built by ck-megamenu.js: phones/tablets, and any width where the theme swaps the top menu for the hamburger ---------- */
.ck-mmm { display: none; }
@media screen {
	.ck-mmm.is-on { display: block; }
	.ck-mmm {
		position: fixed; inset: 0; z-index: 2147482999; background: #fff; color: #1a1a1a;
		overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
		opacity: 0; transform: translateX(-12px); transition: opacity .22s ease, transform .22s ease;
		font-family: var(--font-body--family, "Red Hat Text", sans-serif);
	}
	.ck-mmm.is-open { opacity: 1; transform: none; }
	html.ck-mmm-open, html.ck-mmm-open body { overflow: hidden; }
	html.ck-mmm-open .ck-chat-btn { visibility: hidden; }   /* the chat ball would cover the Book Lesson button */
	.ck-mmm__inner { min-height: 100%; display: flex; flex-direction: column; box-sizing: border-box;
		padding: calc(var(--ck-mmm-top, 0px) + 6px + env(safe-area-inset-top, 0px)) 20px calc(20px + env(safe-area-inset-bottom, 0px)); }
	.ck-mmm__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding-bottom: 6px; border-bottom: 1px solid #eee; }
	.ck-mmm__logo { display: block; line-height: 0; }
	.ck-mmm__logo img { height: 46px; width: auto; display: block; }
	.ck-mmm__close { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; border: 0; padding: 0; margin: 0;
		display: grid; place-items: center; background: #f2f0ec; color: #1a1a1a; cursor: pointer; }
	.ck-mmm__close:hover, .ck-mmm__close:focus-visible { background: #c20e35; color: #fff; }
	.ck-mmm__nav { padding: 4px 0 8px; }
	.ck-mmm__sec { border-bottom: 1px solid #eee; }
	.ck-mmm__row { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px; margin: 0; padding: 0 2px;
		background: none; border: 0; color: #1a1a1a; text-decoration: none; cursor: pointer; text-align: left;
		font: 700 .875rem/1.2 var(--font-heading--family, Archivo, sans-serif); letter-spacing: .05em; text-transform: uppercase; }
	.ck-mmm__chev { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #f2f0ec; transition: transform .2s ease, background .2s; }
	.ck-mmm__row[aria-expanded="true"] { color: #c20e35; }
	.ck-mmm__row[aria-expanded="true"] .ck-mmm__chev { transform: rotate(180deg); background: #fbe7ec; }
	/* expanded section: one simple column of page names (no prices, durations or sub-headings), one red See all link (Wesley t516u) */
	.ck-mmm__body { padding: 0 0 10px; }
	.ck-mmm__body .ck-mm__cols { display: block; }
	.ck-mmm__body .ck-mm__h, .ck-mmm__body .ck-mm__s, .ck-mmm__body .ck-mm__more { display: none; }
	.ck-mmm__body .ck-mm__col + .ck-mm__col { margin-top: 4px; padding-top: 4px; border-top: 1px solid #f0eeea; }
	.ck-mmm__body .ck-mm__list { list-style: none; margin: 0; padding: 0; display: block; }
	.ck-mmm__body .ck-mm__item { display: flex; align-items: center; min-height: 44px; padding: 0 4px 0 12px; text-decoration: none; color: inherit; border-radius: 10px; }
	.ck-mmm__body .ck-mm__item:active { background: #f6f4f1; }
	.ck-mmm__body .ck-mm__t { font-size: .875rem; font-weight: 500; line-height: 1.25; color: #1a1a1a; }
	.ck-mmm__go { display: flex; align-items: center; min-height: 44px; padding: 0 4px 0 12px; color: #c20e35; font-size: .875rem; font-weight: 600; text-decoration: none; }
	.ck-mmm__go::after { content: "→"; margin-left: 6px; }
	.ck-mmm__foot { margin-top: auto; padding-top: 18px; display: grid; gap: 14px; }
	.ck-mmm__book { display: block; text-align: center; padding: 14px 18px; border-radius: 999px; background: #c20e35; color: #fff;
		font: 600 1rem/1.2 var(--font-body--family, "Red Hat Text", sans-serif); text-decoration: none; box-shadow: 0 6px 16px rgb(194 14 53 / .28); }
	.ck-mmm__book:hover, .ck-mmm__book:focus-visible { background: #a10b2c; }
	.ck-mmm__langs { display: flex; justify-content: center; gap: 8px; }
	.ck-mmm__lang { min-width: 44px; padding: 8px 10px; text-align: center; border-radius: 999px; border: 1px solid #e3e0da; color: #1a1a1a; font-size: .8125rem; font-weight: 600; text-decoration: none; }
	.ck-mmm__lang.is-current { background: #1a1a1a; border-color: #1a1a1a; color: #fff; }
	.ck-mmm a:focus-visible, .ck-mmm button:focus-visible { outline: 2px solid #c20e35; outline-offset: 2px; }
}
/* wider screens with the hamburger (top menu does not fit, e.g. 1280px): left side panel instead of full screen */
@media screen and (min-width: 901px) {
	.ck-mmm { right: auto; width: 400px; box-shadow: 0 0 0 100vmax rgb(0 0 0 / .32), 12px 0 32px rgb(0 0 0 / .18); }
}
@media (prefers-reduced-motion: reduce) { .ck-mmm, .ck-mmm__chev { transition: none; } }
/* mobile / tablet: no mega menu (the theme's drawer menu stays as it is) */
@media (max-width: 900px) { .ck-mm { display: none !important; } }

/* Small header on tour / lesson pages (html.ck-hdr-small, added by site/megamenu.php for /products/ pages; Wesley 3 Nov 2026):
   the same compact header the site shows once scrolled (logo at 70%, thin padding), from the top of the page on desktop */
@media screen and (min-width: 750px) {
	html.ck-hdr-small #header-component .header__row--top .header__columns { padding-block: 4px !important; }
	html.ck-hdr-small #header-component .header-logo { padding-block: 6px !important; }
	html.ck-hdr-small #header-component overflow-list::part(list) { height: 100% !important; }
	html.ck-hdr-small #header-component .header-logo__image { height: calc(var(--header-logo-image-height) * 0.7) !important; width: calc(var(--header-logo-image-width) * 0.7) !important; }
}

/* thin soft shadow under the header on every page and size (Wesley, 4 Nov 2026); hidden while a mega menu panel is open so the panel joins the header with no seam */
#header-component { box-shadow: 0 1px 4px rgba(0, 0, 0, .12); }
html:has(.ck-mm__panel.is-open) #header-component { box-shadow: none; }

/* no Account link in the header or the mobile menu (Wesley, 4 Nov 2026); the account pages themselves stay */
#header-component .account-button, header-actions .account-button, .menu-drawer .account-button, #ck-mmm .account-button { display: none !important; }

/* Google reviews widget: a little room between the review cards and the dots (Wesley, 4 Nov 2026) */
.ck-grp .slider-pagination { margin-top: 16px !important; }
