/*
 * Melika look for Woodmart's own header, footer and mobile bottom bar — on every page of the site.
 * The parts themselves are built in Woodmart (Header Builder, Theme Settings), so their content and
 * order are changed from the dashboard; this file only gives them the academy's style.
 */

@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/vazirmatn-arabic-300-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/vazirmatn-arabic-400-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/vazirmatn-arabic-500-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/vazirmatn-arabic-600-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/vazirmatn-arabic-700-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/vazirmatn-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/vazirmatn-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F; }

:root {
	--mlk-ink: #12261c;
	--mlk-muted: #5d6b63;
	--mlk-jade: #1f5b40;
	--mlk-deep: #0c2419;
	--mlk-gold: #d4a441;
	--mlk-gold-soft: #ecc875;
	--mlk-paper: #f7f8f4;
	--mlk-glass: rgba(255, 255, 255, 0.72);
	--mlk-hair: rgba(18, 38, 28, 0.08);
	--mlk-site-font: "Vazirmatn", Tahoma, sans-serif;
}

html body { background-color: var(--mlk-paper) !important; }
html body .wd-page-wrapper, html body .wd-page-content { background-color: transparent; }

/* ------------------------------------------------------------------ Header shell
 * At the top of the page: a full-width header (dark strip + light bar edge to edge, items on the content column).
 * Once the visitor scrolls: the bar comes down with them as a rounded, floating glass bar.
 */

.whb-header { font-family: var(--mlk-site-font); }
.whb-header .whb-main-header,
.whb-header .whb-row,
.whb-header .whb-row.whb-with-bg { background: transparent !important; border: 0 !important; box-shadow: none !important; }

/* Dark strip, full width */
html body .whb-header .whb-row.whb-top-bar { background: var(--mlk-deep) !important; }
.whb-header .whb-top-bar-inner { color: #c9d6cd; font-size: 13px; }
.whb-header .whb-top-bar .wd-header-text { color: #c9d6cd; font-size: 13px; line-height: 1.6; }
.mlk-hb-notice { display: inline-flex; align-items: center; gap: 10px; }
.mlk-hb-dot { display: inline-block; width: 6px; height: 6px; margin-inline-end: 10px; border-radius: 50%; background: var(--mlk-gold); vertical-align: middle; }
.whb-header .mlk-hb-cta { color: var(--mlk-gold-soft); font-weight: 600; margin-inline-start: 6px; }
.whb-header .mlk-hb-cta::after { content: "‹"; margin-inline-start: 4px; }
.whb-header .mlk-hb-cta:hover { color: #fff; }
.mlk-hb-links { display: inline-flex; gap: 22px; }
.whb-header .mlk-hb-links a, .whb-header .mlk-hb-links span { color: #c9d6cd; }
.whb-header .mlk-hb-links a:hover { color: #fff; }

/* Main bar at the top: full width, light glass, a hairline underneath */
html body .whb-header .whb-general-header {
	background: rgba(251, 251, 248, 0.9) !important;
	-webkit-backdrop-filter: saturate(1.6) blur(16px);
	backdrop-filter: saturate(1.6) blur(16px);
	border-bottom: 1px solid rgba(18, 38, 28, 0.07) !important;
	transition: padding 0.3s ease, background-color 0.3s ease;
}
.whb-header .whb-general-header-inner {
	position: relative;
	border: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	transition: height 0.3s ease, max-height 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, border-radius 0.3s ease, box-shadow 0.3s ease;
}

/* Scrolled: the bar floats as a rounded glass card on the content column */
html body .whb-header.whb-sticked .whb-general-header {
	padding-top: 10px;
	background: transparent !important;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-bottom: 0 !important;
}
.whb-header.whb-sticked .whb-general-header-inner {
	border-color: var(--mlk-hair);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.84);
	-webkit-backdrop-filter: saturate(1.7) blur(18px);
	backdrop-filter: saturate(1.7) blur(18px);
	box-shadow: 0 20px 40px -26px rgba(12, 36, 25, 0.5);
	animation: mlk-bar-in 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes mlk-bar-in { from { transform: translateY(-120%); opacity: 0.4; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .whb-header.whb-sticked .whb-general-header-inner { animation: none; } }

/* Main menu */
.whb-header .wd-nav-main { gap: 0 26px; }
.whb-header .wd-nav-main > li > a {
	position: relative;
	padding-inline: 0 !important;
	font-family: var(--mlk-site-font);
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
	color: var(--mlk-muted);
	transition: color 0.2s ease;
}
.whb-header .wd-nav-main > li:hover > a,
.whb-header .wd-nav-main > li.current-menu-item > a,
.whb-header .wd-nav-main > li.current-menu-ancestor > a { color: var(--mlk-ink); }
.whb-header .wd-nav-main > li.current-menu-item > a,
.whb-header .wd-nav-main > li.current-menu-ancestor > a { font-weight: 600; }
.whb-header .wd-nav-main > li.current-menu-item > a::after,
.whb-header .wd-nav-main > li.current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 6px;
	width: 6px;
	height: 6px;
	margin-left: -3px;
	transform: rotate(45deg);
	background: var(--mlk-gold);
}
.whb-header .wd-nav-main .wd-dropdown-menu { border-radius: 16px; border: 1px solid var(--mlk-hair); box-shadow: 0 24px 40px -24px rgba(12, 36, 25, 0.35); }

/* Brand in the middle: word · medal · word */
.whb-header .whb-col-center { gap: 12px; }
.whb-header .mlk-hb-word { color: var(--mlk-ink); font-family: var(--mlk-site-font); font-size: 15px; font-weight: 600; white-space: nowrap; }
.whb-header .whb-col-center .site-logo { padding: 0; }
.whb-header .whb-col-center .wd-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	margin: -10px 0;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--mlk-gold);
	box-shadow: 0 0 0 5px rgba(212, 164, 65, 0.14), 0 16px 26px -16px rgba(12, 36, 25, 0.6);
	transition: width 0.3s ease, height 0.3s ease, margin 0.3s ease;
}
.whb-header .whb-col-center .wd-logo img { width: 62px !important; max-width: 62px !important; height: 62px; object-fit: contain; transition: width 0.3s ease, height 0.3s ease; }
.whb-header.whb-sticked .whb-col-center .wd-logo { width: 62px; height: 62px; margin: -2px 0; }
.whb-header.whb-sticked .whb-col-center .wd-logo img { width: 46px !important; height: 46px; }

/* Tools: search, cart, account */
.whb-header .whb-general-header .wd-tools-element > a { height: 44px; padding-inline: 10px; border-radius: 12px; color: var(--mlk-ink); transition: background-color 0.2s ease; }
.whb-header .whb-general-header .wd-tools-element:not(.wd-header-my-account) > a:hover { background: rgba(18, 38, 28, 0.06); }
.whb-header .wd-tools-element .wd-tools-icon::before { font-size: 20px; }
html body .whb-header .wd-header-cart .wd-cart-number {
	top: -4px;
	inset-inline-end: -7px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--mlk-gold);
	color: var(--mlk-deep);
	font-size: 10px;
	font-weight: 700;
	line-height: 17px;
}
.whb-header .wd-header-cart .wd-cart-number > span { display: none; }
.whb-header .whb-col-right .wd-header-my-account { margin-inline-start: 6px; }
.whb-header .whb-col-right .wd-header-my-account > a {
	gap: 8px;
	padding-inline: 16px 18px;
	border-radius: 14px;
	background: var(--mlk-jade);
	color: #fff;
	box-shadow: 0 10px 20px -14px rgba(31, 91, 64, 0.9);
	transition: background-color 0.2s ease, transform 0.2s ease;
}
.whb-header .whb-col-right .wd-header-my-account > a:hover { background: #184a33; }
.whb-header .whb-col-right .wd-header-my-account .wd-tools-icon { display: inline-flex !important; }
.whb-header .whb-col-right .wd-header-my-account .wd-tools-icon::before { font-size: 17px; color: #fff; }
.whb-header .whb-col-right .wd-header-my-account .wd-tools-text { font-family: var(--mlk-site-font); font-size: 13px; font-weight: 600; color: #fff; }

/* ------------------------------------------------------------------ Same width as the page content */

/* The bar, the strip and the footer line up with the content column (1392px, 24px side gutter). */
:root { --mlk-site-w: 1392px; --mlk-site-gutter: 24px; }
.whb-header .whb-row > .container,
.wd-footer .container {
	width: min(var(--mlk-site-w), calc(100% - var(--mlk-site-gutter) * 2));
	max-width: none;
	padding-inline: 0;
	margin-inline: auto;
}
/* Woodmart pulls the outer columns 10px outwards; inside a rounded bar they keep a proper inner margin instead */
.whb-header .whb-flex-row > .whb-column { margin-inline: 0; }
.whb-header .whb-general-header-inner,
.whb-header .whb-top-bar-inner { padding-inline: 0; }
.whb-header.whb-sticked .whb-general-header-inner { padding-inline: 16px; }
.whb-header .whb-col-right,
.whb-header .whb-mobile-right { gap: 4px; }
.whb-header .whb-col-right .wd-header-my-account { margin-inline-start: 8px; }
.whb-header .whb-col-left .wd-header-nav { padding-inline: 4px 0; }
.whb-header .whb-flex-row > .whb-column > .site-logo,
.whb-header .whb-flex-row > .whb-column > .wd-header-text.wd-inline { padding-inline: 0; }

/* ------------------------------------------------------------------ Phones and tablets */

@media (max-width: 1024px) {
	html body .whb-header.whb-sticked .whb-general-header { padding-top: 8px; }
	.whb-header.whb-sticked .whb-general-header-inner { padding-inline: 12px 6px; border-radius: 18px; }
	.whb-header .whb-mobile-left { gap: 8px; }
	.whb-header .whb-mobile-right { gap: 2px; }
	.whb-header .whb-mobile-left .wd-logo img { width: 36px !important; max-width: 36px !important; height: 36px; object-fit: contain; }
	.whb-header .mlk-hb-word-mobile .mlk-hb-word { font-size: 14px; }
	.whb-header .whb-general-header .wd-tools-element > a { width: 42px; height: 42px; padding-inline: 0; }
}
@media (max-width: 820px) {
	:root { --mlk-site-gutter: 16px; }
}


/* ------------------------------------------------------------------ Phones: announcement strip + smart header */

/* Strip content (Header Builder > Top bar > mobile column): typed phrases and a small button */
.mlk-mtop { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; }
.mlk-ticker { position: relative; flex: 1; min-width: 0; overflow: hidden; color: #e7efe9; font-size: 12.5px; font-weight: 500; line-height: 1.5; white-space: nowrap; }
.mlk-ticker.is-ready > span:not(.mlk-ticker__out) { display: none; }
.mlk-ticker__out::after { content: ""; display: inline-block; width: 1.5px; height: 1.05em; margin-inline-start: 2px; vertical-align: -0.15em; background: var(--mlk-gold); animation: mlk-caret 1s steps(1) infinite; }
@keyframes mlk-caret { 50% { opacity: 0; } }
.whb-header .mlk-mtop__btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 26px;
	padding: 0 12px;
	border-radius: 13px;
	background: var(--mlk-gold);
	color: var(--mlk-deep);
	font-size: 11.5px;
	font-weight: 700;
	white-space: nowrap;
}
.whb-header .mlk-mtop__btn::after { content: "‹"; font-size: 14px; line-height: 1; }
.whb-header .whb-column_mobile1 .wd-header-text { width: 100%; padding-inline: 0; }

@media (max-width: 1024px) {
	/* Room for the fixed header in the page flow */
	body.mlk-smart-header .whb-header { padding-top: var(--mlk-hdr-h, 108px); }
	body.mlk-smart-header .whb-header.whb-sticky-prepared { padding-top: var(--mlk-hdr-h, 108px); }
	body.mlk-smart-header .whb-header .whb-main-header { position: fixed !important; top: 0; right: 0; left: 0; z-index: 390; }
	/* The strip never hides */
	html body .whb-header .whb-row.whb-top-bar { position: relative; z-index: 2; display: block !important; }
	html body .whb-header .whb-top-bar .whb-top-bar-inner { height: 40px; max-height: 40px; }
	/* The bar slides up behind the strip while scrolling down */
	html body .whb-header .whb-general-header { position: relative; z-index: 1; transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), padding 0.3s ease, background-color 0.3s ease; }
	html body.mlk-hdr-hidden .whb-header .whb-general-header { transform: translateY(calc(-100% - 14px)); pointer-events: none; }
	.whb-header.whb-sticked .whb-general-header-inner { animation: none; }
}
/* Signed-in team members: the fixed header sits under WordPress's admin bar instead of behind it */
@media (min-width: 783px) and (max-width: 1024px) {
	body.admin-bar.mlk-smart-header .whb-header .whb-main-header { top: 32px; }
}
@media (max-width: 782px) {
	html body.admin-bar #wpadminbar { position: fixed; }
	body.admin-bar.mlk-smart-header .whb-header .whb-main-header { top: 46px; }
}

/* ------------------------------------------------------------------ Mobile bottom bar (Woodmart "sticky navbar") */

/* A floating, rounded bar; five equal slots, icon and label centred in each; the current page gets a soft capsule. */
html body .wd-toolbar {
	inset-inline: var(--mlk-site-gutter);
	bottom: calc(10px + env(safe-area-inset-bottom));
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	align-items: stretch;
	justify-content: stretch;
	gap: 0;
	height: 64px;
	padding: 5px 4px;
	overflow: visible;
	border: 1px solid rgba(18, 38, 28, 0.08);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.97);
	-webkit-backdrop-filter: saturate(1.8) blur(20px);
	backdrop-filter: saturate(1.8) blur(20px);
	box-shadow: 0 22px 44px -22px rgba(12, 36, 25, 0.45), 0 3px 10px -4px rgba(12, 36, 25, 0.14);
	font-family: var(--mlk-site-font);
}
@media (max-width: 1024px) {
	html body .wd-toolbar { display: grid; }
}
html body .wd-toolbar > .wd-tools-element { display: flex; flex: none; width: auto; min-width: 0; margin: 0; padding: 0; }
html body .wd-toolbar > .wd-tools-element > a {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border-radius: 16px;
	color: #6f7c75;
	text-align: center;
	-webkit-tap-highlight-color: transparent;
	transition: color 0.25s ease;
}
html body .wd-toolbar > .wd-tools-element .wd-tools-icon {
	flex: none;
	width: 48px !important;
	max-width: none;
	height: 30px;
	margin: 0;
	border-radius: 15px;
	transition: background-color 0.3s ease, transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
html body .wd-toolbar > .wd-tools-element .wd-tools-icon::before { font-size: 20px; line-height: 1; }
html body .wd-toolbar .wd-toolbar-label {
	position: static;
	inset: auto;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 2px;
	overflow: hidden;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: inherit;
}
.wd-toolbar > .wd-tools-element > a:active .wd-tools-icon { transform: scale(0.92); }
/* Current page: a dark-jade capsule with a gold icon and a white label. Moving to another page, the
   capsule glides from the old item to the new one (view transition "mlk-tb-pill", see the end of this file). */
html body .wd-toolbar > .wd-tools-element.is-current > a {
	align-self: center;
	gap: 2px;
	width: calc(100% - 6px);
	height: 48px;
	margin: 0 3px;
	border-radius: 16px;
	background: linear-gradient(160deg, #1d4a35 0%, #12261c 100%);
	box-shadow: 0 10px 18px -10px rgba(12, 36, 25, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.06);
	color: #fff;
	view-transition-name: mlk-tb-pill;
	transition: transform 0.2s ease;
}
html body .wd-toolbar > .wd-tools-element.is-current > a:active { transform: scale(0.96); }
html body .wd-toolbar > .wd-tools-element.is-current > a:active .wd-tools-icon { transform: none; }
html body .wd-toolbar > .wd-tools-element.is-current .wd-tools-icon { height: 24px; background: none; color: #ecc875; }
html body .wd-toolbar > .wd-tools-element.is-current .wd-tools-icon::before { color: #ecc875; }
html body .wd-toolbar > .wd-tools-element.is-current .wd-toolbar-label { font-weight: 700; color: #fff; }
html body .wd-toolbar > .wd-tools-element.is-current .wd-tools-count { box-shadow: 0 0 0 2px #12261c; }
html body .wd-toolbar .wd-tools-element .wd-tools-count {
	top: -2px;
	inset-inline-end: 4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--mlk-gold);
	color: var(--mlk-deep);
	box-shadow: 0 0 0 2px #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
}
.wd-toolbar .wd-tools-count > span { display: none; }
/* Courses (custom link 1) uses Woodmart's play glyph when no icon image is set */
.wd-toolbar .wd-toolbar-link-1:not(.wd-tools-custom-icon) .wd-tools-icon::before {
	content: "\f101";
	font-family: "mlk-woodmart", "woodmart-font";
	font-size: 18px;
}
@media (max-width: 1024px) {
	/* Space under the page for the floating bar; page action bars (buy, checkout) float just above it */
	body.sticky-toolbar-on { --mlk-tb: calc(86px + env(safe-area-inset-bottom)); padding-bottom: var(--mlk-tb); }
	body.sticky-toolbar-on .mlk :is(.mlk-buybar, .mlk-cobar, .mlk-cbar-m) {
		left: var(--mlk-site-gutter);
		right: var(--mlk-site-gutter);
		width: auto;
		max-width: none;
		margin: 0;
		padding: 10px 12px;
		border: 1px solid rgba(18, 38, 28, 0.07);
		border-radius: 20px;
		box-shadow: 0 18px 36px -22px rgba(12, 36, 25, 0.4);
	}
}

/* ------------------------------------------------------------------ Side panels (mobile menu, cart) */

.mobile-nav.wd-side-hidden,
.cart-widget-side.wd-side-hidden { font-family: var(--mlk-site-font); background: #fbfbf8; }
.mobile-nav .wd-nav-mobile > li > a { font-size: 15px; font-weight: 500; color: var(--mlk-ink); text-transform: none; }
.mobile-nav .wd-nav-mobile > li.current-menu-item > a { color: var(--mlk-jade); font-weight: 700; }
.cart-widget-side .wd-heading .title,
.mobile-nav .wd-nav-mob-tab .nav-link-text { font-family: var(--mlk-site-font); text-transform: none; letter-spacing: 0; }
.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart,
.cart-widget-side .woocommerce-mini-cart__buttons .checkout { border-radius: 14px; text-transform: none; font-family: var(--mlk-site-font); }
.cart-widget-side .woocommerce-mini-cart__buttons .checkout { background: var(--mlk-jade); color: #fff; }

/* ------------------------------------------------------------------ Footer (Woodmart HTML block + copyright line) */

html body .wd-footer { margin-top: 72px; background: var(--mlk-deep); color: #c9d6cd; font-family: var(--mlk-site-font); }
.wd-footer .main-footer { padding-block: 52px 8px; }
.wd-footer a { color: #c9d6cd; }
.wd-footer a:hover { color: #fff; }
html body .wd-footer .wd-copyrights { border-top: 1px solid rgba(255, 255, 255, 0.08); background: transparent; color: rgba(255, 255, 255, 0.55); font-size: 12px; }
.wd-footer .wd-copyrights a { color: rgba(255, 255, 255, 0.75); }

.mlk-sf-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 24px; margin-bottom: 36px; padding-bottom: 32px; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.mlk-sf-cta > .wp-block-group { flex: 1 1 320px; }
.wd-footer .mlk-sf-title { margin: 0 0 4px; color: #fff; font-size: 24px; font-weight: 700; line-height: 1.6; }
.wd-footer .mlk-sf-text { margin: 0; color: #c9d6cd; font-size: 14px; }
.mlk-sf-cta .wp-block-buttons { gap: 10px; }
.wd-footer .mlk-sf-cta .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; padding: 0 24px; border-radius: 14px; font-size: 14px; font-weight: 600; text-decoration: none; }
.wd-footer .mlk-sf-btn-gold .wp-block-button__link { background: linear-gradient(180deg, #e1b453, #c99836); color: var(--mlk-deep); }
.wd-footer .mlk-sf-btn-line .wp-block-button__link { background: transparent; border: 1px solid rgba(255, 255, 255, 0.28); color: #fff; }
.wd-footer .mlk-sf-btn-line .wp-block-button__link:hover { border-color: #fff; }

.wd-footer .mlk-sf-cols { gap: 32px; margin: 0; }
.wd-footer .mlk-sf-brand { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: #fff; font-size: 16px; font-weight: 600; }
.wd-footer .mlk-sf-brand img { width: 44px; height: 44px; }
.wd-footer .mlk-sf-about { max-width: 340px; margin: 0; font-size: 14px; line-height: 2; color: #c9d6cd; }
.wd-footer .mlk-sf-head { margin: 0 0 8px; color: var(--mlk-gold-soft); font-size: 14px; font-weight: 600; text-transform: none; }
.wd-footer .mlk-sf-links { margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 2.2; }
.wd-footer .mlk-sf-links li { margin: 0; }

@media (max-width: 781px) {
	.wd-footer { margin-top: 48px; }
	.wd-footer .main-footer { padding-top: 36px; }
	.wd-footer .mlk-sf-title { font-size: 20px; }
	.mlk-sf-cta .wp-block-buttons, .mlk-sf-cta .wp-block-button { width: 100%; }
	.wd-footer .mlk-sf-cta .wp-block-button__link { width: 100%; justify-content: center; }
	.wd-footer .mlk-sf-cols { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 16px; }
	.wd-footer .mlk-sf-cols > .wp-block-column:first-child { grid-column: 1 / -1; }
	.wd-footer .wd-copyrights .container { justify-content: center; text-align: center; }
}

/* Melika pages have no Woodmart sidebar, so its floating sidebar button is not needed there */
body.mlk-layout .wd-sidebar-opener { display: none !important; }

/* ------------------------------------------------------------------ Brand colours for every Woodmart / WooCommerce part (1.8)
 * Buttons, links and accents that come from Woodmart or plugins (cart, checkout, invoices, notices) use the academy colours.
 */
html:root, html body {
	--wd-primary-color: #1f5b40;
	--wd-alternative-color: #d4a441;
	--wd-link-color-hover: #1f5b40;
	--wd-form-brd-color-focus: #1f5b40;
	--btn-accented-bgcolor: #1f5b40;
	--btn-accented-bgcolor-hover: #184a34;
	--btn-accented-color: #fff;
	--btn-accented-color-hover: #fff;
	--btn-accented-brd-radius: 14px;
	--btn-accented-box-shadow: none;
	--btn-accented-box-shadow-hover: none;
	--btn-accented-bottom-active: 0;
	--btn-default-bgcolor: #eef2ea;
	--btn-default-bgcolor-hover: #e2ede1;
	--btn-default-color: #12261c;
	--btn-default-color-hover: #12261c;
	--btn-default-brd-radius: 14px;
	--btn-default-box-shadow: none;
	--btn-default-box-shadow-hover: none;
	--btn-default-bottom-active: 0;
}
body :is(.button, .btn, button[type="submit"], .wp-element-button) { font-family: var(--mlk-site-font); text-transform: none; letter-spacing: 0; }
body :is(.button.alt, .btn-accent, .checkout-button, #place_order) { background-color: var(--mlk-jade); color: #fff; }
body :is(.button.alt, .btn-accent, .checkout-button, #place_order):is(:hover, :focus, :active) { background-color: #184a34; color: #fff; }
/* Links and buttons never lose their text colour while pressed or focused */
body :is(.button, .btn, .wp-block-button__link):focus { color: var(--btn-color, inherit); }
.woocommerce-notices-wrapper .button, .woocommerce-message .button { border-radius: 12px; }
.woocommerce-message, .woocommerce-info { border-color: rgba(31, 91, 64, 0.2); }
/* Woodmart's back-to-top button: the bottom bar is enough on phones */
@media (max-width: 1024px) {
	body.sticky-toolbar-on .scrollToTop { display: none !important; }
}

/* ------------------------------------------------------------------ Campaign bar (top bar row, shortcode [mlk_campaign]) */

html body .whb-header .whb-row.whb-top-bar { background: var(--mlk-camp-bg, var(--mlk-deep)) !important; }
html.mlk-camp-off body .whb-header .whb-row.whb-top-bar,
html body.mlk-no-camp .whb-header .whb-row.whb-top-bar { display: none !important; }
.whb-header .whb-top-bar .whb-column:empty { display: none; }
.whb-header .whb-top-bar .wd-header-text:has(.mlk-camp) { flex: 1; width: 100%; max-width: none; padding-inline: 0; }
.whb-header .whb-top-bar .whb-column:has(.mlk-camp) { flex: 1 1 100%; max-width: 100%; justify-content: center; }
.mlk-camp {
	--mlk-camp-fg-soft: color-mix(in srgb, var(--mlk-camp-fg, #e7efe9) 70%, transparent);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
	height: 40px;
	color: var(--mlk-camp-fg, #e7efe9);
	font-family: var(--mlk-site-font);
	font-size: 13px;
	line-height: 1;
}
.whb-header .mlk-camp a { color: inherit; text-decoration: none; }
.whb-header .mlk-camp a.mlk-camp__btn, .whb-header .mlk-camp a.mlk-camp__btn:is(:hover, :focus, :active) { color: var(--mlk-camp-btn-fg, #0c2419); }
/* Message: a fixed-width box, so the button never moves while the text is typed */
.mlk-camp__msg { display: flex; align-items: center; gap: 10px; width: min(560px, 100%); min-width: 0; height: 100%; color: inherit; }
.mlk-camp__dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--mlk-camp-btn, #d4a441); box-shadow: 0 0 0 0 color-mix(in srgb, var(--mlk-camp-btn, #d4a441) 60%, transparent); animation: mlk-camp-pulse 2.2s ease-out infinite; }
@keyframes mlk-camp-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mlk-camp-btn, #d4a441) 55%, transparent); } 70%, 100% { box-shadow: 0 0 0 6px transparent; } }
.mlk-camp .mlk-ticker { flex: 1; min-width: 0; overflow: hidden; color: inherit; font-size: 13px; font-weight: 500; line-height: 20px; white-space: nowrap; text-overflow: ellipsis; }
.mlk-camp .mlk-ticker__out::after { height: 14px; vertical-align: -2px; }
.mlk-ticker[data-effect="slide"] { display: grid; height: 20px; }
.mlk-ticker[data-effect="slide"] > span { grid-area: 1 / 1; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: 0; transform: translateY(70%); transition: opacity 0.45s ease, transform 0.45s ease; }
.mlk-ticker[data-effect="slide"] > span.is-on { opacity: 1; transform: none; }
.mlk-ticker[data-effect="slide"] > span.is-out { opacity: 0; transform: translateY(-70%); }
.mlk-ticker[data-effect="static"] > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mlk-camp__timer { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 100%; }
.mlk-camp__timer[hidden] { display: none; }
.mlk-camp__timer small { color: var(--mlk-camp-fg-soft); font-size: 12px; line-height: 1; }
.mlk-camp__clock { display: inline-flex; align-items: center; gap: 3px; font-variant-numeric: tabular-nums; }
.mlk-camp__clock b { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 24px; padding: 0 5px; border-radius: 7px; background: color-mix(in srgb, var(--mlk-camp-fg, #fff) 14%, transparent); font-size: 12.5px; font-weight: 700; line-height: 1; }
.mlk-camp__clock i { margin: 0 4px 0 2px; color: var(--mlk-camp-fg-soft); font-size: 11px; font-style: normal; line-height: 1; }
.mlk-camp__clock em { font-style: normal; line-height: 1; opacity: 0.7; }
.whb-header .mlk-camp__btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 28px;
	margin: 0;
	padding: 0 12px 0 14px;
	border-radius: 999px;
	background: var(--mlk-camp-btn, #d4a441);
	color: var(--mlk-camp-btn-fg, #0c2419);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 6px 14px -8px rgba(0, 0, 0, 0.45);
	transition: transform 0.2s ease, filter 0.2s ease;
}
.whb-header .mlk-camp__btn span { display: block; line-height: 28px; }
.whb-header .mlk-camp__btn svg { flex: none; display: block; width: 12px; height: 12px; transition: transform 0.2s ease; }
.whb-header .mlk-camp__btn:hover, .whb-header .mlk-camp__btn:focus { color: var(--mlk-camp-btn-fg, #0c2419); filter: brightness(1.06); }
.whb-header .mlk-camp__btn:hover svg { transform: translateX(-2px); }
@media (max-width: 1024px) {
	.mlk-camp { justify-content: space-between; gap: 10px; }
	.mlk-camp__msg { flex: 1; width: auto; gap: 8px; }
	.mlk-camp .mlk-ticker { font-size: 12.5px; }
	.mlk-camp__timer small, .mlk-camp__clock i { display: none; }
	.mlk-camp__clock b { min-width: 22px; height: 22px; padding: 0 3px; font-size: 11.5px; }
	.whb-header .mlk-camp__btn { height: 26px; padding: 0 10px 0 12px; font-size: 11.5px; }
	.whb-header .mlk-camp__btn span { line-height: 26px; }
	.mlk-camp__timer:not([hidden]) ~ .mlk-camp__btn { display: none; }
}
@media (max-width: 380px) {
	.mlk-camp__timer:not([hidden]) { display: none; }
	.mlk-camp__timer:not([hidden]) ~ .mlk-camp__btn { display: inline-flex; }
}

/* ------------------------------------------------------------------ Mobile drawer (burger) */

.mobile-nav.mlk-drawer { --wd-side-hidden-w: 330px; display: flex; flex-direction: column; padding: 0 0 calc(18px + env(safe-area-inset-bottom)); background: #fbfbf8; box-shadow: 0 0 60px -20px rgba(12, 36, 25, 0.4); }
.mlk-drawer__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px 12px; background: rgba(251, 251, 248, 0.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.mobile-nav .mlk-drawer__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--mlk-ink); font-size: 14.5px; font-weight: 700; }
.mlk-drawer__brand img { width: 34px; height: 34px; border-radius: 50%; }
.mobile-nav .mlk-drawer__close a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 12px; background: #eef2ea; color: var(--mlk-ink); }
.mobile-nav .mlk-drawer__close a::before, .mobile-nav .mlk-drawer__close a::after { display: none; }
.mobile-nav .mlk-drawer__me { display: flex; align-items: center; gap: 12px; margin: 4px 16px 6px; padding: 12px; border-radius: 18px; background: var(--mlk-deep); color: #fff; }
.mlk-drawer__avatar { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--mlk-gold); color: var(--mlk-deep); font-size: 17px; font-weight: 700; }
.mlk-drawer__who { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.6; }
.mlk-drawer__who strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.mlk-drawer__who small { overflow: hidden; color: #c9d6cd; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.mlk-drawer__go { flex: none; display: inline-flex; align-items: center; gap: 4px; color: var(--mlk-gold-soft); font-size: 12.5px; font-weight: 700; }
.mlk-drawer__guest { margin: 4px 16px 6px; padding: 14px; border-radius: 18px; background: var(--mlk-deep); color: #fff; }
.mlk-drawer__guest p { display: flex; flex-direction: column; margin: 0 0 12px; line-height: 1.8; }
.mlk-drawer__guest strong { font-size: 15px; }
.mlk-drawer__guest span { color: #c9d6cd; font-size: 12.5px; }
.mlk-drawer__guest > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mobile-nav .mlk-drawer__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.24); color: #fff; font-size: 13.5px; font-weight: 700; }
.mobile-nav .mlk-drawer__btn.is-main { border-color: transparent; background: var(--mlk-gold); color: var(--mlk-deep); }
.mlk-drawer__search { padding: 10px 16px 2px; }
.mlk-drawer__search .searchform { margin: 0; }
.mlk-drawer__search .searchform input[type="text"] { height: 46px; border-radius: 14px; border-color: rgba(18, 38, 28, 0.1); background: #fff; font-size: 14px; }
.mlk-drawer__label { margin: 16px 20px 6px; color: #8a968f; font-size: 11.5px; font-weight: 700; letter-spacing: 0; }
.mobile-nav .mlk-drawer__menu { margin: 0 10px; padding: 0; border: 0; }
.mobile-nav .mlk-drawer__menu > li { border: 0 !important; }
.mobile-nav .mlk-drawer__menu > li > a { min-height: 48px; padding-inline: 12px; border-radius: 14px; font-size: 15px; font-weight: 600; color: var(--mlk-ink); }
.mobile-nav .mlk-drawer__menu > li > a:hover, .mobile-nav .mlk-drawer__menu > li.current-menu-item > a { background: #eef2ea; color: var(--mlk-jade); }
.mobile-nav .mlk-drawer__menu .wd-nav-opener { border: 0; }
.mlk-drawer__acc { margin: 0 10px; padding: 0; list-style: none; }
.mobile-nav .mlk-drawer__acc a { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 12px; border-radius: 14px; color: #33463c; font-size: 14.5px; font-weight: 500; }
.mlk-drawer__acc a svg { flex: none; color: #8a968f; }
.mobile-nav .mlk-drawer__acc a:hover, .mobile-nav .mlk-drawer__acc a.is-current { background: #e2ede1; color: var(--mlk-jade); font-weight: 700; }
.mobile-nav .mlk-drawer__acc a.is-current svg { color: var(--mlk-jade); }
.mobile-nav .mlk-drawer__acc a.is-logout { color: #9a5a4a; }
.mlk-drawer__foot { display: flex; flex-direction: column; gap: 2px; margin: auto 16px 0; padding-top: 18px; }
.mobile-nav .mlk-drawer__foot a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; color: var(--mlk-muted); font-size: 13.5px; }
.mlk-drawer__foot a svg { color: var(--mlk-jade); }
/* Icons from Woodmart's font (also outside Melika pages: drawer, header) */
.mlk-wdi { display: inline-flex; align-items: center; justify-content: center; flex: none; width: var(--mlk-i, 20px); height: var(--mlk-i, 20px); font-family: "mlk-woodmart"; font-size: var(--mlk-i, 20px); font-style: normal; font-weight: 400; line-height: 1; text-transform: none; -webkit-font-smoothing: antialiased; }
.mobile-nav.mlk-drawer svg.mlk-icon { flex: none; }
.mobile-nav.mlk-drawer .wd-nav-mobile li, .mobile-nav.mlk-drawer .wd-nav-mobile > li > a { border: 0 !important; }
.mobile-nav.mlk-drawer .wd-nav-mobile > li + li { margin-top: 2px; }
.mlk-drawer__search .wd-search-form, .mlk-drawer__search .searchform { box-shadow: none !important; border: 0 !important; background: none !important; }
.mlk-drawer__search .searchform input[type="text"] { height: 46px; padding-inline: 16px 44px; border: 1px solid rgba(18, 38, 28, 0.1) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; font-size: 14px; }
.mlk-drawer__search .searchform .searchsubmit { inset-inline-end: 4px; width: 40px; height: 46px; }

/* ------------------------------------------------------------------ Moving between pages */

/* Tapping an item in the bottom bar moves the capsule there at once (melika-site.js, a same-page view
   transition); the page itself is not cross-faded, so it never freezes while the next page loads. */
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
::view-transition-group(mlk-tb-pill) { animation-duration: 0.38s; animation-timing-function: cubic-bezier(0.3, 1.25, 0.5, 1); }
::view-transition-old(mlk-tb-pill), ::view-transition-new(mlk-tb-pill) { animation-duration: 0.25s; height: 100%; }

/* Account item in the bar: the student's avatar with a thin progress ring, same size as the other icons
   (no percentage badge here, it stays in the account menu), so the item never grows when the avatar arrives.
   On the current page the ring turns gold inside the capsule. */
html body .wd-toolbar .mel-has-ava .wd-tools-icon { height: 30px; }
html body .wd-toolbar .mel-has-ava .wd-toolbar-label { margin-top: 0; }
html body .wd-toolbar .mel-has-ava .mel-ring__n { display: none; }
html body .wd-toolbar .mel-has-ava .mel-ring { padding: 2px; }
html body .wd-toolbar .mel-has-ava .mel-ring .mel-ava,
html body .wd-toolbar .mel-has-ava .mel-ava { width: 24px; height: 24px; font-size: 12px; }
html body .wd-toolbar > .is-current.mel-has-ava .wd-tools-icon { height: 24px; }
html body .wd-toolbar > .is-current.mel-has-ava .mel-ring { background: #ecc875; box-shadow: none; }
html body .wd-toolbar > .is-current.mel-has-ava .mel-ring .mel-ava { box-shadow: 0 0 0 1.5px #12261c !important; }
html body .wd-toolbar > .is-current.mel-has-ava .mel-ava:not(.mel-ring .mel-ava) { box-shadow: 0 0 0 1.5px #12261c, 0 0 0 3px #ecc875; }

/* Side cart: the empty message used Woodmart's title font (system font); keep it in the site font. */
html body .cart-widget-side .woocommerce-mini-cart__empty-message { font-family: var(--mlk-site-font); font-weight: 600; font-size: 15px; line-height: 1.9; }
